Umherirrender has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/389519 )
Change subject: Archive the SecurePasswords extension ...................................................................... Archive the SecurePasswords extension Empty the repo to avoid search results on old code. Bug: T178768 Change-Id: I45ad9cf7451dabd679bfc82eda46e30e38a5e464 --- A ARCHIVED D CODE_OF_CONDUCT.md D ExtSecurePasswords.php D Gruntfile.js D SecurePasswords.i18n.php D SecurePasswords.php D i18n/ar.json D i18n/arz.json D i18n/ast.json D i18n/be-tarask.json D i18n/br.json D i18n/bs.json D i18n/ca.json D i18n/cs.json D i18n/de-formal.json D i18n/de.json D i18n/diq.json D i18n/dsb.json D i18n/el.json D i18n/en.json D i18n/eo.json D i18n/es.json D i18n/eu.json D i18n/fa.json D i18n/fi.json D i18n/fr.json D i18n/frp.json D i18n/gl.json D i18n/gsw.json D i18n/he.json D i18n/hsb.json D i18n/hu.json D i18n/ia.json D i18n/id.json D i18n/it.json D i18n/ja.json D i18n/ka.json D i18n/km.json D i18n/ko.json D i18n/ksh.json D i18n/lb.json D i18n/mk.json D i18n/ml.json D i18n/nah.json D i18n/nb.json D i18n/nl.json D i18n/nn.json D i18n/oc.json D i18n/pl.json D i18n/pms.json D i18n/pt-br.json D i18n/pt.json D i18n/qqq.json D i18n/ro.json D i18n/roa-tara.json D i18n/ru.json D i18n/si.json D i18n/sk.json D i18n/sr-ec.json D i18n/sr-el.json D i18n/stq.json D i18n/sv.json D i18n/sw.json D i18n/te.json D i18n/tl.json D i18n/tr.json D i18n/uk.json D i18n/vep.json D i18n/vi.json D i18n/vo.json D i18n/zh-hans.json D i18n/zh-hant.json D package.json D password_history.sql D securepasswords_uninstall.sql D user.patch.user_newpassword.sql D user.patch.user_password.sql 77 files changed, 2 insertions(+), 1,774 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/SecurePasswords refs/changes/19/389519/1 diff --git a/ARCHIVED b/ARCHIVED new file mode 100644 index 0000000..575776f --- /dev/null +++ b/ARCHIVED @@ -0,0 +1,2 @@ +This extension is unmaintained and has been archived. +See <https://phabricator.wikimedia.org/T178768> for more information. diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index d8e5d08..0000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1 +0,0 @@ -The development of this software is covered by a [Code of Conduct](https://www.mediawiki.org/wiki/Code_of_Conduct). diff --git a/ExtSecurePasswords.php b/ExtSecurePasswords.php deleted file mode 100644 index 3b7b16e..0000000 --- a/ExtSecurePasswords.php +++ /dev/null @@ -1,499 +0,0 @@ -<?php -/** - * ExtSecurePasswords class - * Supports SecurePasswords version 3, as well as backwards compatibility with versions 1 and 2 - * See http://www.mediawiki.org/wiki/Extension:SecurePasswords for details - * Code is released under the GNU GPL version 2 or (at your discretion) any later version - */ -if ( !defined( 'MEDIAWIKI' ) ) { - echo "Not an entry point!\n"; - die( 1 ); -} - -class ExtSecurePasswords { - public static function LoadExtensionSchemaUpdates( DatabaseUpdater $updater ) { - $dir = dirname( __FILE__ ); - $updater->addExtensionUpdate( array( 'modifyField', 'user', 'user_password', $dir . '/user.patch.user_password.sql', true ) ); - $updater->addExtensionUpdate( array( 'modifyField', 'user', 'user_newpassword', $dir . '/user.patch.user_newpassword.sql', true ) ); - $updater->addExtensionTable( 'password_history', $dir . '/password_history.sql', true ); - $updater->addExtensionTable( 'securepasswords_uninstall', $dir . '/securepasswords_uninstall.sql', true ); - return true; - } - - public static function UserCryptPassword( $password, &$salt, $wgPasswordSalt, &$hash ) { - global $wgSecurePasswordsRounds, $wgSecurePasswordsAutoRounds, $wgSecurePasswordsAutoRoundsThreshold; - global $wgSecurePasswordsEncryptPasswords, $wgSecurePasswordsSecretKey, $wgSecurePasswordsUninstall; - global $wgSecurePasswordsTrialMode, $wgUser; - - static $recursionGuard = false; - - if ( $wgSecurePasswordsUninstall || $recursionGuard ) { - // do not generate new SecurePasswords hashes if we are uninstalling - // or if we're re-entering this function due to calling User::crypt() - return true; - } - - $salt = substr( str_replace( '+', '.', base64_encode( MWCryptRand::generate( 16, true ) ) ), 0, 22 ); - $hash = 'S3:'; - $rounds = $wgSecurePasswordsRounds; - $user = RequestContext::getMain()->getUser(); - - if ( $wgSecurePasswordsAutoRounds ) { - while ( true ) { - $str = '$2y$' . $rounds . '$' . $salt; - $start = microtime( true ); - crypt( 'benchmarkingpassword', $str ); - $end = microtime( true ); - - if ( $end - $start >= $wgSecurePasswordsAutoRoundsThreshold || $rounds == 31 ) { - break; - } - - $rounds++; - } - } - - $saltstr = '$2y$' . $rounds . '$' . $salt; - $hashstr = substr( crypt( $password, $saltstr ), strlen( '$2y$' . $rounds . '$' ) ); - - // generate hash options - $hashstr = 'G' . time() . ':R' . $rounds . ':H' . $hashstr; - - if ( $wgSecurePasswordsEncryptPasswords ) { - $iv = MWCryptRand::generate( 16, true ); - $hash .= 'E' . base64_encode( $iv ) . ':' . self::encrypt( $hashstr, $wgSecurePasswordsSecretKey, $iv ); - } else { - $hash .= $hashstr; - } - - if ( $wgSecurePasswordsTrialMode ) { - // stash away the default mediawiki hash for easier uninstallation - $recursionGuard = true; - // User::crypt() calls the UserCryptPassword hook, hence recursion guards - $defaultHash = User::crypt( $password ); - $recursionGuard = false; - - $dbw = wfGetDB( DB_MASTER ); - $exists = $dbw->selectField( 'securepasswords_uninstall', '1', array( 'su_user' => $wgUser->getId() ), 'ExtSecurePasswords::UserCryptPassword' ); - if ( $exists ) { - $dbw->update( 'securepasswords_uninstall', array( 'su_password' => $defaultHash ), array( 'su_user' => $wgUser->getId() ), 'ExtSecurePasswords::UserCryptPassword' ); - } else { - $dbw->insert( 'securepasswords_uninstall', array( 'su_user' => $wgUser->getId(), 'su_password' => $defaultHash ), 'ExtSecurePasswords::UserCryptPassword' ); - } - } - - // use our hash instead of mediawiki default - return false; - } - - public static function UserComparePasswords( $hash, $password, $userId, &$result ) { - $bits = explode( ':', $hash, 2 ); - - switch ( $bits[0] ) { - // the self::compareX functions modify $result accordingly - case 'SP': // SecurePasswords v1 - self::compare1( $hash, $password, $userId, $result ); - break; - case 'S2': // SecurePasswords v2 - self::compare2( $hash, $password, $userId, $result ); - break; - case 'S3': // SecurePasswords v3 - self::compare3( $hash, $password, $userId, $result ); - break; - default: // something else, pass off to MW to handle - return true; - } - - return false; - } - - public static function isValidPassword( $password, &$result, $user ) { - global $wgValidPasswords, $wgSecurePasswordsSpecialChars, $wgSecurePasswordsAdditionalDictionary, $wgSecurePasswordsUninstall; - global $wgLang, $wgContLang; - - if ( $wgSecurePasswordsUninstall ) { - return true; // do not generate new SecurePasswords hashes if we are uninstalling - } - - // if the password matches the user's current password, then don't check for validity - // this way users with passwords that don't fit the criteria can still log in :) - if ( ( $id = $user->getId() ) !== 0 ) { - $dbr = wfGetDB( DB_SLAVE ); - $hash = $dbr->selectField( 'user', 'user_password', 'user_id=' . $id ); - if ( User::comparePasswords( $hash, $password, $id ) ) { - $result = true; - return false; - } - } - - $ok = true; - - $lang = $wgContLang->getPreferredVariant( false ); - // check password length - if ( strlen( $password ) < $wgValidPasswords['minlength'] ) { - $ok = false; - } - - // check for a lowercase letter, if needed - if ( $wgValidPasswords['lowercase'] && !preg_match( '/[a-z]/', $password ) ) { - $ok = false; - } - - // check for an uppercase letter, if needed - if ( $wgValidPasswords['uppercase'] && !preg_match( '/[A-Z]/', $password ) ) { - $ok = false; - } - - // check for a digit, if needed - if ( $wgValidPasswords['digit'] && !preg_match( '/[0-9]/', $password ) ) { - $ok = false; - } - - // check for a special character, if needed - if ( $wgValidPasswords['special'] && !preg_match( '/[' . $wgSecurePasswordsSpecialChars . ']/', $password ) ) { - $ok = false; - } - - // check for the username, if needed - if ( $wgValidPasswords['usercheck'] && $wgContLang->lc( $password ) == $wgContLang->lc( $user->getName() ) ) { - $ok = false; - } - - // check for words, if needed. If the password is already bad, skip this since it could take up time - if ( $ok && $wgValidPasswords['wordcheck'] ) { - if ( function_exists( 'pspell_check' ) ) { - $config = pspell_config_create( $lang ); - pspell_config_runtogether( $config, true ); - if ( $wgSecurePasswordsAdditionalDictionary ) { - pspell_config_personal( $config, $wgSecurePasswordsAdditionalDictionary ); - } - $link = pspell_new_config( $config ); - - if ( $link ) { - if ( pspell_check( $link, $password ) ) { - $ok = false; - } - } - - if ( $ok && $lang != 'en' ) { - $config = pspell_config_create( 'en' ); - pspell_config_runtogether( $config, true ); - $link = pspell_new_config( $config ); - - if ( $link ) { - if ( pspell_check( $link, $password ) ) { - $ok = false; - } - } - } - } elseif ( function_exists( 'enchant_dict_check' ) ) { - $broker = enchant_broker_init(); - $dict = enchant_broker_request_dict( $broker, $lang ); - if ( $dict ) { - if ( enchant_dict_check( $dict, $password ) ) { - $ok = false; - } - } - - if ( $ok && $lang != 'en' ) { - $dict = enchant_broker_request_dict( $broker, 'en' ); - if ( $dict ) { - if ( enchant_dict_check( $dict, $password ) ) { - $ok = false; - } - } - } - - if ( $ok && $wgSecurePasswordsAdditionalDictionary ) { - $dict = enchant_broker_request_pwl_dict( $broker, $wgSecurePasswordsAdditionalDictionary ); - if ( $dict ) { - if ( enchant_dict_check( $dict, $password ) ) { - $ok = false; - } - } - } - - enchant_broker_free( $broker ); - } - } - - if ( !$ok ) { - $conds = array( wfMessage( 'securepasswords-minlength', $wgValidPasswords['minlength'] )->parse() ); - if ( $wgValidPasswords['lowercase'] ) { - $conds[] = wfMessage( 'securepasswords-lowercase' )->text(); - } - if ( $wgValidPasswords['uppercase'] ) { - $conds[] = wfMessage( 'securepasswords-uppercase' )->text(); - } - if ( $wgValidPasswords['digit'] ) { - $conds[] = wfMessage( 'securepasswords-digit' )->text(); - } - if ( $wgValidPasswords['special'] ) { - $conds[] = wfMessage( 'securepasswords-special', str_replace( '\\', '', $wgSecurePasswordsSpecialChars ) )->text(); - } - if ( $wgValidPasswords['usercheck'] ) { - $conds[] = wfMessage( 'securepasswords-username', $wgUser->getName() )->parse(); - } - if ( $wgValidPasswords['wordcheck'] ) { - $conds[] = wfMessage( 'securepasswords-word' )->text(); - } - $result = array( 'securepasswords-valid', $wgLang->listToText( $conds ) ); - return false; - } - - $result = true; - return false; - } - - /** - * Get password strength - */ - private static function getPasswordStrength( $password ) { - global $wgSecurePasswordsStrengthTuning; - // TODO: implement - } - - /** - * Encrypts a string with a given key and iv via mcrypt - * Returns base64-encoded result - */ - private static function encrypt( $str, $key, $iv ) { - $m = mcrypt_module_open( 'rijndael-128', '', 'cbc', '' ); - if ( $m === false ) { - // maybe localize this, but it shouldn't ever happen in theory anyway... - throw new MWException( 'mcrypt_module_open returned false' ); - } - $key = hash( 'sha256', $key, true ); - $blocksize = mcrypt_enc_get_block_size( $m ); - mcrypt_generic_init( $m, $key, $iv ); - $encrypted = base64_encode( mcrypt_generic( $m, self::pad( $str, $blocksize ) ) ); - mcrypt_generic_deinit( $m ); - mcrypt_module_close( $m ); - - return $encrypted; - } - - private static function decrypt( $str, $key, $iv ) { - $m = mcrypt_module_open( 'rijndael-128', '', 'cbc', '' ); - if ( $m === false ) { - throw new MWException( 'mcrypt_module_open returned false' ); - } - $key = hash( 'sha256', $key, true ); - mcrypt_generic_init( $m, $key, $iv ); - $decrypted = self::unpad( mdecrypt_generic( $m, base64_decode( $str ) ) ); - mcrypt_generic_deinit( $m ); - mcrypt_module_close( $m ); - - return $decrypted; - } - - /** - * Helper functions because mcrypt is stupid and does null padding by default - * which is not binary safe in the slightest in order to unpad - * Using PKCS#7 instead - */ - private static function pad( $str, $blocksize ) { - $pad = $blocksize - ( strlen( $str ) % $blocksize ); - $str .= str_repeat( chr( $pad ), $pad ); - return $str; - } - - private static function unpad( $str ) { - return substr( $str, 0, strlen( $str ) - ord( substr( $str, -1 ) ) ); - } - - /** - * Compare password using version 3 of SecurePasswords - */ - private static function compare3( $hash, $password, $userId, &$result ) { - global $wgSecurePasswordsSecretKey; - - $bits = explode( ':', $hash ); - $options = array(); - $encrypted = false; - $iv = false; - $rounds = false; - $hash = false; - $result = false; - - foreach ( $bits as $bit ) { - if ( $bit == 'SP3' || strlen( $bit ) < 2 ) { - continue; - } - $type = substr( $bit, 0, 1 ); - $rest = substr( $bit, 1 ); - switch ( $type ) { - case 'G': // $rest is unix timestamp of when hash was generated - // TODO: password expiry stuff here - break; - case 'R': // $rest is number of rounds to use - $rounds = $rest; - break; - case 'H': // $rest is the actual hash - $hash = $rest; - break; - case 'E': // $rest is the iv and the next bit is the encrypted value - $encrypted = true; - $iv = $rest; - break; - default: // encrypted stuff after encountering E, or just invalid - if ( $encrypted ) { - $encrypted = false; - $d = explode( ':', self::decrypt( $bit, $wgSecurePasswordsSecretKey, $iv ) ); - foreach ( $d as $p ) { - $bits[] = $p; - } - } - break; - } - } - - if ( $rounds && $hash ) { - $hashstr = '$2y$' . $rounds . '$' . $hash; - $result = ( crypt( $password, $hashstr ) == $hashstr ); - } - - return false; - } - - /** - * Compare password using version 2 of SecurePasswords - */ - private static function compare2( $hash, $password, $userId, &$result) { - global $wgSecurePasswordsSecretKeys; - $bits = explode( ':', $hash, 4 ); - - $type1 = substr( $bits[1], 0, 1 ); - $type2 = substr( $bits[1], 1, 1 ); - $salt = $bits[2]; - $hash1 = $bits[3]; - - $a = self::hashOrder( $userId ); - $algos = array( - $a[0] => 'sha512', - $a[1] => 'ripemd160', - $a[2] => 'ripemd320', - $a[3] => 'whirlpool', - $a[4] => 'gost', - $a[5] => 'tiger192,4', - $a[6] => 'haval256,5', - $a[7] => 'sha256', - $a[8] => 'sha384', - $a[9] => 'ripemd128', - $a[10] => 'ripemd256', - ); - $pw = hash_hmac( $algos[$type2], $salt . '-' . hash_hmac( $algos[$type1], $password, $wgSecurePasswordsSecretKeys[0] ), $wgSecurePasswordsSecretKeys[1] ); - $h1 = gzuncompress( base64_decode( $hash1 ) ); - $ksize = mcrypt_get_key_size( MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC ); - $key = substr( $wgSecurePasswordsSecretKeys[2], 0, $ksize - 1 ); - $bits = explode( '|', $h1 ); - $iv = base64_decode( $bits[1] ); - $h2 = base64_decode( $bits[0] ); - $hf = mcrypt_decrypt( MCRYPT_RIJNDAEL_256, $key, $h2, MCRYPT_MODE_CBC, $iv ); - - $result = ( $pw === $hf ); - return false; - } - - /** - * Compare password using version 1 of SecurePasswords - */ - private static function compare1( $hash, $password, $userId, &$result ) { - $bits = explode( ':', $hash, 4 ); - - $type1 = substr( $bits[1], 0, 1 ); - $type2 = substr( $bits[1], 1, 1 ); - $salt = $bits[2]; - $hash1 = $bits[3]; - - $m = function_exists( 'mcrypt_encrypt' ); - $g = function_exists( 'gzcompress' ); - - $algos = array( - 'A' => 'md5', - 'B' => 'sha1', - 'C' => 'sha512', - 'D' => 'ripemd160', - 'E' => 'ripemd320', - 'F' => 'whirlpool', - 'G' => 'tiger192,4', - 'H' => 'snefru', - 'I' => 'gost', - 'J' => 'haval256,5', - ); - - $pw1 = hash( $algos[$type1], $password ); - $pwf = hash( $algos[$type2], $salt . '-' . $pw1 ); - - if ( $g ) { - $h1 = gzuncompress( base64_decode( $hash1 ) ); - } else { - $h1 = base64_decode( $hash1 ); - } - - if ( $m ) { - global $wgSecretKey; - $ksize = mcrypt_get_key_size( MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC ); - $key = substr( $wgSecretKey, 0, $ksize - 1 ); - $bits = explode( '|', $h1 ); - $iv = base64_decode( $bits[1] ); - $h2 = base64_decode( $bits[0] ); - $hf = mcrypt_decrypt( MCRYPT_RIJNDAEL_256, $key, $h2, MCRYPT_MODE_CBC, $iv ); - } else { - $hf = $h1; - } - - $result = ($hf === $pwf); - - return false; - } - - /** - * Legacy function used in version 2 of SecurePasswords - */ - private static function hashOrder( $userid ) { - if ( $userid > 999999 ) { - $userid = substr( $userid, 0, 6 ); - } - $o = floor( ( ( $userid * 3 ) + 513829 ) / 5 ) + 925487; #just two random prime numbers with no significance attached - $s = str_split( $o ); - $r = array(); - $f = false; - $n = 64; - //in case it is impossible to get all values 65-90 from the above values, we break after 1000 iterations - for($i = 0; $i < 1000; $i++) { - $n += $s[0]; - if ( $n < 65 ) $n = 65; - elseif ( $n > 90 ) $n = 65 + $s[0]; - if ( !in_array( chr( $n ), $r ) ) $r[] = chr( $n ); - $n -= $s[1]; - if ( $n < 65 ) $n = 65; - elseif ( $n > 90 ) $n = 90 - $s[0]; - if ( !in_array( chr( $n ), $r ) ) $r[] = chr( $n ); - $n += 2 * $s[2]; - if ( $n < 65 ) $n = 65; - elseif ( $n > 90 ) $n = 65 + $s[0]; - if ( !in_array( chr( $n ), $r ) ) $r[] = chr( $n ); - $n -= 2 * $s[3]; - if ( $n < 65 ) $n = 65; - elseif ( $n > 90 ) $n = 90 - $s[0]; - if ( !in_array( chr( $n ), $r ) ) $r[] = chr( $n ); - $n += 3 * $s[4]; - if ( $n < 65 ) $n = 65; - elseif ( $n > 90 ) $n = 65 + $s[0]; - if ( !in_array( chr( $n ), $r ) ) $r[] = chr( $n ); - $n -= 3 * $s[5]; - if ( $n < 65 ) $n = 65; - elseif ( $n > 90 ) $n = 90 - $s[0]; - if ( !in_array( chr( $n ), $r ) ) $r[] = chr( $n ); - if ( count( $r ) == 26 ) { - $f = true; - break; - } - } - if ( !$f ) { - return array( 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' ); - } - return $r; - } -} \ No newline at end of file diff --git a/Gruntfile.js b/Gruntfile.js deleted file mode 100644 index 2db815f..0000000 --- a/Gruntfile.js +++ /dev/null @@ -1,29 +0,0 @@ -/*jshint node:true */ -module.exports = function ( grunt ) { - grunt.loadNpmTasks( 'grunt-jsonlint' ); - grunt.loadNpmTasks( 'grunt-contrib-jshint' ); - grunt.loadNpmTasks( 'grunt-banana-checker' ); - - grunt.initConfig( { - banana: { - all: 'i18n/' - }, - jshint: { - all: [ - '**/*.js', - '!node_modules/**', - '!vendor/**' - ] - }, - jsonlint: { - all: [ - '**/*.json', - '!node_modules/**', - '!vendor/**' - ] - } - } ); - - grunt.registerTask( 'test', [ 'jsonlint', 'banana', 'jshint' ] ); - grunt.registerTask( 'default', 'test' ); -}; diff --git a/SecurePasswords.i18n.php b/SecurePasswords.i18n.php deleted file mode 100644 index 8c3c775..0000000 --- a/SecurePasswords.i18n.php +++ /dev/null @@ -1,35 +0,0 @@ -<?php -/** - * This is a backwards-compatibility shim, generated by: - * https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/maintenance%2FgenerateJsonI18n.php - * - * Beginning with MediaWiki 1.23, translation strings are stored in json files, - * and the EXTENSION.i18n.php file only exists to provide compatibility with - * older releases of MediaWiki. For more information about this migration, see: - * https://www.mediawiki.org/wiki/Requests_for_comment/Localisation_format - * - * This shim maintains compatibility back to MediaWiki 1.17. - */ -$messages = array(); -if ( !function_exists( 'wfJsonI18nShim4ca4bec806c3037d' ) ) { - function wfJsonI18nShim4ca4bec806c3037d( $cache, $code, &$cachedData ) { - $codeSequence = array_merge( array( $code ), $cachedData['fallbackSequence'] ); - foreach ( $codeSequence as $csCode ) { - $fileName = dirname( __FILE__ ) . "/i18n/$csCode.json"; - if ( is_readable( $fileName ) ) { - $data = FormatJson::decode( file_get_contents( $fileName ), true ); - foreach ( array_keys( $data ) as $key ) { - if ( $key === '' || $key[0] === '@' ) { - unset( $data[$key] ); - } - } - $cachedData['messages'] = array_merge( $data, $cachedData['messages'] ); - } - - $cachedData['deps'][] = new FileDependency( $fileName ); - } - return true; - } - - $GLOBALS['wgHooks']['LocalisationCacheRecache'][] = 'wfJsonI18nShim4ca4bec806c3037d'; -} diff --git a/SecurePasswords.php b/SecurePasswords.php deleted file mode 100755 index a19157e..0000000 --- a/SecurePasswords.php +++ /dev/null @@ -1,128 +0,0 @@ -<?php -/** - * SecurePasswords extension by Ryan Schmidt (Skizzerz) - * See http://www.mediawiki.org/wiki/Extension:SecurePasswords for details - * Code is released under the GNU GPL version 2 or (at your discretion) any later version - */ -if ( !defined( 'MEDIAWIKI' ) ) { - echo "Not an entry point!\n"; - die( 1 ); -} - -// Please see extension documentation for more detailed descriptions on all of these parameters -$wgValidPasswords = array( - 'minlength' => $wgMinimalPasswordLength, #Minimum password length, should be at least 8 for decent security - 'lowercase' => 1, #How many lowercase letters to require - 'uppercase' => 1, #How many uppercase letters to require - 'digit' => 1, #How many digits to require - 'special' => 0, #How many special characters to require - 'previous' => 0, #Number of previous passwords to retain (forcing users to not pick the same password they previously used) - 'strength' => 0, #Minimum password strength needed (0 - 100) - 'usercheck' => true, #Should we disallow passwords that are the same as the username? - 'wordcheck' => false, #Should we check the password against a dictionary to make sure that it is not a word? (force-disabled if server does not support it) -); -$wgSecurePasswordsSpecialChars = '.|\/!@#$%^&*\(\)\-_=+\[\]{}`~,<>?\'";: '; #Character class of special characters for a regex -$wgSecurePasswordsRounds = 10; #Number of rounds for the bcrypt algorithm, power of 2. Valid values are 1-31. 10 = 2^10 = 1024 rounds (see documentation page for more information) -$wgSecurePasswordsAutoRounds = false; #Dynamically determines the optimal number of rounds, will slow down requests that involve hash generation (see documentation page for more information) -$wgSecurePasswordsAutoRoundsThreshold = 0.5; #How much time a hash needs to take (in seconds) before the round size gets chosen via autorounds (default 0.5 seconds) -$wgSecurePasswordsExpiry = 0; #Number of days it takes a password to expire. 0 means passwords never expire. This can also be configured per-group (see documentation page for more information) -$wgSecurePasswordsEncryptPasswords = false; #Whether to encrypt passwords *IN ADDITION* to hashing them in the database (true, requires mcrypt and zlib), or only hash the passwords (false, default) -$wgSecurePasswordsSecretKey = false; #MUST be customized in LocalSettings.php if you are encrypting passwords! (or preferrably a file not accessible on the web with appropriate permissions set) -$wgSecurePasswordsMigrateOnLogin = false; #Whether to migrate a user to the SecurePasswords hash format on login (true) or only when they change their password (false, default) -$wgSecurePasswordsStrengthTuning = array(); #Allows for tuning the default password strength checker, see documentation page for more information -$wgSecurePasswordsAdditionalDictionary = false; #Allows for specifying an additional dictionary file that will be checked against if wordcheck is true (see documentation page for more information) - -// Configuration variables related to trialling / uninstallation -- don't set these except in very specific circumstances -$wgSecurePasswordsTrialMode = false; #Specifies that default MediaWiki hashes are stored in an archive table for easy uninstallation. Only set this to true if you are trialling SecurePasswords and may wish to uninstall it soon -$wgSecurePasswordsUninstall = false; #Specifies that you are attempting to uninstall SecurePasswords. Any logins of SecurePasswords hashes will be migrated back to MediaWiki format, and all features of the extension are disabled - -// Old configuration options, no longer used in current versions, but retained for backwards compat (namely, migrating from old versions to the current version) -// If these are customized in LocalSettings.php, it is assumed you previously had an older version installed and some additional server checks are made -$wgSecurePasswordsSecretKeys = array(false, false, false); -$wgSecurePasswordSpecialChars = false; #Typo in older versions, if this is defined we replace the above char class with this - -$wgExtensionCredits['other'][] = array( - 'path' => __FILE__, - 'name' => 'SecurePasswords', - 'author' => 'Ryan Schmidt', - 'url' => 'https://www.mediawiki.org/wiki/Extension:SecurePasswords', - 'version' => '3.1.0beta1', - 'descriptionmsg' => 'securepasswords-desc', -); - -$wgMessagesDirs['SecurePasswords'] = __DIR__ . '/i18n'; -$wgExtensionMessagesFiles['SecurePasswords'] = dirname( __FILE__ ) . '/SecurePasswords.i18n.php'; -$wgAutoloadClasses['ExtSecurePasswords'] = dirname( __FILE__ ) . '/ExtSecurePasswords.php'; -$wgHooks['UserCryptPassword'][] = 'ExtSecurePasswords::UserCryptPasswords'; //used to encrypt passwords -$wgHooks['UserComparePasswords'][] = 'ExtSecurePasswords::UserComparePasswords'; //used to compare a password with an encrypted password -$wgHooks['isValidPassword'][] = 'ExtSecurePasswords::isValidPassword'; //used to enforce password strength -$wgHooks['LoadExtensionSchemaUpdates'][] = 'ExtSecurePasswords::LoadExtensionSchemaUpdates'; // performs necessary schema changes -$wgExtensionFunctions[] = 'efSecurePasswordsCheckSetup'; - -//check server requirements and also that parameters are correctly set -//Mandatory: PHP 5.3.7+ -//Optional: mcrypt, zlib, pspell or enchant -function efSecurePasswordsCheckSetup() { - global $wgValidPasswords, $wgSecurePasswordsSecretKeys, $wgSecurePasswordsSecretKey, $wgSecurePasswordSpecialChars, $wgSecurePasswordsSpecialChars; - global $wgSecurePasswordsRounds, $wgSecurePasswordsExpiry, $wgSecurePasswordsEncryptPasswords, $wgSecurePasswordsMigrateOnLogin; - global $wgSecurePasswordsAutoRounds, $wgSecurePasswordsAutoRoundsThreshold, $wgSecurePasswordsAdditionalDictionary; - $errors = array(); - - if ( version_compare( PHP_VERSION, '5.3.7' ) < 0 ) { - // We MIGHT be able to use i18n here since it is called in $wgExtensionFunctions, but not sure... - $errors[] = 'The SecurePasswords extension requires PHP version 5.3.7 or greater'; - } - - if ( $wgSecurePasswordsEncryptPasswords ) { - if( !function_exists( 'mcrypt_module_open' ) ) { - $errors[] = 'The mcrypt PHP extension is required because you are encrypting password hashes'; - } - - if ( !in_array( 'rijndael-128', mcrypt_list_modules() ) ) { - $errors[] = 'Your installation of mcrypt does not support AES encryption (Rijndael-128)'; - } - - if ( $wgSecurePasswordsSecretKey == false ) { - $errors[] = '$wgSecurePasswordsSecretKey must be set becase you are encrypting password hashes'; - } - } - - if ( $wgSecurePasswordsSecretKeys != array(false, false, false) ) { - if ( !function_exists( 'mcrypt_encrypt' ) ) { - $errors[] = 'The mcrypt PHP extension is required because you are migrating from an older version of SecurePasswords'; - } - - if ( !function_exists( 'gzcompress' ) ) { - $errors[] = 'The zlib PHP extension is required because you are migrating from an older version of SecurePasswords'; - } - } - - $wgSecurePasswordsRounds = intval( $wgSecurePasswordsRounds ); - if ( $wgSecurePasswordsRounds < 1 || $wgSecurePasswordsRounds > 31 ) { - $errors[] = '$wgSecurePasswordsRounds must be an integer between 1 and 31, inclusive'; - } - - $wgSecurePasswordsAutoRoundsThreshold = floatval( $wgSecurePasswordsAutoRoundsThreshold ); - if ( $wgSecurePasswordsAutoRoundsThreshold <= 0 ) { - $errors[] = '$wgSecurePasswordsAutoRoundsThreshold must be a decimal greater than 0'; - } - - if ( $wgValidPasswords['wordcheck'] && !( function_exists( 'pspell_check' ) || function_exists( 'enchant_dict_check' ) ) ) { - $errors[] = 'Either the pspell or enchant PHP extension is required because you are checking if passwords are dictionary words'; - - if ( $wgSecurePasswordsAdditionalDictionary !== false && !is_readable( $wgSecurePasswordsAdditionalDictionary ) ) { - $errors[] = 'You have specified an additional dictionary for word checking but it does not exist or it is not readable by the webserver'; - } - } - - if ( count( $errors ) > 0 ) { - throw new MWException( implode( "\n", $errors ) ); - } - - // If we get here, we're good, do other init things - - // typo fix - if ( $wgSecurePasswordSpecialChars !== false ) { - $wgSecurePasswordsSpecialChars = $wgSecurePasswordSpecialChars; - } -} diff --git a/i18n/ar.json b/i18n/ar.json deleted file mode 100644 index 4598f87..0000000 --- a/i18n/ar.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Meno25", - "OsamaK", - "Ouda" - ] - }, - "securepasswords-desc": "ينشئ هاشات كلمة سر أكثر أمنا ويضيف متحقق من قوة كلمة السر", - "securepasswords-valid": "كلمة السر غير صحيحة أو قصيرة جدا.\nيجب: $1.", - "securepasswords-minlength": "يكون طولها على الأقل {{PLURAL:$1||حرفًا واحدًا|حرفين|$1 حروف|$1 حرفًا|$1 حرف}}", - "securepasswords-lowercase": "تحتوي على الأقل على حرف واحد صغير", - "securepasswords-uppercase": "تحتوي على الأقل على حرف واحد كبير", - "securepasswords-digit": "يحتوى على رقم واحد على الأقل", - "securepasswords-special": "تحتوى على الأقل على رمز خاص (الرموز الخاصة مثل : $1)", - "securepasswords-username": "تكون مختلفة عن اسم المستخدم", - "securepasswords-word": "لا تكون كلمة" -} diff --git a/i18n/arz.json b/i18n/arz.json deleted file mode 100644 index d99016f..0000000 --- a/i18n/arz.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Meno25", - "Ouda", - "Ramsis II" - ] - }, - "securepasswords-desc": "ينشئ هاشات كلمة سر أكثر أمنا ويضيف متحقق من قوة كلمة السر", - "securepasswords-valid": "الباسورد بتاعتك ماتنفعش او قصيره خالص.\nالباسورد لازم: $1.", - "securepasswords-minlength": "لازم طولها يكون ع الاقل $1 {{PLURAL:$1|حرف|حرف}}", - "securepasswords-lowercase": "تحتوى على الأقل على حرف واحد صغير", - "securepasswords-uppercase": "تحتوى على الأقل على حرف واحد كبير", - "securepasswords-digit": "يحتوى على رقم واحد على الأقل", - "securepasswords-special": "بتحتوى على رمز خاص واحد ع الاقل (الرموز الخاصه هما:$1)", - "securepasswords-username": "تكون مختلفة عن اسم المستخدم", - "securepasswords-word": "لا تكون كلمة" -} diff --git a/i18n/ast.json b/i18n/ast.json deleted file mode 100644 index a159649..0000000 --- a/i18n/ast.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Xuacu" - ] - }, - "securepasswords-desc": "Crea cifraos de contraseñes más seguros y amiesta un comprobador de fortaleza de clave", - "securepasswords-valid": "La contraseña ye inválida o demasiao curtia.\nTien de: $1.", - "securepasswords-minlength": "tener polo menos {{PLURAL:$1|un caráuter|$1 caráuteres}}", - "securepasswords-lowercase": "contener polo menos una lletra minúscula", - "securepasswords-uppercase": "contener polo menos una lletra mayúscula", - "securepasswords-digit": "contener polo menos un díxitu", - "securepasswords-special": "contener polo menos un caráuter especial (los caráuteres especiales son: $1)", - "securepasswords-username": "ser diferente del to nome d'usuariu", - "securepasswords-word": "nun ser una pallabra" -} diff --git a/i18n/be-tarask.json b/i18n/be-tarask.json deleted file mode 100644 index 2af1b41..0000000 --- a/i18n/be-tarask.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@metadata": { - "authors": [ - "EugeneZelenko", - "Jim-by" - ] - }, - "securepasswords-desc": "Стварае больш бясьпечныя хэшы пароляў і дадае палепшаную праверку сакрэтнасьці пароляў", - "securepasswords-valid": "Ваш пароль няслушны ці занадта кароткі.\nПавінен: $1.", - "securepasswords-minlength": "складацца хаця б $1 {{PLURAL:$1|сымбаль|сымбалі|сымбаляў}}", - "securepasswords-lowercase": "утрымліваць хаця бы адну малую літару", - "securepasswords-uppercase": "утрымліваць хаця бы адну вялікую літару", - "securepasswords-digit": "утрымліваць хаця бы адну лічбу", - "securepasswords-special": "утрымліваць хаця бы адзін спэцыяльны сымбаль (такі як: $1)", - "securepasswords-username": "адрозьнівацца ад Вашага імя ўдзельніка", - "securepasswords-word": "ня быць словам" -} diff --git a/i18n/br.json b/i18n/br.json deleted file mode 100644 index 471cf19..0000000 --- a/i18n/br.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Fohanno", - "Fulup", - "Y-M D" - ] - }, - "securepasswords-desc": "Sevel a ra hacherezh gerioù-tremen suroc'h hag ouzhpennañ a ra ur gwirier kemplezhder ar gerioù-tremen.", - "securepasswords-valid": "Direizh pe re verr eo ho ker-tremen.\nRet eo dezhañ : $1.", - "securepasswords-minlength": "bezañ $1 {{PLURAL:$1|arouezenn|arouezenn}} hir da nebeutañ", - "securepasswords-lowercase": "ennañ ul lizherenn vunut da nebeutañ", - "securepasswords-uppercase": "ennañ ur bennlizherenn da nebeutañ", - "securepasswords-digit": "1 sifr ennañ da nebeutañ", - "securepasswords-special": "Enderc'hel 1 arouezenn dibar da nebeutañ (an arouezennoù dibar zo : $1)", - "securepasswords-username": "bezañ disheñvel eus hoc'h anv implijer", - "securepasswords-word": "arabat eo e vefe ur ger" -} diff --git a/i18n/bs.json b/i18n/bs.json deleted file mode 100644 index 16a5eef..0000000 --- a/i18n/bs.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "CERminator" - ] - }, - "securepasswords-desc": "Pravljenje mnogo sigurnijih haševa za šifre i dodaje provjeru jačine šifre", - "securepasswords-valid": "Vaša šifra je nevaljana ili je prekratka.\nMora: $1.", - "securepasswords-minlength": "biti duga najmanje $1 {{PLURAL:$1|znak|znaka|znakova}}", - "securepasswords-lowercase": "sadržavati najmanje 1 malo slovo", - "securepasswords-uppercase": "sadržavati najmanje 1 veliko slovo", - "securepasswords-digit": "sadržavati najmanje 1 cifru", - "securepasswords-special": "sadržavati najmanje 1 specijalni znak (specijalni znakovi su: $1)", - "securepasswords-username": "biti različita od Vašeg korisničkog imena", - "securepasswords-word": "ne bude riječ" -} diff --git a/i18n/ca.json b/i18n/ca.json deleted file mode 100644 index 4e5994e..0000000 --- a/i18n/ca.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Aleator" - ] - }, - "securepasswords-valid": "La seva contrasenya no és vàlida o és massa curta: $1.\nHa de: $1.", - "securepasswords-minlength": "ser com a mínim de $1 {{PLURAL:$1|caràcter|caràcters}}", - "securepasswords-lowercase": "contenir com a mínim 1 lletra en minúscula", - "securepasswords-uppercase": "contenir com a mínim 1 lletra en majúscula", - "securepasswords-digit": "contenir com a mínim 1 dígit", - "securepasswords-special": "contenir com a mínim 1 caràcter especial (són caràcters especials els següents: $1)" -} diff --git a/i18n/cs.json b/i18n/cs.json deleted file mode 100644 index f993415..0000000 --- a/i18n/cs.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Mormegil", - "XenoPheX" - ] - }, - "securepasswords-desc": "Vytváří bezpečnější heslové hashe a přidává kontrolu síly hesel", - "securepasswords-valid": "Vaše heslo je neplatné nebo příliš krátké.\nMusí: $1.", - "securepasswords-minlength": "být dlouhé alespoň $1 {{PLURAL:$1|znak|znaky|znaků}}", - "securepasswords-lowercase": "obsahovat alespoň 1 malé písmeno", - "securepasswords-uppercase": "obsahovat alespoň 1 velké písmeno", - "securepasswords-digit": "obsahovat alespoň 1 číslici", - "securepasswords-special": "obsahovat alespoň 1 speciální znak (speciální znaky jsou: $1)", - "securepasswords-username": "být odlišné od vašeho uživatelského jména", - "securepasswords-word": "nebýt slovo" -} diff --git a/i18n/de-formal.json b/i18n/de-formal.json deleted file mode 100644 index 16b12c3..0000000 --- a/i18n/de-formal.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Kghbln" - ] - }, - "securepasswords-username": "sich von Ihrem Benutzernamen unterscheiden" -} diff --git a/i18n/de.json b/i18n/de.json deleted file mode 100644 index 74ec873..0000000 --- a/i18n/de.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Kghbln", - "Melancholie", - "Umherirrender" - ] - }, - "securepasswords-desc": "Ermöglicht die Generierung sichererer Passwortstreuwerte und fügt eine Passwortstärkenprüfung hinzu", - "securepasswords-valid": "Das Passwort ist entweder ungültig oder zu kurz.\nEs muss: $1.", - "securepasswords-minlength": "mindestens {{PLURAL:$1|ein Zeichen|$1 Zeichen}} lang sein", - "securepasswords-lowercase": "mindestens einen Kleinbuchstaben enthalten", - "securepasswords-uppercase": "mindestens einen Großbuchstaben enthalten", - "securepasswords-digit": "mindestens eine Ziffer enthalten", - "securepasswords-special": "mindestens ein Sonderzeichen enthalten (Sonderzeichen sind: $1)", - "securepasswords-username": "sich von deinem Benutzernamen unterscheiden", - "securepasswords-word": "etwas anderes als ein Wort sein" -} diff --git a/i18n/diq.json b/i18n/diq.json deleted file mode 100644 index 6bf217c..0000000 --- a/i18n/diq.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Erdemaslancan" - ] - }, - "securepasswords-word": "çekuy do nêbo" -} diff --git a/i18n/dsb.json b/i18n/dsb.json deleted file mode 100644 index 662c8b0..0000000 --- a/i18n/dsb.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Michawiki" - ] - }, - "securepasswords-desc": "Napórajo wěsćejše gronidłowe hašy a pśidawa funkciju za kontrolěrowanje mócy gronidła.", - "securepasswords-valid": "Twójo gronidło jo njepłaśiwe abo pśekrotko. Musy: $1.", - "securepasswords-minlength": "nanejmjenjej $1 {{PLURAL:$1|znamuško|znamušce|znamuška|znamuškow}} dłujke byś", - "securepasswords-lowercase": "nanejmjenjej 1 mały pismik wopśimjeś", - "securepasswords-uppercase": "nanejmjenjej 1 wjeliki pismik wopśimjeś", - "securepasswords-digit": "nanejmjenjej 1 cyfru wopśimjeś", - "securepasswords-special": "nanejmjenjej 1 specialne znamuško wopśimjeś (Specialne znamuška su: $1)", - "securepasswords-username": "se wót twójogo wužywarske mjenja rozeznawaś", - "securepasswords-word": "něco druge byś ako słowo" -} diff --git a/i18n/el.json b/i18n/el.json deleted file mode 100644 index 661ac80..0000000 --- a/i18n/el.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Crazymadlover", - "Dada", - "Omnipaedista", - "ZaDiak", - "Απεργός", - "Glavkos" - ] - }, - "securepasswords-desc": "Δημιουργεί πιο ασφαλείς συμβολοσειρές κωδικών και προσθέτει έναν ελεγκτή της ισχύος του κωδικού.", - "securepasswords-valid": "Ο κωδικός σας είναι ακατάλληλος ή πολύ μικρός. Πρέπει: $1.", - "securepasswords-minlength": "να έχει τουλάχιστον $1 {{PLURAL:$1|χαρακτήρα|χαρακτήρες}}", - "securepasswords-lowercase": "να περιλαμβάνει τουλάχιστον 1 πεζό γράμμα", - "securepasswords-uppercase": "να περιλαμβάνει τουλάχιστον 1 κεφαλαίο γράμμα", - "securepasswords-digit": "να περιέχει τουλάχιστον 1 ψηφίο", - "securepasswords-special": "να περιλαμβάνει τουλάχιστον 1 ειδικό χαρακτήρα (οι ειδικοί χαρακτήρες είναι: $1)", - "securepasswords-username": "να είναι διαφορετικός από το όνομα χρήστη", - "securepasswords-word": "να μην είναι μία λέξη" -} diff --git a/i18n/en.json b/i18n/en.json deleted file mode 100644 index d64edfe..0000000 --- a/i18n/en.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Ryan Schmidt" - ] - }, - "securepasswords-desc": "Creates more secure password hashes and adds a password strength checker", - "securepasswords-valid": "Your password is invalid or too short.\nIt must: $1.", - "securepasswords-minlength": "be at least $1 {{PLURAL:$1|character|characters}} long", - "securepasswords-lowercase": "contain at least 1 lowercase letter", - "securepasswords-uppercase": "contain at least 1 uppercase letter", - "securepasswords-digit": "contain at least 1 digit", - "securepasswords-special": "contain at least 1 special character (special characters are: $1)", - "securepasswords-username": "be different from your username", - "securepasswords-word": "not be a word" -} diff --git a/i18n/eo.json b/i18n/eo.json deleted file mode 100644 index f037a8a..0000000 --- a/i18n/eo.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Yekrats" - ] - }, - "securepasswords-valid": "Via pasvorto estas malvalida aŭ tro mallonga.\nĜi devas: $1.", - "securepasswords-minlength": "esti longa almenaŭ $1 {{PLURAL:$1|signo|signoj}}", - "securepasswords-lowercase": "enhavi almenaŭ 1 minusklan signon", - "securepasswords-uppercase": "enhavi almenaŭ 1 majusklan signon", - "securepasswords-digit": "enhavi almenaŭ 1 ciferon", - "securepasswords-special": "enhavi almenaŭ 1 specialan signon (specialaj signoj estas: $1)", - "securepasswords-username": "esti malsama de via salutnomo", - "securepasswords-word": "ne esti vorto" -} diff --git a/i18n/es.json b/i18n/es.json deleted file mode 100644 index 55b1099..0000000 --- a/i18n/es.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Crazymadlover", - "Sanbec", - "Macofe" - ] - }, - "securepasswords-desc": "Crea cifrados de contraseñas más seguras y añade un comprobador de su fortaleza", - "securepasswords-valid": "Tu contraseña es inválida o demasiado corta.\nDebe: $1.", - "securepasswords-minlength": "tener al menos $1 {{PLURAL:$1|carácter|caracteres}}", - "securepasswords-lowercase": "contener al menos 1 letra minúscula", - "securepasswords-uppercase": "contener al menos 1 letra mayúscula", - "securepasswords-digit": "contener al menos 1 dígito", - "securepasswords-special": "contener al menos 1 carácter especial (los caracteres especiales son: $1)", - "securepasswords-username": "ser diferente de tu nombre de usuario", - "securepasswords-word": "no ser una palabra" -} diff --git a/i18n/eu.json b/i18n/eu.json deleted file mode 100644 index ded5d1e..0000000 --- a/i18n/eu.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "@metadata": { - "authors": [ - "An13sa", - "Kobazulo" - ] - }, - "securepasswords-valid": "Zure pasahitza oker dago edo motzegia da.\nHonelakoa izan behar du: $1.", - "securepasswords-minlength": "Gutxienez, {{PLURAL:$1|karaktere $1|$1 karaktere}} luze izan behar du", - "securepasswords-lowercase": "gutxienez hizki bat minuskulaz izan", - "securepasswords-uppercase": "gutxienez letra larri bat izan", - "securepasswords-digit": "gutxienez digitu bat izan", - "securepasswords-special": "gutxienez karaktere berezi bat izan (Hauek dira karaktere bereziak: $1)", - "securepasswords-username": "erabiltzaile izenetik desberdina izan" -} diff --git a/i18n/fa.json b/i18n/fa.json deleted file mode 100644 index a3d2b20..0000000 --- a/i18n/fa.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Americophile", - "Armin1392" - ] - }, - "securepasswords-desc": "ایجاد هشهای رمز عبور امنیتی بیشتر و افزودن بررسیکننده قدرت رمز عبور", - "securepasswords-valid": "رمز عبور یا نامعتبر است یا خیلی کوتاه است.\nباید: $1", - "securepasswords-minlength": "حداقل $1 {{PLURAL:$1|شناسه|شناسه}} طول باشد", - "securepasswords-lowercase": "شامل حداقل 1 حرف کوچک", - "securepasswords-uppercase": "شامل حداقل 1 حرف بزرگ", - "securepasswords-digit": "شامل حداقل 1 رقمی", - "securepasswords-special": "شامل حداقل ۱ شناسهٔ ویژه (شناسههای ویژه هستند: $1)", - "securepasswords-username": "از نام کاربریتان متفاوت باشد", - "securepasswords-word": "کلمه نباشد." -} diff --git a/i18n/fi.json b/i18n/fi.json deleted file mode 100644 index 6b4db57..0000000 --- a/i18n/fi.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Nike", - "Str4nd", - "Vililikku" - ] - }, - "securepasswords-desc": "Luo turvallisempia salasanatiivisteitä ja lisää salasanan vahvuuden tarkistajan.", - "securepasswords-valid": "Salasanasi ei kelpaa tai on liian lyhyt.\nSen pitää täyttää seuraavat ehdot: $1.", - "securepasswords-minlength": "olla vähintään $1 {{PLURAL:$1|merkkiä|merkkiä}}", - "securepasswords-lowercase": "sisältää vähintään yhden pienaakkosen", - "securepasswords-uppercase": "sisältää vähintään yksi suuraakkonen", - "securepasswords-digit": "sisältää vähintään yksi numero", - "securepasswords-special": "sisältää vähintään yksi erikoismerkki (erikoismerkkejä ovat: $1)", - "securepasswords-username": "olla eri kuin käyttäjänimesi", - "securepasswords-word": "ei saa olla sana" -} diff --git a/i18n/fr.json b/i18n/fr.json deleted file mode 100644 index 786944f..0000000 --- a/i18n/fr.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Crochet.david", - "Grondin", - "IAlex" - ] - }, - "securepasswords-desc": "Crée des hachages de mots de passe plus sûrs et ajoute un vérificateur de complexité de mots de passe", - "securepasswords-valid": "Votre mot de passe est invalide ou trop court. Il doit : $1.", - "securepasswords-minlength": "être long d’au moins $1 caractère{{PLURAL:$1||s}}", - "securepasswords-lowercase": "contenir au moins 1 lettre minuscule", - "securepasswords-uppercase": "contenir au moins 1 lettre majuscule", - "securepasswords-digit": "contenir au moins 1 chiffre", - "securepasswords-special": "contenir au moins 1 caractère spécial (les caractères spéciaux sont : $1)", - "securepasswords-username": "être différent de votre nom d’utilisateur", - "securepasswords-word": "ne pas être un mot" -} diff --git a/i18n/frp.json b/i18n/frp.json deleted file mode 100644 index 76b96e8..0000000 --- a/i18n/frp.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "@metadata": { - "authors": [ - "ChrisPtDe" - ] - }, - "securepasswords-valid": "Voutron contresegno est envalido ou ben trop côrt.\nDêt : $1.", - "securepasswords-minlength": "étre long d’u muens $1 caractèro{{PLURAL:$1||s}}", - "securepasswords-lowercase": "contegnir u muens 1 petiôta lètra", - "securepasswords-uppercase": "contegnir u muens 1 granta lètra", - "securepasswords-digit": "contegnir u muens 1 chifro", - "securepasswords-special": "contegnir u muens 1 caractèro spèciâl (los caractèros spèciâls sont : $1)", - "securepasswords-username": "étre difèrent de voutron nom d’utilisator", - "securepasswords-word": "pas étre un mot" -} diff --git a/i18n/gl.json b/i18n/gl.json deleted file mode 100644 index 2580ec1..0000000 --- a/i18n/gl.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Toliño" - ] - }, - "securepasswords-desc": "Crea un contrasinal cardinal máis seguro e engade un comprobador da fortaleza deste", - "securepasswords-valid": "O seu contrasinal é inválido ou moi curto.\nDebe: $1.", - "securepasswords-minlength": "ter, polo menos, {{PLURAL:$1|un carácter|$1 caracteres}}", - "securepasswords-lowercase": "conter, polo menos, unha letra minúscula", - "securepasswords-uppercase": "conter, polo menos, unha letra maiúscula", - "securepasswords-digit": "conter, polo menos, un díxito", - "securepasswords-special": "conter, polo menos, un carácter especial (caracteres especiais son: $1)", - "securepasswords-username": "ser diferente do seu nome de usuario", - "securepasswords-word": "non ser unha palabra" -} diff --git a/i18n/gsw.json b/i18n/gsw.json deleted file mode 100644 index 5a47ded..0000000 --- a/i18n/gsw.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Als-Holder" - ] - }, - "securepasswords-desc": "Legt sichereri Passwort-Hashes aa un fiegt e Passwortstärchipriefieg zue", - "securepasswords-valid": "Dyy Passwort isch nit giltig oder z churz.\nS muess: $1.", - "securepasswords-minlength": "zmindescht $1 {{PLURAL:$1|Zeiche|Zeiche}} lang syy", - "securepasswords-lowercase": "zmindescht ei Chleibuechstab din haa", - "securepasswords-uppercase": "zmindescht ei Großbuechstab din haa", - "securepasswords-digit": "zmindescht ei Ziffer din haa", - "securepasswords-special": "zmindescht ei Sonderzeiche din haa (Sonderzeiche sin: $1)", - "securepasswords-username": "sich vu Dynem Benutzernamen unterscheide", - "securepasswords-word": "ebis anderes syy wie ne Wort" -} diff --git a/i18n/he.json b/i18n/he.json deleted file mode 100644 index 286c196..0000000 --- a/i18n/he.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Rotemliss", - "YaronSh" - ] - }, - "securepasswords-desc": "יצירת גיבובי סיסמאות מאובטחים יותר והוספת בודק חוזק סיסמאות", - "securepasswords-valid": "הסיסמה שלכם אינה תקינה או קצרה מדי. עליה: $1.", - "securepasswords-minlength": "להיות לפחות באורך של {{PLURAL:$1|ספרה אחת|$1 ספרות}}", - "securepasswords-lowercase": "להכיל לפחות אות קטנה אחת", - "securepasswords-uppercase": "להכיל לפחות אות גדולה אחת", - "securepasswords-digit": "להכיל לפחות ספרה אחת", - "securepasswords-special": "להכיל לפחות תו מיוחד אחד (התווים המיוחדים הם: $1)", - "securepasswords-username": "להיות שונה משם המשתמש שלכם", - "securepasswords-word": "לא להיות מילה" -} diff --git a/i18n/hsb.json b/i18n/hsb.json deleted file mode 100644 index bda4a6a..0000000 --- a/i18n/hsb.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Michawiki" - ] - }, - "securepasswords-desc": "iše hesłowe haše a přidawa funkciju za kontrolowanje hesłoweje mocy", - "securepasswords-valid": "Twoje hesło je njepłaćiwe abo překrótke. Dyrbi: $1.", - "securepasswords-minlength": "znajmjeńša $1 {{PLURAL:$1|znamješko|znamješce|znamješka|znamješkow}} dołhe być", - "securepasswords-lowercase": "znajmjeńša 1 mały pismik wobsahować", - "securepasswords-uppercase": "znajmjeńša 1 wulki pismik wobsahować", - "securepasswords-digit": "znajmjeńša 1 cyfru wobsahować", - "securepasswords-special": "znajmjeńša 1 specialne znamješko wobsahować (Specialne znamješka su: $1)", - "securepasswords-username": "so wot twojeho wužywarskeho mjena rozeznać", - "securepasswords-word": "něšto druhe być hač słowo" -} diff --git a/i18n/hu.json b/i18n/hu.json deleted file mode 100644 index 5ef212b..0000000 --- a/i18n/hu.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Glanthor Reviol" - ] - }, - "securepasswords-desc": "Biztonságosabb jelszó-hasheket készít, és jelszó megadásakor ellenőrzi annak erősségét", - "securepasswords-valid": "A jelszavad érvénytelen, vagy túl rövid.\nKövetelmények: $1.", - "securepasswords-minlength": "legalább {{PLURAL:$1|egy|$1}} karakter hosszú", - "securepasswords-lowercase": "legalább egy kisbetűt tartalmaz", - "securepasswords-uppercase": "legalább egy nagybetűt tartalmaz", - "securepasswords-digit": "legalább egy számot tartalmaz", - "securepasswords-special": "legalább egy speciális karaktert tartalmaz (speciális karakterek: $1)", - "securepasswords-username": "különböznie kell a felhasználói nevedtől", - "securepasswords-word": "nem lehet egy szó" -} diff --git a/i18n/ia.json b/i18n/ia.json deleted file mode 100644 index 116b8ad..0000000 --- a/i18n/ia.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "McDutchie" - ] - }, - "securepasswords-desc": "Crea hashes plus secur del contrasignos e adde un verificator de complexitate de contrasignos", - "securepasswords-valid": "Tu contrasigno es invalide o troppo curte.\nIllo debe: $1.", - "securepasswords-minlength": "esser al minus $1 {{PLURAL:$1|character|characteres}} de longitude", - "securepasswords-lowercase": "continer al minus 1 littera minuscule", - "securepasswords-uppercase": "continer al minus 1 littera majuscule", - "securepasswords-digit": "continer al minus 1 digito", - "securepasswords-special": "continer al minus 1 character special (le characteres special es: $1)", - "securepasswords-username": "esser differente de tu nomine de usator", - "securepasswords-word": "non esser un parola" -} diff --git a/i18n/id.json b/i18n/id.json deleted file mode 100644 index a081c6c..0000000 --- a/i18n/id.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Bennylin" - ] - }, - "securepasswords-desc": "Membuat sebuah pengacakan kata sandi yang lebih aman dan menambah pemeriksaan kekuatan kata sandi", - "securepasswords-valid": "Kata sandi Anda tidak sah atau terlalu pendek.\nKata sandi Anda harus: $1.", - "securepasswords-minlength": "memiliki panjang paling tidak $1 {{PLURAL:$1|karakter|karakter}}", - "securepasswords-lowercase": "memiliki huruf kecil paling tidak 1", - "securepasswords-uppercase": "memiliki huruf besar paling tidak 1", - "securepasswords-digit": "memiliki angka paling tidak 1", - "securepasswords-special": "memiliki karakter istimewa ($1) paling tidak 1", - "securepasswords-username": "berbeda dari nama pengguna Anda", - "securepasswords-word": "tidak boleh sebuah kata (dalam bahasa Inggris)" -} diff --git a/i18n/it.json b/i18n/it.json deleted file mode 100644 index 5cb9dd3..0000000 --- a/i18n/it.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Darth Kule" - ] - }, - "securepasswords-desc": "Crea hash password più sicuri e aggiunge un controllore della complessità delle password", - "securepasswords-valid": "La password non è valida o è troppo corta.\nDeve: $1.", - "securepasswords-minlength": "essere lunga almeno $1 {{PLURAL:$1|carattere|caratteri}}", - "securepasswords-lowercase": "contenere almeno 1 lettera minuscola", - "securepasswords-uppercase": "contenere almeno 1 lettera maiuscola", - "securepasswords-digit": "contenere almeno 1 cifra", - "securepasswords-special": "contenere almeno 1 carattere speciale (caratteri speciali sono: $1)", - "securepasswords-username": "essere diversa dal proprio nome utente", - "securepasswords-word": "non essere una parola" -} diff --git a/i18n/ja.json b/i18n/ja.json deleted file mode 100644 index ffc93ab..0000000 --- a/i18n/ja.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Aotake", - "Fryed-peach", - "Mizusumashi", - "Shirayuki" - ] - }, - "securepasswords-desc": "より安全なパスワードのハッシュを生成し、パスワード強度検査器を追加する", - "securepasswords-valid": "パスワードが無効、または短すぎます。\n以下を満たす必要があります: $1", - "securepasswords-minlength": "$1{{PLURAL:$1|文字}}以上の長さである", - "securepasswords-lowercase": "最低1文字は小文字を含む", - "securepasswords-uppercase": "最低1文字は大文字を含む", - "securepasswords-digit": "最低1文字は数字を含む", - "securepasswords-special": "最低1文字は特殊文字を含む (特殊文字: $1)", - "securepasswords-username": "利用者名とは異なる", - "securepasswords-word": "単語ではない" -} diff --git a/i18n/ka.json b/i18n/ka.json deleted file mode 100644 index c90c219..0000000 --- a/i18n/ka.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "@metadata": { - "authors": [ - "David1010" - ] - }, - "securepasswords-valid": "თქვენი პაროლი არასწორია ან ძალიან მოკლეა.\nის უნდა: $1.", - "securepasswords-minlength": "იყოს, სულ მცირე, $1 {{PLURAL:$1|სომბოლოს|სიმბოლოს}} სიგრძის", - "securepasswords-digit": "შეიცავდეს მინიმუმ ერთ რიცხვს", - "securepasswords-special": "შეიცავდეს მინიმუმ 1 სპეციალურ სიმბოლოს (სპეციალური სიმბოლოები: $1)", - "securepasswords-word": "არ არის სიტყვა" -} diff --git a/i18n/km.json b/i18n/km.json deleted file mode 100644 index 70d5c68..0000000 --- a/i18n/km.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Thearith" - ] - }, - "securepasswords-valid": "ពាក្យសំងាត់របស់អ្នកមិនត្រឹមត្រូវ ឬ ខ្លីពេក។\nវាត្រូវតែ: $1.", - "securepasswords-minlength": "ត្រូវតែយ៉ាងតិចណាស់ត្រូវមាន $1 {{PLURAL:$1|តួអក្សរ|តួអក្សរ}}", - "securepasswords-lowercase": "មានយ៉ាងតិច ១ តួអក្សរតូច", - "securepasswords-uppercase": "មានយ៉ាងតិច ១ តួអក្សរធំ", - "securepasswords-digit": "មានយ៉ាងតិច ១ តួលេខ", - "securepasswords-special": "មានយ៉ាងតិច ១ តួអក្សរពិសេស (តួអក្សរពិសេសមាន: $1)", - "securepasswords-username": "ត្រូវតែខុសពីឈ្មោះអ្នកប្រើប្រាស់របស់អ្នក", - "securepasswords-word": "មិនមែនជាពាក្យ" -} diff --git a/i18n/ko.json b/i18n/ko.json deleted file mode 100644 index 143b382..0000000 --- a/i18n/ko.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Kwj2772", - "아라" - ] - }, - "securepasswords-desc": "안전한 비밀번호 해쉬를 만들고 비밀번호 강도 검사를 실시", - "securepasswords-valid": "비밀번호가 잘못되었거나 너무 짧습니다.\n비밀번호는 반드시: $1.", - "securepasswords-minlength": "적어도 $1글자 이상이어야 합니다.", - "securepasswords-lowercase": "적어도 소문자 1개를 포함해야 합니다.", - "securepasswords-uppercase": "적어도 대문자 1개를 포함해야 합니다.", - "securepasswords-digit": "적어도 숫자 1개를 포함해야 합니다.", - "securepasswords-special": "적어도 특수 문자 1개를 포함해야 합니다. (특수 문자: $1)", - "securepasswords-username": "사용자 이름과 달라야 합니다.", - "securepasswords-word": "단어가 아니어야 합니다." -} diff --git a/i18n/ksh.json b/i18n/ksh.json deleted file mode 100644 index 27d1be4..0000000 --- a/i18n/ksh.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Purodha" - ] - }, - "securepasswords-desc": "Deiht en Pröfung för de Passwoote ier Qualiteit em Wiki dobei, un määt en besser (seechere) Verschlößelung för de Passwoote.", - "securepasswords-valid": "Ding Paßwoot is onjöltisch udder ze koot.\nEt mööt: $1.", - "securepasswords-minlength": "winnishßtens {{PLURAL:$1|ei|$1|kei}} Zeiche lang sin", - "securepasswords-lowercase": "winnischßdens eine kleine Bochstabe enthallde", - "securepasswords-uppercase": "winnischßdens eine jroße Bochstabe enthallde", - "securepasswords-digit": "winnischßdens ein Zeffer enthallde", - "securepasswords-special": "winnischßdens ei Sönderzeiche enthallde. De Sönderzeiche sinn_er: $1", - "securepasswords-username": "anders wi Dinge Metmaachername sinn", - "securepasswords-word": "kein nomaal Woot sin" -} diff --git a/i18n/lb.json b/i18n/lb.json deleted file mode 100644 index fe0934d..0000000 --- a/i18n/lb.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Les Meloures", - "Robby" - ] - }, - "securepasswords-desc": "Mécht méi sécher Paswuert-''Hashes'' a setzt eng Iwwerpréifung vun der Sécherheet vun de Passwierder derbäi", - "securepasswords-valid": "Äert Passwuert ass net valabel oder ze kuerz.\nEt: $1.", - "securepasswords-minlength": "muss op d'mannst $1 {{PLURAL:$1|Zeeche|Zeeche}} laang sinn", - "securepasswords-lowercase": "muss op d'mannst 1 klenge Buschstaf dra sinn", - "securepasswords-uppercase": "muss op d'mannst 1 grousse Buschstaf dra sinn", - "securepasswords-digit": "muss op d'mannst 1 Ziffer dra sinn", - "securepasswords-special": "muss op d'mannst 1 Spezialzeechen dra sinn (Spezialzeeche sinn: $1)", - "securepasswords-username": "muss verschidde vun Ärem Benotzernumm sinn", - "securepasswords-word": "däerf kee Wuert sinn" -} diff --git a/i18n/mk.json b/i18n/mk.json deleted file mode 100644 index 9a273fa..0000000 --- a/i18n/mk.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Bjankuloski06" - ] - }, - "securepasswords-desc": "Создава повеќе тараби за безбедна лозинка и додава проверувач на јачината на лозинката", - "securepasswords-valid": "Вашата лозинка е неважечка или прекратка.\nЛозинката мора да: $1.", - "securepasswords-minlength": "содржи барем $1 {{PLURAL:$1|знак|знаци}}", - "securepasswords-lowercase": "содржи барем 1 мала буква", - "securepasswords-uppercase": "содржи барем 1 голема буква", - "securepasswords-digit": "содржи барем 1 цифра", - "securepasswords-special": "содржи барем еден посебен знак (посебни се: $1)", - "securepasswords-username": "се разликува од вашето корисничко име", - "securepasswords-word": "не биде збор" -} diff --git a/i18n/ml.json b/i18n/ml.json deleted file mode 100644 index f35935b..0000000 --- a/i18n/ml.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Praveenp" - ] - }, - "securepasswords-desc": "കൂടുതൽ സുരക്ഷിതമായ രഹസ്യവാക്ക് ഹാഷുകളും, രഹസ്യവാക്കിന്റെ ശേഷി പരിശോധനോപകരണവും സൃഷ്ടിക്കുന്നു", - "securepasswords-valid": "താങ്കളുടെ രഹസ്യവാക്ക് അസാധുവാണ് അല്ലെങ്കിൽ തീരെ ചെറുതാണ്.\nഅത്: $1.", - "securepasswords-minlength": "കുറഞ്ഞത് {PLURAL:$1|ഒരക്ഷരം|$1 അക്ഷരങ്ങൾ}} നീളമുള്ളതാവണം", - "securepasswords-lowercase": "കുറഞ്ഞത് ഒരു ലോവർകേസ് അക്ഷരം ഉൾക്കൊള്ളുന്നു", - "securepasswords-uppercase": "കുറഞ്ഞത് ഒരു അപ്പർകേസ് അക്ഷരം ഉൾക്കൊള്ളുന്നു", - "securepasswords-digit": "ഒരു അക്കമെങ്കിലും ഉൾക്കൊള്ളണം", - "securepasswords-special": "ഒരു പ്രത്യേകാക്ഷരമെങ്കിലും ഉൾക്കൊള്ളണം (പ്രത്യേകാക്ഷരങ്ങൾ: $1)", - "securepasswords-username": "താങ്കളുടെ ഉപയോക്തൃനാമത്തിൽ നിന്നും വ്യത്യസ്തമായിരിക്കണം", - "securepasswords-word": "ഒരു വാക്ക് ആയിരിക്കരുത്" -} diff --git a/i18n/nah.json b/i18n/nah.json deleted file mode 100644 index ab72798..0000000 --- a/i18n/nah.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Fluence" - ] - }, - "securepasswords-word": "ahmo tlahtōl" -} diff --git a/i18n/nb.json b/i18n/nb.json deleted file mode 100644 index 42c126b..0000000 --- a/i18n/nb.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Nghtwlkr" - ] - }, - "securepasswords-desc": "Oppretter sikrere passordhasher og legger til en funksjon for sjekking av passordstyrke", - "securepasswords-valid": "Passordet ditt er ugyldig eller for kort.\nDet må: $1.", - "securepasswords-minlength": "være minst {{PLURAL:$1|ett tegn|$1 tegn}} langt", - "securepasswords-lowercase": "inneholde minst én liten bokstav", - "securepasswords-uppercase": "inneholde minst én stor bokstav", - "securepasswords-digit": "inneholde minst ett tall", - "securepasswords-special": "inneholde minst ett spesialtegn (spesialtegnene er: $1)", - "securepasswords-username": "være forskjellig fra brukernavnet ditt", - "securepasswords-word": "ikke være et ord" -} diff --git a/i18n/nl.json b/i18n/nl.json deleted file mode 100644 index 361f056..0000000 --- a/i18n/nl.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Siebrand" - ] - }, - "securepasswords-desc": "Gebruikt veiliger wachtwoordhashes en voegt een wachtwoordsterktecontrole toe", - "securepasswords-valid": "Uw wachtwoord voldoet niet aan de voorwaarden.\nHet moet: $1.", - "securepasswords-minlength": "ten minste $1 {{PLURAL:$1|teken|tekens}} bevatten", - "securepasswords-lowercase": "ten minste 1 kleine letter bevatten", - "securepasswords-uppercase": "ten minste 1 hoofdletter bevatten", - "securepasswords-digit": "ten minste 1 cijfer bevatten", - "securepasswords-special": "ten minste één speciaal teken bevatten (speciale tekens zijn: $1)", - "securepasswords-username": "verschillen van uw gebruikersnaam", - "securepasswords-word": "geen woord zijn" -} diff --git a/i18n/nn.json b/i18n/nn.json deleted file mode 100644 index f1906d9..0000000 --- a/i18n/nn.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Harald Khan", - "Njardarlogar" - ] - }, - "securepasswords-desc": "Opprettar meir sikre passordhashar og legg til ein funksjon for sjekking av passordstyrke", - "securepasswords-valid": "Passordet ditt er ugyldig eller for kort.\nDet må: $1.", - "securepasswords-minlength": "ha ei lengd på minst {{PLURAL:$1|eitt teikn|$1 teikn}}", - "securepasswords-lowercase": "innehalda minst éin liten bokstav", - "securepasswords-uppercase": "innehalda minst éin stor bokstav", - "securepasswords-digit": "innehalda minst eitt tal", - "securepasswords-special": "innehalda minst eitt spesialteikn (spesialteikna er: $1)", - "securepasswords-username": "ikkje vera det same som brukarnamnet ditt", - "securepasswords-word": "ikkje vera eit ord" -} diff --git a/i18n/oc.json b/i18n/oc.json deleted file mode 100644 index 4f64c33..0000000 --- a/i18n/oc.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Cedric31" - ] - }, - "securepasswords-desc": "Crèa d'hachages de senhals mai segurs e apond un verificator de complexitat de senhal", - "securepasswords-valid": "Vòstre senhal es invalid o tròp cort.\nDeu : $1.", - "securepasswords-minlength": "èsser long d’al mens $1 {{PLURAL:$1|caractèr|caractèrs}}", - "securepasswords-lowercase": "conténer al mens 1 letra minuscula", - "securepasswords-uppercase": "conténer al mens 1 letra majuscula", - "securepasswords-digit": "conténer al mens 1 chifra", - "securepasswords-special": "conténer al mens 1 caractèr especial (los caractèrs especials son : $1)", - "securepasswords-username": "èsser diferent de vòstre nom d'utilizaire", - "securepasswords-word": "pas èsser un mot" -} diff --git a/i18n/pl.json b/i18n/pl.json deleted file mode 100644 index 305dd7a..0000000 --- a/i18n/pl.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Matma Rex", - "Sp5uhe" - ] - }, - "securepasswords-desc": "Tworzy bezpieczniejszy skrót hasła oraz poprawia jego weryfikację", - "securepasswords-valid": "Hasło jest nieprawidłowe lub zbyt krótkie.\nMusi ono: $1.", - "securepasswords-minlength": "składać się z co najmniej $1 {{PLURAL:$1|znaku|znaków}}", - "securepasswords-lowercase": "zawierać co najmniej 1 małą literę", - "securepasswords-uppercase": "zawierać co najmniej 1 wielką literę", - "securepasswords-digit": "zawierać co najmniej 1 cyfrę", - "securepasswords-special": "zawierać co najmniej 1 znak specjalny (taki jak: $1)", - "securepasswords-username": "różnić się od Twojej nazwy użytkownika", - "securepasswords-word": "nie być słowem" -} diff --git a/i18n/pms.json b/i18n/pms.json deleted file mode 100644 index d967b3a..0000000 --- a/i18n/pms.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Dragonòt" - ] - }, - "securepasswords-desc": "A crea ciav casuaj pì sicure e a gionta un controlor ëd la fòrsa dla ciav", - "securepasswords-valid": "Toa ciav a l'é pa bon-a o tròp curta.\nA deuv: $1.", - "securepasswords-minlength": "esse almanch longa $1 {{PLURAL:$1|caràter|caràter}}", - "securepasswords-lowercase": "conten-e almanch 1 litra minùscula", - "securepasswords-uppercase": "conten-e almanch 1 litra maiùscola", - "securepasswords-digit": "conten almanch 1 sifra", - "securepasswords-special": "conten-e almanch 1 caràter special (caràter speciaj a son: $1)", - "securepasswords-username": "esse diferen da tò stranòm", - "securepasswords-word": "pa esse na paròla" -} diff --git a/i18n/pt-br.json b/i18n/pt-br.json deleted file mode 100644 index f1779a6..0000000 --- a/i18n/pt-br.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Eduardo.mps", - "Giro720", - "Luckas" - ] - }, - "securepasswords-desc": "Cria \"hashes\" de senhas mais seguros e adiciona um verificador da força da senha", - "securepasswords-valid": "A sua senha é inválida ou muito curta.\nTem de: $1.", - "securepasswords-minlength": "ter pelo menos $1 {{PLURAL:$1|caracter|caracteres}} de comprimento", - "securepasswords-lowercase": "conter pelo menos 1 letra minúscula", - "securepasswords-uppercase": "conter pelo menos 1 letra maiúscula", - "securepasswords-digit": "conter pelo menos 1 dígito", - "securepasswords-special": "conter pelo menos 1 caracter especial (caracteres especiais são: $1)", - "securepasswords-username": "ser diferente do seu nome de usuário", - "securepasswords-word": "não ser uma palavra" -} diff --git a/i18n/pt.json b/i18n/pt.json deleted file mode 100644 index ef28550..0000000 --- a/i18n/pt.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Hamilton Abreu", - "Malafaya" - ] - }, - "securepasswords-desc": "Cria resumos criptográficos mais seguros para as palavras-passe e adiciona um verificador da segurança da palavra-passe", - "securepasswords-valid": "A sua palavra-passe é inválida ou demasiado curta.\nTem de: $1.", - "securepasswords-minlength": "ter pelo menos $1 {{PLURAL:$1|carácter|caracteres}} de comprimento", - "securepasswords-lowercase": "conter pelo menos 1 letra minúscula", - "securepasswords-uppercase": "conter pelo menos 1 letra maiúscula", - "securepasswords-digit": "conter pelo menos 1 dígito", - "securepasswords-special": "conter pelo menos 1 carácter especial (os caracteres especiais são: $1)", - "securepasswords-username": "ser diferente do seu nome de utilizador", - "securepasswords-word": "não ser uma palavra" -} diff --git a/i18n/qqq.json b/i18n/qqq.json deleted file mode 100644 index 1db84d1..0000000 --- a/i18n/qqq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Purodha", - "Shirayuki", - "Siebrand", - "The Evil IP address", - "Umherirrender" - ] - }, - "securepasswords-desc": "{{desc|name=Secure Passwords|url=https://www.mediawiki.org/wiki/Extension:SecurePasswords}}", - "securepasswords-valid": "Used as password validation result. Parameters:\n* $1 - list of any one or more of the following messages:\n** {{msg-mw|Securepasswords-minlength}}\n** {{msg-mw|Securepasswords-lowercase}}\n** {{msg-mw|Securepasswords-uppercase}}\n** {{msg-mw|Securepasswords-digit}}\n** {{msg-mw|Securepasswords-special}}\n** {{msg-mw|Securepasswords-username}}\n** {{msg-mw|Securepasswords-word}}", - "securepasswords-minlength": "Used as a condition in {{msg-mw|Securepasswords-valid}}.\n\nParameters:\n* $1 - minimum number of characters", - "securepasswords-lowercase": "Used as a condition in {{msg-mw|Securepasswords-valid}}.", - "securepasswords-uppercase": "Used as a condition in {{msg-mw|Securepasswords-valid}}.", - "securepasswords-digit": "Used as a condition in {{msg-mw|Securepasswords-valid}}.", - "securepasswords-special": "Used as a condition in {{msg-mw|Securepasswords-valid}}.\n\nParameters:\n* $1 - list of special characters (uses value of <code>$wgSecurePasswordsSpecialChars</code>)", - "securepasswords-username": "{{gender}}\nUsed as a condition in {{msg-mw|Securepasswords-valid}}.\n\nParameters:\n* $1 - (Optional) username", - "securepasswords-word": "Used as a condition in {{msg-mw|Securepasswords-valid}}." -} diff --git a/i18n/ro.json b/i18n/ro.json deleted file mode 100644 index 032c379..0000000 --- a/i18n/ro.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "@metadata": { - "authors": [ - "KlaudiuMihaila" - ] - }, - "securepasswords-valid": "Parola dumneavoastră este incorectă sau prea scurtă.\nAceasta trebuie: $1.", - "securepasswords-minlength": "să fie de cel puțin $1 {{PLURAL:$1|caracter|caractere}} lungime", - "securepasswords-lowercase": "să conțină cel puțin o literă mică", - "securepasswords-uppercase": "să conțină cel puțin o literă mare", - "securepasswords-digit": "să conțină cel puțin o cifră", - "securepasswords-special": "să conțină cel puțin un caracter special (caracterele speciale sunt: $1)", - "securepasswords-username": "să fie diferită de numele de utilizator", - "securepasswords-word": "să nu fie un cuvânt" -} diff --git a/i18n/roa-tara.json b/i18n/roa-tara.json deleted file mode 100644 index c50ed7d..0000000 --- a/i18n/roa-tara.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Joetaras" - ] - }, - "securepasswords-desc": "Ccreje le simbole d'a passuord cchiù secure e aggiugne 'nu verificatore d'a forze d'a passuord", - "securepasswords-valid": "'A password toje jè invalida o troppe cuciule.\nAdda essere: $1.", - "securepasswords-minlength": "adda essere longhe ninde ninde $1 {{PLURAL:$1|carattere}}", - "securepasswords-lowercase": "tène almene 'na lettere minuscole", - "securepasswords-uppercase": "tène almene 'na lettere maiuscole", - "securepasswords-digit": "tène almene 'nu numere", - "securepasswords-special": "tène almene 'nu carattere speciale (le carattere speciale sò: $1)", - "securepasswords-username": "differende da 'u nome utende tue", - "securepasswords-word": "non g'addà essere 'na parole" -} diff --git a/i18n/ru.json b/i18n/ru.json deleted file mode 100644 index 0163b74..0000000 --- a/i18n/ru.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Ferrer", - "Kaganer", - "Александр Сигачёв" - ] - }, - "securepasswords-desc": "Создаёт защищённые хеши паролей и добавляет проверку силы пароля", - "securepasswords-valid": "Вам пароль неверный или слишком короткий.\nОн должен: $1.", - "securepasswords-minlength": "быть, по крайней мере, длиной в $1 {{PLURAL:$1|символ|символа|символов}}", - "securepasswords-lowercase": "содержит минимум 1 строчную букву", - "securepasswords-uppercase": "содержит минимум 1 прописную букву", - "securepasswords-digit": "содержать минимум одну цифру", - "securepasswords-special": "содержать минимум 1 служебный символ (служебные символы: $1)", - "securepasswords-username": "будет отличаться от вашего имени участника", - "securepasswords-word": "не слово" -} diff --git a/i18n/si.json b/i18n/si.json deleted file mode 100644 index 4322e5e..0000000 --- a/i18n/si.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "@metadata": { - "authors": [ - "පසිඳු කාවින්ද" - ] - }, - "securepasswords-lowercase": "අවම වශයෙන් 1 පොඩි අකුරක් වත් අඩංගු විය යුතුය", - "securepasswords-uppercase": "අවම වශයෙන් 1 ලොකු අකුරක් වත් අඩංගු විය යුතුය", - "securepasswords-digit": "අවම වශයෙන් 1 සංඛ්යාංකයක් වත් අඩංගු විය යුතුය", - "securepasswords-username": "ඔබේ පරිශීලක නාමයෙන් වෙනස් විය යුතු වේ", - "securepasswords-word": "වචනයක් නොවිය යුතුය" -} diff --git a/i18n/sk.json b/i18n/sk.json deleted file mode 100644 index 65592ec..0000000 --- a/i18n/sk.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Helix84", - "Rudko" - ] - }, - "securepasswords-desc": "Vytvára bezpečnejšie haše hesiel a pridáva kontrolu sily hesla", - "securepasswords-valid": "Vaše heslo je nesprávne alebo príliš krátke. $1", - "securepasswords-minlength": "musí byť dlhé aspoň $1 {{PLURAL:$1|znak|znaky|znakov}}", - "securepasswords-lowercase": "musí obsahovať aspoň jedno malé písmeno", - "securepasswords-uppercase": "musí obsahovať aspoň jedno veľké písmeno", - "securepasswords-digit": "musí obsahovať aspoň jednu číslicu", - "securepasswords-special": "musí obsahovať aspoň jeden špeciálny znak (povolené špeciálne znaky: $1)", - "securepasswords-username": "musí byť iné ako vaše používateľské meno", - "securepasswords-word": "nesmie to byť slovo zo slovníka" -} diff --git a/i18n/sr-ec.json b/i18n/sr-ec.json deleted file mode 100644 index 76447d8..0000000 --- a/i18n/sr-ec.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Milicevic01", - "Rancher", - "Михајло Анђелковић" - ] - }, - "securepasswords-desc": "Ствара безбедније дисперзије лозинки и додаје проверу снаге лозинке", - "securepasswords-valid": "Ваша лозинка је неисправна или прекратка.\nОна мора: $1.", - "securepasswords-minlength": "бити дугачка најмање $1 {{PLURAL:$1|знак|знакова}}.", - "securepasswords-lowercase": "садржи најмање једно мало слово", - "securepasswords-uppercase": "садржи најмање једно велико слово", - "securepasswords-digit": "садржати најмање 1 цифру", - "securepasswords-special": "садржати најмање 1 специјални знак (специјални знаци су: $1)", - "securepasswords-username": "да се разликује од корисничког имена", - "securepasswords-word": "не може да буде реч" -} diff --git a/i18n/sr-el.json b/i18n/sr-el.json deleted file mode 100644 index 6ae90cb..0000000 --- a/i18n/sr-el.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Milicevic01", - "Rancher" - ] - }, - "securepasswords-desc": "Stvara bezbednije disperzije lozinki i dodaje proveru snage lozinke", - "securepasswords-valid": "Vaša lozinka je neispravna ili prekratka.\nOna mora: $1.", - "securepasswords-minlength": "biti dugačka najmanje $1 {{PLURAL:$1|znak|znakova}}.", - "securepasswords-lowercase": "sadrži najmanje jedno malo slovo", - "securepasswords-uppercase": "sadrži najmanje jedno veliko slovo", - "securepasswords-digit": "sadržati najmanje 1 cifru", - "securepasswords-special": "sadržati najmanje 1 specijalni znak (specijalni znaci su: $1)", - "securepasswords-username": "da se razlikuje od korisničkog imena", - "securepasswords-word": "ne može da bude reč" -} diff --git a/i18n/stq.json b/i18n/stq.json deleted file mode 100644 index fe7ecb6..0000000 --- a/i18n/stq.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Pyt" - ] - }, - "securepasswords-desc": "Moaket sicherere Paaswoud-Hashes un föiget ne Paaswoudstäärken-Wröige bietou", - "securepasswords-valid": "Dien Paaswoud is uungultich of tou kuut.\nEt mout: $1.", - "securepasswords-minlength": "ap minste $1 {{PLURAL:$1|Teeken|Teekene}} loang weese", - "securepasswords-lowercase": "ap minste ne Littikbouksteeuwe änthoolde", - "securepasswords-uppercase": "ap minste ne Grootbouksteeuwe änthoolde", - "securepasswords-digit": "ap minste een Ziffer änthoolde", - "securepasswords-special": "ap minste een Sunnerteeken änthoolde (Sunnerteekene sunt: $1)", - "securepasswords-username": "sik fon din Benutsernoome unnerskeede", - "securepasswords-word": "wät uurs weese as n Woud" -} diff --git a/i18n/sv.json b/i18n/sv.json deleted file mode 100644 index cb366e1..0000000 --- a/i18n/sv.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Najami" - ] - }, - "securepasswords-desc": "Skapar säkrare lösenordshashar och lägger till en funktion för att kontrollera lösenordets styrka", - "securepasswords-valid": "Ditt lösenord är ogiltigt eller för kort.\nDet måste: $1.", - "securepasswords-minlength": "ha en längd på minst {{PLURAL:$1|ett tecken|$1 tecken}}", - "securepasswords-lowercase": "innehålla minst en liten bokstav", - "securepasswords-uppercase": "innehålla minst en stor bokstav", - "securepasswords-digit": "innehålla minst en siffra", - "securepasswords-special": "innehålla minst ett specialtecken (specialtecknen är: $1)", - "securepasswords-username": "inte vara samma som ditt användarnamn", - "securepasswords-word": "inte vara ett ord" -} diff --git a/i18n/sw.json b/i18n/sw.json deleted file mode 100644 index 4a5e847..0000000 --- a/i18n/sw.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Stephenwanjau" - ] - }, - "securepasswords-word": "haifai kuwa jina" -} diff --git a/i18n/te.json b/i18n/te.json deleted file mode 100644 index 6cae8ab..0000000 --- a/i18n/te.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Kiranmayee", - "Veeven" - ] - }, - "securepasswords-desc": "మరికొన్ని సంరక్షిత పాసువార్డు హాషులను సృష్టించి, పాసువార్డు బలము చూసే పనిముట్టుని కలుపుతుంది", - "securepasswords-valid": "మీ సంకేతపదం సరైనది కాదు లేదా మరీ చిన్నగా ఉంది.\nఅది: $1.", - "securepasswords-minlength": "కనీసం $1 {{PLURAL:$1|అక్షరం|అక్షరాల}} పొడవుండాలి", - "securepasswords-lowercase": "కనీసం ఒక్క చిన్న బడి అక్షరాన్నైనా కలిగివుండాలి.", - "securepasswords-uppercase": "కనీసం ఒక్క పెద్దబడి అక్షరాన్నైనా కలిగివుండాలి.", - "securepasswords-digit": "కనీసం ఒక్క అంకెనైనా కలిగివుండాలి.", - "securepasswords-special": "కనీసం 1 ప్రత్యేక అక్షరాన్నైనా కలిగివుండాలి (ప్రత్యేక అక్షరాలు ఇవీ: $1)", - "securepasswords-username": "మీ వాడుకరిపేరు అయివుండకూడదు", - "securepasswords-word": "ఒక పదం అయివుండకూడదు" -} diff --git a/i18n/tl.json b/i18n/tl.json deleted file mode 100644 index bdc68fd..0000000 --- a/i18n/tl.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@metadata": { - "authors": [ - "AnakngAraw", - "Jojit fb" - ] - }, - "securepasswords-desc": "Lumilikha ng mas higit na ligtas na mga password hash at nagdaragdag ng isang tagapasuri ng lakas ng password", - "securepasswords-valid": "Hindi balido o napaikli ng password mo.\nDapat itong: $1.", - "securepasswords-minlength": "may kahit na $1 {{PLURAL:$1|panitik|mga panitik}} ang haba", - "securepasswords-lowercase": "maglaman ng kahit na 1 maliit na titik", - "securepasswords-uppercase": "maglaman ng kahit na 1 malaking titik", - "securepasswords-digit": "maglaman ng kahit na 1 tambilang (bilang)", - "securepasswords-special": "maglaman ng kahit na 1 natatanging panitik (ang natatanging mga panitik ay: $1)", - "securepasswords-username": "naiiba/kaiba mula sa iyong pangalan ng tagagamit", - "securepasswords-word": "hindi isang salita" -} diff --git a/i18n/tr.json b/i18n/tr.json deleted file mode 100644 index 1699a09..0000000 --- a/i18n/tr.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Vito Genovese" - ] - }, - "securepasswords-lowercase": "en az bir küçük harf içermektedir", - "securepasswords-uppercase": "en az 1 büyük harf içermektedir", - "securepasswords-digit": "en az 1 rakam içermektedir", - "securepasswords-username": "kullanıcı adınızan farklı olacak", - "securepasswords-word": "kelime olmayacak" -} diff --git a/i18n/uk.json b/i18n/uk.json deleted file mode 100644 index 032c995..0000000 --- a/i18n/uk.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Alex Khimich" - ] - }, - "securepasswords-desc": "Створює більш безпечний хеш для паролю і додає перевірку паролю на надійність", - "securepasswords-valid": "Ваш пароль недійсний або надто короткий. \nВін повинен: $1.", - "securepasswords-minlength": "Бути не менше $1 {{PLURAL:$1|символ|символа|символів}} в довжину.", - "securepasswords-lowercase": "Повинен містить не менше 1 літери в нижньому реєстрі.", - "securepasswords-uppercase": "Повинен містити не менше 1 літери в верхньому реєстрі.", - "securepasswords-digit": "Повинен містити як мінімум 1 цифру.", - "securepasswords-special": "Повинен містити як мінімум 1 спеціальний символ (допустимі спецсимволи: $1).", - "securepasswords-username": "Повинен відрізнятись від імені вашого облікового запису.", - "securepasswords-word": "Не повинен бути словниковим словом." -} diff --git a/i18n/vep.json b/i18n/vep.json deleted file mode 100644 index b47bb09..0000000 --- a/i18n/vep.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Игорь Бродский" - ] - }, - "securepasswords-valid": "Teiden peitsana om vär vai lühüdahk.\nPidab säta se neniden käskusiden mödhe: $1." -} diff --git a/i18n/vi.json b/i18n/vi.json deleted file mode 100644 index 7952ac5..0000000 --- a/i18n/vi.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Minh Nguyen", - "Vinhtantran" - ] - }, - "securepasswords-desc": "Tạo ra những bảng băm mật khẩu an toàn hơn và bổ sung một bộ kiểm tra độ mạnh mật khẩu", - "securepasswords-valid": "Mật khẩu của bạn không hợp lệ hay ngắn quá.\nNó phải: $1.", - "securepasswords-minlength": "tối thiểu là $1 ký tự", - "securepasswords-lowercase": "có ít nhất một chữ nhỏ", - "securepasswords-uppercase": "có ít nhất một chữ hoa", - "securepasswords-digit": "có ít nhất một chữ số", - "securepasswords-special": "có ít nhất một ký tự đặc biệt (tức là: $1)", - "securepasswords-username": "khác với tên hiệu", - "securepasswords-word": "không phải là từ" -} diff --git a/i18n/vo.json b/i18n/vo.json deleted file mode 100644 index b22ae59..0000000 --- a/i18n/vo.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Malafaya", - "Smeira" - ] - }, - "securepasswords-valid": "Letavöd olik no lonöfon u binon tu brefik.\nMuton: $1.", - "securepasswords-minlength": "labon lunoti {{PLURAL:$1|malata pu bala|malatas pu $1}}", - "securepasswords-lowercase": "ninädön minudi pu bali", - "securepasswords-uppercase": "ninädon mayudi pu bali", - "securepasswords-digit": "ninädön numati pu bali", - "securepasswords-special": "ninädon malati patik pu bali (malats patik binons: $1)", - "securepasswords-username": "difön de gebananem olik", - "securepasswords-word": "no binön vöd" -} diff --git a/i18n/zh-hans.json b/i18n/zh-hans.json deleted file mode 100644 index be5d5fa..0000000 --- a/i18n/zh-hans.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Bencmq", - "Gzdavidwong" - ] - }, - "securepasswords-desc": "生成更安全的密码哈希值,并添加密码强度检测", - "securepasswords-valid": "您的密码无效或者太短。\n它必须:$1。", - "securepasswords-minlength": "长度至少需要$1个字符", - "securepasswords-lowercase": "包含最少一个小写字母", - "securepasswords-uppercase": "包含最少一个大写字母", - "securepasswords-digit": "包含最少一个数字", - "securepasswords-special": "包含至少一个特殊字符 (特殊字符是:$1)", - "securepasswords-username": "不与您的用户名相同", - "securepasswords-word": "不是一个单词" -} diff --git a/i18n/zh-hant.json b/i18n/zh-hant.json deleted file mode 100644 index 708997a..0000000 --- a/i18n/zh-hant.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "@metadata": { - "authors": [ - "Danny0838", - "Mark85296341", - "Wrightbus", - "LNDDYL", - "Cwlin0416" - ] - }, - "securepasswords-desc": "生成更安全的密碼哈希值,並添加密碼強度檢測", - "securepasswords-valid": "您的密碼無效或太短。它必須:$1。", - "securepasswords-minlength": "長度至少$1個字元", - "securepasswords-lowercase": "包含至少一個小寫字母", - "securepasswords-uppercase": "包含最少一個大寫字母", - "securepasswords-digit": "包含至少一個數字", - "securepasswords-special": "包含至少一個特殊字元 (特殊字元有:$1)", - "securepasswords-username": "不與您的使用者名稱相同", - "securepasswords-word": "不是一個單詞" -} diff --git a/package.json b/package.json deleted file mode 100644 index e87548c..0000000 --- a/package.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "private": true, - "scripts": { - "test": "grunt test" - }, - "devDependencies": { - "grunt": "1.0.1", - "grunt-banana-checker": "0.5.0", - "grunt-contrib-jshint": "1.1.0", - "grunt-jsonlint": "1.1.0" - } -} diff --git a/password_history.sql b/password_history.sql deleted file mode 100644 index 15c5a88..0000000 --- a/password_history.sql +++ /dev/null @@ -1,8 +0,0 @@ -CREATE TABLE IF NOT EXISTS /*_*/password_history ( - ph_user integer unsigned NOT NULL, -- FK to user id - ph_password mediumblob NOT NULL, -- password hash - ph_timestamp varbinary(14) NOT NULL DEFAULT '', - PRIMARY KEY (ph_user, ph_timestamp) -) /*$wgDBTableOptions*/; - -CREATE INDEX /*i*/age ON /*_*/password_history (ph_timestamp); \ No newline at end of file diff --git a/securepasswords_uninstall.sql b/securepasswords_uninstall.sql deleted file mode 100644 index d439fa0..0000000 --- a/securepasswords_uninstall.sql +++ /dev/null @@ -1,5 +0,0 @@ --- This table only gets populated if $wgSecurePasswordsTrialMode is true -CREATE TABLE IF NOT EXISTS /*_*/securepasswords_uninstall ( - su_user integer unsigned NOT NULL PRIMARY KEY, - su_password tinyblob NOT NULL -) /*$wgDBTableOptions*/; \ No newline at end of file diff --git a/user.patch.user_newpassword.sql b/user.patch.user_newpassword.sql deleted file mode 100644 index 336a46a..0000000 --- a/user.patch.user_newpassword.sql +++ /dev/null @@ -1,5 +0,0 @@ ---- Modify the user table for the SecurePasswords extension ---- tinyblob doesn't cut it anymore for the password hashing used by this extension ---- so this will change it to mediumblob - -ALTER TABLE /*_*/user MODIFY user_newpassword MEDIUMBLOB NOT NULL; \ No newline at end of file diff --git a/user.patch.user_password.sql b/user.patch.user_password.sql deleted file mode 100644 index f78aaf7..0000000 --- a/user.patch.user_password.sql +++ /dev/null @@ -1,5 +0,0 @@ ---- Modify the user table for the SecurePasswords extension ---- tinyblob doesn't cut it anymore for the password hashing used by this extension ---- so this will change it to mediumblob - -ALTER TABLE /*_*/user MODIFY user_password MEDIUMBLOB NOT NULL; \ No newline at end of file -- To view, visit https://gerrit.wikimedia.org/r/389519 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I45ad9cf7451dabd679bfc82eda46e30e38a5e464 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/SecurePasswords Gerrit-Branch: master Gerrit-Owner: Umherirrender <umherirrender_de...@web.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits