Compare commits
87 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
836871b041 | ||
|
|
7c11156848 | ||
|
|
c1b20d560d | ||
|
|
790ef209bc | ||
|
|
0fecfab673 | ||
|
|
319a4b66aa | ||
|
|
feba1f3c24 | ||
|
|
c165625db0 | ||
|
|
6525c264a5 | ||
|
|
360c4907c9 | ||
|
|
41b7af419d | ||
|
|
93bc80de36 | ||
|
|
29a475b729 | ||
|
|
dbb386dbb9 | ||
|
|
24163541fd | ||
|
|
82ccf3218d | ||
|
|
f308cea87b | ||
|
|
a2996eeefb | ||
|
|
8396437cb8 | ||
|
|
2c0c4ead96 | ||
|
|
6da935060e | ||
|
|
883a510682 | ||
|
|
f3049b7661 | ||
|
|
abf2440fb5 | ||
|
|
c11ae3ecae | ||
|
|
1e63860107 | ||
|
|
77131eeea6 | ||
|
|
8ab0432154 | ||
|
|
bca86c48d8 | ||
|
|
f5533155c5 | ||
|
|
0fa91e1521 | ||
|
|
d3a7eae103 | ||
|
|
de1c326168 | ||
|
|
5f36ec60c7 | ||
|
|
ef2b6c3fd0 | ||
|
|
89245e3162 | ||
|
|
1197d1f083 | ||
|
|
7c85a64698 | ||
|
|
d3ceff2c1e | ||
|
|
4a10ec1289 | ||
|
|
411f61584b | ||
|
|
c66687bbbf | ||
|
|
f8a7b3b2e5 | ||
|
|
41f7bedf63 | ||
|
|
8a19c65553 | ||
|
|
3db945f043 | ||
|
|
f06b30754b | ||
|
|
ef9a18dbb3 | ||
|
|
2e50eb98f2 | ||
|
|
624fd9ceb3 | ||
|
|
f4e07cd2d1 | ||
|
|
ef040d9bb9 | ||
|
|
55c537d3b5 | ||
|
|
43cdd9c995 | ||
|
|
bda50ee63e | ||
|
|
f96c7296ee | ||
|
|
5d9db4f295 | ||
|
|
5d956844d0 | ||
|
|
bd7ada4a6a | ||
|
|
9e0ab4d3d9 | ||
|
|
703f4f3a4f | ||
|
|
d088656a2d | ||
|
|
b1299f8bd2 | ||
|
|
6d5dab5383 | ||
|
|
a8244c9811 | ||
|
|
f17afc4434 | ||
|
|
9b9d57a8a6 | ||
|
|
ff99752901 | ||
|
|
aefb07ef4b | ||
|
|
6da0d445a7 | ||
|
|
7fdbc8e9cc | ||
|
|
66cf8c80f0 | ||
|
|
627050be10 | ||
|
|
78f9e4eb57 | ||
|
|
40acd85a7b | ||
|
|
0ff4291766 | ||
|
|
b10d6f6018 | ||
|
|
5589be458c | ||
|
|
230dd8ddb8 | ||
|
|
488e0fc623 | ||
|
|
5a335d1876 | ||
|
|
56f21a2611 | ||
|
|
a5ef8a5409 | ||
|
|
0010a6f08b | ||
|
|
740e0fa273 | ||
|
|
e4cb919476 | ||
|
|
8f657f7205 |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,5 +1,7 @@
|
||||
.svn
|
||||
*~
|
||||
*.kate-swp
|
||||
.*.swp
|
||||
.idea
|
||||
node_modules/
|
||||
/composer.lock
|
||||
/vendor/
|
||||
|
||||
@@ -2,5 +2,5 @@
|
||||
host=gerrit.wikimedia.org
|
||||
port=29418
|
||||
project=mediawiki/extensions/ContributionScores
|
||||
defaultbranch=REL1_26
|
||||
track=1
|
||||
defaultrebase=0
|
||||
2
.jshintignore
Normal file
2
.jshintignore
Normal file
@@ -0,0 +1,2 @@
|
||||
node_modules
|
||||
vendor
|
||||
13
.phpcs.xml
Normal file
13
.phpcs.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0"?>
|
||||
<ruleset>
|
||||
<rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki">
|
||||
<exclude name="MediaWiki.Files.ClassMatchesFilename.NotMatch" />
|
||||
<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected" />
|
||||
<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic" />
|
||||
<exclude name="MediaWiki.Usage.DbrQueryUsage.DbrQueryFound" />
|
||||
<exclude name="Squiz.Scope.MethodScope.Missing" />
|
||||
</rule>
|
||||
<file>.</file>
|
||||
<arg name="extensions" value="php" />
|
||||
<arg name="encoding" value="UTF-8" />
|
||||
</ruleset>
|
||||
1
CODE_OF_CONDUCT.md
Normal file
1
CODE_OF_CONDUCT.md
Normal file
@@ -0,0 +1 @@
|
||||
The development of this software is covered by a [Code of Conduct](https://www.mediawiki.org/wiki/Special:MyLanguage/Code_of_Conduct).
|
||||
@@ -54,6 +54,11 @@ $specialPageAliases['bjn'] = array(
|
||||
'ContributionScores' => array( 'Skor_sumbangan' ),
|
||||
);
|
||||
|
||||
/** Bengali (বাংলা) */
|
||||
$specialPageAliases['bn'] = array(
|
||||
'ContributionScores' => array( 'অবদানের_স্কোর' ),
|
||||
);
|
||||
|
||||
/** Breton (brezhoneg) */
|
||||
$specialPageAliases['br'] = array(
|
||||
'ContributionScores' => array( 'Skor_Degasadennoù' ),
|
||||
@@ -251,7 +256,7 @@ $specialPageAliases['tr'] = array(
|
||||
|
||||
/** Ukrainian (українська) */
|
||||
$specialPageAliases['uk'] = array(
|
||||
'ContributionScores' => array( 'Очки_внеску' ),
|
||||
'ContributionScores' => array( 'Очки_внеску', 'Очки_вклада' ),
|
||||
);
|
||||
|
||||
/** Simplified Chinese (中文(简体)) */
|
||||
@@ -262,4 +267,4 @@ $specialPageAliases['zh-hans'] = array(
|
||||
/** Traditional Chinese (中文(繁體)) */
|
||||
$specialPageAliases['zh-hant'] = array(
|
||||
'ContributionScores' => array( '貢獻分數' ),
|
||||
);
|
||||
);
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
* Magic words for extension.
|
||||
*/
|
||||
|
||||
$magicWords = array();
|
||||
$magicWords = [];
|
||||
|
||||
/** English (English) */
|
||||
$magicWords['en'] = array(
|
||||
'cscore' => array( 0, 'cscore' ),
|
||||
);
|
||||
$magicWords['en'] = [
|
||||
'cscore' => [ 0, 'cscore' ],
|
||||
];
|
||||
|
||||
@@ -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( 'wfJsonI18nShim9e08550f702d6269' ) ) {
|
||||
function wfJsonI18nShim9e08550f702d6269( $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'][] = 'wfJsonI18nShim9e08550f702d6269';
|
||||
}
|
||||
@@ -1,46 +1,53 @@
|
||||
<?php
|
||||
/** \file
|
||||
* \brief Contains setup code for the Contribution Scores Extension.
|
||||
*/
|
||||
* \brief Contains setup code for the Contribution Scores Extension.
|
||||
*/
|
||||
|
||||
# Not a valid entry point, skip unless MEDIAWIKI is defined
|
||||
if ( !defined( 'MEDIAWIKI' ) ) {
|
||||
echo "Contribution Scores extension";
|
||||
echo 'Contribution Scores extension';
|
||||
exit( 1 );
|
||||
}
|
||||
|
||||
$wgExtensionCredits['specialpage'][] = array(
|
||||
$wgExtensionCredits['specialpage'][] = [
|
||||
'path' => __FILE__,
|
||||
'name' => 'Contribution Scores',
|
||||
'url' => 'https://www.mediawiki.org/wiki/Extension:Contribution_Scores',
|
||||
'author' => 'Tim Laqua',
|
||||
'descriptionmsg' => 'contributionscores-desc',
|
||||
'version' => '1.17.0'
|
||||
);
|
||||
|
||||
$dir = dirname( __FILE__ ) . '/';
|
||||
'version' => '1.25.0'
|
||||
];
|
||||
|
||||
define( 'CONTRIBUTIONSCORES_MAXINCLUDELIMIT', 50 );
|
||||
$wgContribScoreReports = null;
|
||||
|
||||
// These settings can be overridden in LocalSettings.php.
|
||||
$wgContribScoreIgnoreBlockedUsers = false; // Set to true to exclude bots from the reporting.
|
||||
$wgContribScoreIgnoreBots = false; // Set to true to exclude blocked users from the reporting.
|
||||
$wgContribScoresUseRealName = false; // Set to true to use real user names when available. Only for MediaWiki 1.19 and later.
|
||||
$wgContribScoreDisableCache = false; // Set to true to disable cache for parser function and inclusion of table.
|
||||
|
||||
$wgAutoloadClasses['ContributionScores'] = $dir . 'ContributionScores_body.php';
|
||||
// Set to true to exclude bots from the reporting.
|
||||
$wgContribScoreIgnoreBlockedUsers = false;
|
||||
|
||||
// Set to true to exclude blocked users from the reporting.
|
||||
$wgContribScoreIgnoreBots = false;
|
||||
|
||||
// Set to true to use real user names when available. Only for MediaWiki 1.19 and later.
|
||||
$wgContribScoresUseRealName = false;
|
||||
|
||||
// Set to true to disable cache for parser function and inclusion of table.
|
||||
$wgContribScoreDisableCache = false;
|
||||
|
||||
$wgAutoloadClasses['ContributionScores'] = __DIR__ . '/ContributionScores_body.php';
|
||||
$wgSpecialPages['ContributionScores'] = 'ContributionScores';
|
||||
|
||||
$wgMessagesDirs['ContributionScores'] = __DIR__ . '/i18n';
|
||||
$wgExtensionMessagesFiles['ContributionScores'] = $dir . 'ContributionScores.i18n.php';
|
||||
$wgExtensionMessagesFiles['ContributionScoresAlias'] = $dir . 'ContributionScores.alias.php';
|
||||
$wgExtensionMessagesFiles['ContributionScoresMagic'] = $dir . 'ContributionScores.i18n.magic.php';
|
||||
$wgExtensionMessagesFiles['ContributionScoresAlias'] = __DIR__ . '/ContributionScores.alias.php';
|
||||
$wgExtensionMessagesFiles['ContributionScoresMagic'] =
|
||||
__DIR__ . '/ContributionScores.i18n.magic.php';
|
||||
|
||||
$wgHooks['ParserFirstCallInit'][] = 'efContributionScores_Setup';
|
||||
|
||||
function efContributionScores_Setup( &$parser ) {
|
||||
$parser->setFunctionHook( 'cscore', 'efContributionScores_Render' );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -52,28 +59,27 @@ function efContributionScores_Render( &$parser, $usertext, $metric = 'score' ) {
|
||||
}
|
||||
|
||||
$user = User::newFromName( $usertext );
|
||||
$dbr = wfGetDB( DB_SLAVE );
|
||||
$dbr = wfGetDB( DB_REPLICA );
|
||||
|
||||
if ( $user instanceof User && $user->isLoggedIn() ) {
|
||||
global $wgLang;
|
||||
|
||||
if ( $metric == 'score' ) {
|
||||
$res = $dbr->select( 'revision',
|
||||
'COUNT(DISTINCT rev_page)+SQRT(COUNT(rev_id)-COUNT(DISTINCT rev_page))*2 AS wiki_rank',
|
||||
array( 'rev_user' => $user->getID() ) );
|
||||
'COUNT(DISTINCT rev_page)+SQRT(COUNT(rev_id)-COUNT(DISTINCT rev_page))*2 AS wiki_rank',
|
||||
[ 'rev_user' => $user->getID() ] );
|
||||
$row = $dbr->fetchObject( $res );
|
||||
$output = $wgLang->formatNum( round( $row->wiki_rank, 0 ) );
|
||||
} elseif ( $metric == 'changes' ) {
|
||||
$res = $dbr->select( 'revision',
|
||||
'COUNT(rev_id) AS rev_count',
|
||||
array( 'rev_user' => $user->getID() ) );
|
||||
'COUNT(rev_id) AS rev_count',
|
||||
[ 'rev_user' => $user->getID() ] );
|
||||
$row = $dbr->fetchObject( $res );
|
||||
$output = $wgLang->formatNum( $row->rev_count );
|
||||
|
||||
} elseif ( $metric == 'pages' ) {
|
||||
$res = $dbr->select( 'revision',
|
||||
'COUNT(DISTINCT rev_page) AS page_count',
|
||||
array( 'rev_user' => $user->getID() ) );
|
||||
'COUNT(DISTINCT rev_page) AS page_count',
|
||||
[ 'rev_user' => $user->getID() ] );
|
||||
$row = $dbr->fetchObject( $res );
|
||||
$output = $wgLang->formatNum( $row->page_count );
|
||||
} else {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/** \file
|
||||
* \brief Contains code for the ContributionScores Class (extends SpecialPage).
|
||||
*/
|
||||
* \brief Contains code for the ContributionScores Class (extends SpecialPage).
|
||||
*/
|
||||
|
||||
/// Special page class for the Contribution Scores extension
|
||||
/**
|
||||
@@ -21,18 +21,18 @@ class ContributionScores extends IncludableSpecialPage {
|
||||
/**
|
||||
* Function generates Contribution Scores tables in HTML format (not wikiText)
|
||||
*
|
||||
* @param $days int Days in the past to run report for
|
||||
* @param $limit int Maximum number of users to return (default 50)
|
||||
* @param $title Title (default null)
|
||||
* @param $options array of options (default none; nosort/notools)
|
||||
* @return Html Table representing the requested Contribution Scores.
|
||||
* @param int $days Days in the past to run report for
|
||||
* @param int $limit Maximum number of users to return (default 50)
|
||||
* @param string|null $title The title of the table
|
||||
* @param array $options array of options (default none; nosort/notools)
|
||||
* @return string Html Table representing the requested Contribution Scores.
|
||||
*/
|
||||
function genContributionScoreTable( $days, $limit, $title = null, $options = 'none' ) {
|
||||
global $wgContribScoreIgnoreBots, $wgContribScoreIgnoreBlockedUsers, $wgContribScoresUseRealName;
|
||||
|
||||
$opts = explode( ',', strtolower( $options ) );
|
||||
|
||||
$dbr = wfGetDB( DB_SLAVE );
|
||||
$dbr = wfGetDB( DB_REPLICA );
|
||||
|
||||
$userTable = $dbr->tableName( 'user' );
|
||||
$userGroupTable = $dbr->tableName( 'user_groups' );
|
||||
@@ -50,12 +50,14 @@ class ContributionScores extends IncludableSpecialPage {
|
||||
}
|
||||
|
||||
if ( $wgContribScoreIgnoreBlockedUsers ) {
|
||||
$sqlWhere .= " {$nextPrefix} rev_user NOT IN (SELECT ipb_user FROM {$ipBlocksTable} WHERE ipb_user <> 0)";
|
||||
$sqlWhere .= " {$nextPrefix} rev_user NOT IN " .
|
||||
"(SELECT ipb_user FROM {$ipBlocksTable} WHERE ipb_user <> 0)";
|
||||
$nextPrefix = "AND";
|
||||
}
|
||||
|
||||
if ( $wgContribScoreIgnoreBots ) {
|
||||
$sqlWhere .= " {$nextPrefix} rev_user NOT IN (SELECT ug_user FROM {$userGroupTable} WHERE ug_group='bot')";
|
||||
$sqlWhere .= " {$nextPrefix} rev_user NOT IN " .
|
||||
"(SELECT ug_user FROM {$userGroupTable} WHERE ug_group='bot')";
|
||||
}
|
||||
|
||||
$sqlMostPages = "SELECT rev_user,
|
||||
@@ -67,7 +69,7 @@ class ContributionScores extends IncludableSpecialPage {
|
||||
ORDER BY page_count DESC
|
||||
LIMIT {$limit}";
|
||||
|
||||
$sqlMostRevs = "SELECT rev_user,
|
||||
$sqlMostRevs = "SELECT rev_user,
|
||||
COUNT(DISTINCT rev_page) AS page_count,
|
||||
COUNT(rev_id) AS rev_count
|
||||
FROM {$revTable}
|
||||
@@ -92,11 +94,11 @@ class ContributionScores extends IncludableSpecialPage {
|
||||
|
||||
$output = "<table class=\"wikitable contributionscores plainlinks{$sortable}\" >\n" .
|
||||
"<tr class='header'>\n" .
|
||||
Html::element( 'th', array(), $this->msg( 'contributionscores-rank' )->text() ) .
|
||||
Html::element( 'th', array(), $this->msg( 'contributionscores-score' )->text() ) .
|
||||
Html::element( 'th', array(), $this->msg( 'contributionscores-pages' )->text() ) .
|
||||
Html::element( 'th', array(), $this->msg( 'contributionscores-changes' )->text() ) .
|
||||
Html::element( 'th', array(), $this->msg( 'contributionscores-username' )->text() );
|
||||
Html::element( 'th', [], $this->msg( 'contributionscores-rank' )->text() ) .
|
||||
Html::element( 'th', [], $this->msg( 'contributionscores-score' )->text() ) .
|
||||
Html::element( 'th', [], $this->msg( 'contributionscores-pages' )->text() ) .
|
||||
Html::element( 'th', [], $this->msg( 'contributionscores-changes' )->text() ) .
|
||||
Html::element( 'th', [], $this->msg( 'contributionscores-username' )->text() );
|
||||
|
||||
$altrow = '';
|
||||
$user_rank = 1;
|
||||
@@ -118,11 +120,16 @@ class ContributionScores extends IncludableSpecialPage {
|
||||
}
|
||||
|
||||
$output .= Html::closeElement( 'tr' );
|
||||
$output .= "<tr class='{$altrow}'>\n<td class='content' style='padding-right:10px;text-align:right;'>" .
|
||||
$lang->formatNum( round( $user_rank, 0 ) ) . "\n</td><td class='content' style='padding-right:10px;text-align:right;'>" .
|
||||
$lang->formatNum( round( $row->wiki_rank, 0 ) ) . "\n</td><td class='content' style='padding-right:10px;text-align:right;'>" .
|
||||
$lang->formatNum( $row->page_count ) . "\n</td><td class='content' style='padding-right:10px;text-align:right;'>" .
|
||||
$lang->formatNum( $row->rev_count ) . "\n</td><td class='content'>" .
|
||||
$output .= "<tr class='{$altrow}'>\n" .
|
||||
"<td class='content' style='padding-right:10px;text-align:right;'>" .
|
||||
$lang->formatNum( round( $user_rank, 0 ) ) .
|
||||
"\n</td><td class='content' style='padding-right:10px;text-align:right;'>" .
|
||||
$lang->formatNum( round( $row->wiki_rank, 0 ) ) .
|
||||
"\n</td><td class='content' style='padding-right:10px;text-align:right;'>" .
|
||||
$lang->formatNum( $row->page_count ) .
|
||||
"\n</td><td class='content' style='padding-right:10px;text-align:right;'>" .
|
||||
$lang->formatNum( $row->rev_count ) .
|
||||
"\n</td><td class='content'>" .
|
||||
$userLink;
|
||||
|
||||
# Option to not display user tools
|
||||
@@ -145,22 +152,23 @@ class ContributionScores extends IncludableSpecialPage {
|
||||
|
||||
$dbr->freeResult( $res );
|
||||
|
||||
if ( !empty( $title ) )
|
||||
if ( !empty( $title ) ) {
|
||||
$output = Html::rawElement( 'table',
|
||||
array(
|
||||
[
|
||||
'style' => 'border-spacing: 0; padding: 0',
|
||||
'class' => 'contributionscores-wrapper',
|
||||
'lang' => htmlspecialchars( $lang->getCode()),
|
||||
'lang' => htmlspecialchars( $lang->getCode() ),
|
||||
'dir' => $lang->getDir()
|
||||
),
|
||||
],
|
||||
"\n" .
|
||||
"<tr>\n" .
|
||||
"<td style='padding: 0px;'>{$title}</td>\n" .
|
||||
"</tr>\n" .
|
||||
"<tr>\n" .
|
||||
"<td style='padding: 0px;'>{$output}</td>\n" .
|
||||
"</tr>\n"
|
||||
"<tr>\n" .
|
||||
"<td style='padding: 0px;'>{$title}</td>\n" .
|
||||
"</tr>\n" .
|
||||
"<tr>\n" .
|
||||
"<td style='padding: 0px;'>{$output}</td>\n" .
|
||||
"</tr>\n"
|
||||
);
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
@@ -180,7 +188,7 @@ class ContributionScores extends IncludableSpecialPage {
|
||||
/**
|
||||
* Called when being included on a normal wiki page.
|
||||
* Cache is disabled so it can depend on the user language.
|
||||
* @param $par
|
||||
* @param string|null $par A subpage give to the special page
|
||||
*/
|
||||
function showInclude( $par ) {
|
||||
$days = null;
|
||||
@@ -213,9 +221,17 @@ class ContributionScores extends IncludableSpecialPage {
|
||||
} else {
|
||||
$reportTitle = $this->msg( 'contributionscores-allrevisions' )->text();
|
||||
}
|
||||
$reportTitle .= " " . $this->msg( 'contributionscores-top' )->numParams( $limit )->text();
|
||||
$title = Xml::element( 'h4', array( 'class' => 'contributionscores-title' ), $reportTitle ) . "\n";
|
||||
$this->getOutput()->addHTML( $this->genContributionScoreTable( $days, $limit, $title, $options ) );
|
||||
$reportTitle .= ' ' . $this->msg( 'contributionscores-top' )->numParams( $limit )->text();
|
||||
$title = Xml::element( 'h4',
|
||||
[ 'class' => 'contributionscores-title' ],
|
||||
$reportTitle
|
||||
) . "\n";
|
||||
$this->getOutput()->addHTML( $this->genContributionScoreTable(
|
||||
$days,
|
||||
$limit,
|
||||
$title,
|
||||
$options
|
||||
) );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -225,11 +241,11 @@ class ContributionScores extends IncludableSpecialPage {
|
||||
global $wgContribScoreReports;
|
||||
|
||||
if ( !is_array( $wgContribScoreReports ) ) {
|
||||
$wgContribScoreReports = array(
|
||||
array( 7, 50 ),
|
||||
array( 30, 50 ),
|
||||
array( 0, 50 )
|
||||
);
|
||||
$wgContribScoreReports = [
|
||||
[ 7, 50 ],
|
||||
[ 30, 50 ],
|
||||
[ 0, 50 ]
|
||||
];
|
||||
}
|
||||
|
||||
$out = $this->getOutput();
|
||||
@@ -242,8 +258,11 @@ class ContributionScores extends IncludableSpecialPage {
|
||||
} else {
|
||||
$reportTitle = $this->msg( 'contributionscores-allrevisions' )->text();
|
||||
}
|
||||
$reportTitle .= " " . $this->msg( 'contributionscores-top' )->numParams( $revs )->text();
|
||||
$title = Xml::element( 'h2', array( 'class' => 'contributionscores-title' ), $reportTitle ) . "\n";
|
||||
$reportTitle .= ' ' . $this->msg( 'contributionscores-top' )->numParams( $revs )->text();
|
||||
$title = Xml::element( 'h2',
|
||||
[ 'class' => 'contributionscores-title' ],
|
||||
$reportTitle
|
||||
) . "\n";
|
||||
$out->addHTML( $title );
|
||||
$out->addHTML( $this->genContributionScoreTable( $days, $revs ) );
|
||||
}
|
||||
|
||||
29
Gruntfile.js
Normal file
29
Gruntfile.js
Normal file
@@ -0,0 +1,29 @@
|
||||
/*jshint node:true */
|
||||
module.exports = function ( grunt ) {
|
||||
'use strict';
|
||||
|
||||
grunt.loadNpmTasks( 'grunt-contrib-jshint' );
|
||||
grunt.loadNpmTasks( 'grunt-banana-checker' );
|
||||
grunt.loadNpmTasks( 'grunt-jsonlint' );
|
||||
|
||||
grunt.initConfig( {
|
||||
jshint: {
|
||||
all: [
|
||||
'*.js'
|
||||
]
|
||||
},
|
||||
banana: {
|
||||
all: 'i18n'
|
||||
},
|
||||
jsonlint: {
|
||||
all: [
|
||||
'**/*.json',
|
||||
'!node_modules/**',
|
||||
'!vendor/**'
|
||||
]
|
||||
}
|
||||
} );
|
||||
|
||||
grunt.registerTask( 'test', [ 'jshint', 'jsonlint', 'banana' ] );
|
||||
grunt.registerTask( 'default', 'test' );
|
||||
};
|
||||
2
README
Normal file
2
README
Normal file
@@ -0,0 +1,2 @@
|
||||
The Contribution Scores extension polls the wiki database to locate contributors with the highest contribution volume.
|
||||
The extension is intended to add a fun metric for contributors to see how much they are helping out.
|
||||
20
composer.json
Normal file
20
composer.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"require-dev": {
|
||||
"mediawiki/mediawiki-codesniffer": "19.4.0",
|
||||
"mediawiki/minus-x": "0.3.1",
|
||||
"php-parallel-lint/php-console-highlighter": "0.3.2",
|
||||
"php-parallel-lint/php-parallel-lint": "1.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"fix": [
|
||||
"minus-x fix .",
|
||||
"phpcbf"
|
||||
],
|
||||
"test": [
|
||||
"parallel-lint . --exclude vendor --exclude node_modules",
|
||||
"@phpcs",
|
||||
"minus-x check ."
|
||||
],
|
||||
"phpcs": "phpcs -sp --cache"
|
||||
}
|
||||
}
|
||||
9
i18n/atj.json
Normal file
9
i18n/atj.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Benoit Rochon"
|
||||
]
|
||||
},
|
||||
"contributionscores-pages": "Masinahikana",
|
||||
"contributionscores-username": "Icinikasowin"
|
||||
}
|
||||
@@ -1,7 +1,8 @@
|
||||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Mousa"
|
||||
"Mousa",
|
||||
"Alp Er Tunqa"
|
||||
]
|
||||
},
|
||||
"contributionscores": "چالیشماق امتیازلاری",
|
||||
@@ -11,7 +12,7 @@
|
||||
"contributionscores-days": "سون {{PLURAL:$1|گون|$1 گون}}",
|
||||
"contributionscores-allrevisions": "بوتون زامانلار",
|
||||
"contributionscores-score": "امتیاز",
|
||||
"contributionscores-pages": "صحیفهلر",
|
||||
"contributionscores-pages": "صفحهلر",
|
||||
"contributionscores-changes": "دَییشمهلر",
|
||||
"contributionscores-username": "آد",
|
||||
"contributionscores-invalidusername": "گئچرسیز ایستیفادهچی آدی",
|
||||
|
||||
@@ -2,16 +2,18 @@
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Assele",
|
||||
"Haqmar"
|
||||
"Haqmar",
|
||||
"Sagan"
|
||||
]
|
||||
},
|
||||
"contributionscores": "Индергән өлөштәрҙе баһалау",
|
||||
"contributionscores-desc": "Мәғлүмәттәр базаһынан [[Special:ContributionScores|иң ҙур өлөш индергән ҡатнашыусыларҙы]] билдәләй",
|
||||
"contributionscores-info": "Баһа түбәндәге өлөштәрҙе ҡушыу аша иҫәпләнә:\n* 1 мәрәй — һәр айырым битте мөхәррирләү өсөн;\n* 2 * ( (дөйөм үҙгәртеүҙәр һаны) - (барыһы төрлө биттәр) ) айырмаһының тамыры.\nБаһаны иҫәпләгән ваҡытта, шулай итеп, дөйөм үҙгәртеүҙәр һанына ҡарағында үҙгәртеүҙәрҙең төрлөлөгө ҙурыраҡ йоғонто яһай.",
|
||||
"contributionscores-top": "(Тәүге $1)",
|
||||
"contributionscores-days": "Һуңғы {{PLURAL:$1|1=көн|$1 көн}}",
|
||||
"contributionscores-days": "{{PLURAL:$1|1=Һуңғы көн}}",
|
||||
"contributionscores-allrevisions": "Бөтәһе",
|
||||
"contributionscores-score": "Баһа",
|
||||
"contributionscores-rank": "Ранг",
|
||||
"contributionscores-pages": "Биттәр",
|
||||
"contributionscores-changes": "Үҙгәртеүҙәр",
|
||||
"contributionscores-username": "Ҡатнашыусы исеме",
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"DCLXVI"
|
||||
"DCLXVI",
|
||||
"StanProg"
|
||||
]
|
||||
},
|
||||
"contributionscores": "Потребителска класация",
|
||||
"contributionscores-top": "(Най-добрите $1)",
|
||||
"contributionscores-days": "{{PLURAL:$1|Последния ден|Последните $1 дни}}",
|
||||
"contributionscores-allrevisions": "Всички редакции",
|
||||
"contributionscores-allrevisions": "За всички времена",
|
||||
"contributionscores-score": "Точки",
|
||||
"contributionscores-pages": "Страници",
|
||||
"contributionscores-changes": "Редакции",
|
||||
|
||||
8
i18n/bgn.json
Normal file
8
i18n/bgn.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Ibrahim khashrowdi"
|
||||
]
|
||||
},
|
||||
"contributionscores-username": "کار زوروکین نام"
|
||||
}
|
||||
@@ -3,7 +3,8 @@
|
||||
"authors": [
|
||||
"Bellayet",
|
||||
"Wikitanvir",
|
||||
"Aftab1995"
|
||||
"Aftab1995",
|
||||
"Aftabuzzaman"
|
||||
]
|
||||
},
|
||||
"contributionscores": "অনুদানের স্কোর",
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
},
|
||||
"contributionscores": "Skor an degasadennoù",
|
||||
"contributionscores-desc": "Furchal a ra er bank roadennoù evit kavout [[Special:ContributionScores|kementadoù brasañ a zegasadennoù an implijerien]]",
|
||||
"contributionscores-info": "Setu penaos e vez jedet ar poenterezh :\n*Ur (1) poent evit pep pajenn kemmet\n*Gwrizienn garrez (an niver hollek a gemmoù graet) - (niver a bajennoù disheñvel) * 2\nLakaat a ra ar formulenn-se al liesseurted war wel kentoc'h eget ar c'hementad.\nE berr gomzoù e talvez da jediñ an niver a bajennoù disheñvel kemmet en ur sellet a-dostoc'h ouzh ar c'hementadoù bras a gemmoù a seller outo evel pajennoù zo gwelloc'h an danvez anezho.",
|
||||
"contributionscores-info": "Da gentañ-penn e vuzul ar poenterezh an unpajennoù bet kemmet, en ur gemer e kont ar c'hementadoù kemmoù brasañ.",
|
||||
"contributionscores-top": "(An $1 uhelañ)",
|
||||
"contributionscores-days": "E-kerzh an {{PLURAL:$1|devezh|$1 devezh}} diwezhañ",
|
||||
"contributionscores-allrevisions": "A-viskoazh",
|
||||
|
||||
@@ -2,16 +2,18 @@
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"CERminator",
|
||||
"KWiki"
|
||||
"KWiki",
|
||||
"Srdjan m"
|
||||
]
|
||||
},
|
||||
"contributionscores": "Rezultat doprinosa",
|
||||
"contributionscores-desc": "Upit u wiki bazu podataka za najveći [[Special:ContributionScores|količinski korisnički doprinos]]",
|
||||
"contributionscores-info": "Rezultati se računaju na slijedeći naćin:\n*Jedan (1) bod za svaku pojedinu stranicu koja se uredi\n*Drugi korijen od (ukupno načinjenih promjena) - (ukupno pojedinih stranica) * 2\nRezultati koji se dobiju na ovaj način naglašavaju raznolikost uređivanja više od količine uređivanja.\nU osnovi, ovaj rezultat mjeri naročito broj uređivanja pojedinačnih stranica, sa utjecajem velike količine uređivanja - smatra se da utječe na bolji kvalitet stranice.",
|
||||
"contributionscores-info": "Ovaj rezultat prvenstveno mjeri broj uređivanja pojedinačnih stranica, uzimajući u obzir velike količine uređivanja.",
|
||||
"contributionscores-top": "(Najboljih $1)",
|
||||
"contributionscores-days": "{{PLURAL:$1|Posljednji $1 dan|Posljednja $1 dana|Posljednjih $1 dana}}",
|
||||
"contributionscores-allrevisions": "Svo vrijeme",
|
||||
"contributionscores-score": "Rezultat",
|
||||
"contributionscores-rank": "Rang",
|
||||
"contributionscores-pages": "Stranice",
|
||||
"contributionscores-changes": "Izmjene",
|
||||
"contributionscores-username": "Korisničko ime",
|
||||
|
||||
8
i18n/csb.json
Normal file
8
i18n/csb.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Kirsan"
|
||||
]
|
||||
},
|
||||
"contributionscores-username": "Pòzwa brëkòwnika"
|
||||
}
|
||||
@@ -8,11 +8,11 @@
|
||||
"Protnet"
|
||||
]
|
||||
},
|
||||
"contributionscores": "Αποτελέσματα Συνεισφοράς",
|
||||
"contributionscores-desc": "Εξετάζει την βάση δεδομένων βίκι για τον σημαντικότερο [[Special:ContributionScores|όγκο συνεισφορών χρήστη]]",
|
||||
"contributionscores-info": "Το σκορ μετρά κυρίως επεξεργασίες μοναδικών σελίδων, λαμβάνοντας υπ' όψιν και τον υψηλό όγκο επεξεργασίας.",
|
||||
"contributionscores": "Βαθμολογίες συνεισφοράς",
|
||||
"contributionscores-desc": "Εξετάζει την βάση δεδομένων του wiki για τον υψηλότερο [[Special:ContributionScores|όγκο συνεισφορών χρήστη]]",
|
||||
"contributionscores-info": "Η βαθμολογία μετρά πρωτίστως μοναδικές σελίδες που έχουν τύχει επεξεργασίας, λαμβάνοντας υπ' όψιν και τον υψηλό όγκο επεξεργασίας.",
|
||||
"contributionscores-top": "(Πρώτοι $1)",
|
||||
"contributionscores-days": "Τελευταίες {{PLURAL:$1|ημέρα|$1 ημέρες}}",
|
||||
"contributionscores-days": "{{PLURAL:$1|Τελευταία ημέρα|Τελευταίες $1 ημέρες}}",
|
||||
"contributionscores-allrevisions": "Όλων των εποχών",
|
||||
"contributionscores-score": "Βαθμολογία",
|
||||
"contributionscores-rank": "Κατάταξη",
|
||||
|
||||
32
i18n/en.json
32
i18n/en.json
@@ -1,18 +1,18 @@
|
||||
{
|
||||
"@metadata": {
|
||||
"authors": []
|
||||
},
|
||||
"contributionscores": "Contribution scores",
|
||||
"contributionscores-desc": "Polls the wiki database for highest [[Special:ContributionScores|user contribution volume]]",
|
||||
"contributionscores-info": "The score primarily measures unique pages edited, with consideration for high edit volume.",
|
||||
"contributionscores-top": "(Top $1)",
|
||||
"contributionscores-days": "Last {{PLURAL:$1|day|$1 days}}",
|
||||
"contributionscores-allrevisions": "All time",
|
||||
"contributionscores-score": "Score",
|
||||
"contributionscores-rank": "Rank",
|
||||
"contributionscores-pages": "Pages",
|
||||
"contributionscores-changes": "Changes",
|
||||
"contributionscores-username": "Username",
|
||||
"contributionscores-invalidusername": "Invalid username",
|
||||
"contributionscores-invalidmetric": "Invalid metric"
|
||||
"@metadata": {
|
||||
"authors": []
|
||||
},
|
||||
"contributionscores": "Contribution scores",
|
||||
"contributionscores-desc": "Polls the wiki database for highest [[Special:ContributionScores|user contribution volume]]",
|
||||
"contributionscores-info": "The score primarily measures unique pages edited, with consideration for high edit volume.",
|
||||
"contributionscores-top": "(Top $1)",
|
||||
"contributionscores-days": "Last {{PLURAL:$1|day|$1 days}}",
|
||||
"contributionscores-allrevisions": "All time",
|
||||
"contributionscores-score": "Score",
|
||||
"contributionscores-rank": "Rank",
|
||||
"contributionscores-pages": "Pages",
|
||||
"contributionscores-changes": "Changes",
|
||||
"contributionscores-username": "Username",
|
||||
"contributionscores-invalidusername": "Invalid username",
|
||||
"contributionscores-invalidmetric": "Invalid metric"
|
||||
}
|
||||
@@ -2,7 +2,8 @@
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Michawiki",
|
||||
"Yekrats"
|
||||
"Yekrats",
|
||||
"Robin van der Vliet"
|
||||
]
|
||||
},
|
||||
"contributionscores": "Poentaro de Kontribuoj",
|
||||
@@ -14,7 +15,7 @@
|
||||
"contributionscores-score": "Poentaro",
|
||||
"contributionscores-pages": "Paĝoj",
|
||||
"contributionscores-changes": "Ŝanĝoj",
|
||||
"contributionscores-username": "Salutnomo",
|
||||
"contributionscores-username": "Uzantnomo",
|
||||
"contributionscores-invalidusername": "Nevalida salutnomo",
|
||||
"contributionscores-invalidmetric": "Nevalida parametro"
|
||||
}
|
||||
|
||||
10
i18n/fi.json
10
i18n/fi.json
@@ -4,17 +4,21 @@
|
||||
"Crt",
|
||||
"Nike",
|
||||
"Str4nd",
|
||||
"Stryn"
|
||||
"Stryn",
|
||||
"Pxos",
|
||||
"Pyscowicz"
|
||||
]
|
||||
},
|
||||
"contributionscores": "Muokkauspisteet",
|
||||
"contributionscores-info": "Pisteet lasketaan seuraavalla kaavalla:\n* Yksi piste jokaisesta muokatusta sivusta\n* Neliöjuuri (muokkausten määrä) - (muokatut sivut) * 2\n\nNäin laskettuna pisteet painottavat monipuolisuutta määrän sijaan. Käytännössä pisteet mittaavat muokattujen sivujen määrää, ottaen huomioon muutosten suuren määrän.",
|
||||
"contributionscores-info": "Pistemäärä kuvaa ensisijaisesti muokattujen sivujen lukumäärää, mutta ottaa huomioon myös suuren muokkausmäärän yleisesti.",
|
||||
"contributionscores-top": "(top $1)",
|
||||
"contributionscores-days": "{{PLURAL:$1|Viime päivä|Viimeiset $1 päivää}}",
|
||||
"contributionscores-allrevisions": "Koko ajalta",
|
||||
"contributionscores-score": "Pisteet",
|
||||
"contributionscores-rank": "Sija",
|
||||
"contributionscores-pages": "Sivuja",
|
||||
"contributionscores-changes": "Muutoksia",
|
||||
"contributionscores-username": "Käyttäjätunnus",
|
||||
"contributionscores-invalidusername": "Virheellinen käyttäjätunnus"
|
||||
"contributionscores-invalidusername": "Virheellinen käyttäjätunnus",
|
||||
"contributionscores-invalidmetric": "Virheellinen muuttuja"
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
},
|
||||
"contributionscores": "Pointage des contributions",
|
||||
"contributionscores-desc": "Scrute la base de données wiki pour les plus importants [[Special:ContributionScores|volumes de contribution des utilisateurs]]",
|
||||
"contributionscores-info": "Le score mesure en priorité les pages uniques modifiées, en prenant en compte les gros volumes de modification.",
|
||||
"contributionscores-info": "Le pointage mesure en priorité les pages uniques modifiées, en prenant en compte les gros volumes de modification.",
|
||||
"contributionscores-top": "(Les $1 plus élevés)",
|
||||
"contributionscores-days": "Dans {{PLURAL:$1|le dernier jour|les derniers $1 jours}}",
|
||||
"contributionscores-allrevisions": "Tout le temps",
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Snakesteuben",
|
||||
"Robin0van0der0vliet"
|
||||
"Robin0van0der0vliet",
|
||||
"Robin van der Vliet"
|
||||
]
|
||||
},
|
||||
"contributionscores-username": "Brûkersnamme"
|
||||
|
||||
@@ -3,14 +3,15 @@
|
||||
"authors": [
|
||||
"Ansumang",
|
||||
"Kaustubh",
|
||||
"Siddhartha Ghai"
|
||||
"Siddhartha Ghai",
|
||||
"Sfic"
|
||||
]
|
||||
},
|
||||
"contributionscores": "योगदान संख्या",
|
||||
"contributionscores-desc": "[[Special:ContributionScores|सदस्य योगदान संख्या]]के अनुसार विकि डाटाबेस दर्शाता हैं",
|
||||
"contributionscores-top": "(पहले $1)",
|
||||
"contributionscores-days": "आखिरी {{PLURAL:$1|$1 दिन}}",
|
||||
"contributionscores-allrevisions": "सभी अवतरण",
|
||||
"contributionscores-allrevisions": "हर समय",
|
||||
"contributionscores-score": "गुण",
|
||||
"contributionscores-pages": "पृष्ठ",
|
||||
"contributionscores-changes": "बदलाव",
|
||||
|
||||
8
i18n/io.json
Normal file
8
i18n/io.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Joao Xavier"
|
||||
]
|
||||
},
|
||||
"contributionscores-days": "Lasta {{PLURAL:$1|dio|$1 dii}}"
|
||||
}
|
||||
@@ -2,7 +2,8 @@
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"S.Örvarr.S",
|
||||
"Snævar"
|
||||
"Snævar",
|
||||
"Sveinn í Felli"
|
||||
]
|
||||
},
|
||||
"contributionscores": "Framleggjandastig",
|
||||
@@ -12,6 +13,7 @@
|
||||
"contributionscores-days": "{{PLURAL:$1|Síðasta $1 daginn|Síðustu $1 dagana}}",
|
||||
"contributionscores-allrevisions": "Allan tímann",
|
||||
"contributionscores-score": "Stigafjöldi",
|
||||
"contributionscores-rank": "Sæti",
|
||||
"contributionscores-pages": "Síður",
|
||||
"contributionscores-changes": "Breytingar",
|
||||
"contributionscores-username": "Notandanafn"
|
||||
|
||||
10
i18n/jv.json
10
i18n/jv.json
@@ -2,17 +2,19 @@
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Meursault2004",
|
||||
"Pras"
|
||||
"Pras",
|
||||
"NoiX180"
|
||||
]
|
||||
},
|
||||
"contributionscores": "Skor Kontribusi",
|
||||
"contributionscores": "Bijining pasumbang",
|
||||
"contributionscores-desc": "Nglakokaké polling (angkèt) ing basis data kanggo [[Special:ContributionScores|volume kontribusi panganggo]]",
|
||||
"contributionscores-info": "Skoré diétung kaya mangkéné:\n* Biji siji (1) per kaca unik sing disunting\n* Oyot (bs. Indonesia ''akar'') saka (Gunggungé Suntingan) - (Gunggungé Kaca-KAca Unik) * 2\nSkor sing diétung miturut cara iki bisa nyerminaké divèrsitas suntingan sadhuwuring volume suntingan.\nSacara dhasar, skor iki utamané ngétung kaca-kaca unik sing disunting, karo mélu nimbangaké volume suntingan dhuwur - diasumsèkaké kwalitas kacané luwih dhuwur.",
|
||||
"contributionscores-top": "(Top $1)",
|
||||
"contributionscores-days": "{{PLURAL:$1|dina|$1 dina}} pungkasan",
|
||||
"contributionscores-allrevisions": "Kabèh Révisi",
|
||||
"contributionscores-allrevisions": "Sasuwéné wektu",
|
||||
"contributionscores-score": "Skor",
|
||||
"contributionscores-pages": "Kaca-kaca",
|
||||
"contributionscores-rank": "Rangking",
|
||||
"contributionscores-pages": "Kaca",
|
||||
"contributionscores-changes": "Owah-owahan",
|
||||
"contributionscores-username": "Jeneng panganggo",
|
||||
"contributionscores-invalidusername": "Jeneng panganggo ora sah",
|
||||
|
||||
20
i18n/kab.json
Normal file
20
i18n/kab.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Belkacem77"
|
||||
]
|
||||
},
|
||||
"contributionscores": "Agmuḍ n uttekki",
|
||||
"contributionscores-desc": "Ad yesleḍ taffa n isefka n iwikiyen ɣef [[Special:ContributionScores|tesmekta n ittekkiyen n iseqdacen]]",
|
||||
"contributionscores-info": "Agmuḍ ad yektil di tazwara isebtar isufen yettwasnifel, ɣas ulama ddeqs n tesmekta n usinifel i yellan.",
|
||||
"contributionscores-top": "($1 imezwura)",
|
||||
"contributionscores-days": "Deg {{PLURAL:$1|wass aneggaru|$1 n wussan ineggura}}",
|
||||
"contributionscores-allrevisions": "Si tazwara",
|
||||
"contributionscores-score": "Agmuḍ",
|
||||
"contributionscores-rank": "Amḍiq",
|
||||
"contributionscores-pages": "Isebtar",
|
||||
"contributionscores-changes": "Asnifel",
|
||||
"contributionscores-username": "Isem n useqdac",
|
||||
"contributionscores-invalidusername": "Yir isem n useqdac",
|
||||
"contributionscores-invalidmetric": "Yir asekkat"
|
||||
}
|
||||
@@ -12,7 +12,8 @@
|
||||
"contributionscores-days": "{{PLURAL:$1|ថ្ងៃ|$1 ថ្ងៃ}}ចុងក្រោយ",
|
||||
"contributionscores-allrevisions": "គ្រប់ពេល",
|
||||
"contributionscores-score": "ពិន្ទុ",
|
||||
"contributionscores-pages": "ទំព័រនានា",
|
||||
"contributionscores-rank": "ចំណាត់ថ្នាក់",
|
||||
"contributionscores-pages": "ទំព័រ",
|
||||
"contributionscores-changes": "បន្លាស់ប្ដូរ",
|
||||
"contributionscores-username": "អត្តនាម",
|
||||
"contributionscores-invalidusername": "អត្តនាមមិនត្រឹមត្រូវ"
|
||||
|
||||
@@ -8,11 +8,12 @@
|
||||
},
|
||||
"contributionscores": "Biedraaghuuegdjes",
|
||||
"contributionscores-desc": "Guuef 'n euverzich van [[Special:ContributionScores|gebroekers mit de meiste biedraag]] inne wiki.",
|
||||
"contributionscores-info": "Huuegdjes waere es vólg beraekendj:\n* Ein (1) pöntj veur edere apaart bewèrkdje pazjena\n* Wórtel van (totaal aantal gemaakdje bewèrkinger) - (totaal aantal apaarte pazjena's) × 2\nI huuegdjes die op dees wies beraekendj waere wäög divers bewèrkingsgedraag zwaorder es bewèrkingsvolume. In feite mèt dees huuegdje veurnamelik 't aantal apaarte pazjena's die zeen bewèrk, wiele 'n grót aantal bewèrkinger waal in ach wuuertj genaome, mit de aannaam det 't 'ne pazjena van 'n huuegere kwaliteit is.",
|
||||
"contributionscores-info": "Dees score mètj veurnamelik 't aantaal unieke pagina's det is bewirk, dewiel e groeat aantaal bewirkinge waal in ach weurt genómme.",
|
||||
"contributionscores-top": "(Top $1)",
|
||||
"contributionscores-days": "{{PLURAL:$1|Lesten daag|Leste $1 daag}}",
|
||||
"contributionscores-allrevisions": "Alle verzies",
|
||||
"contributionscores-score": "Puntje",
|
||||
"contributionscores-rank": "Rang",
|
||||
"contributionscores-pages": "Pagina's",
|
||||
"contributionscores-changes": "Bewèrkinger",
|
||||
"contributionscores-username": "Gebroeker",
|
||||
|
||||
8
i18n/lki.json
Normal file
8
i18n/lki.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Lakzon"
|
||||
]
|
||||
},
|
||||
"contributionscores-pages": "وةڵگةل"
|
||||
}
|
||||
@@ -5,8 +5,11 @@
|
||||
"Hugo.arg"
|
||||
]
|
||||
},
|
||||
"contributionscores-top": "(Top $1)",
|
||||
"contributionscores-days": "{{PLURAL:$1|Paskutinė diena|Paskutinės $1 dienos}}",
|
||||
"contributionscores-allrevisions": "Viso laiko",
|
||||
"contributionscores-score": "Rezultatas",
|
||||
"contributionscores-rank": "Rangas",
|
||||
"contributionscores-pages": "Puslapiai",
|
||||
"contributionscores-changes": "Pakeitimai",
|
||||
"contributionscores-username": "Naudotojo vardas",
|
||||
|
||||
@@ -9,11 +9,12 @@
|
||||
},
|
||||
"contributionscores": "योगदान संख्या",
|
||||
"contributionscores-desc": "[[Special:ContributionScores|सदस्य योगदान संख्येनुसार]] विकि डाटाबेस दर्शवितो",
|
||||
"contributionscores-info": "गुण खालीलप्रमाणे मोजले जातील:\n*प्रत्येक स्वतंत्र पानासाठी १ गुण\n*(एकूण संपादने) - (एकूण स्वतंत्र पाने) * 2 चे वर्गमूळ\nअशा प्रकारे मोजलेले गुण हे संपादन विविधतेला संपादन संख्येपेक्षा जास्त महत्व देतात. मुख्यत्वे, हे गुण जास्त संपादन संख्या मोजून स्वतंत्र पानांची संपादने काढतात.",
|
||||
"contributionscores-info": "गुण देतांना, प्राथमिकरित्या, अनन्य पानांचे संपादनासह,उच्च संपादन-आवाका लक्षात घेतल्या जातो.",
|
||||
"contributionscores-top": "(गुणानुक्रमे पहिले $1)",
|
||||
"contributionscores-days": "{{PLURAL:$1|शेवटचा दिवस|शेवटचे $1 दिवस}}",
|
||||
"contributionscores-allrevisions": "सर्व आवर्तने",
|
||||
"contributionscores-allrevisions": "सर्ववेळची",
|
||||
"contributionscores-score": "गुण",
|
||||
"contributionscores-rank": "गुणानुक्रम",
|
||||
"contributionscores-pages": "पाने",
|
||||
"contributionscores-changes": "बदल",
|
||||
"contributionscores-username": "सदस्यनाव",
|
||||
|
||||
8
i18n/my.json
Normal file
8
i18n/my.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Ninjastrikers"
|
||||
]
|
||||
},
|
||||
"contributionscores-pages": "စာမျက်နှာများ"
|
||||
}
|
||||
@@ -3,7 +3,8 @@
|
||||
"authors": [
|
||||
"Nghtwlkr",
|
||||
"Helland",
|
||||
"Danmichaelo"
|
||||
"Danmichaelo",
|
||||
"Jon Harald Søby"
|
||||
]
|
||||
},
|
||||
"contributionscores": "Bidragspoeng",
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
]
|
||||
},
|
||||
"contributionscores": "Puntatge de las contribucions",
|
||||
"contributionscores-desc": "Espia la banca de donadas wiki pels [[Special:ContributionScores|utilizaires contribuissent mai]]",
|
||||
"contributionscores-desc": "Espia la basa de donadas wiki pels [[Special:ContributionScores|utilizaires que contribuisson mai]]",
|
||||
"contributionscores-info": "La marca mesura en prioritat las paginas unicas modificadas, en prenent en compte los gròsses volums de modificacion.",
|
||||
"contributionscores-top": "(Melhor $1)",
|
||||
"contributionscores-days": "Dins {{PLURAL:$1|lo darrièr jorn|los darrièrs $1 jorns}}",
|
||||
|
||||
8
i18n/pnb.json
Normal file
8
i18n/pnb.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"BukhariSaeed"
|
||||
]
|
||||
},
|
||||
"contributionscores-username": "ورتن آلے دا ناں"
|
||||
}
|
||||
@@ -1,11 +1,14 @@
|
||||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Ahmed-Najib-Biabani-Ibrahimkhel"
|
||||
"Ahmed-Najib-Biabani-Ibrahimkhel",
|
||||
"Baloch Khan"
|
||||
]
|
||||
},
|
||||
"contributionscores-days": "وروستۍ {{PLURAL:$1|ورځ|$1 ورځې}}",
|
||||
"contributionscores-allrevisions": "هر وخت",
|
||||
"contributionscores-score": "سکور (ګولونه)",
|
||||
"contributionscores-rank": "رتبه",
|
||||
"contributionscores-pages": "مخونه",
|
||||
"contributionscores-changes": "بدلونونه",
|
||||
"contributionscores-username": "کارن-نوم",
|
||||
|
||||
@@ -5,16 +5,20 @@
|
||||
"Crazymadlover",
|
||||
"Eduardo.mps",
|
||||
"Giro720",
|
||||
"Luckas"
|
||||
"Luckas",
|
||||
"HenriqueCrang",
|
||||
"!Silent",
|
||||
"Opraco"
|
||||
]
|
||||
},
|
||||
"contributionscores": "Pontuação de contribuições",
|
||||
"contributionscores-desc": "Inquire a base de dados wiki sobre os mais altos [[Special:ContributionScores|volumes de contribuição dos utilizadores]]",
|
||||
"contributionscores-info": "As pontuações são calculadas da seguinte forma:\n*1 ponto por cada página única editada\n*Raiz quadrada de (Total de Edições Feitas) - (Total de Páginas Únicas) * 2\nPontuações calculadas desta forma pesam a diversidade de edições relativamente ao volume de edições. Basicamente, esta pontuação mede primariamente páginas únicas editadas, com consideração pelo alto volume de edições - assumindo serem páginas de qualidade mais alta.",
|
||||
"contributionscores-top": "(Iniciais $1)",
|
||||
"contributionscores-days": "Últimos {{PLURAL:$1|día|$1 días}}",
|
||||
"contributionscores-info": "A pontuação mede, principalmente, as páginas únicas editadas, tendo em consideração o alto volume de edições.",
|
||||
"contributionscores-top": "(top $1)",
|
||||
"contributionscores-days": "{{PLURAL:$1|Último dia|Últimos $1 dias}}",
|
||||
"contributionscores-allrevisions": "Desde sempre",
|
||||
"contributionscores-score": "Pontuação",
|
||||
"contributionscores-rank": "Classificação",
|
||||
"contributionscores-pages": "Páginas",
|
||||
"contributionscores-changes": "Mudanças",
|
||||
"contributionscores-username": "Nome de usuário",
|
||||
|
||||
@@ -6,12 +6,13 @@
|
||||
"Lockal",
|
||||
"Okras",
|
||||
"Ole Yves",
|
||||
"Александр Сигачёв"
|
||||
"Александр Сигачёв",
|
||||
"Kaganer"
|
||||
]
|
||||
},
|
||||
"contributionscores": "Оценка вклада",
|
||||
"contributionscores-desc": "Определяет из базы данных [[Special:ContributionScores|участников с наибольшим числом правок]]",
|
||||
"contributionscores-info": "Оценка рассчитывается в первую очередь по количеству отредактированных уникальных страниц, с учётом большего объёма редактирования.",
|
||||
"contributionscores-info": "Оценка рассчитывается в первую очередь по количеству отредактированных уникальных страниц, с учётом величины сделанных изменений.",
|
||||
"contributionscores-top": "(лучшие $1)",
|
||||
"contributionscores-days": "{{PLURAL:$1|1=Последний день|Последний $1 день|Последние $1 дня|Последние $1 дней}}",
|
||||
"contributionscores-allrevisions": "За всё время",
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"Sarvaturi"
|
||||
]
|
||||
},
|
||||
"contributionscores": "Punteggiu pî cuntribbuta",
|
||||
"contributionscores": "Punteggiu pî cuntribbuti",
|
||||
"contributionscores-desc": "Addumanna â basi di dati dâ wiki circannu l’utenti cu [[Special:ContributionScores|vulumi di cuntribbutu]] cchiù granni",
|
||||
"contributionscores-info": "Stu punteggiu misura principalmenti la quantità di pàggini canciati, tinennu macari cuntu dî vulumi dî canciamenti granni.",
|
||||
"contributionscores-top": "({{PLURAL:$1|Lu megghiu|Li $1 megghiu}})",
|
||||
|
||||
9
i18n/sd.json
Normal file
9
i18n/sd.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Mehtab ahmed"
|
||||
]
|
||||
},
|
||||
"contributionscores-pages": "صفحا",
|
||||
"contributionscores-changes": "تبديليون"
|
||||
}
|
||||
@@ -4,13 +4,16 @@
|
||||
"Milicevic01",
|
||||
"Rancher",
|
||||
"Sasa Stefanovic",
|
||||
"Михајло Анђелковић"
|
||||
"Михајло Анђелковић",
|
||||
"Zoranzoki21",
|
||||
"Acamicamacaraca"
|
||||
]
|
||||
},
|
||||
"contributionscores-top": "(првих $1)",
|
||||
"contributionscores-days": "{{PLURAL:$1|1=Последњег дана|Последњих $1 дана}}",
|
||||
"contributionscores-allrevisions": "Свих времена",
|
||||
"contributionscores-score": "Оцена",
|
||||
"contributionscores-score": "Резултат",
|
||||
"contributionscores-rank": "Ранг",
|
||||
"contributionscores-pages": "Странице",
|
||||
"contributionscores-changes": "Измене",
|
||||
"contributionscores-username": "Корисничко име",
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"contributionscores-score": "Peunteun",
|
||||
"contributionscores-pages": "Kaca",
|
||||
"contributionscores-changes": "Parobahan",
|
||||
"contributionscores-username": "Landihan",
|
||||
"contributionscores-username": "Sandiasma",
|
||||
"contributionscores-invalidusername": "Pamaké teu cocog",
|
||||
"contributionscores-invalidmetric": "matrik teu cocog"
|
||||
}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Woraponboonkerd"
|
||||
"Woraponboonkerd",
|
||||
"Ans"
|
||||
]
|
||||
},
|
||||
"contributionscores": "คะแนนการแก้ไข",
|
||||
@@ -9,6 +10,7 @@
|
||||
"contributionscores-info": "วิธีการคิดคะแนนเป็นดังต่อไปนี้:\n* หนึ่ง (1) คะแนนต่อจำนวนหน้าที่เข้าร่วมแก้ไข (ชื่อของหน้าไม่ซ้ำกัน)\n* รากที่สองของจำนวนการแก้ไขทั้งหมด - จำนวนหน้าทั้งหมดที่ร่วมแก้ไข * 2\nคะแนนจะถูกคิดโดยให้น้ำหนักของการแก้ไขที่หลากหลายมากกว่าจำนวนการแก้ไข\nโดยทั่วไป คะแนนนี้ชี้วัดถึงจำนวนหน้าต่างๆ ที่เข้าร่วมแก้ไข โดยคำนึงถึงจำนวนการแก้ไขทั้งหมดด้วย จึงคาดการณ์ได้ว่าจะทำให้มีหน้าที่มีคุณภาพสูงขึ้น",
|
||||
"contributionscores-days": "$1 {{PLURAL:$1|วัน|วัน}} ที่แล้ว",
|
||||
"contributionscores-score": "คะแนน",
|
||||
"contributionscores-rank": "การจัดอันดับ",
|
||||
"contributionscores-pages": "จำนวนหน้า",
|
||||
"contributionscores-changes": "จำนวนการเปลี่ยนแปลง",
|
||||
"contributionscores-username": "ชื่อผู้ใช้",
|
||||
|
||||
@@ -6,11 +6,12 @@
|
||||
},
|
||||
"contributionscores": "Кертем билгеләү",
|
||||
"contributionscores-desc": "Хәтердән [[Special:ContributionScores|иң зур тәрҗемә ясаучы кулланучыларны]] билгели.",
|
||||
"contributionscores-info": "Билгеләр кую астагы критерийларга туры килү нәтиҗәсендә билгеләнә:\n* 1 Һәрбер аерым бер тәрҗемә өчен билге\n* 2 Гомуми тәрҗемәләр һәм һәрбер аерым бит аермасының тамыр асты\nШуның нәтиҗәсендә сезнең тәрҗемәләрегезгә тагын да зуррак билге куела.",
|
||||
"contributionscores-info": "Билгеләр кую, беренче чиратта, үзгәртелгән мәкаләләр санына һәм аларның күләменә карап бирелә.",
|
||||
"contributionscores-top": "(Иң әйбәт $1)",
|
||||
"contributionscores-days": "{{PLURAL:$1|Соңгы $1 көн өчен}}",
|
||||
"contributionscores-allrevisions": "Барлык үзгәртүләр",
|
||||
"contributionscores-days": "Соңгы {{PLURAL:$1|$1 көн өчен}}",
|
||||
"contributionscores-allrevisions": "Бөтен вакыт өчен",
|
||||
"contributionscores-score": "Билге",
|
||||
"contributionscores-rank": "Ранг",
|
||||
"contributionscores-pages": "Битләр саны",
|
||||
"contributionscores-changes": "Үзгәртүләр",
|
||||
"contributionscores-username": "Кулланучы исеме",
|
||||
|
||||
3293
package-lock.json
generated
Normal file
3293
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
13
package.json
Normal file
13
package.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"test": "grunt test"
|
||||
},
|
||||
"devDependencies": {
|
||||
"grunt": "1.4.0",
|
||||
"grunt-banana-checker": "0.4.0",
|
||||
"grunt-contrib-jshint": "0.11.3",
|
||||
"grunt-jscs": "2.5.0",
|
||||
"grunt-jsonlint": "1.0.7"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user