<exclude name="MediaWiki.Commenting.FunctionComment.MissingParamTag" />
<exclude name="MediaWiki.Commenting.FunctionComment.MissingReturn" />
<exclude name="MediaWiki.Commenting.FunctionComment.ExtraParamComment" />
+ <exclude name="MediaWiki.Commenting.FunctionComment.DefaultNullTypeParam" />
<exclude name="MediaWiki.Commenting.FunctionComment.WrongStyle" />
+ <exclude name="MediaWiki.Commenting.PhpunitAnnotations.NotClassTrait" />
<exclude name="MediaWiki.Commenting.IllegalSingleLineComment.IllegalSingleLineCommentStart" />
<exclude name="MediaWiki.Commenting.IllegalSingleLineComment.IllegalSingleLineCommentEnd" />
<exclude name="MediaWiki.ControlStructures.AssignmentInControlStructures.AssignmentInControlStructures" />
<rule ref="MediaWiki.Usage.AssignmentInReturn.AssignmentInReturn">
<exclude-pattern>*/tests/phpunit/*\.php</exclude-pattern>
</rule>
+ <rule ref="MediaWiki.Usage.ForbiddenFunctions.escapeshellarg">
+ <!--
+ Whitelist existing violations, but enable the sniff to prevent
+ any new occurrences.
+ -->
+ <exclude-pattern>*/includes/libs/filebackend/FSFileBackend\.php</exclude-pattern>
+ <exclude-pattern>*/includes/shell/Command\.php</exclude-pattern>
+ <exclude-pattern>*/includes/shell/Shell\.php</exclude-pattern>
+ <exclude-pattern>*/tests/phpunit/structure/StructureTest\.php</exclude-pattern>
+ </rule>
+ <rule ref="MediaWiki.Usage.ForbiddenFunctions.exec">
+ <!--
+ Whitelist existing violations, but enable the sniff to prevent
+ any new occurrences.
+ -->
+ <exclude-pattern>*/tests/phpunit/structure/StructureTest\.php</exclude-pattern>
+ </rule>
+ <rule ref="MediaWiki.Usage.ForbiddenFunctions.popen">
+ <!--
+ Whitelist existing violations, but enable the sniff to prevent
+ any new occurrences.
+ -->
+ <exclude-pattern>*/includes/GlobalFunctions\.php</exclude-pattern>
+ <exclude-pattern>*/includes/libs/filebackend/FSFileBackend\.php</exclude-pattern>
+ <exclude-pattern>*/maintenance/7zip\.inc</exclude-pattern>
+ <exclude-pattern>*/maintenance/populateImageSha1\.php</exclude-pattern>
+ </rule>
+ <rule ref="MediaWiki.Usage.ForbiddenFunctions.proc_open">
+ <!--
+ Whitelist existing violations, but enable the sniff to prevent
+ any new occurrences.
+ -->
+ <exclude-pattern>includes/export/DumpPipeOutput\.php</exclude-pattern>
+ <exclude-pattern>includes/resourceloader/ResourceLoaderImage\.php</exclude-pattern>
+ <exclude-pattern>includes/shell/Command\.php</exclude-pattern>
+ <exclude-pattern>includes/tidy/RaggettExternal\.php</exclude-pattern>
+ <exclude-pattern>maintenance/dumpTextPass\.php</exclude-pattern>
+ <exclude-pattern>maintenance/mysql\.php</exclude-pattern>
+ <exclude-pattern>maintenance/storage/recompressTracked\.php</exclude-pattern>
+ <exclude-pattern>tests/parser/editTests\.php</exclude-pattern>
+ </rule>
+ <rule ref="MediaWiki.Usage.ForbiddenFunctions.shell_exec">
+ <!--
+ Whitelist existing violations, but enable the sniff to prevent
+ any new occurrences.
+ -->
+ <exclude-pattern>*/maintenance/mwdocgen\.php</exclude-pattern>
+ <exclude-pattern>*/maintenance/updateCredits\.php</exclude-pattern>
+ </rule>
+ <rule ref="MediaWiki.Usage.ForbiddenFunctions.system">
+ <!--
+ Whitelist existing violations, but enable the sniff to prevent
+ any new occurrences.
+ -->
+ <exclude-pattern>*/maintenance/mwdocgen\.php</exclude-pattern>
+ </rule>
<file>.</file>
<arg name="encoding" value="UTF-8"/>
<arg name="extensions" value="php,php5,inc,sample"/>
framework that it enables. Some extensions mistakenly used this to check
whether any AJAX functionality at all should be enabled, further making this
problematic to retain.
+* $wgDBmysql5 is now deprecated, and will be removed in a future version. It
+ has been marked as experimental ever since it was introduced.
=== New features in 1.31 ===
* (T76554) User sub-pages named ….json are now protected in the same way that
* New configuration variable has been added: $wgCookieSetOnIpBlock.
This determines whether to set a cookie when an IP user is blocked. Doing so means
that a blocked user, even after moving to a new IP address, will still be blocked.
+* The archive table's ar_rev_id field is now unique.
=== New features in 1.32 ===
* (T112474) Generalized the ResourceLoader mechanism for overriding modules
using a particular page during edit previews.
+* (T12331) You can now log page creation events by setting $wgPageCreationLog
+ to true.
* Added 'ApiParseMakeOutputPage' hook.
* (T174313) Added checkbox on Special:ListUsers to display only users in
temporary user groups.
"jakub-onderka/php-parallel-lint": "0.9.2",
"jetbrains/phpstorm-stubs": "dev-master#1b9906084d6635456fcf3f3a01f0d7d5b99a578a",
"justinrainbow/json-schema": "~5.2",
- "mediawiki/mediawiki-codesniffer": "18.0.0",
+ "mediawiki/mediawiki-codesniffer": "20.0.0",
"monolog/monolog": "~1.22.1",
"nikic/php-parser": "3.1.3",
"nmred/kafka-php": "0.1.5",
* Even correct usage may cause failures with Unicode supplementary
* characters (those not in the Basic Multilingual Plane) unless MySQL
* has enhanced their Unicode support.
+ *
+ * @deprecated since 1.31
*/
$wgDBmysql5 = false;
];
/**
- * Maintain a log of newusers at Log/newusers?
+ * Maintain a log of newusers at Special:Log/newusers?
*/
$wgNewUserLog = true;
+/**
+ * Maintain a log of page creations at Special:Log/create?
+ * @since 1.32
+ */
+$wgPageCreationLog = false;
+
/** @} */ # end logging }
/*************************************************************************//**
*
* @param Content $content Content to check
* @param string $filterEntry Domainparts, see makeRegex() for more details
+ * @param string $protocol 'http://' or 'https://'
* @return int 0 if no match or 1 if there's at least one match
*/
- static function matchEntry( Content $content, $filterEntry ) {
+ public static function matchEntry( Content $content, $filterEntry, $protocol = 'http://' ) {
if ( !( $content instanceof TextContent ) ) {
// TODO: handle other types of content too.
// Maybe create ContentHandler::matchFilter( LinkFilter ).
$text = $content->getNativeData();
- $regex = self::makeRegex( $filterEntry );
+ $regex = self::makeRegex( $filterEntry, $protocol );
return preg_match( $regex, $text );
}
*
* @param string $filterEntry URL, if it begins with "*.", it'll be
* replaced to match any subdomain
+ * @param string $protocol 'http://' or 'https://'
+ *
* @return string Regex pattern, for preg_match()
*/
- private static function makeRegex( $filterEntry ) {
- $regex = '!http://';
+ private static function makeRegex( $filterEntry, $protocol ) {
+ $regex = '!' . preg_quote( $protocol );
if ( substr( $filterEntry, 0, 2 ) == '*.' ) {
$regex .= '(?:[A-Za-z0-9.-]+\.|)';
$filterEntry = substr( $filterEntry, 2 );
}
if ( $wgNewUserLog ) {
- // Add a new log type
+ // Add new user log type
$wgLogTypes[] = 'newusers';
$wgLogNames['newusers'] = 'newuserlogpage';
$wgLogHeaders['newusers'] = 'newuserlogpagetext';
$wgLogActionsHandlers['newusers/autocreate'] = NewUsersLogFormatter::class;
}
+if ( $wgPageCreationLog ) {
+ // Add page creation log type
+ $wgLogTypes[] = 'create';
+ $wgLogActionsHandlers['create/create'] = LogFormatter::class;
+}
+
if ( $wgPageLanguageUseDB ) {
$wgLogTypes[] = 'pagelang';
$wgLogActionsHandlers['pagelang/pagelang'] = PageLangLogFormatter::class;
],
[
' ',
- "\xc2\xa0",
- "\xc2\xa0",
- "\xc2\xad"
+ "\u{00A0}",
+ "\u{00A0}",
+ "\u{00AD}"
],
$message
);
'af' => [],
'am' => [],
'ar' => [],
- 'as' => [ "\xe0\xa6\x82", "\xe0\xa6\x81", "\xe0\xa6\x83", "\xe0\xa7\x8e", "ক্ষ " ],
+ 'as' => [ "\u{0982}", "\u{0981}", "\u{0983}", "\u{09CE}", "ক্ষ " ],
'ast' => [ "Ch", "Ll", "Ñ" ], // not in libicu
'az' => [ "Ç", "Ə", "Ğ", "İ", "Ö", "Ş", "Ü" ],
'be' => [ "Ё" ],
'ga' => [],
'gd' => [], // not in libicu
'gl' => [ "Ch", "Ll", "Ñ" ],
- 'gu' => [ "\xe0\xaa\x82", "\xe0\xaa\x83", "\xe0\xaa\x81", "\xe0\xaa\xb3" ],
+ 'gu' => [ "\u{0A82}", "\u{0A83}", "\u{0A81}", "\u{0AB3}" ],
'ha' => [ 'Ɓ', 'Ɗ', 'Ƙ', 'Sh', 'Ts', 'Ƴ' ],
'haw' => [ 'ʻ' ],
'he' => [],
- 'hi' => [ "\xe0\xa4\x82", "\xe0\xa4\x83" ],
+ 'hi' => [ "\u{0902}", "\u{0903}" ],
'hr' => [ "Č", "Ć", "Dž", "Đ", "Lj", "Nj", "Š", "Ž" ],
'hsb' => [ "Č", "Dź", "Ě", "Ch", "Ł", "Ń", "Ř", "Š", "Ć", "Ž" ],
'hu' => [ "Cs", "Dz", "Dzs", "Gy", "Ly", "Ny", "Ö", "Sz", "Ty", "Ü", "Zs" ],
'kk' => [ "Ү", "І" ],
'kl' => [ "Æ", "Ø", "Å" ],
'km' => [
- "រ", "ឫ", "ឬ", "ល", "ឭ", "ឮ", "\xe1\x9e\xbb\xe1\x9f\x86",
- "\xe1\x9f\x86", "\xe1\x9e\xb6\xe1\x9f\x86", "\xe1\x9f\x87",
- "\xe1\x9e\xb7\xe1\x9f\x87", "\xe1\x9e\xbb\xe1\x9f\x87",
- "\xe1\x9f\x81\xe1\x9f\x87", "\xe1\x9f\x84\xe1\x9f\x87",
+ "រ", "ឫ", "ឬ", "ល", "ឭ", "ឮ", "\u{17BB}\u{17C6}",
+ "\u{17C6}", "\u{17B6}\u{17C6}", "\u{17C7}",
+ "\u{17B7}\u{17C7}", "\u{17BB}\u{17C7}",
+ "\u{17C1}\u{17C7}", "\u{17C4}\u{17C7}",
],
- 'kn' => [ "\xe0\xb2\x81", "\xe0\xb2\x83", "\xe0\xb3\xb1", "\xe0\xb3\xb2" ],
- 'kok' => [ "\xe0\xa4\x82", "\xe0\xa4\x83", "ळ", "क्ष" ],
+ 'kn' => [ "\u{0C81}", "\u{0C83}", "\u{0CF1}", "\u{0CF2}" ],
+ 'kok' => [ "\u{0902}", "\u{0903}", "ळ", "क्ष" ],
'ku' => [ "Ç", "Ê", "Î", "Ş", "Û" ], // not in libicu
'ky' => [ "Ё" ],
'la' => [], // not in libicu
'ml' => [],
'mn' => [],
'mo' => [ "Ă", "Â", "Î", "Ș", "Ț" ], // not in libicu
- 'mr' => [ "\xe0\xa4\x82", "\xe0\xa4\x83", "ळ", "क्ष", "ज्ञ" ],
+ 'mr' => [ "\u{0902}", "\u{0903}", "ळ", "क्ष", "ज्ञ" ],
'ms' => [],
'mt' => [ "Ċ", "Ġ", "Għ", "Ħ", "Ż" ],
'nb' => [ "Æ", "Ø", "Å" ],
'no' => [ "Æ", "Ø", "Å" ], // not in libicu. You should probably use nb or nn instead.
'oc' => [], // not in libicu
'om' => [ 'Ch', 'Dh', 'Kh', 'Ny', 'Ph', 'Sh' ],
- 'or' => [ "\xe0\xac\x81", "\xe0\xac\x82", "\xe0\xac\x83", "କ୍ଷ" ],
- 'pa' => [ "\xe0\xa9\x8d" ],
+ 'or' => [ "\u{0B01}", "\u{0B02}", "\u{0B03}", "କ୍ଷ" ],
+ 'pa' => [ "\u{0A4D}" ],
'pl' => [ "Ą", "Ć", "Ę", "Ł", "Ń", "Ó", "Ś", "Ź", "Ż" ],
'pt' => [],
'rm' => [], // not in libicu
'Á', 'Č', 'Ʒ', 'Ǯ', 'Đ', 'Ǧ', 'Ǥ', 'Ǩ', 'Ŋ',
'Š', 'Ŧ', 'Ž', 'Ø', 'Æ', 'Ȧ', 'Ä', 'Ö'
],
- 'si' => [ "\xe0\xb6\x82", "\xe0\xb6\x83", "\xe0\xb6\xa4" ],
+ 'si' => [ "\u{0D82}", "\u{0D83}", "\u{0DA4}" ],
'sk' => [ "Ä", "Č", "Ch", "Ô", "Š", "Ž" ],
'sl' => [ "Č", "Š", "Ž" ],
'smn' => [ "Á", "Č", "Đ", "Ŋ", "Š", "Ŧ", "Ž", "Æ", "Ø", "Å", "Ä", "Ö" ],
'sv@collation=standard' => [ "Å", "Ä", "Ö" ],
'sw' => [],
'ta' => [
- "\xE0\xAE\x82", "ஃ", "க்ஷ", "க்", "ங்", "ச்", "ஞ்", "ட்", "ண்", "த்", "ந்",
+ "\u{0B82}", "ஃ", "க்ஷ", "க்", "ங்", "ச்", "ஞ்", "ட்", "ண்", "த்", "ந்",
"ப்", "ம்", "ய்", "ர்", "ல்", "வ்", "ழ்", "ள்", "ற்", "ன்", "ஜ்", "ஶ்", "ஷ்",
"ஸ்", "ஹ்", "க்ஷ்"
],
- 'te' => [ "\xe0\xb0\x81", "\xe0\xb0\x82", "\xe0\xb0\x83" ],
- 'th' => [ "ฯ", "\xe0\xb9\x86", "\xe0\xb9\x8d", "\xe0\xb8\xba" ],
+ 'te' => [ "\u{0C01}", "\u{0C02}", "\u{0C03}" ],
+ 'th' => [ "ฯ", "\u{0E46}", "\u{0E4D}", "\u{0E3A}" ],
'tk' => [ "Ç", "Ä", "Ž", "Ň", "Ö", "Ş", "Ü", "Ý" ],
'tl' => [ "Ñ", "Ng" ], // not in libicu
'to' => [ "Ng", "ʻ" ],
'vi' => [ "Ă", "Â", "Đ", "Ê", "Ô", "Ơ", "Ư" ],
'vo' => [ "Ä", "Ö", "Ü" ],
'yi' => [
- "\xd7\x91\xd6\xbf", "\xd7\x9b\xd6\xbc", "\xd7\xa4\xd6\xbc",
- "\xd7\xa9\xd7\x82", "\xd7\xaa\xd6\xbc"
+ "\u{05D1}\u{05BF}", "\u{05DB}\u{05BC}", "\u{05E4}\u{05BC}",
+ "\u{05E9}\u{05C2}", "\u{05EA}\u{05BC}"
],
'yo' => [ "Ẹ", "Gb", "Ọ", "Ṣ" ],
'zu' => [],
// with utf8 support, but not unicode property support.
// check that \p{Zs} (space separators) matches
// U+3000 (Ideographic space)
- $regexprop = preg_replace( '/\p{Zs}/u', '', "-\xE3\x80\x80-" );
+ $regexprop = preg_replace( '/\p{Zs}/u', '', "-\u{3000}-" );
Wikimedia\restoreWarnings();
if ( $regexd != '--' || $regexprop != '--' ) {
$this->showError( 'config-pcre-no-utf8' );
return true;
}
- /**
- * Convert a hex string representing a Unicode code point to that code point.
- * @param string $c
- * @return string|false
- */
- protected function unicodeChar( $c ) {
- $c = hexdec( $c );
- if ( $c <= 0x7F ) {
- return chr( $c );
- } elseif ( $c <= 0x7FF ) {
- return chr( 0xC0 | $c >> 6 ) . chr( 0x80 | $c & 0x3F );
- } elseif ( $c <= 0xFFFF ) {
- return chr( 0xE0 | $c >> 12 ) . chr( 0x80 | $c >> 6 & 0x3F ) .
- chr( 0x80 | $c & 0x3F );
- } elseif ( $c <= 0x10FFFF ) {
- return chr( 0xF0 | $c >> 18 ) . chr( 0x80 | $c >> 12 & 0x3F ) .
- chr( 0x80 | $c >> 6 & 0x3F ) .
- chr( 0x80 | $c & 0x3F );
- } else {
- return false;
- }
- }
-
/**
* Check the libicu version
*/
* Note that we use the hex representation to create the code
* points in order to avoid any Unicode-destroying during transit.
*/
- $not_normal_c = $this->unicodeChar( "FA6C" );
- $normal_c = $this->unicodeChar( "242EE" );
+ $not_normal_c = "\u{FA6C}";
+ $normal_c = "\u{242EE}";
$useNormalizer = 'php';
$needsUpdate = false;
'patch-externallinks-el_index_60-drop-default.sql' ],
[ 'runMaintenance', DeduplicateArchiveRevId::class, 'maintenance/deduplicateArchiveRevId.php' ],
[ 'addField', 'change_tag', 'ct_tag_id', 'patch-change_tag-tag_id.sql' ],
+ [ 'addIndex', 'archive', 'ar_revid_uniq', 'patch-archive-ar_rev_id-unique.sql' ],
];
}
'patch-externallinks-el_index_60-drop-default.sql' ],
[ 'runMaintenance', DeduplicateArchiveRevId::class, 'maintenance/deduplicateArchiveRevId.php' ],
[ 'addField', 'change_tag', 'ct_tag_id', 'patch-change_tag-tag_id.sql' ],
+ [ 'addIndex', 'archive', 'ar_revid_uniq', 'patch-archive-ar_rev_id-unique.sql' ],
];
}
[ 'populateExternallinksIndex60' ],
[ 'runMaintenance', DeduplicateArchiveRevId::class, 'maintenance/deduplicateArchiveRevId.php' ],
[ 'addField', 'change_tag', 'ct_tag_id', 'patch-change_tag-tag_id.sql' ],
+ [ 'addIndex', 'archive', 'ar_revid_uniq', 'patch-archive-ar_rev_id-unique.sql' ],
// KEEP THIS AT THE BOTTOM!!
[ 'doRebuildDuplicateFunction' ],
'change_tag_tag_id_id',
'( ct_tag_id, ct_rc_id, ct_rev_id, ct_log_id )'
],
+ [ 'addPgIndex', 'archive', 'ar_revid_uniq', '(ar_rev_id)', 'unique' ],
+ [ 'dropPgIndex', 'archive', 'ar_revid' ], // Probably doesn't exist, but do it anyway.
];
}
}
}
- public function addPgIndex( $table, $index, $type ) {
+ public function addPgIndex( $table, $index, $type, $unique = false ) {
if ( $this->db->indexExists( $table, $index ) ) {
$this->output( "...index '$index' on table '$table' already exists\n" );
} else {
$this->output( "Creating index '$index' on table '$table' $type\n" );
- $this->db->query( "CREATE INDEX $index ON $table $type" );
+ $unique = $unique ? 'UNIQUE' : '';
+ $this->db->query( "CREATE $unique INDEX $index ON $table $type" );
}
}
'patch-externallinks-el_index_60-drop-default.sql' ],
[ 'runMaintenance', DeduplicateArchiveRevId::class, 'maintenance/deduplicateArchiveRevId.php' ],
[ 'addField', 'change_tag', 'ct_tag_id', 'patch-change_tag-tag_id.sql' ],
+ [ 'addIndex', 'archive', 'ar_revid_uniq', 'patch-archive-ar_rev_id-unique.sql' ],
];
}
"config-license-cc-choose": "Escoyer una llicencia Creative Commons personalizada",
"config-email-settings": "Configuración de corréu electrónicu",
"config-enable-email": "Activar el corréu electrónicu de salida",
- "config-enable-email-help": "Si quies que'l corréu electrónicu funcione, les [Config-dbsupport-oracle/manual/en/mail.configuration.php preferencies de corréu de PHP] tienen de tar configuraes correutamente.\nSi nun quies les funciones de corréu electrónicu, puedes desactivales equí.",
+ "config-enable-email-help": "Si quies que'l corréu electrónicu funcione, les [https://secure.php.net/manual/en/mail.configuration.php preferencies de corréu de PHP] tienen de tar configuraes correutamente.\nSi nun quies les funciones de corréu electrónicu, puedes desactivales equí.",
"config-email-user": "Activar el corréu electrónicu ente usuarios",
"config-logo": "URL del logo:",
"config-instantcommons": "Activar Instant Commons",
"config-support-info": "MediaWiki supporta le sequente systemas de base de datos:\n\n$1\n\nSi tu non vide hic infra le systema de base de datos que tu tenta usar, alora seque le instructiones ligate hic supra pro activar le supporto.",
"config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] es le systema primari pro MediaWiki e le melio supportate. MediaWiki functiona anque con [{{int:version-db-mariadb-url}} MariaDB] e con [{{int:version-db-percona-url}} Percona Server], le quales es compatibile con MySQL. ([https://secure.php.net/manual/en/mysqli.installation.php Como compilar PHP con supporto de MySQL])",
"config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] es un systema de base de datos popular e open source, alternativa a MySQL. ([https://secure.php.net/manual/en/pgsql.installation.php Como compilar PHP con supporto de PostgreSQL])",
- "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] es un systema de base de datos legier que es multo ben supportate. ([http://www.php.net/manual/en/pdo.installation.php Como compilar PHP con supporto de SQLite], usa PDO)",
- "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] es un banca de datos commercial pro interprisas. ([http://www.php.net/manual/en/oci8.installation.php Como compilar PHP con supporto de OCI8])",
+ "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] es un systema de base de datos legier que es multo ben supportate. ([https://secure.php.net/manual/en/pdo.installation.php Como compilar PHP con supporto de SQLite], usa PDO)",
+ "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] es un banca de datos commercial pro interprisas. ([https://secure.php.net/manual/en/oci8.installation.php Como compilar PHP con supporto de OCI8])",
"config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] es un base de datos de interprisa commercial pro Windows. ([https://secure.php.net/manual/en/sqlsrv.installation.php Como compilar PHP con supporto de SQLSRV])",
"config-header-mysql": "Configuration de MySQL",
"config-header-postgres": "Configuration de PostgreSQL",
"config-nofile": "Le file \"$1\" non poteva esser trovate. Ha illo essite delite?",
"config-extension-link": "Sapeva tu que tu wiki supporta [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions extensiones]?\n\nTu pote explorar le [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category extensiones per category] o le [https://www.mediawiki.org/wiki/Extension_Matrix matrice de extensiones] pro vider le lista complete de extensiones.",
"config-skins-screenshots": "$1 (capturas de schermo: $2)",
+ "config-extensions-requires": "$1 (require $2)",
"config-screenshot": "captura de schermo",
"mainpagetext": "<strong>MediaWiki ha essite installate.</strong>",
"mainpagedocfooter": "Consulta le [https://meta.wikimedia.org/wiki/Help:Contents Guida del usator] pro information sur le uso del software wiki.\n\n== Pro initiar ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista de configurationes]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ FAQ a proposito de MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de diffusion pro annuncios de nove versiones de MediaWiki]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traducer MediaWiki in tu lingua]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Como combatter le spam in tu wiki]"
* and U+000D (CR). However, PHP already escapes LF and CR according to RFC 4627.
*/
private static $badChars = [
- "\xe2\x80\xa8", // U+2028 LINE SEPARATOR
- "\xe2\x80\xa9", // U+2029 PARAGRAPH SEPARATOR
+ "\u{2028}", // U+2028 LINE SEPARATOR
+ "\u{2029}", // U+2029 PARAGRAPH SEPARATOR
];
/**
* @return string
*/
public static function serializeStringValue( $value ) {
- $value = strtr( $value, [ "\0" => "\xEF\xBF\xBD", '\\' => '\\\\', '"' => '\\"' ] );
+ $value = strtr( $value, [ "\0" => "\u{FFFD}", '\\' => '\\\\', '"' => '\\"' ] );
$value = preg_replace_callback( '/[\x01-\x1f\x7f]/', function ( $match ) {
return '\\' . base_convert( ord( $match[0] ), 10, 16 ) . ' ';
}, $value );
private function doCreate(
Content $content, $flags, User $user, $summary, array $meta
) {
- global $wgUseRCPatrol, $wgUseNPPatrol;
+ global $wgUseRCPatrol, $wgUseNPPatrol, $wgPageCreationLog;
$status = Status::newGood( [ 'new' => true, 'revision' => null ] );
$user->incEditCount();
+ if ( $wgPageCreationLog ) {
+ // Log the page creation
+ // @TODO: Do we want a 'recreate' action?
+ $logEntry = new ManualLogEntry( 'create', 'create' );
+ $logEntry->setPerformer( $user );
+ $logEntry->setTarget( $this->mTitle );
+ $logEntry->setComment( $summary );
+ $logEntry->setTimestamp( $now );
+ $logEntry->setAssociatedRevId( $revisionId );
+ $logid = $logEntry->insert();
+ // Note that we don't publish page creation events to recentchanges
+ // (i.e. $logEntry->publish()) since this would create duplicate entries,
+ // one for the edit and one for the page creation.
+ }
+
$dbw->endAtomic( __METHOD__ );
$this->mTimestamp = $now;
$pixels = $l10n->msg( 'unit-pixel' )->text();
foreach ( $this->config->get( 'ImageLimits' ) as $index => $limits ) {
- // Note: A left-to-right marker (\u200e) is inserted, see T144386
- $display = "{$limits[0]}" . json_decode( '"\u200e"' ) . "×{$limits[1]}" . $pixels;
+ // Note: A left-to-right marker (U+200E) is inserted, see T144386
+ $display = "{$limits[0]}\u{200E}×{$limits[1]}$pixels";
$ret[$display] = $index;
}
}
/**
- * Create a section edit link. This supersedes editSectionLink() and
- * editSectionLinkForOther().
+ * Create a section edit link.
*
* @param Title $nt The title being linked to (may not be the same as
* the current page, if the section is included from a template)
$attribs['selected'] = 'selected';
}
- $val = str_repeat( /*   */ "\xc2\xa0", $depth * 2 ) . $text;
+ $val = str_repeat( /*   */ "\u{00A0}", $depth * 2 ) . $text;
return str_repeat( "\t", $depth ) . Xml::element( 'option', $attribs, $val ) . "\n";
}
? $this->msg( 'blanknamespace' )->escaped()
: htmlspecialchars( $this->getContext()->getLanguage()->getFormattedNsText( $namespace ) );
}
+
+ public function displaySection(
+ $fields, $sectionName = '', $fieldsetIDPrefix = '', &$hasUserVisibleFields = false
+ ) {
+ return parent::displaySection( $fields, $sectionName, 'editwatchlist-', $hasUserVisibleFields );
+ }
}
public function __construct( $options = [] ) {
parent::__construct( $options );
- $this->attributeEscapes["\xc2\xa0"] = ' ';
+ $this->attributeEscapes["\u{00A0}"] = ' ';
unset( $this->attributeEscapes["&"] );
- $this->textEscapes["\xc2\xa0"] = ' ';
+ $this->textEscapes["\u{00A0}"] = ' ';
unset( $this->textEscapes["&"] );
}
/**
* Unicode directional formatting characters, for embedBidi()
*/
- static private $lre = "\xE2\x80\xAA"; // U+202A LEFT-TO-RIGHT EMBEDDING
- static private $rle = "\xE2\x80\xAB"; // U+202B RIGHT-TO-LEFT EMBEDDING
- static private $pdf = "\xE2\x80\xAC"; // U+202C POP DIRECTIONAL FORMATTING
+ static private $lre = "\u{202A}"; // U+202A LEFT-TO-RIGHT EMBEDDING
+ static private $rle = "\u{202B}"; // U+202B RIGHT-TO-LEFT EMBEDDING
+ static private $pdf = "\u{202C}"; // U+202C POP DIRECTIONAL FORMATTING
/**
* Directionality test regex for embedBidi(). Matches the first strong directionality codepoint:
if ( $code < 0xac00 || 0xd7a4 <= $code ) {
return $matches[1];
} elseif ( $code < 0xb098 ) {
- return "\xe3\x84\xb1";
+ return "\u{3131}";
} elseif ( $code < 0xb2e4 ) {
- return "\xe3\x84\xb4";
+ return "\u{3134}";
} elseif ( $code < 0xb77c ) {
- return "\xe3\x84\xb7";
+ return "\u{3137}";
} elseif ( $code < 0xb9c8 ) {
- return "\xe3\x84\xb9";
+ return "\u{3139}";
} elseif ( $code < 0xbc14 ) {
- return "\xe3\x85\x81";
+ return "\u{3141}";
} elseif ( $code < 0xc0ac ) {
- return "\xe3\x85\x82";
+ return "\u{3142}";
} elseif ( $code < 0xc544 ) {
- return "\xe3\x85\x85";
+ return "\u{3145}";
} elseif ( $code < 0xc790 ) {
- return "\xe3\x85\x87";
+ return "\u{3147}";
} elseif ( $code < 0xcc28 ) {
- return "\xe3\x85\x88";
+ return "\u{3148}";
} elseif ( $code < 0xce74 ) {
- return "\xe3\x85\x8a";
+ return "\u{314A}";
} elseif ( $code < 0xd0c0 ) {
- return "\xe3\x85\x8b";
+ return "\u{314B}";
} elseif ( $code < 0xd30c ) {
- return "\xe3\x85\x8c";
+ return "\u{314C}";
} elseif ( $code < 0xd558 ) {
- return "\xe3\x85\x8d";
+ return "\u{314D}";
} else {
- return "\xe3\x85\x8e";
+ return "\u{314E}";
}
} else {
return '';
* @return string
*/
function getDirMark( $opposite = false ) {
- $lrm = "\xE2\x80\x8E"; # LEFT-TO-RIGHT MARK, commonly abbreviated LRM
- $rlm = "\xE2\x80\x8F"; # RIGHT-TO-LEFT MARK, commonly abbreviated RLM
+ $lrm = "\u{200E}"; # LEFT-TO-RIGHT MARK, commonly abbreviated LRM
+ $rlm = "\u{200F}"; # RIGHT-TO-LEFT MARK, commonly abbreviated RLM
if ( $opposite ) {
return $this->isRTL() ? $lrm : $rlm;
}
* These determine things like interwikis, language selectors, and so on.
* Safe to change without running scripts on the respective sites.
*
- * \xE2\x80\x8E is the left-to-right marker and
- * \xE2\x80\x8F is the right-to-left marker.
+ * \u{200E} is the left-to-right marker and
+ * \u{200F} is the right-to-left marker.
* They are required for ensuring the correct display of brackets in
* mixed rtl/ltr environment.
*
'bcc' => 'جهلسری بلوچی', # Southern Balochi
'bcl' => 'Bikol Central', # Bikol: Central Bicolano language
'be' => 'беларуская', # Belarusian normative
- 'be-tarask' => "беларуская (тарашкевіца)\xE2\x80\x8E", # Belarusian in Taraskievica orthography
- 'be-x-old' => "беларуская (тарашкевіца)\xE2\x80\x8E", # (be-tarask compat)
+ 'be-tarask' => "беларуская (тарашкевіца)\u{200E}", # Belarusian in Taraskievica orthography
+ 'be-x-old' => "беларуская (тарашкевіца)\u{200E}", # (be-tarask compat)
'bg' => 'български', # Bulgarian
'bgn' => 'روچ کپتین بلوچی', # Western Balochi
'bh' => 'भोजपुरी', # Bihari macro language. Falls back to Bhojpuri (bho)
'cps' => 'Capiceño', # Capiznon
'cr' => 'Nēhiyawēwin / ᓀᐦᐃᔭᐍᐏᐣ', # Cree
'crh' => 'qırımtatarca', # Crimean Tatar (multiple scripts - defaults to Latin)
- 'crh-latn' => "qırımtatarca (Latin)\xE2\x80\x8E", # Crimean Tatar (Latin)
- 'crh-cyrl' => "къырымтатарджа (Кирилл)\xE2\x80\x8E", # Crimean Tatar (Cyrillic)
+ 'crh-latn' => "qırımtatarca (Latin)\u{200E}", # Crimean Tatar (Latin)
+ 'crh-cyrl' => "къырымтатарджа (Кирилл)\u{200E}", # Crimean Tatar (Cyrillic)
'cs' => 'čeština', # Czech
'csb' => 'kaszëbsczi', # Cassubian
'cu' => 'словѣньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ', # Old Church Slavonic (ancient language)
'de' => 'Deutsch', # German ("Du")
'de-at' => 'Österreichisches Deutsch', # Austrian German
'de-ch' => 'Schweizer Hochdeutsch', # Swiss Standard German
- 'de-formal' => "Deutsch (Sie-Form)\xE2\x80\x8E", # German - formal address ("Sie")
+ 'de-formal' => "Deutsch (Sie-Form)\u{200E}", # German - formal address ("Sie")
'din' => 'Thuɔŋjäŋ', # Dinka
'diq' => 'Zazaki', # Zazaki
'dsb' => 'dolnoserbski', # Lower Sorbian
'en-gb' => 'British English', # British English
'eo' => 'Esperanto', # Esperanto
'es' => 'español', # Spanish
- 'es-formal' => "español (formal)\xE2\x80\x8E", # Spanish formal address
+ 'es-formal' => "español (formal)\u{200E}", # Spanish formal address
'et' => 'eesti', # Estonian
'eu' => 'euskara', # Basque
'ext' => 'estremeñu', # Extremaduran
'ga' => 'Gaeilge', # Irish
'gag' => 'Gagauz', # Gagauz
'gan' => '贛語', # Gan (multiple scripts - defaults to Traditional)
- 'gan-hans' => "赣语(简体)\xE2\x80\x8E", # Gan (Simplified Han)
- 'gan-hant' => "贛語(繁體)\xE2\x80\x8E", # Gan (Traditional Han)
+ 'gan-hans' => "赣语(简体)\u{200E}", # Gan (Simplified Han)
+ 'gan-hant' => "贛語(繁體)\u{200E}", # Gan (Traditional Han)
'gcr' => 'kréyòl gwiyanè', # Guianan Creole
'gd' => 'Gàidhlig', # Scots Gaelic
'gl' => 'galego', # Galician
'hsb' => 'hornjoserbsce', # Upper Sorbian
'ht' => 'Kreyòl ayisyen', # Haitian Creole French
'hu' => 'magyar', # Hungarian
- 'hu-formal' => "magyar (formal)\xE2\x80\x8E", # Hungarian formal address
+ 'hu-formal' => "magyar (formal)\u{200E}", # Hungarian formal address
'hy' => 'Հայերեն', # Armenian
'hz' => 'Otsiherero', # Herero
'ia' => 'interlingua', # Interlingua (IALA)
'kiu' => 'Kırmancki', # Kirmanjki
'kj' => 'Kwanyama', # Kwanyama
'kk' => 'қазақша', # Kazakh (multiple scripts - defaults to Cyrillic)
- 'kk-arab' => "قازاقشا (تٴوتە)\xE2\x80\x8F", # Kazakh Arabic
- 'kk-cyrl' => "қазақша (кирил)\xE2\x80\x8E", # Kazakh Cyrillic
- 'kk-latn' => "qazaqşa (latın)\xE2\x80\x8E", # Kazakh Latin
- 'kk-cn' => "قازاقشا (جۇنگو)\xE2\x80\x8F", # Kazakh (China)
- 'kk-kz' => "қазақша (Қазақстан)\xE2\x80\x8E", # Kazakh (Kazakhstan)
- 'kk-tr' => "qazaqşa (Türkïya)\xE2\x80\x8E", # Kazakh (Turkey)
+ 'kk-arab' => "قازاقشا (تٴوتە)\u{200F}", # Kazakh Arabic
+ 'kk-cyrl' => "қазақша (кирил)\u{200E}", # Kazakh Cyrillic
+ 'kk-latn' => "qazaqşa (latın)\u{200E}", # Kazakh Latin
+ 'kk-cn' => "قازاقشا (جۇنگو)\u{200F}", # Kazakh (China)
+ 'kk-kz' => "қазақша (Қазақстан)\u{200E}", # Kazakh (Kazakhstan)
+ 'kk-tr' => "qazaqşa (Türkïya)\u{200E}", # Kazakh (Turkey)
'kl' => 'kalaallisut', # Inuktitut, Greenlandic/Greenlandic/Kalaallisut (kal)
'km' => 'ភាសាខ្មែរ', # Khmer, Central
'kn' => 'ಕನ್ನಡ', # Kannada
'ks-deva' => 'कॉशुर', # Kashmiri (Devanagari script)
'ksh' => 'Ripoarisch', # Ripuarian
'ku' => 'kurdî', # Kurdish (multiple scripts - defaults to Latin)
- 'ku-latn' => "kurdî (latînî)\xE2\x80\x8E", # Northern Kurdish (Latin script)
- 'ku-arab' => "كوردي (عەرەبی)\xE2\x80\x8F", # Northern Kurdish (Arabic script) (falls back to ckb)
+ 'ku-latn' => "kurdî (latînî)\u{200E}", # Northern Kurdish (Latin script)
+ 'ku-arab' => "كوردي (عەرەبی)\u{200F}", # Northern Kurdish (Arabic script) (falls back to ckb)
'kum' => 'къумукъ', # Kumyk (Cyrillic, 'kum-latn' for Latin script)
'kv' => 'коми', # Komi-Zyrian (Cyrillic is common script but also written in Latin script)
'kw' => 'kernowek', # Cornish
'ng' => 'Oshiwambo', # Ndonga
'niu' => 'Niuē', # Niuean
'nl' => 'Nederlands', # Dutch
- 'nl-informal' => "Nederlands (informeel)\xE2\x80\x8E", # Dutch (informal address ("je"))
+ 'nl-informal' => "Nederlands (informeel)\u{200E}", # Dutch (informal address ("je"))
'nn' => 'norsk nynorsk', # Norwegian (Nynorsk)
'no' => 'norsk', # Norwegian macro language (falls back to nb).
'nov' => 'Novial', # Novial
'so' => 'Soomaaliga', # Somali
'sq' => 'shqip', # Albanian
'sr' => 'српски / srpski', # Serbian (multiple scripts - defaults to Cyrillic)
- 'sr-ec' => "српски (ћирилица)\xE2\x80\x8E", # Serbian Cyrillic ekavian
- 'sr-el' => "srpski (latinica)\xE2\x80\x8E", # Serbian Latin ekavian
+ 'sr-ec' => "српски (ћирилица)\u{200E}", # Serbian Cyrillic ekavian
+ 'sr-el' => "srpski (latinica)\u{200E}", # Serbian Latin ekavian
'srn' => 'Sranantongo', # Sranan Tongo
'ss' => 'SiSwati', # Swati
'st' => 'Sesotho', # Southern Sotho
'zea' => 'Zeêuws', # Zeeuws/Zeaws
'zh' => '中文', # (Zhōng Wén) - Chinese
'zh-classical' => '文言', # Classical Chinese/Literary Chinese -- (see T10217)
- 'zh-cn' => "中文(中国大陆)\xE2\x80\x8E", # Chinese (PRC)
- 'zh-hans' => "中文(简体)\xE2\x80\x8E", # Mandarin Chinese (Simplified Chinese script) (cmn-hans)
- 'zh-hant' => "中文(繁體)\xE2\x80\x8E", # Mandarin Chinese (Traditional Chinese script) (cmn-hant)
- 'zh-hk' => "中文(香港)\xE2\x80\x8E", # Chinese (Hong Kong)
+ 'zh-cn' => "中文(中国大陆)\u{200E}", # Chinese (PRC)
+ 'zh-hans' => "中文(简体)\u{200E}", # Mandarin Chinese (Simplified Chinese script) (cmn-hans)
+ 'zh-hant' => "中文(繁體)\u{200E}", # Mandarin Chinese (Traditional Chinese script) (cmn-hant)
+ 'zh-hk' => "中文(香港)\u{200E}", # Chinese (Hong Kong)
'zh-min-nan' => 'Bân-lâm-gú', # Min-nan -- (see T10217)
- 'zh-mo' => "中文(澳門)\xE2\x80\x8E", # Chinese (Macau)
- 'zh-my' => "中文(马来西亚)\xE2\x80\x8E", # Chinese (Malaysia)
- 'zh-sg' => "中文(新加坡)\xE2\x80\x8E", # Chinese (Singapore)
- 'zh-tw' => "中文(台灣)\xE2\x80\x8E", # Chinese (Taiwan)
+ 'zh-mo' => "中文(澳門)\u{200E}", # Chinese (Macau)
+ 'zh-my' => "中文(马来西亚)\u{200E}", # Chinese (Malaysia)
+ 'zh-sg' => "中文(新加坡)\u{200E}", # Chinese (Singapore)
+ 'zh-tw' => "中文(台灣)\u{200E}", # Chinese (Taiwan)
'zh-yue' => '粵語', # Cantonese -- (see T10217)
'zu' => 'isiZulu' # Zulu
];
"logempty": "No bi ha garra elemento en o rechistro con ixas carauteristicas.",
"log-title-wildcard": "Mirar títols que prencipien con iste texto",
"allpages": "Todas as pachinas",
- "nextpage": "Siguient pachina ($1)",
+ "nextpage": "Pachina siguient ($1)",
"prevpage": "Pachina anterior ($1)",
"allpagesfrom": "Amostrar as pachinas que prencipien por:",
"allpagesto": "Amostrar as pachinas que rematen en:",
"protectedtitles-submit": "Amosar títulos",
"listusers": "Llista d'usuarios",
"listusers-editsonly": "Amosar namái usuarios con ediciones",
+ "listusers-temporarygroupsonly": "Amosar solo usuarios en grupos d'usuariu temporales",
"listusers-creationsort": "Ordenar por data de creación",
"listusers-desc": "Ordenar n'orde descendente",
"usereditcount": "$1 {{PLURAL:$1|edición|ediciones}}",
"dellogpage": "Rexistru de desanicios",
"dellogpagetext": "Más abaxo ta la llista de los desanicios más recién.",
"deletionlog": "rexistru de desanicios",
+ "log-name-create": "Rexistru de creación de páxines",
+ "log-description-create": "Más abaxo ta la llista de les creaciones de páxines más recién.",
+ "logentry-create-create": "$1 {{GENDER:$2|creó}} la páxina $3",
"reverted": "Revertida a una revisión anterior",
"deletecomment": "Motivu:",
"deleteotherreason": "Motivu distintu/adicional:",
"whatlinkshere": "Lo qu'enllaza equí",
"whatlinkshere-title": "Páxines qu’enllacien a «$1»",
"whatlinkshere-page": "Páxina:",
- "linkshere-2": "Les páxines siguientes enllacien a '''$2''':",
- "nolinkshere-2": "Nenguna páxina enllaza a '''$2'''.",
+ "linkshere-2": "Les páxines siguientes enllacien a <strong>$2</strong>:",
+ "nolinkshere-2": "Nenguna páxina enllaza a <strong>$2</strong>.",
"nolinkshere-ns-2": "Nenguna páxina enllaza con <strong>$2</strong> nel espaciu de nomes escoyíu.",
"isredirect": "páxina de redireición",
"istemplate": "tresclusión",
"pagedata-text": "Esta páxina ufre una interfaz de datos pa les páxines. Escribe'l títulu de la páxina na URL, usando la sintaxis de subpáxina.\n* Aplícase la negociación de conteníu en base a la testera Accept del to cliente. Esto significa que los datos de la páxina van dase nel formatu que prefiera'l to cliente.",
"pagedata-not-acceptable": "Nun s'alcontró nengún formatu que coincidiera. Tipos MIME soportaos: $1",
"pagedata-bad-title": "Títulu inválidu: $1.",
- "unregistered-user-config": "Por motivos de seguridá, les subpáxines d'usuariu JavaScript, CSS y JSON nun pueden cargase pa usuarios ensin rexistrar."
+ "unregistered-user-config": "Por motivos de seguridá, les subpáxines d'usuariu JavaScript, CSS y JSON nun pueden cargase pa usuarios ensin rexistrar.",
+ "passwordpolicies": "Polítiques pa les contraseñes",
+ "passwordpolicies-summary": "Esta ye una llista de polítiques de contraseñes efeutives pa los grupos d'usuarios definíos nesta wiki.",
+ "passwordpolicies-group": "Grupu",
+ "passwordpolicies-policies": "Polítiques",
+ "passwordpolicies-policy-minimalpasswordlength": "La contraseña tien de tener polo menos {{PLURAL:$1|1 caráuter|$1 caráuteres}}.",
+ "passwordpolicies-policy-minimumpasswordlengthtologin": "La contraseña tien de tener polo menos {{PLURAL:$1|1 caráuter|$1 caráuteres}} pa poder aniciar sesión",
+ "passwordpolicies-policy-passwordcannotmatchusername": "La contraseña nun puede ser la mesma que'l nome d'usuariu",
+ "passwordpolicies-policy-passwordcannotmatchblacklist": "La contraseña nun puede casar con contraseñes torgaes específicamente",
+ "passwordpolicies-policy-maximalpasswordlength": "La llonxitú de la contraseña tien de ser menor que {{PLURAL:$1|1 caráuter|$1 caráuteres}}",
+ "passwordpolicies-policy-passwordcannotbepopular": "La contraseña nun puede {{PLURAL:$1|ser la contraseña más popular|tar na llista de $1 contraseñes populares}}"
}
"minlength1": "Назва файлу павінна ўтрымліваць хаця б адну літару.",
"illegalfilename": "Назва файлу «$1» зьмяшчае сымбалі, якія нельга выкарыстоўваць у назвах старонак. Калі ласка, зьмяніце назву файлу і паспрабуйце загрузіць яго зноў.",
"filename-toolong": "Назвы файлаў ня могуць быць даўжэй за 240 байтаў.",
- "badfilename": "Назва файла была зьмененая на «$1».",
- "filetype-mime-mismatch": "Пашырэньне файла «.$1» не адпавядае выяўленаму MIME-тыпу файла ($2).",
+ "badfilename": "Назва файлу была зьмененая на «$1».",
+ "filetype-mime-mismatch": "Пашырэньне файлу «.$1» не адпавядае выяўленаму MIME-тыпу файлу ($2).",
"filetype-badmime": "Загрузка файлаў тыпу MIME «$1» забароненая.",
"filetype-bad-ie-mime": "Немагчыма загрузіць гэты файл, таму што Internet Explorer вызначыў яго як «$1», што азначае, што тып гэтага файла забаронены і патэнцыяльна небясьпечны.",
"filetype-unwanted-type": "<strong>«.$1»</strong> — непажаданы тып файла.\n{{PLURAL:$3|1=Пажаданым тыпам файла зьяўляецца|Пажаданымі тыпамі файлаў зьяўляюцца:}} $2.",
"dellogpage": "Журнал выдаленьняў",
"dellogpagetext": "Сьпіс апошніх выдаленьняў.",
"deletionlog": "журнал выдаленьняў",
+ "log-name-create": "Журнал стварэньня старонак",
+ "log-description-create": "Ніжэй знаходзіцца сьпіс апошніх стварэньняў старонак.",
"reverted": "Вернутая да папярэдняй вэрсіі",
"deletecomment": "Прычына:",
"deleteotherreason": "Іншая/дадатковая прычына:",
"Apundung"
]
},
+ "tog-underline": "Garis torui pranala:",
+ "tog-hideminor": "Bunion editan namenek i parubaan tarbaru",
+ "tog-hidepatrolled": "Bunion editan tarpatroli parubaan tarbaru",
+ "tog-newpageshidepatrolled": "Bunion alaman tarpatroli tingon daftar alaman baru",
+ "tog-hidecategorization": "Bunion pangkatagorian alaman",
+ "tog-extendwatchlist": "Kombangkon daftar pamataan tuna patidaon sude parubaan, inda umna tarbaru",
+ "tog-usenewrc": "Kalompokkon editan i tampilan parubaan tarbaru dot daftar pamataan mardasorkon alaman",
+ "tog-numberheadings": "Len nomor judul sacara otomatis",
+ "tog-showtoolbar": "Tampilkon bilah alat pangeditan",
+ "tog-editondblclick": "Pature alaman dohot klik ganda",
+ "tog-editsectiononrightclick": "Fungsion pangeditan bagian dohot mangklik siamun i judul bagian",
+ "tog-watchcreations": "Tambaon alaman na ubaen dot berkas na uunggah tu daftar pamataan",
+ "tog-watchdefault": "Tambaon alaman na upature tu daftar pamataan",
+ "tog-watchmoves": "Tambaon alaman na upapindah tu daftar pamataan",
+ "tog-watchdeletion": "Tambaon alaman na uapus tu daftar pantauan",
+ "tog-watchuploads": "Tambaon berkas baru nauunggah tu daftar pamataan",
+ "tog-watchrollback": "Tambaon alaman na unjung ubaen mulak tu bagasan daftar pamataanku",
+ "tog-minordefault": "Partando sude editan manjadi editan namenek sacara baku",
+ "tog-previewontop": "Patidaon pratayang dompakso kotak edit dot inda sidungi",
+ "tog-previewonfirst": "Patidaon pratayang i suntingan parjolo",
+ "tog-enotifwatchlistpages": "Kirimkon tuau surel molo sada alaman sanga berkas na u pamatai maruba",
+ "tog-enotifusertalkpages": "Kirimkon jau surel molo alaman parkobaranku maruba",
+ "tog-enotifminoredits": "Kirimkon jau surel juo i parubaan namenek",
+ "tog-enotifrevealaddr": "Tampilkon alamat surelku i surel notifikasi",
+ "tog-shownumberswatching": "Patidaon bahat ni namamatai",
+ "tog-oldsig": "Tekenanmu namadung adong:",
+ "tog-fancysig": "Baen tekenan manjadi teks wiki (indapake pranala otomatis)",
+ "tog-uselivepreview": "Tampilkon pratayang indapake mamuat mulak alaman",
+ "tog-forceeditsummary": "Paingot au molo kotak ringkasan editan nakosong dope",
+ "tog-watchlisthideown": "Bunion editanku i daftar pamataan",
+ "tog-watchlisthidebots": "Bunion editan bot idaftar pantauan",
+ "tog-watchlisthideminor": "Bunion editan namenek tingon pamataan",
+ "tog-watchlisthideliu": "Bunion suntingan masuk log tingon pamataan",
+ "tog-watchlistreloadautomatically": "Muat mulak daftar pamataan sacara otomatis atia sada tapis maruba (JavaScript iporluon)",
+ "tog-watchlistunwatchlinks": "Tambaon pananda pamatai/apus pamataan tu alaman na imatai na maruba (JavaScript iporluon tu manggonti fungsi on)",
+ "tog-watchlisthideanons": "Bunion editan pamake anonim i daftar pamataan",
+ "tog-watchlisthidepatrolled": "Bunion editan tarpatroli i daftar pantauan",
+ "tog-watchlisthidecategorization": "Bunion pangkatagorian alaman",
+ "tog-ccmeonemails": "Kirimkon jau salinan surel nau kirimkon tu alak nalain",
+ "tog-diffonly": "Ulang patidaon isi alaman i toru parbedaan editan",
+ "tog-showhiddencats": "Patidaon kategori namonjap",
+ "tog-norollbackdiff": "Nangkon patidaon parbedaan sidung mambaen paulakan",
+ "tog-useeditwarning": "Ingotkon au molo maninggalkon alaman pangeditan dompak so manyimpan parubaan",
+ "tog-prefershttps": "Totop pake sambungan aman atia masuk log",
+ "underline-always": "Totop",
+ "underline-never": "Inda unjung",
+ "underline-default": "Ulit sanga pangaraun naiobanna",
+ "editfont-style": "Gaya tulisan komputer i kotak pangeditan:",
+ "editfont-monospace": "Tulisan Monospace",
+ "editfont-sansserif": "Tulisan Sans-serif",
+ "editfont-serif": "Tulisan Serif",
"sunday": "Akad",
"monday": "Sinayan",
"tuesday": "Salasa",
"oct": "Okt",
"nov": "Nov",
"dec": "Des",
+ "january-date": "$1 Januari",
+ "february-date": "$1 Februari",
+ "march-date": "$1 Maret",
+ "april-date": "$1 April",
+ "may-date": "$1 Mei",
+ "june-date": "$1 Juni",
+ "july-date": "$1 Juli",
+ "august-date": "$1 Agustus",
+ "september-date": "$1 September",
+ "october-date": "$1 Oktober",
+ "november-date": "$1 November",
+ "december-date": "$1 Desember",
+ "period-am": "AM",
+ "period-pm": "PM",
"pagecategories": "{{PLURAL:$1|Category|Kategori}}",
"category_header": "Alaman i kategori \"$1\"",
"subcategories": "Subkategori",
"category-media-header": "Media i kategori \"$1\"",
"category-empty": "<em>Kategori on sonnari indadong alaman dot media.</em>",
"hidden-categories": "{{PLURAL:$1|Hidden category|Kategori monjap}}",
+ "hidden-category-category": "Kategori namonjap",
"category-subcat-count": "{{PLURAL:$2|Kategori on umna puna subkategori ima.|Kategori on puna ima {{PLURAL:$1|subkategori|$1 subkategori}}, tingon bahat $2.}}",
+ "category-subcat-count-limited": "Kategori on puna {{PLURAL:$1|$1 subkategori}} on.",
"category-article-count": "{{PLURAL:$2|Kategori on umna marisi alaman ima.|Onma{{PLURAL:$1|alaman ima|$1 alaman}} i kategori on, tingon bahat $2.}}",
+ "category-article-count-limited": "Kategori on puna {{PLURAL:$1|$1 alaman}} onma.",
"category-file-count": "{{PLURAL:$2|Kategori on umna marisi alaman ima.|Onma{{PLURAL:$1|alaman ima|$1 alaman}} i kategori on, tingon bahat $2.}}",
"listingcontinuesabbrev": "Sat",
+ "index-category": "Alaman na iindeks",
"noindex-category": "Alaman naso tarindeks",
"broken-file-category": "Alaman dot link berkas sega",
"about": "Satontang",
+ "article": "Isi nialaman",
"newwindow": "(bukak i tingkap nabaru)",
"cancel": "Antai",
+ "moredotdotdot": "Lainna...",
+ "morenotlisted": "Daftar on mungkin inda singkop",
+ "mypage": "Alaman",
"mytalk": "Dokon",
+ "anontalk": "Obar",
"navigation": "Navigasi",
"and": " dot",
+ "faq": "FAQ",
"namespaces": "Ruang gorar",
"variants": "Mocoman",
"navigation-heading": "Menu Navigasi",
+ "errorpagetitle": "Sega",
"returnto": "Keimulak tu $1",
"tagline": "Tingon {{SITENAME}}",
"help": "Tolong",
"search": "Jalaki",
+ "search-ignored-headings": "# <pre>\n# Judul na angkan ipatopi ni panjalakan.\n# Editan on nangkan iterapkon sidung alaman dohot judul on iindeks.\n# Amu bisa mamaksaon pangindekskan mulak alaman on dohot mambaen editan kosong (''null edit'')\n# Sintaksisna ima songon onma:\n# * Sudena tingon karakter \"#\" tu ujung baris ima sada komentar.\n# * Satiop baris naso-kosong ima judul pas na angkan ipatopi\nReferensi\nPranala luar\nLigin muse\n #</pre>",
"searchbutton": "Jalaki",
+ "go": "Kehe",
"searcharticle": "Kehe",
"history": "Sejarah alaman",
"history_short": "Sejarah",
+ "history_small": "sejarah",
+ "updatedmarker": "Iuba sian parabisan uligi",
"printableversion": "Versi cetak",
"permalink": "Tautan permanen",
+ "print": "Cetak",
"view": "Sise",
"view-foreign": "Sise i $1",
"edit": "Pature",
+ "edit-local": "Baen deskeipsi lokal",
"create": "Baen",
"create-local": "Baen deskripsi lokal",
"delete": "Apus",
"dellogpage": "Kniha smazaných stránek",
"dellogpagetext": "Zde je seznam posledních smazaných stránek.",
"deletionlog": "Kniha smazaných stránek",
+ "log-name-create": "Kniha vytvoření stránek",
+ "log-description-create": "Níže se nachází seznam posledních vyvořených stránek.",
+ "logentry-create-create": "$1 {{GENDER:$2|vytvořil|vytvořila|vytvořil(a)}} stránku $3",
"reverted": "Obnovení předchozí verze",
"deletecomment": "Důvod:",
"deleteotherreason": "Jiný/další důvod:",
"pagedata-text": "Tato stránka poskytuje datové rozhraní ke stránkám. Uveďte prosím název stránky v URL pomocí syntaxe pro podstránky.\n* Funguje dohadování o obsahu na základě hlavičky Accept vašeho klienta. To znamená, že data stránky budou poskytnuta ve formátu preferovaném vaším klientem.",
"pagedata-not-acceptable": "Nenalezen odpovídající formát. Podporované MIME typy: $1",
"pagedata-bad-title": "Neplatný název: $1.",
- "unregistered-user-config": "Z bezpečnostních důvodů nelze načítat uživatelské podstránky s JavaScriptem, CSS nebo JSONem u neregistrovaných uživatelů."
+ "unregistered-user-config": "Z bezpečnostních důvodů nelze načítat uživatelské podstránky s JavaScriptem, CSS nebo JSONem u neregistrovaných uživatelů.",
+ "passwordpolicies-group": "Skupina",
+ "passwordpolicies-policy-minimalpasswordlength": "Heslo musí být alespoň {{PLURAL:$1|$1 znak|$1 znaky|$1 znaků}} dlouhé",
+ "passwordpolicies-policy-minimumpasswordlengthtologin": "Pro přihlášení je vyžadováno alespoň {{PLURAL:$1|$1 znak|$1 znaky|$1 znaků}} dlouhé heslo",
+ "passwordpolicies-policy-passwordcannotmatchusername": "Heslo se nemůže shodovat s uživatelským jménem",
+ "passwordpolicies-policy-passwordcannotmatchblacklist": "Heslo nesmí být v seznamu určitých zakázaných hesel",
+ "passwordpolicies-policy-maximalpasswordlength": "Heslo musí být kratší než {{PLURAL:$1|$1 znak|$1 znaky|$1 znaků}}",
+ "passwordpolicies-policy-passwordcannotbepopular": "Heslo nesmí být {{PLURAL:$1|dané oblíbené heslo|v seznamu $1 oblíbených hesel}}"
}
"recentchanges-submit": "Кăтарт",
"rcfilters-legend-heading": "<strong>Кĕскетнисем:</strong>",
"rcfilters-other-review-tools": "Урăх пăхмаллисем",
+ "rcfilters-show-new-changes": "Çĕнĕ улăшăннисем",
"rcfilters-filterlist-title": "Фильтрсем",
"rcfilters-filter-editsbyself-label": "Хăвăр улăштарнисем",
"rcfilters-filter-editsbyother-label": "Урăххисем улăштарнисем",
"dellogpage": "Lösch-Logbuch",
"dellogpagetext": "Dies ist das Logbuch der gelöschten Seiten und Dateien.",
"deletionlog": "Lösch-Logbuch",
+ "log-name-create": "Seitenerstellungs-Logbuch",
+ "log-description-create": "Es folgt eine Liste der letzten Seitenerstellungen.",
+ "logentry-create-create": "$1 hat die Seite $3 {{GENDER:$2|erstellt}}",
"reverted": "Auf eine alte Version zurückgesetzt",
"deletecomment": "Grund:",
"deleteotherreason": "Anderer/ergänzender Grund:",
"dellogpage": "Αρχείο καταγραφών διαγραφών",
"dellogpagetext": "Λίστα των πιο πρόσφατων διαγραφών",
"deletionlog": "Καταγραφές διαγραφών",
+ "log-name-create": "Αρχείο καταγραφών δημιουργίας σελίδων",
+ "log-description-create": "Παρακάτω υπάρχει ένας κατάλογος των πιο πρόσφατων δημιουργιών σελίδας.",
"reverted": "Επαναφορά σε προηγούμενη αναθεώρηση",
"deletecomment": "Λόγος:",
"deleteotherreason": "Άλλος/πρόσθετος λόγος:",
"dellogpage": "Deletion log",
"dellogpagetext": "Below is a list of the most recent deletions.",
"deletionlog": "deletion log",
+ "log-name-create": "Page creation log",
+ "log-description-create": "Below is a list of the most recent page creations.",
+ "logentry-create-create": "$1 {{GENDER:$2|created}} page $3",
"reverted": "Reverted to earlier revision",
"deletecomment": "Reason:",
"deleteotherreason": "Other/additional reason:",
"whatlinkshere": "Ligiloj ĉi tien",
"whatlinkshere-title": "Paĝoj ligantaj al \"$1\"",
"whatlinkshere-page": "Paĝo:",
- "linkshere-2": "La jenaj paĝoj ligas al '''$2''':",
- "nolinkshere-2": "Neniu paĝo ligas al '''$2'''.",
+ "linkshere-2": "La jenaj paĝoj ligas al <strong>$2</strong>:",
+ "nolinkshere-2": "Neniu paĝo ligas al <strong>$2</strong>.",
"nolinkshere-ns-2": "Neniuj paĝoj ligas al '''$2''' en la elektita nomspaco.",
"isredirect": "alidirektilo",
"istemplate": "inkludo",
"dellogpage": "Registro de borrados",
"dellogpagetext": "A continuación se muestra una lista de los borrados más recientes.",
"deletionlog": "registro de borrados",
+ "log-name-create": "Registro de creación de páginas",
+ "log-description-create": "La siguiente es una lista de las páginas creadas recientemente.",
+ "logentry-create-create": "$1 {{GENDER:$2|creó}} la página $3",
"reverted": "Revertido a una revisión anterior",
"deletecomment": "Motivo:",
"deleteotherreason": "Otro motivo:",
"customcssprotected": "Ez duzu baimenik CSS orrialde hau aldatzeko beste erabiltzaile baten hobespen pertsonalak dituelako.",
"customjsprotected": "Ez duzu baimenik JavaScript orrialde hau aldatzeko beste erabiltzaile baten hobespen pertsonalak dituelako.",
"mycustomcssprotected": "Ez duzu baimenik CSS orrialde hau aldatzeko.",
+ "mycustomjsonprotected": "Ez duzu baimenik JSON orrialde hau aldatzeko.",
"mycustomjsprotected": "Ez duzu baimentik JavaScript orrialdea aldatzeko.",
"myprivateinfoprotected": "Ez duzu eskumenik zure informazio pribatua aldatzeko.",
"mypreferencesprotected": "Ez daukazu eskumenik zure hobespenak aldatzeko.",
"dellogpage": "Journal des suppressions",
"dellogpagetext": "Voici la liste des suppressions les plus récentes.",
"deletionlog": "journal des suppressions",
+ "log-name-create": "Journal des créations de pages",
+ "log-description-create": "Ci-dessous, la liste des dernières créations de pages.",
+ "logentry-create-create": "$1 {{GENDER:$2|a créé}} la page $3",
"reverted": "Version précédente rétablie",
"deletecomment": "Motif :",
"deleteotherreason": "Motif autre ou supplémentaire :",
"subject-preview": "Vista previa do asunto:",
"previewerrortext": "Produciuse un erro ao intentar previsualizar os cambios.",
"blockedtitle": "O usuario está bloqueado",
- "blockedtext": "<strong>Bloqueouse o seu nome de usuario ou enderezo IP.</strong>\n\n$1 estableceu o bloqueo.\nO motivo que achegou foi <em>$2</em>.\n\n* Inicio do bloqueo: $8\n* Caducidade do bloqueo: $6\n* Pretendeuse bloquear: $7\n\nPode contactar con $1 ou con calquera outro [[{{MediaWiki:Grouppage-sysop}}|administrador]] para discutir este bloqueo.\nNon pode empregar a característica \"Enviar un correo electrónico a este usuario\" a non ser que dispoña dun enderezo electrónico válido rexistrado nas súas [[Special:Preferences|preferencias de usuario]] e que o seu uso non fose bloqueado.\nO seu enderezo IP actual é $3 e o identificador do bloqueo é #$5.\nPor favor, inclúa todos estes datos nas consultas que faga.",
- "autoblockedtext": "O seu enderezo IP foi bloqueado automaticamente porque foi empregado por outro usuario que foi bloqueado por $1.\nA razón que deu foi a seguinte:\n\n:''$2''\n\n* Inicio do bloqueo: $8\n* Caducidade do bloqueo: $6\n* Pretendeuse bloquear: $7\n\nPode contactar con $1 ou con calquera outro [[{{MediaWiki:Grouppage-sysop}}|administrador]] para discutir este bloqueo.\n\nTeña en conta que non pode empregar a característica \"Enviar un correo electrónico a este usuario\" a non ser que dispoña dun enderezo electrónico válido rexistrado nas súas [[Special:Preferences|preferencias de usuario]] e e que o seu uso non fose bloqueado.\n\nO seu enderezo IP actual é $3 e o ID do bloqueo é #$5.\nPor favor, inclúa eses datos nas consultas que faga.",
+ "blockedtext": "<strong>Bloqueouse o seu nome de usuario ou enderezo IP.</strong>\n\n$1 estableceu o bloqueo.\nO motivo que achegou foi <em>$2</em>.\n\n* Inicio do bloqueo: $8\n* Caducidade do bloqueo: $6\n* Pretendeuse bloquear: $7\n\nPode contactar con $1 ou con calquera outro [[{{MediaWiki:Grouppage-sysop}}|administrador]] para discutir este bloqueo.\nNon pode empregar a característica \"{{int:emailuser}}\" a non ser que dispoña dun enderezo electrónico válido rexistrado nas súas [[Special:Preferences|preferencias de usuario]] e que o seu uso non fose bloqueado.\nO seu enderezo IP actual é $3 e o identificador do bloqueo é #$5.\nPor favor, inclúa todos estes datos nas consultas que faga.",
+ "autoblockedtext": "O seu enderezo IP foi bloqueado automaticamente porque foi empregado por outro usuario que foi bloqueado por $1.\nA razón que deu foi a seguinte:\n\n:<em>$2</em>\n\n* Inicio do bloqueo: $8\n* Caducidade do bloqueo: $6\n* Pretendeuse bloquear: $7\n\nPode contactar con $1 ou con calquera outro [[{{MediaWiki:Grouppage-sysop}}|administrador]] para discutir este bloqueo.\n\nTeña en conta que non pode empregar a característica \"{{int:emailuser}}\" a non ser que dispoña dun enderezo electrónico válido rexistrado nas súas [[Special:Preferences|preferencias de usuario]] e e que o seu uso non fose bloqueado.\n\nO seu enderezo IP actual é $3 e o ID do bloqueo é #$5.\nPor favor, inclúa eses datos nas consultas que faga.",
"systemblockedtext": "O seu nome de usuario ou enderezo IP foi bloqueado automaticamente polo sistema MediaWiki.\nO motivo do bloqueo é:\n\n:<em>$2</em>\n\n* Comezo do bloqueo: $8\n* Expiración do bloqueo: $6\n* Destinatario do bloqueo: $7\n\nO seu enderezo IP actual é $3.\nPor favor, inclúa todos estes detalles en calquera consulta que realice.",
"blockednoreason": "non se deu ningunha razón",
"whitelistedittext": "Debe $1 para poder editar páxinas.",
"stub-threshold-disabled": "Desactivado",
"recentchangesdays": "Número de días a mostrar nos cambios recentes:",
"recentchangesdays-max": "Máximo: $1 {{PLURAL:$1|día|días}}",
- "recentchangescount": "Número de edicións a mostrar por defecto:",
+ "recentchangescount": "Número de edicións a amosar por defecto nos cambios recentes, nos historiais de páxina e nos rexistrosː",
"prefs-help-recentchangescount": "Número máximo: 1000",
"prefs-help-watchlist-token2": "Esta é a clave secreta da fonte de novas web para a súa lista de vixilancia.\nCalquera persoa que a saiba poderá ler a súa lista de vixilancia; non comparta esta clave.\nSe o precisa, [[Special:ResetTokens|pode restablecela]].",
"prefs-help-tokenmanagement": "Podes ver e restaurar a chave secreta para a túa conta que pode acceder á fonte web da túa lista de vixiancia. Calquera que coñeza a chave poderá leer a túa lista de vixiancia.",
"recentchangeslinked-feed": "Cambios relacionados",
"recentchangeslinked-toolbox": "Cambios relacionados",
"recentchangeslinked-title": "Cambios relacionados con \"$1\"",
- "recentchangeslinked-summary": "Introduce un nome de páxina para ver os cambios en páxinas ligadas dende ou ata esa páxina. (Para ver os membros dunha categoría, introduce Categoría:Nome da categoría). Os cambios na túa [[Special:Watchlist|lista de vixiancia]] están en <strong>negra</strong>.",
+ "recentchangeslinked-summary": "Introduce un nome de páxina para ver os cambios en páxinas ligadas dende ou ata esa páxina. (Para ver os membros dunha categoría, introduce {{ns:category}}:Nome da categoría). Os cambios na túa [[Special:Watchlist|lista de vixiancia]] están en <strong>negra</strong>.",
"recentchangeslinked-page": "Nome da páxina:",
"recentchangeslinked-to": "Mostrar os cambios relacionados das páxinas que ligan coa dada",
"recentchanges-page-added-to-category": "\"[[:$1]]\" engadiuse á categoría",
"protectedtitles-submit": "Mostrar os títulos",
"listusers": "Lista de usuarios",
"listusers-editsonly": "Mostrar só os usuarios con edicións",
+ "listusers-temporarygroupsonly": "Amosar só usuarios en grupos de usuario temporais",
"listusers-creationsort": "Ordenar por data de creación",
"listusers-desc": "Ordenar de xeito descendente",
"usereditcount": "$1 {{PLURAL:$1|edición|edicións}}",
"dellogpage": "Rexistro de borrados",
"dellogpagetext": "A continuación atópase a lista cos borrados máis recentes.",
"deletionlog": "rexistro de borrados",
+ "log-name-create": "Rexistro de creación de páxinas",
+ "log-description-create": "Debaixo está a lista das páxinas creadas máis recentemente.",
+ "logentry-create-create": "$1 {{GENDER:$2|creou}} a páxina $3",
"reverted": "Volveuse a unha versión anterior",
"deletecomment": "Motivo:",
"deleteotherreason": "Outro motivo:",
"whatlinkshere": "Páxinas que ligan con esta",
"whatlinkshere-title": "Páxinas que ligan con \"$1\"",
"whatlinkshere-page": "Páxina:",
- "linkshere-2": "As seguintes páxinas ligan con \"'''$2'''\":",
- "nolinkshere-2": "Ningunha páxina liga con \"'''$2'''\".",
- "nolinkshere-ns-2": "Ningunha páxina liga con \"'''$2'''\" no espazo de nomes elixido.",
+ "linkshere-2": "As seguintes páxinas ligan con <strong>$2</strong>:",
+ "nolinkshere-2": "Ningunha páxina liga con <strong>$2</strong>.",
+ "nolinkshere-ns-2": "Ningunha páxina liga con <strong>$2</strong> no espazo de nomes elixido.",
"isredirect": "páxina redirixida",
"istemplate": "inclusión",
"isimage": "ligazón ao ficheiro",
"dellogpage": "יומן מחיקות",
"dellogpagetext": "להלן רשימה של המחיקות האחרונות שבוצעו.",
"deletionlog": "יומן המחיקות",
+ "log-name-create": "יומן יצירות דפים",
+ "log-description-create": "להלן רשימה של הדפים האחרונים שנוצרו.",
+ "logentry-create-create": "$1 {{GENDER:$2|יצר|יצרה}} את הדף $3",
"reverted": "שוחזר לגרסה קודמת",
"deletecomment": "סיבה:",
"deleteotherreason": "סיבה אחרת/נוספת:",
"blockipsuccesssub": "החסימה הושלמה בהצלחה",
"blockipsuccesstext": "{{GENDER:$1|המשתמש|המשתמשת}} [[Special:Contributions/$1|$1]] {{GENDER:$1|נחסם|נחסמה}}.<br />\nניתן לעיין ב[[Special:BlockList|רשימת החסומים]] כדי לצפות בחסימות.",
"ipb-blockingself": "החשבון שלך ייחסם! האם ברצונך לעשות זאת?",
- "ipb-confirmhideuser": "×\94×\97ש×\91×\95×\9f ×\99×\99×\97ס×\9d ×¢×\9d ×\94×\90פשר×\95ת \"×\94סתרת ×\9eשת×\9eש\". ×\96×\94 ×\99עלים את שם המשתמש בכל הרשימות ופעולות היומן. האם ברצונך לעשות זאת?",
+ "ipb-confirmhideuser": "×\97ש×\91×\95×\9f ×\94×\9eשת×\9eש ×\99×\99×\97ס×\9d ת×\95×\9a ×\94פע×\9cת ×\94×\90פשר×\95ת \"×\94סתרת ×\9eשת×\9eש\". פע×\95×\9c×\94 ×\96×\95 תעלים את שם המשתמש בכל הרשימות ופעולות היומן. האם ברצונך לעשות זאת?",
"ipb-confirmaction": "אם באמת התכוונת לעשות זאת, יש לסמן את השדה \"{{int:ipb-confirm}}\" שמופיע למטה.",
"ipb-edit-dropdown": "עריכת סיבות החסימה",
"ipb-unblock-addr": "שחרור חסימה של $1",
"unblock-hideuser": "אין באפשרותך לשחרר את החסימה של המשתמש הזה, כיוון ששם המשתמש שלו הוסתר.",
"ipb_cant_unblock": "שגיאה: חסימה מספר $1 לא נמצאה. ייתכן שהיא כבר שוחררה.",
"ipb_blocked_as_range": "שגיאה: כתובת ה־IP $1 אינה חסומה ישירות ולכן לא ניתן לשחרר את חסימתה.\nעם זאת, היא חסומה כחלק מהטווח $2, שניתן לשחרר את חסימתו.",
- "ip_range_invalid": "טווח IP שגוי.",
+ "ip_range_invalid": "טווח כתובות IP שגוי.",
"ip_range_toolarge": "לא ניתן לחסום טווחים גדולים מ־<span dir=\"ltr\">/$1</span>.",
- "ip_range_exceeded": "טווח ה־IP חורג מהטווח המרבי. הטווח המותר: /$1.",
+ "ip_range_exceeded": "טווח ה־IP חורג מהטווח המרבי. הטווח המותר: <span dir=\"ltr\">/$1</span>.",
"ip_range_toolow": "בפועל, טווחי IP אינם מורשים.",
"proxyblocker": "חוסם פרוקסי",
"proxyblockreason": "כתובת ה־IP שלכם נחסמה משום שהיא כתובת של שרת פרוקסי פתוח.\nאנא צרו קשר עם ספק האינטרנט שלכם או עם התמיכה הטכנית של הארגון שלכם והודיעו להם על בעיית האבטחה החמורה הזאת.",
"sorbs_create_account_reason": "כתובת ה־IP שלך רשומה ככתובת פרוקסי פתוחה ב־DNSBL שאתר {{SITENAME}} משתמש בו.\nאין באפשרותך ליצור חשבון.",
"softblockrangesreason": "תרומות אנונימיות אינן מותרות מכתובת ה־IP שלך ($1). נא להיכנס לחשבון.",
"xffblockreason": "כתובת IP הנמצאת בכותרת X-Forwarded-For, בין אם שלכם או של שרת פרוקסי שאתם משתמשים בו, נחסמה. סיבת החסימה המקורית הייתה: $1",
- "cant-see-hidden-user": "×\94×\9eשת×\9eש ש×\90ת×\9d ×\9e× ×¡×\99×\9d ×\9c×\97ס×\95×\9d ×\9b×\91ר × ×\97ס×\9d ×\95×\94×\95סתר.\n×\9b×\99×\95×\95×\9f ש×\90×\99×\9f ×\9c×\9b×\9d ×\94רש×\90×\94 ×\9c×\94סתרת ×\9eשת×\9eש×\99×\9d, ×\90×\99×\9f ×\91×\90פשר×\95ת×\9b×\9d לצפות בחסימת המשתמש או לערוך אותה.",
- "ipbblocked": "×\90×\99× ×\9b×\9d ×\99×\9b×\95×\9c×\99×\9d ×\9c×\97ס×\95×\9d ×\90×\95 ×\9cש×\97רר ×\90ת ×\97ס×\99×\9eת×\9d ש×\9c ×\9eשת×\9eש×\99×\9d ×\90×\97ר×\99×\9d, ×\9b×\99×\95×\95×\9f ש×\90ת×\9d עצ×\9e×\9b×\9d ×\97ס×\95×\9e×\99ם.",
- "ipbnounblockself": "×\90×\99×\9f ×\91×\90פשר×\95ת×\9a ×\9c×\91×\98×\9c את החסימה של עצמך.",
+ "cant-see-hidden-user": "×\94×\9eשת×\9eש ×©× ×\99ס×\99ת ×\9c×\97ס×\95×\9d ×\9b×\91ר × ×\97ס×\9d ×\95×\94×\95סתר.\n×\9b×\99×\95×\95×\9f ש×\90×\99×\9f ×\9c×\9a ×\94רש×\90×\94 ×\9c×\94סתרת ×\9eשת×\9eש×\99×\9d, ×\90×\99×\9f ×\91×\90פשר×\95ת×\9a לצפות בחסימת המשתמש או לערוך אותה.",
+ "ipbblocked": "×\90×\99×\9f ×\91×\90פשר×\95ת×\9a ×\9c×\97ס×\95×\9d ×\9eשת×\9eש×\99×\9d ×\90×\97ר×\99×\9d ×\90×\95 ×\9cש×\97רר ×\90ת ×\97ס×\99×\9eת×\9d, ×\9b×\99×\95×\95×\9f ש×\94×\97ש×\91×\95×\9f ש×\9c×\9a ×\97ס×\95ם.",
+ "ipbnounblockself": "×\90×\99×\9f ×\91×\90פשר×\95ת×\9a ×\9cש×\97רר את החסימה של עצמך.",
"lockdb": "נעילת בסיס נתונים",
"unlockdb": "שחרור בסיס נתונים",
"lockdbtext": "נעילת בסיס הנתונים תמנע ממשתמשים את האפשרות לערוך דפים, לשנות את העדפותיהם, לערוך את רשימות המעקב שלהם, ופעולות אחרות הדורשות ביצוע שינויים בבסיס הנתונים.\n\nאנא אשרו שזה מה שאתם מתכוונים לעשות, ושתשחררו את בסיס הנתונים מנעילה כאשר פעולת התחזוקה תסתיים.",
"whatlinkshere-title": "Paginas con ligamines verso $1",
"whatlinkshere-page": "Pagina:",
"linkshere-2": "Le sequente paginas contine ligamines a <strong>$2</strong>:",
- "nolinkshere-2": "Nulle pagina contine un ligamine verso <strong>$2</strong>.",
- "nolinkshere-ns-2": "Nulle pagina liga a <strong>$2</strong> in le spatio de nomines seligite.",
+ "nolinkshere-2": "Nulle pagina contine un ligamine a <strong>$2</strong>.",
+ "nolinkshere-ns-2": "Nulle pagina liga a <strong>$2</strong> in le spatio de nomines seligite.",
"isredirect": "pagina de redirection",
"istemplate": "transclusion",
"isimage": "ligamine al file",
"botpasswords-existing": "Dagiti adda a kontrasenias ti bot",
"botpasswords-createnew": "Agpartuat iti baro a kontrasenias ti bot",
"botpasswords-editexisting": "Urnosen ti maysa nga adda a kontrasenias ti bot",
+ "botpasswords-label-needsreset": "(nasken a maisaad manen ti kontrasenias)",
"botpasswords-label-appid": "Nagan ti bot:",
"botpasswords-label-create": "Agpartuat",
"botpasswords-label-update": "Pabaruen",
"subject-preview": "Panangipadas ti suheto:",
"previewerrortext": "Adda napasamak a maysa a biddut bayat a nagpadpadas kadagiti binawbaliwam.",
"blockedtitle": "Naseraan ti agar-aramat",
- "blockedtext": "<strong>Naseraan ti naganmo nga agar-aramat wenno ti adres ti IP.</strong>\n\nTi serra ket inaramid babaen ni $1. \nTi rason a naited ket <em>$2</em>.\n\n* Rugi ti serra: $8\n* Panagpaso ti serra: $6\n* Naikeddeng a serraanna: $7\n\nMabalinmo a kontaken ni $1 wenno sabali pay nga [[{{MediaWiki:Grouppage-sysop}}|administrador]] no kayatmo a maipalawag daytoy a panagserra.\nDimo mabalin nga aramaten ti ramit nga esuratan daytoy nga agar-aramat malaksid no adda napudno nga adres ti esurat a nainaganan iti [[Special:Preferences|pakabilangan ti kakaykayatm]] ken no saanka a naparitan nga agaramat iti daytoy.\nTi agdama nga adres ti IP ket $3, ti naserraan nga ID ket #$5. \nPangngaasi nga iramanmo amin dagiti salaysay dita ngato kadagiti ania man nga aramidem nga usisa.",
- "autoblockedtext": "Ti bukodmo nga adres ti IP ket automatiko a naserraan ngamin ket inusar ti sabali nga agar-aramat, a sinerraan ni $1.\nTi rason nga inted ket:\n\n:<em>$2</em>\n\n* Rugi ti serra: $8\n* Panagpaso ti serra: $6\n* Naikeddenga a serraanna: $7\n\nMabalinmo a kontaken ni $1 wenno maysa kadagiti [[{{MediaWiki:Grouppage-sysop}}|administrador]] tapno maipalawag daytoy a panagserra.\n\nLaglagipem a saanmo a mabalin nga usaren ti \"esuratan daytoy nga agar-aramat\" a langa malaksid no addaanka ti napudno nga adres ti esurat a nakarehistro iti [[Special:Preferences|kakaykayatam]] ken saanka a naserraan manipud ti panagusar daytoy.\n\nTi agdama a bukodmo nga adres ti IP ket $3, ken ti ID ti naserraan ket #$5.\nPangngaasi nga iramanmo amin dagiti salaysay dita ngato kadagiti ania man nga aramidem nga usisa.",
+ "blockedtext": "<strong>Naseraan ti naganmo nga agar-aramat wenno ti adres ti IP.</strong>\n\nTi serra ket inaramid babaen ni $1. \nTi rason a naited ket <em>$2</em>.\n\n* Rugi ti serra: $8\n* Panagpaso ti serra: $6\n* Naikeddeng a serraanna: $7\n\nMabalinmo a kontaken ni $1 wenno sabali pay nga [[{{MediaWiki:Grouppage-sysop}}|administrador]] no kayatmo a maipalawag daytoy a panagserra.\nDimo mabalin nga aramaten ti ramit nga {{int:emailuser}} malaksid no adda napudno nga adres ti esurat a nainaganan iti [[Special:Preferences|pakabilangan ti kakaykayatm]] ken no saanka a naparitan nga agaramat iti daytoy.\nTi agdama nga adres ti IP ket $3, ti naserraan nga ID ket #$5. \nPangngaasi nga iramanmo amin dagiti salaysay dita ngato kadagiti ania man nga aramidem nga usisa.",
+ "autoblockedtext": "Ti bukodmo nga adres ti IP ket automatiko a naserraan ngamin ket inusar ti sabali nga agar-aramat, a sinerraan ni $1.\nTi rason nga inted ket:\n\n:<em>$2</em>\n\n* Rugi ti serra: $8\n* Panagpaso ti serra: $6\n* Naikeddeng a serraanna: $7\n\nMabalinmo a kontaken ni $1 wenno maysa kadagiti [[{{MediaWiki:Grouppage-sysop}}|administrador]] tapno maipalawag daytoy a panagserra.\n\nLaglagipem a saanmo a mabalin nga usaren ti \"{{int:emailuser}}\" a langa malaksid no addaanka iti napudno nga adres ti esurat a nakarehistro iti [[Special:Preferences|kakaykayatam]] ken saanka a naserraan manipud iti panagusar daytoy.\n\nTi agdama a bukodmo nga adres ti IP ket $3, ken ti ID ti naserraan ket #$5.\nPangngaasi nga iramanmo amin dagiti salaysay dita ngato kadagiti ania man nga aramidem nga usisa.",
"systemblockedtext": "Ti naganmo nga agar-aramat wenno adres ti IP ket automatikon a sinerraan babaen ti MediaWiki.\nTi naited a rason ket:\n\n:<em>$2</em>\n\n* Rugi ti serra: $8\n* Panagpaso ti serra: $6\n* Naikeddeng a maserraan: $7\nTi agdama nga adresmo nga IP ket $3.\nPangngaasi nga iraman amin dagiti salaysay dita ngato kadagiti ania man nga aramidem nga usisa.",
"blockednoreason": "awan ti naited a rason",
"whitelistedittext": "Pangngaasi a $1 tapno makaurnos kadagiti panid.",
"rcfilters-watchlist-markseen-button": "Markaan amin a sinuksukatan a kas nakitan",
"rcfilters-watchlist-edit-watchlist-button": "Urnosem ti listaam kadagiti mabuybuya a panid",
"rcfilters-preference-label": "Ilemmeng ti napasayaat a bersion ti Kaudian a Balbaliw",
+ "rcfilters-filter-showlinkedfrom-option-label": "<strong>Pampanid a maisilpo manipud iti</strong> napili a panid",
"rcfilters-filter-showlinkedto-label": "Ipakita dagiti binaliwan iti pakaisilpuan dagiti panid",
"rcfilters-filter-showlinkedto-option-label": "<strong>Pampanid a maisilpo iti</strong> napili a panid",
"rcfilters-target-page-placeholder": "Mangikabil iti nagan ti panid (wenno kategoria)",
"recentchangeslinked-feed": "Mainaig a sinukatan",
"recentchangeslinked-toolbox": "Mainaig a sinuksukatan",
"recentchangeslinked-title": "Sinukatan a mainaig iti \"$1\"",
- "recentchangeslinked-summary": "Mangikabil iti maysa a nagan ti panid tapno makita dagiti panagbaliw kadagiti naisilpo a panid wenno iti dayta a panid. (Tapno makita dagiti kameng iti maysa a kategoria, ikabil ti Kategoria:Nagan ti kategoria). Dagiti panagbaliw kadagiti panid iti [[Special:Watchlist|Listaan ti bambantayam]] ket addada iti <strong>napuskol</strong>.",
+ "recentchangeslinked-summary": "Mangikabil iti maysa a nagan ti panid tapno makita dagiti panagbaliw kadagiti naisilpo a panid wenno iti dayta a panid. (Tapno makita dagiti kameng iti maysa a kategoria, ikabil ti {{ns:category}}:Nagan ti kategoria). Dagiti panagbaliw kadagiti panid iti [[Special:Watchlist|Listaan ti bambantayam]] ket addada iti <strong>napuskol</strong>.",
"recentchangeslinked-page": "Nagan ti panid:",
"recentchangeslinked-to": "Ipakita dagiti sinukatan kadagiti panid nga imbes a naisilpo iti naited a panid",
"recentchanges-page-added-to-category": "nainayon ti [[:$1]] iti kategoria",
"uploadbtn": "Agikarga iti papeles",
"reuploaddesc": "Ukasen ti panagikarga ken agsubli idiay porma ti panagikarga",
"upload-tryagain": "Mangited iti napabaro a deskripsion ti papeles",
+ "upload-tryagain-nostash": "Mangited iti naikarga manen a papeles ken ti nabaliwan a deskripsion",
"uploadnologin": "Saan a nakastrek",
"uploadnologintext": "Pangngaasi a $1 tapno makaikarga kadagiti papeles.",
"upload_directory_missing": "Ti pagikargaan a direktorio ($1) ket awan ken saan a mabalin a mapartuat babaen ti webserver.",
"file-deleted-duplicate-notitle": "Ti papales a kapada iti daytoy a papeles ket dati a naikkat, ken nalapdan ti titulo.\nNasken nga agdamagka iti sabali nga addaan iti abilidad a mangrepaso ti nalapdan a datos ti papeles tapno marepaso ti kasasaad sakbay a mapan nga agikarga manen iti daytoy.",
"uploadwarning": "Ballaag ti panagikarga",
"uploadwarning-text": "Pangngaasi a baliwam ti deskripsion ti papeles dita baba ken padasen manen.",
+ "uploadwarning-text-nostash": "Pangngaasi nga ikarga manen ti papeles, baliwan ti deskripsion dita baba ken padasen manen.",
"savefile": "Idulin ti papeles",
"uploaddisabled": "Nabaldado dagiti panagikarga.",
"copyuploaddisabled": "Nabaldado ti panagikarga babaen ti URL.",
"protectedtitles-submit": "Ipakita dagiti titulo",
"listusers": "Listaan ti agar-aramat",
"listusers-editsonly": "Ipakita laeng dagiti agar-aramat nga addaan kadagiti inurnos",
+ "listusers-temporarygroupsonly": "Ipakita laeng dagiti agar-aramat kadagiti temporario a grupo ti agar-aramat.",
"listusers-creationsort": "Ilasin babaen ti petsa a pannakapartuat",
"listusers-desc": "Ilasin iti agpababa nga urnos",
"usereditcount": "$1 {{PLURAL:$1|nga inurnos|kadagiti inurnos}}",
"dellogpage": "Listaan ti panagikkat",
"dellogpagetext": "Adda dita baba ti listaan dagiti kaudian a panangikkat.",
"deletionlog": "listaan ti panagikkat",
+ "log-name-create": "Listaan ti panagpartuat iti panid",
+ "log-description-create": "Dita baba ket listaan dagiti kaudian a panagpartuat iti panid.",
+ "logentry-create-create": "{{GENDER:$2|Pinartuat}} ni $1 ti panid ti $3",
"reverted": "Naisubli iti nasapsapa a rebision",
"deletecomment": "Rason:",
"deleteotherreason": "Sabali/maipatinayon a rason:",
"gotointerwiki-invalid": "Ti nainaganan a titulo ket imbalido.",
"pagedata-title": "Datos ti panid",
"pagedata-not-acceptable": "Awan ti kapada a pormat ti nabirukan. Dagiti masuportaran a kita ti MIME: $1",
- "pagedata-bad-title": "Imbalido ti titulo: $1."
+ "pagedata-bad-title": "Imbalido ti titulo: $1.",
+ "unregistered-user-config": "Para kadagiti rason ti seguridad dagiti subpanid ti agar-aramat iti JavaScript, CSS ken JSON ket saan a maikarga para kadagiti di nairehistro nga agar-aramat.",
+ "passwordpolicies": "Dagiti annuroten ti kontrasenias",
+ "passwordpolicies-summary": "Daytoy ti listaan dagiti epektibo nga annuroten ti kontrasenias para kadagiti grupo ti agar-aramat iti daytoy a wiki.",
+ "passwordpolicies-group": "Grupo",
+ "passwordpolicies-policies": "Dagiti annuroten",
+ "passwordpolicies-policy-minimalpasswordlength": "Ti kontrasenias ket nasken a saan a basbassit ngem $1 a {{PLURAL:$1|karakter|karkarakter}} iti kaatiddog",
+ "passwordpolicies-policy-minimumpasswordlengthtologin": "Ti kontrasenias ket nasken a saan a basbassit ngem $1 a {{PLURAL:$1|karakter|karkarakter}} iti kaatiddog tapno makabaelan ti sumrek",
+ "passwordpolicies-policy-passwordcannotmatchusername": "Ti kontrasenia ket saan a mabalin a kapada a kas ti nagan ti agar-aramat",
+ "passwordpolicies-policy-passwordcannotmatchblacklist": "Ti kontrasenias ket saan a mabalin a maipada kadagiti naiparit a kontrasenias",
+ "passwordpolicies-policy-maximalpasswordlength": "Ti kontrasenias ket nasken a basbassit ngem $1 a {{PLURAL:$1|karakter|karkarakter}} iti kaatiddog",
+ "passwordpolicies-policy-passwordcannotbepopular": "Ti kontrasenias ket saan a mabalin {{PLURAL:$1|a ti popular a kontrasenias|nga adda iti listaan dagiti $1 a popular a kontrasenias}}"
}
"listgrouprights-namespaceprotection-namespace": "ЦIерий моттиг",
"listgrants-rights": "Бокъонаш",
"emailuser": "Доакъашхочоа каьхат",
+ "emailusername": "Доакъашхочун цIи:",
"usermessage-editor": "Системан дIакхоачадар",
"watchlist": "Зем",
"mywatchlist": "Зем",
"watchlistfor2": "Доакъашхо $1 $2",
+ "addwatch": "Зема хьаязъяьрá юкъеяьккха",
"addedwatchtext": "Статья «[[:$1]]» а, цун дувца оттадара оагIув а тIатехай хьа [[Special:Watchlist|зем бара хьаязъяьра]].",
"removedwatchtext": "Статья «[[:$1]]» а, иштта цун дувца оттадара оагIув а дIаяьккхай хьа [[Special:Watchlist|зем бара хьаязъяьр]] чура.",
"watch": "Зем бе",
"year": "Укх шер (кхы хьалхагIа):",
"sp-contributions-newbies": "Хьахьокха алхха керда дагара йоазонашца баь бола къахьегам",
"sp-contributions-blocklog": "блок тохар",
- "sp-contributions-deleted": "доакъашхочун дӀадаьха тоадар",
+ "sp-contributions-deleted": "{{GENDER:$1|доакъашхочун}} дӀадаьккха хинна тоадар",
"sp-contributions-uploads": "чуяьхараш",
"sp-contributions-logs": "тептараш",
"sp-contributions-talk": "дувца оттадар",
- "sp-contributions-userrights": "доакъашхочун бокъонашта урхалдар",
+ "sp-contributions-userrights": "{{GENDER:$1|доакъашхочун}} бокъонашта урхалдар",
"sp-contributions-search": "Къахьегама лахар",
"sp-contributions-username": "IP-адрес е доакъашхочун цӀи:",
"sp-contributions-toponly": "Гойта алхха тIехьара эршаш хинна дола тоадаьраш",
"whatlinkshere": "Тӏатовжамаш укхаза",
"whatlinkshere-title": "«$1» яхача оагӏонна тӏатовжаш йола оагӏонаш",
"whatlinkshere-page": "ОагIув:",
- "linkshere-2": "«'''$2'''» ← укхунна тӀахьожавеш я тӀехьайоагӀа оагӀонаш:",
- "nolinkshere-2": "Кхыйолча оагӏонашкара '''$2''' яхача оагӏон тIатовжамаш доацаш да.",
+ "linkshere-2": "<strong>$2</strong> ← укхунна тӀахьожавеш я тӀехьайоагӀа оагӀонаш:",
+ "nolinkshere-2": "Кхыйолча оагӏонашкара <strong>$2</strong> яхача оагӏонна тIатовжамаш доацаш да.",
"isredirect": "дIа-хьа хьожавара оагIув",
"istemplate": "юкъейоалаяр",
"isimage": "Файлови тӏатовжам",
"redirect-file": "Arkivo-nomo",
"fileduplicatesearch-submit": "Serchar",
"specialpages": "Specala pagini",
+ "specialpages-group-maintenance": "Raporti pri manteno",
"specialpages-group-other": "Altra specala pagini",
"specialpages-group-login": "Enirar / krear konto",
"specialpages-group-changes": "Recenta chanji e registri",
"dellogpage": "Cancellazioni",
"dellogpagetext": "Di seguito sono elencate le pagine cancellate di recente.",
"deletionlog": "cancellazioni",
+ "log-name-create": "Creazioni di pagine",
+ "log-description-create": "Di seguito sono elencate le pagine create di recente.",
+ "logentry-create-create": "$1 {{GENDER:$2|ha creato}} la pagina $3",
"reverted": "Ripristinata la versione precedente",
"deletecomment": "Motivo:",
"deleteotherreason": "Altri motivi/dettagli:",
"whatlinkshere-title": "Pagine che puntano a \"$1\"",
"whatlinkshere-page": "Pagina:",
"linkshere-2": "Le seguenti pagine contengono dei collegamenti a <strong>$2</strong>:",
- "nolinkshere-2": "Nessuna pagina contiene collegamenti che puntano a '''$2'''.",
- "nolinkshere-ns-2": "Non vi sono pagine che puntano a '''$2''' nel namespace selezionato.",
+ "nolinkshere-2": "Nessuna pagina contiene collegamenti che puntano a <strong>$2</strong>.",
+ "nolinkshere-ns-2": "Non vi sono pagine che puntano a <strong>$2</strong> nel namespace selezionato.",
"isredirect": "redirect",
"istemplate": "inclusione",
"isimage": "collegamento al file",
"botpasswords-existing": "ពាក្យសម្ងាត់រូបយន្តមានហើយ",
"botpasswords-createnew": "បង្កើតពាក្យសម្ងាត់រូបយន្តថ្មី",
"botpasswords-editexisting": "កែប្រែពាក្យសម្ងាត់រូបយន្តមានហើយ",
+ "botpasswords-label-needsreset": "(ពាក្យសម្ងាត់ចាំបាច់ត្រូវកំណត់ឡើងវិញ)",
"botpasswords-label-appid": "ឈ្មោះរូបយន្ត៖",
"botpasswords-label-create": "បង្កើត",
"botpasswords-label-update": "បន្ទាន់សម័យ",
"dellogpage": "삭제 기록",
"dellogpagetext": "아래의 목록은 최근에 삭제된 문서입니다.",
"deletionlog": "삭제 기록",
+ "log-name-create": "문서 만들기 기록",
+ "log-description-create": "아래의 목록은 최근에 생성된 문서입니다.",
+ "logentry-create-create": "$1님이 $3 문서를 {{GENDER:$2|만들었습니다}}",
"reverted": "이전 판으로 되돌렸습니다",
"deletecomment": "이유:",
"deleteotherreason": "다른 이유/추가적인 이유:",
"whatlinkshere": "여기를 가리키는 문서",
"whatlinkshere-title": "\"$1\" 문서를 가리키는 문서 목록",
"whatlinkshere-page": "문서:",
- "linkshere-2": "다음 문서가 '''$2''' 문서를 가리키고 있습니다:",
- "nolinkshere-2": "'''$2''' 문서를 가리키는 문서가 없습니다.",
- "nolinkshere-ns-2": "선택한 이름공간에는 '''$2''' 문서를 가리키는 문서가 없습니다.",
+ "linkshere-2": "다음 문서가 <strong>$2</strong> 문서를 가리키고 있습니다:",
+ "nolinkshere-2": "<strong>$2</strong> 문서를 가리키는 문서가 없습니다.",
+ "nolinkshere-ns-2": "선택한 이름공간에는 <strong>$2</strong> 문서를 가리키는 문서가 없습니다.",
"isredirect": "넘겨주기 문서",
"istemplate": "끼워넣기",
"isimage": "연결된 파일",
"dellogpage": "Дневник на бришења",
"dellogpagetext": "Подолу е наведен список на најновите бришења.",
"deletionlog": "дневник на бришењата",
+ "log-name-create": "Дневник на создавање страници",
+ "log-description-create": "Подолу е наведен список на најновите создавања.",
+ "logentry-create-create": "$1 {{GENDER:$2|ја создаде}} страница $3",
"reverted": "Вратено на претходната преработка",
"deletecomment": "Причина:",
"deleteotherreason": "Друга/дополнителна причина:",
"savechanges": "Simpan perubahan",
"publishpage": "Terbitkan",
"publishchanges": "Terbit perubahan",
+ "savearticle-start": "Simpan laman...",
+ "savechanges-start": "Simpan perubahan...",
+ "publishpage-start": "Terbitkan laman...",
+ "publishchanges-start": "Terbitkan perubahan...",
"preview": "Pralihat",
"showpreview": "Paparkan pralihat",
"showdiff": "Lihat perubahan",
"dellogpage": "Verwijderingslogboek",
"dellogpagetext": "Hieronder wordt een lijst met recent verwijderde pagina's en bestanden weergegeven.",
"deletionlog": "verwijderingslogboek",
+ "log-name-create": "Logboek nieuwe pagina's",
+ "log-description-create": "Hieronder wordt een lijst met recent aangemaakte pagina's weergegeven.",
+ "logentry-create-create": "$1 {{GENDER:$2|heeft}} de pagina $3 aangemaakt",
"reverted": "Eerdere versie hersteld",
"deletecomment": "Reden:",
"deleteotherreason": "Andere reden:",
"sp-contributions-newbies-title": "Contribuições de contas novas",
"sp-contributions-blocklog": "registro de bloqueios",
"sp-contributions-suppresslog": "Contribuições de {{GENDER:$1|usuário}} suprimidas",
- "sp-contributions-deleted": "contribuições eliminadas do {{GENDER:$1|usuário}}",
+ "sp-contributions-deleted": "contribuições eliminadas",
"sp-contributions-uploads": "envios",
"sp-contributions-logs": "registros",
- "sp-contributions-talk": "disc",
- "sp-contributions-userrights": "gerenciamento de privilégios de {{GENDER:$1|usuários}}",
+ "sp-contributions-talk": "discussão",
+ "sp-contributions-userrights": "gerenciamento de privilégios",
"sp-contributions-blocked-notice": "Este usuário atualmente está bloqueado. O registro de bloqueio mais recente é fornecido abaixo para referência:",
"sp-contributions-blocked-notice-anon": "Este endereço IP encontra-se bloqueado.\nSegue, para referência, a entrada mais recente no registro de bloqueios:",
"sp-contributions-search": "Navegar pelas contribuições",
"actionfailed": "Operação falhou",
"deletedtext": "\"$1\" foi eliminada.\nConsulte $2 para um registo de eliminações recentes.",
"dellogpage": "Registo de eliminações",
- "dellogpagetext": "Abaixo uma lista das eliminações mais recentes.",
+ "dellogpagetext": "Encontra abaixo uma lista das eliminações mais recentes.",
"deletionlog": "registo de eliminações",
+ "log-name-create": "Registo de criação de páginas",
+ "log-description-create": "Encontra abaixo uma lista das criações de páginas mais recentes.",
+ "logentry-create-create": "$1 {{GENDER:$2|criou}} a página $3",
"reverted": "Revertido para versão anterior",
"deletecomment": "Motivo:",
"deleteotherreason": "Outro/motivo adicional:",
"sp-contributions-newbies-title": "Contribuições de contas novas",
"sp-contributions-blocklog": "registo de bloqueios",
"sp-contributions-suppresslog": "contribuições suprimidas {{GENDER:$1|do utilizador|da utilizadora}}",
- "sp-contributions-deleted": "contribuições eliminadas {{GENDER:$1|do utilizador|da utilizadora}}",
+ "sp-contributions-deleted": "{{GENDER:$1|contribuições}} eliminadas",
"sp-contributions-uploads": "carregamentos",
"sp-contributions-logs": "registos",
"sp-contributions-talk": "discussão",
- "sp-contributions-userrights": "Gestão de privilégios {{GENDER:$1|do utilizador|da utilizadora}}",
+ "sp-contributions-userrights": "{{GENDER:$1|gestão}} dos privilégios",
"sp-contributions-blocked-notice": "Este utilizador está bloqueado neste momento.\nPara referência é apresentado abaixo o último registo de bloqueio:",
"sp-contributions-blocked-notice-anon": "Este endereço IP está bloqueado neste momento.\nPara referência é apresentado abaixo o último registo de bloqueio:",
"sp-contributions-search": "Pesquisar contribuições",
"dellogpage": "{{doc-logpage}}\n\nThe name of the deletion log. Used as heading on [[Special:Log/delete]] and in the drop down menu for selecting logs on [[Special:Log]].\n{{Identical|Deletion log}}",
"dellogpagetext": "Text in [[Special:Log/delete]].",
"deletionlog": "Used as text for the link which points to the deletion log:\n* Used as <code>$1</code> in {{msg-mw|Filewasdeleted}}\n* Used as <code>$2</code> in {{msg-mw|Deletedtext}}\n* Used in log lines on [[Special:DeletedContributions]]\n{{Identical|Deletion log}}",
+ "log-name-create": "{{doc-logpage}}\n\nThe name of the page creation log. Used as heading on [[Special:Log/create]] and in the drop down menu for selecting logs on [[Special:Log]].",
+ "log-description-create": "Text in [[Special:Log/create]].",
+ "logentry-create-create": "{{Logentry|[[Special:Log/create]]}}",
"reverted": "{{Identical|Revert}}",
"deletecomment": "{{Identical|Reason}}",
"deleteotherreason": "{{Identical|Other/additional reason}}",
"tog-watchdefault": "ᱤᱧᱟᱜ ᱥᱟᱯᱲᱟᱣ ᱧᱮᱞᱚᱜ ᱛᱟᱹᱞᱠᱟᱹᱨᱮ ᱥᱟᱦᱴᱟᱠᱩ ᱟᱨ ᱨᱮᱫᱠᱩ ᱥᱮᱞᱮᱫ ᱢᱮ",
"tog-watchmoves": "ᱤᱧᱟᱜ ᱥᱟᱯᱲᱟᱣ ᱧᱮᱞᱚᱜ ᱛᱟᱹᱞᱠᱟᱹᱨᱮ ᱥᱟᱦᱴᱟᱠᱩ ᱟᱨ ᱨᱮᱫᱠᱩ ᱚᱪᱟᱜᱽ ᱢᱮ",
"tog-watchdeletion": "ᱤᱧᱟᱜ ᱥᱟᱯᱲᱟᱣ ᱧᱮᱞᱚᱜ ᱛᱟᱹᱞᱠᱟᱹᱨᱮ ᱥᱟᱦᱴᱟᱠᱩ ᱟᱨ ᱨᱮᱫᱠᱩ ᱜᱮᱫ ᱜᱤᱰᱤᱭ ᱢᱮ",
+ "tog-watchuploads": "ᱱᱟᱶᱟ ᱨᱮᱫ ᱥᱮᱞᱮᱫᱽᱢᱮ ᱤᱧᱟᱜ ᱧᱮᱞ ᱞᱤᱥᱴᱤ ᱨᱤᱧ ᱞᱟᱫᱮᱭᱟ",
+ "tog-watchrollback": "ᱥᱟᱦᱴᱟ ᱥᱮᱞᱮᱫᱽᱢᱮ ᱡᱟᱦᱟᱸᱨᱮ ᱤᱧᱟᱜ ᱧᱮᱞ ᱞᱤᱥᱴᱤᱧ ᱟᱹᱪᱩᱨ ᱨᱩᱣᱟᱹᱲ ᱟᱠᱟᱫᱼᱟ",
"tog-minordefault": "ᱮᱛᱦᱚᱵᱨᱮ ᱥᱟᱱᱟᱢ ᱥᱟᱯᱲᱟᱣᱠᱩ ᱦᱩᱰᱤᱧ ᱞᱮᱠᱟᱛᱮ ᱪᱤᱱᱦᱟᱹ ᱠᱟᱜ ᱢᱮ",
"tog-previewontop": "ᱥᱟᱯᱲᱟᱣ ᱵᱟᱠᱥᱳ ᱞᱟᱦᱟᱨᱮ ᱩᱱᱩᱫᱩᱜ ᱩᱫᱩᱜᱽ ᱢᱮ",
"tog-previewonfirst": "ᱯᱟᱹᱦᱤᱞ ᱥᱟᱯᱲᱟᱣ ᱨᱮ ᱩᱱᱩᱫᱩᱜ ᱩᱫᱩᱜᱽ ᱢᱮ",
"october-date": "ᱚᱠᱴᱚᱵᱚᱨ $1",
"november-date": "ᱱᱚᱵᱷᱮᱢᱵᱚᱨ $1",
"december-date": "ᱰᱤᱥᱮᱢᱵᱚᱨ $1",
+ "period-am": "ᱮᱹᱮᱢ",
+ "period-pm": "ᱯᱤᱹᱮᱢ",
"pagecategories": "{{PLURAL:$1|ᱛᱷᱚᱠ|ᱛᱷᱚᱠᱠᱩ}}",
"category_header": "ᱛᱷᱚᱠ ᱨᱮᱱ ᱥᱟᱦᱴᱟᱞᱩ \"$1\"",
"subcategories": "ᱦᱩᱰᱤᱧ ᱛᱷᱚᱠᱠᱩ",
"talk": "ᱜᱟᱞᱢᱟᱨᱟᱣ",
"views": "ᱧᱮᱞᱚᱜᱚᱜ",
"toolbox": "ᱦᱟᱹᱛᱭᱟᱹᱨ",
+ "tool-link-emailuser": "ᱤᱢᱮᱞᱟᱭᱢᱮ ᱱᱩᱭ {{GENDER:$1|ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ}}",
"imagepage": "ᱨᱮᱫ ᱥᱟᱦᱴᱟ ᱧᱮᱞᱢᱮ",
"mediawikipage": "ᱠᱷᱚᱵᱚᱨ ᱥᱟᱦᱴᱟ ᱧᱮᱞᱢᱮ",
"templatepage": "ᱪᱷᱟᱸᱪ ᱥᱟᱦᱴᱟ ᱩᱫᱩᱜᱽ ᱢᱮ",
"pool-timeout": "Somoy paromena cạbi lạgit́te tạṅgi hoyoḱkana",
"pool-queuefull": "Pool queue is full",
"pool-errorunknown": "ᱵᱟᱝ ᱵᱟᱰᱟᱭ ᱦᱩᱲᱟᱹᱜ",
+ "poolcounter-usage-error": "ᱵᱮᱵᱷᱟᱨᱟᱜ ᱦᱩᱲᱟᱹᱜᱺ $1",
"aboutsite": "{{SITENAME}} ᱵᱟᱵᱚᱛ",
"aboutpage": "Project: ᱵᱟᱵᱚᱛ",
"copyright": "ᱩᱱᱩᱫᱩᱜ ᱫᱚ ᱧᱟᱢᱚᱜ-ᱟ $1 ᱞᱮᱠᱟᱛᱮ ᱵᱟᱝᱠᱷᱟᱱ ᱚᱞ ᱛᱟᱦᱮᱱᱟ",
"retrievedfrom": "\"$1\" ᱠᱷᱚᱱ ᱧᱟᱢ ᱟᱹᱜᱩᱭ",
"youhavenewmessages": "{{PLURAL:$3|ᱟᱢᱟᱜ ᱢᱮᱱᱟᱜ-ᱟ}} $1 ($2)᱾",
"youhavenewmessagesfromusers": "{{PLURAL:$4|ᱟᱢ ᱫᱚ}} $1 ᱠᱷᱚᱱ {{PLURAL:$3|ᱟᱨᱢᱤᱫ ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ|$3 ᱵᱷᱮᱵᱷᱟᱨᱩᱭᱟᱹ}} ($2) ᱾",
+ "youhavenewmessagesmanyusers": "ᱟᱭᱢᱟ ᱵᱮᱵᱦᱟᱨᱤᱭᱟᱹ ($2) ᱠᱷᱚᱱ ᱟᱢ ᱫᱚ $1",
"newmessageslinkplural": "{{PLURAL:$1|ᱢᱤᱫ ᱱᱟᱶᱟ ᱢᱮᱥᱮᱡᱽ|999=ᱱᱟᱶᱟ ᱢᱮᱥᱮᱡᱽᱠᱚ}}",
"newmessagesdifflinkplural": "ᱢᱩᱪᱟᱹᱫ {{PLURAL:$1|ᱵᱚᱫᱚᱞ|999=ᱵᱚᱫᱚᱞᱠᱚ}}",
"youhavenewmessagesmulti": "ᱟᱢᱟᱜ ᱱᱟᱣᱟ ᱠᱷᱚᱵᱟᱨᱠᱚ ᱫᱚ $1 ᱨᱮ ᱢᱮᱱᱟᱜ-ᱟ",
"hidetoc": "ᱫᱟᱱᱟᱝ",
"collapsible-collapse": "ᱢᱩᱨᱪᱷᱟᱹᱣ ᱪᱟᱵᱟ",
"collapsible-expand": "ᱯᱷᱟᱭᱞᱟᱣ",
+ "confirmable-confirm": "{{GENDER:$1|ᱟᱢ}} ᱴᱷᱟᱹᱣᱠᱟᱹ ᱭᱮᱜ-ᱟᱢ?",
"confirmable-yes": "ᱦᱮᱸ",
"confirmable-no": "ᱵᱟᱝ",
"thisisdeleted": "ᱧᱮᱞ ᱥᱮ ᱨᱩᱭᱟᱹᱲ ᱫᱚᱲᱦᱟ $1?",
"nospecialpagetext": "<strong>ᱟᱢ ᱫᱚ ᱡᱟᱦᱟᱸ ᱥᱟᱦᱴᱟ ᱞᱟᱹᱜᱤᱫ ᱮᱢ ᱱᱮᱦᱚᱨ ᱟᱠᱟᱫᱟ ᱚᱱᱟᱫᱚ ᱵᱟᱹᱱᱩᱜ-ᱟ </strong>\nᱡᱟᱦᱟᱸ ᱥᱟᱦᱴᱟᱠᱩ ᱱᱚᱸᱰᱮ ᱢᱮᱱᱟᱜ-ᱟ ᱚᱱᱟᱨᱮᱱᱟᱜ ᱛᱟᱹᱞᱠᱟᱹ ᱱᱚᱸᱰᱮᱢ ᱧᱟᱢᱟ [[Special:SpecialPages|{{int:specialpages}}]]᱾",
"error": "ᱦᱩᱲᱟᱹᱜ",
"databaseerror": "ᱰᱟᱴᱟᱵᱮᱡᱽ ᱦᱩᱲᱟᱹᱜ",
+ "databaseerror-query": "ᱠᱩᱠᱞᱤ: $1",
+ "databaseerror-function": "ᱠᱟᱹᱢᱤ: $1",
"databaseerror-error": "ᱦᱩᱲᱟᱹᱜ: $1",
"laggedslavemode": "'''Sontoroḱme:''' sakamre do nahaḱ nãwãnaḱko paseć bạnuḱa.",
"readonly": "ᱰᱟᱴᱟᱵᱮᱡᱽ ᱛᱟᱞᱟᱜᱮᱭᱟ",
"virus-badscanner": "Vul konfigareson: baṅ orom vairas skenar: \"$1\"",
"virus-scanfailed": "Esken baṅ hoelena (Code $1)",
"virus-unknownscanner": "Baṅ urum anṭvayras:",
+ "cannotlogoutnow-title": "ᱱᱤᱛ ᱚᱰᱚᱠ ᱵᱟᱭ ᱜᱟᱱᱚᱜ ᱠᱟᱱᱟ",
+ "cannotlogoutnow-text": "ᱚᱰᱚᱠᱚᱜ ᱫᱚ ᱵᱟᱭ ᱜᱟᱱᱚᱜᱼᱟ ᱡᱚᱠᱷᱚᱱ $1 ᱵᱮᱵᱷᱟᱨᱚᱜ ᱠᱟᱱᱟ",
"welcomeuser": "ᱥᱟᱹᱜᱩᱱ ᱫᱟᱨᱟᱢ, $1!",
- "welcomecreation-msg": "Amaḱ ekaunṭ do̠ jhićena. Amaḱ pạsindko bodol alom hiṛińa.",
+ "welcomecreation-msg": "ᱟᱢᱟᱜ ᱮᱠᱟᱶᱩᱴ ᱫᱚ ᱛᱮᱭᱟᱨᱮᱱᱟ ᱾\nᱟᱢ ᱥᱟᱱᱟᱢᱮ ᱠᱷᱟᱱ ᱟᱢᱟᱜ {{SITENAME}} [[Special:Preferences|ᱠᱩᱥᱤᱠᱚ]] ᱵᱚᱫᱚᱞ ᱫᱟᱲᱮᱭᱟᱜ ᱟᱢ ᱾",
"yourname": "ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ᱧᱩᱛᱩᱢ:",
"userlogin-yourname": "ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ᱧᱩᱛᱩᱢ",
"userlogin-yourname-ph": "ᱟᱢᱟᱜ ᱵᱮᱵᱦᱟᱨᱤᱭᱟᱹ ᱧᱤᱛᱩᱢ ᱵᱚᱞᱚᱭ ᱢᱮ",
"createacct-yourpasswordagain": "ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱴᱷᱟᱹᱣᱠᱟᱹᱭ ᱢᱮ",
"createacct-yourpasswordagain-ph": "ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱟᱫᱮᱨᱢᱮ ᱫᱚᱲᱦᱟ",
"userlogin-remembermypassword": "ᱵᱚᱞᱚ ᱛᱷᱤᱨᱜᱮ ᱫᱚᱦᱚᱠᱟᱹᱧᱢᱮ",
+ "userlogin-signwithsecure": "ᱥᱤᱠᱣᱟᱹᱨ ᱠᱷᱚᱸᱡᱟ ᱵᱮᱵᱷᱟᱨ ᱢᱮ",
+ "cannotlogin-title": "ᱵᱚᱞᱚ ᱵᱟᱭ ᱜᱟᱱ ᱞᱮᱱᱟ",
+ "cannotlogin-text": "ᱵᱚᱞᱚ ᱵᱟᱭ ᱦᱩᱭ ᱫᱟᱲᱮᱭᱟᱜᱼᱟ ᱾",
+ "cannotloginnow-title": "ᱱᱤᱛ ᱵᱟᱝ ᱵᱚᱞᱚᱱᱟ",
+ "cannotloginnow-text": "ᱵᱚᱞᱚᱱ ᱫᱚ ᱵᱟᱭ ᱜᱟᱱᱚᱜᱼᱟ ᱡᱚᱠᱷᱚᱱ $1 ᱵᱮᱵᱷᱟᱨᱚᱜ ᱠᱟᱱᱟ",
+ "cannotcreateaccount-title": "ᱮᱠᱟᱶᱩᱴ ᱵᱟᱝ ᱛᱮᱭᱟᱨᱞᱮᱱᱟ",
"yourdomainname": "ᱟᱢᱟᱜ ᱧᱩᱛᱩᱢ:",
"externaldberror": "Hoe daṛeyaḱa jahan bahre reaḱ jacaeaḱ ḍaṭabes vul hoeakana se amaḱ bahre reaḱ ekaunṭ do nahaḱ halot aguire ạidạri bạnuḱa.",
"login": "ᱵᱚᱞᱚᱜ ᱢᱮ",
"loginlanguagelabel": "ᱯᱟᱹᱨᱥᱤ: $1",
"pt-login": "ᱵᱚᱞᱚᱜ ᱫᱩᱭᱟᱹᱨ",
"pt-login-button": "ᱵᱚᱞᱚᱜ ᱢᱮ",
+ "pt-login-continue-button": "ᱞᱮᱛᱟᱲ ᱵᱚᱞᱚ ᱠᱚᱜᱼᱢᱮ",
"pt-createaccount": "ᱴᱷᱟᱭ ᱵᱮᱱᱟᱣᱢᱮ",
"pt-userlogout": "ᱚᱰᱚᱠᱚᱜ ᱢᱮ",
"user-mail-no-addy": "Jahan e-mail ṭhikana bạgi kate e-mail kul kurumuṭu hoena.",
"savechanges": "ᱵᱚᱫᱚᱞᱠᱚ ᱨᱩᱠᱷᱤᱭᱟᱹᱭ ᱢᱮ",
"publishpage": "ᱥᱟᱦᱴᱟ ᱯᱟᱨᱥᱟᱞ ᱢᱮ",
"publishchanges": "ᱵᱚᱫᱚᱞᱠᱚ ᱯᱟᱨᱥᱟᱞ ᱢᱮ",
+ "savearticle-start": "ᱥᱟᱦᱴᱟ ᱨᱩᱠᱷᱭᱟᱹᱹᱹ",
+ "savechanges-start": "ᱵᱚᱫᱚᱞ ᱨᱩᱠᱷᱭᱟᱹᱹᱹ",
+ "publishpage-start": "ᱥᱟᱦᱴᱟ ᱯᱟᱨᱥᱟᱞᱹᱹᱹ",
+ "publishchanges-start": "ᱵᱚᱫᱚᱞᱠᱚ ᱯᱟᱨᱥᱟᱞ",
"preview": "ᱧᱮᱞ ᱵᱤᱰᱟᱹᱣ",
"showpreview": "ᱧᱮᱞᱡᱚᱝ ᱩᱫᱩᱜᱽᱢᱮ",
"showdiff": "ᱵᱚᱫᱚᱞᱠᱩ ᱩᱫᱩᱜᱽ ᱢᱮ",
"edit-no-change": "ᱟᱢᱟᱜ ᱥᱟᱯᱲᱟᱣ ᱵᱟᱝ ᱦᱟᱛᱟᱣᱞᱮᱱᱟ ᱡᱮᱫᱟᱜ ᱡᱮ ᱚᱞᱨᱮ ᱡᱟᱸᱦᱟᱸᱱ ᱵᱚᱫᱚᱞ ᱵᱟᱹᱱᱩᱜ-ᱟ᱾",
"postedit-confirmation-created": "ᱱᱚᱣᱟ ᱥᱟᱦᱴᱟ ᱫᱚ ᱛᱮᱭᱟᱨᱠᱟᱱᱟ᱾",
"postedit-confirmation-restored": "ᱱᱚᱣᱟ ᱥᱟᱦᱴᱟ ᱫᱚ ᱟᱹᱜᱩ ᱨᱩᱣᱟᱹᱲ ᱦᱩᱭᱠᱟᱱᱟ᱾",
+ "postedit-confirmation-saved": "ᱟᱢᱟᱜ ᱥᱟᱯᱲᱟᱣ ᱫᱚ ᱨᱩᱠᱷᱭᱟᱹᱭᱮᱱᱟ",
+ "postedit-confirmation-published": "ᱟᱢᱟᱜ ᱥᱟᱯᱲᱟᱣ ᱫᱚ ᱯᱟᱨᱥᱟᱞᱮᱱᱟ",
"edit-already-exists": "ᱱᱟᱣᱟ ᱥᱟᱦᱴᱟ ᱵᱟᱝ ᱛᱮᱭᱟᱨ ᱞᱮᱱᱟ᱾\nᱱᱚᱣᱟ ᱫᱚ ᱞᱟᱦᱟ ᱠᱷᱚᱱ ᱢᱮᱱᱟᱜ ᱜᱮᱭᱟ᱾",
"defaultmessagetext": "ᱯᱩᱭᱞᱩ ᱚᱞᱠᱟᱱ ᱠᱷᱚᱵᱚᱨ",
"content-model-wikitext": "ᱣᱤᱠᱤ-ᱚᱞ",
"deletedhist": "ᱜᱮᱫ ᱜᱤᱰᱤᱭᱟᱠᱟᱱ ᱱᱟᱜᱟᱢ",
"revdelete-reasonotherlist": "ᱮᱴᱟᱜ ᱚᱡᱮ",
"mergehistory-from": "ᱯᱷᱮᱰᱟᱛ ᱥᱟᱦᱴᱟᱺ",
+ "mergehistory-no-source": "ᱯᱷᱮᱰᱟᱛ ᱥᱟᱦᱴᱟ $1 ᱵᱟᱹᱱᱩᱜᱼᱟ ᱾",
+ "mergehistory-invalid-source": "ᱯᱷᱮᱰᱟᱛ ᱥᱟᱦᱴᱟ ᱫᱚ ᱡᱚᱛᱟᱛ ᱥᱟᱛᱟᱢ ᱦᱩᱭᱩᱜ ᱞᱟᱹᱠᱛᱤ",
"mergehistory-reason": "ᱚᱡᱮ:",
"mergelog": "ᱞᱚᱜᱽ ᱢᱮᱥᱟ",
"revertmerge": "ᱵᱟᱝ ᱢᱤᱛ",
"search-result-category-size": "{{PLURAL:$1|1 ᱥᱚᱦᱮᱫ|$1 ᱥᱚᱦᱮᱫᱠᱩ}} ({{PLURAL:$2|1 ᱦᱩᱰᱤᱧ ᱛᱷᱚᱠ|$ 2 ᱦᱩᱰᱤᱧ ᱛᱷᱚᱠᱠᱩ}}, {{PLURAL:$3|1 ᱨᱮᱫ|$3 ᱨᱮᱫᱠᱩ}})",
"search-redirect": "(ᱥᱚᱡᱷᱮ ᱦᱤᱡᱩᱜ-ᱟ $1 ᱠᱷᱚᱱ)",
"search-section": "(ᱦᱟᱹᱴᱤᱧ $1)",
+ "search-category": "(ᱛᱷᱚᱠ $1)",
"search-file-match": "(ᱢᱤᱫᱩᱜᱟᱜ ᱨᱮᱫ ᱩᱱᱩᱫᱩᱜ)",
"search-suggest": "ᱪᱮᱫ ᱮᱢ ᱢᱮᱱ ᱚᱪᱚᱭᱮᱫᱟ: $1",
"search-interwiki-caption": "ᱥᱟᱶᱛᱮᱱ ᱯᱨᱚᱡᱮᱠᱴ ᱠᱷᱚᱱ ᱚᱨᱡᱚ",
"prefs-setemail": "ᱤᱢᱮᱞ ᱵᱩᱴᱟᱹ ᱡᱚᱲᱟᱣᱢᱮ",
"saveprefs": "ᱨᱩᱠᱷᱤᱭᱟᱹᱭᱢᱮ",
"searchresultshead": "ᱥᱮᱸᱫᱽᱨᱟ",
+ "timezonelegend": "ᱮᱞᱟᱠᱟ ᱚᱠᱛᱚᱺ",
+ "localtime": "ᱴᱚᱴᱷᱟ ᱚᱠᱛᱚᱺ",
+ "timezoneuseserverdefault": "ᱡᱟᱣᱞᱮᱠᱟ ($1) ᱣᱤᱠᱤ ᱵᱮᱵᱷᱟᱨ",
+ "timezoneuseoffset": "ᱮᱴᱟᱜᱟᱜ (ᱚᱯᱷᱥᱮᱴ ᱥᱚᱫᱚᱨ)",
+ "servertime": "ᱥᱚᱨᱵᱷᱚᱨ ᱚᱠᱛᱚᱺ",
+ "guesstimezone": "ᱵᱨᱟᱣᱡᱟᱨ ᱠᱷᱚᱱ ᱯᱮᱨᱮᱡ",
"timezoneregion-africa": "ᱟᱯᱷᱨᱤᱠᱟ",
"timezoneregion-america": "ᱟᱢᱮᱨᱤᱠᱟ",
+ "timezoneregion-antarctica": "ᱟᱱᱴᱟᱨᱠᱴᱤᱠᱟ",
+ "timezoneregion-arctic": "ᱟᱨᱠᱴᱤᱠ",
"timezoneregion-asia": "ᱮᱥᱤᱭᱟ",
+ "timezoneregion-atlantic": "ᱟᱴᱞᱟᱱᱴᱤᱠ ᱢᱟᱦᱟᱫᱚᱨᱭᱟ",
"timezoneregion-australia": "ᱚᱥᱴᱨᱮᱞᱤᱭᱟ",
+ "timezoneregion-europe": "ᱤᱣᱨᱚᱯ",
+ "timezoneregion-indian": "ᱥᱤᱧᱚᱛ ᱢᱟᱦᱟᱫᱚᱨᱭᱟ",
+ "timezoneregion-pacific": "ᱯᱮᱥᱤᱯᱷᱤᱠ ᱢᱟᱦᱟᱫᱚᱨᱭᱟ",
"prefs-searchoptions": "ᱥᱮᱸᱫᱽᱨᱟ",
"prefs-files": "ᱨᱮᱫᱠᱚ",
"youremail": "Email:",
"protectedtitles-submit": "Prikaži naslove",
"listusers": "Seznam uporabnikov",
"listusers-editsonly": "Pokaži samo uporabnike z urejanji",
+ "listusers-temporarygroupsonly": "Pokaži samo uporabnike v začasnih uporabniških skupinah",
"listusers-creationsort": "Razvrsti po datumu ustvaritve",
"listusers-desc": "Razvrsti padajoče",
"usereditcount": "$1 {{PLURAL:$1|urejanje|urejanji|urejanja|urejanj}}",
"apisandbox-dynamic-parameters-add-label": "Dodaj parameter:",
"apisandbox-dynamic-parameters-add-placeholder": "Ime parametra",
"apisandbox-dynamic-error-exists": "Parameter z imenom »$1« že obstaja.",
+ "apisandbox-templated-parameter-reason": "Ta [[Special:ApiHelp/main#main/templatedparams|parameter s predlogo]] je ponujen na podlagi {{PLURAL:$1|vrednosti}} $2.",
"apisandbox-deprecated-parameters": "Zastareli parametri",
"apisandbox-fetch-token": "Samodejno izpolni žeton",
"apisandbox-add-multi": "Dodaj",
"whatlinkshere-title": "Strani, ki se povezujejo na $1",
"whatlinkshere-page": "Stran:",
"linkshere-2": "Na '''$1''' kažejo naslednje strani:",
- "nolinkshere-2": "Nobena stran ne kaže na '''$2'''.",
- "nolinkshere-ns-2": "Nobena stran se ne povezuje na '''$2''' v izbranem imenskem prostoru.",
+ "nolinkshere-2": "Nobena stran ne kaže na <strong>$2</strong>.",
+ "nolinkshere-ns-2": "Nobena stran se ne povezuje na <strong>$2</strong> v izbranem imenskem prostoru.",
"isredirect": "preusmeritvena stran",
"istemplate": "vključitev",
"isimage": "povezava na datoteko",
"pagedata-text": "Ta stran nudi podatkovni vmesnik do strani. Prosimo, navedite naslov strani v URL-ju z uporabo skladnje podstrani.\n* Pogajanje o vsebini se nanaša na glavo Accept vašega odjemalca. To pomeni, da bomo podatke strani posredovali v obliki, ki vašemu odjemalcu bolj ustreza.",
"pagedata-not-acceptable": "Nismo našli ujemajoče oblike. Podprte vrste MIME: $1",
"pagedata-bad-title": "Neveljaven naslov: $1.",
- "unregistered-user-config": "Iz varnostnih razlogov uporabniških podstrani JavaScript, CSS in JSON ne moremo naložiti neregistriranim uporabnikom."
+ "unregistered-user-config": "Iz varnostnih razlogov uporabniških podstrani JavaScript, CSS in JSON ne moremo naložiti neregistriranim uporabnikom.",
+ "passwordpolicies": "Pravilniki gesel",
+ "passwordpolicies-summary": "To je seznam trenutno veljavnih pravilnikov gesel za uporabniške skupine, opredeljene v tem wikiju.",
+ "passwordpolicies-group": "Skupina",
+ "passwordpolicies-policies": "Pravilniki",
+ "passwordpolicies-policy-minimalpasswordlength": "Geslo mora dolgo biti vsaj $1 {{PLURAL:$1|znak|znaka|znake|znakov}}",
+ "passwordpolicies-policy-minimumpasswordlengthtologin": "Geslo mora biti dolgo vsaj $1 {{PLURAL:$1|znak|znaka|znake|znakov}}, da je omogočena prijava",
+ "passwordpolicies-policy-passwordcannotmatchusername": "Geslo ne more biti enako kot uporabniško ime",
+ "passwordpolicies-policy-passwordcannotmatchblacklist": "Geslo se ne sme ujemati s posebej prepovedanimi gesli",
+ "passwordpolicies-policy-maximalpasswordlength": "Geslo ne sme biti daljše od $1 {{PLURAL:$1|znak|znaka|znake|znakov}}",
+ "passwordpolicies-policy-passwordcannotbepopular": "Geslo ne sme biti {{PLURAL:$1|1=popularno geslo|na seznamu $1 popularnih gesel}}"
}
"longpageerror": "<strong>Грешка: текст који сте унели је величине {{PLURAL:$1|један килобајт|$1 килобајта}}, што је веће од {{PLURAL:$2|дозвољеног једног килобајта|дозвољена $2 килобајта|дозвољених $2 килобајта}}.</strong>\nСтраница не може бити сачувана.",
"readonlywarning": "<strong>Упозорење: база података је закључана ради одржавања, тако да тренутно нећете моћи да сачувате измене.</strong>\nМожда бисте желели сачувати текст за касније у некој текстуалној датотеци.\n\nСистемски администратор је навео следеће објашњење: $1",
"protectedpagewarning": "<strong>Упозорење: ова страница је заштићена, тако да само администратори могу да је мењају.</strong>\nПоследњи запис у дневнику је приказан испод:",
- "semiprotectedpagewarning": "<strong>Ð\9dапомена:</strong> Ð\9eва Ñ\81Ñ\82Ñ\80аниÑ\86а Ñ\98е заÑ\88Ñ\82иÑ\9bена, Ñ\82ако да Ñ\81амо Ñ\80егиÑ\81Ñ\82Ñ\80овани коÑ\80иÑ\81ниÑ\86и могÑ\83 да Ñ\98е Ñ\83Ñ\80еÑ\92Ñ\83Ñ\98Ñ\83.\nÐ\9fоÑ\81ледÑ\9aи запиÑ\81 Ñ\83 дневникÑ\83 Ñ\98е пÑ\80иказан иÑ\81под:",
+ "semiprotectedpagewarning": "<strong>Ð\9dапомена:</strong> ова Ñ\81Ñ\82Ñ\80аниÑ\86а Ñ\98е заÑ\88Ñ\82иÑ\9bена, Ñ\82ако да Ñ\81амо Ñ\80егиÑ\81Ñ\82Ñ\80овани коÑ\80иÑ\81ниÑ\86и могÑ\83 да Ñ\98е Ñ\83Ñ\80еÑ\92Ñ\83Ñ\98Ñ\83.\nÐ\9fоÑ\81ледÑ\9aи запиÑ\81 Ñ\83 дневникÑ\83 Ñ\98е пÑ\80иказан иÑ\81под као Ñ\80еÑ\84еÑ\80енÑ\86а:",
"cascadeprotectedwarning": "<strong>Упозорење:</strong> Ова страница је заштићена тако да је могу уређивати само корисници са [[Special:ListGroupRights|одређеним правима]] (администратори), јер је иста укључена у {{PLURAL:$1|следећу страницу која је заштићена|следеће странице које су заштићене}} „преносивом” заштитом:",
"titleprotectedwarning": "<strong>Упозорење: ову страницу могу направити само корисници [[Special:ListGroupRights|с одређеним правима]].</strong>\nПоследњи запис у дневнику је приказан испод:",
"templatesused": "{{PLURAL:$1|Шаблон који се користи|Шаблони који се користе}} на овој страници:",
"subject-preview": "Pramidang subyék:",
"previewerrortext": "Aya éror nalika nyobaan nyawang robahan anjeun.",
"blockedtitle": "Pamaké dipeungpeuk",
- "blockedtext": "'''Ngaran pamaké atawa alamat IP anjeun dipeungpeuk.'''\n\nDipeungpeuk ku $1.\nAlesanana ''$2''.\n\n* Mimiti dipeungpeuk : $8\n* dipeungpeuk kadaluarsa dina: $6\n* Sasaran nudipeungpeuk : $7\n\nAnjeun bisa nepungan $1 atawa salasahiji [[{{MediaWiki:Grouppage-sysop}}|kuncén]] séjén pikeun nyawalakeun hal ieu.\n'''Catet''': yén anjeun teu bisa maké fungsi \"surélékan pamaké ieu\" mun anjeun teu ngadaptarkeun alamat surélék nu sah kana [[Special:Preferences|préferénsi pamaké]] anjeun.\n\nAlamat IP anjeun $3 jeung ID na #$5.\nLampirkeun informasi ieu dina unggal ''query'' anjeun.",
+ "blockedtext": "<strong>Ngaran pamaké atawa alamat IP anjeun dipeungpeuk.</strong>\n\nDipeungpeuk ku $1.\nAlesanana <em>$2</em>.\n\n* Mimiti dipeungpeuk: $8\n* Anggeusan dipeungpeuk: $6\n* Sasaran anu dipeungpeuk: $7\n\nAnjeun bisa ngontak $1 atawa [[{{MediaWiki:Grouppage-sysop}}|kuncén]] lianna pikeun nyawalakeun ieu hal.\nAnjeun teu bisa maké fitur \"{{int:emailuser}}\" mun anjeun teu ngadaptarkeun alamat surélék nu sah dina [[Special:Preferences|préferénsi akun]] anjeun sarta henteu dipeungpeuk tina migunakeun éta fitur.\nAlamat IP anjeun $3, kalayan ID peungpeukna #$5.\nLampirkeun informasi ieu dina unggal kueri anjeun.",
"autoblockedtext": "Alamat IP anjeun otomatis dipeungpeuk sabab dipaké ku pamaké séjén nu geus dipeungpeuk ku $1, kalawan alesan:\n\n:''$2''\n\n*Mimiti dipeungpeuk: $8\n*Kadaluwarsa peungpeuk: $6\n*Sasaran peungpeuk: $7\n\nAnjeun bisa nepungan $1 atawa [[{{MediaWiki:Grouppage-sysop}}|kuncé]] lianna pikeun ngabadamikeun ieu peungpeukan.\n\nCatet yén anjeun moal bisa migunakeun fitur \"surélékan ieu pamaké\" mun alamat surélék anu didaptarkeun dina [[Special:Preferences|préferénsi pamaké]]na teu sah, sarta teu dipeungpeuk tina migunakeun ieu fitur.\n\nAlamat IP Anjeun ayeuna nyaéta $3, sarta ID peungpeukan anjeun #$5.\nMangga sebatkeun éta ID dina pamundut-pamundut anjeun.",
"blockednoreason": "taya alesan",
"whitelistedittext": "Anjeun kudu asup $1 sangkan bisa ngédit.",
"recentchangeslinked-feed": "Parobahan nu patali",
"recentchangeslinked-toolbox": "Parobahan nu patali",
"recentchangeslinked-title": "Parobahan patali ka \"$1\"",
- "recentchangeslinked-summary": "Ieu kaca husus ngabéréndélkeun parobahan anyar anu numbu ti kaca husus (atawa uesi katagori husus). Kaca anu [[Special:Watchlist|diawaskeun]] némbongan '''kandel'''.",
+ "recentchangeslinked-summary": "Asupkeun ngaran kaca pikeun nempo parobahan anu nutumbu ka atawa ti éta kaca. (Pikeun nempo anggota kategori, asupkeun {{ns:category}}:Ngaran kategori). Parobahan kaca-kaca anu [[Special:Watchlist|diawaskeun]] némbongan <strong>kandel</strong>.",
"recentchangeslinked-page": "Ngaran kaca:",
"recentchangeslinked-to": "Témbongkeun parobahan ka kaca-kaca nu ditumbukeun ka kaca nu dimaksud",
"recentchanges-page-added-to-category": "[[:$1]] ditambahkeun kana kategori",
"filehist-comment": "Kamandang",
"imagelinks": "Pamakéan berkas",
"linkstoimage": "Kaca ieu {{PLURAL:$1|numbu|$1 numbu}} ka gambar ieu :",
- "linkstoimage-more": "Leuwih ti $1 {{PLURAL:$1|kaca nutumbu|kaca nutumbu}} ka ieu berkas.\nBéréndélan di handap némbongkeun {{PLURAL:$1|tutumbu kaca kahiji|$1 tutumbu kaca}} ka ieu berkas hungkul.\n[[Special:WhatLinksHere/$2|Béréndélan lengkepna]] aya.",
+ "linkstoimage-more": "Leuwih ti $1 {{PLURAL:$1|kaca nutumbu|kaca nutumbu}} ka ieu berkas.\nBéréndélan di handap némbongkeun {{PLURAL:$1|tutumbu kaca kahiji|$1 tutumbu kaca kahiji}} ka ieu berkas hungkul.\n[[Special:WhatLinksHere/$2|Béréndélan lengkepna]] ogé aya.",
"nolinkstoimage": "Teu aya kaca anu nutumbu ka ieu berkas.",
"morelinkstoimage": "Témbong [[Special:WhatLinksHere/$1|tutumbu lianna]] ka ieu berkas.",
"linkstoimage-redirect": "$1 (pangalihan berkas) $2",
"unwatchthispage": "Eureun ngawaskeun",
"notanarticle": "Sanés kaca eusi",
"notvisiblerev": "Révisi geus dihapus",
- "watchlist-details": "Aya {{PLURAL:$1|$1 kaca|$1 kaca}} dina daptar awaseun (pleus kaca obrolanna).",
+ "watchlist-details": "Aya {{PLURAL:$1|$1 kaca|$1 kaca}} dina Awaseun anjeun (kaasup kaca obrolan).",
"wlheader-enotif": "Iber surélék diaktifkeun.",
- "wlheader-showupdated": "Kaca nu robah ti panungtungan anjeun sindang ditémbongkeun kalawan '''kandel'''",
- "wlnote": "Di handap ieu mangrupa $1 {{PLURAL:$1|robahan|robahan}} ahir salila '''$2''' jam.",
+ "wlheader-showupdated": "Kaca nu robah ti panungtungan anjeun sindang ditémbongkeun <strong>kandel</strong>.",
+ "wlnote": "Di handap ieu mangrupa {{PLURAL:$1|robahan|robahan}} <strong>$1</strong> panungtung salila {{PLURAL:$2|jam|<strong>$2</strong> jam}}, ti $3, $4.",
"wlshowlast": "Témbongkeun $1 jam $2 poé panungtung",
"watchlist-hide": "Sumputkeun",
"watchlist-submit": "Témbongkeun",
"pageinfo-few-visiting-watchers": "Rék aya atawa henteuna pamariksa kaca nu nyorang éditan kiwari",
"pageinfo-redirects-name": "Jumlah pindahan ka ieu kaca",
"pageinfo-subpages-name": "Nomor subkaca ieu kaca",
+ "pageinfo-subpages-value": "$1 ($2 {{PLURAL:$2|pindahan|pindahan}}; $3 {{PLURAL:$3|non-pindahan|non-pindahan}})",
"pageinfo-firstuser": "Panyieun kaca",
"pageinfo-firsttime": "Tanggal panyieunan kaca",
"pageinfo-lastuser": "Pangédit panungtung",
"dellogpage": "Raderingslogg",
"dellogpagetext": "Nedan listas de senaste raderingarna.",
"deletionlog": "raderingslogg",
+ "log-name-create": "Sidskapandelogg",
+ "log-description-create": "Nedan listas de senaste skapade sidorna.",
+ "logentry-create-create": "$1 {{GENDER:$2|skapade}} sidan $3",
"reverted": "Återgått till tidigare version",
"deletecomment": "Anledning:",
"deleteotherreason": "Annan/ytterligare anledning:",
"customcssprotected": "Bu sayfayı değiştirmeye yetkiniz bulunmamaktadır, çünkü bu sayfa başka bir kullanıcının kişisel ayarlarını içermektedir.",
"customjsprotected": "Bu Java Script sayfasını değiştirmeye yetkiniz bulunmamaktadır, çünkü bu sayfa başka bir kullanıcının kişisel ayarlarını içermektedir.",
"mycustomcssprotected": "Bu CSS sayfasını değiştirmeye yetkiniz yok.",
+ "mycustomjsonprotected": "Bu JSON sayfasını düzenleme izniniz yok.",
"mycustomjsprotected": "Bu JavaScript sayfasını değiştirmeye yetkiniz yok.",
"myprivateinfoprotected": "Sizin özel bilgilerinizi düzenleme yetkiniz yok.",
"mypreferencesprotected": "Tercihlerinizi düzenlemek için yetkiniz yok.",
"wrongpasswordempty": "Boş parola girdiniz. Lütfen tekrar deneyiniz.",
"passwordtooshort": "Parolalar en az {{PLURAL:$1|1 karakter|$1 karakter}} uzunluğunda olmalı.",
"passwordtoolong": "Parolalar $1 karakterden uzun olamaz.",
- "passwordtoopopular": "Sıklıkla seçilen parolalar kullanılamaz. Lütfen daha özgün bir parola belirleyin.",
+ "passwordtoopopular": "Yaygın olarak seçilen şifreler kullanılamaz. Lütfen tahmin edilmesi daha zor bir şifre seçin.",
"password-name-match": "Parolanız kullanıcı adınızdan farklı olmalıdır.",
"password-login-forbidden": "Bu kullanıcı adı ve parolanın kullanımı yasaklanmıştır.",
"mailmypassword": "Parolayı sıfırla",
"passwordremindertitle": "{{SITENAME}} için yeni geçici parola",
- "passwordremindertext": "Birisi (muhtemelen siz, $1 IP adresinden) {{SITENAME}} ($4) için yeni bir parola gönderilmesi istedi. \"$2\" kullanıcısına geçici olarak \"$3\" parolası oluşturuldu. Eğer bu sizin isteğiniz ise, oturum açıp yeni bir parola oluşturmanız gerekmektedir. Geçici parolanızın süresi {{PLURAL:$5|1 gün|$5 gün}} içinde dolacaktır.\n\nParola değişimini siz istemediyseniz veya parolanızı hatırladıysanız ve artık parolanızı değiştirmek istemiyorsanız; bu mesajı önemsemeyerek eski parolanızı kullanmaya devam edebilirsiniz.",
+ "passwordremindertext": "Birisi ($1 IP adresinden) {{SITENAME}} ($4) için yeni bir parola gönderilmesi istedi. \"$2\" kullanıcısına geçici olarak \"$3\" parolası oluşturuldu. Eğer bu sizin isteğiniz ise, oturum açıp yeni bir parola oluşturmanız gerekmektedir. Geçici parolanızın süresi {{PLURAL:$5|1 gün|$5 gün}} içinde dolacaktır.\n\nParola değişimini siz istemediyseniz veya parolanızı hatırladıysanız ve artık parolanızı değiştirmek istemiyorsanız; bu mesajı önemsemeyerek eski parolanızı kullanmaya devam edebilirsiniz.",
"noemail": "\"$1\" adlı kullanıcıya kayıtlı bir e-posta adresi yok.",
"noemailcreate": "Geçerli bir e-posta adresi sağlamalısınız",
"passwordsent": "\"$1\" adına kayıtlı e-posta adresine yeni bir parola gönderildi. Oturumu, lütfen, iletiyi aldıktan sonra açın.",
"botpasswords-insert-failed": "Bot adı \"$1\" eklenemedi. Zaten eklenmiş olmalı?",
"botpasswords-update-failed": "Bot ismini \"$1\" olarak güncelleme başarısız oldu. Silinmiş olabilir mi?",
"botpasswords-created-title": "Bot parolası oluşturuldu",
- "botpasswords-created-body": "\"$2\" adlı kullanıcının \"$1\" adlı botu için bot parolası oluşturuldu.",
+ "botpasswords-created-body": "\"$2\" adlı {{GENDER:$2|kullanıcının}} \"$1\" adlı botu için bot parolası oluşturuldu.",
"botpasswords-updated-title": "Bot parolası güncellendi",
- "botpasswords-updated-body": "\"$2\" adlı kullanıcının \"$1\" adlı botunun bot parolası güncellendi.",
+ "botpasswords-updated-body": "\"$2\" adlı {{GENDER:$2|kullanıcının}} \"$1\" adlı botunun bot parolası güncellendi.",
"botpasswords-deleted-title": "Bot parolası silindi",
"botpasswords-deleted-body": "\"$2\" adlı kullanıcının \"$1\" adlı botunun bot parolası silindi.",
"botpasswords-newpassword": "<strong>$1</strong> ile oturum açmak için yeni şifre: <strong>$2</strong>. <em>İlerde başvurmak için lütfen kaydedin.</em>",
"rcfilters-filter-minor-description": "Yazarın küçük olarak etiketlediği düzenlemeler.",
"rcfilters-filter-major-label": "Küçük olmayan düzenlemeler",
"rcfilters-filter-major-description": "Küçük olarak etiketlenmemiş düzenlemeler.",
+ "rcfilters-filtergroup-watchlist": "İzlenen sayfalar",
"rcfilters-filter-watchlist-watched-label": "İzleme listesinde",
+ "rcfilters-filter-watchlist-watched-description": "İzleme listenizdeki sayfalarda değişiklikler.",
+ "rcfilters-filter-watchlist-watchednew-label": "Yeni İzleme listesi değişiklikleri",
+ "rcfilters-filter-watchlist-watchednew-description": "Değişiklikler gerçekleştiğinden beri ziyaret etmediğiniz izleme listenizdeki sayfalarda yapılan değişiklikler.",
"rcfilters-filter-watchlist-notwatched-label": "İzleme listesinde değil",
+ "rcfilters-filter-watchlist-notwatched-description": "İzleme listenizdeki sayfalardaki değişiklikler hariç her şey.",
"rcfilters-filtergroup-watchlistactivity": "İzleme listesi faaliyetleri",
"rcfilters-filter-watchlistactivity-unseen-label": "Görülmemiş değişiklikler",
+ "rcfilters-filter-watchlistactivity-unseen-description": "Değişiklikler gerçekleştiğinden beri ziyaret etmediğiniz sayfalardaki değişiklikler.",
"rcfilters-filter-watchlistactivity-seen-label": "Görülmüş değişiklikler",
"rcfilters-filtergroup-changetype": "Değişiklik türü",
"rcfilters-filter-pageedits-label": "Sayfa düzenlemeleri",
"rcfilters-exclude-button-off": "Seçileni hariç tut",
"rcfilters-exclude-button-on": "Seçilen hariç",
"rcfilters-view-tags": "Etiketli düzenlemeler",
+ "rcfilters-view-namespaces-tooltip": "Sonuçları ad alanına göre filtrele",
+ "rcfilters-view-tags-tooltip": "Sonuçları düzenleme etiketlerini kullanarak filtrele",
+ "rcfilters-view-return-to-default-tooltip": "Ana filtre menüsüne dön",
+ "rcfilters-view-tags-help-icon-tooltip": "Etiketli düzenlemeler hakkında daha fazla bilgi edin",
"rcfilters-liveupdates-button": "Canlı güncelleme",
"rcfilters-liveupdates-button-title-on": "Canlı güncellemeyi kapat",
"rcfilters-liveupdates-button-title-off": "Yeni değişiklikleri yapıldıkları anda görüntüleyin",
"rcfilters-watchlist-markseen-button": "Tüm değişiklileri görüldü olarak işaretle",
+ "rcfilters-watchlist-edit-watchlist-button": "İzlenen sayfaların listesini düzenle",
"rcfilters-target-page-placeholder": "Bir sayfa (ya da kategori) adı girin",
"rcnotefrom": "<strong>$3, $4</strong> tarihinden itibaren yapılan {{PLURAL:$5|değişiklik|değişiklik}} aşağıdadır (<strong>$1</strong> tarhine kadar olanlar gösterilmektedir).",
"rclistfrom": "$3 $2 tarihinden itibaren yeni değişiklikleri göster",
"apisandbox-examples": "Örnekler",
"apisandbox-dynamic-parameters-add-label": "Parametre ekle:",
"apisandbox-dynamic-parameters-add-placeholder": "Parametre adı",
+ "apisandbox-add-multi": "Ekle",
+ "apisandbox-submit-invalid-fields-title": "Bazı alanlar geçersiz",
"apisandbox-results": "Sonuçlar",
"apisandbox-request-url-label": "İstek URL:",
"apisandbox-request-time": "İstek zamanı: $1",
"rcfilters-days-show-days": "$1 {{PLURAL:$1|көн}}",
"rcfilters-days-show-hours": "$1 {{PLURAL:$1|сәгать}}",
"rcfilters-quickfilters": "Сакланган фильтрлар",
+ "rcfilters-quickfilters-placeholder-title": "Әлегә сакланылган фильтрлар юк",
"rcfilters-savedqueries-remove": "Бетерү",
"rcfilters-savedqueries-new-name-label": "Исем",
"rcfilters-savedqueries-cancel-label": "Баш тарту",
"protect-otherreason-op": "Башка сәбәп",
"protect-dropdown": "* Гади яклау сәбәпләре\n** вандаллык\n** зур спам\n** кирәксез үзгәртүләр саны\n** популяр бит",
"protect-edit-reasonlist": "Сәбәпләр исемлеген үзгәртү",
- "protect-expiry-options": "1 сәгать:1 hour,1 көн:1 day,1 атна:1 week,2 атна:2 weeks,1 ай:1 month,3 ай:3 months,6 ай:6 months,1 ел:1 year,вакытсыз:infinite",
+ "protect-expiry-options": "1 сәгать:1 hour,1 көн:1 day,1 атна:1 week,2 атна:2 weeks,1 ай:1 month,3 ай:3 months,6 ай:6 months,1 ел:1 year,чикләүсез:infinite",
"restriction-type": "Рөхсәт:",
"restriction-level": "Мөмкинлек дәрәҗәсе:",
"minimum-size": "Иң кечкенә зурлык",
"sp-contributions-username": "Кулланучының IP адресы яки исеме:",
"sp-contributions-toponly": "Соңгы юрамадагы үзгәртүләр генә күрсәтелсен",
"sp-contributions-newonly": "Битләр ясау үзгәртмәләрен генә күрсәтү",
+ "sp-contributions-hideminor": "Кече үзгәртүләрне яшерергә",
"sp-contributions-submit": "Эзләү",
"whatlinkshere": "Бирегә нәрсә сылтый",
"whatlinkshere-title": "$1 битенә сылтый торган битләр",
"ipbenableautoblock": "Кулланучы кулланган IP адресларын автоматик рәвештә тыю",
"ipbsubmit": "Бу кулланучыны тыю",
"ipbother": "Башка вакыт:",
- "ipboptions": "2 сәгать:2 hours,1 көн:1 day,3 көн:3 days,1 атна:1 week,2 атна:2 weeks,1 ай:1 month,3ай:3 months,6 ай:6 months,1 ел:1 year,чикләнмәгән:infinite",
+ "ipboptions": "2 сәгать:2 hours,1 көн:1 day,3 көн:3 days,1 атна:1 week,2 атна:2 weeks,1 ай:1 month,3ай:3 months,6 ай:6 months,1 ел:1 year,чикләүсез:infinite",
"ipb-confirm": "Тыюны раслау",
"badipaddress": "Ялгыш IP адресы",
"blockipsuccesssub": "Тыю башкарылган",
"special-characters-group-lao": "Лаос",
"special-characters-group-khmer": "Кһмер",
"special-characters-group-canadianaboriginal": "Канада иҗек язуы",
+ "mw-widgets-dateinput-no-date": "Дата сайланмаган",
+ "mw-widgets-dateinput-placeholder-day": "ЕЕЕЕ-АА-КК",
+ "mw-widgets-dateinput-placeholder-month": "ЕЕЕЕ-АА",
+ "date-range-from": "Башлангыч дата:",
+ "date-range-to": "Соңгы дата:",
"randomrootpage": "Очраклы төп бит",
"log-action-filter-all": "Барысы",
"log-action-filter-block-block": "Тыю",
"dellogpage": "删除日志",
"dellogpagetext": "下面是最近的删除的列表。",
"deletionlog": "删除日志",
+ "log-name-create": "页面创建日志",
+ "log-description-create": "下方是最近的页面创建列表。",
+ "logentry-create-create": "$1{{GENDER:$2|创建了}}页面$3",
"reverted": "恢复到较早的版本",
"deletecomment": "原因:",
"deleteotherreason": "其他/附加原因:",
"watchlistedit-clear-done": "您的监视列表已清空。",
"watchlistedit-clear-jobqueue": "您的监视列表正在清空。这需要花一些时间!",
"watchlistedit-clear-removed": "$1个标题已移除:",
- "watchlistedit-too-many": "这里显示了太多页面。",
+ "watchlistedit-too-many": "页面太多,无法显示。",
"watchlisttools-clear": "清空监视列表",
"watchlisttools-view": "查看相关更改",
"watchlisttools-edit": "查看并编辑监视列表",
"dellogpage": "刪除日誌",
"dellogpagetext": "以下為最近刪除記錄的清單。",
"deletionlog": "刪除日誌",
+ "log-name-create": "頁面建立日誌",
+ "log-description-create": "以下為最近頁面建立的清單。",
+ "logentry-create-create": "$1 {{GENDER:$2|已建立}}頁面 $3",
"reverted": "還原到較早的版本",
"deletecomment": "原因:",
"deleteotherreason": "其它/額外的原因:",
"watchlistedit-clear-done": "已清空您的監視清單。",
"watchlistedit-clear-jobqueue": "您的監視列表正在清空。這需要花一些時間!",
"watchlistedit-clear-removed": "已移除 $1 個標題:",
- "watchlistedit-too-many": "太多要在此處顯示的頁面。",
+ "watchlistedit-too-many": "頁面太多,無法顯示。",
"watchlisttools-clear": "清空監視清單",
"watchlisttools-view": "檢視相關變更",
"watchlisttools-edit": "檢視並編輯監視清單",
# South Africa uses space for thousands and comma for decimal
# Reference: AWS Reël 7.4 p. 52, 2002 edition
# glibc is wrong in this respect in some versions
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$linkTrail = "/^([a-z]+)(.*)$/sD";
# Per discussion on https://translatewiki.net/wiki/Thread:Support/Customization_of number format
$separatorTransformTable = [
- ',' => "\xc2\xa0", # nbsp
+ ',' => "\u{00A0}", # nbsp
'.' => ','
];
];
$separatorTransformTable = [
- ',' => "\xc2\xa0", # nbsp
+ ',' => "\u{00A0}", # nbsp
'.' => ','
];
$minimumGroupingDigits = 2;
$linkTrail = '/^([a-zабвгдежзийклмнопрстуфхцчшщъыьэюя]+)(.*)$/sDu';
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$minimumGroupingDigits = 2;
'dmy both' => 'j M Y "da" H:i',
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$linkTrail = "/^((?:c\'h|C\'H|C\'h|c’h|C’H|C’h|[a-zA-ZàâçéèêîôûäëïöüùñÇÉÂÊÎÔÛÄËÏÖÜÀÈÙÑ])+)(.*)$/sDu";
# Písmena, která se mají objevit jako část odkazu ve formě '[[jazyk]]y' atd:
$linkTrail = '/^([a-záčďéěíňóřšťúůýž]+)(.*)$/sDu';
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
'url_query' => [ '0', 'INFORMPETO', 'QUERY' ],
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$datePreferences = false;
$defaultDateFormat = 'dmy';
'dmy both' => 'H:i j M Y',
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$minimumGroupingDigits = 2;
$linkTrail = '/^([a-záéíóúñ]+)(.*)$/sDu';
'formatdate' => [ '0', 'kuupäevavormindus', 'formatdate', 'dateformat' ],
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$minimumGroupingDigits = 2;
$linkTrail = '/^([äöõšüža-z]+)(.*)$/sDu';
'protectionlevel' => [ '1', 'SUOJAUSTASO', 'PROTECTIONLEVEL' ],
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$datePreferences = [
'default',
'ymd both' => 'Y F j à H:i',
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
'ymd both' => 'Y F j "a" H:i',
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
'dmy both' => 'j "di" M Y "a lis" H:i',
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
];
$fallback8bitEncoding = "iso8859-2";
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$specialPageAliases = [
'Activeusers' => [ 'Aktív_felhasználók', 'Aktív_szerkesztők' ],
*/
$separatorTransformTable = [
- ',' => "\xc2\xa0", # nbsp
+ ',' => "\u{00A0}", # nbsp
'.' => ','
];
$minimumGroupingDigits = 2;
*
*/
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$namespaceNames = [
NS_MEDIA => 'Multimedia',
'Discussioni_immagine' => NS_FILE_TALK,
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$dateFormats = [
'mdy time' => 'H:i',
$fallback = 'kk-latn, kk-cyrl';
$separatorTransformTable = [
- ',' => "\xc2\xa0",
+ ',' => "\u{00A0}",
'.' => ',',
];
$minimumGroupingDigits = 2;
*/
$separatorTransformTable = [
- ',' => "\xc2\xa0",
+ ',' => "\u{00A0}",
'.' => ',',
];
$minimumGroupingDigits = 2;
$fallback = 'kk-cyrl';
$separatorTransformTable = [
- ',' => "\xc2\xa0",
+ ',' => "\u{00A0}",
'.' => ',',
];
'Katejorije_Klaaf' => NS_CATEGORY_TALK,
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$minimumGroupingDigits = 2;
$linkTrail = '/^([äöüėëijßəğåůæœça-z]+)(.*)$/sDu';
'Disputatio_Imaginis' => NS_FILE_TALK,
];
-$separatorTransformTable = [ ',' => "\xc2\xa0" ];
+$separatorTransformTable = [ ',' => "\u{00A0}" ];
$dateFormats = [
'mdy time' => 'H:i',
$fallback = 'ru';
$separatorTransformTable = [
- ',' => "\xc2\xa0", # nbsp
+ ',' => "\u{00A0}", # nbsp
'.' => ','
];
$linkPrefixExtension = true;
# Same as the French (T10485)
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
];
$fallback8bitEncoding = 'windows-1257';
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$dateFormats = [
'ymd time' => 'H:i',
NS_USER_TALK => [ 'male' => 'Dalībnieka_diskusija', 'female' => 'Dalībnieces_diskusija' ]
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
/**
* A list of date format preference keys, which can be selected in user
'9' => '९', # ९
];
-$linkTrail = "/^([\xE0\xA4\x80-\xE0\xA5\xA3\xE0\xA5\xB1-\xE0\xA5\xBF\xEF\xBB\xBF\xE2\x80\x8D]+)(.*)$/sDu";
+$linkTrail = "/^([\u{0900}-\u{0963}\u{0971}-\u{097F}\u{FEFF}\u{200D}]+)(.*)$/sDu";
$digitGroupingPattern = "##,##,###";
'Bildediskusjon' => NS_FILE_TALK,
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$linkTrail = '/^([æøåa-z]+)(.*)$/sDu';
$datePreferenceMigrationMap = [
];
$separatorTransformTable = [
- ',' => "\xc2\xa0",
+ ',' => "\u{00A0}",
'.' => ','
];
$linkTrail = '/^([æøåa-z]+)(.*)$/sDu';
'oc normal both' => 'j F "de" Y "a" H.i',
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$linkTrail = "/^([a-zàâçéèêîôû]+)(.*)$/sDu";
$fallback8bitEncoding = 'iso-8859-2';
$separatorTransformTable = [
- ',' => "\xc2\xa0", // T4749
+ ',' => "\u{00A0}", // T4749
'.' => ','
];
$minimumGroupingDigits = 2;
'dmy both' => 'H\hi\m\i\n \d\e j \d\e F \d\e Y',
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$linkTrail = '/^([áâãàéêẽçíòóôõq̃úüűũa-z]+)(.*)$/sDu'; # T23168, T29633
$specialPageAliases = [
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$specialPageAliases = [
'Activeusers' => [ 'Usuários_ativos' ],
];
$separatorTransformTable = [
- ',' => "\xc2\xa0", # nbsp
+ ',' => "\u{00A0}", # nbsp
'.' => ','
];
$minimumGroupingDigits = 2;
'img_link' => [ '1', 'liŋka=$1', 'link=$1' ],
];
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
$linkTrail = '/^(:?[a-zàáâçčʒǯđðéèêëǧǥȟíìîïıǩŋñóòôõßšŧúùûýÿüžþæøåäö]+)(.*)$/sDu';
];
$separatorTransformTable = [
- ',' => "\xc2\xa0",
+ ',' => "\u{00A0}",
'.' => ','
];
$linkTrail = '/^([a-zåäöéÅÄÖÉ]+)(.*)$/sDu';
$separatorTransformTable = [
- ',' => "\xc2\xa0", // T4749
+ ',' => "\u{00A0}", // T4749
'.' => ','
];
'url_wiki' => [ '0', 'விக்கி', 'WIKI' ],
];
-$linkTrail = "/^([\xE0\xAE\x80-\xE0\xAF\xBF]+)(.*)$/sDu";
+$linkTrail = "/^([\u{0B80}-\u{0BFF}]+)(.*)$/sDu";
$digitGroupingPattern = "##,##,###";
'special' => [ '0', 'ప్రత్యేక', 'special' ],
];
-$linkTrail = "/^([\xE0\xB0\x81-\xE0\xB1\xAF]+)(.*)$/sDu";
+$linkTrail = "/^([\u{0C01}-\u{0C6F}]+)(.*)$/sDu";
$digitGroupingPattern = "##,##,###";
$linkTrail = '/^([a-zа-яёӝӟӥӧӵ]+)(.*)$/sDu';
$fallback8bitEncoding = 'windows-1251';
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
*/
$separatorTransformTable = [
- ',' => "\xc2\xa0", # nbsp
+ ',' => "\u{00A0}", # nbsp
'.' => ','
];
$minimumGroupingDigits = 2;
*/
$separatorTransformTable = [
'.' => ',',
- ',' => "\xc2\xa0", # nbsp
+ ',' => "\u{00A0}", # nbsp
];
# definixha del cogne po les limeros
# (number format definition)
# en: 12,345.67 -> wa: 12 345,67
-$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
+$separatorTransformTable = [ ',' => "\u{00A0}", '.' => ',' ];
# $linkTrail = '/^([a-zåâêîôûçéèA-ZÅÂÊÎÔÛÇÉÈ]+)(.*)$/sDu';
$linkTrail = '/^([a-zåâêîôûçéè]+)(.*)$/sDu';
--- /dev/null
+-- T193180: ar_rev_id should be unique
+
+CREATE UNIQUE INDEX /*i*/ar_revid_uniq ON /*_*/archive (ar_rev_id);
+DROP INDEX /*i*/ar_revid ON /*_*/archive;
$wgUser->addGroup( 'bot' );
$spec = $this->getArg();
- $like = LinkFilter::makeLikeArray( $spec );
- if ( !$like ) {
- $this->fatalError( "Not a valid hostname specification: $spec" );
+
+ $likes = [];
+ foreach ( [ 'http://', 'https://' ] as $prot ) {
+ $like = LinkFilter::makeLikeArray( $spec, $prot );
+ if ( !$like ) {
+ $this->fatalError( "Not a valid hostname specification: $spec" );
+ }
+ $likes[$prot] = $like;
}
if ( $this->hasOption( 'all' ) ) {
$this->output( "Finding spam on " . count( $wgLocalDatabases ) . " wikis\n" );
$found = false;
foreach ( $wgLocalDatabases as $wikiID ) {
+ /** @var $dbr Database */
$dbr = $this->getDB( DB_REPLICA, [], $wikiID );
- $count = $dbr->selectField( 'externallinks', 'COUNT(*)',
- [ 'el_index' . $dbr->buildLike( $like ) ], __METHOD__ );
- if ( $count ) {
- $found = true;
- $cmd = wfShellWikiCmd( "$IP/maintenance/cleanupSpam.php",
- [ '--wiki', $wikiID, $spec ] );
- passthru( "$cmd | sed 's/^/$wikiID: /'" );
+ foreach ( $likes as $like ) {
+ $count = $dbr->selectField(
+ 'externallinks',
+ 'COUNT(*)',
+ [ 'el_index' . $dbr->buildLike( $like ) ],
+ __METHOD__
+ );
+ if ( $count ) {
+ $found = true;
+ $cmd = wfShellWikiCmd(
+ "$IP/maintenance/cleanupSpam.php",
+ [ '--wiki', $wikiID, $spec ]
+ );
+ passthru( "$cmd | sed 's/^/$wikiID: /'" );
+ }
}
}
if ( $found ) {
} else {
// Clean up spam on this wiki
+ $count = 0;
+ /** @var $dbr Database */
$dbr = $this->getDB( DB_REPLICA );
- $res = $dbr->select( 'externallinks', [ 'DISTINCT el_from' ],
- [ 'el_index' . $dbr->buildLike( $like ) ], __METHOD__ );
- $count = $dbr->numRows( $res );
- $this->output( "Found $count articles containing $spec\n" );
- foreach ( $res as $row ) {
- $this->cleanupArticle( $row->el_from, $spec );
+ foreach ( $likes as $prot => $like ) {
+ $res = $dbr->select(
+ 'externallinks',
+ [ 'DISTINCT el_from' ],
+ [ 'el_index' . $dbr->buildLike( $like ) ],
+ __METHOD__
+ );
+ $count = $dbr->numRows( $res );
+ $this->output( "Found $count articles containing $spec\n" );
+ foreach ( $res as $row ) {
+ $this->cleanupArticle( $row->el_from, $spec, $prot );
+ }
}
if ( $count ) {
$this->output( "Done\n" );
}
}
- private function cleanupArticle( $id, $domain ) {
+ /**
+ * @param int $id
+ * @param string $domain
+ * @param string $protocol
+ * @throws MWException
+ */
+ private function cleanupArticle( $id, $domain, $protocol ) {
$title = Title::newFromID( $id );
if ( !$title ) {
$this->error( "Internal error: no page for ID $id" );
$currentRevId = $rev->getId();
while ( $rev && ( $rev->isDeleted( Revision::DELETED_TEXT )
- || LinkFilter::matchEntry( $rev->getContent( Revision::RAW ), $domain ) )
+ || LinkFilter::matchEntry( $rev->getContent( Revision::RAW ), $domain, $protocol ) )
) {
$rev = $rev->getPrevious();
}
*/
function generateLimit( $namespace ) {
// T19961: make a title with the longest possible URL in this namespace
- $title = Title::makeTitle( $namespace, str_repeat( "\xf0\xa8\xae\x81", 63 ) . "\xe5\x96\x83" );
+ $title = Title::makeTitle( $namespace, str_repeat( "\u{28B81}", 63 ) . "\u{5583}" );
$this->limit = [
strlen( $this->openFile() ),
$this->loadGeneralMessages();
$this->loadMessages( $code );
$wrongChars = [
- '[LRM]' => "\xE2\x80\x8E",
- '[RLM]' => "\xE2\x80\x8F",
- '[LRE]' => "\xE2\x80\xAA",
- '[RLE]' => "\xE2\x80\xAB",
- '[POP]' => "\xE2\x80\xAC",
- '[LRO]' => "\xE2\x80\xAD",
- '[RLO]' => "\xE2\x80\xAB",
- '[ZWSP]' => "\xE2\x80\x8B",
- '[NBSP]' => "\xC2\xA0",
- '[WJ]' => "\xE2\x81\xA0",
- '[BOM]' => "\xEF\xBB\xBF",
- '[FFFD]' => "\xEF\xBF\xBD",
+ '[LRM]' => "\u{200E}",
+ '[RLM]' => "\u{200F}",
+ '[LRE]' => "\u{202A}",
+ '[RLE]' => "\u{202B}",
+ '[POP]' => "\u{202C}",
+ '[LRO]' => "\u{202D}",
+ '[RLO]' => "\u{202B}",
+ '[ZWSP]' => "\u{200B}",
+ '[NBSP]' => "\u{00A0}",
+ '[WJ]' => "\u{2060}",
+ '[BOM]' => "\u{FEFF}",
+ '[FFFD]' => "\u{FFFD}",
];
$wrongRegExp = '/(' . implode( '|', array_values( $wrongChars ) ) . ')/sDu';
$wrongCharsMessages = [];
CREATE INDEX /*i*/name_title_timestamp ON /*_*/archive (ar_namespace,ar_title,ar_timestamp);
CREATE INDEX /*i*/ar_usertext_timestamp ON /*_*/archive (ar_user_text,ar_timestamp);
CREATE INDEX /*i*/ar_actor_timestamp ON /*_*/archive (ar_actor,ar_timestamp);
-CREATE INDEX /*i*/ar_revid ON /*_*/archive (ar_rev_id);
+CREATE UNIQUE INDEX /*i*/ar_revid_uniq ON /*_*/archive (ar_rev_id);
--
--- /dev/null
+-- T193180: ar_rev_id should be unique
+
+define mw_prefix='{$wgDBprefix}';
+
+CREATE UNIQUE INDEX &mw_prefix.archive_i04 ON &mw_prefix.archive (ar_rev_id);
+DROP INDEX &mw_prefix.archive_i03;
CREATE INDEX &mw_prefix.archive_i01 ON &mw_prefix.archive (ar_namespace,ar_title,ar_timestamp);
CREATE INDEX &mw_prefix.archive_i02 ON &mw_prefix.archive (ar_user_text,ar_timestamp);
CREATE INDEX &mw_prefix.ar_actor_timestamp ON &mw_prefix.archive (ar_actor,ar_timestamp);
-CREATE INDEX &mw_prefix.archive_i03 ON &mw_prefix.archive (ar_rev_id);
+CREATE UNIQUE INDEX &mw_prefix.archive_i04 ON &mw_prefix.archive (ar_rev_id);
/*$mw$*/
CREATE TRIGGER &mw_prefix.archive_seq_trg BEFORE INSERT ON &mw_prefix.archive
FOR EACH ROW WHEN (new.ar_id IS NULL)
CREATE INDEX archive_name_title_timestamp ON archive (ar_namespace,ar_title,ar_timestamp);
CREATE INDEX archive_user_text ON archive (ar_user_text);
CREATE INDEX archive_actor ON archive (ar_actor);
+CREATE UNIQUE INDEX ar_revid_uniq ON archive (ar_rev_id);
CREATE TABLE slots (
--- /dev/null
+-- T193180: ar_rev_id should be unique
+
+CREATE UNIQUE INDEX /*i*/ar_revid_uniq ON /*_*/archive (ar_rev_id);
+DROP INDEX /*i*/ar_revid;
-- Index for linking archive rows with tables that normally link with revision
-- rows, such as change_tag.
-CREATE INDEX /*i*/ar_revid ON /*_*/archive (ar_rev_id);
+CREATE UNIQUE INDEX /*i*/ar_revid_uniq ON /*_*/archive (ar_rev_id);
--
-- Slots represent an n:m relation between revisions and content objects.
if ( $db ) {
$userTables = [ 'user', 'user_groups', 'user_properties', 'actor' ];
$pageTables = [ 'page', 'revision', 'ip_changes', 'revision_comment_temp',
- 'revision_actor_temp', 'comment' ];
+ 'revision_actor_temp', 'comment', 'archive' ];
$coreDBDataTables = array_merge( $userTables, $pageTables );
// If any of the user or page tables were marked as used, we should clear all of them.
[ 'do', 'D' ],
[ 'Ao', 'A' ],
[ 'afdsa', 'A' ],
- [ "\xF3\xB3\x80\x80Foo", 'D' ],
- [ "\xF3\xB3\x80\x81Foo", 'C' ],
- [ "\xF3\xB3\x80\x82Foo", 'Cs' ],
- [ "\xF3\xB3\x80\x83Foo", 'B' ],
- [ "\xF3\xB3\x80\x84Foo", "\xF3\xB3\x80\x84" ],
+ [ "\u{F3000}Foo", 'D' ],
+ [ "\u{F3001}Foo", 'C' ],
+ [ "\u{F3002}Foo", 'Cs' ],
+ [ "\u{F3003}Foo", 'B' ],
+ [ "\u{F3004}Foo", "\u{F3004}" ],
[ 'C', 'C' ],
[ 'Cz', 'C' ],
[ 'Cs', 'Cs' ],
public static function provideSerializeStringValue() {
return [
[ 'Hello World!', '"Hello World!"' ],
- [ "Null\0Null", "\"Null\xEF\xBF\xBDNull\"" ],
+ [ "Null\0Null", "\"Null\u{FFFD}Null\"" ],
[ '"', '"\\""' ],
[ "'", '"\'"' ],
[ "\\", '"\\\\"' ],
[ "Space tab \t space", '"Space tab \\9 space"' ],
[ "Line\nfeed", '"Line\\a feed"' ],
[ "Return\rreturn", '"Return\\d return"' ],
- [ "Next\xc2\x85line", "\"Next\xc2\x85line\"" ],
+ [ "Next\u{0085}line", "\"Next\u{0085}line\"" ],
[ "Del\x7fDel", '"Del\\7f Del"' ],
- [ "nb\xc2\xa0sp", "\"nb\xc2\xa0sp\"" ],
+ [ "nb\u{00A0}sp", "\"nb\u{00A0}sp\"" ],
[ "AMP&AMP", "\"AMP&AMP\"" ],
[ '!"#$%&\'()*+,-./0123456789:;<=>?', '"!\\"#$%&\'()*+,-./0123456789:;<=>?"' ],
[ '@[\\]^_`{|}~', '"@[\\\\]^_`{|}~"' ],
// unicode chars
[
- self::createUnicodeString( '`\u0001a\uFFFFb`' ),
- self::createUnicodeString( '\u0001a\uFFFFb' )
+ "`\u{0001}a\u{FFFF}b`",
+ "\u{0001}a\u{FFFF}b"
],
[
- self::createUnicodeString( '`\u0001\uFFFF`' ),
- self::createUnicodeString( '\u0001\u0000\uFFFF\u0000' )
+ "`\u{0001}\u{FFFF}`",
+ "\u{0001}\u{0000}\u{FFFF}\u{0000}"
],
[ '`☃`', '☃' ],
[ '`メインページ`', 'メインページ' ],
];
}
- private static function createUnicodeString( $str ) {
- return json_decode( '"' . $str . '"' );
- }
-
private function getMockForViews() {
$db = $this->getMockBuilder( DatabaseMysqli::class )
->disableOriginalConstructor()
* @covers WikiPage::doEditUpdates
*/
public function testDoEditContent() {
+ $this->setMwGlobals( 'wgPageCreationLog', true );
+
$page = $this->newPage( __METHOD__ );
$title = $page->getTitle();
$page->doEditContent( $content, "[[testing]] 1" );
+ $id = $page->getId();
+
+ // Test page creation logging
+ $this->assertSelect(
+ 'logging',
+ [ 'log_type', 'log_action' ],
+ [ 'log_page' => $id ],
+ [ [ 'create', 'create' ] ]
+ );
+
$this->assertTrue( $title->getArticleID() > 0, "Title object should have new page id" );
- $this->assertTrue( $page->getId() > 0, "WikiPage should have new page id" );
+ $this->assertTrue( $id > 0, "WikiPage should have new page id" );
$this->assertTrue( $title->exists(), "Title object should indicate that the page now exists" );
$this->assertTrue( $page->exists(), "WikiPage object should indicate that the page now exists" );
- $id = $page->getId();
-
# ------------------------
$dbr = wfGetDB( DB_REPLICA );
$res = $dbr->select( 'pagelinks', '*', [ 'pl_from' => $id ] );
* @covers Language::embedBidi()
*/
public function testEmbedBidi() {
- $lre = "\xE2\x80\xAA"; // U+202A LEFT-TO-RIGHT EMBEDDING
- $rle = "\xE2\x80\xAB"; // U+202B RIGHT-TO-LEFT EMBEDDING
- $pdf = "\xE2\x80\xAC"; // U+202C POP DIRECTIONAL FORMATTING
+ $lre = "\u{202A}"; // U+202A LEFT-TO-RIGHT EMBEDDING
+ $rle = "\u{202B}"; // U+202B RIGHT-TO-LEFT EMBEDDING
+ $pdf = "\u{202C}"; // U+202C POP DIRECTIONAL FORMATTING
$lang = $this->getLang();
$this->assertEquals(
'123',