* (bug 35685) api.php URL and other entry point URLs are now listed on
Special:Version
* Edit notices can now be translated.
+* (bug 35680) jQuery upgraded to 1.7.2.
+* jQuery UI upgraded to 1.8.19.
* (bug 22887) Add warning and tracking category for preprocessor errors
* (bug 31704) Allow selection of associated namespace on the watchlist
* (bug 5445) Now remove autoblocks when a user is unblocked.
* New getCreator and getOldestRevision methods added to WikiPage class
* (bug 4220) the XML dump format schema now have unique identity constraints
for page and revision identifiers. Patch by Elvis Stansvik.
+* (bug 35705) QUnit upgraded from 1.2.0 to 1.7.0
=== Bug fixes in 1.20 ===
* (bug 30245) Use the correct way to construct a log page title.
* Removed white border around thumbnails in galleries.
* (bug 31236) "Next" and "Previous" buttons are shown incorrectly in
an RTL environment.
-* (bug 35680) jQuery upgraded to 1.7.2.
-* jQuery UI upgraded to 1.8.19.
-* (bug 35705) QUnit upgraded from 1.2.0 to 1.5.0
* (bug 35749) Updated maintenance/checkSyntax.php to use Git instead of
Subversion when invoked with the --modified option.
* (bug 35069) On history pages, the " . . " separator after the number of
*
* CIDR notation is hard to understand, it's easy to mistakenly assume that a
* /1 is a small range and a /31 is a large range. Setting this to half the
- * number of bits avoids such errors.
+ * number of bits avoids such errors for IPv4.
*/
$wgBlockCIDRLimit = array(
'IPv4' => 16, # Blocks larger than a /16 (64k addresses) will not be allowed
- 'IPv6' => 64, # 2^64 = ~1.8x10^19 addresses
+ 'IPv6' => 32, # Blocks larger than a /32 (~7.9x10^28 addresses) will not be allowed
);
/**
*/
protected function getDiffLink() {
if ( $this->isDeleted() && !$this->canViewContent() ) {
- return wfMsgHtml('diff');
+ return $this->context->msg( 'diff' )->escaped();
} else {
return
Linker::link(
$this->list->title,
- wfMsgHtml('diff'),
+ $this->context->msg( 'diff' )->escaped(),
array(),
array(
'diff' => $this->revision->getId(),
}
public function getHTML() {
- $difflink = wfMessage( 'parentheses' )->rawParams( $this->getDiffLink() );
+ $difflink = $this->context->msg( 'parentheses' )
+ ->rawParams( $this->getDiffLink() )->escaped();
$revlink = $this->getRevisionLink();
$userlink = Linker::revUserLink( $this->revision );
$comment = Linker::revComment( $this->revision );
$display .= $link;
$linkObj = Title::newFromText( $growinglink );
- if ( is_object( $linkObj ) && $linkObj->exists() ) {
+ if ( is_object( $linkObj ) && $linkObj->isKnown() ) {
$getlink = Linker::linkKnown(
$linkObj,
htmlspecialchars( $display )
}
}
+ if ( isset( $createaccount_url ) ) {
+ $personal_urls['createaccount'] = $createaccount_url;
+ }
if( $this->showIPinHeader() ) {
$href = &$this->userpageUrlDetails['href'];
} else {
$personal_urls['login'] = $login_url;
}
- if ( isset($createaccount_url) ) {
- $personal_urls['createaccount'] = $createaccount_url;
- }
}
wfRunHooks( 'PersonalUrls', array( &$personal_urls, &$title ) );
*/
public function processDbRow( $row ) {
// Store Title object in various data structures
- $title = Title::makeTitle( $row->page_namespace, $row->page_title );
+ $title = Title::newFromRow( $row );
$pageId = intval( $row->page_id );
$this->mAllPages[$row->page_namespace][$row->page_title] = $pageId;
* @return string
*/
function searchForm() {
- global $wgSitename, $wgServer, $wgRequest;
+ global $wgSitename, $wgCanonicalServer, $wgRequest;
$usegoogle = htmlspecialchars( $this->msg( 'dberr-usegoogle', 'You can try searching via Google in the meantime.' ) );
$outofdate = htmlspecialchars( $this->msg( 'dberr-outofdate', 'Note that their indexes of our content may be out of date.' ) );
$search = htmlspecialchars( $wgRequest->getVal( 'search' ) );
- $server = htmlspecialchars( $wgServer );
+ $server = htmlspecialchars( $wgCanonicalServer );
$sitename = htmlspecialchars( $wgSitename );
$trygoogle = <<<EOT
$phpError = $this->restoreErrorHandler();
# Always log connection errors
if ( !$this->mConn ) {
- $error = $this->lastError();
+ $error = $phpError;
if ( !$error ) {
- $error = $phpError;
+ $error = $this->lastError();
}
wfLogDBError( "Error connecting to {$this->mServer}: $error\n" );
wfDebug( "DB connection error\n" );
wfDebug( "Server: $server, User: $user, Password: " .
- substr( $password, 0, 3 ) . "..., error: " . mysql_error() . "\n" );
+ substr( $password, 0, 3 ) . "..., error: " . $error . "\n" );
}
wfProfileOut("dbconnect-$server");
* @param $val mixed Information to cache
*/
final protected function setContainerCache( $container, $val ) {
- $this->memCache->set( $this->containerCacheKey( $container ), $val, 14*86400 );
+ $this->memCache->add( $this->containerCacheKey( $container ), $val, 14*86400 );
}
/**
- * Delete the cached info for a container
+ * Delete the cached info for a container.
+ * The cache key is salted for a while to prevent race conditions.
*
* @param $container string Resolved container name
*/
final protected function deleteContainerCache( $container ) {
- if ( !$this->memCache->delete( $this->containerCacheKey( $container ) ) ) {
+ if ( !$this->memCache->set( $this->containerCacheKey( $container ), 'PURGED', 300 ) ) {
trigger_error( "Unable to delete stat cache for container $container." );
}
}
* @param $val mixed Information to cache
*/
final protected function setFileCache( $path, $val ) {
- $this->memCache->set( $this->fileCacheKey( $path ), $val, 7*86400 );
+ $this->memCache->add( $this->fileCacheKey( $path ), $val, 7*86400 );
}
/**
- * Delete the cached stat info for a file path
+ * Delete the cached stat info for a file path.
+ * The cache key is salted for a while to prevent race conditions.
*
* @param $path string Storage path
*/
final protected function deleteFileCache( $path ) {
- if ( !$this->memCache->delete( $this->fileCacheKey( $path ) ) ) {
+ if ( !$this->memCache->set( $this->fileCacheKey( $path ), 'PURGED', 300 ) ) {
trigger_error( "Unable to delete stat cache for file $path." );
}
}
/**
* @return null|string
*/
- public function getDescription() {
+ public function getDescription( $audience = self::FOR_PUBLIC, User $user = null ) {
return isset( $this->mInfo['comment'] ) ? strval( $this->mInfo['comment'] ) : null;
}
$value = $pageLang->formatNum( SiteStats::edits() );
break;
case 'numberofviews':
- $value = $pageLang->formatNum( SiteStats::views() );
+ global $wgDisableCounters;
+ $value = !$wgDisableCounters ? $pageLang->formatNum( SiteStats::views() ) : '';
break;
case 'currenttimestamp':
$value = wfTimestamp( TS_MW, $ts );
/**
* @param $context ResourceLoaderContext
- * @return string Javascript code
+ * @return string: Javascript code
*/
public function getScript( ResourceLoaderContext $context ) {
global $wgContLang;
$hash = md5( serialize( $forms ) );
$result = $cache->get( $key );
- if ( is_array( $result ) ) {
- if ( $result['hash'] === $hash ) {
- return $result['timestamp'];
- }
+ if ( is_array( $result ) && $result['hash'] === $hash ) {
+ return $result['timestamp'];
}
$timestamp = wfTimestamp();
- $cache->set( $key, array( 'hash' => $hash, 'timestamp' => $timestamp ) );
+ $cache->set( $key, array(
+ 'hash' => $hash,
+ 'timestamp' => $timestamp,
+ ) );
return $timestamp;
}
* @return string
*/
protected function getRevisionLink() {
- $date = $this->list->getLanguage()->userTimeAndDate(
- $this->revision->getTimestamp(), $this->list->getUser() );
+ $date = htmlspecialchars( $this->list->getLanguage()->userTimeAndDate(
+ $this->revision->getTimestamp(), $this->list->getUser() ) );
+
if ( $this->isDeleted() && !$this->canViewContent() ) {
return $date;
}
- return Linker::link(
+ return Linker::linkKnown(
$this->list->title,
$date,
array(),
return $this->list->msg( 'diff' )->escaped();
} else {
return
- Linker::link(
+ Linker::linkKnown(
$this->list->title,
$this->list->msg( 'diff' )->escaped(),
array(),
'diff' => $this->revision->getId(),
'oldid' => 'prev',
'unhide' => 1
- ),
- array(
- 'known',
- 'noclasses'
)
);
}
}
public function getHTML() {
- $difflink = wfMessage( 'parentheses' )->rawParams( $this->getDiffLink() );
+ $difflink = $this->list->msg( 'parentheses' )
+ ->rawParams( $this->getDiffLink() )->escaped();
$revlink = $this->getRevisionLink();
$userlink = Linker::revUserLink( $this->revision );
$comment = Linker::revComment( $this->revision );
}
protected function getRevisionLink() {
- $undelete = SpecialPage::getTitleFor( 'Undelete' );
- $date = $this->list->getLanguage()->userTimeAndDate(
- $this->revision->getTimestamp(), $this->list->getUser() );
+ $date = htmlspecialchars( $this->list->getLanguage()->userTimeAndDate(
+ $this->revision->getTimestamp(), $this->list->getUser() ) );
+
if ( $this->isDeleted() && !$this->canViewContent() ) {
return $date;
}
- return Linker::link( $undelete, $date, array(),
+
+ return Linker::link(
+ SpecialPage::getTitleFor( 'Undelete' ),
+ $date,
+ array(),
array(
'target' => $this->list->title->getPrefixedText(),
'timestamp' => $this->revision->getTimestamp()
- ) );
+ )
+ );
}
protected function getDiffLink() {
if ( $this->isDeleted() && !$this->canViewContent() ) {
return $this->list->msg( 'diff' )->escaped();
}
- $undelete = SpecialPage::getTitleFor( 'Undelete' );
- return Linker::link( $undelete, $this->list->msg( 'diff' )->escaped(), array(),
+
+ return Linker::link(
+ SpecialPage::getTitleFor( 'Undelete' ),
+ $this->list->msg( 'diff' )->escaped(),
+ array(),
array(
'target' => $this->list->title->getPrefixedText(),
'diff' => 'prev',
'timestamp' => $this->revision->getTimestamp()
- ) );
+ )
+ );
}
}
* @return string
*/
protected function getLink() {
- $date = $this->list->getLanguage()->userTimeAndDate(
- $this->file->getTimestamp(), $this->list->getUser() );
- if ( $this->isDeleted() ) {
- # Hidden files...
- if ( !$this->canViewContent() ) {
- $link = $date;
- } else {
- $revdelete = SpecialPage::getTitleFor( 'Revisiondelete' );
- $link = Linker::link(
- $revdelete,
- $date, array(),
- array(
- 'target' => $this->list->title->getPrefixedText(),
- 'file' => $this->file->getArchiveName(),
- 'token' => $this->list->getUser()->getEditToken(
- $this->file->getArchiveName() )
- )
- );
- }
- return '<span class="history-deleted">' . $link . '</span>';
- } else {
+ $date = htmlspecialchars( $this->list->getLanguage()->userTimeAndDate(
+ $this->file->getTimestamp(), $this->list->getUser() ) );
+
+ if ( !$this->isDeleted() ) {
# Regular files...
- return Xml::element( 'a', array( 'href' => $this->file->getUrl() ), $date );
+ return Html::rawElement( 'a', array( 'href' => $this->file->getUrl() ), $date );
}
+
+ # Hidden files...
+ if ( !$this->canViewContent() ) {
+ $link = $date;
+ } else {
+ $link = Linker::link(
+ SpecialPage::getTitleFor( 'Revisiondelete' ),
+ $date,
+ array(),
+ array(
+ 'target' => $this->list->title->getPrefixedText(),
+ 'file' => $this->file->getArchiveName(),
+ 'token' => $this->list->getUser()->getEditToken(
+ $this->file->getArchiveName() )
+ )
+ );
+ }
+ return '<span class="history-deleted">' . $link . '</span>';
}
/**
* Generate a user tool link cluster if the current user is allowed to view it
}
protected function getLink() {
- $date = $this->list->getLanguage()->userTimeAndDate(
- $this->file->getTimestamp(), $this->list->getUser() );
- $undelete = SpecialPage::getTitleFor( 'Undelete' );
- $key = $this->file->getKey();
+ $date = htmlspecialchars( $this->list->getLanguage()->userTimeAndDate(
+ $this->file->getTimestamp(), $this->list->getUser() ) );
+
# Hidden files...
if( !$this->canViewContent() ) {
$link = $date;
} else {
+ $undelete = SpecialPage::getTitleFor( 'Undelete' );
+ $key = $this->file->getKey();
$link = Linker::link( $undelete, $date, array(),
array(
'target' => $this->list->title->getPrefixedText(),
array(),
array( 'page' => $title->getPrefixedText() )
);
- $loglink = wfMessage( 'parentheses' )->rawParams( $loglink );
+ $loglink = $this->list->msg( 'parentheses' )->rawParams( $loglink )->escaped();
// User links and action text
$action = $formatter->getActionText();
// Comment
);
$download = Linker::makeMediaLinkObj( $nt, $this->msg( 'download' )->escaped() );
+ $download = $this->msg( 'parentheses' )->rawParams( $download )->escaped();
$lang = $this->getLanguage();
$bytes = htmlspecialchars( $lang->formatSize( $result->img_size ) );
$dimensions = $this->msg( 'widthheight' )->numParams( $result->img_width,
$user = Linker::link( Title::makeTitle( NS_USER, $result->img_user_text ), htmlspecialchars( $result->img_user_text ) );
$time = htmlspecialchars( $lang->userTimeAndDate( $result->img_timestamp, $this->getUser() ) );
- return "($download) $plink . . $dimensions . . $bytes . . $user . . $time";
+ return "$download $plink . . $dimensions . . $bytes . . $user . . $time";
}
/**
<?php
/**
- * Internationalisation code
+ * Internationalisation code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
*
* @file
* @ingroup Language
<?php
+/**
+ * Language names.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
+
/**
* These determine things like interwikis, language selectors, and so on.
* Safe to change without running scripts on the respective sites.
'ug-latn' => 'Uyghurche', # Uyghur (Latin script)
'uk' => 'українська', # Ukrainian
'ur' => 'اردو', # Urdu
- 'uz' => 'Oʻzbek', # Uzbek
+ 'uz' => 'Oʻzbekcha', # Uzbek
've' => 'Tshivenda', # Venda
'vec' => 'vèneto', # Venetian
'vep' => 'Vepsän kel’', # Veps
<?php
+/**
+ * Amharic (አማርኛ) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
+
/**
* Amharic (አማርኛ)
*
<?php
-/** Arabic (العربية)
+/**
+ * Arabic (العربية) specific code.
*
- * @ingroup Language
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
*
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
* @author Niklas Laxström
+ * @ingroup Language
+ */
+
+/**
+ * Arabic (العربية)
+ *
+ * @ingroup Language
*/
class LanguageAr extends Language {
<?php
-/** Azerbaijani (Azərbaycan)
- *
- * @ingroup Language
- */
+/**
+ * Azerbaijani (Azərbaycan) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
+
+/**
+ * Azerbaijani (Azərbaycan)
+ *
+ * @ingroup Language
+ */
class LanguageAz extends Language {
/**
<?php
-/** Belarusian normative (Беларуская мова)
- *
- * This is still the version from Be-x-old, only duplicated for consistency of
- * plural and grammar functions. If there are errors please send a patch.
- *
- * @ingroup Language
- *
- * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- * @see http://be.wikipedia.org/wiki/Talk:LanguageBe.php
- * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
- * @license http://www.gnu.org/copyleft/fdl.html GNU Free Documentation License
- */
+/**
+ * Belarusian normative (Беларуская мова) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
+ * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
+ * @license http://www.gnu.org/copyleft/fdl.html GNU Free Documentation License
+ * @ingroup Language
+ */
+/**
+ * Belarusian normative (Беларуская мова)
+ *
+ * This is still the version from Be-x-old, only duplicated for consistency of
+ * plural and grammar functions. If there are errors please send a patch.
+ *
+ * @ingroup Language
+ * @see http://be.wikipedia.org/wiki/Talk:LanguageBe.php
+ */
class LanguageBe extends Language {
/**
<?php
-/** Belarusian in Taraškievica orthography (Беларуская тарашкевіца)
- *
- * @ingroup Language
- *
- * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- * @see http://be-x-old.wikipedia.org/wiki/Project_talk:LanguageBe_tarask.php
- * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
- * @license http://www.gnu.org/copyleft/fdl.html GNU Free Documentation License
- */
+/**
+ * Belarusian in Taraškievica orthography (Беларуская тарашкевіца) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
+ * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
+ * @license http://www.gnu.org/copyleft/fdl.html GNU Free Documentation License
+ * @ingroup Language
+ */
+/**
+ * Belarusian in Taraškievica orthography (Беларуская тарашкевіца)
+ *
+ * @ingroup Language
+ * @see http://be-x-old.wikipedia.org/wiki/Project_talk:LanguageBe_tarask.php
+ */
class LanguageBe_tarask extends Language {
/**
* Plural form transformations
<?php
+/**
+ * Bulgarian (Български) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
-/** Bulgarian (Български)
+/**
+ * Bulgarian (Български)
*
* @ingroup Language
*/
<?php
+/**
+ * Bihari (भोजपुरी) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
+
/**
* Bihari (भोजपुरी)
*
<?php
+/**
+ * Bosnian (bosanski) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
-/** Bosnian (bosanski)
+/**
+ * Bosnian (bosanski)
*
* @ingroup Language
*/
<?php
+/**
+ * Czech (čeština [subst.], český [adj.], česky [adv.]) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
-/** Czech (čeština [subst.], český [adj.], česky [adv.])
+/**
+ * Czech (čeština [subst.], český [adj.], česky [adv.])
*
* @ingroup Language
*/
<?php
-
-/** Old Church Slavonic (Ѩзыкъ словѣньскъ)
+/**
+ * Old Church Slavonic (Ѩзыкъ словѣньскъ) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
+
+/**
+ * Old Church Slavonic (Ѩзыкъ словѣньскъ)
*
* @ingroup Language
*/
<?php
-/** Welsh (Cymraeg)
+/**
+ * Welsh (Cymraeg) specific code.
*
- * @ingroup Language
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
*
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
* @author Niklas Laxström
+ * @ingroup Language
+ */
+
+/**
+ * Welsh (Cymraeg)
+ *
+ * @ingroup Language
*/
class LanguageCy extends Language {
<?php
+/**
+ * Lower Sorbian (Dolnoserbski) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @author Niklas Laxström
+ * @ingroup Language
+ */
-/** Lower Sorbian (Dolnoserbski)
+/**
+ * Lower Sorbian (Dolnoserbski)
*
* @ingroup Language
*/
<?php
+/**
+ * Esperanto (Esperanto) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @author Brion Vibber <brion@pobox.com>
+ * @ingroup Language
+ */
-/** Esperanto (Esperanto)
+/**
+ * Esperanto (Esperanto)
*
* @ingroup Language
- * @author Brion Vibber <brion@pobox.com>
*/
class LanguageEo extends Language {
/**
<?php
-
-/** Estonian (Eesti)
+/**
+ * Estonian (Eesti) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
*
+ * @file
* @ingroup Language
+ */
+
+/**
+ * Estonian (Eesti)
*
+ * @ingroup Language
*/
class LanguageEt extends Language {
/**
<?php
-
-/** Finnish (Suomi)
+/**
+ * Finnish (Suomi) specific code.
*
- * @ingroup Language
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
*
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
* @author Niklas Laxström
+ * @ingroup Language
+ */
+
+/**
+ * Finnish (Suomi)
+ *
+ * @ingroup Language
*/
class LanguageFi extends Language {
<?php
+/**
+ * French (Français) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
-/** French (Français)
+/**
+ * French (Français)
*
* @ingroup Language
*/
<?php
+/**
+ * Irish (Gaeilge) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
-/** Irish (Gaeilge)
+/**
+ * Irish (Gaeilge)
*
* @ingroup Language
*/
<?php
+/**
+ * Gan Chinese specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
require_once( dirname( __FILE__ ) . '/../LanguageConverter.php' );
require_once( dirname( __FILE__ ) . '/LanguageZh.php' );
<?php
-/** Scots Gaelic (Gàidhlig)
+/**
+ * Scots Gaelic (Gàidhlig) specific code.
*
- * @ingroup Language
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
*
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
* @author Raimond Spekking
* @author Niklas Laxström
+ * @ingroup Language
+ */
+
+/**
+ * Scots Gaelic (Gàidhlig)
+ *
+ * @ingroup Language
*/
class LanguageGd extends Language {
<?php
-
-/** Manx (Gaelg)
+/**
+ * Manx (Gaelg) specific code.
*
- * @ingroup Language
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
*
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
* @author Niklas Laxström
+ * @ingroup Language
+ */
+
+/**
+ * Manx (Gaelg)
+ *
+ * @ingroup Language
*/
class LanguageGv extends Language {
<?php
+/**
+ * Hebrew (עברית) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @author Rotem Liss
+ * @ingroup Language
+ */
/**
* Hebrew (עברית)
*
* @ingroup Language
- *
- * @author Rotem Liss
*/
class LanguageHe extends Language {
<?php
+/**
+ * Hindi (हिन्दी) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
+
/**
* Hindi (हिन्दी)
*
<?php
-/** Croatian (hrvatski)
- *
- * @ingroup Language
- */
+/**
+ * Croatian (hrvatski) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
+/**
+ * Croatian (hrvatski)
+ *
+ * @ingroup Language
+ */
class LanguageHr extends Language {
/**
<?php
-/** Upper Sorbian (Hornjoserbsce)
+/**
+ * Upper Sorbian (Hornjoserbsce) specific code.
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
* @ingroup Language
*/
+/**
+ * Upper Sorbian (Hornjoserbsce)
+ *
+ * @ingroup Language
+ */
class LanguageHsb extends Language {
/**
<?php
+/**
+ * Hungarian (magyar) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
-/** Hungarian localisation for MediaWiki
+/**
+ * Hungarian localisation for MediaWiki
*
* @ingroup Language
*/
<?php
+/**
+ * Armenian (Հայերեն) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @author Ruben Vardanyan (Me@RubenVardanyan.com)
+ * @ingroup Language
+ */
-/** Armenian (Հայերեն)
+/**
+ * Armenian (Հայերեն)
*
* @ingroup Language
- * @author Ruben Vardanyan (Me@RubenVardanyan.com)
*/
class LanguageHy extends Language {
<?php
/**
- * @addtogroup Language
- */
-
-/*
-* Conversion script between Latin and Syllabics for Inuktitut.
-* - Syllabics -> lowercase Latin
-* - lowercase/uppercase Latin -> Syllabics
-*
-*
-* Based on:
-* - http://commons.wikimedia.org/wiki/Image:Inuktitut.png
-* - LanguageSr.php
-*
-* @ingroup Language
-*/
+ * Inuktitut specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
+
require_once( dirname( __FILE__ ) . '/../LanguageConverter.php' );
/**
+ * Conversion script between Latin and Syllabics for Inuktitut.
+ * - Syllabics -> lowercase Latin
+ * - lowercase/uppercase Latin -> Syllabics
+ *
*
+ * Based on:
+ * - http://commons.wikimedia.org/wiki/Image:Inuktitut.png
+ * - LanguageSr.php
+ *
+ * @ingroup Language
*/
class IuConverter extends LanguageConverter {
<?php
+/**
+ * Japanese (日本語) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
/**
* Japanese (日本語)
<?php
+/**
+ * Karakalpak (Qaraqalpaqsha) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
-/** Karakalpak (Qaraqalpaqsha)
+/**
+ * Karakalpak (Qaraqalpaqsha)
*
* @ingroup Language
*/
<?php
+/**
+ * Kazakh (Қазақша) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
require_once( dirname( __FILE__ ) . '/../LanguageConverter.php' );
require_once( dirname( __FILE__ ) . '/LanguageKk_cyrl.php' );
define( 'H_HAMZA', 'ٴ' ); # U+0674 ARABIC LETTER HIGH HAMZA
// define( 'ZWNJ', '' ); # U+200C ZERO WIDTH NON-JOINER
-/** Kazakh (Қазақша)
- * converter routines
+/**
+ * Kazakh (Қазақша) converter routines
*
* @ingroup Language
*/
<?php
-/** Kazakh (Қазақша)
+/**
+ * Kazakh (Қазақша) specific code.
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
* @ingroup Language
*/
+/**
+ * Kazakh (Қазақша)
+ *
+ * @ingroup Language
+ */
class LanguageKk_cyrl extends Language {
# Convert from the nominative form of a noun to some other case
<?php
-/** Khmer (ភាសាខ្មែរ)
+/**
+ * Kazakh (Қазақша) specific code.
*
- * @ingroup Language
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
*
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
* @author Niklas Laxström
+ * @ingroup Language
+ */
+
+/**
+ * Khmer (ភាសាខ្មែរ)
+ *
+ * @ingroup Language
*/
class LanguageKm extends Language {
<?php
-
-/** Ripuarian (Ripoarėsh)
+/**
+ * Ripuarian (Ripoarėsh) specific code.
*
- * @ingroup Language
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
*
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
* @author Purodha Blissenbach
+ * @ingroup Language
+ */
+
+/**
+ * Ripuarian (Ripoarėsh)
+ *
+ * @ingroup Language
*/
class LanguageKsh extends Language {
static $familygender = array(
<?php
+/**
+ * Kurdish specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
+
require_once( dirname( __FILE__ ) . '/../LanguageConverter.php' );
require_once( dirname( __FILE__ ) . '/LanguageKu_ku.php' );
<?php
+/**
+ * Kurdish specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
-/** Kurdish
+/**
+ * Kurdish
*
* @ingroup Language
*/
<?php
+/**
+ * Latin (lingua Latina) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
-/** Latin (lingua Latina)
+/**
+ * Latin (lingua Latina)
*
* @ingroup Language
*/
<?php
+/**
+ * Lingala (Lingála) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
+
/**
* Lingala (Lingála)
*
<?php
+/**
+ * Lithuanian (Lietuvių) specific code.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Language
+ */
-/** Lithuanian (Lietuvių)
+/**
+ * Lithuanian (Lietuvių)
*
* @ingroup Language
*/
<?php
-
-/** Latvian (Latviešu)
+/**
+ * Latvian (Latviešu) specific code.
*
- * @ingroup Language
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
- * @author Niklas Laxström
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
*
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @author Niklas Laxström
* @copyright Copyright © 2006, Niklas Laxström
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
+ * @ingroup Language
+ */
+
+/**
+ * Latvian (Latviešu)
+ *
+ * @ingroup Language
*/
class LanguageLv extends Language {
/**
'Filepath' => array( 'مسار_ملف' ),
'Import' => array( 'استيراد' ),
'Invalidateemail' => array( 'تعطيل_البريد_الإلكتروني' ),
+ 'JavaScriptTest' => array( 'اختبار_جافا_سكريبت' ),
'BlockList' => array( 'قائمة_المنع', 'عرض_المنع', 'قائمة_منع_أيبي' ),
'LinkSearch' => array( 'بحث_الوصلات' ),
'Listadmins' => array( 'عرض_الإداريين' ),
باستطاعتك جعل القائمة أكثر تحديداً، وذلك باختيار نوع السجل واسم المستخدم (حساس لحالة الحروف)، أو الصفحة المتأثرة (أيضاً حساس لحالة الحروف).',
'logempty' => 'لا توجد مدخلات مطابقة في السجل.',
'log-title-wildcard' => 'ابحث عن عناوين تبدأ بهذا النص',
+'showhideselectedlogentries' => 'إطهار/إخفاء سجلات الدخول المختارة',
# Special:AllPages
'allpages' => 'كل الصفحات',
);
$specialPageAliases = array(
+ 'Activeusers' => array( 'ܡܦܠܚܢ̈ܐ_ܙܪ̄ܝܙܐ' ),
'Allmessages' => array( 'ܟܠ_ܐܓܪ̈ܬܐ' ),
'Allpages' => array( 'ܟܠ_ܦܐܬܬ̈ܐ' ),
+ 'Badtitle' => array( 'ܟܘܢܝܐ_ܠܐ_ܛܒܐ' ),
'Blankpage' => array( 'ܦܐܬܐ_ܣܦܝܩܬܐ' ),
'Categories' => array( 'ܣܕܪ̈ܐ' ),
'Contributions' => array( 'ܫܘܬܦܘܝܬ̈ܐ' ),
'Mycontributions' => array( 'ܫܘܬܦܘܝܬ̈ܝ' ),
'Mypage' => array( 'ܦܐܬܐ_ܕܝܠܝ' ),
'Mytalk' => array( 'ܡܡܠܠܐ_ܕܝܠܝ' ),
+ 'Myuploads' => array( 'ܐܣܩܬ̈ܐ_ܕܝܠܝ' ),
'Newimages' => array( 'ܠܦܦ̈ܐ_ܚܕ̈ܬܐ', 'ܨܘܪ̈ܬܐ_ܚܕ̈ܬܬܐ' ),
'Newpages' => array( 'ܦܐܬܬ̈ܐ_ܚܕ̈ܬܬܐ' ),
'PermanentLink' => array( 'ܐܣܘܪܐ_ܦܝܘܫܐ' ),
- 'Preferences' => array( 'Ü\93Ü\92Ü\9dܬ̈ܐ' ),
+ 'Preferences' => array( 'ܨÜ\92Ü\9dÜ¢Ü\9dÜ\98ܬ̈ܐ' ),
'Protectedpages' => array( 'ܦܐܬܬ̈ܐ_ܢܛܝܪ̈ܬܐ' ),
'Protectedtitles' => array( 'ܟܘܢܝ̈ܐ_ܢܛܝܪ̈ܐ' ),
'Recentchanges' => array( 'ܫܘܚܠܦ̈ܐ_ܚܕ̈ܬܐ' ),
'Shortpages' => array( 'ܦܐܬܬ̈ܐ_ܟܪ̈ܝܬܐ' ),
'Specialpages' => array( 'ܦܐܬܬ̈ܐ_ܕ̈ܝܠܢܝܬܐ' ),
'Upload' => array( 'ܐܣܩ' ),
+ 'Version' => array( 'ܨܚܚܐ' ),
'Watchlist' => array( 'ܪ̈ܗܝܬܐ' ),
'Whatlinkshere' => array( 'ܡܐ_ܐܣܪ_ܠܗܪܟܐ' ),
);
'restorelink' => '{{PLURAL:$1|ܚܕ ܫܘܚܠܦܐ ܫܝܦܐ|$1 ܫܘܚܠܦ̈ܐ ܫܝܦ̈ܐ}}',
'site-atom-feed' => '$1 ܛܥܝܡܘܬܐ ܕܐܛܘܡ',
'page-atom-feed' => '"$1" ܛܥܝܡܘܬܐ ܕܐܛܘܡ',
+'feed-atom' => 'ܐܛܘܡ',
'red-link-title' => '$1 (ܦܐܬܐ ܗܕܐ ܠܝܬ)',
# Short words for each namespace, by default used in the namespace tab in monobook
# Statistics
'statistics-pages' => 'ܦܐܬܬ̈ܐ',
-'statistics-users-active' => 'Ü¡Ü¦Ü Ü\9aÜ¢Ì\88Ü\90 Ü\9fÜ«Ü\9dܪÌ\88ܐ',
+'statistics-users-active' => 'Ü¡Ü¦Ü Ü\9aÜ¢Ì\88Ü\90 Ü\99ܪÌ\84Ü\9dÜ\99ܐ',
'disambiguations' => 'ܦܐܬܬ̈ܐ ܐܣܝܪ̈ܬܐ ܒܦܐܬܬ̈ܐ ܕܬܘܚܡܐ ܐܚܪܢܐ',
'disambiguationspage' => 'Template:ܬܘܚܡܐ ܐܚܪܢܐ',
'listusers-blocked' => '(ܚܪܝܡܐ)',
# Special:ActiveUsers
-'activeusers' => 'Ü¡Ü\9fܬÜ\92Ü\98ܬÜ\90 Ü\95Ü\97Ü\95Ì\88Ü¡Ü\90 Ü\9fÜ«Ü\9dܪÌ\88ܐ',
+'activeusers' => 'Ü¡Ü\9fܬÜ\92Ü\98ܬÜ\90 Ü\95Ü\97Ü\95Ì\88Ü¡Ü\90 Ü\99ܪÌ\84Ü\9dÜ\99ܐ',
'activeusers-count' => '$1 {{PLURAL:$1|ܫܘܚܠܦܐ ܚܕܬܐ|ܫܘܚܠܦ̈ܐ ܚܕ̈ܬܐ}} ܒ {{PLURAL:$3|ܝܘܡܐ ܐܚܪܝܐ|$3 ܝܘܡܬ̈ܐ ܐܚܪ̈ܝܐ}}',
'activeusers-from' => 'ܚܘܝ ܡܦܠܚܢ̈ܐ ܕܫܪܐ ܥܡ:',
'activeusers-hidebots' => 'ܛܫܝ ܒܘܬ̈ܐ (bots)',
'protect-level-autoconfirmed' => 'ܚܪܘܡ ܡܦܠܚܢ̈ܐ ܚܕ̈ܬܐ ܘܠܐ ܥܠܝܠ̈ܐ',
'protect-level-sysop' => 'ܡܕܒܪ̈ܢܐ ܒܠܚܘܕ',
'protect-expiring' => 'ܦܪܩ ܒ $1 (UTC)',
-'protect-expiry-indefinite' => 'Ü\95Ü Ü\90 Ü£Ü\9f',
+'protect-expiry-indefinite' => 'Ü Ü¥Ü Ü¡',
'protect-othertime' => 'ܥܕܢܐ ܐܚܪܬܐ:',
'protect-othertime-op' => 'ܥܕܢܐ ܐܚܪܬܐ',
'protect-otherreason' => 'ܥܠܬܐ ܐܚܪܬܐ/ܢܩܝܦܬܐ:',
'protect-otherreason-op' => 'ܥܠܬܐ ܐܚܪܬܐ',
'protect-edit-reasonlist' => 'ܫܚܠܦ ܥܠܬܐ ܕܢܛܪܐ',
-'protect-expiry-options' => '1 ܫܥܬÜ\90:1 hour,1 Ü\9dÜ\98Ü¡Ü\90:1 day,1 Ü«Ü\92Ü\98Ü¥Ü\90:1 week,2 Ü«Ü\92Ü\98Ü¥Ì\88Ü\90:2 weeks,1 Ü\9dܪÜ\9aÜ\90:1 month,3 Ü\9dܪÌ\88Ü\9aÜ\90:3 months,6 Ü\9dܪÌ\88Ü\9aÜ\90:6 months,1 ܫܢܬÜ\90:1 year,Ü\95Ü Ü\90 Ü£Ü\9f:infinite',
+'protect-expiry-options' => '1 ܫܥܬÜ\90:1 hour,1 Ü\9dÜ\98Ü¡Ü\90:1 day,1 Ü«Ü\92Ü\98Ü¥Ü\90:1 week,2 Ü«Ü\92Ü\98Ü¥Ì\88Ü\90:2 weeks,1 Ü\9dܪÜ\9aÜ\90:1 month,3 Ü\9dܪÌ\88Ü\9aÜ\90:3 months,6 Ü\9dܪÌ\88Ü\9aÜ\90:6 months,1 ܫܢܬÜ\90:1 year,Ü Ü¥Ü Ü¡:infinite',
'restriction-type' => 'ܦܣܣܐ:',
'minimum-size' => 'ܡܬܚܐ ܬܚܬܝܐ ܕܥܓܪܐ',
'maximum-size' => 'ܡܬܚܐ ܥܠܝܐ ܕܥܓܪܐ',
'ipbreasonotherlist' => 'ܥܠܬܐ ܐܚܪܬܐ',
'ipbsubmit' => 'ܚܪܘܡ ܡܦܠܚܢܐ ܗܢܐ',
'ipbother' => 'ܥܕܢܐ ܐܚܪܬܐ',
-'ipboptions' => '2 ܫܥܬÌ\88Ü\90:2 hours,1 Ü\9dÜ\98Ü¡Ü\90:1 day,3 Ü\9dÜ\98ܡܬÌ\88Ü\90:3 days,1 Ü«Ü\92Ü\98Ü¥Ü\90:1 week,2 Ü«Ü\92Ü\98Ü¥Ì\88Ü\90:2 weeks,1 Ü\9dܪÜ\9aÜ\90:1 month,3 Ü\9dܪÌ\88Ü\9aÜ\90:3 months,6 Ü\9dܪÌ\88Ü\9aÜ\90:6 months,1 ܫܢܬÜ\90:1 year,Ü\95Ü Ü\90 Ü£Ü\9f:infinite',
+'ipboptions' => '2 ܫܥܬÌ\88Ü\90:2 hours,1 Ü\9dÜ\98Ü¡Ü\90:1 day,3 Ü\9dÜ\98ܡܬÌ\88Ü\90:3 days,1 Ü«Ü\92Ü\98Ü¥Ü\90:1 week,2 Ü«Ü\92Ü\98Ü¥Ì\88Ü\90:2 weeks,1 Ü\9dܪÜ\9aÜ\90:1 month,3 Ü\9dܪÌ\88Ü\9aÜ\90:3 months,6 Ü\9dܪÌ\88Ü\9aÜ\90:6 months,1 ܫܢܬÜ\90:1 year,Ü Ü¥Ü Ü¡:infinite',
'ipbotheroption' => 'ܐܚܪܢܐ',
'ipbotherreason' => 'ܥܠܬܐ ܐܚܪܬܐ/ܢܩܝܦܬܐ:',
'ipbhidename' => 'ܛܫܝ ܫܡܐ ܕܡܦܠܚܢܐ ܡܢ ܫܘܚܠܦ̈ܐ ܘܡܟܬܒܘܬ̈ܐ',
'ipblocklist-legend' => 'ܐܫܟܚ ܡܦܠܚܢܐ ܡܚܪܡܐ',
'ipblocklist-submit' => 'ܒܨܝ',
'ipblocklist-localblock' => 'ܚܪܡܐ ܕܘܟܬܢܝܐ',
-'infiniteblock' => 'Ü\95Ü Ü\90 Ü£Ü\9f',
+'infiniteblock' => 'Ü Ü¥Ü Ü¡',
'anononlyblock' => 'ܠܐ ܝܕ̈ܝܥܐ ܒܠܚܘܕ',
'ipblocklist-empty' => 'ܣܓܠܐ ܕܚܪܡܐ ܣܦܝܩܐ.',
'blocklink' => 'ܚܪܘܡ',
'revisiontimestamp' => array( '1', 'طابع_وقت_المراجعة', 'REVISIONTIMESTAMP' ),
'revisionuser' => array( '1', 'مستخدم_المراجعة', 'REVISIONUSER' ),
'plural' => array( '0', 'جمع:', 'PLURAL:' ),
- 'fullurl' => array( '0', 'مسار_كامل:', 'عنوان_كامل:', 'FULLURL:' ),
+ 'fullurl' => array( '0', 'مسار_كامل:', 'FULLURL:' ),
'fullurle' => array( '0', 'عنوان_كامل:', 'مسار_كامل:', 'FULLURLE:' ),
'lcfirst' => array( '0', 'عنوان_كبير:', 'LCFIRST:' ),
'ucfirst' => array( '0', 'عنوان_صغير:', 'UCFIRST:' ),
'mergehistory-go' => "Паказаць вэрсіі, якія магчыма аб'яднаць",
'mergehistory-submit' => "Аб'яднаць гісторыі рэдагаваньняў",
'mergehistory-empty' => "Няма гісторыі рэдагаваньняў, якую магчыма аб'яднаць.",
-'mergehistory-success' => "$3 {{PLURAL:$3|вэрсія|вэрсіі|вэрсій}} з [[:$1]] пасьпяхова аб'яднаныя ў [[:$2]].",
+'mergehistory-success' => '$3 {{PLURAL:$3|вэрсія|вэрсіі|вэрсіяў}} з [[:$1]] пасьпяхова аб’яднаныя ў [[:$2]].',
'mergehistory-fail' => "Не атрымалася аб'яднаць гісторыі старонак. Калі ласка, праверце парамэтры старонкі і часу.",
'mergehistory-no-source' => 'Не існуе крынічнай старонкі $1.',
'mergehistory-no-destination' => 'Не існуе мэтавай старонкі $1.',
'right-writeapi' => 'выкарыстаньне API для запісаў',
'right-delete' => 'выдаленьне старонак',
'right-bigdelete' => 'Выдаленьне старонак зь вялікімі гісторыямі',
-'right-deleterevision' => 'выдаленьне і аднаўленьне асобных вэрсій старонак',
+'right-deleterevision' => 'выдаленьне і аднаўленьне асобных вэрсіяў старонак',
'right-deletedhistory' => 'прагляд выдаленай гісторыі старонак без доступу да выдаленага тэксту',
'right-deletedtext' => 'прагляд выдаленага тэксту і зьменаў паміж выдаленымі вэрсіямі старонак',
'right-browsearchive' => 'пошук выдаленых старонак',
'right-undelete' => 'аднаўленьне старонак',
-'right-suppressrevision' => 'прагляд і аднаўленьне вэрсій схаваных ад адміністратараў',
+'right-suppressrevision' => 'прагляд і аднаўленьне вэрсіяў схаваных ад адміністратараў',
'right-suppressionlog' => 'прагляд прыватных журналаў',
'right-block' => 'блякаваньне іншых удзельнікаў ад рэдагаваньняў',
'right-blockemail' => 'блякаваньне іншых ўдзельнікаў ад дасылкі электроннай пошты',
'ncategories' => '$1 {{PLURAL:$1|катэгорыя|катэгорыі|катэгорыяў}}',
'nlinks' => '$1 {{PLURAL:$1|спасылка|спасылкі|спасылак}}',
'nmembers' => '$1 {{PLURAL:$1|элемэнт|элемэнты|элемэнтаў}}',
-'nrevisions' => '$1 {{PLURAL:$1|вэрсія|вэрсіі|вэрсій}}',
+'nrevisions' => '$1 {{PLURAL:$1|вэрсія|вэрсіі|вэрсіяў}}',
'nviews' => '$1 {{PLURAL:$1|прагляд|прагляды|праглядаў}}',
'nimagelinks' => 'Выкарыстоўваецца на $1 {{PLURAL:$1|старонцы|старонках|старонках}}',
'ntransclusions' => 'выкарыстоўваецца на $1 {{PLURAL:$1|старонцы|старонках|старонках}}',
** Парушэньне аўтарскіх правоў
** Вандалізм',
'delete-edit-reasonlist' => 'Рэдагаваць прычыны выдаленьня',
-'delete-toobig' => 'Гэтая старонка мае доўгую гісторыю рэдагаваньняў, болей за $1 {{PLURAL:$1|вэрсію|вэрсіі|вэрсій}}.
+'delete-toobig' => 'Гэтая старонка мае доўгую гісторыю рэдагаваньняў, болей за $1 {{PLURAL:$1|вэрсію|вэрсіі|вэрсіяў}}.
Выдаленьне такіх старонак было забароненае, каб пазьбегнуць праблемаў у працы {{GRAMMAR:родны|{{SITENAME}}}}.',
-'delete-warning-toobig' => 'Гэтая старонка мае доўгую гісторыю рэдагаваньняў, больш за $1 {{PLURAL:$1|вэрсію|вэрсіі|вэрсій}}.
+'delete-warning-toobig' => 'Гэтая старонка мае доўгую гісторыю рэдагаваньняў, больш за $1 {{PLURAL:$1|вэрсію|вэрсіі|вэрсіяў}}.
Яе выдаленьне можа выклікаць праблемы ў працы базы зьвестак {{GRAMMAR:родны|{{SITENAME}}}}; будзьце асьцярожны.',
# Rollback
'undelete-fieldset-title' => 'Аднавіць вэрсіі',
'undeleteextrahelp' => "Для поўнага аднаўленьня гісторыі рэдагаваньня старонкі, пакіньце ўсе адзнакі нявызначнымі і націсьніце '''''{{int:undeletebtn}}'''''.
Для частковага аднаўленьня, пазначце тыя вэрсіі старонкі, якія трэба аднавіць і націсьніце '''''{{int:undeletebtn}}'''''.",
-'undeleterevisions' => 'У архіве $1 {{PLURAL:$1|вэрсія|вэрсіі|вэрсій}}',
+'undeleterevisions' => 'У архіве $1 {{PLURAL:$1|вэрсія|вэрсіі|вэрсіяў}}',
'undeletehistory' => 'Калі Вы адновіце старонку, будуць адноўленыя ўсе яе вэрсіі разам з журналам падзеяў.
Калі пасьля выдаленьня была створаная новая старонка з такой жа назвай, адноўленыя вэрсіі зьявяцца ў гісторыі перад новымі вэрсіямі.',
'undeleterevdel' => 'Аднаўленьня не адбудзецца, калі ў яго выніку будзе выдаленая апошняя вэрсія старонкі ці файла.
'undeletereset' => 'Скінуць',
'undeleteinvert' => 'Адваротны выбар',
'undeletecomment' => 'Прычына:',
-'undeletedrevisions' => '{{PLURAL:$1|адноўленая $1 вэрсія|адноўленыя $1 вэрсіі|адноўленыя $1 вэрсій}}',
-'undeletedrevisions-files' => 'адноўленыя $1 {{PLURAL:$1|вэрсія|вэрсіі|вэрсій}} і $2 {{PLURAL:$2|файл|файлы|файлаў}}',
+'undeletedrevisions' => '{{PLURAL:$1|адноўленая $1 вэрсія|адноўленыя $1 вэрсіі|адноўленыя $1 вэрсіяў}}',
+'undeletedrevisions-files' => 'адноўленыя $1 {{PLURAL:$1|вэрсія|вэрсіі|вэрсіяў}} і $2 {{PLURAL:$2|файл|файлы|файлаў}}',
'undeletedfiles' => '{{PLURAL:$1|адноўлены $1 файл|адноўленыя $1 файлы|адноўленыя $1 файлаў}}',
'cannotundelete' => 'Аднаўленьне не адбылося; нехта іншы мог пасьпець аднавіць старонку раней.',
'undeletedpage' => "'''Старонка $1 была адноўленая'''
'importtext' => 'Калі ласка, экспартуйце файл з крынічнай вікі з дапамогай [[Special:Export|прылады экспарту]].
Захавайце яго на свой кампутар, а потым загрузіце сюды.',
'importstart' => 'Імпартаваньне старонак…',
-'import-revision-count' => '$1 {{PLURAL:$1|вэрсія|вэрсіі|вэрсій}}',
+'import-revision-count' => '$1 {{PLURAL:$1|вэрсія|вэрсіі|вэрсіяў}}',
'importnopages' => 'Няма старонак для імпартаваньня.',
'imported-log-entries' => '{{PLURAL:$1|Імпартаваны $1 запіс журнала|Імпартаваныя $1 запісы журнала|Імпартаваныя $1 запісаў журнала}}.',
'importfailed' => 'Немагчыма імпартаваць: $1',
'importlogpage' => 'Журнал імпартаваньняў',
'importlogpagetext' => 'Імпартаваньне адміністратарамі старонак з гісторыяй зьменаў зь іншых вікі.',
'import-logentry-upload' => 'імпартавана [[$1]] праз загрузку файла',
-'import-logentry-upload-detail' => '$1 {{PLURAL:$1|вэрсія|вэрсіі|вэрсій}}',
+'import-logentry-upload-detail' => '$1 {{PLURAL:$1|вэрсія|вэрсіі|вэрсіяў}}',
'import-logentry-interwiki' => 'імпартавана зь іншай вікі $1',
-'import-logentry-interwiki-detail' => '$1 {{PLURAL:$1|вэрсія|вэрсіі|вэрсій}} з $2',
+'import-logentry-interwiki-detail' => '$1 {{PLURAL:$1|вэрсія|вэрсіі|вэрсіяў}} з $2',
# JavaScriptTest
'javascripttest' => 'Тэставаньне JavaScript',
<?php
-/** Bulgarian (Ð\91ългарски)
+/** Bulgarian (български)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'prefs-beta' => 'Функционалности на Бета',
'prefs-datetime' => 'Дата и час',
'prefs-labs' => 'Функционалности на Labs',
+'prefs-user-pages' => 'Потребителски страници',
'prefs-personal' => 'Потребителски данни',
'prefs-rc' => 'Последни промени',
'prefs-watchlist' => 'Списък за наблюдение',
'backend-fail-notexists' => 'Файлът $1 не съществува.',
'backend-fail-delete' => 'Файлът $1 не може да бъде изтрит.',
'backend-fail-alreadyexists' => 'Файлът $1 вече съществува.',
+'backend-fail-store' => 'Файлът $1 не може да бъде съхранен в $2.',
'backend-fail-copy' => 'Файлът „$1“ не можа да бъде копиран в „$2“.',
'backend-fail-move' => 'Файлът „$1“ не можа да бъде преместен в „$2“.',
'backend-fail-opentemp' => 'Временният файл не може да бъде отворен.',
'version-software' => 'Инсталиран софтуер',
'version-software-product' => 'Продукт',
'version-software-version' => 'Версия',
+'version-entrypoints-header-url' => 'Адрес',
# Special:FilePath
'filepath' => 'Път към файл',
'Ancientpages' => array( 'Tungkaran_lawas' ),
'Badtitle' => array( 'Judul_nang_buruk' ),
'Blankpage' => array( 'Tungkaran_kusung' ),
+ 'Block' => array( 'Blukir_pamakai' ),
+ 'Blockme' => array( 'Blukir_ulun' ),
'Booksources' => array( 'Sumbar_buku' ),
+ 'BrokenRedirects' => array( 'Paugahan_rakai' ),
'Categories' => array( 'Daptar_tumbung' ),
'ChangeEmail' => array( 'Ganti_suril' ),
+ 'ChangePassword' => array( 'Ganti_katasunduk' ),
'ComparePages' => array( 'Bandingakan_tungkaran' ),
'Confirmemail' => array( 'Kunpirmasi_suril' ),
- 'Contributions' => array( 'Kuntribusi_pamakai' ),
+ 'Contributions' => array( 'Sumbangan_pamakai' ),
'CreateAccount' => array( 'Ulah_akun' ),
'Deadendpages' => array( 'Tungkaran_buntu' ),
- 'DeletedContributions' => array( 'Kuntribusi_nang_dihapus' ),
- 'EditWatchlist' => array( 'Babak_daptan_pantauan' ),
- 'Fewestrevisions' => array( 'Parubahan_tasadikit' ),
- 'Filepath' => array( 'Lukasi_barakas' ),
+ 'DeletedContributions' => array( 'Sumbangan_nang_dihapus' ),
+ 'Disambiguations' => array( 'Disambiguasi' ),
+ 'EditWatchlist' => array( 'Babak_daptar_pantauan' ),
+ 'Fewestrevisions' => array( 'Paubahan_tasadikit' ),
+ 'FileDuplicateSearch' => array( 'Panggagaian_barakas_kambar' ),
+ 'Filepath' => array( 'Andakan_barakas' ),
+ 'BlockList' => array( 'Daptar_pamblukiran' ),
+ 'LinkSearch' => array( 'Tautan_luar' ),
'Listadmins' => array( 'Daptar_pambakal' ),
'Listbots' => array( 'Daptar_bot' ),
'Listfiles' => array( 'Daptar_barakas' ),
- 'Listgrouprights' => array( 'Daptar_hak_kalumpuk' ),
- 'Listredirects' => array( 'Daptar_paalihan' ),
+ 'Listgrouprights' => array( 'Daptar_hak_galambang' ),
+ 'Listredirects' => array( 'Daptar_paugahan' ),
'Listusers' => array( 'Daptar_pamakai' ),
'Log' => array( 'Catatan' ),
+ 'Lonelypages' => array( 'Tungkaran_yatim' ),
'Longpages' => array( 'Tungkaran_panjang' ),
- 'Mostcategories' => array( 'Tumbung_tabanyak' ),
+ 'MergeHistory' => array( 'Sajarah_panggabungan' ),
+ 'MIMEsearch' => array( 'Panggagaian_MIME' ),
+ 'Mostcategories' => array( 'Tumbung_pambanyaknya' ),
+ 'Mostimages' => array( 'Barakas_paling_dipakai' ),
'Mostlinked' => array( 'Tungkaran_paling_dipakai' ),
'Mostlinkedcategories' => array( 'Tumbung_paling_dipakai' ),
'Mostlinkedtemplates' => array( 'Citakan_paling_dipakai' ),
- 'Mostrevisions' => array( 'Paubahan_tabanyak' ),
+ 'Mostrevisions' => array( 'Paubahan_pambanyaknya' ),
'Movepage' => array( 'Pindahakan_tungkaran' ),
- 'Mycontributions' => array( 'Kuntribusi_ulun' ),
+ 'Mycontributions' => array( 'Sumbangan_ulun' ),
'Mypage' => array( 'Tungkaran_ulun' ),
'Mytalk' => array( 'Pamandiran_ulun' ),
+ 'Myuploads' => array( 'Unggahan_ulun' ),
'Newimages' => array( 'Barakas_hanyar' ),
'Newpages' => array( 'Tungkaran_hanyar' ),
+ 'PermanentLink' => array( 'Tautan_tatap' ),
+ 'Popularpages' => array( 'Tungkaran_popular' ),
+ 'Preferences' => array( 'Kakatujuan' ),
'Protectedpages' => array( 'Tungkaran_nang_dilindungi' ),
'Protectedtitles' => array( 'Judul_nang_dilindungi' ),
'Randompage' => array( 'Tungkaran_babarang' ),
- 'Recentchanges' => array( 'Paubahan_tahanyar' ),
+ 'Randomredirect' => array( 'Paugahan_babarang' ),
+ 'Recentchanges' => array( 'Paubahan_pahanyarnya' ),
+ 'Recentchangeslinked' => array( 'Paubahan_tarait' ),
+ 'Revisiondelete' => array( 'Hapus_ralatan' ),
+ 'RevisionMove' => array( 'Ralatan_pamindahan' ),
+ 'Search' => array( 'Panggagaian' ),
+ 'Shortpages' => array( 'Tungkaran_handap' ),
+ 'Specialpages' => array( 'Tungkaran_istimiwa' ),
+ 'Statistics' => array( 'Statistik' ),
+ 'Tags' => array( 'Tag' ),
+ 'Unblock' => array( 'Pawalangan_pamblukiran' ),
+ 'Uncategorizedcategories' => array( 'Tumbung_kada_batumbung' ),
+ 'Uncategorizedimages' => array( 'Barakas_kada_batumbung' ),
+ 'Uncategorizedpages' => array( 'Tungkaran_kada_batumbung' ),
+ 'Uncategorizedtemplates' => array( 'Citakan_kada_batumbung' ),
+ 'Undelete' => array( 'Pawalangan_pahapusan' ),
+ 'Unusedcategories' => array( 'Tumbung_puang' ),
+ 'Unusedimages' => array( 'Barakas_kada_tapakai' ),
+ 'Unusedtemplates' => array( 'Citakan_kada_tapakai' ),
+ 'Unwatchedpages' => array( 'Tungkaran_kada_di-itihi' ),
+ 'Upload' => array( 'Paunggahan' ),
+ 'Userlogin' => array( 'Babuat_log' ),
+ 'Userlogout' => array( 'Kaluar_log' ),
+ 'Userrights' => array( 'Hak_pamakai' ),
+ 'Wantedcategories' => array( 'Tumbung_nang_dikahandaki' ),
+ 'Wantedfiles' => array( 'Barakas_nang_dikahandaki' ),
+ 'Wantedpages' => array( 'Tungkaran_nang_dikahandaki' ),
+ 'Wantedtemplates' => array( 'Citakan_nang_dikahandaki' ),
+ 'Watchlist' => array( 'Daptar_itihan' ),
+ 'Whatlinkshere' => array( 'Tautan_balik' ),
+ 'Withoutinterwiki' => array( 'Kada_pakai_interwiki' ),
);
$messages = array(
Gallout a rit strishaat ar mod diskwel en ur zibab ar marilh, an anv implijer (diwallit ouzh ar pennlizherennoù) pe ar bajenn a fell deoc'h (memes tra).",
'logempty' => 'Goullo eo istor ar bajenn-mañ.',
'log-title-wildcard' => 'Klask an titloù a grog gant an destenn-mañ',
+'showhideselectedlogentries' => 'Diskouez/kuzhat penngerioù ar marilh bet diuzet',
# Special:AllPages
'allpages' => 'An holl bajennoù',
'Booksources' => array( 'KnjizniIzvori' ),
'BrokenRedirects' => array( 'NedovršenaPreusmjerenja' ),
'Categories' => array( 'Kategorije' ),
+ 'ChangeEmail' => array( 'IzmjeniMail' ),
'ChangePassword' => array( 'PonistiLozinku' ),
'ComparePages' => array( 'UporedjivanjeStranica' ),
'Confirmemail' => array( 'PotvrdiEmail' ),
'DeletedContributions' => array( 'ObrisaniDoprinosi' ),
'Disambiguations' => array( 'Čvor' ),
'DoubleRedirects' => array( 'DvostrukaPreusmjerenja' ),
+ 'EditWatchlist' => array( 'IzmjeniPraćeniSpisak' ),
'Emailuser' => array( 'EmailKorisnika' ),
'Export' => array( 'Izvoz' ),
'Fewestrevisions' => array( 'Najmanje_uređivane_stranice' ),
<?php
-/** Catalan (Català)
+/** Catalan (català)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'tog-previewontop' => "Mostra una previsualització abans del quadre d'edició",
'tog-previewonfirst' => 'Mostra una previsualització en la primera modificació',
'tog-nocache' => 'Inhabilita la memòria cau de les pàgines',
-'tog-enotifwatchlistpages' => "Notifica'm per correu electrònic dels canvis a les pàgines que vigili",
-'tog-enotifusertalkpages' => "Notifica'm per correu quan hi hagi modificacions a la pàgina de discussió del meu compte d'usuari",
+'tog-enotifwatchlistpages' => "Envia'm un correu electrònic quan es modifiqui una pàgina de la meva llista de seguiment",
+'tog-enotifusertalkpages' => "Envia'm un correu electrònic quan es modifiqui la meva pàgina de discussió",
'tog-enotifminoredits' => "Notifica'm per correu també en casos d'edicions menors",
'tog-enotifrevealaddr' => "Mostra la meua adreça electrònica en els missatges d'avís per correu",
'tog-shownumberswatching' => "Mostra el nombre d'usuaris que hi vigilen",
'tog-watchlisthideanons' => "Amaga a la llista les edicions d'usuaris anònims",
'tog-watchlisthidepatrolled' => 'Amaga edicions patrullades de la llista de seguiment',
'tog-nolangconversion' => 'Inhabilita la conversió de variants',
-'tog-ccmeonemails' => "Envia'm còpies dels missatges que enviï als altres usuaris.",
+'tog-ccmeonemails' => "Envia'm còpia dels missatges que enviï als altres usuaris",
'tog-diffonly' => 'Amaga el contingut de la pàgina davall de la taula de diferències',
'tog-showhiddencats' => 'Mostra les categories ocultes',
'tog-noconvertlink' => 'Inhabilita la conversió dels títols dels enllaços',
'timezoneregion-europe' => 'Europa',
'timezoneregion-indian' => 'Oceà Índic',
'timezoneregion-pacific' => 'Oceà Pacífic',
-'allowemail' => "Habilita el correu electrònic des d'altres usuaris",
+'allowemail' => 'Permet que altres usuaris puguin enviar-me correus electrònics',
'prefs-searchoptions' => 'Preferències de la cerca',
'prefs-namespaces' => 'Espais de noms',
'defaultns' => 'Cerca per defecte en els següents espais de noms:',
);
$specialPageAliases = array(
- 'Activeusers' => array( 'Karbereaktiv' ),
+ 'Activeusers' => array( 'KarbereAktivi', 'AktivKarberi' ),
'Allmessages' => array( 'MesaciPero' ),
- 'Categories' => array( 'Kategoriy' ),
+ 'Allpages' => array( 'PeleyPero' ),
+ 'Ancientpages' => array( 'PeleyVereni' ),
+ 'Badtitle' => array( 'SernameyoXırab' ),
+ 'Blankpage' => array( 'VengPela', 'PelaVeng' ),
+ 'Block' => array( 'Bloke', 'BlokeIP', 'BlokeKarber' ),
+ 'Blockme' => array( 'BlokeMe' ),
+ 'Booksources' => array( 'KıtabeÇıme' ),
+ 'BrokenRedirects' => array( 'HetenayışoXırab' ),
+ 'Categories' => array( 'Kategoriye' ),
+ 'ChangeEmail' => array( 'EpostaBıvurne' ),
+ 'ChangePassword' => array( 'ParolaBıvurne', 'ParolaResetke' ),
+ 'ComparePages' => array( 'PelaPêverke' ),
+ 'Confirmemail' => array( 'EpostayAraştke' ),
+ 'Contributions' => array( 'İştiraxi' ),
+ 'CreateAccount' => array( 'HesabVırazê' ),
+ 'Deadendpages' => array( 'PelaBêgıre' ),
+ 'DeletedContributions' => array( 'İştıraxêkeBesterneyayê' ),
+ 'Disambiguations' => array( 'ManeoBin' ),
+ 'DoubleRedirects' => array( 'DıletHeteneayış' ),
+ 'EditWatchlist' => array( 'ListeyaSeyriVurnayış' ),
+ 'Emailuser' => array( 'EpostayaKarberi' ),
+ 'Export' => array( 'Ateberde' ),
+ 'Fewestrevisions' => array( 'TewrtaynRevizyon' ),
+ 'FileDuplicateSearch' => array( 'KopyaydosyaCıgeyrayış', 'DıletdosyaCıgeyrayış' ),
+ 'Filepath' => array( 'RayaDosya', 'HerunaDosya', 'CayêDosya' ),
+ 'Import' => array( 'Azeredê', 'Atewrke' ),
+ 'Invalidateemail' => array( 'TesdiqêepostaBıterknê' ),
+ 'BlockList' => array( 'ListeyêBLoki', 'IPBloki', 'Blokeyê_IP' ),
+ 'LinkSearch' => array( 'GreCıgeyrayış' ),
+ 'Listadmins' => array( 'ListeyêXizmetkaran' ),
+ 'Listbots' => array( 'ListeyêBotan' ),
+ 'Listfiles' => array( 'ListeyêDosyayan', 'DosyayaListeke', 'ListeyêResiman' ),
+ 'Listgrouprights' => array( 'ListeyêHeqêGruban', 'HeqêGrubdeKarberan' ),
+ 'Listredirects' => array( 'ListeyêHetanayışi' ),
+ 'Listusers' => array( 'ListeyêKarberan', 'KarberaListeke' ),
+ 'Log' => array( 'Qeyd', 'Qeydi' ),
'Longpages' => array( 'PeleDergi' ),
+ 'MIMEsearch' => array( 'NIMECıgeyrayış' ),
+ 'Movepage' => array( 'PelaAhuln' ),
'Mycontributions' => array( 'İştırakeMe' ),
+ 'Mypage' => array( 'PelaMe' ),
+ 'Mytalk' => array( 'PersiyeME' ),
+ 'Myuploads' => array( 'BarkerdışeMe' ),
+ 'Newpages' => array( 'PeleyeNewey' ),
+ 'PasswordReset' => array( 'ParolaReset' ),
+ 'Prefixindex' => array( 'SerVerole' ),
'Recentchanges' => array( 'VurnayışePeyeni' ),
+ 'Search' => array( 'Cıgeyre' ),
'Specialpages' => array( 'PeleyXısusi' ),
'Statistics' => array( 'İstatistiki' ),
'Tags' => array( 'Etiketi' ),
$magicWords = array(
'redirect' => array( '0', '#HETENAYIŞ', '#REDIRECT' ),
- 'nogallery' => array( '0', '#GALERİÇINO', '__NOGALLERY__' ),
+ 'notoc' => array( '0', '__ESTENÇINO__', '__NOTOC__' ),
+ 'nogallery' => array( '0', '__GALERİÇINO__', '__NOGALLERY__' ),
+ 'forcetoc' => array( '0', '__ESTENZARURET__', '__FORCETOC__' ),
+ 'toc' => array( '0', '__ESTEN__', '__TOC__' ),
+ 'noeditsection' => array( '0', '__TİMARKERDIŞÇINO__', '__NOEDITSECTION__' ),
+ 'noheader' => array( '0', '__SERNAMEÇINO__', '__NOHEADER__' ),
+ 'currentmonth' => array( '1', 'MEWCUDAŞMİ', 'MEWCUDAŞMİ2', 'CURRENTMONTH', 'CURRENTMONTH2' ),
+ 'currentmonth1' => array( '1', 'MEWCUDAŞMİ1', 'CURRENTMONTH1' ),
+ 'currentmonthname' => array( '1', 'NAMEYAŞMDAMEWCUD', 'CURRENTMONTHNAME' ),
+ 'currentmonthnamegen' => array( '1', 'MEWCUDAŞMACI', 'CURRENTMONTHNAMEGEN' ),
+ 'currentmonthabbrev' => array( '1', 'MEWCUDAŞMİKILMKERDIŞ', 'CURRENTMONTHABBREV' ),
+ 'currentday' => array( '1', 'MEWCUDROCE', 'CURRENTDAY' ),
+ 'currentday2' => array( '1', 'MEWCUDROCE2', 'CURRENTDAY2' ),
+ 'currentdayname' => array( '1', 'NAMEYÊMEWCUDROCE', 'CURRENTDAYNAME' ),
+ 'currentyear' => array( '1', 'MEWCUDSERRE', 'CURRENTYEAR' ),
+ 'currenttime' => array( '1', 'MEWCUDDEME', 'CURRENTTIME' ),
+ 'currenthour' => array( '1', 'MEWCUDSEHAT', 'CURRENTHOUR' ),
+ 'localmonth' => array( '1', 'WAREYAŞMİ', 'WAREYAŞMİ2', 'LOCALMONTH', 'LOCALMONTH2' ),
+ 'localmonth1' => array( '1', 'WAREYAŞMİ1', 'LOCALMONTH1' ),
+ 'localmonthname' => array( '1', 'NAMEYÊWAREYAŞMİ', 'LOCALMONTHNAME' ),
+ 'localmonthnamegen' => array( '1', 'NAMEYWAREDÊAŞMİDACI', 'LOCALMONTHNAMEGEN' ),
+ 'localmonthabbrev' => array( '1', 'WAREYAŞMİKILMKERDIŞ', 'LOCALMONTHABBREV' ),
+ 'localday' => array( '1', 'WAREYROCE', 'LOCALDAY' ),
+ 'localday2' => array( '1', 'WAREYROCE2', 'LOCALDAY2' ),
+ 'localdayname' => array( '1', 'NAMEYÊWAREYROCE', 'LOCALDAYNAME' ),
+ 'localyear' => array( '1', 'WAREYSERRE', 'LOCALYEAR' ),
+ 'localtime' => array( '1', 'WAREYDEME', 'LOCALTIME' ),
+ 'localhour' => array( '1', 'WAREYSEHAT', 'LOCALHOUR' ),
+ 'numberofpages' => array( '1', 'AMARİYAPELAN', 'NUMBEROFPAGES' ),
+ 'numberofarticles' => array( '1', 'AMARİYAWESİQAN', 'NUMBEROFARTICLES' ),
+ 'numberoffiles' => array( '1', 'AMARİYADOSYAYAN', 'NUMBEROFFILES' ),
+ 'numberofusers' => array( '1', 'AMARİYAKARBERAN', 'NUMBEROFUSERS' ),
+ 'numberofactiveusers' => array( '1', 'AMARİYAAKTİVKARBERAN', 'NUMBEROFACTIVEUSERS' ),
+ 'numberofedits' => array( '1', 'AMARİYAVURNAYIŞAN', 'NUMBEROFEDITS' ),
+ 'numberofviews' => array( '1', 'AMARİYAMOCNAYIŞAN', 'NUMBEROFVIEWS' ),
+ 'pagename' => array( '1', 'NAMEYPELA', 'PAGENAME' ),
+ 'pagenamee' => array( '1', 'NAMEYPELAA', 'PAGENAMEE' ),
+ 'namespace' => array( '1', 'CANAME', 'NAMESPACE' ),
+ 'namespacee' => array( '1', 'CANAMEE', 'NAMESPACEE' ),
+ 'namespacenumber' => array( '1', 'AMARİYACANAME', 'NAMESPACENUMBER' ),
+ 'talkspace' => array( '1', 'CAYÊWERÊNAYIŞİ', 'TALKSPACE' ),
+ 'talkspacee' => array( '1', 'CAYÊWERÊNAYIŞAN', 'TALKSPACEE' ),
+ 'subjectspace' => array( '1', 'CAYÊMESEL', 'CAYÊWESİQE', 'SUBJECTSPACE', 'ARTICLESPACE' ),
+ 'subjectspacee' => array( '1', 'CAYÊMESELAN', 'CAYÊWESİQAN', 'SUBJECTSPACEE', 'ARTICLESPACEE' ),
+ 'fullpagename' => array( '1', 'NAMEYPELAPÊRO', 'FULLPAGENAME' ),
+ 'fullpagenamee' => array( '1', 'NAMEYPELAPÊRON', 'FULLPAGENAMEE' ),
+ 'subpagename' => array( '1', 'NAMEYBINPELA', 'SUBPAGENAME' ),
+ 'subpagenamee' => array( '1', 'NAMEYBINPELAA', 'SUBPAGENAMEE' ),
+ 'basepagename' => array( '1', 'NAMEYSERPELA', 'BASEPAGENAME' ),
+ 'basepagenamee' => array( '1', 'NAMEYSERPELAA', 'BASEPAGENAMEE' ),
+ 'talkpagename' => array( '1', 'NAMEYPELAWERÊNAYIŞ', 'TALKPAGENAME' ),
+ 'talkpagenamee' => array( '1', 'NAMEYPELAWERÊNAYIŞAN', 'TALKPAGENAMEE' ),
+ 'subjectpagename' => array( '1', 'NAMEYPELAMESEL', 'NAMEYPELAWESİQE', 'SUBJECTPAGENAME', 'ARTICLEPAGENAME' ),
+ 'subjectpagenamee' => array( '1', 'NAMEYPELAMESELER', 'NAMEYPELAQESİQER', 'SUBJECTPAGENAMEE', 'ARTICLEPAGENAMEE' ),
'msg' => array( '0', 'MSC', 'MSG:' ),
+ 'subst' => array( '0', 'KOPYAKE', 'ATEBERDE', 'SUBST:' ),
+ 'safesubst' => array( '0', 'EMELEYATEBERDE', 'SAFESUBST:' ),
+ 'msgnw' => array( '0', 'MSJNW:', 'MSGNW:' ),
+ 'img_thumbnail' => array( '1', 'resmowerdı', 'werdı', 'thumbnail', 'thumb' ),
+ 'img_manualthumb' => array( '1', 'resmowerdı=$1', 'erwdı=$1', 'thumbnail=$1', 'thumb=$1' ),
+ 'img_right' => array( '1', 'raşt', 'right' ),
+ 'img_left' => array( '1', 'çep', 'left' ),
+ 'img_none' => array( '1', 'çıno', 'none' ),
+ 'img_width' => array( '1', '$1pik', '$1piksel', '$1px' ),
+ 'img_center' => array( '1', 'werte', 'miyan', 'center', 'centre' ),
+ 'img_framed' => array( '1', 'çerçeweyın', 'çerçeweya', 'çerçewe', 'framed', 'enframed', 'frame' ),
+ 'img_frameless' => array( '1', 'beçerçewe', 'frameless' ),
+ 'img_page' => array( '1', 'pela=$1', 'pela_$1', 'page=$1', 'page $1' ),
+ 'img_border' => array( '1', 'sinor', 'border' ),
+ 'img_top' => array( '1', 'gedug', 'top' ),
+ 'img_middle' => array( '1', 'merkez', 'middle' ),
+ 'img_link' => array( '1', 'gre=$1', 'link=$1' ),
+ 'int' => array( '0', 'İNT:', 'INT:' ),
+ 'scriptpath' => array( '0', 'RAYASCRIPTİ', 'SCRIPTPATH' ),
+ 'stylepath' => array( '0', 'TERZÊTEWRİ', 'STYLEPATH' ),
+ 'grammar' => array( '0', 'GRAMER:', 'GRAMMAR:' ),
+ 'gender' => array( '0', 'CİNSİYET:', 'GENDER:' ),
+ 'notitleconvert' => array( '0', '__SERNAMEVURNAYIŞÇINO__', '__SVÇ__', '__NOTITLECONVERT__', '__NOTC__' ),
+ 'nocontentconvert' => array( '0', '__ZERREVURNAYIŞÇINO__', '__ZVÇ__', '__NOCONTENTCONVERT__', '__NOCC__' ),
+ 'currentweek' => array( '1', 'MEVCUDHEFTE', 'CURRENTWEEK' ),
+ 'currentdow' => array( '1', 'MEVCUDWAREYHEFTİ', 'CURRENTDOW' ),
+ 'localweek' => array( '1', 'WAREYHEFTİ', 'LOCALWEEK' ),
+ 'localdow' => array( '1', 'WAREYROCAHEFTİ', 'LOCALDOW' ),
+ 'revisionid' => array( '1', 'NIMREYREVİZYONİ', 'REVISIONID' ),
+ 'revisionday' => array( '1', 'ROCAREVİZYONİ', 'REVISIONDAY' ),
+ 'revisionday2' => array( '1', 'ROCAREVİZYON1', 'REVISIONDAY2' ),
+ 'revisionmonth' => array( '1', 'AŞMAREVİZYONİ', 'REVISIONMONTH' ),
+ 'revisionmonth1' => array( '1', 'AŞMAREVİZYONİ1', 'REVISIONMONTH1' ),
+ 'revisionyear' => array( '1', 'SERRAREVİZYONİ', 'REVISIONYEAR' ),
+ 'revisiontimestamp' => array( '1', 'MELUMATÊREVİZYONÊDEMİ', 'REVISIONTIMESTAMP' ),
+ 'revisionuser' => array( '1', 'REVİZYONKARBER', 'REVISIONUSER' ),
+ 'plural' => array( '0', 'ZAFEN:', 'PLURAL:' ),
+ 'fullurl' => array( '0', 'GREPÊRO:', 'FULLURL:' ),
+ 'fullurle' => array( '0', 'GREYOPÊRON:', 'FULLURLE:' ),
+ 'canonicalurl' => array( '0', 'GREYÊKANONİK:', 'CANONICALURL:' ),
+ 'canonicalurle' => array( '0', 'GREYOKANONİK:', 'CANONICALURLE:' ),
+ 'lcfirst' => array( '0', 'KHİLK:', 'LCFIRST:' ),
+ 'ucfirst' => array( '0', 'BHİLK:', 'UCFIRST:' ),
+ 'lc' => array( '0', 'KH:', 'LC:' ),
+ 'uc' => array( '0', 'BH:', 'UC:' ),
+ 'raw' => array( '0', 'XAM:', 'RAW:' ),
+ 'displaytitle' => array( '1', 'SERNAMEİBIMOCNE', 'DISPLAYTITLE' ),
+ 'newsectionlink' => array( '1', '__GREYÊSERNAMEDÊNEWİ__', '__NEWSECTIONLINK__' ),
+ 'nonewsectionlink' => array( '1', '__GREYÊSERNAMEDÊNEWİÇINO__', '__NONEWSECTIONLINK__' ),
+ 'currentversion' => array( '1', 'MEWCUDVERSİYON', 'CURRENTVERSION' ),
+ 'currenttimestamp' => array( '1', 'MEWCUDWAREYSEHAT', 'CURRENTTIMESTAMP' ),
+ 'localtimestamp' => array( '1', 'MALUMATÊWAREYSEHAT', 'LOCALTIMESTAMP' ),
'language' => array( '0', '#ZIWAN', '#LANGUAGE:' ),
+ 'contentlanguage' => array( '1', 'ZIWANÊESTİN', 'ZIWESTEN', 'CONTENTLANGUAGE', 'CONTENTLANG' ),
+ 'pagesinnamespace' => array( '1', 'PELEYÊKECADÊNAMİDEYÊ', 'PELECN', 'PAGESINNAMESPACE:', 'PAGESINNS:' ),
+ 'numberofadmins' => array( '1', 'AMARİYAXİZMETKARAN', 'NUMBEROFADMINS' ),
+ 'formatnum' => array( '0', 'BABETNAYIŞ', 'FORMATNUM' ),
'special' => array( '0', 'xısusi', 'special' ),
'speciale' => array( '0', 'xısusiye', 'speciale' ),
+ 'defaultsort' => array( '1', 'RATNAYIŞOHESBNAYIŞ', 'QESAYARATNAYIŞOHESBNAYIŞ', 'KATEGORİYARATNAYIŞOHESBNAYIŞ', 'DEFAULTSORT:', 'DEFAULTSORTKEY:', 'DEFAULTCATEGORYSORT:' ),
+ 'filepath' => array( '0', 'RAYADOSYA:', 'FILEPATH:' ),
'tag' => array( '0', 'etiket', 'tag' ),
+ 'hiddencat' => array( '1', '__KATEGORİYANIMITİ__', '__HIDDENCAT__' ),
+ 'pagesincategory' => array( '1', 'PELEYÊKEKATEGORİDEYÊ', 'KATDÊPELEY', 'PAGESINCATEGORY', 'PAGESINCAT' ),
+ 'pagesize' => array( '1', 'EBATÊPELA', 'PAGESIZE' ),
+ 'index' => array( '1', '__SERSIQ__', '__INDEX__' ),
+ 'noindex' => array( '1', '__SERSIQÇINYO__', '__NOINDEX__' ),
+ 'numberingroup' => array( '1', 'GRUBDEAMARE', 'AMARİYAGRUBER', 'NUMBERINGROUP', 'NUMINGROUP' ),
+ 'staticredirect' => array( '1', '__STATİKHETENAYIŞ__', '__STATICREDIRECT__' ),
+ 'protectionlevel' => array( '1', 'SEWİYEYÊSTARE', 'PROTECTIONLEVEL' ),
+ 'url_wiki' => array( '0', 'WİKİ', 'WIKI' ),
);
$messages = array(
'vector-simplesearch-preference' => 'Tewsiyanê cıgeyrayışiê raverberdeyan ake (Tenya vector skin de)',
'vector-view-create' => 'Vıraze',
'vector-view-edit' => 'Bıvurne',
-'vector-view-history' => 'Tarixi bımocne',
-'vector-view-view' => 'Bıwane',
+'vector-view-history' => 'Ravêrda bımocne',
+'vector-view-view' => 'Bıwanê',
'vector-view-viewsource' => 'Çımey bıvêne',
'actions' => 'Karê kerdey',
'namespaces' => 'Cayê namey',
'protectthispage' => 'Ena pele bıpawe',
'unprotect' => 'Starkerdışi bıvurne',
'unprotectthispage' => 'Starkerdışe ena peler bıvurne',
-'newpage' => 'Pela newiye',
+'newpage' => 'Pela newi',
'talkpage' => 'Ena pele sero werêne',
'talkpagelinktext' => 'Mesac',
'specialpage' => 'Pela xısusi',
'copyrightpage' => '{{ns:project}}:Heqa telifi',
'currentevents' => 'Veng u vac',
'currentevents-url' => 'Project:Veng u vac',
-'disclaimers' => 'Redê mesulêti',
+'disclaimers' => 'Redê mesuliyeti',
'disclaimerpage' => 'Project:Reddê mesuliyetê bıngey',
'edithelp' => 'Peştdarina vurnayışi',
'edithelppage' => 'Help:Pele çıtewr vurniyena',
'portal' => 'Portalê cemaeti',
'portal-url' => 'Project:Portalê cemaeti',
'privacy' => 'Madeyê dızdine',
-'privacypage' => 'Project:Madeyê dızdine',
+'privacypage' => 'Project:Xısusiyetê nımtışi',
'badaccess' => 'Xeta mısadey',
'badaccess-group0' => 'Heqa şıma çıniya, karo ke şıma waşt, bıkerê.',
-'badaccess-groups' => 'No fealiyetê şımawo waşte tenya karberanê {{PLURAL:$2|grubi|gruban ra yewi}} rê akerdeyo: $1.',
+'badaccess-groups' => 'No fealiyeto ke şıma waşt, tenya karberanê {{PLURAL:$2|grubi|gruban ra yewi}} rê akerdeyo: $1.',
'versionrequired' => 'No $1 MediaWiki lazımo',
'versionrequiredtext' => 'Seba gurenayışê na pele versiyonê MediaWiki $1 lazımo.
'editlink' => 'bıvurne',
'viewsourcelink' => 'çımey bıvêne',
'editsectionhint' => 'Qısımi bıvurne: $1',
-'toc' => 'Tedeestey',
+'toc' => 'Sernameyê meselan',
'showtoc' => 'bımocne',
'hidetoc' => 'bınımne',
'collapsible-collapse' => 'Kılm ke',
'powersearch' => 'Cıgeyrayışo hera',
'powersearch-legend' => 'Cıgeyrayışo hera',
'powersearch-ns' => 'Cayanê nameyan de cıgeyrayış:',
-'powersearch-redir' => 'Raçarnayeyan lista ke',
+'powersearch-redir' => 'Listeya hetenayışan',
'powersearch-field' => 'Seba cı seyr ke',
'powersearch-togglelabel' => 'Qontrol ke:',
'powersearch-toggleall' => 'Pêro',
'grouppage-suppress' => '{{ns:project}}:Kontrol',
# Rights
-'right-read' => 'Pele bıwane',
+'right-read' => 'Pelan bıwanê',
'right-edit' => 'Pele bıvurne',
'right-createpage' => 'Pele vıraze (pelê ke ê werênayışi niyê)',
'right-createtalk' => 'Pela werênayışi vıraze',
'rightsnone' => '(çino)',
# Associated actions - in the sentence "You do not have permission to X"
-'action-read' => 'ena pele bıwane',
+'action-read' => 'ena pela wanayış',
'action-edit' => 'ena pela bıvurnê',
'action-createpage' => 'pelan bıvıraze',
'action-createtalk' => 'pelanê werênayışi bıvıraze',
'rcnotefrom' => "Cêr de vurnayîşê esto ke '''$2''' ra raver (heta '''$1''' mucnayiyo).",
'rclistfrom' => '$1 ra vurnayışanê neweyan bımoc',
'rcshowhideminor' => 'Vurnayışanê werdiya $1',
-'rcshowhidebots' => 'bota $1',
+'rcshowhidebots' => 'Bota $1',
'rcshowhideliu' => 'karberanê qeydına $1',
'rcshowhideanons' => 'karberanê anoniman $1',
'rcshowhidepatr' => '$1 vurnayışê ke dewriya geyrayê',
# File description page
'file-anchor-link' => 'Dosya',
-'filehist' => 'Tarixê dosya',
+'filehist' => 'Ravêrdê dosya',
'filehist-help' => 'Klik bık ser yew tarih u aye tarih dı versionê dosya bıvin.',
'filehist-deleteall' => 'hemî biestere',
'filehist-deleteone' => 'bıestere',
'unwatchedpages' => 'Pelanê seyrnibiyeyî',
# List redirects
-'listredirects' => 'Listeyê redireksiyonî',
+'listredirects' => 'Listeya Hetenayışan',
# Unused templates
'unusedtemplates' => 'Şablonê ke nê xebtênê',
'randompage-nopages' => 'Ena {{PLURAL:$2|cayêname|cayênameyî}} de enê pelan çin o: $1.',
# Random redirect
-'randomredirect' => 'Redereksiyonê randomî',
+'randomredirect' => 'Xoseri hetenayış',
'randomredirect-nopages' => 'Ena cayênameyê "$1"î de redereksiyonî çin o.',
# Statistics
'protectedtitles' => 'Sernameyê ke starênê',
'protectedtitlestext' => 'sernameyê cêrıni pawıte yî',
'protectedtitlesempty' => 'pê ney parametreyan sernuşteyê pawite çinê',
-'listusers' => 'Lista karberan',
+'listusers' => 'Listeyê Karberan',
'listusers-editsonly' => 'Teyna karberan bimucne ke ey nuştê',
'listusers-creationsort' => 'goreyê wextê vıraştışi rêz ker',
'usereditcount' => '$1 {{PLURAL:$1|vurnayîş|vurnayîşî}}',
'restriction-level-all' => 'seviye ya ke raşt ame',
# Undelete
-'undelete' => 'pelê hewn a şiyayeyani ra mocın',
+'undelete' => 'Peleyê ke besterneyayê enê bımocnê',
'undeletepage' => 'bıewn revizyonê peli yê hewn a şiyayeyan u tepiya biyar',
'undeletepagetitle' => "'''pelo [[:$1|$1]] cêrın, wayirê revizyonê hewn a şiyayeyan o'''.",
'viewdeletedpage' => 'bıewn pelê hewn a şiyayeyani',
'undeletedpage' => "'''$1 pel tepiya anciya'''
qey karê tepiya ardışi u qey karê hewn a kerdışê verıni bıewnê [[Special:Log/delete|qeydê hewn a kerdışi]].",
-'undelete-header' => 'qey vinayişê peli yê ke cıwa ver hewn a biyê: [[Special:Log/delete|qeydê hewn a kerdışi]].',
+'undelete-header' => 'Peleyê ke veror de besterneyayê êna bıvinê: [[Special:Log/delete|qeydê esterneya]].',
'undelete-search-title' => 'Bıgeyre pelanê eserıtiyan',
'undelete-search-box' => 'bıgêr pelê hewn a biyayeyani',
'undelete-search-prefix' => 'pel ê ke pê ney destpêkenî, ramocın',
Ma rica keno yewna sername binuse.',
# Export
-'export' => 'Pelan export bık',
+'export' => 'Pela ateber dı',
'exporttext' => 'şıma yew pelê nişanebiyayeyi, nuşteyê taqımê pelani, pê pêşteyê XMLi eşkeni bıdi teberi.
wiki yo ke wikimedya xebıtneno, pê [[Special:Import|pelê zerre dayişê]] no wikiyi beno.
'file-info-png-frames' => '$1 {{PLURAL:$1|çerçeve|çerçeveyi}}',
# Special:NewFiles
-'newimages' => 'Galeyê dosyayanê newe',
+'newimages' => 'Galeriya dosyayan dê newan',
'imagelisttext' => "Cêr de yew listeyê '''$1''' esto {{PLURAL:$1|dosya|dosyayi}} veçiniya $2.",
'newimages-summary' => 'Ena pela xasi dosyayi ke peni de bar biyayeyi mocnane.',
'newimages-legend' => 'Filtre',
Resımi be tam asayış mocniyayê, tipê dosyaê bini be programê cıyo elaqedar direkt dest keno pê.',
# Special:FileDuplicateSearch
-'fileduplicatesearch' => 'kopyayê dosyayi bigêre',
+'fileduplicatesearch' => 'Dosyayanê zey pêyan cı geyrê',
'fileduplicatesearch-summary' => 'Dosyanê çıftan bınê têmiyankewteyan de bıgeyre.',
'fileduplicatesearch-legend' => 'kopyayê ena dosya bigêre',
'fileduplicatesearch-filename' => 'Nameyê dosyayi',
'specialpages-group-changes' => 'Vurnayişê peni u logan',
'specialpages-group-media' => 'Raporê medya u bar kerdîşî',
'specialpages-group-users' => 'Karber u heqqî',
-'specialpages-group-highuse' => 'Pelî ke zaf klik benê',
+'specialpages-group-highuse' => 'Peleyê ke vêşi karênê',
'specialpages-group-pages' => 'listeyanê pelan',
-'specialpages-group-pagetools' => 'hacetanê pelayan',
-'specialpages-group-wiki' => 'Data u hacetê wîkîyî',
-'specialpages-group-redirects' => 'Pela xasî reyna direk kenê',
+'specialpages-group-pagetools' => 'Hacetê pelan',
+'specialpages-group-wiki' => 'Malumatê wiki u haceti',
+'specialpages-group-redirects' => 'Pela xasîyê ke heteneyayê',
'specialpages-group-spam' => 'hacetê spami',
# Special:BlankPage
#parçeyê ifadeya rêzbiyayeyani bıerzê serê ney satıri. no satır zey xo verde/raverde </pre>',
# Special:Tags
-'tags' => 'Etiketê vurnayîş ê raştî',
+'tags' => 'Etiketê vurnayîşê raştî',
'tag-filter' => '[[Special:Tags|Tag]] filitre:',
'tag-filter-submit' => 'Filitre',
'tags-title' => 'Etiketan',
'tags-hitcount' => '$1 {{PLURAL:$1|vurnayış|vurnayışi}}',
# Special:ComparePages
-'comparepages' => 'Peleyan miqeyese bike',
+'comparepages' => 'Pela miqeyese ke',
'compare-selector' => 'Revizyonê pele miqayese bike',
'compare-page1' => 'Pel 1',
'compare-page2' => 'Pel 2',
'alllogstext' => 'To jo kombiněrowane zwobraznjenje wšyknych we {{GRAMMAR:lokatiw|{{SITENAME}}}} k dispoziciji stojecych protokolow. Móžoš naglěd pśez wubraśe protokolowego typa, wužywarskego mjenja (pód źiwanim wjelikopisanja) abo pótrjefjonego boka (teke pód źiwanim wjelikopisanja) wobgranicowaś.',
'logempty' => 'Žedne se góźece zapise njeeksistěruju.',
'log-title-wildcard' => 'Pytaś nadpismo, kótarež zachopijo z ...',
+'showhideselectedlogentries' => 'Wubrane protokolowe zapiski pokazaś/schowaś',
# Special:AllPages
'allpages' => 'Wšykne boki',
Puedes filtrar la vista seleccionando un tipo de registro, el nombre del usuario o la página afectada. Se distinguen mayúsculas de minúsculas.',
'logempty' => 'No hay elementos en el registro con esas condiciones.',
'log-title-wildcard' => 'Buscar títulos que empiecen con este texto',
+'showhideselectedlogentries' => 'Mostrar u ocultar las entradas del registro seleccionado',
# Special:AllPages
'allpages' => 'Todas las páginas',
'Booksources' => array( 'منابع_کتاب' ),
'BrokenRedirects' => array( 'تغییرمسیرهای_خراب' ),
'Categories' => array( 'ردهها' ),
- 'ChangeEmail' => array( 'تغییر_رایانامه', 'تغییر_پست_الکترونیکی' ),
+ 'ChangeEmail' => array( 'تغییر_رایانامه' ),
'ChangePassword' => array( 'از_نو_کردن_گذرواژه' ),
'ComparePages' => array( 'مقایسه_صفحات' ),
- 'Confirmemail' => array( 'تایید_رایانامه', 'تایید_پست_الکترونیکی' ),
+ 'Confirmemail' => array( 'تایید_رایانامه' ),
'Contributions' => array( 'مشارکتها' ),
'CreateAccount' => array( 'ایجاد_حساب_کاربری' ),
'Deadendpages' => array( 'صفحههای_بنبست' ),
'FileDuplicateSearch' => array( 'جستجوی_پرونده_تکراری' ),
'Filepath' => array( 'مسیر_پرونده' ),
'Import' => array( 'درون_ریزی_صفحه' ),
- 'Invalidateemail' => array( 'باطل_کردن_رایانامه', 'باطل_کردن_پست_الکترونیکی' ),
+ 'Invalidateemail' => array( 'باطل_کردن_رایانامه' ),
'BlockList' => array( 'فهرست_بستن_نشانی_آیپی' ),
'LinkSearch' => array( 'جستجوی_پیوند' ),
'Listadmins' => array( 'فهرست_مدیران' ),
);
$magicWords = array(
- 'redirect' => array( '0', '#تغییر_مسیر', '#تغییرمسیر', '#تغییرمسیر', '#REDIRECT' ),
+ 'redirect' => array( '0', '#تغییر_مسیر', '#تغییرمسیر', '#REDIRECT' ),
'notoc' => array( '0', '__بیفهرست__', '__NOTOC__' ),
'nogallery' => array( '0', '__بینگارخانه__', '__NOGALLERY__' ),
'forcetoc' => array( '0', '__بافهرست__', '__FORCETOC__' ),
'BrokenRedirects' => array( 'הפניות_לא_תקינות', 'הפניות_שבורות' ),
'Categories' => array( 'קטגוריות', 'רשימת_קטגוריות' ),
'ChangeEmail' => array( 'שינוי_דואר_אלקטרוני', 'שינוי_דואל' ),
- 'ChangePassword' => array( 'שינוי_סיסמה', 'איפוס_סיסמה' ),
+ 'ChangePassword' => array( 'שינוי_סיסמה' ),
'ComparePages' => array( 'השוואת_דפים' ),
'Confirmemail' => array( 'אימות_כתובת_דואר' ),
'Contributions' => array( 'תרומות', 'תרומות_המשתמש' ),
ניתן לצמצם את התצוגה על ידי בחירת סוג היומן, שם המשתמש (תלוי רישיות) או הדף המושפע (גם כן תלוי רישיות).',
'logempty' => 'אין פריטים תואמים ביומן.',
'log-title-wildcard' => 'חיפוש כותרות המתחילות באותיות אלה',
+'showhideselectedlogentries' => 'הצגת/הסתרת פעולות היומן שנבחרו',
# Special:AllPages
'allpages' => 'כל הדפים',
'alllogstext' => 'Kombinowane zwobraznjenje wšěch k dispozicij stejacych protokolow w {{GRAMMAR:lokatiw|{{SITENAME}}}}. Móžeš napohlad wobmjezować, wuběrajo typ protokola, wužiwarske mjeno (dźiwajo na wulkopisanje) abo potrjechu stronu (tež dźiwajo na wulkopisanje).',
'logempty' => 'Žane wotpowědowace zapiski w protokolu.',
'log-title-wildcard' => 'Titul započina so z …',
+'showhideselectedlogentries' => 'Wubrane protokolowe zapiski pokazać/schować',
# Special:AllPages
'allpages' => 'Wšě nastawki',
Pro restringer le presentation, selige un typo de registro, le nomine de usator (sensibile al majusculas e minusculas), o le pagina in question (etiam sensibile al majusculas e minusculas).',
'logempty' => 'Le registro contine nihil pro iste pagina.',
'log-title-wildcard' => 'Cercar titulos que comencia con iste texto',
+'showhideselectedlogentries' => 'Monstrar/celar le entratas de registro seligite',
# Special:AllPages
'allpages' => 'Tote le paginas',
'log' => 'Log',
'all-logs-page' => 'Semua log publik',
'alllogstext' => 'Gabungan tampilan semua log yang tersedia di {{SITENAME}}.
-Anda dapat melakukan pembatasan tampilan dengan memilih jenis log, nama pengguna (sensitif kapital), atau judul halaman (juga sensitif kapital).',
+Anda dapat melakukan pembatasan tampilan dengan memilih jenis log, nama pengguna (sensitif kapitalisasi), atau judul halaman (juga sensitif kapitalisasi).',
'logempty' => 'Tidak ditemukan entri log yang sesuai.',
'log-title-wildcard' => 'Cari judul yang diawali dengan teks tersebut',
'filereadonlyerror' => 'Di nabaliwan ti papales "$1" gapu ket ti repositorio ti papeles "$2" ket basaen laeng a moda.
Ti administrador a nagserra ket nagited iti daytoy a panagilawlawag "\'\'$3\'\'".',
+'invalidtitle-knownnamespace' => 'Imbalido a titulo nga adda ti nagan ti lugar "$2" ken testo "$3"',
+'invalidtitle-unknownnamespace' => 'Imbalido a titulo nga adda di-amammo a nagan ti lugar a numero $1 ken testo "$2"',
# Virus scanner
'virus-badscanner' => 'Madi di panaka-aramidna: Di am-ammo a birus a panagskan: "$1"',
'parser-template-loop-warning' => 'Adda nasarakan a silo ti plantilia: [[$1]]',
'parser-template-recursion-depth-warning' => 'Ti kinauneg ti pinagdullit ti plantilia ket nagpatingga ti napalabes ($1)',
'language-converter-depth-warning' => 'Ti kauneg ti panagaramid ti pagsasao ket napalabes ti agpatingga a ($1)',
+'node-count-exceeded-category' => 'Dagiti panid a simmurok ti bilang ti node',
+'node-count-exceeded-warning' => 'Ti panid ket nasurokanna ti bilang ti node',
+'expansion-depth-exceeded-category' => 'Dagiti panid a nasurokan ti kauneg ti panagpadakkel',
+'expansion-depth-exceeded-warning' => 'Ti panid ket nasurokanna ti kauneg ti panagpadakkel',
+'parser-unstrip-loop-warning' => 'Adda nakita a di-naukisan a silo',
+'parser-unstrip-recursion-limit' => 'Ti di-naukisan a panagsumro manen a patingga ket nasurokan ($1)',
# "Undo" feature
'undo-success' => 'Ti panag-urnos ket san a maisubli.
'mergelogpagetext' => 'Adda dita baba ti listaan dagiti kinaudian a pinagtipon ti maysa a panid ti pakasaritaan iti maysa a sabali.',
# Diffs
-'history-title' => 'Pakasaritaan ti pannakabalbaliw ti "$1"',
+'history-title' => 'Panagbalbaliw a pakasaritaan iti "$1"',
+'difference-title' => 'Paggiddiatan a nagbaetan dagiti panagbalbaliw iti "$1"',
+'difference-title-multipage' => 'Paggiddiatan a nagbaetan dagiti panid "$1" ken "$2"',
'difference-multipage' => '(Paggiddiatan dagiti panid)',
'lineno' => 'Linia $1:',
'compareselectedversions' => 'Paggidiaten dagiti pinili a binaliwan',
'prefs-beta' => 'Dagiti beta a langa',
'prefs-datetime' => 'Petsa ken oras',
'prefs-labs' => 'Dagiti subokan a langa',
+'prefs-user-pages' => 'Dagiti panid ti agar-aramat',
'prefs-personal' => 'Bariweswes ti agar-aramat',
'prefs-rc' => 'Kaudian a balbaliw',
'prefs-watchlist' => 'Listaan ti bambantayan',
'backend-fail-writetemp' => 'Saan a masuratan ti temporario a papeles.',
'backend-fail-closetemp' => 'Saan a marikpan ti temporario a papeles.',
'backend-fail-read' => 'Saan a mabasa ti papeles $1.',
-'backend-fail-create' => 'Saan a maaramid ti papeles $1.',
-'backend-fail-maxsize' => 'Saan a naaramid ti papeles $1 gapu ket dakdakkel ngem {{PLURAL:$2|maysa a byte|$2 a dagiti bytes}}.',
+'backend-fail-create' => 'Saan a masuratan ti papeles $1.',
+'backend-fail-maxsize' => 'Saan a masuratan ti papeles $1 gapu ta dakdakkel ngem {{PLURAL:$2|maysa a byte|$2 a dagiti bytes}}.',
'backend-fail-readonly' => 'Ti pagidulinan a kalikudan ti "$1" ket agdama a mabasa laeng. Ti rason a naited idi ket: "$2"',
'backend-fail-synced' => 'Ti papeles "$1" ket bangking ti kasasaad na iti kinauneg a pagidulinan ti kalikudan',
'backend-fail-connect' => 'Saan a makaikapet idiay pagidulinan a kalikudan "$1".',
'backend-fail-internal' => 'Adda di amammo a biddut ti napasamak idiay pagidulinan a kalikudan "$1".',
'backend-fail-contenttype' => 'Saan a maammoan ti kita ti linaon ti papeles nga idulin idiay "$1".',
+'backend-fail-usable' => 'Saan a masuratan ti papeles $1 gapu ta awan ti makaanay a pammalubos wenno awan dagiti direktorio/pangikabilan.',
# Lock manager
'lockmanager-notlocked' => 'Saan a malukatan ti "$1"; saan a nakandaduan.',
Mapabassit mo ti pinagpakita no piliam ti kita ti listaan, ti nagan ti gar-aramat (sensitibo ti kadakkel ti letra), wenno ti naapektaran a panid (ket sensitibo met ti kadakkel ti letra).',
'logempty' => 'Awan ti agpada a bagay dita listaan.',
'log-title-wildcard' => 'Agsapul kadagiti titulo nga agrugi iti daytoy a testo',
+'showhideselectedlogentries' => 'Ipakita/ilemmeng dagiti napili a naikabil ti listaan',
# Special:AllPages
'allpages' => 'Amin a panid',
# SpecialCachedPage
'cachedspecial-viewing-cached-ttl' => 'Kitkitaenm ti naidulin a bersion iti daytoy a panid, nga addan ti kadaanan a $1.',
+'cachedspecial-viewing-cached-ts' => 'Kitkitaem ti maysa a naidulin a bersion iti daytoy a panid, a baka daytoy ket saan a kompleto nga agpayso.',
'cachedspecial-refresh-now' => 'Kitaen ti kinaudian.',
# Special:Categories
'DeletedContributions' => array( 'ContributiCancellati' ),
'Disambiguations' => array( 'Disambigua' ),
'DoubleRedirects' => array( 'RedirectDoppi' ),
- 'EditWatchlist' => array( 'ModifcaListaSeguiti' ),
+ 'EditWatchlist' => array( 'ModificaListaSeguiti' ),
'Emailuser' => array( 'InviaEMail' ),
'Export' => array( 'Esporta' ),
'Fewestrevisions' => array( 'PagineConMenoRevisioni' ),
'tog-editsection' => '[編集]リンクから節を編集できるようにする',
'tog-editsectiononrightclick' => '節見出しの右クリックで節を編集できるようにする(JavaScriptが必要)',
'tog-showtoc' => '目次を表示(ページに見出しが4つ以上ある場合)',
-'tog-rememberpassword' => 'このブラウザにログイン情報を記憶(最大 $1 {{PLURAL:$1|日間}})',
+'tog-rememberpassword' => 'ã\81\93ã\81®ã\83\96ã\83©ã\82¦ã\82¶ã\83¼ã\81«ã\83ã\82°ã\82¤ã\83³æ\83\85å ±ã\82\92è¨\98æ\86¶ï¼\88æ\9c\80大 $1 {{PLURAL:$1|æ\97¥é\96\93}}ï¼\89',
'tog-watchcreations' => '自分が作成したページをウォッチリストに追加',
'tog-watchdefault' => '自分が編集したページをウォッチリストに追加',
'tog-watchmoves' => '自分が移動したページをウォッチリストに追加',
'tog-minordefault' => '細部の編集に既定でチェックを入れる',
'tog-previewontop' => 'プレビューを編集ボックスの前に配置',
'tog-previewonfirst' => '編集開始時にもプレビューを表示',
-'tog-nocache' => 'ブラウザによるページのキャッシュを無効にする',
+'tog-nocache' => 'ã\83\96ã\83©ã\82¦ã\82¶ã\83¼ã\81«ã\82\88ã\82\8bã\83\9aã\83¼ã\82¸ã\81®ã\82ã\83£ã\83\83ã\82·ã\83¥ã\82\92ç\84¡å\8a¹ã\81«ã\81\99ã\82\8b',
'tog-enotifwatchlistpages' => 'ウォッチリストにあるページが更新されたらメールを受け取る',
'tog-enotifusertalkpages' => '自分のトークページが更新されたらメールを受け取る',
'tog-enotifminoredits' => '細部の編集でもメールを受け取る',
'underline-always' => '常に付ける',
'underline-never' => '常に付けない',
-'underline-default' => 'ブラウザの設定を使用',
+'underline-default' => 'ã\83\96ã\83©ã\82¦ã\82¶ã\83¼ã\81®è¨å®\9aã\82\92使ç\94¨',
# Font style option in Special:Preferences
'editfont-style' => '編集エリアのフォントスタイル:',
-'editfont-default' => 'ブラウザの設定を使用',
+'editfont-default' => 'ã\83\96ã\83©ã\82¦ã\82¶ã\83¼ã\81®è¨å®\9aã\82\92使ç\94¨',
'editfont-monospace' => '等幅フォント',
'editfont-sansserif' => 'Sans Serif フォント',
'editfont-serif' => 'Serif フォント',
'viewyourtext' => "このページへの'''あなたの編集'''のソースの閲覧やコピーができます:",
'protectedinterface' => 'このページはソフトウェアのインターフェイスに使用されるテキストが保存されており、いたずらなどの防止のために保護されています。',
'editinginterface' => "'''警告:'''ソフトウェアのインターフェイスの文章として使用しているページを編集しています。
-このページの変更は他の利用者のユーザー インターフェイスの外観に影響します。
-翻訳する場合、MediaWiki のローカライズ プロジェクト [//translatewiki.net/wiki/Main_Page?setlang=ja translatewiki.net] の使用を検討してください。",
+このページの変更は他の利用者のユーザーインターフェイスの外観に影響します。
+翻訳する場合、MediaWiki のローカライズプロジェクト [//translatewiki.net/wiki/Main_Page?setlang=ja translatewiki.net] の使用を検討してください。",
'sqlhidden' => '(SQLクエリ非表示)',
'cascadeprotected' => 'このページは、「カスケード保護」が指定された状態で保護されている以下の{{PLURAL:$1|ページ|ページ群}}で読み込まれているため、編集できないように保護されています:
$2',
'logouttext' => "'''ログアウトしました。'''
このまま匿名で{{SITENAME}}の使用を続行できます。同じまたは別の利用者として[[Special:UserLogin|もう一度ログイン]]することもできます。
-なお、ページによっては、ブラウザのキャッシュをクリアするまで、ログインしているかのように表示され続ける場合があるためご注意ください。",
+ã\81ªã\81\8aã\80\81ã\83\9aã\83¼ã\82¸ã\81«ã\82\88ã\81£ã\81¦ã\81¯ã\80\81ã\83\96ã\83©ã\82¦ã\82¶ã\83¼ã\81®ã\82ã\83£ã\83\83ã\82·ã\83¥ã\82\92ã\82¯ã\83ªã\82¢ã\81\99ã\82\8bã\81¾ã\81§ã\80\81ã\83ã\82°ã\82¤ã\83³ã\81\97ã\81¦ã\81\84ã\82\8bã\81\8bã\81®ã\82\88ã\81\86ã\81«è¡¨ç¤ºã\81\95ã\82\8cç¶\9aã\81\91ã\82\8bå ´å\90\88ã\81\8cã\81\82ã\82\8bã\81\9fã\82\81ã\81\94注æ\84\8fã\81\8fã\81 ã\81\95ã\81\84ã\80\82",
'welcomecreation' => '== ようこそ、$1 さん! ==
アカウントが作成されました。
[[Special:Preferences|{{SITENAME}}の個人設定]]の変更も忘れないようにしてください。',
しばらく時間をおいてから再度お試しください。',
'login-abort-generic' => 'ログインに失敗しました - 中止',
'loginlanguagelabel' => '言語: $1',
-'suspicious-userlogout' => 'å£\8aã\82\8cã\81\9fã\83\96ã\83©ã\82¦ã\82¶ã\82\82ã\81\97ã\81\8fはキャッシュプロキシによって送信された可能性があるため、ログアウト要求は拒否されました。',
+'suspicious-userlogout' => 'å£\8aã\82\8cã\81\9fã\83\96ã\83©ã\82¦ã\82¶ã\83¼ã\81¾ã\81\9fはキャッシュプロキシによって送信された可能性があるため、ログアウト要求は拒否されました。',
# E-mail sending
'php-mail-error-unknown' => 'PHPのmail()関数で不明なエラー',
'newarticle' => '(新)',
'newarticletext' => "まだ存在していないページへのリンクをたどりました。
このページを新規に作成するには、下のボックスに内容を書き込んでください(詳しくは[[{{MediaWiki:Helppage}}|ヘルプページ]]を参照してください)。
-誤ってこのページにたどり着いた場合には、ブラウザの'''戻る'''ボタンで前のページに戻ってください。",
+誤ã\81£ã\81¦ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\81«ã\81\9fã\81©ã\82\8aç\9d\80ã\81\84ã\81\9få ´å\90\88ã\81«ã\81¯ã\80\81ã\83\96ã\83©ã\82¦ã\82¶ã\83¼ã\81®'''æ\88»ã\82\8b'''ã\83\9cã\82¿ã\83³ã\81§å\89\8dã\81®ã\83\9aã\83¼ã\82¸ã\81«æ\88»ã\81£ã\81¦ã\81\8fã\81 ã\81\95ã\81\84ã\80\82",
'anontalkpagetext' => "----''このページはアカウントをまだ作成していないか使用していない匿名利用者のための議論ページです。
匿名利用者を識別するために、利用者名の代わりにIPアドレスが使用されています。
IP アドレスは複数の利用者で共有されている場合があります。
'userpage-userdoesnotexist-view' => '利用者アカウント「$1」は登録されていません。',
'blocked-notice-logextract' => 'この利用者は現在ブロックされています。
参考のために最新のブロック記録を以下に表示します。',
-'clearyourcache' => "'''注意:''' 保存後、変更を確認するにはブラウザのキャッシュを消去する必要がある場合があります。
+'clearyourcache' => "'''注æ\84\8f:''' ä¿\9då\98å¾\8cã\80\81å¤\89æ\9b´ã\82\92確èª\8dã\81\99ã\82\8bã\81«ã\81¯ã\83\96ã\83©ã\82¦ã\82¶ã\83¼ã\81®ã\82ã\83£ã\83\83ã\82·ã\83¥ã\82\92æ¶\88å\8e»ã\81\99ã\82\8bå¿\85è¦\81ã\81\8cã\81\82ã\82\8bå ´å\90\88ã\81\8cã\81\82ã\82\8aã\81¾ã\81\99ã\80\82
* '''Firefox / Safari:''' ''Shift'' を押しながら ''再読み込み'' をクリックする、もしくは ''Ctrl-F5'' か ''Ctrl-R'' を押してください (Macでは ''⌘-R'' )
* '''Google Chrome:''' ''Ctrl-Shift-R'' を押してください (Macでは ''⌘-Shift-R'' )
* '''Internet Explorer:''' ''Ctrl'' を押しながら ''最新の情報に更新'' をクリックする、もしくは ''Ctrl-F5'' を押してください
'pagehist' => 'ページの履歴',
'deletedhist' => '削除された履歴',
'revdelete-hide-current' => '$1$2の項目の非表示に失敗しました:これは最新版であるため。
-é\9a ã\81\99ã\81\93ã\81¨はできません。',
+é\9d\9e表示ã\81«はできません。',
'revdelete-show-no-access' => '$1$2の項目の表示に失敗しました:この項目は「制限付き」に設定されています。
アクセス権限がありません。',
'revdelete-modify-no-access' => '$1$2の項目の修正に失敗しました:この項目は「制限付き」に設定されています。
'mergehistory-invalid-destination' => '統合先のページは有効な名前でなければなりません。',
'mergehistory-autocomment' => '[[:$1]]を[[:$2]]に統合',
'mergehistory-comment' => '[[:$1]]を[[:$2]]に統合:$3',
-'mergehistory-same-destination' => 'çµ±å\90\88å\85\83ã\81¨çµ±å\90\88å\85\88ã\81«å\90\8cã\81\98ã\83\9aã\83¼ã\82¸ã\82\92è¨å®\9aã\81\99ã\82\8bã\81\93ã\81¨はできません',
+'mergehistory-same-destination' => 'çµ±å\90\88å\85\83ã\81¨çµ±å\90\88å\85\88ã\81®ã\83\9aã\83¼ã\82¸ã\82\92å\90\8cã\81\98ã\81«はできません',
'mergehistory-reason' => '理由:',
# Merge log
'timezoneuseoffset' => 'その他(時差を指定)',
'timezoneoffset' => '時差¹:',
'servertime' => 'サーバーの時刻:',
-'guesstimezone' => 'ブラウザの設定から入力',
+'guesstimezone' => 'ã\83\96ã\83©ã\82¦ã\82¶ã\83¼ã\81®è¨å®\9aã\81\8bã\82\89å\85¥å\8a\9b',
'timezoneregion-africa' => 'アフリカ',
'timezoneregion-america' => 'アメリカ',
'timezoneregion-antarctica' => '南極',
'right-unblockself' => '自分自身に対するブロックを解除',
'right-protect' => '保護レベルを変更し、保護されたページを編集',
'right-editprotected' => '保護ページ(カスケード保護を除く)を編集',
-'right-editinterface' => 'ユーザー インターフェイスを編集',
+'right-editinterface' => 'ユーザーインターフェイスを編集',
'right-editusercssjs' => '他の利用者のCSSとJavaScriptファイルを編集',
'right-editusercss' => '他の利用者のCSSファイルを編集',
'right-edituserjs' => '他の利用者のJavaScriptファイルを編集',
'uploaddisabledtext' => 'ファイルのアップロードは、無効になっています。',
'php-uploaddisabledtext' => 'ファイルのアップロードがPHPで無効化されています。
file_uploadsの設定を確認してください。',
-'uploadscripted' => 'ã\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81¯ã\80\81ã\82¦ã\82§ã\83\96ã\83\96ã\83©ã\82¦ã\82¶ã\81\8c誤ã\81£ã\81¦è§£é\87\88ã\81\97ã\81¦ã\81\97ã\81¾ã\81\86ã\81\8aã\81\9dã\82\8cã\81®あるHTMLまたはスクリプトコードを含んでいます。',
+'uploadscripted' => 'ã\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81¯ã\80\81ã\82¦ã\82§ã\83\96ã\83\96ã\83©ã\82¦ã\82¶ã\83¼ã\81\8c誤ã\81£ã\81¦è§£é\87\88ã\81\97ã\81¦ã\81\97ã\81¾ã\81\86ã\81\8aã\81\9dã\82\8cã\81\8cあるHTMLまたはスクリプトコードを含んでいます。',
'uploadvirus' => 'このファイルにはウイルスが含まれています!
詳細:$1',
'uploadjava' => 'このファイルは、Javaの.classファイルを含むZIPファイルです。
-ã\82»ã\82ã\83¥ã\83ªã\83\86ã\82£ã\81®å\88¶é\99\90ã\82\92å\9b\9eé\81¿ã\81\95ã\82\8cã\82\8bã\81\8aã\81\9dã\82\8cã\81\8cã\81\82ã\82\8bã\81\9fã\82\81ã\80\81Javaã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\82¢ã\83\83ã\83\97ã\83ã\83¼ã\83\89ã\81\99ã\82\8bã\81\93ã\81¨は許可されていません。',
+ã\82»ã\82ã\83¥ã\83ªã\83\86ã\82£ã\81®å\88¶é\99\90ã\82\92å\9b\9eé\81¿ã\81\95ã\82\8cã\82\8bã\81\8aã\81\9dã\82\8cã\81\8cã\81\82ã\82\8bã\81\9fã\82\81ã\80\81Javaã\83\95ã\82¡ã\82¤ã\83«ã\81®ã\82¢ã\83\83ã\83\97ã\83ã\83¼ã\83\89は許可されていません。',
'upload-source' => 'アップロード元ファイル',
'sourcefilename' => 'アップロード元のファイル名:',
'sourceurl' => 'アップロード元のURL:',
'img-auth-isdir' => 'ディレクトリー「$1」にアクセスしようとしています。
ファイルへのアクセスのみが許可されています。',
'img-auth-streaming' => '「$1」を転送中。',
-'img-auth-public' => 'img_auth.phpの機能は非公開ウィキからファイルを出力することです。
+'img-auth-public' => 'img_auth.phpの機能は、非公開ウィキからのファイルの出力です。
このウィキは公開ウィキとして構成されています。
最適なセキュリティーのため、img_auth.phpは無効化されています。',
'img-auth-noread' => '利用者は「$1」の読み取り権限を持っていません。',
'move' => '移動',
'movethispage' => 'このページを移動',
'unusedimagestext' => '以下のファイルは存在していますが、どのページにも埋め込まれていません。
-ただし、他のウェブサイトが直接URLでファイルにリンクすることがあることに注意してください。以下のファイル一覧には、そのような形で利用中のファイルが含まれていることがあります。',
+ただし、他のウェブサイトがURLでファイルに直接リンクする場合があることに注意してください。以下のファイル一覧には、そのような形で利用中のファイルが含まれている場合があります。',
'unusedcategoriestext' => '以下のカテゴリはページが存在しますが、他のどのページおよびカテゴリでも使用されていません。',
'notargettitle' => '対象が存在しません',
'notargettext' => 'この機能の実行対象となるページまたは利用者が指定されていません。',
編集内容の要約:$PAGESUMMARY($PAGEMINOREDIT)
-æ\8a\95稿è\80\85ã\81«é\80£çµ¡:
+æ\8a\95稿è\80\85ã\81®é\80£çµ¡å\85\88:
メール:$PAGEEDITOR_EMAIL
ウィキ:$PAGEEDITOR_WIKI
このページを訪れない限り、これ以上の変更に対する通知は送信されません。
-ウォッチリストからすべての通知を再設定することもできます。
+ウォッチリスト内のすべてのページについて、通知を再設定することもできます。
{{SITENAME}}通知システム
--
-メール通知の設定は、次のページから変更してください。
+メール通知の設定は、以下のページで変更してください:
{{canonicalurl:{{#special:Preferences}}}}
-ウォッチリストの設定は、次のページから変更してください。
+ウォッチリストの設定は、以下のページで変更してください:
{{canonicalurl:{{#special:EditWatchlist}}}}
-このページは、次のページでウォッチリストから除去することができます。
+このページは、以下のページでウォッチリストから削除できます:
$UNWATCHURL
ご意見、お問い合わせ:
参考のため、ブロックの記録を以下に示します:',
'blocklog-showsuppresslog' => 'この利用者は以前にブロックされ、隠されたことがあります。
参考のため、秘匿記録を以下に示します:',
-'blocklogentry' => '[[$1]] を$2ブロックしました。ブロックの詳細$3',
-'reblock-logentry' => '[[$1]]ブロック設定を$2に変更しました。ブロックの詳細$3',
+'blocklogentry' => ' が [[$1]] を$2ブロックしました。ブロックの詳細:$3',
+'reblock-logentry' => ' が [[$1]] のブロック設定を$2に変更しました。ブロックの詳細:$3',
'blocklogtext' => 'このページは利用者のブロックと解除の記録です。
自動的にブロックされたIPアドレスは表示されていません。
現時点で有効なブロックは[[Special:BlockList|ブロックの一覧]]をご覧ください。',
'unblock-hideuser' => '利用者名が隠されているため、この利用者のブロックを解除できません。',
'ipb_cant_unblock' => 'エラー:ブロック ID $1 がありません。
ブロックが既に解除されている可能性があります。',
-'ipb_blocked_as_range' => 'エラー:IPアドレス$1は直接ブロックされておらず、ブロックを解除できませんでした。
-ただし、$2の範囲でブロックされており、こちらの設定を変更することでブロック解除できます。',
+'ipb_blocked_as_range' => 'エラー:IPアドレス$1は直接ブロックされておらず、ブロック解除できませんでした。
+ただし、$2の範囲でブロックされており、こちらのブロックは別途解除できます。',
'ip_range_invalid' => '不正なIP範囲です。',
'ip_range_toolarge' => '/$1よりサイズの広い範囲ブロックは許可されていません。',
'blockme' => '自分をブロック',
'delete_and_move_reason' => '「[[$1]]」からの移動のために削除',
'selfmove' => '移動元と移動先のページ名が同じです。
自分自身へは移動できません。',
-'immobile-source-namespace' => '$1名前空間のページを移動させることはできません。',
-'immobile-target-namespace' => 'ã\80\8c$1ã\80\8då\90\8då\89\8d空é\96\93ã\81¸ã\81¯ã\83\9aã\83¼ã\82¸ã\82\92移å\8b\95ã\81\95ã\81\9bã\82\8bã\81\93ã\81¨ã\81¯ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82',
+'immobile-source-namespace' => '「$1」名前空間のページを移動させることはできません',
+'immobile-target-namespace' => 'ã\80\8c$1ã\80\8då\90\8då\89\8d空é\96\93ã\81«ã\83\9aã\83¼ã\82¸ã\82\92移å\8b\95ã\81\95ã\81\9bã\82\8bã\81\93ã\81¨ã\81¯ã\81§ã\81\8dã\81¾ã\81\9bã\82\93',
'immobile-target-namespace-iw' => 'ウィキ間リンクは、ページの移動では不正な対象です。',
'immobile-source-page' => 'このページは移動できません。',
-'immobile-target-page' => '対象ã\83\9aã\83¼ã\82¸å\90\8dã\81¸ã\81¯ç§»å\8b\95ã\81\95ã\81\9bã\82\8bã\81\93ã\81¨ã\81\8cできません。',
-'imagenocrossnamespace' => 'ファイル名前空間以外に、ファイルを移動することはできません。',
-'nonfile-cannot-move-to-file' => 'ã\83\95ã\82¡ã\82¤ã\83«ã\81§ã\81ªã\81\84ã\82\82ã\81®ã\82\92ã\80\81ã\83\95ã\82¡ã\82¤ã\83«å\90\8då\89\8d空é\96\93ã\81«ç§»å\8b\95ã\81\99ることはできません',
-'imagetypemismatch' => '新しいファイルの拡張子がファイルのタイプと一致していません。',
+'immobile-target-page' => '対象ã\83\9aã\83¼ã\82¸å\90\8dã\81«ç§»å\8b\95ã\81\95ã\81\9bã\82\8bã\81\93ã\81¨ã\81¯できません。',
+'imagenocrossnamespace' => 'ファイルを、ファイル名前空間以外に移動させることはできません',
+'nonfile-cannot-move-to-file' => 'ã\83\95ã\82¡ã\82¤ã\83«ã\81§ã\81¯ã\81ªã\81\84ã\82\82ã\81®ã\82\92ã\80\81ã\83\95ã\82¡ã\82¤ã\83«å\90\8då\89\8d空é\96\93ã\81«ç§»å\8b\95ã\81\95ã\81\9bることはできません',
+'imagetypemismatch' => '新しいファイルの拡張子がファイルのタイプと一致していません',
'imageinvalidfilename' => '対象ファイル名が不正です',
'fix-double-redirects' => 'このページへのリダイレクトがあればそのリダイレクトを修正',
'move-leave-redirect' => '移動元にリダイレクトを作成する',
ページを書き出すには、下の入力ボックスに一行に一つずつ書き出したいページの名前を記入してください。また、編集履歴とともにすべての過去版を含めて書き出すのか、最新版のみを書き出すのか選択してください。
後者の場合ではリンクの形で使うこともできます。例えば、[[{{#Special:Export}}/{{MediaWiki:Mainpage}}]]はページ「[[{{MediaWiki:Mainpage}}]]」が対象になります。',
-'exportall' => 'すべてのページをエクスポート',
+'exportall' => 'すべてのページを書き出し',
'exportcuronly' => '完全な履歴は含めず、最新版のみを含める',
'exportnohistory' => "----
'''注意:'''負荷上の理由により、このフォームによるページの完全な履歴の書き出しは無効化されています。",
'allmessagescurrent' => '現在のメッセージ文',
'allmessagestext' => 'これは MediaWiki 名前空間で利用できるシステム メッセージの一覧です。
MediaWiki 全般のローカライズ(地域化)に貢献したい場合は、[//www.mediawiki.org/wiki/Localisation/ja MediaWiki のローカライズ] や [//translatewiki.net?setlang=ja translatewiki.net] をご覧ください。',
-'allmessagesnotsupportedDB' => "'''\$wgUseDatabaseMessages'''ã\81\8cç\84¡å\8a¹ã\81ªã\81®ã\81§ã\80\81ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\82\92使ã\81\86ã\81\93ã\81¨ã\81¯できません。",
+'allmessagesnotsupportedDB' => "'''\$wgUseDatabaseMessages'''ã\81\8cç\84¡å\8a¹ã\81®ã\81\9fã\82\81ã\80\81ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\82\92使ç\94¨できません。",
'allmessages-filter-legend' => '絞り込み',
'allmessages-filter' => '変更状態により絞り込む:',
'allmessages-filter-unmodified' => '変更なし',
'tooltip-ca-nstab-main' => '本文を閲覧',
'tooltip-ca-nstab-user' => '利用者ページを表示',
'tooltip-ca-nstab-media' => 'メディアページを表示',
-'tooltip-ca-nstab-special' => 'ã\81\93ã\82\8cã\81¯ç\89¹å\88¥ã\83\9aã\83¼ã\82¸ã\81§ã\81\99ã\80\82ç·¨é\9b\86ã\81\99ã\82\8bã\81\93ã\81¨ã\81¯ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82',
+'tooltip-ca-nstab-special' => 'これは特別ページです。編集できません。',
'tooltip-ca-nstab-project' => 'プロジェクトページを表示',
'tooltip-ca-nstab-image' => 'ファイルページを表示',
'tooltip-ca-nstab-mediawiki' => 'システムメッセージを表示',
'version-software' => 'インストール済みソフトウェア',
'version-software-product' => '製品',
'version-software-version' => 'バージョン',
-'version-entrypoints' => 'エントリー ポイントの URL',
-'version-entrypoints-header-entrypoint' => 'エントリー ポイント',
+'version-entrypoints' => 'エントリーポイントの URL',
+'version-entrypoints-header-entrypoint' => 'エントリーポイント',
'version-entrypoints-header-url' => 'URL',
'version-entrypoints-articlepath' => '[https://www.mediawiki.org/wiki/Manual:$wgArticlePath 記事のパス]',
-'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath スクリプト パス]',
+'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath スクリプトパス]',
# Special:FilePath
'filepath' => 'ファイルパス',
'newuserlog-byemail' => 'パスワードをメールで送信しました',
# Feedback
-'feedback-bugornote' => '技術的な問題の詳細をご説明する準備ができているなら[$1 バグを報告]してください。それ以外の場合、下の簡易フォームを使用すれば、あなたのコメントが"[$3 $2]"にあなたの利用者名と使用中のブラウザ名と共に追加されます。',
+'feedback-bugornote' => '技術的な問題の詳細を説明なさる準備ができている場合は[$1 バグを報告]してください。
+そうではない場合は、下の簡易フォームを使用してください。あなたのコメントがあなたの利用者名とご使用中のブラウザー名と共に、ページ"[$3 $2]"に追加されます。',
'feedback-subject' => '件名:',
'feedback-message' => 'メッセージ:',
'feedback-cancel' => 'キャンセル',
'feedback-thanks' => 'ありがとうございます。あなたのフィードバックは「[$2 $1]」のページに投稿されました。',
'feedback-close' => '完了',
'feedback-bugcheck' => 'Great! [$1 既出のバグ]に既に含まれていないか確認してください。',
-'feedback-bugnew' => 'チェック済み。バグを報告する。',
+'feedback-bugnew' => 'チェックしました。バグを報告します。',
# API errors
'api-error-badaccess-groups' => 'このウィキへのファイルのアップロードが許可されていません。',
'api-error-noimageinfo' => 'アップロードには成功しましたが、サーバーはファイルに関する情報を返しませんでした。',
'api-error-nomodule' => '内部エラー:アップロードを処理するモジュールが設定されていません。',
'api-error-ok-but-empty' => '内部エラー:サーバーからの応答がありません。',
-'api-error-overwrite' => '既存のファイルへ上書きすることは許可されていません。',
+'api-error-overwrite' => '既存のファイルへの上書きは許可されていません。',
'api-error-stashfailed' => '内部エラー:サーバーは一時ファイルを格納できませんでした。',
'api-error-timeout' => 'サーバーが決められた時間内に応答しませんでした。',
'api-error-unclassified' => '不明なエラーが発生しました。',
'grouppage-bureaucrat' => '{{ns:project}}:Burokrati',
# Rights
-'right-read' => 'Pelu bıwane',
+'right-read' => 'Pelan bıwanê',
'right-edit' => 'Pelu bıvurne',
'right-move' => 'Pelu bere',
'right-movefile' => 'Dosyu bere',
'undeletereset' => 'Vaz be',
'undeleteinvert' => 'Weçinıtey ters bıçarne',
'undeletecomment' => 'Sebeb:',
+'undelete-header' => 'Peleyê ke veror de besterneyayê êna bıvinê: [[Special:Log/delete|qeydê esterneya]].',
'undelete-search-submit' => 'Cıfeteliye',
'undelete-show-file-submit' => 'Heya',
# Diffs
'history-title' => '«$1» — өңдеу тарихы',
+'difference-title' => 'Нұсқалар арасындағы айырмашылық: "$1"',
'difference-multipage' => '(Беттер арасындағы айырмашылық)',
'lineno' => 'Жол нөмірі $1:',
'compareselectedversions' => 'Таңдалған нұсқаларды салыстыру',
# New logging system
'revdelete-restricted' => 'әкімшілерге тиымдар қолдады',
'revdelete-unrestricted' => 'әкімшілерден тиымдарды аластады',
+'logentry-move-move-noredirect' => '$1 $3 бетін $4 бетіне жылжытты (айдатқыш қалдырылмады)',
+'logentry-move-move_redir-noredirect' => '$1 $3 бетін $4 деген айдатқыш үстіне жылжытты (айдатқыш қалдырылмады)',
);
'BrokenRedirects' => array( '끊긴넘겨주기' ),
'Categories' => array( '분류' ),
'ChangeEmail' => array( '이메일변경', '이메일바꾸기' ),
- 'ChangePassword' => array( '비밀번호변경', '비밀번호바꾸기' ),
+ 'ChangePassword' => array( '비밀번호변경', '비밀번호바꾸기', '비밀단어변경', '비밀단어바꾸기' ),
'ComparePages' => array( '문서비교' ),
'Confirmemail' => array( '이메일인증' ),
'Contributions' => array( '기여', '기여목록', '사용자기여' ),
'Listusers' => array( '사용자', '사용자목록' ),
'Lockdb' => array( 'DB잠금', 'DB잠그기' ),
'Log' => array( '기록', '로그' ),
- 'Lonelypages' => array( '외톨이문서' ),
+ 'Lonelypages' => array( '외톨이문서', '홀로된문서' ),
'Longpages' => array( '긴문서' ),
'MergeHistory' => array( '역사합치기' ),
'MIMEsearch' => array( 'MIME찾기', 'MIME검색' ),
'Myuploads' => array( '내가올린파일' ),
'Newimages' => array( '새파일', '새그림' ),
'Newpages' => array( '새문서' ),
- 'PasswordReset' => array( '암호변경' ),
+ 'PasswordReset' => array( '비밀번호초기화', '비밀단어초기화' ),
'PermanentLink' => array( '고유링크', '영구링크' ),
'Popularpages' => array( '인기있는문서' ),
'Preferences' => array( '환경설정' ),
'Uncategorizedtemplates' => array( '분류안된틀' ),
'Undelete' => array( '삭제취소', '삭제된문서' ),
'Unlockdb' => array( 'DB잠금취소', 'DB잠금해제' ),
- 'Unusedcategories' => array( '안쓰는분류' ),
- 'Unusedimages' => array( '안쓰는파일', '안쓰는그림' ),
- 'Unusedtemplates' => array( '안쓰는틀' ),
+ 'Unusedcategories' => array( '안쓰는분류', '쓰이지않는분류' ),
+ 'Unusedimages' => array( '안쓰는파일', '안쓰는그림', '쓰이지않는파일', '쓰이지않는그림' ),
+ 'Unusedtemplates' => array( '안쓰는틀', '쓰이지않는틀' ),
'Unwatchedpages' => array( '주시안되는문서' ),
- 'Upload' => array( '파일올리기', '그림올리기' ),
+ 'Upload' => array( '올리기', '파일올리기', '그림올리기' ),
'UploadStash' => array( '올린비공개파일' ),
'Userlogin' => array( '로그인' ),
'Userlogout' => array( '로그아웃' ),
'redirect' => array( '0', '#넘겨주기', '#REDIRECT' ),
'notoc' => array( '0', '__목차숨김__', '__NOTOC__' ),
'nogallery' => array( '0', '__화랑숨김__', '__갤러리숨김__', '__NOGALLERY__' ),
- 'forcetoc' => array( '0', '__목차보임__', '__FORCETOC__' ),
+ 'forcetoc' => array( '0', '__목차보임__', '__목차표시__', '__FORCETOC__' ),
'toc' => array( '0', '__목차__', '__TOC__' ),
'noeditsection' => array( '0', '__단락편집숨김__', '__NOEDITSECTION__' ),
- 'noheader' => array( '0', '__헤더숨김__', '__NOHEADER__' ),
+ 'noheader' => array( '0', '__머릿글숨김__', '__헤더숨김__', '__NOHEADER__' ),
'currentmonth' => array( '1', '현재월', 'CURRENTMONTH', 'CURRENTMONTH2' ),
'currentmonth1' => array( '1', '현재월1', 'CURRENTMONTH1' ),
'currentmonthname' => array( '1', '현재월이름', 'CURRENTMONTHNAME' ),
'pagenamee' => array( '1', '문서이름E', 'PAGENAMEE' ),
'namespace' => array( '1', '이름공간', 'NAMESPACE' ),
'namespacee' => array( '1', '이름공간E', 'NAMESPACEE' ),
+ 'namespacenumber' => array( '1', '이름공간수', 'NAMESPACENUMBER' ),
'talkspace' => array( '1', '토론이름공간', 'TALKSPACE' ),
'talkspacee' => array( '1', '토론이름공간E', 'TALKSPACEE' ),
'subjectspace' => array( '1', '본문서이름공간', 'SUBJECTSPACE', 'ARTICLESPACE' ),
'msg' => array( '0', '메시지:', 'MSG:' ),
'subst' => array( '0', '풀기:', 'SUBST:' ),
'safesubst' => array( '0', '안전풀기:', 'SAFESUBST:' ),
- 'img_thumbnail' => array( '1', '섬네일', '썸네일', 'thumbnail', 'thumb' ),
- 'img_manualthumb' => array( '1', '섬네일=$1', '썸네일=$1', 'thumbnail=$1', 'thumb=$1' ),
+ 'msgnw' => array( '0', '위키잘못메시지:', 'MSGNW:' ),
+ 'img_thumbnail' => array( '1', '섬네일', '썸네일', '축소판', 'thumbnail', 'thumb' ),
+ 'img_manualthumb' => array( '1', '섬네일=$1', '썸네일=$1', '축소판=$1', 'thumbnail=$1', 'thumb=$1' ),
'img_right' => array( '1', '오른쪽', 'right' ),
'img_left' => array( '1', '왼쪽', 'left' ),
'img_none' => array( '1', '없음', 'none' ),
'img_framed' => array( '1', '프레임', 'framed', 'enframed', 'frame' ),
'img_frameless' => array( '1', '프레임없음', 'frameless' ),
'img_page' => array( '1', '문서=$1', 'page=$1', 'page $1' ),
+ 'img_upright' => array( '1', '위오른쪽', '위오른쪽=$1', 'upright', 'upright=$1', 'upright $1' ),
'img_border' => array( '1', '테두리', 'border' ),
'img_baseline' => array( '1', '밑줄', 'baseline' ),
'img_sub' => array( '1', '아래첨자', 'sub' ),
'img_super' => array( '1', '위첨자', 'super', 'sup' ),
'img_top' => array( '1', '위', 'top' ),
+ 'img_text_top' => array( '1', '글자위', '텍스트위', 'text-top' ),
'img_middle' => array( '1', '중간', 'middle' ),
'img_bottom' => array( '1', '아래', 'bottom' ),
+ 'img_text_bottom' => array( '1', '글자아래', '텍스트아래', 'text-bottom' ),
'img_link' => array( '1', '링크=$1', 'link=$1' ),
+ 'img_alt' => array( '1', '대체글=$1', 'alt=$1' ),
+ 'int' => array( '0', '정수:', 'INT:' ),
'sitename' => array( '1', '사이트이름', 'SITENAME' ),
'ns' => array( '0', '이름:', '이름공간:', 'NS:' ),
'nse' => array( '0', '이름E:', '이름공간E:', 'NSE:' ),
'stylepath' => array( '0', '스타일경로', 'STYLEPATH' ),
'grammar' => array( '0', '문법:', 'GRAMMAR:' ),
'gender' => array( '0', '성별:', 'GENDER:' ),
+ 'notitleconvert' => array( '0', '__제목변환없음__', '__제변없음__', '__제목변환안함__', '__제변안함__', '__NOTITLECONVERT__', '__NOTC__' ),
+ 'nocontentconvert' => array( '0', '__내용변환없음__', '__내변없음__', '__내용변환안함__', '__내변안함__', '__NOCONTENTCONVERT__', '__NOCC__' ),
'currentweek' => array( '1', '현재주', 'CURRENTWEEK' ),
'currentdow' => array( '1', '현재요일숫자', 'CURRENTDOW' ),
'localweek' => array( '1', '지역주', 'LOCALWEEK' ),
'plural' => array( '0', '복수:', '복수형:', 'PLURAL:' ),
'fullurl' => array( '0', '전체주소:', 'FULLURL:' ),
'fullurle' => array( '0', '전체주소E:', 'FULLURLE:' ),
+ 'canonicalurl' => array( '0', '표준주소:', 'CANONICALURL:' ),
+ 'canonicalurle' => array( '0', '표준주소E:', 'CANONICALURLE:' ),
'lcfirst' => array( '0', '첫소문자:', 'LCFIRST:' ),
'ucfirst' => array( '0', '첫대문자:', 'UCFIRST:' ),
'lc' => array( '0', '소문자:', 'LC:' ),
'uc' => array( '0', '대문자:', 'UC:' ),
- 'displaytitle' => array( '1', '제목표시', 'DISPLAYTITLE' ),
+ 'raw' => array( '0', '원시:', 'RAW:' ),
+ 'displaytitle' => array( '1', '제목보이기', '제목표시', 'DISPLAYTITLE' ),
'newsectionlink' => array( '1', '__새글쓰기__', '__NEWSECTIONLINK__' ),
'nonewsectionlink' => array( '1', '__새글쓰기숨기기__', '__NONEWSECTIONLINK__' ),
'currentversion' => array( '1', '현재버전', 'CURRENTVERSION' ),
'anchorencode' => array( '0', '책갈피인코딩', 'ANCHORENCODE' ),
'currenttimestamp' => array( '1', '현재타임스탬프', 'CURRENTTIMESTAMP' ),
'localtimestamp' => array( '1', '지역타임스탬프', 'LOCALTIMESTAMP' ),
+ 'directionmark' => array( '1', '명령검토', 'DIRECTIONMARK', 'DIRMARK' ),
'language' => array( '0', '#언어:', '#LANGUAGE:' ),
'contentlanguage' => array( '1', '기본언어', 'CONTENTLANGUAGE', 'CONTENTLANG' ),
'pagesinnamespace' => array( '1', '이름공간문서수', 'PAGESINNAMESPACE:', 'PAGESINNS:' ),
'numberofadmins' => array( '1', '관리자수', 'NUMBEROFADMINS' ),
+ 'formatnum' => array( '0', '수형식', 'FORMATNUM' ),
+ 'padleft' => array( '0', '대체왼쪽', 'PADLEFT' ),
+ 'padright' => array( '0', '대체오른쪽', 'PADRIGHT' ),
'special' => array( '0', '특수기능', 'special' ),
+ 'speciale' => array( '0', '특수기능E', '특수기능e', 'speciale' ),
'defaultsort' => array( '1', '기본정렬:', 'DEFAULTSORT:', 'DEFAULTSORTKEY:', 'DEFAULTCATEGORYSORT:' ),
'filepath' => array( '0', '파일경로:', '그림경로:', 'FILEPATH:' ),
'tag' => array( '0', '태그', 'tag' ),
'pagesincategory' => array( '1', '분류문서수', 'PAGESINCATEGORY', 'PAGESINCAT' ),
'pagesize' => array( '1', '문서크기', 'PAGESIZE' ),
'index' => array( '1', '__색인__', '__INDEX__' ),
- 'noindex' => array( '1', '__색인거부__', '__NOINDEX__' ),
+ 'noindex' => array( '1', '__색인안함__', '__색인거부__', '__NOINDEX__' ),
'numberingroup' => array( '1', '권한별사용자수', '그룹별사용자수', 'NUMBERINGROUP', 'NUMINGROUP' ),
'staticredirect' => array( '1', '__넘겨주기고정__', '__STATICREDIRECT__' ),
'protectionlevel' => array( '1', '보호수준', 'PROTECTIONLEVEL' ),
'formatdate' => array( '0', '날짜형식', 'formatdate', 'dateformat' ),
+ 'url_path' => array( '0', '경로', 'PATH' ),
+ 'url_wiki' => array( '0', '위키', 'WIKI' ),
+ 'url_query' => array( '0', '쿼리', 'QUERY' ),
+ 'defaultsort_noerror' => array( '0', '오류없음', 'noerror' ),
+ 'defaultsort_noreplace' => array( '0', '바꾸기없음', 'noreplace' ),
);
$bookstoreList = array(
'vector-action-undelete' => '되살리기',
'vector-action-unprotect' => '보호 설정 변경',
'vector-simplesearch-preference' => '향상된 검색어 제안 사용하기 (벡터 스킨 전용)',
-'vector-view-create' => '생성',
+'vector-view-create' => '만들기',
'vector-view-edit' => '편집',
'vector-view-history' => '역사',
'vector-view-view' => '읽기',
'print' => '인쇄',
'view' => '보기',
'edit' => '편집',
-'create' => '생성',
+'create' => '만들기',
'editthispage' => '이 문서 편집하기',
'create-this-page' => '이 문서 만들기',
'delete' => '삭제',
'nocreatetext' => '{{SITENAME}}에서 새로운 문서를 생성하는 것은 제한되어 있습니다. 이미 존재하는 다른 문서를 편집하거나, [[Special:UserLogin|로그인하거나 계정을 만들 수 있습니다]].',
'nocreate-loggedin' => '새 문서를 만들 권한이 없습니다.',
'sectioneditnotsupported-title' => '부분 편집 지원 안됨',
-'sectioneditnotsupported-text' => '이 문서에서는 칸 편집을 지원하지 않습니다.',
+'sectioneditnotsupported-text' => '이 문서에서는 문단 편집을 지원하지 않습니다.',
'permissionserrors' => '권한 오류',
'permissionserrorstext' => '해당 명령을 수행할 권한이 없습니다. 다음의 {{PLURAL:$1|이유}}를 확인해보세요:',
'permissionserrorstext-withaction' => '$2 권한이 없습니다. 다음의 {{PLURAL:$1|이유}}를 확인해주세요:',
'search-result-category-size' => '문서 {{PLURAL:$1|1|$1}}개, 하위 분류 {{PLURAL:$2|1|$2}}개, 파일 {{PLURAL:$3|1|$3}}',
'search-result-score' => '유사도: $1%',
'search-redirect' => '($1에서 넘어옴)',
-'search-section' => '($1 칸)',
+'search-section' => '($1 문단)',
'search-suggest' => '$1 문서를 찾고 계신가요?',
'search-interwiki-caption' => '자매 프로젝트',
'search-interwiki-default' => '$1 결과:',
갤러리 형식으로 확인하고 싶으시다면 [[Special:NewFiles|새 파일 목록]]을 보세요.',
'filename' => '파일 이름',
'filedesc' => '파일의 설명',
-'fileuploadsummary' => 'ì\84¤ëª\85:',
+'fileuploadsummary' => 'ì\9a\94ì\95½:',
'filereuploadsummary' => '파일 변경에 대한 요약:',
'filestatus' => '저작권 상태:',
'filesource' => '출처:',
로그 종류, 계정 이름, 문서 이름을 선택해서 볼 수 있습니다. 검색시에는 대소문자를 구별합니다.',
'logempty' => '일치하는 항목이 없습니다.',
'log-title-wildcard' => '다음 글로 시작하는 제목 검색',
+'showhideselectedlogentries' => '선택한 기록 항목 보이기/숨기기',
# Special:AllPages
'allpages' => '모든 문서 목록',
# Restrictions (nouns)
'restriction-edit' => '편집',
'restriction-move' => '이동',
-'restriction-create' => '생성',
+'restriction-create' => '만들기',
'restriction-upload' => '올리기',
# Restriction levels
'tooltip-pt-logout' => '로그아웃',
'tooltip-ca-talk' => '문서의 내용에 대한 토론 문서',
'tooltip-ca-edit' => '문서를 편집할 수 있습니다. 저장하기 전에 미리보기를 해 주세요.',
-'tooltip-ca-addsection' => '칸 추가하기',
+'tooltip-ca-addsection' => '문단 추가하기',
'tooltip-ca-viewsource' => '문서가 잠겨 있습니다. 문서의 소스만 볼 수 있습니다.',
'tooltip-ca-history' => '문서의 과거 버전들',
'tooltip-ca-protect' => '문서 보호하기',
$magicWords = array(
'redirect' => array( '0', '#ÖMLEIDE_OP', '#ÖMLEIDE', '#LEIDT_ÖM_OP', '#ÖMLEIDUNG', '#WEITERLEITUNG', '#REDIRECT' ),
- 'nogallery' => array( '0', '__KEIN_JALLERIE__', '__KEINE_GALERIE__', '__NOGALLERY__' ),
+ 'nogallery' => array( '0', '__KEIN_JALLERIE__', '__KEINE_GALERIE__', '__KEINEGALERIE__', '__NOGALLERY__' ),
'toc' => array( '0', '__ENHALLT__', '__INHALTSVERZEICHNIS__', '__TOC__' ),
'img_right' => array( '1', 'rähß', 'räts', 'rechts', 'right' ),
'img_left' => array( '1', 'lengks', 'lenks', 'links', 'left' ),
'updated' => '(Aanjepack)',
'note' => "'''Opjepass:'''",
'previewnote' => "'''Heh kütt nor de Vör-Aansich — Ding Änderunge sin noch nit jesechert!'''",
-'continue-editing' => 'Wiggerschrieve',
+'continue-editing' => 'Jangk tiräk nohm Plaz zom Schrieve',
'previewconflict' => 'Heh die Vör-Aansich zeich dä Enhald vum bovvere Texfeld.
Esu wööd dä Atikkel ussinn, wann De n jetz avspeichere däts.',
'session_fail_preview' => "'''Schad: Ding Änderunge kunnte mer su nix met aanfange.
'Randompage' => array( 'Rûpela_tesadufî' ),
'Randomredirect' => array( 'Redirecta_tasadufî' ),
'Recentchanges' => array( 'Guherandinên_dawî' ),
- 'Search' => array( 'Lêbigere' ),
+ 'Search' => array( 'Lê_bigere' ),
'Statistics' => array( 'Statîstîk' ),
'Uncategorizedcategories' => array( 'Kategoriyên_bê_kategorî' ),
'Uncategorizedpages' => array( 'Rûpelên_bê_kategorî' ),
);
$magicWords = array(
+ 'redirect' => array( '0', '#BERALÎKIRIN', '#REDIRECT' ),
'notoc' => array( '0', '_NAVEROKTUNE_', '__NOTOC__' ),
'nogallery' => array( '0', '_GALERÎTUNE_', '__NOGALLERY__' ),
'toc' => array( '0', '_NAVEROK_', '__TOC__' ),
'noheader' => array( '0', '_SERÎTUNE_', '__NOHEADER__' ),
+ 'currentmonth1' => array( '1', 'MEHANIHA1', 'CURRENTMONTH1' ),
'currentday' => array( '1', 'ROJA_NIHA', 'CURRENTDAY' ),
'currentday2' => array( '1', 'ROJA_NIHA2', 'CURRENTDAY2' ),
+ 'currenttime' => array( '1', 'DEMA_NIHA', 'CURRENTTIME' ),
'numberofpages' => array( '1', 'HEJMARA_RÛPELAN', 'NUMBEROFPAGES' ),
'numberofarticles' => array( '1', 'HEJMARA_GOTARAN', 'NUMBEROFARTICLES' ),
'numberoffiles' => array( '1', 'HEJMARA_DOSYEYAN', 'NUMBEROFFILES' ),
'numberofusers' => array( '1', 'HEJMARA_BIKARHÊNERAN', 'NUMBEROFUSERS' ),
'numberofactiveusers' => array( '1', 'HEJMARA_BIKARHÊNERÊN_ÇALAK', 'NUMBEROFACTIVEUSERS' ),
- 'numberofedits' => array( '1', 'HEJMARA_GUHERANDINAN', 'NUMBEROFEDITS' ),
+ 'numberofedits' => array( '1', 'HEJMARA_GUHERTINAN', 'NUMBEROFEDITS' ),
'subpagename' => array( '1', 'BINRÛPEL', 'SUBPAGENAME' ),
'img_right' => array( '1', 'rast', 'right' ),
'img_left' => array( '1', 'çep', 'left' ),
- 'img_link' => array( '1', 'lînk=$', 'link=$1' ),
+ 'img_link' => array( '1', 'girêdan=$', 'link=$1' ),
+ 'sitename' => array( '1', 'NAVÊ_PROJEYÊ', 'SITENAME' ),
'grammar' => array( '0', 'RÊZIMAN.', 'GRAMMAR:' ),
'gender' => array( '0', 'ZAYEND.', 'GENDER:' ),
'plural' => array( '0', 'PIRRJIMAR:', 'PLURAL:' ),
'currentversion' => array( '1', 'VERSIYONA_NIHA', 'CURRENTVERSION' ),
- 'numberofadmins' => array( '1', 'HEJMARA_ADAMÎNISTRATORAN', 'NUMBEROFADMINS' ),
+ 'language' => array( '0', '#ZIMAN', '#LANGUAGE:' ),
+ 'numberofadmins' => array( '1', 'HEJMARA_RÊVEBERAN', 'NUMBEROFADMINS' ),
'special' => array( '0', 'taybet', 'special' ),
);
'policy-url' => 'Project:Rêgez',
'portal' => 'Portala komê',
'portal-url' => 'Project:Portala komê',
-'privacy' => 'Parastina daneyan',
+'privacy' => 'Siyaseta taybetîtiyê',
'privacypage' => 'Project:Parastina daneyan',
'badaccess' => 'Çewtiya destûrê',
'hr_tip' => 'Rastexêza berwarî (kêm bi kar bîne)',
# Edit pages
-'summary' => 'Kurte û çavkanî (Te çi kir?):',
+'summary' => 'Kurte (Te çi kir?):',
'subject' => 'Mijar/sernivîs:',
'minoredit' => 'Ev guhertineke biçûk e',
'watchthis' => 'Vê gotarê bişopîne',
'searchprofile-images-tooltip' => 'Li pelan bigere',
'search-result-size' => '$1 ({{PLURAL:$2|peyvek|$2 peyv}})',
'search-result-score' => 'Lêhatin: $1%',
-'search-redirect' => '(redirect $1)',
+'search-redirect' => '(beralîkirin $1)',
'search-section' => '(beş $1)',
'search-suggest' => 'Gelo mebesta te ev bû: $1',
'search-interwiki-caption' => 'Projeyên hevçeng',
'uid' => 'Nasnameya bikarhêner:',
'prefs-memberingroups' => 'Endamê/a {{PLURAL:$1|komê|koman}}:',
'prefs-registration' => 'Dema xweqeydkirinê:',
-'yourrealname' => 'Navê te yê rastî*',
+'yourrealname' => 'Navê te yê rast:',
'yourlanguage' => 'Ziman',
'yourvariant' => 'Cuda:',
'yournick' => 'Bernavkê nû (ji bo îmzeyê):',
'group-all' => '(hemû)',
'group-user-member' => 'Bikarhêner',
-'group-bot-member' => 'Bot',
-'group-sysop-member' => 'rêveber',
+'group-bot-member' => '{{GENDER:$1|bot}}',
+'group-sysop-member' => '{{GENDER:$1|rêveber}}',
'group-bureaucrat-member' => 'Burokrat',
'grouppage-user' => '{{ns:project}}:Bikarhêner',
'grouppage-bot' => '{{ns:project}}:Bot',
-'grouppage-sysop' => '{{ns:project}}:Admînistrator',
+'grouppage-sysop' => '{{ns:project}}:Rêveber',
'grouppage-bureaucrat' => '{{ns:project}}:Burokrat',
# Rights
'recentchanges-summary' => 'Guhertinên herî dawî yên wîkiyê li ser vê rûpelê bişopîne.',
'recentchanges-label-minor' => 'Ev guhertineka biçûk e',
'rcnote' => "Jêr {{PLURAL:$1|guherandinek|'''$1''' guherandinên dawî}} di {{PLURAL:$2|rojê|'''$2''' rojên dawî}} de ji $3 şûnde tên nîşan dan.",
-'rclistfrom' => 'an jî guherandinên ji $1 şûnda nîşan bide.',
-'rcshowhideminor' => 'guherandinên biçûk $1',
-'rcshowhidebots' => "bot'an $1",
-'rcshowhideliu' => 'bikarhênerên qeydkirî $1',
-'rcshowhideanons' => 'bikarhênerên neqeydkirî (IP) $1',
+'rclistfrom' => 'Guherandinên ji $1 şûnde nîşan bide',
+'rcshowhideminor' => 'Guherandinên biçûk $1',
+'rcshowhidebots' => "Bot'an $1",
+'rcshowhideliu' => 'Bikarhênerên qeydkirî $1',
+'rcshowhideanons' => 'Bikarhênerên neqeydkirî (IP) $1',
'rcshowhidepatr' => '$1 guherandinên kontrolkirî',
-'rcshowhidemine' => 'guherandinên min $1',
+'rcshowhidemine' => 'Guherandinên min $1',
'rclinks' => '$1 guherandinên di $2 rojên dawî de nîşan bide<br />$3',
-'diff' => 'ciyawazî',
+'diff' => 'cudahî',
'hist' => 'dîrok',
'hide' => 'veşêre',
'show' => 'nîşan bide',
'reverted' => 'Hate şondabirin berve verzyonekî berê',
'deletecomment' => 'Sedem:',
'deleteotherreason' => 'Sedemekî din:',
-'deletereasonotherlist' => 'Sedemekî din',
+'deletereasonotherlist' => 'Sedema din',
'deletereason-dropdown' => '*Sedemên jêbirinê
** Daxwaziya xwedî
** Pirsgirêka lîsansê
# Namespace form on various pages
'namespace' => 'Valahiya nav:',
-'invert' => 'Hilbijardinê pêçewane bike',
+'invert' => 'Hemûyan bibîne',
'namespace_association' => 'Navê têkilîdar',
'blanknamespace' => '(Sereke)',
'contribslink' => 'beşdarî',
'emaillink' => 'e-name bişîne',
'autoblocker' => 'Otomatîk hat bestin jiberku IP-ya we û ya "[[User:$1|$1]]" yek in. Sedem: "\'\'\'$2\'\'\'"',
-'blocklogpage' => 'Astengkirina bikarhêner',
+'blocklogpage' => 'Astengkirina têketinê',
'blocklogentry' => '"[[$1]]" ji bo dema $2 $3 hatîye asteng kirin',
'blocklogtext' => "Ev reşahîyek ji astengkirinên û rakirina astengkirinên bikarhêneran ra ye. Adrêsên IP'yan, yê otomatîk hatine astengkirin, nehatine nivîsandin. [[Special:BlockList|Lîsteya IP'yên astengkirî]] bibîne ji bo dîtina astengkirinên IP'yan.",
'unblocklogentry' => 'astenga "$1" betalkir',
'file-info' => 'mezinbûnê data: $1, MIME-typ: $2',
'file-info-size' => '$1 × $2 pixel, mezinbûnê data: $3, MIME-typ: $4',
'file-nohires' => 'Versyonekî jê mezintir tune.',
-'svg-long-desc' => "Data'ya SVG, mezinbûna rast: $1 × $2 pixel; mezinbûna data'yê: $3",
+'svg-long-desc' => 'Daneya SVG, mezinbûna rast: $1 × $2 pixel; mezinbûna daneyê: $3',
'show-big-image' => 'Mezînbûn',
# Special:NewFiles
'variantname-ku' => 'disable',
# Metadata
-'metadata' => "Data'yên meta",
+'metadata' => 'Daneyên meta',
'metadata-expand' => 'Detayên dirêj nîşan bide',
'metadata-collapse' => 'Detayên dirêj veşêre',
'namespace' => array( '1', 'Nummraum', 'NAMENSRAUM', 'NAMESPACE' ),
'subjectspace' => array( '1', 'Haaptnummraum', 'HAUPTNAMENSRAUM', 'SUBJECTSPACE', 'ARTICLESPACE' ),
'subjectpagename' => array( '1', 'Haaptsäit', 'HAUPTSEITE', 'SUBJECTPAGENAME', 'ARTICLEPAGENAME' ),
- 'img_thumbnail' => array( '1', 'Miniatur', 'miniatur', 'thumbnail', 'thumb' ),
+ 'img_thumbnail' => array( '1', 'Miniatur', 'miniatur', 'mini', 'thumbnail', 'thumb' ),
'img_right' => array( '1', 'riets', 'rechts', 'right' ),
'img_left' => array( '1', 'lénks', 'links', 'left' ),
'img_none' => array( '1', 'ouni', 'ohne', 'none' ),
'img_frameless' => array( '1', 'net_gerummt', 'rahmenlos', 'frameless' ),
'img_page' => array( '1', 'Säit=$1', 'Säit_$1', 'seite=$1', 'seite $1', 'page=$1', 'page $1' ),
'img_border' => array( '1', 'bord', 'rand', 'border' ),
- 'img_top' => array( '1', 'uewen', 'top' ),
+ 'img_top' => array( '1', 'uewen', 'oben', 'top' ),
'grammar' => array( '0', 'GRAMMAIRE', 'GRAMMATIK:', 'GRAMMAR:' ),
'plural' => array( '0', 'PLURAL', 'PLURAL:' ),
'formatnum' => array( '0', 'ZUELEFORMAT', 'ZAHLENFORMAT', 'FORMATNUM' ),
'alllogstext' => "Dit is 't gecombineerd logbook ven {{SITENAME}}. De kins ouch 'n bepaald logbook keze, of filtere op gebroekersnaam of pazjena, beide huidlettergeveulig.",
'logempty' => "d'r Zeen gein regels in 't logbook die voldaon aan deze criteria.",
'log-title-wildcard' => "Zeuk pagina's die met deze naam beginne",
+'showhideselectedlogentries' => 'Tuin of verstaek geselecteerdje logbookregels',
# Special:AllPages
'allpages' => "Alle pagina's",
'emailccsubject' => '$1: $2 hnenah thawn bawk rawh',
'emailsent' => 'E-lehkha thawn a ni.',
'emailsenttext' => 'I e-lehkha thawn a ni.',
+'emailuserfooter' => 'Hë e-lehkha hi {{SITENAME}}-a "Hmangtu e-lehkha thawn rawh" tih hmanraw hmanga $1-in $2 a thawn a ni.',
# User Messenger
+'usermessage-summary' => 'Kháwlthuthawn a hnutchhiah e.',
'usermessage-editor' => 'Thuthawntu khawl',
# Watchlist
* @file
*
* @author Itsmine
+ * @author Justincheng12345
* @author Omnipaedista
* @author Shinjiman
*/
'''纂文若合,惠再之。如復不成,簿[[Special:UserLogout|重登]]焉。'''",
'token_suffix_mismatch' => "'''君修見拒,蓋因代理之故,亂事見兮。'''",
'editing' => '纂$1',
+'creating' => '撰$1',
'editingsection' => '纂節$1',
'editingcomment' => '贊$1',
'editconflict' => '纂沖$1',
'revdelete-uname-unhid' => 'ഉപയോക്തൃനാമം മറച്ചത് ഒഴിവാക്കിയിരിക്കുന്നു',
'revdelete-restricted' => 'കാര്യനിർവാഹകർക്ക് പ്രവർത്തന അതിരുകൾ ഏർപ്പെടുത്തിയിരിക്കുന്നു',
'revdelete-unrestricted' => 'കാര്യനിർവാഹകർക്ക് ഏർപ്പെടുത്തിയ പ്രവർത്തന അതിരുകൾ നീക്കം ചെയ്തിരിക്കുന്നു',
-'logentry-move-move' => '$1 à´\8eà´¨àµ\8dà´¨ à´\89പയàµ\8bà´\95àµ\8dതാവàµ\8d $3 à´\8eà´¨àµ\8dà´¨ താൾ $4 à´\86ക്കി മാറ്റിയിരിക്കുന്നു',
+'logentry-move-move' => '$1 à´\8eà´¨àµ\8dà´¨ à´\89പയàµ\8bà´\95àµ\8dതാവàµ\8d $3 à´\8eà´¨àµ\8dà´¨ താൾ $4 à´\8eà´¨àµ\8dനാക്കി മാറ്റിയിരിക്കുന്നു',
'logentry-move-move-noredirect' => '$3 എന്ന താൾ $4 എന്ന തലക്കെട്ടിലേയ്ക്ക് തിരിച്ചുവിടലില്ലാതെ $1 മാറ്റി',
'logentry-move-move_redir' => '$1, $3 എന്ന താൾ $4 എന്ന താളിനുമുകളിലേയ്ക്ക് മാറ്റിയിരിക്കുന്നു',
'logentry-move-move_redir-noredirect' => '$1, $3 എന്ന താൾ $4 എന്ന താളിനുമുകളിലേയ്ക്ക്, തിരിച്ചുവിടൽ ഇല്ലാതെ മാറ്റിയിരിക്കുന്നു',
'FileDuplicateSearch' => array( 'दुहेरी_संचिका_शोध' ),
'Filepath' => array( 'संचिकेचा_पत्ता_(पाथ)' ),
'Import' => array( 'आयात' ),
- 'Invalidateemail' => array( 'अग्राह्य_विपत्र', 'चूकदिनांकविपत्र' ),
+ 'Invalidateemail' => array( 'अग्राह्य_विपत्र' ),
'BlockList' => array( 'प्रतिबंधन_सुची' ),
'LinkSearch' => array( 'दुवाशोध' ),
'Listadmins' => array( 'प्रबंधकांची_यादी' ),
'Prefixindex' => array( 'उपसर्गसुची' ),
'Protectedpages' => array( 'सुरक्षित_पाने' ),
'Protectedtitles' => array( 'सुरक्षित_शीर्षके' ),
- 'Randompage' => array( 'कोणतेही', 'कोणतेही_पृष्ठ', 'अविशिष्ट', 'अविशिष्ट_पृष्ठ' ),
+ 'Randompage' => array( 'कोणतेही', 'कोणतेही_पृष्ठ' ),
'Randomredirect' => array( 'अविशिष्ट_पुर्ननिर्देशन' ),
'Recentchanges' => array( 'अलीकडील_बदल' ),
'Recentchangeslinked' => array( 'सांधलेलेअलिकडीलबदल' ),
'Wantedfiles' => array( 'संचिका_हवी' ),
'Wantedpages' => array( 'हवे_असलेले_लेख' ),
'Wantedtemplates' => array( 'साचा_हवा' ),
- 'Watchlist' => array( 'नित्य_पहाण्याची_सूची', 'पहार्याची_सूची' ),
+ 'Watchlist' => array( 'नित्य_पहाण्याची_सूची' ),
'Whatlinkshere' => array( 'येथे_काय_जोडले_आहे' ),
'Withoutinterwiki' => array( 'आंतरविकि_शिवाय' ),
);
);
$magicWords = array(
- 'redirect' => array( '0', '#بور', '#تغییرمسیر', '#REDIRECT' ),
+ 'redirect' => array( '0', '#بور', '#تغییرمسیر', '#تغییر_مسیر', '#REDIRECT' ),
'notoc' => array( '0', '__بیفهرست__', '__NOTOC__' ),
'nogallery' => array( '0', '__بینگارخنه__', '__بینگارخانه__', '__NOGALLERY__' ),
'forcetoc' => array( '0', '__بافهرست__', '__FORCETOC__' ),
'allmessages-filter-all' => 'همه',
# Thumbnails
-'thumbnail-more' => 'گت بأوه',
+'thumbnail-more' => 'گت بوو',
# Special:Import
'import-interwiki-submit' => 'بیاردن',
$magicWords = array(
'redirect' => array( '0', '#wiederleiden', '#WEITERLEITUNG', '#REDIRECT' ),
- 'notoc' => array( '0', '__KEENINHOLTVERTEKEN__', '__KEIN_INHALTSVERZEICHNIS__', '__NOTOC__' ),
+ 'notoc' => array( '0', '__KEENINHOLTVERTEKEN__', '__KEIN_INHALTSVERZEICHNIS__', '__KEININHALTSVERZEICHNIS__', '__NOTOC__' ),
'forcetoc' => array( '0', '__WIESINHOLTVERTEKEN__', '__INHALTSVERZEICHNIS_ERZWINGEN__', '__FORCETOC__' ),
'toc' => array( '0', '__INHOLTVERTEKEN__', '__INHALTSVERZEICHNIS__', '__TOC__' ),
'noeditsection' => array( '0', '__KEENÄNNERNLINK__', '__ABSCHNITTE_NICHT_BEARBEITEN__', '__NOEDITSECTION__' ),
'pagename' => array( '1', 'SIETNAAM', 'SEITENNAME', 'PAGENAME' ),
'pagenamee' => array( '1', 'SIETNAAME', 'SEITENNAME_URL', 'PAGENAMEE' ),
'namespace' => array( '1', 'NAAMRUUM', 'NAMENSRAUM', 'NAMESPACE' ),
- 'img_thumbnail' => array( '1', 'duum', 'miniatur', 'thumbnail', 'thumb' ),
+ 'img_thumbnail' => array( '1', 'duum', 'miniatur', 'mini', 'thumbnail', 'thumb' ),
'img_right' => array( '1', 'rechts', 'right' ),
'img_left' => array( '1', 'links', 'left' ),
'img_none' => array( '1', 'keen', 'ohne', 'none' ),
'sitename' => array( '1', 'STEEDNAAM', 'PROJEKTNAME', 'SITENAME' ),
'ns' => array( '0', 'NR:', 'NS:' ),
'localurl' => array( '0', 'STEEDURL:', 'LOKALE_URL:', 'LOCALURL:' ),
- 'localurle' => array( '0', 'STEEDURLE:', 'LOCALURLE:' ),
+ 'localurle' => array( '0', 'STEEDURLE:', 'LOKALE_URL_C:', 'LOCALURLE:' ),
'grammar' => array( '0', 'GRAMMATIK:', 'GRAMMAR:' ),
);
'pagenamee' => array( '1', 'PAGINANAAME', 'PAGENAMEE' ),
'namespace' => array( '1', 'NAAMRUIMTE', 'NAMESPACE' ),
'namespacee' => array( '1', 'NAAMRUIMTEE', 'NAMESPACEE' ),
+ 'namespacenumber' => array( '1', 'NAAMRUIMTENUMMER', 'NAMESPACENUMBER' ),
'talkspace' => array( '1', 'OVERLEGRUIMTE', 'TALKSPACE' ),
'talkspacee' => array( '1', 'OVERLEGRUIMTEE', 'TALKSPACEE' ),
'subjectspace' => array( '1', 'ONDERWERPRUIMTE', 'ARTIKELRUIMTE', 'SUBJECTSPACE', 'ARTICLESPACE' ),
'padleft' => array( '0', 'LINKSOPVULLEN', 'PADLEFT' ),
'padright' => array( '0', 'RECHTSOPVULLEN', 'PADRIGHT' ),
'special' => array( '0', 'speciaal', 'special' ),
+ 'speciale' => array( '0', 'speciaale', 'speciale' ),
'defaultsort' => array( '1', 'STANDAARDSORTERING:', 'DEFAULTSORT:', 'DEFAULTSORTKEY:', 'DEFAULTCATEGORYSORT:' ),
'filepath' => array( '0', 'BESTANDSPAD:', 'FILEPATH:' ),
'tag' => array( '0', 'label', 'tag' ),
U kunt ook kiezen voor specifieke logboeken en filteren op gebruiker (hoofdlettergevoelig) en paginanaam (hoofdlettergevoelig).',
'logempty' => 'Er zijn geen regels in het logboek die voldoen aan deze criteria.',
'log-title-wildcard' => "Pagina's zoeken die met deze tekens beginnen",
+'showhideselectedlogentries' => 'Geselecteerde logboekregels weergeven of verbergen',
# Special:AllPages
'allpages' => "Alle pagina's",
'Категорийы_тыххæй_дискусси' => NS_CATEGORY_TALK,
);
+$specialPageAliases = array(
+ 'Recentchanges' => array( 'Фæстаг_ивдтытæ' ),
+);
+
+
$magicWords = array(
'redirect' => array( '0', '#РАРВЫСТ', '#перенаправление', '#перенапр', '#REDIRECT' ),
'img_right' => array( '1', 'рахиз', 'справа', 'right' ),
'watchlisttools-edit' => 'Бакæсын æмæ ивын цæстдард рæгъ',
'watchlisttools-raw' => 'Ивын цæстдард рæгъы бындуртекст',
+# Signatures
+'signature' => '[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|ныхас]])',
+
# Core parser functions
'duplicate-defaultsort' => '\'\'\'Сындæг:\'\'\' Разæвæрд сортгæнæн амонæн "$2" раздæры разæвæрд амонæн "$1"-ы бæсты лæууы.',
'revdelete-uname-unhid' => 'wycofano ukrycie nazwy użytkownika',
'revdelete-restricted' => 'ograniczono widoczność dla administratorów',
'revdelete-unrestricted' => 'wycofano ograniczenie widoczności dla administratorów',
-'logentry-move-move' => '$1 przenosi stronę $3 na $4',
+'logentry-move-move' => '$1 przenosi stronę $3 do $4',
'logentry-move-move-noredirect' => '$1 przenosi stronę $3 na $4, bez pozostawienia przekierowania pod starym tytułem',
'logentry-move-move_redir' => '$1 przenosi stronę $3 na $4 w miejsce przekierowania',
'logentry-move-move_redir-noredirect' => '$1 przenosi stronę $3 na $4 w miejsce przekierowania i bez pozostawienia przekierowania pod starym tytułem',
'''Nòta:''' la possibilità d'esporté la stòria completa dle pàgine a l'é staita gavà për dle question corelà a le prestassion dël sistema.",
'exportlistauthors' => 'Anclude na lista completa dij contributor për minca pàgina',
'export-submit' => 'Esporté',
-'export-addcattext' => "Gionta pàgine da 'nt la categorìa:",
-'export-addcat' => 'Gionta',
-'export-addnstext' => 'Gionta pàgine dal namespace',
-'export-addns' => 'Gionta',
+'export-addcattext' => "Gionté le pàgine da 'nt la categorìa:",
+'export-addcat' => 'Gionté',
+'export-addnstext' => 'Gionté dle pàgine da lë spassi nominal:',
+'export-addns' => 'Gionté',
'export-download' => 'Ciamé dë salvelo coma archivi',
'export-templates' => 'Ciapa andrinta jë stamp',
'export-pagelinks' => 'Anseriss pàgine colegà a na përfondità ëd:',
'prefs-beta' => 'Características beta',
'prefs-datetime' => 'Data e hora',
'prefs-labs' => 'Características de laboratório',
+'prefs-user-pages' => 'Páginas de usuário',
'prefs-personal' => 'Perfil de usuário',
'prefs-rc' => 'Mudanças recentes',
'prefs-watchlist' => 'Lista de páginas vigiadas',
Você pode diminuir a lista escolhendo um tipo de registro, um nome de usuário (sensível a maiúsculas e minúsculas), ou uma página afetada (também sensível a maiúsculas e minúsculas).',
'logempty' => 'Nenhum item idêntico no registro.',
'log-title-wildcard' => 'Procurar por títulos que sejam iniciados com o seguinte texto',
+'showhideselectedlogentries' => 'Exibir/ocultar os itens de registros selecionados',
# Special:AllPages
'allpages' => 'Todas as páginas',
'unwatching' => 'Text displayed when clicked on the unwatch tab: [[MediaWiki:Unwatch/{{SUBPAGENAME}}|{{int:unwatch}}]]. It means the wiki is removing that page from your watchlist.',
'watcherrortext' => 'When a user clicked the watch/unwatch tab and the action did not succeed, this message is displayed. See also {{msg|addedwatchtext}}. and {{msg|addedwatchtext}}. This message is used raw and should not contain wikitext.',
+'enotif_reset' => "This should be translated as \"Mark all pages '''as''' visited\".",
'enotif_newpagetext' => 'Part of text of a notification e-mail sent when a watched page has been created. See [[File:Screenshot_MediaWiki_e-mail_notifier.PNG|150px|right]]',
'changed' => 'Possible value for $CHANGEDORCREATED in {{msg|enotif_subject}} and {{msg|enotif_body}}.',
'created' => 'Possible value for $CHANGEDORCREATED in {{msg|enotif_subject}} and {{msg|enotif_body}}.',
'Withoutinterwiki' => array( 'Interwikinnaq', 'Wikipurannaq' ),
);
-#!!# Translation <b>HORA_ACTUAL</b> is used more than once for <a href="#mw-sp-magic-currenttime">currenttime</a> and <a href="#mw-sp-magic-currenthour">currenthour</a>.
-#!!# Translation <b>HORAACTUAL</b> is used more than once for <a href="#mw-sp-magic-currenttime">currenttime</a> and <a href="#mw-sp-magic-currenthour">currenthour</a>.
-#!!# Translation <b>HORALOCAL</b> is used more than once for <a href="#mw-sp-magic-localtime">localtime</a> and <a href="#mw-sp-magic-localhour">localhour</a>.
$magicWords = array(
'redirect' => array( '0', '#PUSAPUNA', '#REDIRECCIÓN', '#REDIRECCION', '#REDIRECT' ),
'notoc' => array( '0', '__YUYARINANNAQ__', '__NOTDC__', '__NOTOC__' ),
'currentdayname' => array( '1', 'KUNANPUNCHAWSUTI', 'NOMBREDÍAACTUAL', 'NOMBREDIAACTUAL', 'CURRENTDAYNAME' ),
'currentyear' => array( '1', 'KUNANWATA', 'AÑOACTUAL', 'AÑO_ACTUAL', 'CURRENTYEAR' ),
'currenttime' => array( '1', 'KUNANPACHA', 'HORAACTUAL', 'HORA_ACTUAL', 'HORA_MINUTOS_ACTUAL', 'HORAMINUTOSACTUAL', 'TIEMPOACTUAL', 'CURRENTTIME' ),
- 'currenthour' => array( '1', 'KUNANURA', 'HORA_ACTUAL', 'HORAACTUAL', 'HORA_MINUTOS_ACTUAL', 'HORAMINUTOSACTUAL', 'CURRENTHOUR' ),
+ 'currenthour' => array( '1', 'KUNANURA', 'CURRENTHOUR' ),
'localmonth' => array( '1', 'KAYPIKILLA', 'MESLOCAL', 'MESLOCAL2', 'LOCALMONTH', 'LOCALMONTH2' ),
'localmonthname' => array( '1', 'KAYPIKILLASUTI', 'NOMBREMESLOCAL', 'MESLOCALCOMPLETO', 'LOCALMONTHNAME' ),
'localmonthnamegen' => array( '1', 'KAYPIKILLASUTIP', 'GENERADORNOMBREMESLOCAL', 'MESLOCALGENITIVO', 'LOCALMONTHNAMEGEN' ),
'localdayname' => array( '1', 'KAYPIPUNCHAWSUTI', 'NOMBREDIALOCAL', 'NOMBREDÍALOCAL', 'LOCALDAYNAME' ),
'localyear' => array( '1', 'KAYPIWATA', 'AÑOLOCAL', 'LOCALYEAR' ),
'localtime' => array( '1', 'KAYPIPACHA', 'HORALOCAL', 'HORAMINUTOSLOCAL', 'TIEMPOLOCAL', 'LOCALTIME' ),
- 'localhour' => array( '1', 'KAYPIURA', 'HORALOCAL', 'HORAMINUTOSLOCAL', 'LOCALHOUR' ),
+ 'localhour' => array( '1', 'KAYPIURA', 'LOCALHOUR' ),
'numberofpages' => array( '1', 'HAYKAPANQA', 'NÚMERODEPÁGINAS', 'NUMERODEPAGINAS', 'NUMBEROFPAGES' ),
'numberofarticles' => array( '1', 'HAYKAQILLQA', 'NÚMERODEARTÍCULOS', 'NUMERODEARTICULOS', 'NUMBEROFARTICLES' ),
'numberoffiles' => array( '1', 'HAYKAWILLANIQI', 'NÚMERODEARCHIVOS', 'NUMERODEARCHIVOS', 'NUMBEROFFILES' ),
'CreateAccount' => array( 'Создать_учётную_запись', 'Создать_пользователя', 'Зарегистрироваться' ),
'Deadendpages' => array( 'Тупиковые_страницы' ),
'DeletedContributions' => array( 'Удалённый_вклад' ),
- 'Disambiguations' => array( 'Неоднозначные_ссылки' ),
+ 'Disambiguations' => array( 'Неоднозначности' ),
'DoubleRedirects' => array( 'Двойные_перенаправления' ),
'EditWatchlist' => array( 'Править_список_наблюдения' ),
- 'Emailuser' => array( 'Письмо', 'Письмо_участнику', 'Отправить_письмо' ),
+ 'Emailuser' => array( 'Письмо_участнику', 'Отправить_письмо' ),
'Export' => array( 'Экспорт', 'Выгрузка' ),
'FileDuplicateSearch' => array( 'Поиск_дубликатов_файлов' ),
'Filepath' => array( 'Путь_к_файлу' ),
'Listadmins' => array( 'Список_администраторов' ),
'Listbots' => array( 'Список_ботов' ),
'Listfiles' => array( 'Список_файлов', 'Список_изображений' ),
- 'Listgrouprights' => array( 'СпиÑ\81ок_пÑ\80ав_гÑ\80Ñ\83пп', 'Ð\9fÑ\80ава_гÑ\80Ñ\83пп_Ñ\83Ñ\87аÑ\81Ñ\82ников' ),
+ 'Listgrouprights' => array( 'Ð\9fÑ\80ава_гÑ\80Ñ\83пп_Ñ\83Ñ\87аÑ\81Ñ\82ников', 'СпиÑ\81ок_пÑ\80ав_гÑ\80Ñ\83пп' ),
'Listredirects' => array( 'Список_перенаправлений' ),
'Listusers' => array( 'Список_участников' ),
'Lockdb' => array( 'Заблокировать_БД', 'Заблокировать_базу_данных' ),
'Log' => array( 'Журналы', 'Журнал' ),
'Lonelypages' => array( 'Изолированные_страницы' ),
'Longpages' => array( 'Длинные_страницы' ),
- 'MergeHistory' => array( 'Ð\9eбÑ\8aединение_иÑ\81Ñ\82оÑ\80ии' ),
+ 'MergeHistory' => array( 'Ð\9eбÑ\8aединение_иÑ\81Ñ\82оÑ\80ий' ),
'MIMEsearch' => array( 'Поиск_по_MIME' ),
'Mostimages' => array( 'Самые_используемые_файлы' ),
'Movepage' => array( 'Переименовать_страницу', 'Переименование', 'Переименовать' ),
'Preferences' => array( 'Настройки' ),
'Protectedpages' => array( 'Защищённые_страницы' ),
'Protectedtitles' => array( 'Защищённые_названия' ),
- 'Randompage' => array( 'Случаная_страница', 'Случайная' ),
+ 'Randompage' => array( 'СлÑ\83Ñ\87айнаÑ\8f_Ñ\81Ñ\82Ñ\80аниÑ\86а', 'СлÑ\83Ñ\87айнаÑ\8f' ),
'Recentchanges' => array( 'Свежие_правки' ),
'Recentchangeslinked' => array( 'Связанные_правки' ),
+ 'Revisiondelete' => array( 'Удаление_правки' ),
'Search' => array( 'Поиск' ),
'Shortpages' => array( 'Короткие_страницы' ),
'Specialpages' => array( 'Спецстраницы' ),
'Uncategorizedimages' => array( 'Некатегоризованные_файлы' ),
'Uncategorizedpages' => array( 'Некатегоризованные_страницы' ),
'Uncategorizedtemplates' => array( 'Некатегоризованные_шаблоны' ),
+ 'Undelete' => array( 'Восстановить', 'Восстановление' ),
'Unusedcategories' => array( 'Неиспользуемые_категории' ),
'Unusedimages' => array( 'Неиспользуемые_файлы' ),
'Unusedtemplates' => array( 'Неиспользуемые_шаблоны' ),
'Upload' => array( 'Загрузка' ),
'UploadStash' => array( 'Скрытная_загрузка' ),
- 'Userlogin' => array( 'Вход', 'Авторизация' ),
- 'Userlogout' => array( 'Ð\92Ñ\8bÑ\85од', 'Ð\97авеÑ\80Ñ\88ение_Ñ\81еанÑ\81а' ),
+ 'Userlogin' => array( 'Вход' ),
+ 'Userlogout' => array( 'Ð\97авеÑ\80Ñ\88ение_Ñ\81еанÑ\81а', 'Ð\92Ñ\8bÑ\85од' ),
'Userrights' => array( 'Управление_правами' ),
'Version' => array( 'Версия' ),
'Wantedcategories' => array( 'Требуемые_категории' ),
'Wantedtemplates' => array( 'Требуемые_шаблоны' ),
'Watchlist' => array( 'Список_наблюдения' ),
'Whatlinkshere' => array( 'Ссылки_сюда' ),
+ 'Withoutinterwiki' => array( 'Без_интервики' ),
);
$magicWords = array(
<?php
-/** Sakha (Саха тыла)
+/** Sakha (саха тыла)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
*
* @author Andrijko Z.
* @author Bert Jickty
+ * @author Gartem
* @author HalanTul
* @author Kaganer
* @author Meno25
'note' => "'''Хос быһаарыы:'''",
'previewnote' => "'''Бу барыллаан көрүү эрэ.'''
Атын уларытыы бигэргэтиллэ илик!",
+'continue-editing' => 'Уларытыыны ситэр',
'previewconflict' => 'Этот предварительный просмотр отражает текст в верхнем окне редактирования так, как он будет выглядеть, если вы решите записать его.',
'session_fail_preview' => "'''Сиэрбэр сессия идентификаторын сүтэрэн кэбиһэн эн уларытыыгын кыайан киллэрбэтэ.
Өссө холонон көр.
# Suppression log
'suppressionlog' => 'Кистээһин сурунаала',
'suppressionlogtext' => 'Аллара даһабылларга көстүбэти таарыйар сотуулар уонна хааччахтааһыннар тиһиктэрэ бэриллэр.
-Билигин баар хааччахтары көрөргө [[Special:BlockList|IP хааччахтааһынын тиһигэр]] киир.',
+Билигин баар хааччахтары көрөргө [[Special:BlockList|хааччахтааһынын тиһигэр]] киир.',
# History merging
'mergehistory' => 'Силбэһии сирэйин хронологията',
'allpagesbadtitle' => 'Сирэй маннык ааттанара сатаммат: аакка туттуллуо суохтаах бэлиэлэрдээх эбэтэр тыллар ыккардыларыгар туһаныллар ыйынньыктаах.',
'allpages-bad-ns' => '{{SITENAME}} не содержит пространства имён «$1».',
+# SpecialCachedPage
+'cachedspecial-refresh-now' => 'Бутэhиги кор.',
+
# Special:Categories
'categories' => 'Категориялар',
'categoriespagetext' => 'Бу {{PLURAL:$1|категория иһигэр|категориялар истэригэр}} сирэйдэр эбэтэр медиа-билэлэр бааллар.
);
$specialPageAliases = array(
+ 'Allmessages' => array( 'Buot_vuogádatdieđahusat' ),
+ 'Allpages' => array( 'Buot_siiddut' ),
+ 'Ancientpages' => array( 'Boarrásamos_siiddut' ),
+ 'Block' => array( 'Cagge_geavaheaddji' ),
+ 'Booksources' => array( 'Girjegáldut' ),
+ 'Categories' => array( 'Kategoriijat' ),
+ 'Contributions' => array( 'Geavaheaddji_rievdadusat' ),
+ 'Disambiguations' => array( 'Liŋkkat_dárkonsiidduide' ),
+ 'DoubleRedirects' => array( 'Guoktegeardásaš_ođđasitstivremat' ),
+ 'Export' => array( 'Olggosfievrrit_siidduid' ),
+ 'Listfiles' => array( 'Fiilalogahallan' ),
+ 'Listredirects' => array( 'Listu_ođđasitstivrejumiiguin' ),
+ 'Listusers' => array( 'Listu_geavaheddjiin' ),
+ 'Log' => array( 'Loggat' ),
+ 'Lonelypages' => array( 'Oarbbes_siiddut' ),
+ 'Longpages' => array( 'Guhkes_siiddut' ),
+ 'MIMEsearch' => array( 'MIME-ohcan' ),
+ 'Newimages' => array( 'Ođđa_govat' ),
+ 'Newpages' => array( 'Ođđa_siiddut' ),
+ 'Preferences' => array( 'Válljemat' ),
+ 'Protectedpages' => array( 'Suodjáluvvon_siiddut' ),
+ 'Randompage' => array( 'Summal_siidu' ),
+ 'Randomredirect' => array( 'Summal_ođđasitstivren' ),
'Recentchanges' => array( 'Varas_rievdadusat' ),
+ 'Search' => array( 'Oza' ),
+ 'Shortpages' => array( 'Oanehis_siiddut' ),
+ 'Specialpages' => array( 'Erenomáš_siiddut' ),
+ 'Statistics' => array( 'Statistihkat' ),
+ 'Uncategorizedcategories' => array( 'Klassifiserekeahtes_kategoriijat' ),
+ 'Uncategorizedimages' => array( 'Klassifiserekeahtes_govat' ),
+ 'Uncategorizedpages' => array( 'Klassifiserekeahtes_siiddut' ),
+ 'Uncategorizedtemplates' => array( 'Klassifiserekeahtes_mállevuođut' ),
+ 'Unusedcategories' => array( 'Geavatkeahtes_lágit' ),
+ 'Unusedimages' => array( 'Geavatkeahtes_govat' ),
+ 'Unusedtemplates' => array( 'Geavatkeahtes_mállevuođut' ),
+ 'Unwatchedpages' => array( 'Čuovvotkeahtes_siiddut' ),
+ 'Upload' => array( 'Sádde_fiilla' ),
+ 'Version' => array( 'Veršuvdna' ),
+ 'Wantedcategories' => array( 'Kategoriijasávaldagat' ),
+ 'Wantedpages' => array( 'Siidusávaldagat' ),
+ 'Watchlist' => array( 'Čuovvunlistu' ),
+);
+
+$magicWords = array(
+ 'redirect' => array( '0', '#OĐĐASITSTIVREN', '#STIVREN', '#REDIRECT' ),
+ 'numberofarticles' => array( '1', 'ARTIHKKALIIDMEARRI', 'NUMBEROFARTICLES' ),
);
$linkTrail = '/^(:?[a-zàáâçčʒǯđðéèêëǧǥȟíìîïıǩŋñóòôõßšŧúùûýÿüžþæøåäö]+)(.*)$/sDu';
'mainpage' => 'මුල් පිටුව',
'mainpage-description' => 'මුල් පිටුව',
'policy-url' => 'Project:ප්රතිපත්තිය',
-'portal' => 'පà·\8aâ\80\8dරජà·\8f පà·\92à·\80à·\92à·\83à·\94ම',
-'portal-url' => 'Project:පà·\8aâ\80\8dරජà·\8f පà·\92à·\80à·\92à·\83à·\94ම',
+'portal' => 'පà·\8aâ\80\8dරජà·\8f දà·\8aà·\80à·\8fරය',
+'portal-url' => 'Project:පà·\8aâ\80\8dරජà·\8f දà·\8aà·\80à·\8fරය',
'privacy' => 'පුද්ගලිකත්ව ප්රතිපත්තිය',
'privacypage' => 'Project:පුද්ගලිකත්ව ප්රතිපත්තිය',
'timezoneuseserverdefault' => 'විකියෙහි සාමාන්ය විදිහ භාවිත කරන්න ($1)',
'timezoneuseoffset' => 'වෙනත් (හිලව්ව නියමාකාරයෙන් දක්වන්න)',
'timezoneoffset' => 'Offset¹:',
-'servertime' => "ස'වරයේ වේලාව:",
+'servertime' => 'සේවාදායකයේ වේලාව:',
'guesstimezone' => 'බ්රවුසරයෙන් පුරවන්න',
'timezoneregion-africa' => 'අප්රිකාව',
'timezoneregion-america' => 'අමෙරිකාව',
'numberofpages' => array( '1', 'NUMRIFAQEVE', 'NUMBEROFPAGES' ),
'numberofarticles' => array( '1', 'NUMRIIARTIKUJVE', 'NUMBEROFARTICLES' ),
'numberoffiles' => array( '1', 'NUMRIISKEDAVE', 'NUMBEROFFILES' ),
- 'numberofusers' => array( '1', 'NUMRIIPËRDORUESVE', 'NUMRIPËRDORUESVE', 'NUMBEROFUSERS' ),
+ 'numberofusers' => array( '1', 'NUMRIIPËRDORUESVE', 'NUMBEROFUSERS' ),
'numberofactiveusers' => array( '1', 'NUMRIIPËRDORUESVEAKTIVË', 'NUMBEROFACTIVEUSERS' ),
'numberofedits' => array( '1', 'NUMRIREDAKTIMEVE', 'NUMBEROFEDITS' ),
'numberofviews' => array( '1', 'NUMRIISHIKIMEVE', 'NUMBEROFVIEWS' ),
<?php
-/** Толышә зывон (Толышә зывон)
+/** толышә зывон (толышә зывон)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
'prefsnologintext' => 'Шымә бәбе <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} ыштәни едәштән]</span> бо иштирокәкә пеғәндон дәгиш кардеј.',
'changepassword' => 'Пароли дәгиш кардеј',
'skin-preview' => 'Сыфтәнә нишо дој',
-'prefs-rc' => 'Ән нуә дәгишон',
+'prefs-rc' => 'Ән нујә дәгишон',
'prefs-changeemail' => 'Е-номә дәгиш кардеј',
'saveprefs' => 'Огәте',
'searchresultshead' => 'Нәве',
* @author Тест
*/
-/**
- * УВАГА! НЕ РЕДАГУЙТЕ ЦЕЙ ФАЙЛ!
- *
- * Якщо необхідно змінити переклад окремих частин інтерфейсу,
- * то це можна зробити редагуючи сторінки типу «MediaWiki:*».
- * Їх список можна знайти на сторінці «Special:Allmessages».
- */
-
$separatorTransformTable = array(
',' => "\xc2\xa0", # nbsp
'.' => ','
'Amazon.com' => 'http://www.amazon.com/exec/obidos/ISBN=$1'
);
+$specialPageAliases = array(
+ 'Activeusers' => array( 'Активні_учасники' ),
+ 'Allmessages' => array( 'Системні_повідомлення' ),
+ 'Allpages' => array( 'Усі_сторінки' ),
+ 'Ancientpages' => array( 'Давні_сторінки' ),
+ 'Blankpage' => array( 'Порожня_сторінка' ),
+ 'Block' => array( 'Заблокувати' ),
+ 'Blockme' => array( 'Заблокуйте_мене' ),
+ 'Booksources' => array( 'Джерела_книг' ),
+ 'BrokenRedirects' => array( 'Розірвані_перенаправлення' ),
+ 'Categories' => array( 'Категорії' ),
+ 'ChangeEmail' => array( 'Змінити_e-mail' ),
+ 'ChangePassword' => array( 'Змінити_пароль' ),
+ 'ComparePages' => array( 'Порівняння_сторінок' ),
+ 'Confirmemail' => array( 'Підтвердити_e-mail' ),
+ 'Contributions' => array( 'Внесок' ),
+ 'CreateAccount' => array( 'Створити_обліковий_запис' ),
+ 'Deadendpages' => array( 'Сторінки_без_посилань' ),
+ 'DeletedContributions' => array( 'Вилучений_внесок' ),
+ 'Disambiguations' => array( 'Неоднозначні_посилання' ),
+ 'DoubleRedirects' => array( 'Подвійні_перенаправлення' ),
+ 'EditWatchlist' => array( 'Правити_список_спостереження' ),
+ 'Emailuser' => array( 'Лист_користувачеві' ),
+ 'Export' => array( 'Експорт' ),
+ 'FileDuplicateSearch' => array( 'Пошук_дублікатів_файлів' ),
+ 'Import' => array( 'Імпорт' ),
+ 'BlockList' => array( 'Список_блокувань', 'Блокування', 'Блокування_IP-адрес' ),
+ 'LinkSearch' => array( 'Пошук_посилань' ),
+ 'Listadmins' => array( 'Список_адміністраторів' ),
+ 'Listbots' => array( 'Список_ботів' ),
+ 'Listfiles' => array( 'Список_файлів' ),
+ 'Listgrouprights' => array( 'Список_прав_груп', 'Права_груп_користувачів' ),
+ 'Listredirects' => array( 'Список_перенаправлень' ),
+ 'Listusers' => array( 'Список_користувачів' ),
+ 'Lockdb' => array( 'Заблокувати_базу_даних' ),
+ 'Log' => array( 'Журнали' ),
+ 'Lonelypages' => array( 'Ізольовані_сторінки' ),
+ 'Longpages' => array( 'Найдовші_сторінки' ),
+ 'MergeHistory' => array( 'Об\'єднання_історії' ),
+ 'MIMEsearch' => array( 'Пошук_по_MIME' ),
+ 'Mostimages' => array( 'Найбільш_використовувані_файли' ),
+ 'Movepage' => array( 'Перейменувати' ),
+ 'Mycontributions' => array( 'Мій_внесок' ),
+ 'Mypage' => array( 'Моя_сторінка' ),
+ 'Mytalk' => array( 'Моє_обговорення' ),
+ 'Myuploads' => array( 'Мої_завантаження' ),
+ 'Newimages' => array( 'Нові_файли' ),
+ 'Newpages' => array( 'Нові_сторінки' ),
+ 'PermanentLink' => array( 'Постійне_посилання' ),
+ 'Popularpages' => array( 'Популярні_сторінки' ),
+ 'Preferences' => array( 'Налаштування' ),
+ 'Protectedpages' => array( 'Захищені_сторінки' ),
+ 'Protectedtitles' => array( 'Захищені_назви_сторінок' ),
+ 'Randompage' => array( 'Випадкова_сторінка' ),
+ 'Randomredirect' => array( 'Випадкове_перенаправлення' ),
+ 'Recentchanges' => array( 'Нещодавні_редагування' ),
+ 'Recentchangeslinked' => array( 'Пов\'язані_редагування' ),
+ 'Revisiondelete' => array( 'Перевірити_видалення' ),
+ 'Search' => array( 'Пошук' ),
+ 'Shortpages' => array( 'Короткі_сторінки' ),
+ 'Specialpages' => array( 'Спеціальні_сторінки' ),
+ 'Statistics' => array( 'Статистика' ),
+ 'Tags' => array( 'Мітки' ),
+ 'Unblock' => array( 'Розблокувати' ),
+ 'Uncategorizedcategories' => array( 'Некатегоризовані_категорії' ),
+ 'Uncategorizedimages' => array( 'Некатегоризовані_файли' ),
+ 'Uncategorizedpages' => array( 'Некатегоризовані_сторінки' ),
+ 'Uncategorizedtemplates' => array( 'Некатегоризовані_шаблони' ),
+ 'Undelete' => array( 'Відновити' ),
+ 'Unlockdb' => array( 'Розблокувати_базу_даних' ),
+ 'Unusedcategories' => array( 'Порожні_категорії' ),
+ 'Unusedimages' => array( 'Невикористовувані_файли' ),
+ 'Unusedtemplates' => array( 'Невикористовувані_шаблони' ),
+ 'Unwatchedpages' => array( 'Сторінки_за_якими_не_спостерігають' ),
+ 'Upload' => array( 'Завантаження' ),
+ 'UploadStash' => array( 'Приховане_завантаження' ),
+ 'Userlogin' => array( 'Вхід' ),
+ 'Userlogout' => array( 'Вихід' ),
+ 'Userrights' => array( 'Керування_правами_користувачів' ),
+ 'Version' => array( 'Версія' ),
+ 'Wantedcategories' => array( 'Потрібні_категорії' ),
+ 'Wantedfiles' => array( 'Потрібні_файли' ),
+ 'Wantedpages' => array( 'Потрібні_сторінки' ),
+ 'Wantedtemplates' => array( 'Потрібні_шаблони' ),
+ 'Watchlist' => array( 'Список_спостереження' ),
+ 'Whatlinkshere' => array( 'Посилання_сюди' ),
+);
+
$magicWords = array(
'redirect' => array( '0', '#ПЕРЕНАПРАВЛЕННЯ', '#ПЕРЕНАПР', '#перенапр', '#перенаправление', '#REDIRECT' ),
'notoc' => array( '0', '__БЕЗ_ЗМІСТУ__', '__БЕЗ_ОГЛАВЛЕНИЯ__', '__БЕЗ_ОГЛ__', '__NOTOC__' ),
Пам'ятайте, що користувацькі .css та .js сторінки повинні мати назву, що складається лише з малих літер, наприклад «{{ns:user}}:Хтось/vector.css», а не «{{ns:user}}:Хтось/Vector.css».",
'updated' => '(Оновлена)',
'note' => "'''Зауваження:'''",
-'previewnote' => "'''Ð\9fам'Ñ\8fÑ\82айÑ\82е, Ñ\89о Ñ\86е лише попередній перегляд.'''
-Ð\92аÑ\88Ñ\96 змÑ\96ни Ñ\89е не бÑ\83ли збеÑ\80еженÑ\96!",
+'previewnote' => "'''Це лише попередній перегляд.'''
+Ð\92аÑ\88Ñ\96 змÑ\96ни Ñ\89е не збеÑ\80ежено!",
'continue-editing' => 'Продовжити редагування',
'previewconflict' => 'Цей попередній перегляд відображає текст з верхнього вікна редагування так, як він буде виглядіти, якщо ви вирішите зберегти його.',
'session_fail_preview' => "'''Система не може зберегти ваші редагування, оскільки втрачені дані сеансу. Будь ласка, повторіть вашу спробу.
# Diffs
'history-title' => '$1: Історія змін',
'difference-title' => '$1: Відмінності між версіями',
-'difference-title-multipage' => '$1 і $2: Відмінності між сторінками',
+'difference-title-multipage' => 'Різниця між сторінками «$1» та «$2»',
'difference-multipage' => '(Різниця між сторінками)',
'lineno' => 'Рядок $1:',
'compareselectedversions' => 'Порівняти вибрані версії',
'recentchangeslinked-title' => "Пов'язані редагування для «$1»",
'recentchangeslinked-noresult' => "На пов'язаних сторінках не було змін протягом зазначеного періоду.",
'recentchangeslinked-summary' => "Це список нещодавніх змін на сторінках, на які посилається зазначена сторінка (або на сторінках, що містяться в цій категорії).
-Сторінки з [[Special:Watchlist|вашого списку спостереження]] виділені '''жирним шрифтом'''.",
+Сторінки з [[Special:Watchlist|вашого списку спостереження]] виділено '''жирним шрифтом'''.",
'recentchangeslinked-page' => 'Назва сторінки:',
'recentchangeslinked-to' => "Показати зміни на сторінках, пов'язаних з даною",
'watchnologin' => 'Ви не ввійшли до системи',
'watchnologintext' => 'Ви повинні [[Special:UserLogin|ввійти до системи]], щоб мати можливість змінювати список спостереження.',
'addwatch' => 'Додати до списку спостереження',
-'addedwatchtext' => "Сторінка «[[:$1]]» додана до вашого [[Special:Watchlist|списку спостереження]].
-Ð\9dаÑ\81Ñ\82Ñ\83пнÑ\96 Ñ\80едагÑ\83ваннÑ\8f Ñ\86Ñ\96Ñ\94Ñ\97 Ñ\81Ñ\82аÑ\82Ñ\82Ñ\96 Ñ\96 пов'Ñ\8fзаноÑ\97 з неÑ\8e Ñ\81Ñ\82оÑ\80Ñ\96нки обговоÑ\80еннÑ\8f бÑ\83дÑ\83Ñ\82Ñ\8c вÑ\96добÑ\80ажаÑ\82иÑ\81Ñ\8f в Ñ\86Ñ\8cомÑ\83 Ñ\81пиÑ\81кÑ\83, а Ñ\82акож бÑ\83дÑ\83Ñ\82Ñ\8c видÑ\96ленÑ\96 '''жирним шрифтом''' на сторінці зі [[Special:RecentChanges|списком останніх редагувань]], щоб їх було легше помітити.",
+'addedwatchtext' => "Сторінку «[[:$1]]» додано до вашого [[Special:Watchlist|списку спостереження]].
+Ð\9fодалÑ\8cÑ\88Ñ\96 Ñ\80едагÑ\83ваннÑ\8f Ñ\86Ñ\96Ñ\94Ñ\97 Ñ\81Ñ\82оÑ\80Ñ\96нки (Ñ\82а пов'Ñ\8fзаноÑ\97 з неÑ\8e Ñ\81Ñ\82оÑ\80Ñ\96нки обговоÑ\80еннÑ\8f) вÑ\96добÑ\80ажаÑ\82имÑ\83Ñ\82Ñ\8cÑ\81Ñ\8f в Ñ\86Ñ\8cомÑ\83 Ñ\81пиÑ\81кÑ\83. Також Ñ\97Ñ\85 бÑ\83де видÑ\96лено '''жирним шрифтом''' на сторінці зі [[Special:RecentChanges|списком останніх редагувань]], щоб їх було легше помітити.",
'removewatch' => 'Видалити зі списку спостереження',
'removedwatchtext' => 'Сторінка «[[:$1]]» вилучена з вашого [[Special:Watchlist|списку спостереження]].',
'watch' => 'Спостерігати',
'watcherrortext' => 'Сталася помилка при заміні налаштувань списку спостереження для " $1 ".',
'enotif_mailer' => '{{SITENAME}} Служба сповіщення поштою',
-'enotif_reset' => 'Ð\9fомÑ\96Ñ\82ити всі сторінки як переглянуті',
+'enotif_reset' => 'Ð\9fознаÑ\87ити всі сторінки як переглянуті',
'enotif_newpagetext' => 'Це нова сторінка.',
'enotif_impersonal_salutation' => 'Користувач {{grammar:genitive|{{SITENAME}}}}',
'changed' => 'змінена',
Bạn có thể thu hẹp kết quả bằng cách chọn loại nhật trình, tên thành viên (phân biệt chữ hoa-chữ thường), hoặc các trang bị ảnh hưởng (cũng phân biệt chữ hoa-chữ thường).',
'logempty' => 'Không có mục nào khớp với từ khóa.',
'log-title-wildcard' => 'Tìm các tựa trang bắt đầu bằng các chữ này',
+'showhideselectedlogentries' => 'Hiện/ẩn các mục nhật trình đã chọn',
# Special:AllPages
'allpages' => 'Mọi trang',
<?php
-/** Walloon (Walon)
+/** Walloon (walon)
*
* See MessagesQqq.php for message documentation incl. usage of parameters
* To improve a translation please visit http://translatewiki.net
$messages = array(
# User preference toggles
-'tog-underline' => 'Sorlignî les loyéns',
+'tog-underline' => 'Sorlignî les loyéns:',
'tog-justify' => 'Djustifyî les hagnons',
'tog-hideminor' => 'Èn nén mostrer les <i>dierins candjmints</i> mineurs',
-'tog-extendwatchlist' => "Ragrandi l' djivêye po mostrer tos les candjmints",
-'tog-usenewrc' => 'Ramidrés <i>dierins candjmints</i> (JavaScript)',
+'tog-extendwatchlist' => "Ragrandi l' djivêye po mostrer tos les candjmints, nén seulmint les dierins",
+'tog-usenewrc' => 'Eployî les ramidrés dierins candjmints (i fåt JavaScript)',
'tog-numberheadings' => 'Limerotaedje otomatike des tites',
'tog-showtoolbar' => "Mostrer l' bår d' usteyes e môde candjmint (JavaScript)",
'tog-editondblclick' => 'Candjî les pådjes avou on dobe-clitch (JavaScript)',
'tog-editsection' => "Eployî les loyéns «[candjî]» po candjî rén k' ene seccion",
'tog-editsectiononrightclick' => 'Candjî les seccions avou on dobe-clitch sol tite (JavaScript)',
'tog-showtoc' => "Mostrer l' tåvlea d' ådvins<br />(po ls årtikes avou pus di 3 seccions)",
-'tog-rememberpassword' => 'Rimimbrer li scret inte les sessions (for a maximum of $1 {{PLURAL:$1|day|days}})',
+'tog-rememberpassword' => "Rimimbrer m' sicret inte les sessions (nén dpus ki po $1 {{PLURAL:$1|djoû|djoûs}})",
'tog-watchcreations' => "Mete les pådjes ki dj' askepeye dins l' djivêye des pådjes shuvowes",
'tog-watchdefault' => "Shuve les årtikes ki dj' fwai ou ki dj' candje",
'tog-watchmoves' => "Radjouter a m' djivêye des shuvous les pådjes ki dji displaece",
'tog-enotifminoredits' => "M' emiler eto po les ptits candjmints",
'tog-enotifrevealaddr' => 'Mostrer mi adresse emile dins les emiles di notifiaedje',
'tog-shownumberswatching' => "Mostrer l' nombe d' uzeus ki shuvèt l' pådje",
-'tog-fancysig' => 'Sinateure brute (sins loyén otomatike)',
-'tog-externaleditor' => "Eployî on dfoûtrin aspougneu d' tecse come prémetowe dujhance",
-'tog-externaldiff' => 'Eployî on dfoûtrin programe di diferinces come prémetowe dujhance',
+'tog-fancysig' => 'Sinateure avou do tecse wiki (sins loyén otomatike)',
+'tog-externaleditor' => "Eployî on dfoûtrin aspougneu d' tecse come prémetowe dujhance (po les spepieus uzeus seulmint, ca i vs fåt fé des apontiaedjes sol sopiutrece da vosse, [//www.mediawiki.org/wiki/Manual:External_editors loukîz chal po pus di racsegnes]).",
+'tog-externaldiff' => 'Eployî on dfoûtrin programe di diferinces come prémetowe dujhance (po les spepieus uzeus seulmint, ca i vs fåt fé des apontiaedjes sol sopiutrece da vosse, [//www.mediawiki.org/wiki/Manual:External_editors loukîz chal po pus di racsegnes]).',
'tog-showjumplinks' => 'Mete en alaedje les loyéns di naiviaedje «potchî a» å dzeu del pådje (pol pea «Myskin» et ds ôtes)',
'tog-uselivepreview' => "Eployî l' prévoeyaedje abeye (JavaScript) (Esperimintå)",
'tog-forceeditsummary' => "M' advierti cwand dji lai vude on rascourti",
'underline-never' => 'Måy',
'underline-default' => 'Valixhance do betchteu',
+# Font style option in Special:Preferences
+'editfont-style' => 'Stîle del fonte pol boesse di tecse',
+'editfont-default' => 'Valixhance do betchteu',
+
# Dates
'sunday' => 'dimegne',
'monday' => 'londi',
'subcategories' => 'Dizo-categoreyes',
'category-media-header' => 'Media el categoreye «$1»',
'category-empty' => "''Cisse categoreye ci n' a pol moumint nol årtike ni media.''",
+'hidden-categories' => '{{PLURAL:$1|Categoreye catcheye|Categoreyes catcheyes}}',
+'hidden-category-category' => 'Categoreyes catcheyes',
'category-subcat-count' => 'Dins cisse categoreye, gn a {{PLURAL:$2|li dzo-categoreye|$2 dizo-categoreyes, inte di zeles {{PLURAL:$1|li cene|les $1}}}} cial pa-dzo.',
'category-subcat-count-limited' => "Dins cisse categoreye, gn a {{PLURAL:$1|l' dizo-categoreye|les dzo-categoreyes}} shuvantes.",
-'category-article-count' => 'Dins cisse categoreye cial, gn a {{PLURAL:$2|li pådje ki shût|$2 pådje, inte di zeles {{PLURAL:$1|li cene|les $1}} cial padzo}}.',
+'category-article-count' => 'Dins cisse categoreye cial, gn a {{PLURAL:$2|li pådje ki shût|$2 pådjes, inte di zeles {{PLURAL:$1|li cene|les $1}} cial padzo}}.',
'category-article-count-limited' => "{{PLURAL:$1|Gn a l' pådje ki shût|Les $1 pådjes ki shuvnut si trovèt ddja}} dins cisse categoreye ci.",
'category-file-count' => "{{PLURAL:$2|Dins cisse categoreye ci, gn a k' ene pådje.|{{PLURAL:$1|Gn a cisse pådje ci|Gn a les $1 pådjes ki shuvèt}} dins cisse categoreye ci, po $2 pådjes å totå.}}",
'category-file-count-limited' => "{{PLURAL:$1|Gn a k' cisse pådje cial|Gn a les $1 pådjes ciddé padzo}} dins cisse categoreye ci.",
'qbmyoptions' => 'Mes pådjes',
'qbspecialpages' => 'Pådjes sipeciåles',
+# Vector skin
+'vector-action-addsection' => 'Radjouter on sudjet',
+'vector-action-delete' => 'Disfacer',
+'vector-action-move' => 'Displaecî',
+'vector-action-protect' => 'Protedjî',
+'vector-action-undelete' => 'Rapexhî',
+'vector-action-unprotect' => "Candjî l' protedjaedje",
+'vector-simplesearch-preference' => 'Permete les amidreyès sudjestions di cweraedje (pea «Vector» seulmint)',
+'vector-view-create' => 'Ahiver',
+'vector-view-edit' => 'Candjî',
+'vector-view-history' => "Vey l' istwere",
+'vector-view-view' => 'Lére',
+'vector-view-viewsource' => 'Vey côde sourdant',
+'actions' => 'Accions',
+'namespaces' => 'Espåces di lomaedje',
+'variants' => 'Variantes',
+
'errorpagetitle' => 'Aroke',
'returnto' => 'Rivni al pådje «$1».',
'tagline' => 'Èn årtike di {{SITENAME}}.',
'deletethispage' => "Disfacer l' pådje",
'undelete_short' => 'Rapexhî {{PLURAL:$1|on candjmint|$1 candjmints}}',
'protect' => 'Protedjî',
-'protect_change' => "candjî l' protedjaedje",
+'protect_change' => 'candjî',
'protectthispage' => "Protedjî l' pådje",
-'unprotect' => 'Disprotedjî',
-'unprotectthispage' => "Disprotedjî l' pådje",
+'unprotect' => "Candjî l' protedjaedje",
+'unprotectthispage' => "Candjî l' protedjaedje del pådje",
'newpage' => 'Novele pådje',
'talkpage' => 'Copene sol pådje',
'talkpagelinktext' => 'Copiner',
'specialpage' => 'Pådje sipeciåle',
'personaltools' => 'Usteyes da vosse',
-'postcomment' => 'Sicrire on comintaire',
+'postcomment' => 'Novele seccion',
'articlepage' => "Vey l' årtike",
'talk' => 'Copene',
'views' => 'Vuwes',
'toolbox' => 'Boesse ås usteyes',
'userpage' => "Vey li pådje di l' uzeu",
'projectpage' => 'Vey li pådje do pordjet',
-'imagepage' => "Vey li pådje di l' imådje",
+'imagepage' => 'Vey li pådje do fitchî',
'viewtalkpage' => 'Vey li pådje di copene',
'otherlanguages' => 'Ôtes lingaedjes',
'redirectedfrom' => '(Redjiblé di $1)',
'badaccess' => "Åk n' a nén stî avou les permissions",
'versionrequired' => "I vs fåt l' modêye $1 di MediaWiki",
-'versionrequiredtext' => "I vs fåt l' modêye $1 di MediaWiki po-z eployî cisse pådje ci. Loukîz a [[Special:Version]]",
+'versionrequiredtext' => "I vs fåt l' modêye $1 di MediaWiki po-z eployî cisse pådje ci. Loukîz [[Special:Version|al pådje des modêyes]]",
'ok' => "'l est bon",
'retrievedfrom' => 'Prin del pådje «$1»',
'youhavenewmessagesmulti' => 'Vos avoz des noveas messaedjes so $1',
'editsection' => 'candjî',
'editold' => 'candjî',
+'viewsourceold' => 'vey côde sourdant',
'editlink' => 'candjî',
'viewsourcelink' => 'Vey côde sourdant',
'editsectionhint' => "Candjî l' seccion: $1",
'toc' => 'Ådvins',
'showtoc' => 'mostrer',
'hidetoc' => 'catchî',
+'collapsible-collapse' => 'erôler',
+'collapsible-expand' => 'diswalper',
'thisisdeleted' => 'Vey ou rapexhî $1?',
'viewdeleted' => 'Vey $1?',
'restorelink' => '{{PLURAL:$1|on candjmint disfacé|$1 candjmints disfacés}}',
'feedlinks' => 'Sindicåcion:',
'feed-invalid' => 'Sôre di sindicåcion nén valide.',
'red-link-title' => '$1 (nén co ataké)',
+'sort-descending' => 'Discrexhant relijhaedje',
+'sort-ascending' => 'Acrexhant relijhaedje',
# Short words for each namespace, by default used in the namespace tab in monobook
'nstab-main' => 'Årtike',
'nstab-user' => "Pådje di l' uzeu",
'nstab-media' => 'Media',
-'nstab-special' => 'Sipeciås',
+'nstab-special' => 'Pådje sipeciåle',
'nstab-project' => 'Pådje',
-'nstab-image' => 'Imådje',
+'nstab-image' => 'Fitchî',
'nstab-mediawiki' => 'Messaedje',
'nstab-template' => 'Modele',
'nstab-help' => 'Aidance',
# Main script and global functions
'nosuchaction' => 'Nole sifwaite accion',
-'nosuchactiontext' => "L' accion specifieye pal hårdêye n' est nén ricnoxhowe på wiki.",
+'nosuchactiontext' => "L' accion specifieye pal hårdêye n' est nén ricnoxhowe på wiki.
+Motoit ki vos avoz må scrît l' hårdêye ou shuvou on cron loyén.
+Ça pôreut eto esse on bug do programe eployî pa {{SITENAME}}.",
'nosuchspecialpage' => 'Nole sifwaite pådje',
'nospecialpagetext' => 'Vos avoz dmandé ene pådje sipeciåle nén valide, po ene djivêye des pådjes sipeciåles valides, loukîz a [[Special:SpecialPages]].',
Li dierin cweraedje del båze di dnêyes di sayî esteut:
<blockquote><tt>$1</tt></blockquote>
a pårti del fonccion «<tt>$2</tt>».
-MySQL a rtourné l' aroke «<tt>$3: $4</tt>».",
+Li båze di dnêyes a rtourné l' aroke «<tt>$3: $4</tt>».",
'dberrortextcl' => "Åk n' a nén stî avou l' sintacse do cweraedje del båze di dnêyes.
Li dierin cweraedje del båze di dnêyes di sayî esteut:
«$1»
a pårti del fonccion «$2».
-MySQL a rtourné l' aroke «$3: $4».",
+Li båze di dnêyes a rtourné l' aroke «$3: $4».",
'laggedslavemode' => "Asteme: I s' pout ki l' pådje n' åye nén co les dierins candjmints.",
+'readonly' => 'Li båze di dnêyes est aclawêye',
+'missingarticle-rev' => '(l° del modêye: $1)',
'internalerror' => 'Divintrinne aroke',
+'internalerror_info' => 'Divintrinne aroke: $1',
'filecopyerror' => "Dji n' a savou copyî l' fitchî «$1» viè «$2».",
'filerenameerror' => "Dji n' a savou rlomer l' fitchî «$1» e «$2».",
'filedeleteerror' => "Dji n' a savou disfacer l' fitchî «$1».",
'filenotfound' => "Dji n' a savou trover l' fitchî «$1».",
'unexpected' => 'Valixhance nén ratindowe: «$1»=«$2».',
'badarticleerror' => "Cisse accion la n' si pout nén fé so cisse pådje ci.",
-'cannotdelete' => "Dji n' sai disfacer l' pådje ou l' imådje dimandêye (ça s' pôreut k' ene ôte sakî l' a ddja disfacé).",
+'cannotdelete' => "Dji n' sai disfacer l' pådje ou l' fitchî «$1».
+Ça s' pôreut k' ene ôte sakî l' a ddja disfacé.",
+'cannotdelete-title' => "Dji n' sai disfacer l' pådje «$1»",
'badtitle' => 'Måva tite',
'badtitletext' => "Li tite del pådje dimandêye n' esteut nén valide, il estet vude, oudonbén c' esteut on cron loyén eterlingaedje ou eterwiki. Ça s' pout k' il åye onk ou sacwants caracteres ki n' polèt nén esse eployîs dins les tites.",
-'perfcached' => "Les dnêyes ki shuvèt c' est ene copeye e muchete, et ça s' pout ki ça n' soeye nén ttafwaitmint a djoû. A maximum of {{PLURAL:$1|one result is|$1 results are}} available in the cache.",
-'perfcachedts' => "Les dnêyes ki shuvèt c' est ene copeye e muchete, ey elle ont stî metowes a djoû pol dierin côp li $1. A maximum of {{PLURAL:$4|one result is|$4 results are}} available in the cache.",
+'perfcached' => "Les dnêyes ki shuvèt c' est ene copeye e muchete, et ça s' pout ki ça n' soeye nén ttafwaitmint a djoû. Li muchete a-st on macsimom {{PLURAL:$1|d' on rzultat|di $1 rizultats}}.",
+'perfcachedts' => "Les dnêyes ki shuvèt c' est ene copeye e muchete, ey elle ont stî metowes a djoû pol dierin côp li $1. Li muchete a-st on macsimom {{PLURAL:$4|d' on rzultat|di $4 rizultats}}.",
'wrong_wfQuery_params' => 'Parametes incoreks po wfQuery()<br />
Fonccion: $1<br />
Cweraedje: $2',
'viewsource' => 'Vey côde sourdant',
'viewsourcetext' => 'Loukîz li contnou di l’ årtike, et s’ li rcopyî si vos vloz, por vos bouter dsu foû des fyis :',
'protectedinterface' => "Cisse pådje ci dene on tecse d' eterface pol programe, eyet elle a stî protedjeye po s' waeranti siconte des abus.",
-'editinginterface' => "'''Warning:''' You are editing a page which is used to provide interface text for the software.
-Changes to this page will affect the appearance of the user interface for other users.
-For translations, please consider using [//translatewiki.net/wiki/Main_Page?setlang=en translatewiki.net], the MediaWiki localisation project.",
+'editinginterface' => "'''Asteme:''' Vos estoz ki candje ene pådje eployeye po fé l' tecse po l' eterface do programe.
+Les candjmints ki vso frîz vont candjî l' rivnance di l' eterface po ds ôtes uzeus.
+Po des ratournaedjes, loukîz purade a [//translatewiki.net/wiki/Main_Page?setlang=en translatewiki.net], li pordjet di locålijhaedje da MediaWiki.",
# Login and logout pages
'logouttext' => "'''Vos vs avoz dislodjî.'''
-Vos ploz continouwer a naivyî so {{SITENAME}} anonimmint, oudonbén vos relodjî dizo l' minme uzeu ou dizo èn uzeu diferin.
+Vos ploz continouwer a naivyî so {{SITENAME}} anonimmint, oudonbén [[Special:UserLogin|vos relodjî]], dizo l' minme uzeu ou dizo èn uzeu diferin.
Notez ki des pådjes k' i gn a si pôrént continowuer a vey come si vos estîz elodjî, disk' a tant ki vos vudrîz l' muchete di vosse betchteu waibe.",
'welcomecreation' => '== Bénvnowe, $1! ==
Vosse conte a stî ahivé.
-Èn rovyîz nén di candjî les preferinces di {{SITENAME}} a vosse môde.',
+Èn rovyîz nén di candjî les [[Special:Preferences|preferinces di {{SITENAME}}]] a vosse môde.',
'yourname' => "Vosse no d' elodjaedje",
'yourpassword' => 'Vosse sicret',
'yourpasswordagain' => 'Ritapez vosse sicret',
'nav-login-createaccount' => "Ahiver on conte, udon-bén s' elodjî",
'loginprompt' => 'Vos dvoz permete les coûkes po vs elodjî so {{SITENAME}}.',
'userlogin' => "S' elodjî",
+'userloginnocreate' => "S' elodjî",
'logout' => 'Si dislodjî',
'userlogout' => 'Si dislodjî',
'notloggedin' => 'Nén elodjî',
-'nologin' => "Vos n' avoz nén d' conte so ç' wiki ci? '''$1'''.",
+'nologin' => "Vos n' avoz nén d' conte so ç' wiki ci? $1.",
'nologinlink' => 'Ahivez on conte da vosse',
'createaccount' => 'Ahiver on novea conte',
'gotaccount' => "Vos avoz ddja on conte so ç' wiki ci? '''$1'''.",
'createaccountmail' => 'pa emile',
'createaccountreason' => 'Råjhon:',
'badretype' => 'Vos avoz dné deus screts diferins.',
-'userexists' => "Li no d' uzeu ki vs avoz tchoezi est ddja eployî. Tchoezixhoz è èn ôte s' i vs plait.",
+'userexists' => "Li no d' uzeu ki vs avoz tchoezi est ddja eployî.
+Tchoezixhoz è èn ôte s' i vs plait.",
'loginerror' => "Aroke d' elodjaedje",
'nocookiesnew' => "Li conte a stî ahivé, mins vos n' estoz nén elodjî. {{SITENAME}} eploye des coûkes po l' elodjaedje des uzeus. Vos avoz dismetou l' sopoirt des coûkes dins vosse betchteu waibe; rimetoz l' en alaedje et relodjîz vs avou vosse novea no d' elodjaedje eyet scret, s' i vs plait.",
'nocookieslogin' => "{{SITENAME}} eploye des coûkes po l' elodjaedje des uzeus. Vos avoz dismetou l' sopoirt des coûkes dins vosse betchteu waibe; rimetoz l' en alaedje et relodjîz vs s' i vs plait.",
'loginsuccesstitle' => 'Vos estoz elodjî',
'loginsuccess' => "'''L' elodjaedje a stî comifåt, asteure vos estoz elodjî dins {{SITENAME}} dizo l' no d' uzeu «$1».'''",
'nosuchuser' => "I g na nou uzeu dizo l' no «$1».
-Verifyîz çou k' vos avoz tapé, oudonbén rimplixhoz les ôtes tchamps
-et clitchîz sol boton po-z ahiver on novea conte.",
+Notez k' les nos d' uzeu fjhèt l' diferince etur pitites et grandès letes.
+Verifyîz çou k' vos avoz tapé, oudonbén [[Special:UserLogin/signup|ahivez on novea conte]].",
'nosuchusershort' => "I g na nou uzeu dizo l' no «$1». Verifyîz çou k' vos avoz tapé.",
'nouserspecified' => "Vos dvoz dner on no d' elodjaedje.",
'wrongpassword' => "Li scret ki vs avoz dné est måva. Rissayîz s' i vs plait.",
'wrongpasswordempty' => "Vos avoz dné on vude sicret. Rissayîz s' i vs plait.",
-'passwordtooshort' => 'Li scret est pår trop court. I doet esse di pol moens {{PLURAL:$1|1 caractere|$1 caracteres}}.',
+'passwordtooshort' => 'Li scret doet esse di pol moens {{PLURAL:$1|1 caractere|$1 caracteres}}.',
'mailmypassword' => "M' emiler on novea scret",
-'passwordremindertitle' => 'Rimimbraedje do scret po {{SITENAME}}',
-'passwordremindertext' => "Ene sakî (probåblumint vos-minme, avou l' adresse IP $1) a dmandé k' on vs emile on novea scret po {{SITENAME}} ($4).
-Li scret po l' uzeu «$2» est asteure «$3».
-Po pus di såvrité, vos vos dvrîz elodjî eyet rcandjî vosse sicret å pus abeye.
-
-Si ene ôte sakî a fwait l' dimande, ou si vos vs avoz rtrové l' vî scret eyet nel pus vleur candjî, vos ploz djusse ignorer ci messaedje ci eyet continouwer avou l' vî scret.",
+'passwordremindertitle' => 'Novea scret timporaire po {{SITENAME}}',
+'passwordremindertext' => "Ene sakî (probåblumint vos-minme, avou l' adresse IP $1) a dmandé
+on novea scret po {{SITENAME}} ($4).
+On scret timporare po l' uzeu «$2» a stî fwait, c' est «$3».
+Si c' est vos k' a fwait l' dimande, vos vs divoz elodjî eyet tchoezi on novea scret.
+Li scret timporaire ni srè pus valide après {{PLURAL:$5|on djoû|$5 djoûs}}.
+
+Si c' est ene ôte sakî k' a fwait l' dimande, ou si vos vs avoz rtrové l' vî scret eyet
+nel pus vleur candjî, vos ploz djusse ignorer ci messaedje ci eyet continouwer avou l' vî scret.",
'noemail' => "I n' a pont d' adresse emile di cnoxhowe po l' uzeu «$1».",
+'noemailcreate' => 'Vos dvoz dner ene adresse emile valide.',
'passwordsent' => "On novea scret a stî emilé a l' adresse emile
racsegneye po l' uzeu «$1».
Relodjîz vs avou ç' noû scret on côp ki vos l' åroz rçuvou s' i vs plait.",
'eauthentsent' => "Èn emile d' acertinaedje a stî evoyî a l' adresse emile tchoezeye.
Divant d' poleur evoyî èn ôte emile a ci conte la, vos dvroz shure les instruccions di l' emile ki vos alez rçure, po-z acertiner ki l' conte est bén da vosse.",
'mailerror' => "Åk n' a nén stî tot-z evoyant l' emile: $1",
-'acct_creation_throttle_hit' => "Mande escuzes, mins vos avoz ddja ahivé {{PLURAL:$1|1 conte|$1 contes}}. Vos n' endè ploz nén fé des ôtes.",
-'emailauthenticated' => 'Voste adresse emile a stî acertinêye li $1.',
+'acct_creation_throttle_hit' => "Ene sakî a ddja ahivé {{PLURAL:$1|1 conte|$1 contes}} dins les dierinnes 24 eures a pårti dek minme adresse IP, çou k' est l' limite acceptêye po ene sifwaite termene.
+Ça fwait ki l' ahivaedje di contes a p·årti di ciste adresse IP la a stî dismetou pol moumint.",
+'emailauthenticated' => 'Voste adresse emile a stî acertinêye li $2 a $3.',
'emailnotauthenticated' => "Voste adresse emile n' a nén co stî acertinêye. Nol emile ni serè-st evoyî po les fonccions shuvantes.",
'noemailprefs' => 'Dinez ene adresse emile po ces fonccions si mete en alaedje.',
'emailconfirmlink' => 'Acertinaedje di voste adresse emile',
-'invalidemailaddress' => "L' adresse emile ni pout nén esse acceptêye la k' i shonnreut k' ele soeye dins ene cogne nén valide. Tapez ene adresse emile sicrîte comifåt oudobén vudîz l' tchamp, s' i vs plait.",
+'invalidemailaddress' => "L' adresse emile ni pout nén esse acceptêye la k' i shonnreut k' ele soeye dins ene cogne nén valide.
+Tapez ene adresse emile sicrîte comifåt oudobén vudîz l' tchamp, s' i vs plait.",
'accountcreated' => 'Conte ahivé',
'accountcreatedtext' => "Li conte d' uzeu «$1» a stî ahivé.",
'loginlanguagelabel' => 'Lingaedje: $1',
# Change password dialog
-'oldpassword' => 'Vî scret',
-'newpassword' => 'Noû scret',
-'retypenew' => "Ritapez l' noû scret",
+'resetpass' => "Candjî l' sicret",
+'resetpass_announce' => "Vos vs avoz elodjî avou on scret timporaire ki vos a stî emilé.
+Por vos fini l' elodjaedje, vos dvoz defini on novea scret:",
+'resetpass_header' => "Candjî l' sicret do conte",
+'oldpassword' => 'Vî scret:',
+'newpassword' => 'Noû scret:',
+'retypenew' => "Ritapez l' noû scret:",
+'resetpass_submit' => "Defini on scret et s' elodjî",
+'resetpass_success' => "Vosse sicret a stî candjî comifåt!
+Asteure l' elodjaedje...",
+'resetpass_forbidden' => "Les screts n' polèt nén esse candjîs",
+'resetpass-no-info' => 'Vos dvoz esse elodjî po pleur aveur accès a cisse pådje ci.',
+'resetpass-submit-loggedin' => "Candjî l' sicret",
+'resetpass-submit-cancel' => 'Rinoncî',
+'resetpass-wrong-oldpass' => "Li scret timporaire ou do moumint n' est nén valide.
+Motoit ki vos l' avoz ddja candjî ou ridmandé on novea scret timporaire.",
+'resetpass-temp-password' => 'Sicret timporaire:',
+
+# Special:PasswordReset
+'passwordreset' => "Rifé l' sicret",
+'passwordreset-text' => 'Completez cisse formulrece ci po rçure èn emile ki dene les detays do conte da vosse.',
+'passwordreset-legend' => "Rifé l' sicret",
+'passwordreset-disabled' => "Li rfijhaedje di screts a stî dismetou so ç' wiki ci.",
+'passwordreset-pretext' => '{{PLURAL:$1||Dinez onk des elemints di dnêyes shuvants}}',
+'passwordreset-username' => "No d' elodjaedje:",
+'passwordreset-domain' => 'Dominne:',
+'passwordreset-capture' => "Vey li messaedje di l' emile?",
+'passwordreset-capture-help' => "Si vos clitchîz cisse boesse ci, l' emile (eyet li scret timporaire) vos srè håyné e minme tins k' il est emilé.",
+'passwordreset-email' => 'Adresse emile:',
+'passwordreset-emailtitle' => 'Detays do contre so {{SITENAME}}',
# Edit page toolbar
'bold_sample' => 'Cråssès letes',
'link_sample' => 'Tecse pol loyén',
'link_tip' => 'Divintrin loyén',
'extlink_sample' => 'http://www.example.com tecse pol hårdêye',
-'extlink_tip' => 'Difoûtrinne hårdêye (en rovyîz nén di mete «http://» pa dvant)',
+'extlink_tip' => 'Difoûtrinne hårdêye (èn rovyîz nén di mete «http://» pa dvant)',
'headline_sample' => 'Tecse di tite',
'headline_tip' => 'Tite di 2inme livea',
'nowiki_sample' => "Tapez l' tecse nén wiki chal",
'showpreview' => 'Vey divant',
'showlivepreview' => 'Vey divant',
'showdiff' => 'Vey les candjmints',
-'anoneditwarning' => "'''Asteme:''' Vos n' estoz nén elodjî. Voste adresse IP serè rashiowe dins l' istwere di cisse pådje ci.",
+'anoneditwarning' => "'''Asteme:''' Vos n' estoz nén elodjî.
+Voste adresse IP serè rashiowe dins l' istwere di cisse pådje ci.",
'missingsummary' => "'''Asteme:''' Vos n' avoz nén dné on tecse di rascourti po vosse candjmint. Si vos rclitchîz sol boton «Schaper», li candjmint da vosse serè schapé sins nou tecse di rascourti po l' istwere del pådje.",
'missingcommenttext' => "Tapez on comintaire chal pa dzo s' i vs plait.",
'blockedtitle' => "L' uzeu est bloké",
-'blockedtext' => "Vosse no d' uzeu ou voste adresse IP a stî blokêye pa $1.
-Li råjhon dnêye est:<br />''$2''<p>Vos ploz contacter $1 oudonbén onk des
-[[{{MediaWiki:Grouppage-sysop}}|manaedjeus]] po discuter do blocaedje.
+'blockedtext' => "'''Vosse no d' uzeu ou voste adresse IP a stî blokêye.'''
+
+Li blocaedje a stî fwait pa $1.
+Li råjhon dnêye est ''$2''.
-Notez ki vos n' poloz nén eployî l' fonccion «emiler a l' uzeu» a moens ki vos åyîz ene adresse emile valide dins vos [[Special:Preferences|preferinces]].
+* Comince do blocaedje: $8
+* Fén do blocaedje: $6
+* Blocaedje di: $7
-Voste adresse IP est $3. S' i vs plait racsegnoz ciste adresse IP la dins les dmandes ki vos frîz.",
+Vos ploz contacter $1 oudonbén onk des
+[[{{MediaWiki:Grouppage-sysop}}|manaedjeus]] po discuter do blocaedje.
+Notez ki vos n' poloz nén eployî l' fonccion «emiler a l' uzeu» a moens ki vos åyîz ene adresse emile valide dins vos [[Special:Preferences|preferinces]] et ki cisse possibilité n' a nén stî blokêye.
+Voste adresse IP est $3 eyet l' ID di blocaedje est $5.
+S' i vs plait racsegnoz totes les racsegnes chal å dzeur dins les dmandes ki vos frîz.",
'whitelistedittext' => 'I vs fåt $1 po pleur candjî les årtikes.',
'confirmedittext' => "I vs fåt acertiner vost emile po pleur candjî les årtikes. Dinez èn emile eyet l' acertiner dins vos [[Special:Preferences|preferinces d' uzeu]].",
'loginreqtitle' => 'I vs fåt esse elodjî',
'loginreqlink' => 'elodjî',
'loginreqpagetext' => 'Vos vs divoz $1 po vey des ôtès pådjes.',
'accmailtitle' => 'Li scret a stî evoyî.',
-'accmailtext' => 'Li scret po «$1» a stî evoyî a $2.',
+'accmailtext' => "On scret costrût a l' astcheyance po [[User talk:$1|$1]] a stî evoyî a $2.
+
+Li scret po ci novea conte ci pout esse candjî sol pådje di ''[[Special:ChangePassword|candjmint di scret]]'' après l' elodjaedje.",
'newarticle' => '(Novea)',
'newarticletext' => "Vos avoz clitchî so on loyén viè ene pådje ki n' egzistêye nén co.
Mins '''vos''' l' poloz askepyî! Po çoula, vos n' avoz k' a cmincî a taper vosse tecse dins l' boesse di tecse chal pa dzo (alez vey li [[{{MediaWiki:Helppage}}|pådje d' aidance]] po pus d' infôrmåcion).
Si vos n' voloz nén scrire cisse pådje chal, clitchîz simplumint sol boton '''En erî''' di vosse betchteu waibe po rivni al pådje di dvant.",
-'anontalkpagetext' => "---- ''Çouchal, c' est li pådje di copene po èn uzeu anonime ki n' a nén (co) fwait on conte por lu s' elodjî, ou ki n' l' eploye nén. Ça fwait k' on doet eployî si adresse IP limerike po l' idintifyî. Come ene sifwaite adresse IP pout esse eployeye pa pus d' èn uzeu, i s' pout ki vos voeyoz chal des rmåkes et des messaedjes ki n' sont nén por vos. Loukîz s' i vs plait po [[Special:UserLogin|fé on novea conte ou s' elodjî]] po n' pus aveur d' ecramiaedje avou des ôtes uzeus anonimes.''",
-'noarticletext' => "I gn a pol moumint nou tecse e cisse pådje chal, vos ploz [[Special:Search/{{PAGENAME}}|cweri après l' tite di cisse pådje ci]] dins des ôtès pådjes, oudonbén [{{fullurl:{{FULLPAGENAME}}|action=edit}} ahiver l' pådje].",
-'clearyourcache' => "'''Note:''' après aveur schapé l' pådje, vos l' divoz rafrister, po pleur vey les candjmints dins vosse betchteu waibe: '''Mozilla / Firefox / Safari:''' tchôkîz so ''Shift'' to clitchant so ''Rafrister'', ou co fjhoz ''Ctrl-Shift-R'' (''Cmd-Shift-R'' so on Mac); '''IE:''' tchôkîz so ''Ctrl'' tot clitchant so ''Rafrister'', ou co fjhoz ''Ctrl-F5''; '''Konqueror:''' simplumint clitchîz so ''Rafrister'' ou l' tape ''F5''; les uzeus d' '''Opera''' dvront motoit netyî pår leu muchete, dins ''Usteyes→Preferinces''.",
-'usercssyoucanpreview' => "'''Racsegne:''' eployîz l' boton «Vey divant» po sayî vosse novea CSS divant del schaper.",
-'userjsyoucanpreview' => "'''Racsegne:''' eployîz l' boton «Vey divant» po sayî vosse novea JS divant del schaper.",
-'usercsspreview' => "'''Èn rovyîz nén ki c' est djusse on prévoeyaedje di vosse stîle CSS d' uzeu, i n' a nén co stî schapé!'''",
+'anontalkpagetext' => "---- ''Çouchal, c' est li pådje di copene po èn uzeu anonime ki n' a nén (co) fwait on conte por lu s' elodjî, ou ki n' l' eploye nén.
+Ça fwait k' on doet eployî si adresse IP limerike po l' idintifyî.
+Come ene sifwaite adresse IP pout esse eployeye pa pus d' èn uzeu, i s' pout ki vos voeyoz chal des rmarkes et des messaedjes ki n' sont nén por vos.
+Loukîz s' i vs plait po [[Special:UserLogin/signup|fé on novea conte]] ou [[Special:UserLogin|s' elodjî]] po n' pus aveur d' ecramiaedje avou des ôtes uzeus anonimes.''",
+'noarticletext' => 'I gn a pol moumint nou tecse e cisse pådje chal.
+Vos ploz [[Special:Search/{{PAGENAME}}|cweri après l\' tite di cisse pådje ci]] dins des ôtès pådjes,
+oudonbén <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cweri dins les djournås],
+ou co [{{fullurl:{{FULLPAGENAME}}|action=edit}} ahiver l\' pådje]</span>.',
+'noarticletext-nopermission' => 'I gn a pol moumint nou tecse e cisse pådje chal.
+Vos ploz [[Special:Search/{{PAGENAME}}|cweri après l\' tite di cisse pådje ci]] dins des ôtès pådjes,
+oudonbén <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cweri dins les djournås]</span>.',
+'clearyourcache' => "'''Note:''' après aveur schapé l' pådje, vos l' divoz rafrister, po pleur vey les candjmints dins vosse betchteu waibe.
+* '''Firefox / Safari:''' tchôkîz so ''Shift'' tot clitchant so ''Rafrister'', ou co fjhoz ''Ctrl-F5'' ou ''Ctrl-R'' (''⌘-R'' so on Mac)
+* '''Google Chrome:''' tchôkîz so ''Ctrl-Shift-R'' (''⌘-Shift-R'' on a Mac)
+* '''Internet Explorer:''' tchôkîz so ''Ctrl'' tot clitchant so ''Rafrister'', ou co fjhoz ''Ctrl-F5''
+* '''Konqueror:''' clitchîz so ''Rafrister'' ou tchôkîz so ''F5''
+* '''Opera:''' vudîz l' muchete dins ''Usteyes → Preferinces''.",
+'usercssyoucanpreview' => "'''Racsegne:''' eployîz l' boton «{{int:showpreview}}» po sayî vosse novea CSS divant del schaper.",
+'userjsyoucanpreview' => "'''Racsegne:''' eployîz l' boton «{{int:showpreview}}» po sayî vosse novea JavaScript divant del schaper.",
+'usercsspreview' => "Èn rovyîz nén ki c' est djusse on prévoeyaedje di vosse stîle CSS d' uzeu.'''
+'''I n' a nén co stî schapé!'''",
'userjspreview' => "'''Èn rovyîz nén ki c' est djusse on prévoeyaedje/saye di vosse JavaScript d' uzeu, i n' a nén co stî schapé!'''",
'userinvalidcssjstitle' => "'''Asteme:''' I n' a pont d' pea lomêye «$1». Tuzez ki les pådjes .css eyet .js des uzeus eployèt des tite e ptitès letes, metans {{ns:user}}:Toto/vector.css et nén {{ns:user}}:Toto/Vector.css.",
'updated' => '(Ramidré)',
-'previewnote' => "'''Èn rovyîz nén ki c' est djusse on prévoeyaedje, li pådje n' est nén co schapêye!'''",
+'previewnote' => "'''Èn rovyîz nén ki c' est djusse on prévoeyaedje.'''
+'''Les candmints n' ont nén co stî schapés!'''",
+'continue-editing' => 'Continouwer a candjî',
'previewconflict' => 'Ci prévoeyaedje ci mostere kimint kel tecse del boesse di tecse do dzeu sereut håyné si vos decidez di clitchî so «schaper».',
'session_fail_preview' => "'''Mande escuzes! Mins dji n' a nén polou traitî vosse candjmint paski les dnêyes del session ont stî pierdowes.
Rissayîz s' i vs plait. Si çoula n' va todi nén, sayîz di vs dislodjî eyet di vs relodjî.'''",
'session_fail_preview_html' => "'''Mande escuzes! Mins dji n' a nén polou traitî vosse candjmint paski les dnêyes del session ont stî pierdowes.'''
-''Come ci wiki chal a-st en alaedje li HTML brut, li prévoeyaedje est catchî, come proteccion siconte des atakes JavaScript.''
+''Come {{SITENAME}} a-st en alaedje li HTML brut, li prévoeyaedje est catchî, come proteccion siconte des atakes JavaScript.''
-'''Si c' est ene saye oniesse di candjî l' pådje, rissayîz s' i vs plait. Si çoula n' va todi nén, sayîz di vs dislodjî eyet di vs relodjî.'''",
+'''Si c' est ene saye oniesse di candjî l' pådje, rissayîz s' i vs plait.'''
+Si çoula n' va todi nén, sayîz di vs [[Special:UserLogout|dislodjî]] eyet di vs relodjî.",
'editing' => 'Candjant $1',
'editingsection' => 'Candjant $1 (seccion)',
-'editingcomment' => 'Candjant $1 (comintaire)',
+'editingcomment' => 'Candjant $1 (novele seccion)',
'editconflict' => 'Ecramiaedje inte deus candjmints: $1',
'explainconflict' => "Ene sakî a candjî l' pådje do tins ki vos estîz a scrire.
Li boesse di tecse do dzeur mostere li tecse del pådje come il est
Si vos n' voloz nén scrire des årtikes ki polèt esse candjîs pa des ôtes, adon nels evoyîz nén chal.<br />
Vos nos acertinez eto ki vos avoz scrît l' tecse vos-minme, oudonbén l' avoz copyî d' on sourdant libe (voeyoz $1 po pus di racsegnes).
'''N' EVOYÎZ NÉN DES TECSES DIZO ABONDROETS SINS PERMISSION!'''",
-'longpageerror' => "'''AROKE: Li tecse ki vos avoz evoyî fwait di pus d' $1 kilo-octets, çou k' est pus ki l' macsimom di $2 kilo-octets. C' est nén possible del schaper sol sierveu.'''",
+'longpageerror' => "'''AROKE: Li tecse ki vos avoz evoyî fwait di pus d' $1 kilo-octet{{PLURAL:$1||s}}, çou k' est pus ki l' macsimom di $2 kilo-octet{{PLURAL:$2||s}}.'''
+C' est nén possible del schaper sol sierveu.",
'readonlywarning' => "'''ASTEME: On-z overe sol båze di dnêyes pol moumint, ey elle a stî metowe e mode seulmint-lére.
-Do côp, vos n' såroz schaper vos candjmints asteure; motoit vos dvrîz copyî et aclaper l' tecse dins on fitchî da vosse pol poleur rimete pus tård.'''",
-'protectedpagewarning' => "'''ASTEME: Cisse pådje chal a stî protedjeye siconte des candjmints, seulmint les uzeus avou èn accès di manaedjeu el polèt candjî.'''",
-'semiprotectedpagewarning' => "'''Note:''' cisse pådje ci a stî protedjeye po k' seulmint les uzeus edjîstrés el polexhe candjî.",
-'templatesused' => 'Modeles eployîs e cisse pådje ci:',
+Do côp, vos n' såroz schaper vos candjmints asteure.'''
+Motoit vos dvrîz copyî et aclaper l' tecse dins on fitchî da vosse pol poleur rimete pus tård.
+
+Li manaedjeu k' a-st eclawé l' båze di dnêyes a dné cist esplicaedje ci: $1",
+'protectedpagewarning' => "'''ASTEME: Cisse pådje chal a stî protedjeye, seulmint les uzeus avou èn accès di manaedjeu el polèt candjî.'''
+Li dierinne intrêye ezès djournås est håynêye chal pa dzo po referince:",
+'semiprotectedpagewarning' => "'''Note:''' cisse pådje ci a stî protedjeye po k' seulmint les uzeus edjîstrés el polexhe candjî.
+Li dierinne intrêye do djournå est håynêye chal pa dzo po referince:",
+'templatesused' => '{{PLURAL:$1|Modele eployî|Modeles eployîs}} e cisse pådje ci:',
+'templatesusedpreview' => "{{PLURAL:$1|Modele eployî|Modeles eployîs}} e ç' prévoeyaedje ci:",
+'templatesusedsection' => '{{PLURAL:$1|Modele eployî|Modeles eployîs}} e cisse seccion ci:',
'template-protected' => '(protedjî)',
'template-semiprotected' => '(dimey-protedjî)',
'nocreatetitle' => 'Ahivaedje di pådjes limité',
-'nocreatetext' => "Cisse waibe ci a limité l' possibilité d' ahiver des novelès pådjes. Vos ploz rivni en erî eyet candjî ene pådje k' egzistêye dedja, oudonbén, [[Special:UserLogin|vos elodjî ou ahiver on conte d' uzeu]].",
+'nocreatetext' => "{{SITENAME}} a limité l' possibilité d' ahiver des novelès pådjes.
+Vos ploz rivni en erî eyet candjî ene pådje k' egzistêye dedja, oudonbén, [[Special:UserLogin|vos elodjî ou ahiver on conte d' uzeu]].",
'nocreate-loggedin' => "Vos n' avoz nén l' droet d' ahiver des novelès pådjes.",
-'recreate-moveddeleted-warn' => "'''Asteme : vous estoz ki rahive ene pådje k' a stî dsfacêye davance.'''
+'permissionserrorstext-withaction' => "Vos n' avoz nén l' droet d' $2, cåze {{PLURAL:$1|del råjhon shuvante|des råjhons shuvantes}}:",
+'recreate-moveddeleted-warn' => "'''Asteme : vous estoz ki rahive ene pådje k' a stî disfacêye davance.'''
Tuzez bén s' el fåt vormint rahiver, tot tapant èn ouy so l' istwere del pådje :",
'edit-gone-missing' => "Li pàdje n' a sepou esse rapontieye.
'viewpagelogs' => 'Vey les djournås po cisse pådje ci',
'nohistory' => "I n' a pont d' istwere des modêyes po cisse pådje chal.",
'currentrev' => "Modêye d' asteure",
+'currentrev-asof' => 'Dierinne modêye å $1',
'revisionasof' => 'Modêye do $1',
+'revision-info' => 'Modêye do $1 pa $2',
'previousrevision' => '←Modêye di dvant',
'nextrevision' => 'Modêye shuvante→',
'currentrevisionlink' => "Modêye d' asteure",
'cur' => 'ast.',
'next' => 'shuv.',
-'last' => 'dif.',
+'last' => 'div.',
'page_first' => 'prumî',
'page_last' => 'dierin',
'histlegend' => "Tchoezi les modêyes a comparer: clitchîz so les botons radio des deus modêyes
ki vos vloz comparer et s' tchôkîz sol tape «enter» ou clitchîz sol
boton do dzo.<br />
-Ledjinde: (ast.) = diferince avou l' modêye d' asteure,
-(dif.) = diferince avou l' modêye di dvant, M = pitit candjmint d' rén do tot.",
+Ledjinde: '''({{int:cur}})''' = diferince avou l' modêye d' asteure, '''({{int:last}})''' = diferince avou l' modêye di dvant, '''{{int:minoreditletter}}''' = pitit candjmint d' rén do tot.",
+'history-fieldset-title' => "Naivyî l' istwere des candjmints",
+'history-show-deleted' => 'Disfacés seulmint',
'histfirst' => 'li pus vî',
'histlast' => 'li dierin',
'historysize' => '({{PLURAL:$1|1 octet|$1 octets}})',
'historyempty' => '(vude)',
# Revision feed
+'history-feed-title' => 'Istwere des modêyes',
+'history-feed-description' => 'Istwere des candjmints di cisse pådje ci sol wiki',
'history-feed-item-nocomment' => '$1 li $2',
# Revision deletion
-'rev-deleted-comment' => '(comintaire oisté)',
+'rev-deleted-comment' => '(rascourti di candjmint oisté)',
'rev-deleted-user' => "(no d' elodjaedje oisté)",
'rev-deleted-text-permission' => 'Cisse modêye ci del pådje a stî oistêye foû des årtchives publikes.
I gn a motoit des racsegnes sol [{{fullurl:{{#Special:Log}}/suppress|page={{PAGENAMEE}}}} djournå des disfaçaedjes].',
'revdelete-hide-user' => "Catchî l' no d' uzeu/adresse IP do candjeu",
'revdelete-hide-restricted' => 'Apliker ces restrictions ossu åzès manaedjeus',
'revdelete-log' => 'Råjhon:',
-'revdelete-submit' => 'Apliker al modêye tchoezeye',
+'revdelete-submit' => 'Apliker {{PLURAL:$1|al modêye tchoezeye|åzès modêyes tchoezeyes}}',
# History merging
+'mergehistory-success' => '$3 modêye{{PLURAL:$3||s}} di [[:$1]] {{PLURAL:$3|a stî metowe|ont stî metowes}} avou [[:$2]].',
+'mergehistory-fail' => "Nén possibe di mete eshonne les istweres. Verifyîz l' pådje et les parametes di date.",
+'mergehistory-no-source' => "Li pådje sourdant $1 n' egzistêye nén.",
'mergehistory-reason' => 'Råjhon:',
# Diffs
+'history-title' => 'Istwere des candjmints po «$1»',
'lineno' => 'Roye $1:',
'compareselectedversions' => 'Comparer les modêyes tchoezeyes',
'editundo' => 'disfé',
'notitlematches' => 'Nol årtike avou on tite ki corespond',
'textmatches' => 'Årtikes avou do tecse ki corespond',
'notextmatches' => 'Nol årtike avou do tecse ki corespond',
-'prevn' => '$1 di dvant',
-'nextn' => '{{PLURAL:$1|$1}} shuvants',
+'prevn' => '{{PLURAL:$1|di dvant|$1 di dvant}}',
+'nextn' => '{{PLURAL:$1|shuvant|$1 shuvants}}',
+'prevn-title' => '$1 {{PLURAL:$1|rizultat|rizultats}} di dvant',
+'nextn-title' => '{{PLURAL:$1|rizultat shuvant|$1 rizultats shuvants}}',
'viewprevnext' => 'Vey ($1 {{int:pipe-separator}} $2) ($3).',
'searchmenu-exists' => "'''Gn a ddja ene pådje lomêye « [[:$1]] » so ç' wiki ci'''",
'searchhelp-url' => 'Help:Aidance',
+'searchprofile-everything' => 'Tot',
+'search-result-size' => '$1 ($2 mot{{PLURAL:$2||s}})',
'search-redirect' => '(ridjiblé di $1)',
-'search-interwiki-caption' => 'So les ôtes pordjets Wiki',
+'search-section' => '(seccion $1)',
+'search-interwiki-caption' => 'So les ôtes pordjets frés',
'search-interwiki-default' => 'Gn a des sfwaitès sacwès so $1 :',
'search-interwiki-more' => '(dipus)',
+'searchall' => 'totafwait',
'showingresults' => "Chal pa dzo {{PLURAL:$1|'''1''' rizultat|'''$1''' rizultats}} a pårti do limero '''$2'''.",
'showingresultsnum' => "Chal pa dzo {{PLURAL:$3|'''1''' rizultat|'''$3''' rizultats}} a pårti do limero '''$2'''.",
'nonefound' => "'''Note''': des cweraedjes ki n' dinèt nou rzultat c' est sovint li cweraedje di ptits mots trop corants (come «les», «des») ki n' sont nén indecsés, oudonbén des cweraedjes di pus d' on mot (seulmint les pådjes avou tos les mots dmandés sront håynêyes dins l' rizultat do cweraedje).",
'prefs-watchlist-days' => "Nombe di djoûs a mostrer dins l' djivêye:",
'prefs-watchlist-edits' => "Nombe di candjmints a mostrer dins l' djivêye:",
'prefs-misc' => 'Totes sôres',
+'prefs-rendering' => 'Rivnance',
'saveprefs' => 'Schaper les preferinces',
'resetprefs' => 'Rimete les prémetowès valixhances',
-'prefs-editing' => 'Grandeu del boesse di tecse',
+'restoreprefs' => 'Rimete totes les prémetowès valixhances',
+'prefs-editing' => 'Boesse di tecse',
'rows' => 'Royes',
'columns' => 'Colones',
'searchresultshead' => 'Håynaedje des rzultats di cweraedje',
'recentchangesdays' => 'Nombe di djoûs po les dierins candjmints:',
'recentchangescount' => 'Nombe di tites dins les dierins candjmints',
'savedprefs' => 'Vos preferinces ont stî schapêyes.',
-'timezonelegend' => "Coisse d' eureye",
-'localtime' => "Håyner l' eure locåle",
-'timezoneoffset' => "Diferince d' eures¹",
-'servertime' => "L' eure sol sierveu",
+'timezonelegend' => "Coisse d' eureye:",
+'localtime' => "L' eure locåle",
+'timezoneuseserverdefault' => "Epoyî l' prémetowe valixhance ($1)",
+'timezoneuseoffset' => "Ôte (dinez l' diferince d' eures)",
+'timezoneoffset' => "Diferince d' eures¹:",
+'servertime' => "L' eure sol sierveu:",
'guesstimezone' => "Prinde d' après l' betchteu",
+'timezoneregion-africa' => 'Afrike',
+'timezoneregion-america' => 'Amerike',
+'timezoneregion-antarctica' => 'Antartike',
+'timezoneregion-arctic' => 'Arctike',
+'timezoneregion-asia' => 'Azeye',
+'timezoneregion-atlantic' => 'Oceyan Atlantike',
+'timezoneregion-australia' => 'Ostraleye',
+'timezoneregion-europe' => 'Urope',
+'timezoneregion-indian' => 'Oceyan Indyin',
+'timezoneregion-pacific' => 'Oceyan Pacifike',
'allowemail' => "Permete di rçure des emiles d' ôtes uzeus",
-'defaultns' => 'Prémetous spåces di nos pol cweraedje:',
+'prefs-searchoptions' => 'Tchuzes di cweraedje',
+'prefs-namespaces' => 'Espåces di lomaedje',
+'defaultns' => 'Oudonbén dins les spåces di nos shuvants:',
'default' => 'prémetou',
'prefs-files' => 'Fitchîs',
-'youremail' => 'Vost emile*',
+'prefs-custom-css' => 'CSS a vosse môde',
+'prefs-custom-js' => 'JavaScript a vosse môde',
+'prefs-common-css-js' => 'CSS/JavaScript pårtaedjî po totes les peas:',
+'prefs-reset-intro' => "Vos ploz eployî ç' boton chal po rmete totes vos preferinces åzès prémetowès valixhances del waibe.
+Çoul n' pôrè nén esse disfwait.",
+'prefs-emailconfirm-label' => "Acertinaedje di l' emile:",
+'prefs-textboxsize' => 'Grandeu del boesse di tecse',
+'youremail' => 'Vost emile:',
'username' => "No d' elodjaedje:",
'uid' => "Limero d' l' uzeu:",
-'yourrealname' => 'Li vraiy no da vosse*',
+'prefs-memberingroups' => 'Mimbe {{PLURAL:$1|do groupe|des groupes}}:',
+'prefs-registration' => "Date d' edjîstraedje:",
+'yourrealname' => 'Li vraiy no da vosse:',
'yourlanguage' => "Lingaedje po l' eterface",
-'yourvariant' => 'Variante do lingaedje',
-'yournick' => 'Vosse no metou (po les sinateures)',
-'badsig' => 'Sinateure brute nén valide; verifyîz les etiketes HTML.',
+'yourvariant' => 'Variante di lingaedje pol contnou:',
+'prefs-help-variant' => "Li variante ou ortografeye ki vos avoz ptchî po håyner li contnou des pådjes so ç' wiki ci.",
+'yournick' => 'Novele sinateure:',
+'prefs-help-signature' => "Les comintaires so les pådjes di copene divrént esse sinés avou «<nowiki>~~~~</nowiki>» (dj' ô bén, 4 wachletes), çou ki srè candjî otomaticmint a vosse sinateure eyet li date et l' eure.",
+'badsig' => 'Sinateure brute nén valide.
+Verifyîz les etiketes HTML.',
+'badsiglength' => "Vosse sinateure est pår trop longowe.
+Racourtixhoz l' a moens di $1 {{PLURAL:$1|caractere|caracteres}}.",
+'yourgender' => 'Seke:',
+'gender-unknown' => 'Nén dné',
+'gender-male' => 'Omrin',
+'gender-female' => 'Femrin',
+'prefs-help-gender' => "Seke (opcionel): eployî po-z acoirder l' djinre di sacwants messaedjes di l' eterface.
+Ciste infôrmacion serè publike po tertos.",
'email' => 'Emile',
-'prefs-help-realname' => '* Li vraiy no da vosse (opcionel): si vos tchoezixhoz del diner i serè-st eployî po les contribouwaedjes da vosse.',
-'prefs-help-email' => "* Emile (opcionel): Permete di rçure des emiles ki ds ôtes uzeus vos polèt evoyî a pårti del pådje d' uzeu da vosse, sins ki voste adresse emile ni soeye håynêye.",
+'prefs-help-realname' => 'Li vraiy no da vosse (opcionel): si vos tchoezixhoz del diner i serè-st eployî po les contribouwaedjes da vosse.',
+'prefs-help-email' => "Emile (opcionel): permete di rçure des emiles ki ds ôtes uzeus vos polèt evoyî a pårti del pådje d' uzeu da vosse, sins ki voste adresse emile ni soeye håynêye.",
+'prefs-help-email-others' => "Vos ploz eto tchoezi k' les ôtes vos emilexhe a pårti d' on loyén sol pådje di copene da vosse. Voste adresse emile n' est nén veyowe cwand des ôtes uzeus vos scrijhèt.",
+'prefs-help-email-required' => 'I fåt dner ene adresse emile.',
+'prefs-info' => "Infôrmåcion d' båze",
+'prefs-i18n' => 'Eternåcionålijhaedje',
'prefs-signature' => 'Sinateure',
'prefs-dateformat' => 'Cogne del date',
+'prefs-timeoffset' => "Diferince d' eures",
+'prefs-advancedediting' => 'Sipepieuzès tchuzes',
+'prefs-advancedrc' => 'Sipepieuzès tchuzes',
+'prefs-advancedrendering' => 'Sipepieuzès tchuzes',
+'prefs-advancedsearchoptions' => 'Sipepieuzès tchuzes',
+'prefs-advancedwatchlist' => 'Sipepieuzès tchuzes',
+'prefs-displayrc' => 'Tchuzes di håynaedje',
+'prefs-displaysearchoptions' => 'Tchuzes di håynaedje',
+'prefs-displaywatchlist' => 'Tchuzes di håynaedje',
+'prefs-diffs' => 'Diferinces',
+
+# User preference: e-mail validation using jQuery
+'email-address-validity-valid' => "L' adresse emile a l' air d' esse valide",
+'email-address-validity-invalid' => 'Dinez ene adresse emile valide',
# User rights
'userrights' => 'Manaedjî les liveas des uzeus',
-'userrights-lookup-user' => "Manaedjî les groupes d' èn uzeu",
+'userrights-lookup-user' => "Manaedjî les groupes d' uzeus",
'userrights-user-editname' => "Tapez on no d' uzeu:",
-'editusergroup' => "Candjî les groupes di l' uzeu",
-'editinguser' => "Candjant '''[[User:$1|$1]]''' $2",
-'userrights-editusergroup' => "Candjî groupes d' uzeus",
-'saveusergroups' => "Schaper des groupes d' uzeus",
-'userrights-groupsmember' => 'Mimbes di:',
+'editusergroup' => "Candjî les groupes d' uzeus",
+'editinguser' => "Candjant les droets d' l' {{GENDER:$1|uzeu|uzeuse}} '''[[User:$1|$1]]''' $2",
+'userrights-editusergroup' => "Candjî les groupes d' uzeus",
+'saveusergroups' => "Schaper les groupes d' uzeus",
+'userrights-groupsmember' => 'Mimbe di:',
+'userrights-groupsmember-auto' => 'Mimbe implicite di:',
+'userrights-groups-help' => "Vos ploz candjî les groupes ki {{GENDER:\$1|cist uzeu|ciste uzeuse}} apårtént:
+* Ene boesse clitcheye c' est k' {{GENDER:\$|il|elle}} est mimbe do groupe.
+* Ene boesse disclitcheye c' est k' {{GENDER:\$|i|ele}} n' end est nén mimbe.
+* Ene sitoele (*) mostere k' on n' pout nén rsaetchî l' groupe on côp k' il a stî radjouté, ou årvierdimint.",
'userrights-reason' => 'Råjhon:',
+'userrights-no-interwiki' => "Vos n' avoz nén les permissions po candjî les droets des uzeus so ds ôtes wikis.",
+'userrights-nologin' => 'Vos vs divoz [[Special:UserLogin|elodjî]] avou on conte manaedjeu por vos pleur candjî les droets des uzeus.',
+'userrights-notallowed' => "Li conte da vosse n' pout nén radjouter ou rsaetchî des droets des uzeus.",
+'userrights-changeable-col' => 'Groupes ki vos ploz candjî',
+'userrights-unchangeable-col' => "Groupes ki vos n' poloz nén candjî",
# Groups
'group' => 'Groupe:',
+'group-user' => 'Uzeus',
+'group-autoconfirmed' => 'Uzeus edjîstrés',
'group-bot' => 'Robots',
'group-sysop' => 'Manaedjeus',
'group-bureaucrat' => 'Mwaisse-manaedjeus',
+'group-suppress' => 'Supervizeus',
'group-all' => '(tertos)',
-'group-bot-member' => 'robot',
-'group-sysop-member' => 'manaedjeu',
-'group-bureaucrat-member' => 'mwaisse-manaedjeu',
+'group-user-member' => '{{GENDER:$1|uzeu|uzeuse}}',
+'group-autoconfirmed-member' => '{{GENDER:$1|uzeu edjîstré|uzeuse edjîstrêye}}',
+'group-bot-member' => '{{GENDER:$1|robot|robote}}',
+'group-sysop-member' => '{{GENDER:$1|manaedjeu|manaedjresse}}',
+'group-bureaucrat-member' => '{{GENDER:$1|mwaisse-manaedjeu|mwaisse-manaedjresse}}',
+'group-suppress-member' => '{{GENDER:$1|supervizeu|supervizeuse}}',
+'grouppage-user' => '{{ns:project}}:Uzeus',
+'grouppage-autoconfirmed' => '{{ns:project}}:Uzeus edjîstrés',
'grouppage-bot' => '{{ns:project}}:Robots',
'grouppage-sysop' => '{{ns:project}}:Manaedjeus',
'grouppage-bureaucrat' => '{{ns:project}}:Mwaisse-manaedjeus',
+'grouppage-suppress' => '{{ns:project}}:Supervizeus',
# Rights
'right-read' => 'Lére les pådjes',
+'right-edit' => 'Candjî les pådjes',
+'right-createpage' => "Ahiver des pådjes (ki n' sont nén des pådjes di copene)",
+'right-createtalk' => 'Ahiver des pådjes di copinaedje',
+'right-createaccount' => "Ahiver des noveas contes d' uzeu",
+'right-minoredit' => 'Marker les candjmints come mineurs',
+'right-move' => 'Displaecî des pådjes',
+'right-move-subpages' => 'Displaecî des pådjes avou leus dzo-pådjes',
+'right-move-rootuserpages' => 'Displaecî les pådjes raecene des uzeus',
+'right-movefile' => 'Displaecî des fitchîs',
+'right-upload' => 'Eberweter des fitchîs',
+'right-reupload' => "Sipotchî des fitchîs k' egzitèt ddja",
+'right-reupload-own' => 'Sipotchî les itchîs eberwetés pa vos-minme',
+'right-reupload-shared' => "Sipotchî locålmint des fitchî ki s' trovèt sol depot pårtaedjî",
+'right-upload_by_url' => "Eberweter des fitchîs a pårti d' hårdêyes",
+'right-purge' => "Vudî l' muchete des pådjes sins acertinaedje",
+'right-autoconfirmed' => 'Candjî les pådjes dimey-protedjeyes',
+'right-bot' => 'Esse traitî come on programe otomatike',
+'right-nominornewtalk' => "Èn nén dire k' i gn a des noveas messaedjes cwand les candjmints del pådje di copene d' èn uzeu sont mineurs",
+'right-writeapi' => "Eployî l' API di scrijhaedje sol wiki",
+'right-delete' => 'Disfacer des pådjes',
+'right-bigdelete' => 'Disfacer des pådjes avou ene longowe istwere',
+'right-deleterevision' => "Disfacer et rapexhî des modêyes d' ene pådje",
+'right-suppressrevision' => 'Verifyî et rapexhî les modêyes catcheyes åzès manaedjeus',
+'right-suppressionlog' => 'Vey les djournås privés',
+'right-block' => "Espaitchî d' ôtes uzeus di scrire",
+'right-blockemail' => "Espaitchî èn uzeu d' evoyî des emiles",
+'right-hideuser' => "Bloker on no d' uzeu, tot catchant s' no ås ôtes",
+'right-ipblock-exempt' => "Passer houte des blocaedjes pa adresse IP, pa fortchete d' adresses ou des blocaedjes otomatikes",
+'right-proxyunbannable' => 'Passer houte des blocaedjes otomatikes des procsis',
+'right-unblockself' => 'Si disbloker lu-minme',
+'right-protect' => "Candjî les liveas d' protedjaedje eyet candjî les pådjes protedjeyes",
# User rights log
'rightslog' => 'Djournå des droets des uzeus',
'rightslogtext' => "Çouchal, c' est on djournå des candjmints des droets des uzeus.",
-'rightslogentry' => "l' uzeu «$1» a stî candjî do groupe «$2» viè «$3»",
+'rightslogentry' => "a candjî l' uzeu «$1» do groupe «$2» viè «$3»",
+'rightslogentry-autopromote' => 'a stî otomaticmint candjî di «$2» a «$3»',
'rightsnone' => '(nouk)',
# Associated actions - in the sentence "You do not have permission to X"
+'action-read' => 'lére cisse pådje ci',
+'action-edit' => "candjî l' pådje",
'action-createpage' => 'ahiver des pådjes',
'action-createtalk' => 'ahiver des pådjes di copinaedje',
'action-createaccount' => "ahiver ci conte d' uzeu ci",
-'action-delete' => 'Disfacer cisse pådje ci',
+'action-minoredit' => "marker ç' candjmint la come mineur",
+'action-move' => 'displaecî cisse pådje ci',
+'action-move-subpages' => "displaecî l' pådje et ses dzo-pådjes",
+'action-move-rootuserpages' => "displaecî l' pådje raecene d' èn uzeu",
+'action-movefile' => "displaecî ç' fitchî ci",
+'action-upload' => "eberweter ç' fitchî ci",
+'action-reupload' => 'sipotchî ci fitchî ci',
+'action-reupload-shared' => "sipotchî l' pårtaedjî fitchî avou ci-chal",
+'action-upload_by_url' => "eberweter l' fitchî a pårti d' ene hårdêye",
+'action-writeapi' => "eployî l' API di scrijhaedje",
+'action-delete' => 'disfacer cisse pådje ci',
+'action-deleterevision' => 'disfacer cisse modêye ci',
'action-browsearchive' => 'Loukî après les disfacêyès pådjes',
-'action-block' => 'Espaitchî cist(e) uzeu(se) ci di scrire',
+'action-suppressionlog' => 'vey ci djournå privé ci',
+'action-block' => 'espaitchî cist(e) uzeu(se) ci di scrire',
+'action-protect' => "candjî les liveas d' protedjaedje del pådje",
# Recent changes
'nchanges' => '$1 {{PLURAL:$1|candjmint|candjmints}}',
'recentchanges' => 'Dierins candjmints',
-'recentchangestext' => "Shuvoz chal les dierins candjmints k' i gn a yeu dsu {{SITENAME}}.",
+'recentchanges-summary' => "Shuvoz chal les dierins candjmints k' i gn a yeu dsu {{SITENAME}}.",
'rcnote' => 'Chal pa dzo les <strong>$1</strong> dierins candjmints des dierins <strong>$2</strong> djoûs, å $3.',
-'rcnotefrom' => "Chal pa dzo les candjmints dispoy li <b>$2</b> (disk' a <b>$1</b> di mostrés).",
+'rcnotefrom' => "Chal pa dzo les candjmints dispoy li '''$2''' (disk' a '''$1''' di mostrés).",
'rclistfrom' => "Mostrer les candjmints k' i gn a yeu a pårti do $1",
'rcshowhideminor' => '$1 candjmints mineurs',
'rcshowhidebots' => '$1 robots',
'diff' => 'dif.',
'hist' => 'ist.',
'hide' => 'Muchyî',
-'show' => 'håyner',
+'show' => 'Håyner',
+'minoreditletter' => 'm',
'number_of_watching_users_pageview' => '[shuvou pa $1 {{PLURAL:$1|uzeu|uzeus}}]',
'rc_categories' => 'Limiter åzès categoreyes (separer avou des «|»)',
'rc_categories_any' => 'Totes',
'upload-file-error' => 'Divintrinne aroke',
-'license' => "Licince di l' imådje",
+'license' => 'Licince:',
'nolicense' => 'Nole licince tchoezeye',
'upload_source_file' => ' (on fitchî sol copiutrece da vosse)',
'filehist-dimensions' => 'Grandeur',
'filehist-filesize' => 'Grandeur do fitchî',
'filehist-comment' => 'Comintaire',
-'imagelinks' => 'Loyéns viè ciste imådje cial',
-'linkstoimage' => '{{PLURAL:$1|Li pådje shuvante|Les pådjes shuvantes}} eployèt ciste imådje chal:',
+'imagelinks' => 'Eployaedjes do fitchî',
+'linkstoimage' => '{{PLURAL:$1|Li pådje shuvante eploye|Les $1 pådjes shuvantes eployèt}} ciste imådje chal:',
'nolinkstoimage' => "I n' a nole pådje k' eploye ciste imådje chal.",
'sharedupload' => "Ci fitchî ci est so on ridant pårtaedjî ey i s' pout k' i soeye eployî pa ds ôtes pordjets.",
'sharedupload-desc-there' => 'Ci fitchî ci provént di $1; si pout i esse reployî dins des ôtes pordjets "Wiki". Loukîz [$2 si pådje di discrijhaedje] po-z esse mî racsegnî.',
'nmembers' => '$1 {{PLURAL:$1|mimbe|mimbes}}',
'nrevisions' => '$1 {{PLURAL:$1|modêye|modêyes}}',
'nviews' => 'léjhowe $1 {{PLURAL:$1|côp|côps}}',
+'nimagelinks' => 'Eployî so $1 pådje{{PLURAL:$1||s}}',
+'ntransclusions' => 'eployî so $1 pådje{{PLURAL:$1||s}}',
'specialpage-empty' => 'Cisse pådje cial est vude.',
'lonelypages' => 'Pådjes ôrfulinnes',
'uncategorizedpages' => 'Pådjes sins nole categoreye',
'uncategorizedcategories' => 'Categoreyes nén categorijheyes',
-'uncategorizedimages' => 'Imådjes nén categorijheyes',
+'uncategorizedimages' => 'Fitchîs nén categorijhîs',
'uncategorizedtemplates' => 'Modele nén categorijhî',
'unusedcategories' => 'Categoreyes nén eployeyes',
'unusedimages' => 'Imådjes nén eployeyes',
'deadendpages' => 'Pådjes sins nou loyén wiki',
'protectedpages' => 'Pådjes protedjeyes',
'listusers' => 'Djivêye des uzeus',
+'usercreated' => '{{GENDER:$3|Edjîstré|Edjîstrêye}} li $1 a $2',
'newpages' => 'Novelès pådjes',
+'newpages-username' => "No d' elodjaedje:",
'ancientpages' => 'Viyès pådjes',
'move' => 'Displaecî',
'movethispage' => 'Displaecî cisse pådje',
'unusedimagestext' => "Notez tot l' minme ki d' ôtès waibes polèt aveur des loyéns viè ces imådjes la gråcès a ene direke hårdêye. Do côp, ces imådjes aparexhèt chal, mågré k' ele soeyexhe eployeyes.",
'unusedcategoriestext' => "Les pådjes di categoreye shuvantes egzistént, mins i n' a nol årtike ni categoreye å dvins.",
-'pager-newer-n' => '{{PLURAL:$1|pus novea 1|pus noveas $1}}',
-'pager-older-n' => '{{PLURAL:$1|pus vî 1|pus vîs $1}}',
+'pager-newer-n' => '{{PLURAL:$1|$1 pus novea|$1 pus noveas}}',
+'pager-older-n' => '{{PLURAL:$1|$1 pus vî|$1 pus vîs}}',
# Book sources
'booksources' => 'Sourdants po les lives',
# Special:Log
-'specialloguserlabel' => 'Uzeu:',
-'speciallogtitlelabel' => 'Tite:',
+'specialloguserlabel' => 'Fwait pa:',
+'speciallogtitlelabel' => 'Såme (tite ou uzeu):',
'log' => 'Djournås',
-'alllogstext' => "Håynaedje etercroejhlé des djournås d' eberwetaedje, disfaçaedje, protedjaedje, blocaedje eyet manaedjeus.
-Vos ploz limiter l' håynaedje tot tchoezixhant ene sôre di djournå, on no d' uzeu, ou l' tite d' ene pådje.",
+'all-logs-page' => 'Tos les djournås publiks',
+'alllogstext' => "Håynaedje etercroejhlé di tos les djournås disponibes so {{SITENAME}}.<br />
+Vos ploz defini l' håynaedje tot tchoezixhant ene sôre di djournå, on no d' uzeu, ou l' tite d' ene pådje (po ces deus dierins l' sitinme fwait l' diferince inte les grandes et les ptitès letes).",
'logempty' => "Rén n' corespond dins l' djournå.",
+'log-title-wildcard' => "Cweri emey les tites ki cmincèt avou ç' tecse la",
# Special:AllPages
'allpages' => 'Totes les pådjes',
# Special:Categories
'categories' => 'Categoreyes',
-'categoriespagetext' => 'I gn a les categoreyes shuvantes sol wiki.
-[[Special:UnusedCategories|Unused categories]] are not shown here.
-Also see [[Special:WantedCategories|wanted categories]].',
+'categoriespagetext' => '{{PLURAL:$1|Li categoreye shuvante est eployeye|Les categoreyes shuvantes sont-st eployeyes}} pa des pådjes ou des fitchîs.
+[[Special:UnusedCategories|Les categoreyes nén eployeyes]] èn sont nén håynêyes chal.
+Loukîz eto [[Special:WantedCategories|les categoreyes dimandêyes]].',
+'categoriesfrom' => 'Håyner les categoreyes a pårti di:',
# Special:Log/newusers
'newuserlogpage' => 'Djournå des noveas uzeus',
'watchlistcontains' => 'I gn a {{PLURAL:$1|$1 pådje|$1 pådjes}} e vosse djivêye des pådjes a shuve.',
'iteminvalidname' => "Åk n' a nén stî avou «$1», li no n' est nén valide...",
'wlnote' => 'Chal pa dzo les $1 dierins candjmints des <b>$2</b> dierinnès eures.',
-'wlshowlast' => 'Mostrer les dierin(nè)s $1 eures, $2 djoûs $3',
+'wlshowlast' => 'Mostrer les dierin(nè)s $1 eures, $2 djoûs ou $3',
'enotif_mailer' => 'Notifiaedje pa emile di {{SITENAME}}',
'enotif_reset' => 'Mårker totes les pådjes come vizitêyes',
'protect-default' => '(prémetou)',
'protect-level-autoconfirmed' => 'Bloker les uzeus nén eredjîstrés',
'protect-level-sysop' => 'Seulmint les manaedjeus',
-'protect-expiry-options' => '2 eures:2 hours,1 djoû:1 day,1 samwinne:1 week,2 samwinnes:2 weeks,1 moes:1 month,3 moes:3 months,6 moes:6 months,1 anêye:1 year,po todi:infinite',
+'protect-expiry-options' => '1 eure:1 hour,1 djoû:1 day,1 samwinne:1 week,2 samwinnes:2 weeks,1 moes:1 month,3 moes:3 months,6 moes:6 months,1 anêye:1 year,po todi:infinite',
'pagesize' => '(octets)',
# Restrictions (nouns)
'contribsub2' => "Po l' uzeu $1 ($2)",
'nocontribs' => "Nou candjmint di trové ki corespondreut a ç' critere la.",
'month' => "dispu l' moes (et pus timpe)",
+'year' => "Dispu l' anêye (et pus timpe):",
+'sp-contributions-newbies' => 'Mostrer seulmint les contribouwaedjes des noveas contes',
'sp-contributions-talk' => 'Copiner',
'sp-contributions-userrights' => 'Manaedjî les liveas des uzeus',
'sp-contributions-submit' => 'Cweri',
'linkshere' => 'Les pådjes ki shuvèt ont des loyéns viè cisse ci:',
'nolinkshere' => 'Nole pådje avou des loyéns viè cisse ci.',
'isredirect' => 'pådje di redjiblaedje',
+'whatlinkshere-prev' => '{{PLURAL:$1|di dvant|$1 di dvant}}',
+'whatlinkshere-next' => '{{PLURAL:$1|shuvant|$1 shuvants}}',
'whatlinkshere-links' => '← loyaedjes',
-'whatlinkshere-hideredirs' => '$1 ridjiblaedjes',
-'whatlinkshere-hidelinks' => '$1 loyaedjes',
+'whatlinkshere-hideredirs' => '$1 les rdjiblaedjes',
+'whatlinkshere-hidelinks' => '$1 les loyaedjes',
'whatlinkshere-hideimages' => "$1 fitchîs k' eploynut cist imådje ci",
'whatlinkshere-filters' => 'Passettes',
'talkexists' => "'''Li pådje leye minme a stî displaeceye comifåt, mins nén li pådje di copene, ca i gn aveut ddja ene pådje di copene k' egzistéve al novele plaece. I vs fårè copyî l' tecse del pådje di copene al mwin.'''",
'movedto' => 'displaecî viè',
'movetalk' => 'Displaecî li pådje di copene avou, si ça astchait.',
-'movelogpage' => 'Djournå des displaçaedjes',
+'movelogpage' => 'Djournå des displaeçaedjes',
'movelogpagetext' => "Chal pa dzo c' est ene djivêye des pådjes k' on stî displaceyes.",
'movereason' => 'Råjhon:',
'revertmove' => 'disfé',
'importnotext' => "Vude ou pont d' tecse",
'importsuccess' => 'Li ristitchaedje a stî comifåt!',
+# Import log
+'importlogpage' => 'Djournå des ristitchaedjes',
+'importlogpagetext' => "Ristitchaedjes (import) administratifs di pådjes avou leus istorikes di candjmints, a pårti d' ôtes wikis.",
+'import-logentry-upload' => 'a ristitchî [[$1]] avou èn eberwetaedje di fitchî',
+'import-logentry-upload-detail' => '$1 {{PLURAL:$1|modêye|modêyes}}',
+'import-logentry-interwiki' => "a ristitchî $1 foû d' èn ôte wiki",
+'import-logentry-interwiki-detail' => '$1 {{PLURAL:$1|modêye|modêyes}} foû di $2',
+
# Tooltip help for the actions
'tooltip-pt-userpage' => "Pådje d' uzeu da minne",
'tooltip-pt-anonuserpage' => "Li pådje d' uzeu po l' adresse IP ki vos eployîz pol moumint",
'tooltip-pt-logout' => 'Vos dislodjî',
'tooltip-ca-talk' => 'Copene åd fwait do contnou del pådje',
'tooltip-ca-edit' => "Vos ploz candjî cisse pådje ci. S' i vs plait, eployîz l' boton «Vey divant» po vs acertiner k' tot est comifåt dvant d' schaper vos candjmints.",
-'tooltip-ca-addsection' => 'Radjouter on comintaire a cisse copene ci.',
-'tooltip-ca-viewsource' => "Cisse pådje ci est protedjeye. Vos ploz seulmint vey li côde sourdant, mins nén l' candjî.",
+'tooltip-ca-addsection' => 'Radjouter ene novele seccion',
+'tooltip-ca-viewsource' => "Cisse pådje ci est protedjeye.
+Vos ploz seulmint vey li côde sourdant, mins nén l' candjî.",
'tooltip-ca-history' => 'Viyès modêyes del pådje.',
'tooltip-ca-protect' => 'Protedjî cisse pådje ci',
'tooltip-ca-delete' => 'Disfacer ci pådje ci',
'tooltip-ca-watch' => 'Radjouter cisse pådje ci al djivêye di vos årtikes shuvous',
'tooltip-ca-unwatch' => 'Bodjî cisse pådje ci di vosse djivêye des årtikes shuvous',
'tooltip-search' => 'Cweri so ci wiki chal',
+'tooltip-search-fulltext' => "Cweri les pådjes avou ç' tecse ci",
'tooltip-p-logo' => 'Mwaisse pådje',
'tooltip-n-mainpage' => 'Vizitez li Mwaisse pådje',
+'tooltip-n-mainpage-description' => 'Vizitez li Mwaisse pådje',
'tooltip-n-portal' => "Åd fwait do pordjet, çou k' vos ploz fé, wice trover des sacwès",
'tooltip-n-currentevents' => "Des infôrmåcions so des evenmints d' actouwålité",
'tooltip-n-recentchanges' => "Li djivêye des dierins candjmints k' i gn a-st avou sol wiki.",
'tooltip-t-emailuser' => 'Evoyî èn emile a cist uzeu ci',
'tooltip-t-upload' => 'Eberweter sol sierveu des imådjes ou fitchîs media',
'tooltip-t-specialpages' => 'Djivêye di totes les pådjes sipeciåles',
+'tooltip-t-print' => 'Modêye sicrirece-amiståve del pådje',
'tooltip-ca-nstab-main' => 'Vey li pådje di contnou',
'tooltip-ca-nstab-user' => "Vey li pådje di l' uzeu",
'tooltip-ca-nstab-media' => 'Vey li pådje di media',
-'tooltip-ca-nstab-special' => "Çouchal, c' est ene pådje sipeciåle, vos n' poloz nén candjî l' pådje leyminme.",
+'tooltip-ca-nstab-special' => "Çouchal, c' est ene pådje sipeciåle, vos n' poloz nén candjî l' pådje leye-minme.",
'tooltip-ca-nstab-project' => 'Vey li pådje di pordjet',
'tooltip-ca-nstab-image' => "Vey li pådje d' imådje",
'tooltip-ca-nstab-mediawiki' => 'Vey li messaedje ratournåve do sistinme',
'creditspage' => 'Pådje di credits',
'nocredits' => "I n' a pont d' infôrmåcion di credits po cisse pådje ci.",
+# Info page
+'pageinfo-header-views' => 'Vuwes',
+'pageinfo-subjectpage' => 'Pådje',
+'pageinfo-talkpage' => 'Pådje di copene',
+'pageinfo-watchers' => 'Nombe di shuveus',
+'pageinfo-edits' => 'Nombe di candjmints',
+'pageinfo-authors' => "Nombe d' oteurs diferins",
+'pageinfo-views' => 'Nombe di lijhaedjes',
+
+# Patrolling
+'markaspatrolleddiff' => 'Marké come patrouyî',
+'markaspatrolledtext' => 'Marker cisse pådje ci come dedja patrouyeye',
+
+# Patrol log
+'patrol-log-page' => 'Djournå des patrouyaedjes',
+'patrol-log-header' => "Çouchal c' est on djournå des modêyes k' ont stî patrouyeyes.",
+
# Image deletion
'deletedrevision' => 'Viye modêye $1 disfacêye',
+'filedelete-missing' => "Li fitchî «$1» n' pout nén esse disfacé, la k' i n' egzistêye nén.",
+'filedelete-old-unregistered' => "Li modêye do fitchî dnêye «$1» ni s' trove nén el båze di dnêyes.",
+'filedelete-current-unregistered' => "Li fitchî dné «$1» ni s' trove nén el båze di dnêyes.",
# Browsing diffs
'previousdiff' => '← Diferinces des candjmints di dvant',
'nextdiff' => 'Diferinces des candjmints shuvants →',
# Media information
-'mediawarning' => "'''Asteme''': Ci fitchî chal pôreut esse evirussé, si vos l' enondez vos pôrîz infecter l' sistinme da vosse.",
-'imagemaxsize' => "Limite pol håynaedje ezès pådjes d' imådje:",
+'mediawarning' => "'''Asteme''': Ci fitchî chal pôreut esse evirussé.
+Si vos l' enondez vos pôrîz infecter l' sistinme da vosse.",
+'imagemaxsize' => "Limite pol grandeu des imådjes:<br />''(ezès pådjes d'i discrijhaedje di fitchîs)''",
'thumbsize' => 'Grandeu po les imådjetes (thumb):',
'file-info-size' => '$1 × $2 picsels, groxheur do fitchî: $3, del sôre "MIME": $4',
-'show-big-image' => 'Pus grande imådje',
+'show-big-image' => "Imådje a si grandeur d' oridjinne",
# Special:NewFiles
'newimages' => 'Galreye des nouvès imådjes',
'bydate' => 'pazès dates',
'sp-newimages-showfrom' => 'Mostrer les nouvès imådjes a pårti do $2, $1',
+# Video information, used by Language::formatTimePeriod() to format lengths in the above messages
+'seconds' => '$1 segonde{{PLURAL:$1||s}}',
+'minutes' => '$1 munute{{PLURAL:$1||s}}',
+'hours' => '$1 eures{{PLURAL:$1||s}}',
+'days' => '$1 djoû{{PLURAL:$1||s}}',
+'ago' => 'i gn a $1',
+
# Metadata
'metadata' => 'Meta-dnêyes',
'metadata-help' => "Ci fitchî chal a des infôrmåcions di rawete, motoit bén radjoutêyes pa l' aparey foto limerike ou l' sicanrece eployeye po fé l' imådje. Si l' imådje a stî candjeye dispoy adon, i s' pout ki sacwants detays ni corespondexhe pus totafwait.",
'exif-gpsareainformation' => 'No del redjon GPS',
'exif-gpsdatestamp' => 'Date do GPS',
'exif-gpsdifferential' => 'Coridjaedje diferenciel do GPS',
+'exif-iimcategory' => 'Categoreye',
+'exif-iimsupplementalcategory' => 'Categoreyes di rawete',
'exif-orientation-1' => 'Normå',
'exif-orientation-3' => 'Tourné di 180°',
# External editor support
'edit-externally' => "Candjî ç' fitchî ci avou on dfoûtrin programe",
-'edit-externally-help' => "Loukîz les [//www.mediawiki.org/wiki/Manual:External_editors instruccions d' apontiaedje] po pus di racsegnes.",
+'edit-externally-help' => "(Loukîz les [//www.mediawiki.org/wiki/Manual:External_editors instruccions d' apontiaedje] po pus di racsegnes)",
# 'all' in various places, this might be different for inflected languages
'watchlistall2' => 'totafwait',
acertinez ki l' adresse emile est djusse tot dnant l' côde.",
'confirmemail_send' => "Emiler on côde d' acertinaedje",
'confirmemail_sent' => "L' emile d' acertinaedje a stî evoyî.",
-'confirmemail_sendfailed' => "Dji n' a savou evoyî l' emile d' acertinaedje. Verifyîz ki l' adresse est bén djusse.",
+'confirmemail_sendfailed' => "{{SITENAME}} n' a nén savou vs evoyî l' emile d' acertinaedje.
+Verifyîz ki l' adresse est bén djusse.
+
+Li programe d' emilaedje a rtourné: $1",
'confirmemail_invalid' => "Côde d' acertinaedje nén valide. Motoit k' il esteut trop vî.",
'confirmemail_needlogin' => 'I vs fåt $1 po pleur acertiner voste adresse emile.',
'confirmemail_success' => 'Voste adresse emile a stî acertinêye. Vos vs poloz asteure elodjî eyet profiter do wiki.',
$3
-Si c' est *nén* vos k' a-st ahivé l' conte, adon èn shuvoz
-nén l' hårdêye. Ci côde d' acertinaedje ci va-st espirer
-po l' $4.",
+Si c' est *nén* vos k' a-st ahivé l' conte, adon shuvoz
+l' hårdêye shuvante po fé rnoncî l' acertinaedje d' emile:
+
+$5
+
+Ci côde d' acertinaedje ci va-st espirer po l' $4.",
# Scary transclusion
'scarytranscludetoolong' => '[Li hårdêye est pår trop longue]',
# Delete conflict
-'deletedwhileediting' => 'Asteme: Cisse pådje ci a stî disfacêye sol tins ki vos scrijhîz!',
+'deletedwhileediting' => "'''Asteme''': Cisse pådje ci a stî disfacêye sol tins ki vos scrijhîz!",
'confirmrecreate' => "L' uzeu [[User:$1|$1]] ([[User talk:$1|copene]]) a disfacé cisse pådje ci après ki vos avoz cmincî a scrire, li råjhon k' il a dné c' est:
: ''$2''.
Acertinez s' i vs plait ki vos vloz vormint rifé cisse pådje ci.",
'imgmultipagenext' => 'pådje shuvante →',
# Table pager
+'ascending_abbrev' => 'crexh.',
+'descending_abbrev' => 'discr.',
'table_pager_next' => 'Pådje shuvante',
'table_pager_prev' => 'Pådje di dvant',
'table_pager_first' => 'Prumire pådje',
# Auto-summaries
'autosumm-replace' => 'Li contnou a stî replaecé pa « $1 »',
'autoredircomment' => 'Redjiblaedje viè [[$1]]',
-'autosumm-new' => 'Novele pådje: $1',
+'autosumm-new' => 'Pådje ahivêye avou «$1»',
# Size units
'size-bytes' => '$1 o',
'size-megabytes' => '$1 Mo',
'size-gigabytes' => '$1 Go',
+# Live preview
+'livepreview-loading' => 'Tcherdjant...',
+
# Watchlist editor
'watchlistedit-raw-titles' => 'Tites:',
# Special:Version
'version' => 'Modêye des programes',
+'version-skins' => 'Peas',
+'version-other' => 'Ôtes',
+'version-software-version' => 'Modêye',
+
+# Special:FilePath
+'filepath-page' => 'Fitchî:',
+
+# Special:FileDuplicateSearch
+'fileduplicatesearch-submit' => 'Cweri',
# Special:SpecialPages
'specialpages' => 'Pådjes sipeciåles',
'specialpages-group-highuse' => 'Eployaedje timpesse des pådjes',
'specialpages-group-redirects' => 'Ridjiblaedjes di pådjes sipeciåles',
+# Special:Tags
+'tags-edit' => 'candjî',
+'tags-hitcount' => '$1 candjmint{{PLURAL:$1||s}}',
+
+# Special:ComparePages
+'comparepages' => 'Comparer des pådjes',
+'compare-selector' => 'Comparer des modêyes di pådjes',
+'compare-page1' => 'Pådje 1',
+'compare-page2' => 'Pådje 2',
+'compare-rev1' => 'Modêye 1',
+'compare-rev2' => 'Modêye 2',
+'compare-submit' => 'Comparer',
+
# Feedback
'feedback-subject' => 'Sudjet',
'feedback-message' => 'Messaedje',
'api-error-unclassified' => 'Aroke nén cnoxhowe',
'api-error-unknown-code' => 'Aroke nén cnoxhowe : « $1 »',
'api-error-unknown-error' => "Aroke divintrinne : gn a ene sacwè ki n' a nén stî tins d' l' eberwetaedje",
+'api-error-unknown-warning' => 'Adviertixhmint nén cnoxhou: «$1».',
+'api-error-unknownerror' => 'Aroke nén cnoxhowe: «$1».',
'api-error-uploaddisabled' => "L' eberwetaedje ni va nén so ç' wiki cial",
'api-error-verification-error' => "Ci fitchî la est cron, oudon-bén si cawete n' est nén boune",
+# Durations
+'duration-seconds' => '$1 segonde{{PLURAL:$1||s}}',
+'duration-minutes' => '$1 munute{{PLURAL:$1||s}}',
+'duration-hours' => '$1 eure{{PLURAL:$1||s}}',
+'duration-days' => '$1 djoû{{PLURAL:$1||s}}',
+'duration-weeks' => '$1 samwinne{{PLURAL:$1||s}}',
+'duration-years' => '$1 anêye{{PLURAL:$1||s}}',
+'duration-decades' => "$1 dijhinne{{PLURAL:$1||s}} d' anêyes",
+'duration-centuries' => '$1 sieke{{PLURAL:$1||s}}',
+'duration-millennia' => '$1 meynaire{{PLURAL:$1||s}}',
+
);
'statistics-articles' => 'Unod nga mga pakli',
'statistics-pages' => 'Mga pakli',
'statistics-pages-desc' => 'Ngatanan nga mga pakli ha sulod hini nga wiki, lakip an hiruhimangraw nga mga pakli, mga redirect, ngan iba pa',
-'statistics-files' => 'Ginkarga nga mga file',
+'statistics-files' => 'Ginkarga nga mga paypay',
'statistics-edits' => 'Mga pagliwat hit pakli tikang gintukod hini nga {{SITENAME}}',
'statistics-edits-average' => 'Average nga mga pagliwat kada pakli',
'statistics-views-total' => 'Ngatanan nga mga panginano',
'tooltip-feed-atom' => 'Atom nga pangarga para hini nga pakli',
'tooltip-t-contributions' => 'Kitaa an talaan hin mga amot hini nga nágámit',
'tooltip-t-emailuser' => 'Padad-i hin e-mail ini nga nágámit',
-'tooltip-t-upload' => 'Pagkarga hin mga fayl',
+'tooltip-t-upload' => 'Pagkarga hin mga paypay',
'tooltip-t-specialpages' => 'Talaan hin mga pinaurog nga pakli',
'tooltip-t-print' => 'Maipapatik nga bersyon hini nga pakli',
'tooltip-t-permalink' => 'Sumpay nga unob ha hini nga pagliwat han pakli',
/**
- * QUnit v1.5.0 - A JavaScript Unit Testing Framework
+ * QUnit v1.7.0 - A JavaScript Unit Testing Framework
*
* http://docs.jquery.com/QUnit
*
#qunit-header label {
display: inline-block;
+ padding-left: 0.5em;
}
#qunit-banner {
/**
- * QUnit v1.5.0 - A JavaScript Unit Testing Framework
+ * QUnit v1.7.0 - A JavaScript Unit Testing Framework
*
* http://docs.jquery.com/QUnit
*
* or GPL (GPL-LICENSE.txt) licenses.
*/
-(function(window) {
+(function( window ) {
-var defined = {
+var QUnit,
+ config,
+ testId = 0,
+ fileName = (sourceFromStacktrace( 0 ) || "" ).replace(/(:\d+)+\)?/, "").replace(/.+\//, ""),
+ toString = Object.prototype.toString,
+ hasOwn = Object.prototype.hasOwnProperty,
+ defined = {
setTimeout: typeof window.setTimeout !== "undefined",
sessionStorage: (function() {
var x = "qunit-test-string";
try {
- sessionStorage.setItem(x, x);
- sessionStorage.removeItem(x);
+ sessionStorage.setItem( x, x );
+ sessionStorage.removeItem( x );
return true;
- } catch(e) {
+ } catch( e ) {
return false;
}
}())
};
-var testId = 0,
- toString = Object.prototype.toString,
- hasOwn = Object.prototype.hasOwnProperty;
-
-var Test = function(name, testName, expected, async, callback) {
- this.name = name;
- this.testName = testName;
- this.expected = expected;
- this.async = async;
- this.callback = callback;
+function Test( settings ) {
+ extend( this, settings );
this.assertions = [];
-};
+ this.testNumber = ++Test.count;
+}
+
+Test.count = 0;
+
Test.prototype = {
init: function() {
- var tests = id("qunit-tests");
- if (tests) {
- var b = document.createElement("strong");
- b.innerHTML = "Running " + this.name;
- var li = document.createElement("li");
- li.appendChild( b );
- li.className = "running";
- li.id = this.id = "test-output" + testId++;
+ var a, b, li,
+ tests = id( "qunit-tests" );
+
+ if ( tests ) {
+ b = document.createElement( "strong" );
+ b.innerHTML = this.name;
+
+ // `a` initialized at top of scope
+ a = document.createElement( "a" );
+ a.innerHTML = "Rerun";
+ a.href = QUnit.url({ testNumber: this.testNumber });
+
+ li = document.createElement( "li" );
+ li.appendChild( b );
+ li.appendChild( a );
+ li.className = "running";
+ li.id = this.id = "qunit-test-output" + testId++;
+
tests.appendChild( li );
}
},
setup: function() {
- if (this.module != config.previousModule) {
+ if ( this.module !== config.previousModule ) {
if ( config.previousModule ) {
- runLoggingCallbacks('moduleDone', QUnit, {
+ runLoggingCallbacks( "moduleDone", QUnit, {
name: config.previousModule,
failed: config.moduleStats.bad,
passed: config.moduleStats.all - config.moduleStats.bad,
total: config.moduleStats.all
- } );
+ });
}
config.previousModule = this.module;
config.moduleStats = { all: 0, bad: 0 };
- runLoggingCallbacks( 'moduleStart', QUnit, {
+ runLoggingCallbacks( "moduleStart", QUnit, {
name: this.module
- } );
- } else if (config.autorun) {
- runLoggingCallbacks( 'moduleStart', QUnit, {
+ });
+ } else if ( config.autorun ) {
+ runLoggingCallbacks( "moduleStart", QUnit, {
name: this.module
- } );
+ });
}
config.current = this;
+
this.testEnvironment = extend({
setup: function() {},
teardown: function() {}
- }, this.moduleTestEnvironment);
+ }, this.moduleTestEnvironment );
- runLoggingCallbacks( 'testStart', QUnit, {
+ runLoggingCallbacks( "testStart", QUnit, {
name: this.testName,
module: this.module
});
saveGlobal();
}
if ( config.notrycatch ) {
- this.testEnvironment.setup.call(this.testEnvironment);
+ this.testEnvironment.setup.call( this.testEnvironment );
return;
}
try {
- this.testEnvironment.setup.call(this.testEnvironment);
- } catch(e) {
+ this.testEnvironment.setup.call( this.testEnvironment );
+ } catch( e ) {
QUnit.pushFailure( "Setup failed on " + this.testName + ": " + e.message, extractStacktrace( e, 1 ) );
}
},
run: function() {
config.current = this;
- var running = id("qunit-testresult");
+ var running = id( "qunit-testresult" );
if ( running ) {
running.innerHTML = "Running: <br/>" + this.name;
}
if ( config.notrycatch ) {
- this.callback.call(this.testEnvironment);
+ this.callback.call( this.testEnvironment, QUnit.assert );
return;
}
+
try {
- this.callback.call(this.testEnvironment);
- } catch(e) {
- QUnit.pushFailure( "Died on test #" + (this.assertions.length + 1) + ": " + e.message, extractStacktrace( e, 1 ) );
+ this.callback.call( this.testEnvironment, QUnit.assert );
+ } catch( e ) {
+ QUnit.pushFailure( "Died on test #" + (this.assertions.length + 1) + " " + this.stack + ": " + e.message, extractStacktrace( e, 0 ) );
// else next test will carry the responsibility
saveGlobal();
teardown: function() {
config.current = this;
if ( config.notrycatch ) {
- this.testEnvironment.teardown.call(this.testEnvironment);
+ this.testEnvironment.teardown.call( this.testEnvironment );
return;
} else {
try {
- this.testEnvironment.teardown.call(this.testEnvironment);
- } catch(e) {
+ this.testEnvironment.teardown.call( this.testEnvironment );
+ } catch( e ) {
QUnit.pushFailure( "Teardown failed on " + this.testName + ": " + e.message, extractStacktrace( e, 1 ) );
}
}
},
finish: function() {
config.current = this;
- if ( this.expected != null && this.expected != this.assertions.length ) {
- QUnit.pushFailure( "Expected " + this.expected + " assertions, but " + this.assertions.length + " were run" );
+ if ( config.requireExpects && this.expected == null ) {
+ QUnit.pushFailure( "Expected number of assertions to be defined, but expect() was not called.", this.stack );
+ } else if ( this.expected != null && this.expected != this.assertions.length ) {
+ QUnit.pushFailure( "Expected " + this.expected + " assertions, but " + this.assertions.length + " were run", this.stack );
} else if ( this.expected == null && !this.assertions.length ) {
- QUnit.pushFailure( "Expected at least one assertion, but none were run - call expect(0) to accept zero assertions." );
+ QUnit.pushFailure( "Expected at least one assertion, but none were run - call expect(0) to accept zero assertions.", this.stack );
}
- var good = 0, bad = 0,
- li, i,
- tests = id("qunit-tests");
+ var assertion, a, b, i, li, ol,
+ test = this,
+ good = 0,
+ bad = 0,
+ tests = id( "qunit-tests" );
config.stats.all += this.assertions.length;
config.moduleStats.all += this.assertions.length;
if ( tests ) {
- var ol = document.createElement("ol");
+ ol = document.createElement( "ol" );
for ( i = 0; i < this.assertions.length; i++ ) {
- var assertion = this.assertions[i];
+ assertion = this.assertions[i];
- li = document.createElement("li");
+ li = document.createElement( "li" );
li.className = assertion.result ? "pass" : "fail";
- li.innerHTML = assertion.message || (assertion.result ? "okay" : "failed");
+ li.innerHTML = assertion.message || ( assertion.result ? "okay" : "failed" );
ol.appendChild( li );
if ( assertion.result ) {
// store result when possible
if ( QUnit.config.reorder && defined.sessionStorage ) {
- if (bad) {
- sessionStorage.setItem("qunit-test-" + this.module + "-" + this.testName, bad);
+ if ( bad ) {
+ sessionStorage.setItem( "qunit-test-" + this.module + "-" + this.testName, bad );
} else {
- sessionStorage.removeItem("qunit-test-" + this.module + "-" + this.testName);
+ sessionStorage.removeItem( "qunit-test-" + this.module + "-" + this.testName );
}
}
- if (bad === 0) {
+ if ( bad === 0 ) {
ol.style.display = "none";
}
- var b = document.createElement("strong");
+ // `b` initialized at top of scope
+ b = document.createElement( "strong" );
b.innerHTML = this.name + " <b class='counts'>(<b class='failed'>" + bad + "</b>, <b class='passed'>" + good + "</b>, " + this.assertions.length + ")</b>";
- var a = document.createElement("a");
- a.innerHTML = "Rerun";
- a.href = QUnit.url({ filter: getText([b]).replace(/\([^)]+\)$/, "").replace(/(^\s*|\s*$)/g, "") });
-
addEvent(b, "click", function() {
var next = b.nextSibling.nextSibling,
display = next.style.display;
next.style.display = display === "none" ? "block" : "none";
});
- addEvent(b, "dblclick", function(e) {
+ addEvent(b, "dblclick", function( e ) {
var target = e && e.target ? e.target : window.event.srcElement;
if ( target.nodeName.toLowerCase() == "span" || target.nodeName.toLowerCase() == "b" ) {
target = target.parentNode;
}
if ( window.location && target.nodeName.toLowerCase() === "strong" ) {
- window.location = QUnit.url({ filter: getText([target]).replace(/\([^)]+\)$/, "").replace(/(^\s*|\s*$)/g, "") });
+ window.location = QUnit.url({ testNumber: test.testNumber });
}
});
- li = id(this.id);
+ // `li` initialized at top of scope
+ li = id( this.id );
li.className = bad ? "fail" : "pass";
li.removeChild( li.firstChild );
+ a = li.firstChild;
li.appendChild( b );
- li.appendChild( a );
+ li.appendChild ( a );
li.appendChild( ol );
} else {
}
}
- QUnit.reset();
-
- runLoggingCallbacks( 'testDone', QUnit, {
+ runLoggingCallbacks( "testDone", QUnit, {
name: this.testName,
module: this.module,
failed: bad,
passed: this.assertions.length - bad,
total: this.assertions.length
- } );
+ });
+
+ QUnit.reset();
},
queue: function() {
- var test = this;
+ var bad,
+ test = this;
+
synchronize(function() {
test.init();
});
test.finish();
});
}
+
+ // `bad` initialized at top of scope
// defer when previous test run passed, if storage is available
- var bad = QUnit.config.reorder && defined.sessionStorage && +sessionStorage.getItem("qunit-test-" + this.module + "-" + this.testName);
- if (bad) {
+ bad = QUnit.config.reorder && defined.sessionStorage &&
+ +sessionStorage.getItem( "qunit-test-" + this.module + "-" + this.testName );
+
+ if ( bad ) {
run();
} else {
- synchronize(run, true);
+ synchronize( run, true );
}
}
-
};
-var QUnit = {
+// Root QUnit object.
+// `QUnit` initialized at top of scope
+QUnit = {
// call on start of module test to prepend name to all tests
- module: function(name, testEnvironment) {
+ module: function( name, testEnvironment ) {
config.currentModule = name;
config.currentModuleTestEnviroment = testEnvironment;
},
- asyncTest: function(testName, expected, callback) {
+ asyncTest: function( testName, expected, callback ) {
if ( arguments.length === 2 ) {
callback = expected;
expected = null;
}
- QUnit.test(testName, expected, callback, true);
+ QUnit.test( testName, expected, callback, true );
},
- test: function(testName, expected, callback, async) {
- var name = '<span class="test-name">' + escapeInnerText(testName) + '</span>';
+ test: function( testName, expected, callback, async ) {
+ var test,
+ name = "<span class='test-name'>" + escapeInnerText( testName ) + "</span>";
if ( arguments.length === 2 ) {
callback = expected;
}
if ( config.currentModule ) {
- name = '<span class="module-name">' + config.currentModule + "</span>: " + name;
- }
+ name = "<span class='module-name'>" + config.currentModule + "</span>: " + name;
+ }
+
+ test = new Test({
+ name: name,
+ testName: testName,
+ expected: expected,
+ async: async,
+ callback: callback,
+ module: config.currentModule,
+ moduleTestEnvironment: config.currentModuleTestEnviroment,
+ stack: sourceFromStacktrace( 2 )
+ });
- if ( !validTest(config.currentModule + ": " + testName) ) {
+ if ( !validTest( test ) ) {
return;
}
- var test = new Test(name, testName, expected, async, callback);
- test.module = config.currentModule;
- test.moduleTestEnvironment = config.currentModuleTestEnviroment;
test.queue();
},
// Specify the number of expected assertions to gurantee that failed test (no assertions are run at all) don't slip through.
- expect: function(asserts) {
+ expect: function( asserts ) {
config.current.expected = asserts;
},
- // Asserts true.
- // @example ok( "asdfasdf".length > 5, "There must be at least 5 chars" );
- ok: function(result, msg) {
- if (!config.current) {
- throw new Error("ok() assertion outside test context, was " + sourceFromStacktrace(2));
+ start: function( count ) {
+ config.semaphore -= count || 1;
+ // don't start until equal number of stop-calls
+ if ( config.semaphore > 0 ) {
+ return;
+ }
+ // ignore if start is called more often then stop
+ if ( config.semaphore < 0 ) {
+ config.semaphore = 0;
+ }
+ // A slight delay, to avoid any current callbacks
+ if ( defined.setTimeout ) {
+ window.setTimeout(function() {
+ if ( config.semaphore > 0 ) {
+ return;
+ }
+ if ( config.timeout ) {
+ clearTimeout( config.timeout );
+ }
+
+ config.blocking = false;
+ process( true );
+ }, 13);
+ } else {
+ config.blocking = false;
+ process( true );
+ }
+ },
+
+ stop: function( count ) {
+ config.semaphore += count || 1;
+ config.blocking = true;
+
+ if ( config.testTimeout && defined.setTimeout ) {
+ clearTimeout( config.timeout );
+ config.timeout = window.setTimeout(function() {
+ QUnit.ok( false, "Test timed out" );
+ config.semaphore = 1;
+ QUnit.start();
+ }, config.testTimeout );
+ }
+ }
+};
+
+// Asssert helpers
+// All of these must call either QUnit.push() or manually do:
+// - runLoggingCallbacks( "log", .. );
+// - config.current.assertions.push({ .. });
+QUnit.assert = {
+ /**
+ * Asserts rough true-ish result.
+ * @example ok( "asdfasdf".length > 5, "There must be at least 5 chars" );
+ */
+ ok: function( result, msg ) {
+ if ( !config.current ) {
+ throw new Error( "ok() assertion outside test context, was " + sourceFromStacktrace(2) );
}
result = !!result;
- var details = {
- result: result,
- message: msg
- };
- msg = escapeInnerText(msg || (result ? "okay" : "failed"));
+
+ var source,
+ details = {
+ result: result,
+ message: msg
+ };
+
+ msg = escapeInnerText( msg || (result ? "okay" : "failed" ) );
+ msg = "<span class='test-message'>" + msg + "</span>";
+
if ( !result ) {
- var source = sourceFromStacktrace(2);
- if (source) {
+ source = sourceFromStacktrace( 2 );
+ if ( source ) {
details.source = source;
- msg += '<table><tr class="test-source"><th>Source: </th><td><pre>' + escapeInnerText(source) + '</pre></td></tr></table>';
+ msg += "<table><tr class='test-source'><th>Source: </th><td><pre>" + escapeInnerText( source ) + "</pre></td></tr></table>";
}
}
- runLoggingCallbacks( 'log', QUnit, details );
+ runLoggingCallbacks( "log", QUnit, details );
config.current.assertions.push({
result: result,
message: msg
});
},
- // Checks that the first two arguments are equal, with an optional message. Prints out both actual and expected values.
- // @example equal( format("Received {0} bytes.", 2), "Received 2 bytes." );
- equal: function(actual, expected, message) {
- QUnit.push(expected == actual, actual, expected, message);
+ /**
+ * Assert that the first two arguments are equal, with an optional message.
+ * Prints out both actual and expected values.
+ * @example equal( format( "Received {0} bytes.", 2), "Received 2 bytes.", "format() replaces {0} with next argument" );
+ */
+ equal: function( actual, expected, message ) {
+ QUnit.push( expected == actual, actual, expected, message );
},
- notEqual: function(actual, expected, message) {
- QUnit.push(expected != actual, actual, expected, message);
+ notEqual: function( actual, expected, message ) {
+ QUnit.push( expected != actual, actual, expected, message );
},
- deepEqual: function(actual, expected, message) {
- QUnit.push(QUnit.equiv(actual, expected), actual, expected, message);
+ deepEqual: function( actual, expected, message ) {
+ QUnit.push( QUnit.equiv(actual, expected), actual, expected, message );
},
- notDeepEqual: function(actual, expected, message) {
- QUnit.push(!QUnit.equiv(actual, expected), actual, expected, message);
+ notDeepEqual: function( actual, expected, message ) {
+ QUnit.push( !QUnit.equiv(actual, expected), actual, expected, message );
},
- strictEqual: function(actual, expected, message) {
- QUnit.push(expected === actual, actual, expected, message);
+ strictEqual: function( actual, expected, message ) {
+ QUnit.push( expected === actual, actual, expected, message );
},
- notStrictEqual: function(actual, expected, message) {
- QUnit.push(expected !== actual, actual, expected, message);
+ notStrictEqual: function( actual, expected, message ) {
+ QUnit.push( expected !== actual, actual, expected, message );
},
- raises: function(block, expected, message) {
- var actual, ok = false;
+ raises: function( block, expected, message ) {
+ var actual,
+ ok = false;
- if (typeof expected === 'string') {
+ if ( typeof expected === "string" ) {
message = expected;
expected = null;
}
try {
- block.call(config.current.testEnvironment);
+ block.call( config.current.testEnvironment );
} catch (e) {
actual = e;
}
- if (actual) {
+ if ( actual ) {
// we don't want to validate thrown error
- if (!expected) {
+ if ( !expected ) {
ok = true;
// expected is a regexp
- } else if (QUnit.objectType(expected) === "regexp") {
- ok = expected.test(actual);
+ } else if ( QUnit.objectType( expected ) === "regexp" ) {
+ ok = expected.test( actual );
// expected is a constructor
- } else if (actual instanceof expected) {
+ } else if ( actual instanceof expected ) {
ok = true;
// expected is a validation function which returns true is validation passed
- } else if (expected.call({}, actual) === true) {
+ } else if ( expected.call( {}, actual ) === true ) {
ok = true;
}
}
- QUnit.ok(ok, message);
- },
-
- start: function(count) {
- config.semaphore -= count || 1;
- if (config.semaphore > 0) {
- // don't start until equal number of stop-calls
- return;
- }
- if (config.semaphore < 0) {
- // ignore if start is called more often then stop
- config.semaphore = 0;
- }
- // A slight delay, to avoid any current callbacks
- if ( defined.setTimeout ) {
- window.setTimeout(function() {
- if (config.semaphore > 0) {
- return;
- }
- if ( config.timeout ) {
- clearTimeout(config.timeout);
- }
-
- config.blocking = false;
- process(true);
- }, 13);
- } else {
- config.blocking = false;
- process(true);
- }
- },
+ QUnit.push( ok, actual, null, message );
+ }
+};
- stop: function(count) {
- config.semaphore += count || 1;
- config.blocking = true;
+// @deprecated: Kept assertion helpers in root for backwards compatibility
+extend( QUnit, QUnit.assert );
- if ( config.testTimeout && defined.setTimeout ) {
- clearTimeout(config.timeout);
- config.timeout = window.setTimeout(function() {
- QUnit.ok( false, "Test timed out" );
- config.semaphore = 1;
- QUnit.start();
- }, config.testTimeout);
- }
- }
+/**
+ * @deprecated: Kept for backwards compatibility
+ * next step: remove entirely
+ */
+QUnit.equals = function() {
+ QUnit.push( false, false, false, "QUnit.equals has been deprecated since 2009 (e88049a0), use QUnit.equal instead" );
+};
+QUnit.same = function() {
+ QUnit.push( false, false, false, "QUnit.same has been deprecated since 2009 (e88049a0), use QUnit.deepEqual instead" );
};
-//We want access to the constructor's prototype
+// We want access to the constructor's prototype
(function() {
- function F(){}
+ function F() {}
F.prototype = QUnit;
QUnit = new F();
- //Make F QUnit's constructor so that we can add to the prototype later
+ // Make F QUnit's constructor so that we can add to the prototype later
QUnit.constructor = F;
}());
-// deprecated; still export them to window to provide clear error messages
-// next step: remove entirely
-QUnit.equals = function() {
- QUnit.push(false, false, false, "QUnit.equals has been deprecated since 2009 (e88049a0), use QUnit.equal instead");
-};
-QUnit.same = function() {
- QUnit.push(false, false, false, "QUnit.same has been deprecated since 2009 (e88049a0), use QUnit.deepEqual instead");
-};
-
-// Maintain internal state
-var config = {
+/**
+ * Config object: Maintain internal state
+ * Later exposed as QUnit.config
+ * `config` initialized at top of scope
+ */
+config = {
// The queue of tests to run
queue: [],
// by default, modify document.title when suite is done
altertitle: true,
- urlConfig: ['noglobals', 'notrycatch'],
+ // when enabled, all tests must call expect()
+ requireExpects: false,
+
+ urlConfig: [ "noglobals", "notrycatch" ],
- //logging callback queues
+ // logging callback queues
begin: [],
done: [],
log: [],
moduleDone: []
};
-// Load paramaters
+// Initialize more QUnit.config and QUnit.urlParams
(function() {
- var location = window.location || { search: "", protocol: "file:" },
+ var i,
+ location = window.location || { search: "", protocol: "file:" },
params = location.search.slice( 1 ).split( "&" ),
length = params.length,
urlParams = {},
current;
if ( params[ 0 ] ) {
- for ( var i = 0; i < length; i++ ) {
+ for ( i = 0; i < length; i++ ) {
current = params[ i ].split( "=" );
current[ 0 ] = decodeURIComponent( current[ 0 ] );
// allow just a key to turn on a flag, e.g., test.html?noglobals
QUnit.urlParams = urlParams;
config.filter = urlParams.filter;
+ config.testNumber = parseInt( urlParams.testNumber, 10 ) || null;
// Figure out if we're running the tests from a server or not
- QUnit.isLocal = location.protocol === 'file:';
+ QUnit.isLocal = location.protocol === "file:";
}());
-// Expose the API as global variables, unless an 'exports'
-// object exists, in that case we assume we're in CommonJS - export everything at the end
-if ( typeof exports === "undefined" || typeof require === "undefined" ) {
- extend(window, QUnit);
+// Export global variables, unless an 'exports' object exists,
+// in that case we assume we're in CommonJS (dealt with on the bottom of the script)
+if ( typeof exports === "undefined" ) {
+ extend( window, QUnit );
+
+ // Expose QUnit object
window.QUnit = QUnit;
}
-// define these after exposing globals to keep them in these QUnit namespace only
-extend(QUnit, {
+// Extend QUnit object,
+// these after set here because they should not be exposed as global functions
+extend( QUnit, {
config: config,
// Initialize the configuration options
init: function() {
- extend(config, {
+ extend( config, {
stats: { all: 0, bad: 0 },
moduleStats: { all: 0, bad: 0 },
started: +new Date(),
semaphore: 0
});
- var qunit = id( "qunit" );
+ var tests, banner, result,
+ qunit = id( "qunit" );
+
if ( qunit ) {
qunit.innerHTML =
- '<h1 id="qunit-header">' + escapeInnerText( document.title ) + '</h1>' +
- '<h2 id="qunit-banner"></h2>' +
- '<div id="qunit-testrunner-toolbar"></div>' +
- '<h2 id="qunit-userAgent"></h2>' +
- '<ol id="qunit-tests"></ol>';
+ "<h1 id='qunit-header'>" + escapeInnerText( document.title ) + "</h1>" +
+ "<h2 id='qunit-banner'></h2>" +
+ "<div id='qunit-testrunner-toolbar'></div>" +
+ "<h2 id='qunit-userAgent'></h2>" +
+ "<ol id='qunit-tests'></ol>";
}
- var tests = id( "qunit-tests" ),
- banner = id( "qunit-banner" ),
- result = id( "qunit-testresult" );
+ tests = id( "qunit-tests" );
+ banner = id( "qunit-banner" );
+ result = id( "qunit-testresult" );
if ( tests ) {
tests.innerHTML = "";
result.id = "qunit-testresult";
result.className = "result";
tests.parentNode.insertBefore( result, tests );
- result.innerHTML = 'Running...<br/> ';
+ result.innerHTML = "Running...<br/> ";
}
},
// Resets the test setup. Useful for tests that modify the DOM.
// If jQuery is available, uses jQuery's html(), otherwise just innerHTML.
reset: function() {
+ var fixture;
+
if ( window.jQuery ) {
jQuery( "#qunit-fixture" ).html( config.fixture );
} else {
- var main = id( 'qunit-fixture' );
- if ( main ) {
- main.innerHTML = config.fixture;
+ fixture = id( "qunit-fixture" );
+ if ( fixture ) {
+ fixture.innerHTML = config.fixture;
}
}
},
// @example triggerEvent( document.body, "click" );
triggerEvent: function( elem, type, event ) {
if ( document.createEvent ) {
- event = document.createEvent("MouseEvents");
+ event = document.createEvent( "MouseEvents" );
event.initMouseEvent(type, true, true, elem.ownerDocument.defaultView,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
- elem.dispatchEvent( event );
+ elem.dispatchEvent( event );
} else if ( elem.fireEvent ) {
- elem.fireEvent("on"+type);
+ elem.fireEvent( "on" + type );
}
},
},
objectType: function( obj ) {
- if (typeof obj === "undefined") {
+ if ( typeof obj === "undefined" ) {
return "undefined";
-
// consider: typeof null === object
}
- if (obj === null) {
+ if ( obj === null ) {
return "null";
}
- var type = toString.call( obj ).match(/^\[object\s(.*)\]$/)[1] || '';
+ var type = toString.call( obj ).match(/^\[object\s(.*)\]$/)[1] || "";
- switch (type) {
- case 'Number':
- if (isNaN(obj)) {
+ switch ( type ) {
+ case "Number":
+ if ( isNaN(obj) ) {
return "nan";
}
return "number";
- case 'String':
- case 'Boolean':
- case 'Array':
- case 'Date':
- case 'RegExp':
- case 'Function':
- return type.toLowerCase();
+ case "String":
+ case "Boolean":
+ case "Array":
+ case "Date":
+ case "RegExp":
+ case "Function":
+ return type.toLowerCase();
}
- if (typeof obj === "object") {
- return "object";
+ if ( typeof obj === "object" ) {
+ return "object";
}
return undefined;
},
- push: function(result, actual, expected, message) {
- if (!config.current) {
- throw new Error("assertion outside test context, was " + sourceFromStacktrace());
+ push: function( result, actual, expected, message ) {
+ if ( !config.current ) {
+ throw new Error( "assertion outside test context, was " + sourceFromStacktrace() );
}
- var details = {
- result: result,
- message: message,
- actual: actual,
- expected: expected
- };
- message = escapeInnerText(message) || (result ? "okay" : "failed");
- message = '<span class="test-message">' + message + "</span>";
- var output = message;
- if (!result) {
- expected = escapeInnerText(QUnit.jsDump.parse(expected));
- actual = escapeInnerText(QUnit.jsDump.parse(actual));
- output += '<table><tr class="test-expected"><th>Expected: </th><td><pre>' + expected + '</pre></td></tr>';
- if (actual != expected) {
- output += '<tr class="test-actual"><th>Result: </th><td><pre>' + actual + '</pre></td></tr>';
- output += '<tr class="test-diff"><th>Diff: </th><td><pre>' + QUnit.diff(expected, actual) +'</pre></td></tr>';
+ var output, source,
+ details = {
+ result: result,
+ message: message,
+ actual: actual,
+ expected: expected
+ };
+
+ message = escapeInnerText( message ) || ( result ? "okay" : "failed" );
+ message = "<span class='test-message'>" + message + "</span>";
+ output = message;
+
+ if ( !result ) {
+ expected = escapeInnerText( QUnit.jsDump.parse(expected) );
+ actual = escapeInnerText( QUnit.jsDump.parse(actual) );
+ output += "<table><tr class='test-expected'><th>Expected: </th><td><pre>" + expected + "</pre></td></tr>";
+
+ if ( actual != expected ) {
+ output += "<tr class='test-actual'><th>Result: </th><td><pre>" + actual + "</pre></td></tr>";
+ output += "<tr class='test-diff'><th>Diff: </th><td><pre>" + QUnit.diff( expected, actual ) + "</pre></td></tr>";
}
- var source = sourceFromStacktrace();
- if (source) {
+
+ source = sourceFromStacktrace();
+
+ if ( source ) {
details.source = source;
- output += '<tr class="test-source"><th>Source: </th><td><pre>' + escapeInnerText(source) + '</pre></td></tr>';
+ output += "<tr class='test-source'><th>Source: </th><td><pre>" + escapeInnerText( source ) + "</pre></td></tr>";
}
+
output += "</table>";
}
- runLoggingCallbacks( 'log', QUnit, details );
+ runLoggingCallbacks( "log", QUnit, details );
config.current.assertions.push({
result: !!result,
});
},
- pushFailure: function(message, source) {
- var details = {
- result: false,
- message: message
- };
- var output = escapeInnerText(message);
- if (source) {
+ pushFailure: function( message, source ) {
+ var output,
+ details = {
+ result: false,
+ message: message
+ };
+
+ message = escapeInnerText(message ) || "error";
+ message = "<span class='test-message'>" + message + "</span>";
+ output = message;
+
+ if ( source ) {
details.source = source;
- output += '<table><tr class="test-source"><th>Source: </th><td><pre>' + escapeInnerText(source) + '</pre></td></tr></table>';
+ output += "<table><tr class='test-source'><th>Source: </th><td><pre>" + escapeInnerText( source ) + "</pre></td></tr></table>";
}
- runLoggingCallbacks( 'log', QUnit, details );
+
+ runLoggingCallbacks( "log", QUnit, details );
+
config.current.assertions.push({
result: false,
message: output
url: function( params ) {
params = extend( extend( {}, QUnit.urlParams ), params );
- var querystring = "?",
- key;
+ var key,
+ querystring = "?";
+
for ( key in params ) {
if ( !hasOwn.call( params, key ) ) {
continue;
extend: extend,
id: id,
addEvent: addEvent
+ // load, equiv, jsDump, diff: Attached later
});
-//QUnit.constructor is set to the empty F() above so that we can add to it's prototype later
-//Doing this allows us to tell if the following methods have been overwritten on the actual
-//QUnit object, which is a deprecated way of using the callbacks.
-extend(QUnit.constructor.prototype, {
+/**
+ * @deprecated: Created for backwards compatibility with test runner that set the hook function
+ * into QUnit.{hook}, instead of invoking it and passing the hook function.
+ * QUnit.constructor is set to the empty F() above so that we can add to it's prototype here.
+ * Doing this allows us to tell if the following methods have been overwritten on the actual
+ * QUnit object.
+ */
+extend( QUnit.constructor.prototype, {
+
// Logging callbacks; all receive a single argument with the listed properties
// run test/logs.html for any related changes
- begin: registerLoggingCallback('begin'),
+ begin: registerLoggingCallback( "begin" ),
+
// done: { failed, passed, total, runtime }
- done: registerLoggingCallback('done'),
+ done: registerLoggingCallback( "done" ),
+
// log: { result, actual, expected, message }
- log: registerLoggingCallback('log'),
+ log: registerLoggingCallback( "log" ),
+
// testStart: { name }
- testStart: registerLoggingCallback('testStart'),
+ testStart: registerLoggingCallback( "testStart" ),
+
// testDone: { name, failed, passed, total }
- testDone: registerLoggingCallback('testDone'),
+ testDone: registerLoggingCallback( "testDone" ),
+
// moduleStart: { name }
- moduleStart: registerLoggingCallback('moduleStart'),
+ moduleStart: registerLoggingCallback( "moduleStart" ),
+
// moduleDone: { name, failed, passed, total }
- moduleDone: registerLoggingCallback('moduleDone')
+ moduleDone: registerLoggingCallback( "moduleDone" )
});
if ( typeof document === "undefined" || document.readyState === "complete" ) {
}
QUnit.load = function() {
- runLoggingCallbacks( 'begin', QUnit, {} );
+ runLoggingCallbacks( "begin", QUnit, {} );
// Initialize the config, saving the execution queue
- var oldconfig = extend({}, config);
+ var banner, filter, i, label, len, main, ol, toolbar, userAgent, val,
+ urlConfigHtml = "",
+ oldconfig = extend( {}, config );
+
QUnit.init();
extend(config, oldconfig);
config.blocking = false;
- var urlConfigHtml = '', len = config.urlConfig.length;
- for ( var i = 0, val; i < len; i++ ) {
+ len = config.urlConfig.length;
+
+ for ( i = 0; i < len; i++ ) {
val = config.urlConfig[i];
config[val] = QUnit.urlParams[val];
- urlConfigHtml += '<label><input name="' + val + '" type="checkbox"' + ( config[val] ? ' checked="checked"' : '' ) + '>' + val + '</label>';
+ urlConfigHtml += "<label><input name='" + val + "' type='checkbox'" + ( config[val] ? " checked='checked'" : "" ) + ">" + val + "</label>";
}
- var userAgent = id("qunit-userAgent");
+ // `userAgent` initialized at top of scope
+ userAgent = id( "qunit-userAgent" );
if ( userAgent ) {
userAgent.innerHTML = navigator.userAgent;
}
- var banner = id("qunit-header");
+
+ // `banner` initialized at top of scope
+ banner = id( "qunit-header" );
if ( banner ) {
- banner.innerHTML = '<a href="' + QUnit.url({ filter: undefined }) + '"> ' + banner.innerHTML + '</a> ' + urlConfigHtml;
+ banner.innerHTML = "<a href='" + QUnit.url({ filter: undefined }) + "'>" + banner.innerHTML + "</a> " + urlConfigHtml;
addEvent( banner, "change", function( event ) {
var params = {};
params[ event.target.name ] = event.target.checked ? true : undefined;
});
}
- var toolbar = id("qunit-testrunner-toolbar");
+ // `toolbar` initialized at top of scope
+ toolbar = id( "qunit-testrunner-toolbar" );
if ( toolbar ) {
- var filter = document.createElement("input");
+ // `filter` initialized at top of scope
+ filter = document.createElement( "input" );
filter.type = "checkbox";
filter.id = "qunit-filter-pass";
+
addEvent( filter, "click", function() {
- var ol = document.getElementById("qunit-tests");
+ var tmp,
+ ol = document.getElementById( "qunit-tests" );
+
if ( filter.checked ) {
ol.className = ol.className + " hidepass";
} else {
- var tmp = " " + ol.className.replace( /[\n\t\r]/g, " " ) + " ";
- ol.className = tmp.replace(/ hidepass /, " ");
+ tmp = " " + ol.className.replace( /[\n\t\r]/g, " " ) + " ";
+ ol.className = tmp.replace( / hidepass /, " " );
}
if ( defined.sessionStorage ) {
if (filter.checked) {
- sessionStorage.setItem("qunit-filter-passed-tests", "true");
+ sessionStorage.setItem( "qunit-filter-passed-tests", "true" );
} else {
- sessionStorage.removeItem("qunit-filter-passed-tests");
+ sessionStorage.removeItem( "qunit-filter-passed-tests" );
}
}
});
- if ( config.hidepassed || defined.sessionStorage && sessionStorage.getItem("qunit-filter-passed-tests") ) {
+
+ if ( config.hidepassed || defined.sessionStorage && sessionStorage.getItem( "qunit-filter-passed-tests" ) ) {
filter.checked = true;
- var ol = document.getElementById("qunit-tests");
+ // `ol` initialized at top of scope
+ ol = document.getElementById( "qunit-tests" );
ol.className = ol.className + " hidepass";
}
toolbar.appendChild( filter );
- var label = document.createElement("label");
- label.setAttribute("for", "qunit-filter-pass");
+ // `label` initialized at top of scope
+ label = document.createElement( "label" );
+ label.setAttribute( "for", "qunit-filter-pass" );
label.innerHTML = "Hide passed tests";
toolbar.appendChild( label );
}
- var main = id('qunit-fixture');
+ // `main` initialized at top of scope
+ main = id( "qunit-fixture" );
if ( main ) {
config.fixture = main.innerHTML;
}
- if (config.autostart) {
+ if ( config.autostart ) {
QUnit.start();
}
};
-addEvent(window, "load", QUnit.load);
+addEvent( window, "load", QUnit.load );
-// addEvent(window, "error") gives us a useless event object
+// addEvent(window, "error" ) gives us a useless event object
window.onerror = function( message, file, line ) {
if ( QUnit.config.current ) {
QUnit.pushFailure( message, file + ":" + line );
// Log the last module results
if ( config.currentModule ) {
- runLoggingCallbacks( 'moduleDone', QUnit, {
+ runLoggingCallbacks( "moduleDone", QUnit, {
name: config.currentModule,
failed: config.moduleStats.bad,
passed: config.moduleStats.all - config.moduleStats.bad,
total: config.moduleStats.all
- } );
+ });
}
- var banner = id("qunit-banner"),
- tests = id("qunit-tests"),
+ var i, key,
+ banner = id( "qunit-banner" ),
+ tests = id( "qunit-tests" ),
runtime = +new Date() - config.started,
passed = config.stats.all - config.stats.bad,
html = [
- 'Tests completed in ',
+ "Tests completed in ",
runtime,
- ' milliseconds.<br/>',
- '<span class="passed">',
+ " milliseconds.<br/>",
+ "<span class='passed'>",
passed,
- '</span> tests of <span class="total">',
+ "</span> tests of <span class='total'>",
config.stats.all,
- '</span> passed, <span class="failed">',
+ "</span> passed, <span class='failed'>",
config.stats.bad,
- '</span> failed.'
- ].join('');
+ "</span> failed."
+ ].join( "" );
if ( banner ) {
- banner.className = (config.stats.bad ? "qunit-fail" : "qunit-pass");
+ banner.className = ( config.stats.bad ? "qunit-fail" : "qunit-pass" );
}
if ( tests ) {
// show ✖ for good, ✔ for bad suite result in title
// use escape sequences in case file gets loaded with non-utf-8-charset
document.title = [
- (config.stats.bad ? "\u2716" : "\u2714"),
- document.title.replace(/^[\u2714\u2716] /i, "")
- ].join(" ");
+ ( config.stats.bad ? "\u2716" : "\u2714" ),
+ document.title.replace( /^[\u2714\u2716] /i, "" )
+ ].join( " " );
}
// clear own sessionStorage items if all tests passed
if ( config.reorder && defined.sessionStorage && config.stats.bad === 0 ) {
- var key;
- for ( var i = 0; i < sessionStorage.length; i++ ) {
+ // `key` & `i` initialized at top of scope
+ for ( i = 0; i < sessionStorage.length; i++ ) {
key = sessionStorage.key( i++ );
- if ( key.indexOf("qunit-test-") === 0 ) {
+ if ( key.indexOf( "qunit-test-" ) === 0 ) {
sessionStorage.removeItem( key );
}
}
}
- runLoggingCallbacks( 'done', QUnit, {
+ runLoggingCallbacks( "done", QUnit, {
failed: config.stats.bad,
passed: passed,
total: config.stats.all,
runtime: runtime
- } );
+ });
}
-function validTest( name ) {
- var filter = config.filter,
- run = false;
+function validTest( test ) {
+ var include,
+ filter = config.filter && config.filter.toLowerCase(),
+ fullName = (test.module + ": " + test.testName).toLowerCase();
+
+ if ( config.testNumber ) {
+ return test.testNumber === config.testNumber;
+ }
if ( !filter ) {
return true;
}
- var not = filter.charAt( 0 ) === "!";
- if ( not ) {
+ include = filter.charAt( 0 ) !== "!";
+ if ( !include ) {
filter = filter.slice( 1 );
}
- if ( name.indexOf( filter ) !== -1 ) {
- return !not;
- }
-
- if ( not ) {
- run = true;
+ // If the filter matches, we need to honour include
+ if ( fullName.indexOf( filter ) !== -1 ) {
+ return include;
}
- return run;
+ // Otherwise, do the opposite
+ return !include;
}
// so far supports only Firefox, Chrome and Opera (buggy), Safari (for real exceptions)
// Later Safari and IE10 are supposed to support error.stack as well
// See also https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error/Stack
function extractStacktrace( e, offset ) {
- offset = offset || 3;
- if (e.stacktrace) {
+ offset = offset === undefined ? 3 : offset;
+
+ var stack, include, i, regex;
+
+ if ( e.stacktrace ) {
// Opera
- return e.stacktrace.split("\n")[offset + 3];
- } else if (e.stack) {
+ return e.stacktrace.split( "\n" )[ offset + 3 ];
+ } else if ( e.stack ) {
// Firefox, Chrome
- var stack = e.stack.split("\n");
- if (/^error$/i.test(stack[0])) {
+ stack = e.stack.split( "\n" );
+ if (/^error$/i.test( stack[0] ) ) {
stack.shift();
}
- return stack[offset];
- } else if (e.sourceURL) {
+ if ( fileName ) {
+ include = [];
+ for ( i = offset; i < stack.length; i++ ) {
+ if ( stack[ i ].indexOf( fileName ) != -1 ) {
+ break;
+ }
+ include.push( stack[ i ] );
+ }
+ if ( include.length ) {
+ return include.join( "\n" );
+ }
+ }
+ return stack[ offset ];
+ } else if ( e.sourceURL ) {
// Safari, PhantomJS
// hopefully one day Safari provides actual stacktraces
// exclude useless self-reference for generated Error objects
return e.sourceURL + ":" + e.line;
}
}
-function sourceFromStacktrace(offset) {
+function sourceFromStacktrace( offset ) {
try {
throw new Error();
} catch ( e ) {
}
}
-function escapeInnerText(s) {
- if (!s) {
+function escapeInnerText( s ) {
+ if ( !s ) {
return "";
}
s = s + "";
- return s.replace(/[\&<>]/g, function(s) {
- switch(s) {
+ return s.replace( /[\&<>]/g, function( s ) {
+ switch( s ) {
case "&": return "&";
case "<": return "<";
case ">": return ">";
config.queue.push( callback );
if ( config.autorun && !config.blocking ) {
- process(last);
+ process( last );
}
}
if ( config.noglobals ) {
for ( var key in window ) {
- if ( !hasOwn.call( window, key ) ) {
+ // in Opera sometimes DOM element ids show up here, ignore them
+ if ( !hasOwn.call( window, key ) || /^qunit-test-output/.test( key ) ) {
continue;
}
config.pollution.push( key );
}
function checkPollution( name ) {
- var old = config.pollution;
+ var newGlobals,
+ deletedGlobals,
+ old = config.pollution;
+
saveGlobal();
- var newGlobals = diff( config.pollution, old );
+ newGlobals = diff( config.pollution, old );
if ( newGlobals.length > 0 ) {
QUnit.pushFailure( "Introduced global variable(s): " + newGlobals.join(", ") );
}
- var deletedGlobals = diff( old, config.pollution );
+ deletedGlobals = diff( old, config.pollution );
if ( deletedGlobals.length > 0 ) {
QUnit.pushFailure( "Deleted global variable(s): " + deletedGlobals.join(", ") );
}
// returns a new Array with the elements that are in a but not in b
function diff( a, b ) {
- var result = a.slice();
- for ( var i = 0; i < result.length; i++ ) {
- for ( var j = 0; j < b.length; j++ ) {
+ var i, j,
+ result = a.slice();
+
+ for ( i = 0; i < result.length; i++ ) {
+ for ( j = 0; j < b.length; j++ ) {
if ( result[i] === b[j] ) {
- result.splice(i, 1);
+ result.splice( i, 1 );
i--;
break;
}
return result;
}
-function extend(a, b) {
+function extend( a, b ) {
for ( var prop in b ) {
- if ( b[prop] === undefined ) {
- delete a[prop];
+ if ( b[ prop ] === undefined ) {
+ delete a[ prop ];
// Avoid "Member not found" error in IE8 caused by setting window.constructor
} else if ( prop !== "constructor" || a !== window ) {
- a[prop] = b[prop];
+ a[ prop ] = b[ prop ];
}
}
return a;
}
-function addEvent(elem, type, fn) {
+function addEvent( elem, type, fn ) {
if ( elem.addEventListener ) {
elem.addEventListener( type, fn, false );
} else if ( elem.attachEvent ) {
}
}
-function id(name) {
- return !!(typeof document !== "undefined" && document && document.getElementById) &&
+function id( name ) {
+ return !!( typeof document !== "undefined" && document && document.getElementById ) &&
document.getElementById( name );
}
-function registerLoggingCallback(key){
- return function(callback){
+function registerLoggingCallback( key ) {
+ return function( callback ) {
config[key].push( callback );
};
}
// Supports deprecated method of completely overwriting logging callbacks
-function runLoggingCallbacks(key, scope, args) {
+function runLoggingCallbacks( key, scope, args ) {
//debugger;
- var callbacks;
- if ( QUnit.hasOwnProperty(key) ) {
- QUnit[key].call(scope, args);
+ var i, callbacks;
+ if ( QUnit.hasOwnProperty( key ) ) {
+ QUnit[ key ].call(scope, args );
} else {
- callbacks = config[key];
- for( var i = 0; i < callbacks.length; i++ ) {
- callbacks[i].call( scope, args );
+ callbacks = config[ key ];
+ for ( i = 0; i < callbacks.length; i++ ) {
+ callbacks[ i ].call( scope, args );
}
}
}
// Author: Philippe Rathé <prathe@gmail.com>
QUnit.equiv = (function() {
- var innerEquiv; // the real equiv function
- var callers = []; // stack to decide between skip/abort functions
- var parents = []; // stack to avoiding loops from circular referencing
-
// Call the o related callback with the given arguments.
- function bindCallbacks(o, callbacks, args) {
- var prop = QUnit.objectType(o);
- if (prop) {
- if (QUnit.objectType(callbacks[prop]) === "function") {
- return callbacks[prop].apply(callbacks, args);
+ function bindCallbacks( o, callbacks, args ) {
+ var prop = QUnit.objectType( o );
+ if ( prop ) {
+ if ( QUnit.objectType( callbacks[ prop ] ) === "function" ) {
+ return callbacks[ prop ].apply( callbacks, args );
} else {
- return callbacks[prop]; // or undefined
+ return callbacks[ prop ]; // or undefined
}
}
}
- var getProto = Object.getPrototypeOf || function (obj) {
- return obj.__proto__;
- };
-
- var callbacks = (function () {
-
- // for string, boolean, number and null
- function useStrictEquality(b, a) {
- if (b instanceof a.constructor || a instanceof b.constructor) {
- // to catch short annotaion VS 'new' annotation of a
- // declaration
- // e.g. var i = 1;
- // var j = new Number(1);
- return a == b;
- } else {
- return a === b;
- }
- }
-
- return {
- "string" : useStrictEquality,
- "boolean" : useStrictEquality,
- "number" : useStrictEquality,
- "null" : useStrictEquality,
- "undefined" : useStrictEquality,
-
- "nan" : function(b) {
- return isNaN(b);
- },
-
- "date" : function(b, a) {
- return QUnit.objectType(b) === "date" && a.valueOf() === b.valueOf();
- },
-
- "regexp" : function(b, a) {
- return QUnit.objectType(b) === "regexp" &&
- // the regex itself
- a.source === b.source &&
- // and its modifers
- a.global === b.global &&
- // (gmi) ...
- a.ignoreCase === b.ignoreCase &&
- a.multiline === b.multiline;
- },
-
- // - skip when the property is a method of an instance (OOP)
- // - abort otherwise,
- // initial === would have catch identical references anyway
- "function" : function() {
- var caller = callers[callers.length - 1];
- return caller !== Object && typeof caller !== "undefined";
- },
-
- "array" : function(b, a) {
- var i, j, loop;
- var len;
-
- // b could be an object literal here
- if (QUnit.objectType(b) !== "array") {
- return false;
- }
+ // the real equiv function
+ var innerEquiv,
+ // stack to decide between skip/abort functions
+ callers = [],
+ // stack to avoiding loops from circular referencing
+ parents = [],
- len = a.length;
- if (len !== b.length) { // safe and faster
- return false;
+ getProto = Object.getPrototypeOf || function ( obj ) {
+ return obj.__proto__;
+ },
+ callbacks = (function () {
+
+ // for string, boolean, number and null
+ function useStrictEquality( b, a ) {
+ if ( b instanceof a.constructor || a instanceof b.constructor ) {
+ // to catch short annotaion VS 'new' annotation of a
+ // declaration
+ // e.g. var i = 1;
+ // var j = new Number(1);
+ return a == b;
+ } else {
+ return a === b;
}
+ }
- // track reference to avoid circular references
- parents.push(a);
- for (i = 0; i < len; i++) {
- loop = false;
- for (j = 0; j < parents.length; j++) {
- if (parents[j] === a[i]) {
- loop = true;// dont rewalk array
- }
- }
- if (!loop && !innerEquiv(a[i], b[i])) {
- parents.pop();
+ return {
+ "string": useStrictEquality,
+ "boolean": useStrictEquality,
+ "number": useStrictEquality,
+ "null": useStrictEquality,
+ "undefined": useStrictEquality,
+
+ "nan": function( b ) {
+ return isNaN( b );
+ },
+
+ "date": function( b, a ) {
+ return QUnit.objectType( b ) === "date" && a.valueOf() === b.valueOf();
+ },
+
+ "regexp": function( b, a ) {
+ return QUnit.objectType( b ) === "regexp" &&
+ // the regex itself
+ a.source === b.source &&
+ // and its modifers
+ a.global === b.global &&
+ // (gmi) ...
+ a.ignoreCase === b.ignoreCase &&
+ a.multiline === b.multiline;
+ },
+
+ // - skip when the property is a method of an instance (OOP)
+ // - abort otherwise,
+ // initial === would have catch identical references anyway
+ "function": function() {
+ var caller = callers[callers.length - 1];
+ return caller !== Object && typeof caller !== "undefined";
+ },
+
+ "array": function( b, a ) {
+ var i, j, len, loop;
+
+ // b could be an object literal here
+ if ( QUnit.objectType( b ) !== "array" ) {
return false;
}
- }
- parents.pop();
- return true;
- },
- "object" : function(b, a) {
- var i, j, loop;
- var eq = true; // unless we can proove it
- var aProperties = [], bProperties = []; // collection of
- // strings
-
- // comparing constructors is more strict than using
- // instanceof
- if (a.constructor !== b.constructor) {
- // Allow objects with no prototype to be equivalent to
- // objects with Object as their constructor.
- if (!((getProto(a) === null && getProto(b) === Object.prototype) ||
- (getProto(b) === null && getProto(a) === Object.prototype)))
- {
+ len = a.length;
+ if ( len !== b.length ) {
+ // safe and faster
return false;
}
- }
- // stack constructor before traversing properties
- callers.push(a.constructor);
- // track reference to avoid circular references
- parents.push(a);
-
- for (i in a) { // be strict: don't ensures hasOwnProperty
- // and go deep
- loop = false;
- for (j = 0; j < parents.length; j++) {
- if (parents[j] === a[i]) {
- // don't go down the same path twice
- loop = true;
+ // track reference to avoid circular references
+ parents.push( a );
+ for ( i = 0; i < len; i++ ) {
+ loop = false;
+ for ( j = 0; j < parents.length; j++ ) {
+ if ( parents[j] === a[i] ) {
+ loop = true;// dont rewalk array
+ }
+ }
+ if ( !loop && !innerEquiv(a[i], b[i]) ) {
+ parents.pop();
+ return false;
+ }
+ }
+ parents.pop();
+ return true;
+ },
+
+ "object": function( b, a ) {
+ var i, j, loop,
+ // Default to true
+ eq = true,
+ aProperties = [],
+ bProperties = [];
+
+ // comparing constructors is more strict than using
+ // instanceof
+ if ( a.constructor !== b.constructor ) {
+ // Allow objects with no prototype to be equivalent to
+ // objects with Object as their constructor.
+ if ( !(( getProto(a) === null && getProto(b) === Object.prototype ) ||
+ ( getProto(b) === null && getProto(a) === Object.prototype ) ) ) {
+ return false;
}
}
- aProperties.push(i); // collect a's properties
- if (!loop && !innerEquiv(a[i], b[i])) {
- eq = false;
- break;
+ // stack constructor before traversing properties
+ callers.push( a.constructor );
+ // track reference to avoid circular references
+ parents.push( a );
+
+ for ( i in a ) { // be strict: don't ensures hasOwnProperty
+ // and go deep
+ loop = false;
+ for ( j = 0; j < parents.length; j++ ) {
+ if ( parents[j] === a[i] ) {
+ // don't go down the same path twice
+ loop = true;
+ }
+ }
+ aProperties.push(i); // collect a's properties
+
+ if (!loop && !innerEquiv( a[i], b[i] ) ) {
+ eq = false;
+ break;
+ }
}
- }
- callers.pop(); // unstack, we are done
- parents.pop();
+ callers.pop(); // unstack, we are done
+ parents.pop();
- for (i in b) {
- bProperties.push(i); // collect b's properties
- }
+ for ( i in b ) {
+ bProperties.push( i ); // collect b's properties
+ }
- // Ensures identical properties name
- return eq && innerEquiv(aProperties.sort(), bProperties.sort());
- }
- };
- }());
+ // Ensures identical properties name
+ return eq && innerEquiv( aProperties.sort(), bProperties.sort() );
+ }
+ };
+ }());
innerEquiv = function() { // can take multiple arguments
- var args = Array.prototype.slice.apply(arguments);
- if (args.length < 2) {
+ var args = [].slice.apply( arguments );
+ if ( args.length < 2 ) {
return true; // end transition
}
- return (function(a, b) {
- if (a === b) {
+ return (function( a, b ) {
+ if ( a === b ) {
return true; // catch the most you can
- } else if (a === null || b === null || typeof a === "undefined" ||
+ } else if ( a === null || b === null || typeof a === "undefined" ||
typeof b === "undefined" ||
- QUnit.objectType(a) !== QUnit.objectType(b)) {
+ QUnit.objectType(a) !== QUnit.objectType(b) ) {
return false; // don't lose time with error prone cases
} else {
return bindCallbacks(a, callbacks, [ b, a ]);
}
// apply transition with (1..n) arguments
- }(args[0], args[1]) && arguments.callee.apply(this, args.splice(1, args.length - 1)));
+ }( args[0], args[1] ) && arguments.callee.apply( this, args.splice(1, args.length - 1 )) );
};
return innerEquiv;
-
}());
/**
*/
QUnit.jsDump = (function() {
function quote( str ) {
- return '"' + str.toString().replace(/"/g, '\\"') + '"';
+ return '"' + str.toString().replace( /"/g, '\\"' ) + '"';
}
function literal( o ) {
- return o + '';
+ return o + "";
}
function join( pre, arr, post ) {
var s = jsDump.separator(),
base = jsDump.indent(),
inner = jsDump.indent(1);
if ( arr.join ) {
- arr = arr.join( ',' + s + inner );
+ arr = arr.join( "," + s + inner );
}
if ( !arr ) {
return pre + post;
ret[i] = this.parse( arr[i] , undefined , stack);
}
this.down();
- return join( '[', ret, ']' );
+ return join( "[", ret, "]" );
}
- var reName = /^function (\w+)/;
+ var reName = /^function (\w+)/,
+ jsDump = {
+ parse: function( obj, type, stack ) { //type is used mostly internally, you can fix a (custom)type in advance
+ stack = stack || [ ];
+ var inStack, res,
+ parser = this.parsers[ type || this.typeOf(obj) ];
- var jsDump = {
- parse: function( obj, type, stack ) { //type is used mostly internally, you can fix a (custom)type in advance
- stack = stack || [ ];
- var parser = this.parsers[ type || this.typeOf(obj) ];
- type = typeof parser;
- var inStack = inArray(obj, stack);
- if (inStack != -1) {
- return 'recursion('+(inStack - stack.length)+')';
- }
- //else
- if (type == 'function') {
- stack.push(obj);
- var res = parser.call( this, obj, stack );
+ type = typeof parser;
+ inStack = inArray( obj, stack );
+
+ if ( inStack != -1 ) {
+ return "recursion(" + (inStack - stack.length) + ")";
+ }
+ //else
+ if ( type == "function" ) {
+ stack.push( obj );
+ res = parser.call( this, obj, stack );
stack.pop();
return res;
- }
- // else
- return (type == 'string') ? parser : this.parsers.error;
- },
- typeOf: function( obj ) {
- var type;
- if ( obj === null ) {
- type = "null";
- } else if (typeof obj === "undefined") {
- type = "undefined";
- } else if (QUnit.is("RegExp", obj)) {
- type = "regexp";
- } else if (QUnit.is("Date", obj)) {
- type = "date";
- } else if (QUnit.is("Function", obj)) {
- type = "function";
- } else if (typeof obj.setInterval !== undefined && typeof obj.document !== "undefined" && typeof obj.nodeType === "undefined") {
- type = "window";
- } else if (obj.nodeType === 9) {
- type = "document";
- } else if (obj.nodeType) {
- type = "node";
- } else if (
- // native arrays
- toString.call( obj ) === "[object Array]" ||
- // NodeList objects
- ( typeof obj.length === "number" && typeof obj.item !== "undefined" && ( obj.length ? obj.item(0) === obj[0] : ( obj.item( 0 ) === null && typeof obj[0] === "undefined" ) ) )
- ) {
- type = "array";
- } else {
- type = typeof obj;
- }
- return type;
- },
- separator: function() {
- return this.multiline ? this.HTML ? '<br />' : '\n' : this.HTML ? ' ' : ' ';
- },
- indent: function( extra ) {// extra can be a number, shortcut for increasing-calling-decreasing
- if ( !this.multiline ) {
- return '';
- }
- var chr = this.indentChar;
- if ( this.HTML ) {
- chr = chr.replace(/\t/g,' ').replace(/ /g,' ');
- }
- return new Array( this._depth_ + (extra||0) ).join(chr);
- },
- up: function( a ) {
- this._depth_ += a || 1;
- },
- down: function( a ) {
- this._depth_ -= a || 1;
- },
- setParser: function( name, parser ) {
- this.parsers[name] = parser;
- },
- // The next 3 are exposed so you can use them
- quote: quote,
- literal: literal,
- join: join,
- //
- _depth_: 1,
- // This is the list of parsers, to modify them, use jsDump.setParser
- parsers: {
- window: '[Window]',
- document: '[Document]',
- error: '[ERROR]', //when no parser is found, shouldn't happen
- unknown: '[Unknown]',
- 'null': 'null',
- 'undefined': 'undefined',
- 'function': function( fn ) {
- var ret = 'function',
- name = 'name' in fn ? fn.name : (reName.exec(fn)||[])[1];//functions never have name in IE
- if ( name ) {
- ret += ' ' + name;
}
- ret += '(';
-
- ret = [ ret, QUnit.jsDump.parse( fn, 'functionArgs' ), '){'].join('');
- return join( ret, QUnit.jsDump.parse(fn,'functionCode'), '}' );
+ // else
+ return ( type == "string" ) ? parser : this.parsers.error;
},
- array: array,
- nodelist: array,
- 'arguments': array,
- object: function( map, stack ) {
- var ret = [ ], keys, key, val, i;
- QUnit.jsDump.up();
- if (Object.keys) {
- keys = Object.keys( map );
+ typeOf: function( obj ) {
+ var type;
+ if ( obj === null ) {
+ type = "null";
+ } else if ( typeof obj === "undefined" ) {
+ type = "undefined";
+ } else if ( QUnit.is( "regexp", obj) ) {
+ type = "regexp";
+ } else if ( QUnit.is( "date", obj) ) {
+ type = "date";
+ } else if ( QUnit.is( "function", obj) ) {
+ type = "function";
+ } else if ( typeof obj.setInterval !== undefined && typeof obj.document !== "undefined" && typeof obj.nodeType === "undefined" ) {
+ type = "window";
+ } else if ( obj.nodeType === 9 ) {
+ type = "document";
+ } else if ( obj.nodeType ) {
+ type = "node";
+ } else if (
+ // native arrays
+ toString.call( obj ) === "[object Array]" ||
+ // NodeList objects
+ ( typeof obj.length === "number" && typeof obj.item !== "undefined" && ( obj.length ? obj.item(0) === obj[0] : ( obj.item( 0 ) === null && typeof obj[0] === "undefined" ) ) )
+ ) {
+ type = "array";
} else {
- keys = [];
- for (key in map) { keys.push( key ); }
+ type = typeof obj;
+ }
+ return type;
+ },
+ separator: function() {
+ return this.multiline ? this.HTML ? "<br />" : "\n" : this.HTML ? " " : " ";
+ },
+ indent: function( extra ) {// extra can be a number, shortcut for increasing-calling-decreasing
+ if ( !this.multiline ) {
+ return "";
}
- keys.sort();
- for (i = 0; i < keys.length; i++) {
- key = keys[ i ];
- val = map[ key ];
- ret.push( QUnit.jsDump.parse( key, 'key' ) + ': ' + QUnit.jsDump.parse( val, undefined, stack ) );
+ var chr = this.indentChar;
+ if ( this.HTML ) {
+ chr = chr.replace( /\t/g, " " ).replace( / /g, " " );
}
- QUnit.jsDump.down();
- return join( '{', ret, '}' );
+ return new Array( this._depth_ + (extra||0) ).join(chr);
},
- node: function( node ) {
- var open = QUnit.jsDump.HTML ? '<' : '<',
- close = QUnit.jsDump.HTML ? '>' : '>';
-
- var tag = node.nodeName.toLowerCase(),
- ret = open + tag;
+ up: function( a ) {
+ this._depth_ += a || 1;
+ },
+ down: function( a ) {
+ this._depth_ -= a || 1;
+ },
+ setParser: function( name, parser ) {
+ this.parsers[name] = parser;
+ },
+ // The next 3 are exposed so you can use them
+ quote: quote,
+ literal: literal,
+ join: join,
+ //
+ _depth_: 1,
+ // This is the list of parsers, to modify them, use jsDump.setParser
+ parsers: {
+ window: "[Window]",
+ document: "[Document]",
+ error: "[ERROR]", //when no parser is found, shouldn"t happen
+ unknown: "[Unknown]",
+ "null": "null",
+ "undefined": "undefined",
+ "function": function( fn ) {
+ var ret = "function",
+ name = "name" in fn ? fn.name : (reName.exec(fn) || [])[1];//functions never have name in IE
+
+ if ( name ) {
+ ret += " " + name;
+ }
+ ret += "( ";
+
+ ret = [ ret, QUnit.jsDump.parse( fn, "functionArgs" ), "){" ].join( "" );
+ return join( ret, QUnit.jsDump.parse(fn,"functionCode" ), "}" );
+ },
+ array: array,
+ nodelist: array,
+ "arguments": array,
+ object: function( map, stack ) {
+ var ret = [ ], keys, key, val, i;
+ QUnit.jsDump.up();
+ if ( Object.keys ) {
+ keys = Object.keys( map );
+ } else {
+ keys = [];
+ for ( key in map ) {
+ keys.push( key );
+ }
+ }
+ keys.sort();
+ for ( i = 0; i < keys.length; i++ ) {
+ key = keys[ i ];
+ val = map[ key ];
+ ret.push( QUnit.jsDump.parse( key, "key" ) + ": " + QUnit.jsDump.parse( val, undefined, stack ) );
+ }
+ QUnit.jsDump.down();
+ return join( "{", ret, "}" );
+ },
+ node: function( node ) {
+ var a, val,
+ open = QUnit.jsDump.HTML ? "<" : "<",
+ close = QUnit.jsDump.HTML ? ">" : ">",
+ tag = node.nodeName.toLowerCase(),
+ ret = open + tag;
+
+ for ( a in QUnit.jsDump.DOMAttrs ) {
+ val = node[ QUnit.jsDump.DOMAttrs[a] ];
+ if ( val ) {
+ ret += " " + a + "=" + QUnit.jsDump.parse( val, "attribute" );
+ }
+ }
+ return ret + close + open + "/" + tag + close;
+ },
+ functionArgs: function( fn ) {//function calls it internally, it's the arguments part of the function
+ var args,
+ l = fn.length;
+
+ if ( !l ) {
+ return "";
+ }
- for ( var a in QUnit.jsDump.DOMAttrs ) {
- var val = node[QUnit.jsDump.DOMAttrs[a]];
- if ( val ) {
- ret += ' ' + a + '=' + QUnit.jsDump.parse( val, 'attribute' );
+ args = new Array(l);
+ while ( l-- ) {
+ args[l] = String.fromCharCode(97+l);//97 is 'a'
}
- }
- return ret + close + open + '/' + tag + close;
+ return " " + args.join( ", " ) + " ";
+ },
+ key: quote, //object calls it internally, the key part of an item in a map
+ functionCode: "[code]", //function calls it internally, it's the content of the function
+ attribute: quote, //node calls it internally, it's an html attribute value
+ string: quote,
+ date: quote,
+ regexp: literal, //regex
+ number: literal,
+ "boolean": literal
},
- functionArgs: function( fn ) {//function calls it internally, it's the arguments part of the function
- var l = fn.length;
- if ( !l ) {
- return '';
- }
-
- var args = new Array(l);
- while ( l-- ) {
- args[l] = String.fromCharCode(97+l);//97 is 'a'
- }
- return ' ' + args.join(', ') + ' ';
+ DOMAttrs: {
+ //attributes to dump from nodes, name=>realName
+ id: "id",
+ name: "name",
+ "class": "className"
},
- key: quote, //object calls it internally, the key part of an item in a map
- functionCode: '[code]', //function calls it internally, it's the content of the function
- attribute: quote, //node calls it internally, it's an html attribute value
- string: quote,
- date: quote,
- regexp: literal, //regex
- number: literal,
- 'boolean': literal
- },
- DOMAttrs:{//attributes to dump from nodes, name=>realName
- id:'id',
- name:'name',
- 'class':'className'
- },
- HTML:false,//if true, entities are escaped ( <, >, \t, space and \n )
- indentChar:' ',//indentation unit
- multiline:true //if true, items in a collection, are separated by a \n, else just a space.
- };
+ HTML: false,//if true, entities are escaped ( <, >, \t, space and \n )
+ indentChar: " ",//indentation unit
+ multiline: true //if true, items in a collection, are separated by a \n, else just a space.
+ };
return jsDump;
}());
// from Sizzle.js
function getText( elems ) {
- var ret = "", elem;
+ var i, elem,
+ ret = "";
- for ( var i = 0; elems[i]; i++ ) {
+ for ( i = 0; elems[i]; i++ ) {
elem = elems[i];
// Get the text from text nodes and CDATA nodes
return ret;
}
-//from jquery.js
+// from jquery.js
function inArray( elem, array ) {
if ( array.indexOf ) {
return array.indexOf( elem );
*
* Usage: QUnit.diff(expected, actual)
*
- * QUnit.diff("the quick brown fox jumped over", "the quick fox jumps over") == "the quick <del>brown </del> fox <del>jumped </del><ins>jumps </ins> over"
+ * QUnit.diff( "the quick brown fox jumped over", "the quick fox jumps over" ) == "the quick <del>brown </del> fox <del>jumped </del><ins>jumps </ins> over"
*/
QUnit.diff = (function() {
- function diff(o, n) {
- var ns = {};
- var os = {};
- var i;
-
- for (i = 0; i < n.length; i++) {
- if (ns[n[i]] == null) {
- ns[n[i]] = {
+ function diff( o, n ) {
+ var i,
+ ns = {},
+ os = {};
+
+ for ( i = 0; i < n.length; i++ ) {
+ if ( ns[ n[i] ] == null ) {
+ ns[ n[i] ] = {
rows: [],
o: null
};
}
- ns[n[i]].rows.push(i);
+ ns[ n[i] ].rows.push( i );
}
- for (i = 0; i < o.length; i++) {
- if (os[o[i]] == null) {
- os[o[i]] = {
+ for ( i = 0; i < o.length; i++ ) {
+ if ( os[ o[i] ] == null ) {
+ os[ o[i] ] = {
rows: [],
n: null
};
}
- os[o[i]].rows.push(i);
+ os[ o[i] ].rows.push( i );
}
- for (i in ns) {
+ for ( i in ns ) {
if ( !hasOwn.call( ns, i ) ) {
continue;
}
- if (ns[i].rows.length == 1 && typeof(os[i]) != "undefined" && os[i].rows.length == 1) {
- n[ns[i].rows[0]] = {
- text: n[ns[i].rows[0]],
+ if ( ns[i].rows.length == 1 && typeof os[i] != "undefined" && os[i].rows.length == 1 ) {
+ n[ ns[i].rows[0] ] = {
+ text: n[ ns[i].rows[0] ],
row: os[i].rows[0]
};
- o[os[i].rows[0]] = {
- text: o[os[i].rows[0]],
+ o[ os[i].rows[0] ] = {
+ text: o[ os[i].rows[0] ],
row: ns[i].rows[0]
};
}
}
- for (i = 0; i < n.length - 1; i++) {
- if (n[i].text != null && n[i + 1].text == null && n[i].row + 1 < o.length && o[n[i].row + 1].text == null &&
- n[i + 1] == o[n[i].row + 1]) {
- n[i + 1] = {
- text: n[i + 1],
+ for ( i = 0; i < n.length - 1; i++ ) {
+ if ( n[i].text != null && n[ i + 1 ].text == null && n[i].row + 1 < o.length && o[ n[i].row + 1 ].text == null &&
+ n[ i + 1 ] == o[ n[i].row + 1 ] ) {
+
+ n[ i + 1 ] = {
+ text: n[ i + 1 ],
row: n[i].row + 1
};
- o[n[i].row + 1] = {
- text: o[n[i].row + 1],
+ o[ n[i].row + 1 ] = {
+ text: o[ n[i].row + 1 ],
row: i + 1
};
}
}
- for (i = n.length - 1; i > 0; i--) {
- if (n[i].text != null && n[i - 1].text == null && n[i].row > 0 && o[n[i].row - 1].text == null &&
- n[i - 1] == o[n[i].row - 1]) {
- n[i - 1] = {
- text: n[i - 1],
+ for ( i = n.length - 1; i > 0; i-- ) {
+ if ( n[i].text != null && n[ i - 1 ].text == null && n[i].row > 0 && o[ n[i].row - 1 ].text == null &&
+ n[ i - 1 ] == o[ n[i].row - 1 ]) {
+
+ n[ i - 1 ] = {
+ text: n[ i - 1 ],
row: n[i].row - 1
};
- o[n[i].row - 1] = {
- text: o[n[i].row - 1],
+ o[ n[i].row - 1 ] = {
+ text: o[ n[i].row - 1 ],
row: i - 1
};
}
};
}
- return function(o, n) {
- o = o.replace(/\s+$/, '');
- n = n.replace(/\s+$/, '');
- var out = diff(o === "" ? [] : o.split(/\s+/), n === "" ? [] : n.split(/\s+/));
+ return function( o, n ) {
+ o = o.replace( /\s+$/, "" );
+ n = n.replace( /\s+$/, "" );
- var str = "";
- var i;
+ var i, pre,
+ str = "",
+ out = diff( o === "" ? [] : o.split(/\s+/), n === "" ? [] : n.split(/\s+/) ),
+ oSpace = o.match(/\s+/g),
+ nSpace = n.match(/\s+/g);
- var oSpace = o.match(/\s+/g);
- if (oSpace == null) {
- oSpace = [" "];
+ if ( oSpace == null ) {
+ oSpace = [ " " ];
}
else {
- oSpace.push(" ");
+ oSpace.push( " " );
}
- var nSpace = n.match(/\s+/g);
- if (nSpace == null) {
- nSpace = [" "];
+
+ if ( nSpace == null ) {
+ nSpace = [ " " ];
}
else {
- nSpace.push(" ");
+ nSpace.push( " " );
}
- if (out.n.length === 0) {
- for (i = 0; i < out.o.length; i++) {
- str += '<del>' + out.o[i] + oSpace[i] + "</del>";
+ if ( out.n.length === 0 ) {
+ for ( i = 0; i < out.o.length; i++ ) {
+ str += "<del>" + out.o[i] + oSpace[i] + "</del>";
}
}
else {
- if (out.n[0].text == null) {
- for (n = 0; n < out.o.length && out.o[n].text == null; n++) {
- str += '<del>' + out.o[n] + oSpace[n] + "</del>";
+ if ( out.n[0].text == null ) {
+ for ( n = 0; n < out.o.length && out.o[n].text == null; n++ ) {
+ str += "<del>" + out.o[n] + oSpace[n] + "</del>";
}
}
- for (i = 0; i < out.n.length; i++) {
+ for ( i = 0; i < out.n.length; i++ ) {
if (out.n[i].text == null) {
- str += '<ins>' + out.n[i] + nSpace[i] + "</ins>";
+ str += "<ins>" + out.n[i] + nSpace[i] + "</ins>";
}
else {
- var pre = "";
+ // `pre` initialized at top of scope
+ pre = "";
- for (n = out.n[i].row + 1; n < out.o.length && out.o[n].text == null; n++) {
- pre += '<del>' + out.o[n] + oSpace[n] + "</del>";
+ for ( n = out.n[i].row + 1; n < out.o.length && out.o[n].text == null; n++ ) {
+ pre += "<del>" + out.o[n] + oSpace[n] + "</del>";
}
str += " " + out.n[i].text + nSpace[i] + pre;
}
}());
// for CommonJS enviroments, export everything
-if ( typeof exports !== "undefined" || typeof require !== "undefined" ) {
+if ( typeof exports !== "undefined" ) {
extend(exports, QUnit);
}
!! end
+!! test
+Nested lists 1
+!! input
+*foo
+**bar
+!! result
+<ul><li>foo
+<ul><li>bar
+</li></ul>
+</li></ul>
+
+!! end
+
+!! test
+Nested lists 2
+!! input
+**foo
+*bar
+!! result
+<ul><li><ul><li>foo
+</li></ul>
+</li><li>bar
+</li></ul>
+
+!! end
+
+!! test
+Nested lists 3 (first element empty)
+!! input
+*
+**bar
+!! result
+<ul><li>
+<ul><li>bar
+</li></ul>
+</li></ul>
+
+!! end
+
+!! test
+Nested lists 4 (first element empty)
+!! input
+**
+*bar
+!! result
+<ul><li><ul><li>
+</li></ul>
+</li><li>bar
+</li></ul>
+
+!! end
+
+!! test
+Nested lists 5 (both elements empty)
+!! input
+**
+*
+!! result
+<ul><li><ul><li>
+</li></ul>
+</li><li>
+</li></ul>
+
+!! end
+
+!! test
+Nested lists 6 (both elements empty)
+!! input
+*
+**
+!! result
+<ul><li>
+<ul><li>
+</li></ul>
+</li></ul>
+
+!! end
+
+
!! test
List items are not parsed correctly following a <pre> block (bug 785)
!! input