caught during API execution.
* (bug 37963) Fixed loading process for user options
* (bug 26995) Update filename field on Upload page after having sanitized it.
+* (bug 41793) Contribution links to users with 0 edits on Special:ListUsers didn't
+ show up red.
=== API changes in 1.21 ===
* prop=revisions can now report the contentmodel and contentformat, see docs/contenthandler.txt
$modeName: the requested content model name
&$handler: set this to a ContentHandler object, if desired.
+'ConvertContent': Called by AbstractContent::convert when a conversion to another
+content model is requested.
+$content: The Content object to be converted.
+$toModel: The ID of the content model to convert to.
+$lossy: boolean indicating whether lossy conversion is allowed.
+&$result: Output parameter, in case the handler function wants to provide a
+converted Content object. Note that $result->getContentModel() must return $toModel.
+Handler functions that modify $result should generally return false to further
+attempts at conversion.
+
'ContribsPager::getQueryInfo': Before the contributions query is about to run
&$pager: Pager object for contributions
&$queryInfo: The query for the contribs Pager
wfProfileIn( 'img_auth.php' );
# Set action base paths so that WebRequest::getPathInfo()
-# recognizes the "X" as the 'title' in ../image_auth/X urls.
+# recognizes the "X" as the 'title' in ../img_auth.php/X urls.
$wgArticlePath = false; # Don't let a "/*" article path clober our action path
$wgActionPaths = array( "$wgUploadPath/" );
* container : backend container name the zone is in
* directory : root path within container for the zone
* url : base URL to the root of the zone
- * handlerUrl : base script handled URL to the root of the zone
+ * urlsByExt : map of file extension types to base URLs
+ * (useful for using a different cache for videos)
+ * handlerUrl : base script-handled URL to the root of the zone
* (see FileRepo::getZoneHandlerUrl() function)
* Zones default to using "<repo name>-<zone name>" as the container name
* and default to using the container root as the zone's root directory.
$count = $this->initEditCount();
}
wfProfileOut( __METHOD__ );
- $this->mEditCount = $count;
+ $this->mEditCount = intval( $count );
}
return $this->mEditCount;
} else {
public function matchMagicWord( MagicWord $word ) {
return false;
}
+
+ /**
+ * @see Content::convert()
+ *
+ * This base implementation calls the hook ConvertContent to enable custom conversions.
+ * Subclasses may override this to implement conversion for "their" content model.
+ *
+ * @param String $toModel the desired content model, use the CONTENT_MODEL_XXX flags.
+ * @param String $lossy flag, set to "lossy" to allow lossy conversion. If lossy conversion is
+ * not allowed, full round-trip conversion is expected to work without losing information.
+ *
+ * @return Content|bool A content object with the content model $toModel, or false if
+ * that conversion is not supported.
+ */
+ public function convert( $toModel, $lossy = '' ) {
+ if ( $this->getModel() === $toModel ) {
+ //nothing to do, shorten out.
+ return $this;
+ }
+
+ $lossy = ( $lossy === 'lossy' ); // string flag, convert to boolean for convenience
+ $result = false;
+
+ wfRunHooks( 'ConvertContent', array( $this, $toModel, $lossy, &$result ) );
+ return $result;
+ }
}
/**
* @since 1.21
*
- * @return string The wikitext to include when another page includes this
+ * @return string|false The wikitext to include when another page includes this
* content, or false if the content is not includable in a wikitext page.
*
* @todo allow native handling, bypassing wikitext representation, like
*/
public function matchMagicWord( MagicWord $word );
- // TODO: ImagePage and CategoryPage interfere with per-content action handlers
+ /**
+ * Converts this content object into another content object with the given content model,
+ * if that is possible.
+ *
+ * @param String $toModel the desired content model, use the CONTENT_MODEL_XXX flags.
+ * @param String $lossy flag, set to "lossy" to allow lossy conversion. If lossy conversion is
+ * not allowed, full round-trip conversion is expected to work without losing information.
+ *
+ * @return Content|bool A content object with the content model $toModel, or false if
+ * that conversion is not supported.
+ */
+ public function convert( $toModel, $lossy = '' );
+
+ // TODO: ImagePage and CategoryPage interfere with per-content action handlers
// TODO: nice&sane integration of GeSHi syntax highlighting
// [11:59] <vvv> Hooks are ugly; make CodeHighlighter interface and a
// config to set the class which handles syntax highlighting
}
/**
- * Returns the text represented by this Content object, as a string.
+ * Returns attempts to convert this content object to wikitext,
+ * and then returns the text string. The conversion may be lossy.
*
- * @return string: the raw text
+ * @note: this allows any text-based content to be transcluded as if it was wikitext.
+ *
+ * @return string|false: the raw text, or null if the conversion failed
*/
public function getWikitextForTransclusion( ) {
- return $this->getNativeData();
+ $wikitext = $this->convert( CONTENT_MODEL_WIKITEXT, 'lossy' );
+
+ if ( $wikitext ) {
+ return $wikitext->getNativeData();
+ } else {
+ return false;
+ }
}
/**
# TODO: make Highlighter interface, use highlighter here, if available
return htmlspecialchars( $this->getNativeData() );
}
+
+ /**
+ * @see Content::convert()
+ *
+ * This implementation provides lossless conversion between content models based
+ * on TextContent.
+ *
+ * @param String $toModel the desired content model, use the CONTENT_MODEL_XXX flags.
+ * @param String $lossy flag, set to "lossy" to allow lossy conversion. If lossy conversion is
+ * not allowed, full round-trip conversion is expected to work without losing information.
+ *
+ * @return Content|bool A content object with the content model $toModel, or false if
+ * that conversion is not supported.
+ */
+ public function convert( $toModel, $lossy = '' ) {
+ $converted = parent::convert( $toModel, $lossy );
+
+ if ( $converted !== false ) {
+ return $converted;
+ }
+
+ $toHandler = ContentHandler::getForModelID( $toModel );
+
+ if ( $toHandler instanceof TextContentHandler ) {
+ //NOTE: ignore content serialization format - it's just text anyway.
+ $text = $this->getNativeData();
+ $converted = $toHandler->unserializeContent( $text );
+ }
+
+ return $converted;
+ }
}
return $status;
}
- if ( file_exists( $dest ) ) {
- $ok = unlink( $dest );
- if ( !$ok ) {
- $status->fatal( 'backend-fail-delete', $params['dst'] );
- return $status;
- }
- }
-
if ( !empty( $params['async'] ) ) { // deferred
- $cmd = implode( ' ', array( wfIsWindows() ? 'COPY' : 'cp',
+ $cmd = implode( ' ', array(
+ wfIsWindows() ? 'COPY /B /Y' : 'cp', // (binary, overwrite)
wfEscapeShellArg( $this->cleanPathSlashes( $params['src'] ) ),
wfEscapeShellArg( $this->cleanPathSlashes( $dest ) )
) );
return $status; // do nothing; either OK or bad status
}
- if ( file_exists( $dest ) ) {
- $ok = unlink( $dest );
- if ( !$ok ) {
- $status->fatal( 'backend-fail-delete', $params['dst'] );
- return $status;
- }
- }
-
if ( !empty( $params['async'] ) ) { // deferred
- $cmd = implode( ' ', array( wfIsWindows() ? 'COPY' : 'cp',
+ $cmd = implode( ' ', array(
+ wfIsWindows() ? 'COPY /B /Y' : 'cp', // (binary, overwrite)
wfEscapeShellArg( $this->cleanPathSlashes( $source ) ),
wfEscapeShellArg( $this->cleanPathSlashes( $dest ) )
) );
return $status; // do nothing; either OK or bad status
}
- if ( file_exists( $dest ) ) {
- // Windows does not support moving over existing files
- if ( wfIsWindows() ) {
- $ok = unlink( $dest );
- if ( !$ok ) {
- $status->fatal( 'backend-fail-delete', $params['dst'] );
- return $status;
- }
- }
- }
-
if ( !empty( $params['async'] ) ) { // deferred
- $cmd = implode( ' ', array( wfIsWindows() ? 'MOVE' : 'mv',
+ $cmd = implode( ' ', array(
+ wfIsWindows() ? 'MOVE /Y' : 'mv', // (overwrite)
wfEscapeShellArg( $this->cleanPathSlashes( $source ) ),
wfEscapeShellArg( $this->cleanPathSlashes( $dest ) )
) );
}
if ( !empty( $params['async'] ) ) { // deferred
- $cmd = implode( ' ', array( wfIsWindows() ? 'DEL' : 'unlink',
+ $cmd = implode( ' ', array(
+ wfIsWindows() ? 'DEL' : 'unlink',
wfEscapeShellArg( $this->cleanPathSlashes( $source ) )
) );
$status->value = new FSFileOpHandle( $this, $params, 'Copy', $cmd );
return $status;
}
- if ( file_exists( $dest ) ) {
- $ok = unlink( $dest );
- if ( !$ok ) {
- $status->fatal( 'backend-fail-delete', $params['dst'] );
- return $status;
- }
- }
-
if ( !empty( $params['async'] ) ) { // deferred
$tempFile = TempFSFile::factory( 'create_', 'tmp' );
if ( !$tempFile ) {
$status->fatal( 'backend-fail-create', $params['dst'] );
return $status;
}
- $cmd = implode( ' ', array( wfIsWindows() ? 'COPY' : 'cp',
+ $cmd = implode( ' ', array(
+ wfIsWindows() ? 'COPY /B /Y' : 'cp', // (binary, overwrite)
wfEscapeShellArg( $this->cleanPathSlashes( $tempFile->getPath() ) ),
wfEscapeShellArg( $this->cleanPathSlashes( $dest ) )
) );
if ( !isset( $this->zones[$zone]['directory'] ) ) {
$this->zones[$zone]['directory'] = '';
}
+ if ( !isset( $this->zones[$zone]['urlsByExt'] ) ) {
+ $this->zones[$zone]['urlsByExt'] = array();
+ }
}
}
/**
* Get the URL corresponding to one of the four basic zones
*
- * @param $zone String: one of: public, deleted, temp, thumb
+ * @param $zone String One of: public, deleted, temp, thumb
+ * @param $ext String|null Optional file extension
* @return String or false
*/
- public function getZoneUrl( $zone ) {
- if ( isset( $this->zones[$zone]['url'] )
- && in_array( $zone, array( 'public', 'temp', 'thumb' ) ) )
- {
- return $this->zones[$zone]['url']; // custom URL
+ public function getZoneUrl( $zone, $ext = null ) {
+ if ( in_array( $zone, array( 'public', 'temp', 'thumb' ) ) ) { // standard public zones
+ if ( $ext !== null && isset( $this->zones[$zone]['urlsByExt'][$ext] ) ) {
+ return $this->zones[$zone]['urlsByExt'][$ext]; // custom URL for extension/zone
+ } elseif ( isset( $this->zones[$zone]['url'] ) ) {
+ return $this->zones[$zone]['url']; // custom URL for zone
+ }
}
switch ( $zone ) {
case 'public':
public function getUrl() {
if ( !isset( $this->url ) ) {
$this->assertRepoDefined();
- $this->url = $this->repo->getZoneUrl( 'public' ) . '/' . $this->getUrlRel();
+ $ext = $this->getExtension();
+ $this->url = $this->repo->getZoneUrl( 'public', $ext ) . '/' . $this->getUrlRel();
}
return $this->url;
}
*/
function getArchiveUrl( $suffix = false ) {
$this->assertRepoDefined();
- $path = $this->repo->getZoneUrl( 'public' ) . '/archive/' . $this->getHashPath();
+ $ext = $this->getExtension();
+ $path = $this->repo->getZoneUrl( 'public', $ext ) . '/archive/' . $this->getHashPath();
if ( $suffix === false ) {
$path = substr( $path, 0, -1 );
} else {
*/
function getArchiveThumbUrl( $archiveName, $suffix = false ) {
$this->assertRepoDefined();
- $path = $this->repo->getZoneUrl( 'thumb' ) . '/archive/' .
+ $ext = $this->getExtension();
+ $path = $this->repo->getZoneUrl( 'thumb', $ext ) . '/archive/' .
$this->getHashPath() . rawurlencode( $archiveName ) . "/";
if ( $suffix === false ) {
$path = substr( $path, 0, -1 );
*/
function getThumbUrl( $suffix = false ) {
$this->assertRepoDefined();
- $path = $this->repo->getZoneUrl( 'thumb' ) . '/' . $this->getUrlRel();
+ $ext = $this->getExtension();
+ $path = $this->repo->getZoneUrl( 'thumb', $ext ) . '/' . $this->getUrlRel();
if ( $suffix !== false ) {
$path .= '/' . rawurlencode( $suffix );
}
Inserire un indirizzo email se si desidera effettuare l'iscrizione alla mailing list.",
'config-almost-done' => 'Hai quasi finito!
Adesso puoi saltare la rimanente parte della configurazione e semplicemente installare la wiki.',
+ 'config-profile-wiki' => 'Wiki tradizionale',
+ 'config-profile-no-anon' => 'Creazione utenza obbligatoria',
+ 'config-profile-fishbowl' => 'Solo editori autorizzati',
+ 'config-profile-private' => 'Wiki privata',
'config-license' => 'Copyright e licenza:',
+ 'config-license-none' => 'Nessun piè di pagina per la licenza',
'config-license-cc-by-sa' => 'Creative Commons Attribuzione-Condividi allo stesso modo',
'config-license-cc-by' => 'Creative Commons Attribuzione',
'config-license-cc-by-nc-sa' => 'Creative Commons Attribuzione-Non commerciale-Condividi allo stesso modo',
'config-license-cc-0' => 'Creative Commons Zero (pubblico dominio)',
'config-license-gfdl' => 'GNU Free Documentation License 1.3 o versioni successive',
'config-license-pd' => 'Pubblico dominio',
+ 'config-license-cc-choose' => 'Seleziona una delle licenze Creative Commons',
+ 'config-license-help' => "Molti wiki pubblici rilasciano i loro contributi con una [http://freedomdefined.org/Definition licenza libera]. Questo aiuta a creare un senso di proprietà condivisa nella comunità e incoraggia a contribuire a lungo termine. Non è generalmente necessario per un wiki privato o aziendale.
+
+Se vuoi usare testi da Wikipedia, o desideri che Wikipedia possa essere in grado di accettare testi copiati dal tuo wiki, dovresti scegliere '''Creative Commons Attribution Share Alike'''.
+
+In precedenza Wikipedia ha utilizzato la GNU Free Documentation License. La GFDL è una licenza valida, ma è di difficile comprensione e complica il riutilizzo dei contenuti.",
'config-email-settings' => 'Impostazioni email',
'config-email-auth' => 'Abilita autenticazione via email',
'config-upload-deleted' => 'Directory per i file cancellati:',
'config-advanced-settings' => 'Configurazione avanzata',
'config-memcache-badip' => 'È stato inserito un indirizzo IP non valido per Memcached: $1.',
'config-extensions' => 'Estensioni',
+ 'config-install-step-done' => 'fatto',
+ 'config-install-step-failed' => 'non riuscito',
'config-install-user-alreadyexists' => 'L\'utente "$1" è già presente',
'config-install-user-create-failed' => 'Creazione dell\'utente "$1" non riuscita: $2',
'config-install-user-missing' => 'L\'utente indicato "$1" non esiste.',
* @return Mixed
*/
public function get( $key ) {
+ wfProfileIn( __METHOD__ );
$this->debugLog( "get($key)" );
- return $this->checkResult( $key, parent::get( $key ) );
+ $value = $this->checkResult( $key, parent::get( $key ) );
+ wfProfileOut( __METHOD__ );
+ return $value;
}
/**
* @return Array
*/
public function getMulti( array $keys ) {
+ wfProfileIn( __METHOD__ );
$this->debugLog( 'getMulti(' . implode( ', ', $keys ) . ')' );
$callback = array( $this, 'encodeKey' );
$result = $this->client->getMulti( array_map( $callback, $keys ) );
+ wfProfileOut( __METHOD__ );
return $this->checkResult( false, $result );
}
$userName = $row->user_name;
$ulinks = Linker::userLink( $row->user_id, $userName );
- $ulinks .= Linker::userToolLinks( $row->user_id, $userName );
+ $ulinks .= Linker::userToolLinksRedContribs( $row->user_id, $userName, intval( $row->edits ) );
$lang = $this->getLanguage();
DoubleRedirectJob::fixRedirects( 'move', $ot, $nt );
}
- wfRunHooks( 'SpecialMovepageAfterMove', array( &$this, &$ot, &$nt ) );
-
$out = $this->getOutput();
$out->setPageTitle( $this->msg( 'pagemovedsub' ) );
$newLink )->params( $oldText, $newText )->parseAsBlock() );
$out->addWikiMsg( $msgName );
+ wfRunHooks( 'SpecialMovepageAfterMove', array( &$this, &$ot, &$nt ) );
+
# Now we move extra pages we've been asked to move: subpages and talk
# pages. First, if the old page or the new page is a talk page, we
# can't move any talk pages: cancel that.
'newwindow' => '(ábrese nuna ventana nueva)',
'cancel' => 'Encaboxar',
'moredotdotdot' => 'Más...',
-'mypage' => 'La mio páxina',
-'mytalk' => 'El mio alderique',
+'mypage' => 'Páxina',
+'mytalk' => 'Alderique',
'anontalk' => 'Alderique pa esta IP',
'navigation' => 'Navegación',
'and' => ' y',
# Preferences page
'preferences' => 'Preferencies',
-'mypreferences' => 'Les mios preferencies',
+'mypreferences' => 'Preferencies',
'prefs-edits' => "Númberu d'ediciones:",
'prefsnologin' => 'Non identificáu',
'prefsnologintext' => 'Necesites tar <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} identificáu]</span> pa camudar les preferencies d\'usuariu.',
'linksearch-ok' => 'Guetar',
'linksearch-text' => 'Se puen usar comodinos como "*.wikipedia.org".
Necesita polo menos un dominiu de primer nivel, como "*.org".<br />
-Protocolos almitíos: <code>$1</code> (nun amiestes dengún d\'estos na to gueta).',
+Protocolos almitíos: <code>$1</code> (el predetermináu ye http:// si nun se conseña dengún protocolu).',
'linksearch-line' => '$1 enllaciáu dende $2',
'linksearch-error' => 'Los comodinos namái puen apaecer al entamu del nome del güéspede.',
# Watchlist
'watchlist' => 'La mio páxina de vixilancia',
-'mywatchlist' => 'La mio llista de vixilancia',
+'mywatchlist' => 'Llista de vixilancia',
'watchlistfor2' => 'Pa $1 $2',
'nowatchlist' => 'La to llista de vixilancia ta vacia.',
'watchlistanontext' => 'Por favor $1 pa ver o editar entraes na to llista de vixilancia.',
# Contributions
'contributions' => 'Collaboraciones del usuariu',
'contributions-title' => "Contribuciones d'usuariu pa $1",
-'mycontris' => 'Les mios collaboraciones',
+'mycontris' => 'Collaboraciones',
'contribsub2' => 'De $1 ($2)',
'nocontribs' => "Nun s'atoparon cambeos que coincidan con esi criteriu.",
'uctop' => '(actual)',
'whatlinkshere-hideredirs' => '$1 redireiciones',
'whatlinkshere-hidetrans' => '$1 tresclusiones',
'whatlinkshere-hidelinks' => '$1 enllaces',
-'whatlinkshere-hideimages' => "$1 enllaces d'imaxe",
+'whatlinkshere-hideimages' => '$1 los enllaces al ficheru',
'whatlinkshere-filters' => 'Peñeres',
# Block/unblock
'nocreate-loggedin' => "Du host koah Berechtigung, neiche Seiten z' erstön.",
'permissionserrors' => 'Berechtigungsfeeler',
'permissionserrorstext' => 'Du bist néd berechtigt, dé Akzión auszfyrn. {{PLURAL:$1|Grund|Grynd}}:',
-'permissionserrorstext-withaction' => "Du host de Berechtigung ned, dass d' $2.
-{{PLURAL:$1|Grund|Grynd}}:",
+'permissionserrorstext-withaction' => 'Du host koa Berechtigung ned, dass de $2.
+{{PLURAL:$1|Grund|Grind}}:',
'recreate-moveddeleted-warn' => "'''Ówocht: Du dastöst a Seiten dé schoh friarer gléschd worn is.'''
Bittscheh priaff genau, ób dé erneite Seitendastöung dé Richtlinien entsprichd.
'rightslog' => 'Rechte-Logbiache',
# Associated actions - in the sentence "You do not have permission to X"
-'action-edit' => 'an derer Seiten duast werkeln',
+'action-edit' => 'beorbadd de Seitn',
'action-createpage' => "Seiten z' dastön",
'action-autopatrol' => 'eigerne Beorweitungen ois kontroilird markirn',
'newwindow' => '(адкрываецца ў новым акне)',
'cancel' => 'Скасаваць',
'moredotdotdot' => 'Далей…',
-'mypage' => 'Ð\9cаÑ\8f Ñ\81таронка',
-'mytalk' => 'Ð\9cае гутаркі',
+'mypage' => 'Старонка',
+'mytalk' => 'Ð\93утаркі',
'anontalk' => 'Гутаркі для гэтага IP-адрасу',
'navigation' => 'Навігацыя',
'and' => ' і',
'rightslogtext' => 'Гэта журнал зьменаў правоў удзельнікаў.',
'rightslogentry' => 'зьменена прыналежнасьць $1 з групы $2 да $3',
'rightslogentry-autopromote' => 'быў аўтаматычна падвышаны з $2 да $3',
+'logentry-rights-rights' => '$1 {{GENDER:$1|зьмяніў|зьмяніла}} прыналежнасьць $3 да групы з $4 на $5',
+'logentry-rights-rights-legacy' => '$1 {{GENDER:$1|зьмяніў|зьмяніла}} прыналежнасьць $3 да групаў',
'logentry-rights-autopromote' => '$1 {{GENDER:$1|быў аўтаматычна пераведзены|была аўтаматычна пераведзеная}} з групы $4 ў $5',
'rightsnone' => '(няма)',
# Contributions
'contributions' => 'Унёсак',
'contributions-title' => 'Унёсак {{GENDER:$1|удзельніка|удзельніцы}} $1',
-'mycontris' => 'Ð\9cой Ñ\83нёсак',
+'mycontris' => 'Унёсак',
'contribsub2' => 'Для $1 ($2)',
'nocontribs' => 'Ня знойдзена зьменаў, якія адпавядаюць гэтым крытэрыям.',
'uctop' => ' (апошняя)',
'underline-always' => 'Atav',
'underline-never' => 'Morse',
-'underline-default' => 'Diouzh ar merdeer',
+'underline-default' => 'Merdeer dre ziouer',
# Font style option in Special:Preferences
'editfont-style' => 'Stil font an takad skridaozañ :',
'note' => "'''Notenn :'''",
'previewnote' => "'''Diwallit mat, n'eus ken ur rakweled eus an destenn-mañ.'''
N'eo ket bet enrollet ho kemmoù evit c'hoazh !",
-'continue-editing' => "Kenderc'hel da gemmañ",
+'continue-editing' => "Mont d'an takad kemmañ",
'previewconflict' => 'Gant ar rakweled e teu testenn ar bajenn war wel evel ma vo pa vo bet enrollet.',
'session_fail_preview' => "'''Ho tigarez! N'eus ket bet tu da enrollañ ho kemmoù rak kollet eo bet roadennoù an dalc'h.'''
Klaskit en-dro mar plij.
'edit-already-exists' => "N'eus ket bet gallet krouiñ ur bajenn nevez.
Krouet e oa bet c'hoazh.",
'defaultmessagetext' => 'Testenn dre ziouer',
+'content-failed-to-parse' => "C'hwitet eo dielfennadur endalc'had $2 evit ar patrom $1: $3",
+'invalid-content-data' => "n'eo ket mat roadennoù an endalc'had",
+'content-not-allowed-here' => 'N\'eo ket aotreet an endalc\'had "$1" er bajenn [[$2]]',
# Content models
'content-model-wikitext' => 'wikitestenn',
'linksearch-ok' => 'Klask',
'linksearch-text' => 'Gallout a reer implijout arouezennoù "joker" evel, da skouer, "*.wikipedia.org".
Rekis eo dezho un domani a-us da nebeutañ evel, da skouer, "*.org".<br />
-Protokoloù skoret : <code>$1</code> (na lakait hini ebet eus ar re-se en ho klask)',
+Protokoloù skoret : <code>$1</code> (defaults to http:// na lakait hini ebet eus ar re-se en ho klask)',
'linksearch-line' => '$1 gant ul liamm adal $2',
'linksearch-error' => "N'hall an arouezennoù joker bezañ implijet nemet e deroù anv domani an ostiz.",
# Info page
'pageinfo-title' => 'Titouroù evit "$1"',
-'pageinfo-not-current' => "Evit an adwel bremañ e c'hall bezañ diskwelet an titouroù hepken.",
+'pageinfo-not-current' => "Hon digarezit, ne c'haller ket reiñ an titouroù-mañ evit an adweloù kozh.",
'pageinfo-header-basic' => 'Titouroù diazez',
'pageinfo-header-edits' => 'Kemmoù',
'pageinfo-header-restrictions' => 'Gwarez ar bajenn',
'pageinfo-templates' => "{{PLURAL:$1|Patrom endalc'het|Patromoù endalc'het}} ($1)",
'pageinfo-toolboxlink' => 'Titouroù ar bajenn',
'pageinfo-redirectsto' => 'Adkas a ra da',
+'pageinfo-redirectsto-info' => 'Titouroù',
'pageinfo-contentpage-yes' => 'Ya',
'pageinfo-protect-cascading-yes' => 'Ya',
'newwindow' => '(otevře se v novém okně)',
'cancel' => 'Storno',
'moredotdotdot' => 'Další…',
-'mypage' => 'Moje stránka',
-'mytalk' => 'Moje diskuse',
+'mypage' => 'Stránka',
+'mytalk' => 'Diskuse',
'anontalk' => 'Diskuse k této IP adrese',
'navigation' => 'Navigace',
'and' => ' a',
# Contributions
'contributions' => 'Příspěvky uživatele',
'contributions-title' => 'Příspěvky uživatele $1',
-'mycontris' => 'Mé příspěvky',
+'mycontris' => 'Příspěvky',
'contribsub2' => '$1 ($2)',
'nocontribs' => 'Nenalezeny žádné změny vyhovující kritériím.',
'uctop' => ' (aktuální)',
'underline-always' => 'Bob amser',
'underline-never' => 'Byth',
-'underline-default' => 'Rhagosodyn y porwr',
+'underline-default' => "Rhagosodyn y porwr neu'r wedd",
# Font style option in Special:Preferences
'editfont-style' => 'Arddull y ffont yn y blwch golygu:',
'newwindow' => '(yn agor mewn ffenest newydd)',
'cancel' => 'Diddymu',
'moredotdotdot' => 'Rhagor...',
-'mypage' => 'Fy nhudalen',
-'mytalk' => 'Fy sgwrs',
+'mypage' => 'Tudalen defnyddiwr',
+'mytalk' => 'Sgwrs',
'anontalk' => 'Sgwrs ar gyfer y cyfeiriad IP hwn',
'navigation' => 'Panel llywio',
'and' => ' a/ac',
Mae ar gael yn barod.',
'defaultmessagetext' => 'Y testun rhagosodedig',
+# Content models
+'content-model-wikitext' => 'cystrawen wici',
+'content-model-javascript' => 'JavaScript',
+'content-model-css' => 'CSS',
+
# Parser/template warnings
'expensive-parserfunction-warning' => "'''Rhybudd:''' Mae gormod o alwadau ar ffwythiannau dosrannu sy'n dreth ar adnoddau yn y dudalen hon.
# Preferences page
'preferences' => 'Dewisiadau',
-'mypreferences' => 'Fy newisiadau',
+'mypreferences' => 'Dewisiadau',
'prefs-edits' => 'Nifer y golygiadau:',
'prefsnologin' => 'Nid ydych wedi mewngofnodi',
'prefsnologintext' => 'Rhaid i chi <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} fewngofnodi]</span> er mwyn gosod eich dewisiadau defnyddiwr.',
# Watchlist
'watchlist' => 'Fy rhestr wylio',
-'mywatchlist' => 'Fy rhestr wylio',
+'mywatchlist' => 'Rhestr wylio',
'watchlistfor2' => 'Yn ôl gofyn $1 $2',
'nowatchlist' => "Mae eich rhestr wylio'n wag.",
'watchlistanontext' => "Rhaid $1 er mwyn gweld neu ddiwygio'ch rhestr wylio.",
# Contributions
'contributions' => "Cyfraniadau'r defnyddiwr",
'contributions-title' => "Cyfraniadau'r defnyddiwr am $1",
-'mycontris' => 'Fy nghyfraniadau',
+'mycontris' => 'Cyfraniadau',
'contribsub2' => 'Dros $1 ($2)',
'nocontribs' => "Heb ddod o hyd i newidiadau gyda'r meini prawf hyn.",
'uctop' => '(cyfredol)',
'whatlinkshere-hideredirs' => '$1 ailgyfeiriadau',
'whatlinkshere-hidetrans' => '$1 cynhwysion',
'whatlinkshere-hidelinks' => '$1 cysylltau',
-'whatlinkshere-hideimages' => '$1 cysylltau delweddau',
+'whatlinkshere-hideimages' => '$1 cysylltau ffeiliau',
'whatlinkshere-filters' => 'Hidlau',
# Block/unblock
'pageinfo-default-sort' => 'Allwedd trefnu diofyn',
'pageinfo-length' => 'Hyd y dudalen (beitiau)',
'pageinfo-article-id' => 'ID y dudalen',
+'pageinfo-language' => 'Iaith cynnwys y dudalen',
'pageinfo-robot-policy' => 'Statws i beiriannau chwilio',
'pageinfo-views' => 'Nifer yr ymweliadau',
'pageinfo-watchers' => 'Nifer gwylwyr y dudalen',
'pageinfo-authors' => 'Cyfanswm yr awduron gwahanol',
'pageinfo-magic-words' => '{{PLURAL:$1|Gair|Gair|Geiriau}} hud ($1)',
'pageinfo-hidden-categories' => '{{PLURAL:$1|Categori|Categori|Categorïau}} cudd ($1)',
+'pageinfo-toolboxlink' => 'Gwybodaeth am y dudalen',
# Skin names
'skinname-standard' => 'Safonol',
'cancel' => 'Abbrechen',
'moredotdotdot' => 'Mehr …',
'mypage' => 'Eigene Seite',
-'mytalk' => 'Eigene Diskussion',
+'mytalk' => 'Diskussion',
'anontalk' => 'Diskussionsseite dieser IP',
'navigation' => 'Navigation',
'and' => ' und',
# Contributions
'contributions' => 'Benutzerbeiträge',
'contributions-title' => 'Benutzerbeiträge von „$1“',
-'mycontris' => 'Eigene Beiträge',
+'mycontris' => 'Beiträge',
'contribsub2' => 'Von $1 ($2)',
'nocontribs' => 'Es wurden keine Benutzerbeiträge mit diesen Kriterien gefunden.',
'uctop' => '(aktuell)',
'underline-always' => 'همیشه',
'underline-never' => 'هرگز',
-'underline-default' => 'پیشفرض مرورگر',
+'underline-default' => 'پوسته یا مرورگر پیشفرض',
# Font style option in Special:Preferences
'editfont-style' => 'سبک قلم جعبهٔ ویرایش:',
'newwindow' => '(در پنجرهٔ جدید باز میشود)',
'cancel' => 'لغو',
'moredotdotdot' => 'بیشتر...',
-'mypage' => 'صفحهٔ من',
-'mytalk' => 'بحث من',
+'mypage' => 'صفحه',
+'mytalk' => 'بحث',
'anontalk' => 'بحث برای این آیپی',
'navigation' => 'گشتن',
'and' => ' و',
# Preferences page
'preferences' => 'ترجیحات',
-'mypreferences' => 'ترجیحات من',
+'mypreferences' => 'ترجیحات',
'prefs-edits' => 'تعداد ویرایشها:',
'prefsnologin' => 'به سامانه وارد نشدهاید',
'prefsnologintext' => 'برای تنظیم ترجیحات کاربر باید <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} به سامانه وارد شوید]</span>.',
'rightslogtext' => 'این سیاههٔ تغییرات اختیارات کاربر است.',
'rightslogentry' => 'عضویت $1 را از گروه $2 به $3 تغییر داد',
'rightslogentry-autopromote' => 'به طور خودکار از $2 به $3 ارتقا یافت',
+'logentry-rights-rights' => '$1 عضویت $3 را از گروه $4 به $5 تغییر داد',
+'logentry-rights-rights-legacy' => '$1 گروه عضویت $3 را تغییر داد',
+'logentry-rights-autopromote' => '$1به طور خودکار از $4 به $5 ارتقا یافت',
'rightsnone' => '(هیچ)',
# Associated actions - in the sentence "You do not have permission to X"
'linksearch-ok' => 'جستجو',
'linksearch-text' => 'نشانههایی مانند «*.wikipedia.org» را میتوان استفاده کرد.
حداقل یک دامنه سطح بالا ، به عنوان مثال "*.org" نیاز دارد.<br />
-پرÙ\88تکÙ\84â\80\8cÙ\87اÛ\8c پشتÛ\8cباÙ\86Û\8câ\80\8cشدÙ\87: <code>$1</code> (Ù\87Û\8cÚ\86 Û\8cÚ© از اÛ\8cÙ\86 Ù\85Ù\88ارد را در جستجÙ\88Û\8c Ø®Ù\88د Ù\86Û\8cاÙ\81زاÛ\8cÛ\8cد)',
+پرÙ\88تکÙ\84â\80\8cÙ\87اÛ\8c پشتÛ\8cباÙ\86Û\8câ\80\8cشدÙ\87: <code>$1</code> (Ù¾Û\8cØ´â\80\8cÙ\81رض براÛ\8c http:// در صÙ\88رت Ù\85شخص Ù\86شدÙ\86 پرÙ\88تکÙ\84 تÙ\86ظÛ\8cÙ\85 شدÙ\87â\80\8cاست)',
'linksearch-line' => '$1 از $2 پیوند دارد',
'linksearch-error' => 'نشانهها فقط در ابتدای نام میزبان اینترنتی میتوانند استفاده شوند.',
# Watchlist
'watchlist' => 'فهرست پیگیریهای من',
-'mywatchlist' => 'Ù¾Û\8câ\80\8cÚ¯Û\8cرÛ\8câ\80\8cÙ\87اÛ\8c Ù\85Ù\86',
+'mywatchlist' => 'Ù\81Ù\87رست Ù¾Û\8câ\80\8cÚ¯Û\8cرÛ\8câ\80\8cÙ\87ا',
'watchlistfor2' => 'برای $1 $2',
'nowatchlist' => 'در فهرست پیگیریهای شما هیچ موردی نیست.',
'watchlistanontext' => 'برای مشاهده و ویرایش فهرست پیگیریهای خود از $1 استفاده کنید.',
# Contributions
'contributions' => 'مشارکتهای کاربری',
'contributions-title' => 'مشارکتهای کاربری $1',
-'mycontris' => 'مشارکتهای من',
+'mycontris' => 'مشارکتها',
'contribsub2' => 'برای $1 ($2)',
'nocontribs' => 'هیچ تغییری با این مشخصات یافت نشد.',
'uctop' => ' (بالا)',
'whatlinkshere-hideredirs' => '$1 تغییرمسیر',
'whatlinkshere-hidetrans' => '$1 تراگنجانشها',
'whatlinkshere-hidelinks' => '$1 پیوند',
-'whatlinkshere-hideimages' => '$1 پیوند به تصویر',
+'whatlinkshere-hideimages' => '$1 پیوندهای پرونده',
'whatlinkshere-filters' => 'پالایهها',
# Block/unblock
# Info page
'pageinfo-title' => 'اطلاعات در مورد «$1»',
-'pageinfo-not-current' => 'اطلاعات ممکن است تنها برای نسخهٔ فعلی نمایش داده شود.',
+'pageinfo-not-current' => 'متاسفانه تهیه اطلاعات ویرایشهای قدیمی غیرممکن است.',
'pageinfo-header-basic' => 'اطلاعات اولیه',
'pageinfo-header-edits' => 'ویرایش تاریخچه',
'pageinfo-header-restrictions' => 'حفاظت از صفحه',
'version-license' => 'اجازهنامه',
'version-poweredby-credits' => "این ویکی توسط '''[//www.mediawiki.org/ مدیاویکی]''' پشتیبانی میشود، کلیهٔ حقوق محفوظ است © 2001-$1 $2.",
'version-poweredby-others' => 'دیگران',
+'version-credits-summary' => 'افراد زیر را به خاطر ویرایشهایش در [[Special:Version|مدیاویکی]] معرفی مینمائیم.',
'version-license-info' => 'مدیاویکی نرمافزاری رایگان است؛ میتوانید آن را تحت شرایط مجوز عمومی همگانی گنو که توسط بنیاد نرمافزار رایگان منتشر شدهاست، بازنشر کنید؛ یا نسخهٔ ۲ از این مجوز، یا (بنا به اختیار) نسخههای بعدی.
مدیاویکی به این امید که مفید واقع شود منتشر شدهاست، ولی بدون هیچگونه ضمانتی؛ بدون ضمانت ضمنی که تجاری یا برای کار خاصی مناسب باشد. برای اطلاعات بیشتر مجوز گنو جیپیال را مشاهده کنید.
'image_sample' => 'Esimerkki.jpg',
'image_tip' => 'Tallennettu tiedosto',
'media_sample' => 'Esimerkki.ogg',
-'media_tip' => 'Mediatiedostolinkki',
+'media_tip' => 'Tiedostolinkki',
'sig_tip' => 'Allekirjoitus aikamerkinnällä',
'hr_tip' => 'Vaakasuora viiva',
'linksearch-ok' => 'Etsi',
'linksearch-text' => 'Tähteä (*) voi käyttää jokerimerkkinä, esimerkiksi ”*.wikipedia.org”.
Vähintään ylätason verkkotunnus, esimerkiksi "*.org", tarvitaan.<br />
-Tuetut protokollat: <code>$1</code> (älä lisää näitä hakuusi).',
+Tuetut protokollat: <code>$1</code> (oletuksena on <code>http://</code>, jos protokollaa ei määritetä).',
'linksearch-line' => '$1 on linkitetty sivulta $2',
'linksearch-error' => 'Jokerimerkkiä voi käyttää ainoastaan osoitteen alussa.',
'wantedpages' => 'Pages les plus demandées',
'wantedpages-badtitle' => 'Titre invalide dans les résultats : $1',
'wantedfiles' => 'Fichiers les plus demandés',
-'wantedfiletext-cat' => "Les fichiers suivants sont utilisés, mais il n'existent pas. Les fichiers de dépôts à distance peuvent être listés malgré qu'ils existent. Tout ces faux positifs seront <del>barrés</del>. En outre, les pages qui intègrent des fichiers qui n'existent pas sont répertoriés dans [[:$1]].",
-'wantedfiletext-nocat' => "Les fichiers suivants sont utilisés, mais n'existent pas. Les fichiers de dépôts à distance peuvent être listés malgré qu'ils existent. Tout ces faux positifs seront <del>barrés</del>.",
+'wantedfiletext-cat' => 'Les fichiers suivants sont utilisés, mais n’existent pas. Les fichiers d’autres dépôts peuvent être listés malgré qu’ils existent. Tous ces faux positifs seront <del>barrés</del>. En outre, les pages qui intègrent des fichiers qui n’existent pas sont répertoriées dans [[:$1]].',
+'wantedfiletext-nocat' => 'Les fichiers suivants sont utilisés, mais n’existent pas. Les fichiers d’autres dépôts peuvent être listés malgré qu’ils existent. Tous ces faux positifs seront <del>barrés</del>.',
'wantedtemplates' => 'Modèles demandés',
'mostlinked' => 'Pages les plus liées',
'mostlinkedcategories' => 'Catégories les plus utilisées',
'newwindow' => '(abre unha ventá nova)',
'cancel' => 'Cancelar',
'moredotdotdot' => 'Máis...',
-'mypage' => 'A miña páxina',
-'mytalk' => 'A miña conversa',
+'mypage' => 'Páxina',
+'mytalk' => 'Conversa',
'anontalk' => 'Conversa con este enderezo IP',
'navigation' => 'Navegación',
'and' => ' e',
# Preferences page
'preferences' => 'Preferencias',
-'mypreferences' => 'As miñas preferencias',
+'mypreferences' => 'Preferencias',
'prefs-edits' => 'Número de edicións:',
'prefsnologin' => 'Non accedeu ao sistema',
'prefsnologintext' => 'Debe <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} acceder ao sistema]</span> para modificar as preferencias de usuario.',
# Watchlist
'watchlist' => 'A miña lista de vixilancia',
-'mywatchlist' => 'A miña lista de vixilancia',
+'mywatchlist' => 'Lista de vixilancia',
'watchlistfor2' => 'De $1 $2',
'nowatchlist' => 'Non ten elementos na súa lista de vixilancia.',
'watchlistanontext' => 'Faga o favor de $1 ao sistema para ver ou editar os elementos da súa lista de vixilancia.',
# Contributions
'contributions' => 'Contribucións {{GENDER:{{BASEPAGENAME}}|do usuario|da usuaria}}',
'contributions-title' => 'Contribucións de $1',
-'mycontris' => 'As miñas contribucións',
+'mycontris' => 'Contribucións',
'contribsub2' => 'De $1 ($2)',
'nocontribs' => 'Non se deron atopado cambios con eses criterios.',
'uctop' => '(última revisión)',
'nostalgia.js' => '/* Calquera JavaScript que haxa aquí será cargado para os usuarios que usen a aparencia Morriña */',
'cologneblue.js' => '/* Calquera JavaScript que haxa aquí será cargado para os usuarios que usen a aparencia Azul colonial */',
'monobook.js' => '/* Calquera JavaScript que haxa aquí será cargado para os usuarios que usen a aparencia MonoBook */',
-'myskin.js' => '/* Calquera JavaScript que haxa aquí será cargado para os usuarios que usen a aparencia A miña aparencia */',
+'myskin.js' => '/* O JavaScript que se coloque aquí afectará a quen use a aparencia A miña aparencia */',
'chick.js' => '/* Calquera JavaScript que haxa aquí será cargado para os usuarios que usen a aparencia Parrulo */',
'simple.js' => '/* Calquera JavaScript que haxa aquí será cargado para os usuarios que usen a aparencia Sinxela */',
'modern.js' => '/* Calquera JavaScript que haxa aquí será cargado para os usuarios que usen a aparencia Moderna */',
'underline-always' => 'immer',
'underline-never' => 'nie',
-'underline-default' => 'Browser-Vorystellig',
+'underline-default' => 'Voryystellig vu dr Benutzeroberfleichi oder em Brwoser',
# Font style option in Special:Preferences
'editfont-style' => 'Schriftfamilie fir dr Text im Bearbeitigsfänschter:',
'newwindow' => '(imene nöie Fänschter)',
'cancel' => 'Abbräche',
'moredotdotdot' => 'Meh …',
-'mypage' => 'Myyni Syte',
-'mytalk' => 'Myyni Diskussionsyte',
+'mypage' => 'Syte',
+'mytalk' => 'Diskussionsyte',
'anontalk' => 'Diskussionssyste vo sellere IP',
'navigation' => 'Navigation',
'and' => ' un',
'note' => "'''Obacht: '''",
'previewnote' => "'''Das isch numen e Vorschau und nonig gspycheret!'''
Die Syte isch nonig gspycheret wore!",
-'continue-editing' => 'Wyter bearbeite',
+'continue-editing' => 'Zum Bearbeitigsfäld',
'previewconflict' => 'Die Vorschau zeigt dr Inhalt vum obere Täxtfäld. Eso siht dr Artikel us, wän Du jetz uf Spychere drucksch.',
'session_fail_preview' => "'''Dyyni Bearbeitig het nid chenne gspycheret wäre, wel Sitzigsdate verlore gange sin.
Bitte versuech s nomol. Derzue drucksch unter däre Täxtvorschau nomol uf „Syte spychere“.
# Preferences page
'preferences' => 'Yystellige',
-'mypreferences' => 'Ystellige',
+'mypreferences' => 'Yystellige',
'prefs-edits' => 'Aazahl vu dr Bearbeitige:',
'prefsnologin' => 'Nid aagmäldet',
'prefsnologintext' => 'Du muesch <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} aagmäldet]</span> sy, für Benutzerystellige chönne z ändere',
'rightslogtext' => 'Des ischs Logbuech vun de Änderunge on Bnutzerrechte.',
'rightslogentry' => 'het d Benutzerrächt fir „$1“ vu „$2“ uf „$3“ gänderet',
'rightslogentry-autopromote' => 'd Zueornig zue dr Benutzergruppe isch automatisch vu $2 in $3 gänderet wore',
+'logentry-rights-rights' => '$1 het d Gruppezuegherigkeit fir $3 vu $4 uf $5 gänderet',
+'logentry-rights-rights-legacy' => '$1 het d Gruppezuegherigkeit fir $3 gänderet',
+'logentry-rights-autopromote' => '$1 isch automatisch vu $4 zue $5 zuegordnet wore',
'rightsnone' => '(keini)',
# Associated actions - in the sentence "You do not have permission to X"
'linksearch-pat' => 'Suechmuschter:',
'linksearch-ns' => 'Namensruum:',
'linksearch-ok' => 'Sueche',
-'linksearch-text' => 'Die Spezialsyte macht d Suechi no Syte megli, wu s bstimmti Weblink din het. Doderby chenne Platzhalter wie zem Byschpel <code>*.byschpel.de</code> brucht wäre. S mueß zmindecht ei Top-Level-Domain, z. B. „*.org“. aagee wäre. <br />Unterstitzti Protokoll: <code>$1</code> (Die bitte nit bi dr Suechaafrog aagee.)',
+'linksearch-text' => 'Die Spezialsyte macht d Suechi no Syte megli, wu s bstimmti Weblink din het. Doderby chenne Platzhalter wie zem Byschpel <code>*.byschpel.de</code> brucht wäre. S mueß zmindecht ei Top-Level-Domain, z. B. „*.org“. aagee wäre. <br />Unterstitzti Protokoll: <code>$1</code> (Standard isch http, wänn kei Protokoll aagee isch).',
'linksearch-line' => '$1 isch vo $2 verknüpft',
'linksearch-error' => 'Platzhalter chönne numme am Aafang verwändet werre.',
'emailuser-title-target' => 'E-Mail an {{GENDER:$1|dää Benutzer|die Benutzeri}} schicke',
'emailuser-title-notarget' => 'E-Mail an Benutzer',
'emailpage' => 'E-Mail an Benutzer',
-'emailpagetext' => 'Du chasch im Benutzer mit däm Formular e E-Mail schicke.
-As Absender wird d E-Mail-Adräss us Dyyne [[Special:Preferences|Yystellige]] yytrait, ass dr Benutzer Dir cha Antwort gee.',
+'emailpagetext' => 'Du chasch {{GENDER:$1|em Benutzer|dr Benutzeri}} mit däm Formular e E-Mail schicke.
+As Absender wird d E-Mail-Adräss us Dyyne [[Special:Preferences|Yystellige]] yytrait, ass {{GENDER:$1|dr Benutzer|d Benutzeri}} Dir cha Antwort gee.',
'usermailererror' => 'S Mail-Objekt het e Fähler zruckgee:',
'defemailsubject' => '{{SITENAME}}-E-Mail vum Benutzer „$1“',
'usermaildisabled' => 'Benutzer-E-Mail abgstellt',
'whatlinkshere-hideredirs' => 'Wyterleitige $1',
'whatlinkshere-hidetrans' => 'Vorlageyybindige $1',
'whatlinkshere-hidelinks' => 'Links $1',
-'whatlinkshere-hideimages' => 'Dateigleicher $1',
+'whatlinkshere-hideimages' => 'Dateilink $1',
'whatlinkshere-filters' => 'Filter',
# Block/unblock
# Info page
'pageinfo-title' => 'Informatione zue „$1“',
-'pageinfo-not-current' => 'Die Informatione chenne nume fir di nejscht Versions aazeigt wäre.',
+'pageinfo-not-current' => 'Die Informatione chenne leider nit fir alti Versionen aazeigt wäre.',
'pageinfo-header-basic' => 'Basisinformatione',
'pageinfo-header-edits' => 'Bearbeitige',
'pageinfo-header-restrictions' => 'Syteschutz',
'pageinfo-default-sort' => 'Standardsortierkriterium',
'pageinfo-length' => 'Sytelengi (in Byte)',
'pageinfo-article-id' => 'Syten-ID',
+'pageinfo-language' => 'Syteninhaltssproch',
'pageinfo-robot-policy' => 'Suechmaschinestatus',
'pageinfo-robot-index' => 'Indizierbar',
'pageinfo-robot-noindex' => 'Nit indizierbar',
'pageinfo-hidden-categories' => 'Versteckti {{PLURAL:$1|Kategori|Kategorie}} ($1)',
'pageinfo-templates' => 'Yybundeni {{PLURAL:$1|Vorlag|Vorlage}} ($1)',
'pageinfo-toolboxlink' => 'Informatione zue dr Syte',
+'pageinfo-redirectsto' => 'Weiterleitung nach',
+'pageinfo-redirectsto-info' => 'Information',
+'pageinfo-contentpage' => 'Zellt as Inhaltssyte',
+'pageinfo-contentpage-yes' => 'Jo',
+'pageinfo-protect-cascading' => 'Syte mit Kaskadeschutz vu do',
+'pageinfo-protect-cascading-yes' => 'Jo',
+'pageinfo-protect-cascading-from' => 'Syte mit Kaskadeschutz vu',
# Patrolling
'markaspatrolleddiff' => 'Als patrulyrt markyre',
'version-license' => 'Lizänz',
'version-poweredby-credits' => "Die Websyte nutzt '''[//www.mediawiki.org/wiki/MediaWiki/de MediaWiki]''', Copyright © 2001–$1 $2.",
'version-poweredby-others' => 'anderi',
+'version-credits-summary' => 'Mir danke däne Lyt fir ihri Bytreg zue [[Special:Version|MediaWiki]].',
'version-license-info' => 'MediaWiki isch e freji Software, d. h. s cha, no dr Bedingige vu dr GNU General Public-Lizänz, wu vu dr Free Software Foundation vereffentligt woren isch, wyterverteilt un/oder modifiziert wäre. Doderbyy cha d Version 2, oder no eigenem Ermässe, jedi nejeri Version vu dr Lizänz brucht wäre.
Des Programm wird in dr Hoffnig verteilt, ass es nitzli isch, aber OHNI JEDI GARANTI un sogar ohni di impliziert Garanti vun ere MÄRTGÄNGIGKEIT oder EIGNIG FIR E BSTIMMTE ZWÄCK. Doderzue git meh Hiiwys in dr GNU General Public-Lizänz.
'newwindow' => '(נפתח בחלון חדש)',
'cancel' => 'ביטול / יציאה',
'moredotdotdot' => 'עוד…',
-'mypage' => '×\94×\93×£ ש×\9c×\99',
-'mytalk' => '×\93×£ ×\94ש×\99×\97×\94 ש×\9c×\99',
+'mypage' => '×\93×£ ×\9eשת×\9eש',
+'mytalk' => 'ש×\99×\97×\94',
'anontalk' => 'השיחה עבור IP זה',
'navigation' => 'ניווט',
'and' => ' וגם',
# Preferences page
'preferences' => 'העדפות',
-'mypreferences' => '×\94×\94×¢×\93פ×\95ת ש×\9c×\99',
+'mypreferences' => '×\94×¢×\93פ×\95ת',
'prefs-edits' => 'מספר עריכות:',
'prefsnologin' => 'לא נכנסת לחשבון',
'prefsnologintext' => 'עליכם <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} להיכנס לחשבון]</span> כדי לשנות העדפות משתמש.',
# Watchlist
'watchlist' => 'רשימת המעקב שלי',
-'mywatchlist' => 'רש×\99×\9eת ×\94×\9eעק×\91 ש×\9c×\99',
+'mywatchlist' => 'רש×\99×\9eת ×\9eעק×\91',
'watchlistfor2' => 'עבור $1 $2',
'nowatchlist' => 'אין דפים ברשימת המעקב.',
'watchlistanontext' => 'עליכם $1 כדי לצפות או לערוך פריטים ברשימת המעקב.',
# Contributions
'contributions' => 'תרומות המשתמש',
'contributions-title' => 'תרומות של המשתמש $1',
-'mycontris' => '×\94תר×\95×\9e×\95ת ש×\9c×\99',
+'mycontris' => 'תר×\95×\9e×\95ת',
'contribsub2' => 'עבור $1 ($2)',
'nocontribs' => 'לא נמצאו שינויים המתאימים לקריטריונים אלו.',
'uctop' => '(אחרון)',
'newwindow' => '(si apre in una nuova finestra)',
'cancel' => 'Annulla',
'moredotdotdot' => 'Altro...',
-'mypage' => 'La mia pagina',
-'mytalk' => 'mie discussioni',
+'mypage' => 'Pagina',
+'mytalk' => 'discussioni',
'anontalk' => 'Discussioni per questo IP',
'navigation' => 'Navigazione',
'and' => ' e',
# Contributions
'contributions' => 'Contributi utente',
'contributions-title' => 'Contributi di $1',
-'mycontris' => 'miei contributi',
+'mycontris' => 'contributi',
'contribsub2' => 'Per $1 ($2)',
'nocontribs' => 'Non sono state trovate modifiche che soddisfino i criteri di ricerca.',
'uctop' => '(ultima per la pagina)',
'pageinfo-robot-index' => 'Indicizzabile',
'pageinfo-robot-noindex' => 'Non indicizzabile',
'pageinfo-views' => 'Numero di visualizzazioni',
-'pageinfo-watchers' => 'Numero di utenti che hanno la pagina nei loro Osservati Speciali',
+'pageinfo-watchers' => 'Numero di utenti che hanno la pagina nei loro osservati speciali',
'pageinfo-redirects-name' => 'Redirect a questa pagina',
'pageinfo-subpages-name' => 'Sottopagine di questa pagina',
'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|redirect}}; $3 {{PLURAL:$3|non redirect}})',
'newwindow' => '(新しいウィンドウで開きます)',
'cancel' => '中止',
'moredotdotdot' => '続き...',
-'mypage' => '自分のページ',
-'mytalk' => '自分のトーク',
+'mypage' => 'ページ',
+'mytalk' => 'トーク',
'anontalk' => 'このIPアドレスのトーク',
'navigation' => '案内',
'and' => ' および ',
# Contributions
'contributions' => '利用者の投稿記録',
'contributions-title' => '$1の投稿記録',
-'mycontris' => '自分の投稿記録',
+'mycontris' => '投稿記録',
'contribsub2' => '利用者: $1 ($2)',
'nocontribs' => 'これらの条件に一致する変更は見つかりませんでした。',
'uctop' => '(最新)',
# Dates
'sunday' => 'Ыйых кюн',
'monday' => 'Баш кюн',
-'tuesday' => 'Геурге кюн',
-'wednesday' => 'Барас кюн',
+'tuesday' => 'Гюрге кюн',
+'wednesday' => 'Бараз кюн',
'thursday' => 'Орта кюн',
'friday' => 'Байрым кюн',
'saturday' => 'Шабат кюн',
'sun' => 'Ыйых кюн',
'mon' => 'Баш кюн',
-'tue' => 'Геурге кюн',
-'wed' => 'Барас кюн',
+'tue' => 'Гр',
+'wed' => 'Брз',
'thu' => 'Орта кюн',
'fri' => 'Байрым кюн',
'sat' => 'Шабат кюн',
'youhavenewmessages' => 'Сизге $1 келдиле ($2).',
'newmessageslink' => 'джангы билдириуле',
'newmessagesdifflink' => 'сюзюу бетигизни ахыр тюрлениую',
+'youhavenewmessagesmanyusers' => 'Талай къошулуучудан $1 барды. ($2)',
+'newmessageslinkplural' => '{{PLURAL:$1|джангы билдириуюгюз|джангы билдириулеригиз}}',
+'newmessagesdifflinkplural' => 'ахыр {{PLURAL:$1|тюрлениу|тюрлениу}}',
'youhavenewmessagesmulti' => '$1 бетде джангы билдириуле бардыла.',
'editsection' => 'тюрлендир',
'editold' => 'тюрлендир',
'pageinfo-watchers' => 'Кёргенлени саны',
'pageinfo-edits' => 'Тюрлендириулени саны',
'pageinfo-authors' => 'Авторланы саны',
+'pageinfo-toolboxlink' => 'Бетни юсюнден',
# Skin names
'skinname-standard' => 'Стандарт',
'newwindow' => '(പുതിയ ജാലകത്തിൽ തുറന്നു വരും)',
'cancel' => 'റദ്ദാക്കുക',
'moredotdotdot' => 'കൂടുതൽ...',
-'mypage' => 'à´\8eà´¨àµ\8dà´±àµ\86 താൾ',
-'mytalk' => 'à´\8eà´¨àµ\8dà´±àµ\86 à´¸à´\82വാദതàµ\8dതാൾ',
+'mypage' => 'താൾ',
+'mytalk' => 'സംവാദത്താൾ',
'anontalk' => 'ഈ ഐ.പി.യുടെ സംവാദം താൾ',
'navigation' => 'ഉള്ളടക്കം',
'and' => ' ഒപ്പം',
'youhavenewmessages' => 'താങ്കൾക്ക് $1 ഉണ്ട് ($2).',
'newmessageslink' => 'പുതിയ സന്ദേശങ്ങൾ',
'newmessagesdifflink' => 'അവസാന മാറ്റം',
-'youhavenewmessagesfromusers' => 'താà´\99àµ\8dà´\95ൾà´\95àµ\8dà´\95àµ\8d {{PLURAL:$3|മറàµ\8dà´±àµ\8aà´°àµ\81 à´\89പയàµ\8bà´\95àµ\8dതാവàµ\8d|മറàµ\8dà´±àµ\8d $3 ഉപയോക്താക്കൾ}} $1 ചേർത്തിട്ടുണ്ട് ($2).',
+'youhavenewmessagesfromusers' => 'താà´\99àµ\8dà´\95ൾà´\95àµ\8dà´\95àµ\8d {{PLURAL:$3|à´\92à´°àµ\81 à´\89പയàµ\8bà´\95àµ\8dതാവàµ\8d|$3 ഉപയോക്താക്കൾ}} $1 ചേർത്തിട്ടുണ്ട് ($2).',
'youhavenewmessagesmanyusers' => 'താങ്കൾക്ക് പലർ $1 ചേർത്തിട്ടുണ്ട് ($2).',
'newmessageslinkplural' => '{{PLURAL:$1|പുതിയ സന്ദേശം|പുതിയ സന്ദേശങ്ങൾ}}',
'newmessagesdifflinkplural' => 'അവസാന {{PLURAL:$1|മാറ്റം|മാറ്റങ്ങൾ}}',
# Preferences page
'preferences' => 'ക്രമീകരണങ്ങൾ',
-'mypreferences' => 'à´\8eà´¨àµ\8dà´±àµ\86 à´\95àµ\8dà´°à´®àµ\80à´\95à´°à´£à´\99àµ\8dà´\99ൾ',
+'mypreferences' => 'ക്രമീകരണങ്ങൾ',
'prefs-edits' => 'ആകെ തിരുത്തലുകൾ:',
'prefsnologin' => 'ലോഗിൻ ചെയ്തിട്ടില്ല',
'prefsnologintext' => 'ഉപയോക്തൃക്രമീകരണങ്ങൾ മാറ്റാൻ താങ്കൾ <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} ലോഗിൻ]</span> ചെയ്തിരിക്കണം.',
# Watchlist
'watchlist' => 'ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടിക',
-'mywatchlist' => 'à´\9eാൻ à´¶àµ\8dà´°à´¦àµ\8dധിà´\95àµ\8dà´\95àµ\81à´¨àµ\8dനവ',
+'mywatchlist' => 'ശ്രദ്ധിക്കുന്നവ',
'watchlistfor2' => 'ഉപയോക്താവ്:$1 $2',
'nowatchlist' => 'താങ്കൾ ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽ ഇനങ്ങളൊന്നുമില്ല.',
'watchlistanontext' => 'താങ്കൾ ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടിക കാണുവാനോ തിരുത്തുവാനോ $1.',
# Contributions
'contributions' => 'ഉപയോക്താവിന്റെ സംഭാവനകൾ',
'contributions-title' => '$1 എന്ന ഉപയോക്താവിന്റെ സംഭാവനകൾ',
-'mycontris' => 'à´\8eà´¨àµ\8dà´±àµ\86 à´¸à´\82à´à´¾à´µà´¨à´\95ൾ',
+'mycontris' => 'സംഭാവനകൾ',
'contribsub2' => '$1 എന്ന ഉപയോക്താവിന്റെ $2.',
'nocontribs' => 'ഈ മാനദണ്ഡങ്ങളുമായി യോജിക്കുന്ന മാറ്റങ്ങൾ ഒന്നും കണ്ടില്ല.',
'uctop' => '(അവസാനത്തെ തിരുത്തൽ)',
'newwindow' => '(dibuka di tetingkap baru)',
'cancel' => 'Batalkan',
'moredotdotdot' => 'Lagi...',
-'mypage' => 'Laman saya',
-'mytalk' => 'Perbualan saya',
+'mypage' => 'Halaman',
+'mytalk' => 'Perbualan',
'anontalk' => 'Perbualan bagi IP ini',
'navigation' => 'Pandu arah',
'and' => ' dan',
# Preferences page
'preferences' => 'Keutamaan',
-'mypreferences' => 'Keutamaan saya',
+'mypreferences' => 'Keutamaan',
'prefs-edits' => 'Jumlah suntingan:',
'prefsnologin' => 'Belum log masuk',
'prefsnologintext' => 'Anda hendaklah <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} log masuk]</span> terlebih dahulu untuk menetapkan keutamaan.',
'linksearch-ok' => 'Cari',
'linksearch-text' => 'Kad bebas seperti "*.wikipedia.org" dibenarkan.<br />
Memerlukan sekurang-kurangnya satu domain peringkat tinggi, cth. "*.org".<br />
-Protokol yang disokong: <code>$1</code> (jangan bubuh sebarang protokol ini dalam carian anda)',
+Protokol yang disokong: <code>$1</code> (menjadi http:// jika tiada protokol dinyatakan).',
'linksearch-line' => '$1 dipaut dari $2',
'linksearch-error' => 'Kad bebas hanya boleh digunakan pada permulaan nama hos.',
# Watchlist
'watchlist' => 'Senarai pantau',
-'mywatchlist' => 'Senarai pantau saya',
+'mywatchlist' => 'Senarai pantau',
'watchlistfor2' => 'Bagi $1 $2',
'nowatchlist' => 'Tiada item dalam senarai pantau anda.',
'watchlistanontext' => 'Sila $1 terlebih dahulu untuk melihat atau menyunting senarai pantau anda.',
# Contributions
'contributions' => 'Sumbangan pengguna',
'contributions-title' => 'Sumbangan oleh $1',
-'mycontris' => 'Sumbangan saya',
+'mycontris' => 'Sumbangan',
'contribsub2' => 'Oleh $1 ($2)',
'nocontribs' => 'Tiada sebarang perubahan yang sepadan dengan kriteria-kriteria ini.',
'uctop' => '(puncak)',
'whatlinkshere-hideredirs' => '$1 pelencongan',
'whatlinkshere-hidetrans' => '$1 penyertaan',
'whatlinkshere-hidelinks' => '$1 pautan',
-'whatlinkshere-hideimages' => '$1 pautan imej',
+'whatlinkshere-hideimages' => '$1 pautan fail',
'whatlinkshere-filters' => 'Penapis',
# Block/unblock
'underline-always' => 'Alltid',
'underline-never' => 'Aldri',
-'underline-default' => 'Bruk nettleserstandard',
+'underline-default' => 'Nettleserens standardinnstillinger',
# Font style option in Special:Preferences
'editfont-style' => 'Skrifttype i redigeringsboksen:',
'newwindow' => '(åpnes i et nytt vindu)',
'cancel' => 'Avbryt',
'moredotdotdot' => 'Mer …',
-'mypage' => 'Min side',
-'mytalk' => 'Min diskusjonsside',
+'mypage' => 'Egen brukerside',
+'mytalk' => 'Egen brukerdiskusjonsside',
'anontalk' => 'Brukerdiskusjon for denne IP-adressen',
'navigation' => 'Navigasjon',
'and' => ' og',
# Preferences page
'preferences' => 'Innstillinger',
-'mypreferences' => 'Innstillinger',
+'mypreferences' => 'Egne brukerinnstillinger',
'prefs-edits' => 'Antall redigeringer:',
'prefsnologin' => 'Ikke logget inn',
'prefsnologintext' => 'Du må være <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} logget inn]</span> for å endre brukerinnstillingene.',
'linksearch-pat' => 'Søkemønster:',
'linksearch-ns' => 'Navnerom:',
'linksearch-ok' => 'Søk',
-'linksearch-text' => 'Jokertegn som «*.wikipedia.org» kan brukes.
+'linksearch-text' => 'Jokertegn slik som i «*.wikipedia.org» kan brukes.
Det kreves at det oppgis minst et toppnivådomene, for eksempel «*.org».<br />
Støttede protokoller: <code>$1</code> (ikke legg til noen av disse i søket ditt).',
'linksearch-line' => '$1 lenkes fra $2',
# Watchlist
'watchlist' => 'Overvåkningsliste',
-'mywatchlist' => 'Overvåkningsliste',
+'mywatchlist' => 'Egen brukers overvåkningsliste',
'watchlistfor2' => 'For $1 $2',
'nowatchlist' => 'Du har ingenting i overvåkningslisten.',
'watchlistanontext' => 'Vennligst $1 for å vise eller redigere sider på overvåkningslisten din.',
# Contributions
'contributions' => 'Brukerbidrag',
'contributions-title' => 'Brukerbidrag av $1',
-'mycontris' => 'Mine bidrag',
+'mycontris' => 'Mine redigeringer',
'contribsub2' => 'For $1 ($2)',
'nocontribs' => 'Ingen endringer er funnet som passer disse kriteriene.',
'uctop' => '(siste)',
'cancel' => 'Avbryt',
'moredotdotdot' => 'Meir …',
'mypage' => 'Sida mi',
-'mytalk' => 'Diskusjonssida mi',
+'mytalk' => 'Diskusjon',
'anontalk' => 'Diskusjonside for denne IP-adressa',
'navigation' => 'Navigering',
'and' => ' og',
Passordet for den nye kontoen kan verta endra på ''[[Special:ChangePassword|endra passord]]''-sida etter innlogging.",
'newarticle' => '(Ny)',
-'newarticletext' => "'''{{SITENAME}} har ikkje noka side med namnet {{PAGENAME}} enno.'''
-* For å opprette ei slik side kan du skrive i boksen under og klikke på «Lagre». Endringane vil vere synlege med det same.
-* Om du er ny her er det tilrådd å sjå på [[{{MediaWiki:Helppage}}|hjelpesida]] først.
-* Om du lagrar ei testside, vil du ikkje kunne slette henne sjølv.
-* Dersom du ikkje ønskjer å endre sida, kan du utan risiko klikke på '''attende'''-knappen i nettlesaren din.",
+'newarticletext' => "Du har følgt ei lenkje til ei side som ikkje finst enno.
+For å opprette sida, kan du skrive i boksen under (sjå [[{{MediaWiki:Helppage}}|hjelpesida]] for meir informasjon).
+Dersom du ikkje ønskjer å opprette sida, kan du utan risiko klikke på '''attende'''-knappen i nettlesaren din.",
'anontalkpagetext' => "----''Dette er ei diskusjonsside for ein anonym brukar som ikkje har oppretta konto eller ikkje har logga inn.
Vi er difor nøydde til å bruke den numeriske IP-adressa til å identifisere brukaren. Same IP-adresse kan vere knytt til fleire brukarar. Om du er ein anonym brukar og meiner at du har fått irrelevante kommentarar på ei slik side, [[Special:UserLogin/signup|opprett ein brukarkonto]] eller [[Special:UserLogin|logg inn]] slik at vi unngår framtidige forvekslingar med andre anonyme brukarar.''",
'noarticletext' => 'Det er nett no ikkje noko tekst på denne sida.
'userinvalidcssjstitle' => "'''Åtvaring:''' Det finst ikkje noka sidedrakt som heiter «$1». Hugs på at vanlege .css- og .js-sider brukar titlar med små bokstavar, til dømes {{ns:user}}:Døme/vector.css, og ikkje {{ns:user}}:Døme/Vector.css.",
'updated' => '(Oppdatert)',
'note' => "'''Merk:'''",
-'previewnote' => "'''Hugsa at dette berre er ei førehandsvising.'''
-Endringane dine er ikkje lagra enno!",
+'previewnote' => "'''Hugs at dette berre er ei førehandsvising.''' Endringane dine er ikkje lagra enno!",
'continue-editing' => 'Gå til endringsområdet',
'previewconflict' => 'Dette er ei førehandsvising av teksten i endringsboksen over, slik han vil sjå ut om du lagrar han',
'session_fail_preview' => "'''Orsak! Endringa di kunne ikkje lagrast. Ver venleg og prøv ein gong til. Dersom det framleis ikkje går, prøv å logge deg ut og inn att.'''",
# Preferences page
'preferences' => 'Innstillingar',
-'mypreferences' => 'Innstillingane mine',
+'mypreferences' => 'Innstillingar',
'prefs-edits' => 'Tal på endringar:',
'prefsnologin' => 'Ikkje innlogga',
'prefsnologintext' => 'Du må vere <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} logga inn]</span> for å endre brukarinnstillingane.',
# Watchlist
'watchlist' => 'Overvakingsliste',
-'mywatchlist' => 'Overvakingslista mi',
+'mywatchlist' => 'Overvakingsliste',
'watchlistfor2' => 'For $1 $2',
'nowatchlist' => 'Du har ikkje noko i overvakingslista di.',
'watchlistanontext' => 'Du lyt $1 for å vise eller endre sider på overvakingslista di.',
# Contributions
'contributions' => 'Brukarbidrag',
'contributions-title' => 'Bidrag av $1',
-'mycontris' => 'Eigne bidrag',
+'mycontris' => 'Bidrag',
'contribsub2' => 'For $1 ($2)',
'nocontribs' => 'Det vart ikkje funne nokon endringar gjorde av denne brukaren.',
'uctop' => ' (øvst)',
'cancel' => 'Zerick',
'moredotdotdot' => 'Mehner…',
'mypage' => 'Mei Blatt',
-'mytalk' => 'Mei Gschwetz-Blatt',
+'mytalk' => 'Mei Dischbedutt',
'anontalk' => 'Gschwetz-Blatt fer die IP',
'navigation' => 'Faahre-Gnepp',
'and' => ' unn',
'protectthispage' => 'Des Blatt schitze',
'newpage' => 'Neies Blatt',
'talkpage' => 'Sell Blatt dischbediere',
-'talkpagelinktext' => 'Gschwetz',
+'talkpagelinktext' => 'Dischbedutt',
'specialpage' => 'Besunneres Blatt',
'personaltools' => 'Paerseenlich Gscharr',
'articlepage' => 'Inhalt vun dem Blatt aagucke',
# Preferences page
'preferences' => 'Paerseenlich Profil',
-'mypreferences' => 'Mei Uffschtelling',
+'mypreferences' => 'Uffschtellinge',
'changepassword' => 'Paesswatt ennere',
'skin-preview' => 'Aagucke',
'prefs-personal' => 'Yuuser Profile',
# Watchlist
'watchlist' => 'Mei Watsch-Lischt',
-'mywatchlist' => 'Mei Watsch-Lischt',
+'mywatchlist' => 'Watsch-Lischt',
'watchlistfor2' => 'Vun $1 $2',
'watch' => 'watsche',
'watchthispage' => 'watsch des Blatt',
'month' => 'unn Munet:',
'year' => 'bis Yaahr:',
-'sp-contributions-talk' => 'Gschwetz',
+'sp-contributions-talk' => 'Dischbedutt',
'sp-contributions-search' => 'Guck fer Ardickel',
'sp-contributions-username' => 'IP-Adress odder Yuusernaame:',
'sp-contributions-submit' => 'Guck uff',
'newwindow' => '(otwiera się w nowym oknie)',
'cancel' => 'Anuluj',
'moredotdotdot' => 'Więcej...',
-'mypage' => 'Moja strona',
-'mytalk' => 'Moja dyskusja',
+'mypage' => 'Strona',
+'mytalk' => 'Dyskusja',
'anontalk' => 'Dyskusja tego IP',
'navigation' => 'Nawigacja',
'and' => ' oraz',
'newwindow' => '(as deurb ant na fnestra neuva)',
'cancel' => 'Scancela',
'moredotdotdot' => 'Dë pì...',
-'mypage' => 'Mia pàgina',
-'mytalk' => 'Mie ciaciarade',
+'mypage' => 'Pàgina',
+'mytalk' => 'Ciaciarade',
'anontalk' => "Ciaciarade për st'adrëssa IP-sì",
'navigation' => 'Navigassion',
'and' => ' e',
# Preferences page
'preferences' => 'Mè gust',
-'mypreferences' => 'mè gust',
+'mypreferences' => 'Gust',
'prefs-edits' => 'Nùmer ëd modìfiche fàite:',
'prefsnologin' => "A l'é ancó pa rintrà ant ël sistema",
'prefsnologintext' => 'A deuv esse <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} intrà ant ël sistema]</span> për amposté ij sò gust.',
# Watchlist
'watchlist' => 'Ròba che im ten-o sot-euj',
-'mywatchlist' => 'Ròba che im ten-o sot-euj',
+'mywatchlist' => 'Ròba che as ten sot euj',
'watchlistfor2' => 'Për $1 $2',
'nowatchlist' => "A l'ha ancó pa marcà dj'artìcoj coma ròba da tnì sot-euj.",
'watchlistanontext' => "Për piasì, $1 për ës-ciairé ò pura modifiché j'element ëd soa lista dla ròba che as ten sot-euj.",
# Contributions
'contributions' => "Contribussion dë st'Utent-sì",
'contributions-title' => 'Contribussion ëd $1',
-'mycontris' => 'Mie contribussion',
+'mycontris' => 'Contribussion',
'contribsub2' => 'Për $1 ($2)',
'nocontribs' => "A l'é pa trovasse gnun-a modìfica che a fussa conforma a costi criteri-sì",
'uctop' => ' (ùltima dla pàgina)',
'confirmemail_pending' => "I l'oma già mandaje sò còdes ëd conferma;
se a l'ha pen-a creasse sò cont, miraco a venta che a speta dontré minute che a-j riva ant la pòsta, nopà che ciamene un neuv.",
'confirmemail_send' => 'Mandé un còdes ëd conferma për pòsta eletrònica',
-'confirmemail_sent' => "Ël messagi ëd conferma a l'é stait mandà.",
-'confirmemail_oncreate' => "Un còdes ëd conferma a l'é stait mandà a soa adrëssa ëd pòsta eletrònica.
-D'ës còdes a fa pa dë manca për rintré ant ël sistema, ma a ventrà che a lo mostra al sistema për podej abilité cole funsion dla wiki che a son basà ant sla pòsta eletrònica.",
-'confirmemail_sendfailed' => "{{SITENAME}} a l'ha pa podù mandete l'e-mail ëd conferma.
+'confirmemail_sent' => "Ël mëssagi ëd conferma a l'é stàit mandà.",
+'confirmemail_oncreate' => "Un còdes ëd conferma a l'é stàit mandà a soa adrëssa ëd pòsta eletrònica.
+D'ës còdes a fa pa dë manca për rintré ant ël sistema, ma a ventrà che a lo mostra al sistema për podèj abilité cole funsion dla wiki che a son basà ant sla pòsta eletrònica.",
+'confirmemail_sendfailed' => "{{SITENAME}} a l'ha pa podù mandeje ël mëssagi ëd conferma.
Che a controla l'adrëssa che a l'ha dane, mai che a-i fusso dij caràter nen vàlid.
-Ël programa ëd pòsta a l'ha arspondù: $1",
+Ël programa ëd pòsta a l'ha rëspondù: $1",
'confirmemail_invalid' => 'Còdes ëd conferma nen vàlid. A podrìa ëdcò mach esse scadù.',
-'confirmemail_needlogin' => 'A venta che a fasa $1 për confermé soa addrëssa postal eletrònica.',
-'confirmemail_success' => "Soa adrëssa postal a l'é staita confermà, adess a peul rintré ant ël sistema e i-j auguroma da fessla bin ant la wiki!",
+'confirmemail_needlogin' => 'A venta $1 për confermé soa adrëssa ëd pòsta eletrònica.',
+'confirmemail_success' => "Soa adrëssa a l'é stàita confermà, adess a peul [[Special:UserLogin|rintré ant ël sistema]] e i-j auguroma da fessla bin ant la wiki!",
'confirmemail_loggedin' => "Motobin mersì. Soa adrëssa ëd pòsta eletrònica adess a l'é confermà.",
'confirmemail_error' => "Cheich-còs a l'é andà mal ën salvand soa conferma.",
'confirmemail_subject' => "Conferma dl'adrëssa postal da 'nt la {{SITENAME}}",
{{Identical|Cancel}}',
'moredotdotdot' => '{{Identical|More...}}',
-'mytalk' => 'In the personal urls page section - right upper corner.',
+'mypage' => "A text for the link to the user's user page in the links at the top of the page.",
+'mytalk' => 'In the personal urls page section - right upper corner.
+
+Used as link title in "Personal tools" toolbar.',
'anontalk' => 'Link to the talk page appearing in [[mw:Help:Navigation#User_Links|user links]] for each anonymous users when [[mw:Manual:$wgShowIPinHeader|$wgShowIPinHeader]] is true.',
'navigation' => 'This is shown as a section header in the sidebar of most skins.
'preferences' => 'Title of the Special:Preferences page.
{{Identical|Preferences}}',
-'mypreferences' => 'Action link label that leads to Special:Preferences; appears in the top menu (e.g. "Username My talk My preferences My watchlist My contributions Log out").
+'mypreferences' => 'Action link label that leads to Special:Preferences; appears in the top menu (e.g. "Username Talk Preferences Watchlist Contributions Log out").
{{Identical|My preferences}}',
'prefs-edits' => 'In user preferences.',
'cancel' => 'Отменить',
'moredotdotdot' => 'Далее…',
'mypage' => 'Личная страница',
-'mytalk' => 'Ð\9cоÑ\8f Ñ\81Ñ\82Ñ\80аниÑ\86а обсуждения',
+'mytalk' => 'Ð\9eбсуждения',
'anontalk' => 'Обсуждение для этого IP-адреса',
'navigation' => 'Навигация',
'and' => ' и',
'vector-view-create' => 'Создание',
'vector-view-edit' => 'Правка',
'vector-view-history' => 'История',
-'vector-view-view' => 'Чтение',
+'vector-view-view' => 'Читать',
'vector-view-viewsource' => 'Просмотр разметки',
'actions' => 'Действия',
'namespaces' => 'Пространства имён',
'permalink' => 'Постоянная ссылка',
'print' => 'Печать',
'view' => 'Просмотр',
-'edit' => 'Ð\9fÑ\80авить',
+'edit' => 'РедакÑ\82иÑ\80овать',
'create' => 'Создать',
'editthispage' => 'Править эту страницу',
'create-this-page' => 'Создать эту страницу',
'talkpage' => 'Обсудить эту страницу',
'talkpagelinktext' => 'обсуждение',
'specialpage' => 'Служебная страница',
-'personaltools' => 'Ð\9bиÑ\87ные инструменты',
+'personaltools' => 'Ð\9fеÑ\80Ñ\81оналÑ\8cные инструменты',
'postcomment' => 'Новый раздел',
'articlepage' => 'Просмотреть статью',
'talk' => 'Обсуждение',
'mainpage' => 'Заглавная страница',
'mainpage-description' => 'Заглавная страница',
'policy-url' => 'Project:Правила',
-'portal' => 'СообÑ\89еÑ\81Ñ\82во',
+'portal' => 'Ð\9fоÑ\80Ñ\82ал Ñ\81ообÑ\89еÑ\81Ñ\82ва',
'portal-url' => 'Project:Портал сообщества',
'privacy' => 'Политика конфиденциальности',
'privacypage' => 'Project:Политика конфиденциальности',
'viewsourceold' => 'просмотреть исходный код',
'editlink' => 'править',
'viewsourcelink' => 'просмотреть исходный код',
-'editsectionhint' => 'Ð\9fÑ\80авиÑ\82Ñ\8c Ñ\81екÑ\86иÑ\8e «$1»',
+'editsectionhint' => 'РедакÑ\82иÑ\80оваÑ\82Ñ\8c Ñ\80аздел «$1»',
'toc' => 'Содержание',
'showtoc' => 'показать',
'hidetoc' => 'убрать',
'sort-ascending' => 'Упорядочить по возрастанию',
# Short words for each namespace, by default used in the namespace tab in monobook
-'nstab-main' => 'Статья',
+'nstab-main' => 'Страница',
'nstab-user' => 'Участник',
'nstab-media' => 'Мультимедиа',
'nstab-special' => 'Служебная страница',
'sectioneditnotsupported-text' => 'На этой странице не поддерживается редактирование разделов',
'permissionserrors' => 'Ошибки прав доступа',
'permissionserrorstext' => 'У вас нет прав на выполнение этой операции по {{PLURAL:$1|следующей причине|следующим причинам}}:',
-'permissionserrorstext-withaction' => "У вас нет разрешения на «'''$2'''» по {{PLURAL:$1|следующей причине|следующим причинам}}:",
+'permissionserrorstext-withaction' => 'У вас нет прав на $2 по {{PLURAL:$1|следующей причине|следующим причинам}}:',
'recreate-moveddeleted-warn' => "'''Внимание. Вы пытаетесь воссоздать страницу, которая ранее удалялась.'''
Проверьте, действительно ли вам нужно воссоздавать эту страницу.
'uid' => 'Идентификатор участника:',
'prefs-memberingroups' => 'Член {{PLURAL:$1|группы|групп}}:',
'prefs-registration' => 'Время регистрации:',
-'yourrealname' => 'Ð\92аÑ\88е настоящее имя:',
+'yourrealname' => 'Ð\9dастоящее имя:',
'yourlanguage' => 'Язык интерфейса:',
'yourvariant' => 'Вариант языка содержания:',
'prefs-help-variant' => 'Предпочитаемый для отображения содержимого страниц вики вариант языка или орфография.',
'prefs-help-realname' => 'Настоящее имя (необязательное поле).
Если вы укажете его, то оно будет использовано для того, чтобы показать, кем была внесена правка страницы.',
'prefs-help-email' => 'Адрес электронной почты указывать необязательно, но он будет необходим в том случае, если вы забудете пароль.',
-'prefs-help-email-others' => 'Он также позволит другим участникам связаться с вами через ссылку на вашей личной странице без необходимости раскрытия адреса вашей электронной почты.',
+'prefs-help-email-others' => 'Он также позволит другим участникам связаться с вами по электронной почте с помощью ссылки на вашей персональной странице или на вашей странице обсуждения. При этом ваш адрес электронной почты не будет никому раскрыт.',
'prefs-help-email-required' => 'Необходимо указать адрес электронной почты.',
'prefs-info' => 'Основные сведения',
'prefs-i18n' => 'Интернационализация',
'action-edit' => 'редактирование этой страницы',
'action-createpage' => 'создание страниц',
'action-createtalk' => 'создание страниц обсуждений',
-'action-createaccount' => 'создание этой учётной записи участника',
-'action-minoredit' => 'оÑ\82меÑ\82ка этой правки как малой',
+'action-createaccount' => 'создание этой учётной записи',
+'action-minoredit' => 'помеÑ\82кÑ\83 этой правки как малой',
'action-move' => 'переименование этой страницы',
'action-move-subpages' => 'переименование этой страницы со всеми её подстраницами',
'action-move-rootuserpages' => 'переименование корневых страниц участников',
'action-movefile' => 'переименовать этот файл',
-'action-upload' => 'загрузка этого файла',
+'action-upload' => 'загрузку этого файла',
'action-reupload' => 'перезапись существующего файла',
'action-reupload-shared' => 'перекрытие файла из общего хранилища',
-'action-upload_by_url' => 'загрузка этого файла с адреса URL',
+'action-upload_by_url' => 'загрузку этого файла с адреса URL',
'action-writeapi' => 'использование API для правок',
'action-delete' => 'удаление этой страницы',
'action-deleterevision' => 'удаление этой версии страницы',
'listgrouprights-group' => 'Группа',
'listgrouprights-rights' => 'Права',
'listgrouprights-helppage' => 'Help:Права групп',
-'listgrouprights-members' => '(список группы)',
+'listgrouprights-members' => '(список участников)',
'listgrouprights-right-display' => '<span class="listgrouprights-granted">$1 (<code>$2</code>)</span>',
'listgrouprights-right-revoked' => '<span class="listgrouprights-revoked">$1 (<code>$2</code>)</span>',
'listgrouprights-addgroup' => 'может добавлять в {{PLURAL:$2|группу|группы}}: $1',
# Contributions
'contributions' => 'Вклад участника',
'contributions-title' => 'Вклад {{GENDER:$1|участника|участницы}} $1',
-'mycontris' => 'Ð\9cой вклад',
+'mycontris' => 'Ð\92клад',
'contribsub2' => 'Вклад $1 ($2)',
'nocontribs' => 'Изменений, соответствующих заданным условиям, найдено не было.',
'uctop' => ' (последняя)',
'whatlinkshere-hideredirs' => '$1 перенаправления',
'whatlinkshere-hidetrans' => '$1 включения',
'whatlinkshere-hidelinks' => '$1 ссылки',
-'whatlinkshere-hideimages' => '$1 Ñ\81Ñ\81Ñ\8bлки длÑ\8f изобÑ\80ажений',
+'whatlinkshere-hideimages' => '$1 Ñ\84айловÑ\8bе Ñ\81Ñ\81Ñ\8bлки',
'whatlinkshere-filters' => 'Фильтры',
# Block/unblock
'tooltip-pt-login' => 'Здесь можно зарегистрироваться в системе, но это необязательно.',
'tooltip-pt-anonlogin' => 'Здесь можно зарегистрироваться в системе, но это необязательно.',
'tooltip-pt-logout' => 'Завершить сеанс работы',
-'tooltip-ca-talk' => 'Обсуждение содержания страницы',
-'tooltip-ca-edit' => 'ÐÑ\82Ñ\83 Ñ\81Ñ\82Ñ\80аниÑ\86Ñ\83 можно изменÑ\8fÑ\82Ñ\8c. Ð\98Ñ\81полÑ\8cзÑ\83йÑ\82е, пожалÑ\83йÑ\81Ñ\82а, пÑ\80едваÑ\80иÑ\82елÑ\8cнÑ\8bй пÑ\80оÑ\81моÑ\82Ñ\80 пеÑ\80ед Ñ\81оÑ\85Ñ\80анением',
+'tooltip-ca-talk' => 'Обсуждение основной страницы',
+'tooltip-ca-edit' => 'Ð\92Ñ\8b можеÑ\82е Ñ\80едакÑ\82иÑ\80оваÑ\82Ñ\8c Ñ\8dÑ\82Ñ\83 Ñ\81Ñ\82Ñ\80аниÑ\86Ñ\83. Ð\9fеÑ\80ед Ñ\82ем, как запиÑ\81аÑ\82Ñ\8c Ñ\81вои изменениÑ\8f, воÑ\81полÑ\8cзÑ\83йÑ\82еÑ\81Ñ\8c, пожалÑ\83йÑ\81Ñ\82а, кнопкой пÑ\80едваÑ\80иÑ\82елÑ\8cного пÑ\80оÑ\81моÑ\82Ñ\80а.',
'tooltip-ca-addsection' => 'Создать новый раздел',
'tooltip-ca-viewsource' => 'Эта страница защищена от изменений, но вы можете посмотреть и скопировать её исходный текст',
'tooltip-ca-history' => 'Журнал изменений страницы',
'tooltip-n-mainpage' => 'Перейти на заглавную страницу',
'tooltip-n-mainpage-description' => 'Перейти на заглавную страницу',
'tooltip-n-portal' => 'О проекте, о том, что вы можете сделать, где что находится',
-'tooltip-n-currentevents' => 'СпиÑ\81ок Ñ\82екÑ\83Ñ\89иÑ\85 Ñ\81обÑ\8bÑ\82ий',
+'tooltip-n-currentevents' => 'Ð\98нÑ\84оÑ\80маÑ\86иÑ\8f о Ñ\82екÑ\83Ñ\89иÑ\85 Ñ\81обÑ\8bÑ\82иÑ\8fÑ\85',
'tooltip-n-recentchanges' => 'Список последних изменений',
'tooltip-n-randompage' => 'Посмотреть случайную страницу',
'tooltip-n-help' => 'Справочник по проекту «{{SITENAME}}»',
-'tooltip-t-whatlinkshere' => 'Список всех страниц, которые ссылаются на эту страницу',
+'tooltip-t-whatlinkshere' => 'Список всех страниц, ссылающихся на данную',
'tooltip-t-recentchangeslinked' => 'Последние изменения в страницах, на которые ссылается эта страница',
'tooltip-feed-rss' => 'Трансляция в RSS для этой страницы',
'tooltip-feed-atom' => 'Трансляция в Atom для этой страницы',
'tooltip-t-contributions' => 'Список страниц, которые изменял этот участник',
'tooltip-t-emailuser' => 'Отправить письмо этому участнику',
-'tooltip-t-upload' => 'Загрузить изображения или мультимедиа-файлы',
+'tooltip-t-upload' => 'Загрузить файлы',
'tooltip-t-specialpages' => 'Список служебных страниц',
'tooltip-t-print' => 'Версия этой страницы для печати',
'tooltip-t-permalink' => 'Постоянная ссылка на эту версию страницы',
-'tooltip-ca-nstab-main' => 'СодеÑ\80жание Ñ\81Ñ\82аÑ\82Ñ\8cи',
+'tooltip-ca-nstab-main' => 'Ð\9fÑ\80оÑ\81моÑ\82Ñ\80 оÑ\81новной Ñ\81Ñ\82Ñ\80аниÑ\86Ñ\8b',
'tooltip-ca-nstab-user' => 'Персональная страница участника',
'tooltip-ca-nstab-media' => 'Медиа-файл',
'tooltip-ca-nstab-special' => 'Это служебная страница, она недоступна для редактирования',
# Watchlist editing tools
'watchlisttools-view' => 'Изменения на страницах из списка',
-'watchlisttools-edit' => 'Смотреть/править список',
-'watchlisttools-raw' => 'Ð\9fÑ\80авиÑ\82Ñ\8c как текст',
+'watchlisttools-edit' => 'Смотреть и редактировать список',
+'watchlisttools-raw' => 'РедакÑ\82иÑ\80оваÑ\82Ñ\8c как обÑ\8bÑ\87нÑ\8bй текст',
# Iranian month names
'iranian-calendar-m1' => 'Фарвардин',
'sqlite-no-fts' => '$1 без поддержки полнотекстового поиска',
# New logging system
-'logentry-delete-delete' => '$1 {{GENDER:$1|удалил|удалила}} страницу $3',
+'logentry-delete-delete' => '$1 {{GENDER:$2|удалил|удалила}} страницу $3',
'logentry-delete-restore' => '$1 {{GENDER:$1|восстановил|восстановила}} страницу $3',
'logentry-delete-event' => '$1 {{GENDER:$1|изменил|изменила}} видимость {{PLURAL:$5|$5 записи|$5 записей|$5 записей}} журнала на $3: $4',
'logentry-delete-revision' => '$1 {{GENDER:$1|изменил|изменила}} видимость {{PLURAL:$5|$5 версии|$5 версий|$5 версий}} на странице $3: $4',
# Contributions
'contributions' => 'Кыттааччы суруйуута (вклад)',
'contributions-title' => '$1 кыттааччы киллэрбит уларытыылара',
-'mycontris' => 'Суруйуум тиһигэ',
+'mycontris' => 'Суруйуу тиһигэ',
'contribsub2' => 'Вклад $1 ($2)',
'nocontribs' => 'Эппит критерийгэр эппиэттиир уларытыылар көстүбэтилэр.',
'uctop' => '(бүтэһик)',
'whatlinkshere-hideredirs' => '$1 утаарыы',
'whatlinkshere-hidetrans' => '$1 киллэриилэр',
'whatlinkshere-hidelinks' => '$1 сигэ (ыйынньык)',
-'whatlinkshere-hideimages' => '$1 ойÑ\83Ñ\83 сигэтэ',
+'whatlinkshere-hideimages' => '$1 билÑ\8d сигэтэ',
'whatlinkshere-filters' => 'Фильтрдар',
# Block/unblock
'version-software' => 'Туруоруллубут бырагырааммалар',
'version-software-product' => 'Бородуукта',
'version-software-version' => 'Барыл (торум)',
+'version-entrypoints' => 'Киирэр аадырыстар (URL)',
'version-entrypoints-header-entrypoint' => 'Киирии сирэ',
'version-entrypoints-header-url' => 'URL',
'api-error-file-too-large' => 'Ыыппыт билэҥ наһаа улахан эбит.',
'api-error-filename-tooshort' => 'Билэҥ аата наһаа кылгас.',
'api-error-filetype-banned' => 'Маннык көрүҥнээх билэлэр бобуулаахтар.',
-'api-error-filetype-banned-type' => '$1 — {{PLURAL:$4|билэ бобуллубут көрүҥэ|билэ бобуллубут көрүҥнэрэ}}.. Көҥүллэммит билэ {{PLURAL:$3|көрүҥэ маннык|көрүҥнэрэ манныктар}}: $2.',
+'api-error-filetype-banned-type' => '$1 — {{PLURAL:$4|билэ бобуллубут көрүҥэ|билэ бобуллубут көрүҥнэрэ}}.
+Көҥүллэммит билэ {{PLURAL:$3|көрүҥэ маннык|көрүҥнэрэ манныктар}}: $2.',
'api-error-filetype-missing' => 'Бу билэ тэнитиитэ (расширение) суох эбит.',
'api-error-hookaborted' => 'Эн киллэрбит уларытыыгын кэҥэтии таҥастааччыта оннугар төннөрбүт.',
'api-error-http' => 'Ис алҕас: Сиэрбэргэ холбонор табыллыбата.',
'newwindow' => '(odpre se novo okno)',
'cancel' => 'Prekliči',
'moredotdotdot' => 'Več ...',
-'mypage' => 'Moja stran',
+'mypage' => 'Stran',
'mytalk' => 'Pogovor',
'anontalk' => 'Pogovorna stran IP',
'navigation' => 'Navigacija',
'cancel' => 'Avbryt',
'moredotdotdot' => 'Mer...',
'mypage' => 'Min sida',
-'mytalk' => 'Min diskussion',
+'mytalk' => 'Diskussion',
'anontalk' => 'Diskussionssida för denna IP-adress',
'navigation' => 'Navigering',
'and' => ' och',
# Preferences page
'preferences' => 'Inställningar',
-'mypreferences' => 'Mina inställningar',
+'mypreferences' => 'Inställningar',
'prefs-edits' => 'Antal redigeringar:',
'prefsnologin' => 'Inte inloggad',
'prefsnologintext' => 'Du måste vara <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} inloggad]</span> för att kunna ändra dina inställningar.',
# Watchlist
'watchlist' => 'Bevakningslista',
-'mywatchlist' => 'Min bevakningslista',
+'mywatchlist' => 'Bevakningslista',
'watchlistfor2' => 'För $1 $2',
'nowatchlist' => 'Du har inga sidor i din bevakningslista.',
'watchlistanontext' => 'Du måste $1 för att se eller redigera din bevakningslista.',
# Contributions
'contributions' => 'Användarbidrag',
'contributions-title' => 'Bidrag av $1',
-'mycontris' => 'Mina bidrag',
+'mycontris' => 'Bidrag',
'contribsub2' => 'För $1 ($2)',
'nocontribs' => 'Inga ändringar som motsvarar dessa kriterier hittades.',
'uctop' => '(senaste)',
'cancel' => 'Para',
'moredotdotdot' => 'Barak liu...',
'mypage' => "Ha'u-nia pájina",
-'mytalk' => "Ha'u-nia diskusaun",
+'mytalk' => 'Diskusaun',
'anontalk' => "Diskusaun ba IP ne'e",
'navigation' => 'Hatudu-dalan',
'and' => ' ho',
# Preferences page
'preferences' => 'Preferénsia',
-'mypreferences' => "Ha'u-nia preferénsia",
+'mypreferences' => 'Preferénsia',
'prefs-rc' => 'Mudansa foufoun sira',
'prefs-watchlist' => 'Lista hateke',
'prefs-editing' => 'Edita',
# Watchlist
'watchlist' => "Ha'u-nia lista hateke",
-'mywatchlist' => "Ha'u-nia lista hateke",
+'mywatchlist' => 'Lista hateke',
'removedwatchtext' => 'La hateke pájina "[[:$1]]" ona (haree [[Special:Watchlist|"lista hateke"]]).',
'watch' => 'Hateke',
'watchthispage' => "Hateke pájina ne'e",
# Contributions
'contributions' => "Kontribuisaun uza-na'in",
'contributions-title' => 'Kontribuisaun "$1" nian',
-'mycontris' => "Ha'u-nia kontribuisaun",
+'mycontris' => 'Kontribuisaun',
'contribsub2' => 'Ba $1 ($2)',
'uctop' => '(versaun atuál)',
'month' => 'Fulan (ho molok):',
'underline-always' => 'Завжди',
'underline-never' => 'Ніколи',
-'underline-default' => 'Використати налаштування браузера',
+'underline-default' => 'Ð\92икоÑ\80иÑ\81Ñ\82овÑ\83ваÑ\82и налаÑ\88Ñ\82Ñ\83ваннÑ\8f бÑ\80аÑ\83зеÑ\80а',
# Font style option in Special:Preferences
'editfont-style' => 'Тип шрифту в полі редагування:',
'newwindow' => '(відкривається в новому вікні)',
'cancel' => 'Скасувати',
'moredotdotdot' => 'Детальніше…',
-'mypage' => 'Ð\9cоÑ\8f оÑ\81обиÑ\81Ñ\82а Ñ\81торінка',
-'mytalk' => 'Ð\9cоÑ\8f Ñ\81Ñ\82оÑ\80Ñ\96нка обговорення',
+'mypage' => 'Сторінка',
+'mytalk' => 'Ð\9eбговорення',
'anontalk' => 'Обговорення для цієї IP-адреси',
'navigation' => 'Навігація',
'and' => ' і',
# Preferences page
'preferences' => 'Налаштування',
'mypreferences' => 'Налаштування',
-'prefs-edits' => 'Ð\9aÑ\96лÑ\8cкÑ\96Ñ\81Ñ\82Ñ\8c редагувань:',
+'prefs-edits' => 'ЧиÑ\81ло редагувань:',
'prefsnologin' => 'Ви не ввійшли в систему',
'prefsnologintext' => 'Щоб змінити налаштування користувача, ви повинні <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} ввійти до системи]</span>.',
'changepassword' => 'Змінити пароль',
'rightslogtext' => 'Це протокол зміни прав користувачів.',
'rightslogentry' => 'змінив права доступу для користувача $1 з $2 на $3',
'rightslogentry-autopromote' => 'був автоматично переведений з $2 до $3',
+'logentry-rights-rights' => '$1 {{GENDER:$1|змінив|змінила}} членство в групах для $3 із $4 на $5',
+'logentry-rights-rights-legacy' => '$1 {{GENDER:$1|змінив|змінила}} членство в групах для $3',
+'logentry-rights-autopromote' => '$1 було автоматично переведено із $4 в $5',
'rightsnone' => '(нема)',
# Associated actions - in the sentence "You do not have permission to X"
'linksearch-ns' => 'Простір назв:',
'linksearch-ok' => 'Знайти',
'linksearch-text' => 'Можна використовувати підстановочні символи (шаблони), наприклад, "*.wikipedia.org".
-Необхідний домен якнайменше верхнього рівня, наприклад "*.org"<br />
-Ð\9fÑ\96дÑ\82Ñ\80имÑ\83ванÑ\96 пÑ\80оÑ\82околи: <code>$1</code> (не додавайÑ\82е жоден з ниÑ\85 Ñ\83 ваÑ\88омÑ\83 поÑ\88Ñ\83кÑ\83)',
+Необхідний домен принаймні верхнього рівня, наприклад "*.org"<br />
+Ð\9fÑ\96дÑ\82Ñ\80имÑ\83ванÑ\96 пÑ\80оÑ\82околи: <code>$1</code> (за замовÑ\87Ñ\83ваннÑ\8fм http:// Ñ\8fкÑ\89о жоден пÑ\80оÑ\82окол не вказано)',
'linksearch-line' => 'Посилання на $1 із $2',
'linksearch-error' => 'Підстановочні знаки можуть використовуватися лише на початку адрес.',
'mailnologin' => 'Відсутня адреса для відправки',
'mailnologintext' => 'Ви повинні [[Special:UserLogin|ввійти до системи]] і мати підтверджену адресу електронної пошти у ваших [[Special:Preferences|налаштуваннях]], щоб мати змогу надсилати електронну пошту іншим користувачам.',
'emailuser' => 'Надіслати листа',
-'emailuser-title-target' => 'Надіслати електронного листа користувачеві',
+'emailuser-title-target' => 'Надіслати електронного листа {{GENDER:$1|користувачеві|користувачці}}',
'emailuser-title-notarget' => 'Надіслати електронного листа користувачеві',
'emailpage' => 'Лист користувачеві',
-'emailpagetext' => 'Заповнивши наведену нижче форму, можна надіслати повідомлення цьому користувачу.
-Ð\95лекÑ\82Ñ\80онна адÑ\80еÑ\81а, Ñ\8fкÑ\83 ви зазначили у [[Special:Preferences|своїх налаштуваннях]], буде зазначена в полі «Від кого» листа, тому одержувач матиме можливість відповісти безпосередньо вам.',
+'emailpagetext' => 'Заповнивши наведену нижче форму, можна надіслати повідомлення {{GENDER:$1|цьому користувачу|цій користувачці}}.
+Ð\95лекÑ\82Ñ\80онна адÑ\80еÑ\81а, Ñ\8fкÑ\83 Ð\92и зазначили у [[Special:Preferences|своїх налаштуваннях]], буде зазначена в полі «Від кого» листа, тому одержувач матиме можливість відповісти безпосередньо вам.',
'usermailererror' => 'При відправці повідомлення електронної пошти сталася помилка:',
'defemailsubject' => '{{SITENAME}} - електронний лист від користувача " $1 "',
'usermaildisabled' => 'Електронне листування між користувачами вимкнене',
'undeletedrevisions' => '$1 {{PLURAL:$1|редагування|редагування|редагувань}} відновлено',
'undeletedrevisions-files' => '$1 {{PLURAL:$1|версія|версії|версій}} та $2 {{PLURAL:$2|файл|файли|файлів}} відновлено',
'undeletedfiles' => '$1 {{PLURAL:$1|файл|файли|файлів}} відновлено',
-'cannotundelete' => 'Не вдалося скасувати видалення, хтось інший вже міг відмінити видалення сторінки.',
+'cannotundelete' => 'Помилка відновлення:
+$1',
'undeletedpage' => "'''Сторінка «$1» відновлена'''
Див. [[Special:Log/delete|список вилучень]], щоб дізнатися про останні вилучення та відновлення.",
# Contributions
'contributions' => 'Внесок користувача',
'contributions-title' => 'Внесок користувача $1',
-'mycontris' => 'Ð\9cÑ\96й внесок',
+'mycontris' => 'Ð\92несок',
'contribsub2' => 'Внесок $1 ($2)',
'nocontribs' => 'Редагувань, що задовольняють заданим умовам не знайдено.',
'uctop' => ' (остання)',
# Info page
'pageinfo-title' => 'Інформація про " $1 "',
-'pageinfo-not-current' => 'Ð\94анÑ\96 можÑ\83Ñ\82Ñ\8c бÑ\83Ñ\82и показанÑ\96 лиÑ\88е длÑ\8f поÑ\82оÑ\87ноÑ\97 веÑ\80Ñ\81Ñ\96Ñ\97',
+'pageinfo-not-current' => 'Ð\92ибаÑ\87Ñ\82е, неможливо пеÑ\80еглÑ\8fнÑ\83Ñ\82и Ñ\86Ñ\8e Ñ\96нÑ\84оÑ\80маÑ\86Ñ\96Ñ\8e длÑ\8f Ñ\81Ñ\82аÑ\80иÑ\85 веÑ\80Ñ\81Ñ\96й.',
'pageinfo-header-basic' => 'Основна інформація',
'pageinfo-header-edits' => 'Історія редагувань',
'pageinfo-header-restrictions' => 'Захист сторінки',
'sqlite-no-fts' => '$1 без підтримки повнотекстового пошуку',
# New logging system
-'logentry-delete-delete' => '$1 вилучив сторінку $3',
+'logentry-delete-delete' => '$1 {{GENDER:$2|вилучив|вилучила}} сторінку $3',
'logentry-delete-restore' => '$1 відновив сторінку $3',
'logentry-delete-event' => '$1 змінив видимість {{PLURAL:$5 запису журнала|$5 записів журналу}} на $3: $4',
'logentry-delete-revision' => '$1 змінив видимість {{PLURAL:$5 версії|$5 версій}} на сторінці $3: $4',
'newwindow' => '(yangi oynada ochiladi)',
'cancel' => 'Bekor qilish',
'moredotdotdot' => 'Batafsil...',
-'mypage' => 'Shaxsiy sahifa',
+'mypage' => 'Sahifa',
'mytalk' => 'Suhbatim',
'anontalk' => 'Bu IP uchun suhbat',
'navigation' => 'Saytda harakatlanish',
'newwindow' => '(将于新窗口中打开)',
'cancel' => '取消',
'moredotdotdot' => '更多',
-'mypage' => '我的页面',
-'mytalk' => '我的讨论',
+'mypage' => '页面',
+'mytalk' => '讨论页',
'anontalk' => '该IP地址的讨论',
'navigation' => '导航',
'and' => '和',
'edit-already-exists' => '不可以建立一个新页面。
它已经存在。',
'defaultmessagetext' => '默认消息文本',
+'content-failed-to-parse' => '未能将 $2 内容转换为 $1:$3',
'invalid-content-data' => '无效的内容数据',
+'content-not-allowed-here' => '[[$2]]页面上不允许“$1”内容',
# Content models
+'content-model-wikitext' => 'wiki语法',
'content-model-text' => '纯文本',
'content-model-javascript' => 'JavaScript',
'content-model-css' => 'CSS',
# Preferences page
'preferences' => '系统设置',
-'mypreferences' => '我的设置',
+'mypreferences' => '参数设置',
'prefs-edits' => '编辑数量:',
'prefsnologin' => '尚未登录',
'prefsnologintext' => '您必须先<span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} 登录]</span>才能设置个人参数。',
# Contributions
'contributions' => '用户贡献',
'contributions-title' => '$1的用户贡献',
-'mycontris' => '我的贡献',
+'mycontris' => '贡献记录',
'contribsub2' => '$1的贡献($2)',
'nocontribs' => '没有找到符合特征的更改。',
'uctop' => '(最后更改)',
'whatlinkshere-hideredirs' => '$1重定向',
'whatlinkshere-hidetrans' => '$1包含',
'whatlinkshere-hidelinks' => '$1链接',
-'whatlinkshere-hideimages' => '$1文件链接',
+'whatlinkshere-hideimages' => '$1个文件链接',
'whatlinkshere-filters' => '过滤器',
# Block/unblock
'newwindow' => '(以新視窗開啟)',
'cancel' => '取消',
'moredotdotdot' => '更多...',
-'mypage' => '我的頁面',
-'mytalk' => '我的對話頁',
+'mypage' => '頁面',
+'mytalk' => '對話頁',
'anontalk' => '該IP的對話頁',
'navigation' => '導覽',
'and' => '和',
# Preferences page
'preferences' => '偏好設定',
-'mypreferences' => '我的偏好設定',
+'mypreferences' => '偏好設定',
'prefs-edits' => '編輯數量:',
'prefsnologin' => '還未登入',
'prefsnologintext' => '您必須先<span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} 登入]</span>才能設置個人參數。',
# Watchlist
'watchlist' => '監視列表',
-'mywatchlist' => '我的監視列表',
+'mywatchlist' => '監視列表',
'watchlistfor2' => '$1的監視列表 $2',
'nowatchlist' => '您的監視列表為空。',
'watchlistanontext' => '請$1以檢視或編輯您的監視列表。',
# Contributions
'contributions' => '用戶貢獻',
'contributions-title' => '$1的用戶貢獻',
-'mycontris' => '我的貢獻',
+'mycontris' => '貢獻',
'contribsub2' => '$1的貢獻 ($2)',
'nocontribs' => '沒有找到符合特徵的更改。',
'uctop' => '(最新修改)',
!! end
+# Plain MediaWiki does not remove empty lists, but tidy actually does.
+# Templates in Wikipedia rely on this behavior, as tidy has always been
+# enabled there. These tests are normally run *without* tidy, so specify the
+# full output here.
+# To test realistic parsing behavior, apply a tidy-like transformation to both
+# the expected output and your parser's output.
+!! test
+Bug 529: Uncovered bullet leaving empty list, normally removed by tidy
+!! input
+******* Foo {{bullet}}
+!! result
+<ul><li><ul><li><ul><li><ul><li><ul><li><ul><li><ul><li> Foo
+</li></ul>
+</li></ul>
+</li></ul>
+</li></ul>
+</li></ul>
+</li></ul>
+</li><li> Bar
+</li></ul>
+
+!! end
+
!! test
Bug 529: Uncovered table already at line-start
!! input
# - wgDefaultLanguageVariant
# - Optional message
return array(
- array( 'fr', 'Main_page', 'fr', 'fr', false ),
- array( 'es', 'Main_page', 'es', 'zh-tw', false ),
- array( 'zh', 'Main_page', 'zh', 'zh-tw', false ),
+ array( 'fr', 'Help:I_need_somebody', 'fr', 'fr', false ),
+ array( 'es', 'Help:I_need_somebody', 'es', 'zh-tw', false ),
+ array( 'zh', 'Help:I_need_somebody', 'zh', 'zh-tw', false ),
- array( 'es', 'Main_page', 'es', 'zh-tw', 'zh-cn' ),
+ array( 'es', 'Help:I_need_somebody', 'es', 'zh-tw', 'zh-cn' ),
array( 'es', 'MediaWiki:About', 'es', 'zh-tw', 'zh-cn' ),
array( 'es', 'MediaWiki:About/', 'es', 'zh-tw', 'zh-cn' ),
array( 'de', 'MediaWiki:About/de', 'es', 'zh-tw', 'zh-cn' ),
array( 'en', 'User:JohnDoe/Common.js', 'es', 'zh-tw', 'zh-cn' ),
array( 'en', 'User:JohnDoe/Monobook.css', 'es', 'zh-tw', 'zh-cn' ),
- array( 'zh-cn', 'Main_page', 'zh', 'zh-tw', 'zh-cn' ),
+ array( 'zh-cn', 'Help:I_need_somebody', 'zh', 'zh-tw', 'zh-cn' ),
array( 'zh', 'MediaWiki:About', 'zh', 'zh-tw', 'zh-cn' ),
array( 'zh', 'MediaWiki:About/', 'zh', 'zh-tw', 'zh-cn' ),
array( 'de', 'MediaWiki:About/de', 'zh', 'zh-tw', 'zh-cn' ),
}
}
+ public static function provideConvert() {
+ return array(
+ array( // #0
+ 'Hallo Welt',
+ CONTENT_MODEL_WIKITEXT,
+ 'lossless',
+ 'Hallo Welt'
+ ),
+ array( // #1
+ 'Hallo Welt',
+ CONTENT_MODEL_WIKITEXT,
+ 'lossless',
+ 'Hallo Welt'
+ ),
+ array( // #1
+ 'Hallo Welt',
+ CONTENT_MODEL_CSS,
+ 'lossless',
+ 'Hallo Welt'
+ ),
+ array( // #1
+ 'Hallo Welt',
+ CONTENT_MODEL_JAVASCRIPT,
+ 'lossless',
+ 'Hallo Welt'
+ ),
+ );
+ }
+
+ /**
+ * @dataProvider provideConvert
+ */
+ public function testConvert( $text, $model, $lossy, $expectedNative ) {
+ $content = $this->newContent( $text );
+
+ $converted = $content->convert( $model, $lossy );
+
+ if ( $expectedNative === false ) {
+ $this->assertFalse( $converted, "conversion to $model was expected to fail!" );
+ } else {
+ $this->assertInstanceOf( 'Content', $converted );
+ $this->assertEquals( $expectedNative, $converted->getNativeData() );
+ }
+ }
+
}
// Called directly, use $_REQUEST params
wfThumbHandleRequest();
}
+
wfLogProfilingData();
//--------------------------------------------------------------------------
* @return void
*/
function wfThumbHandle404() {
- # lighttpd puts the original request in REQUEST_URI, while sjs sets
- # that to the 404 handler, and puts the original request in REDIRECT_URL.
- if ( isset( $_SERVER['REDIRECT_URL'] ) ) {
- # The URL is un-encoded, so put it back how it was
- $uriPath = str_replace( "%2F", "/", urlencode( $_SERVER['REDIRECT_URL'] ) );
- } else {
- $uriPath = $_SERVER['REQUEST_URI'];
- }
- # Just get the URI path (REDIRECT_URL/REQUEST_URI is either a full URL or a path)
- if ( substr( $uriPath, 0, 1 ) !== '/' ) {
- $bits = wfParseUrl( $uriPath );
- if ( $bits && isset( $bits['path'] ) ) {
- $uriPath = $bits['path'];
- } else {
- wfThumbError( 404, 'The source file for the specified thumbnail does not exist.' );
- return;
- }
+ global $wgArticlePath;
+
+ # Set action base paths so that WebRequest::getPathInfo()
+ # recognizes the "X" as the 'title' in ../thumb_handler.php/X urls.
+ $wgArticlePath = false; # Don't let a "/*" article path clober our action path
+
+ $matches = WebRequest::getPathInfo();
+ if ( !isset( $matches['title'] ) ) {
+ wfThumbError( 404, 'Could not determine the name of the requested thumbnail.' );
+ return;
}
- $params = wfExtractThumbParams( $uriPath ); // basic wiki URL param extracting
+ $params = wfExtractThumbParams( $matches['title'] ); // basic wiki URL param extracting
if ( $params == null ) {
- wfThumbError( 404, 'The source file for the specified thumbnail does not exist.' );
+ wfThumbError( 400, 'The specified thumbnail parameters are not recognized.' );
return;
}
* Extract the required params for thumb.php from the thumbnail request URI.
* At least 'width' and 'f' should be set if the result is an array.
*
- * @param $uriPath String Thumbnail request URI path
+ * @param $thumbRel String Thumbnail path relative to the thumb zone
* @return Array|null associative params array or null
*/
-function wfExtractThumbParams( $uriPath ) {
+function wfExtractThumbParams( $thumbRel ) {
$repo = RepoGroup::singleton()->getLocalRepo();
- // Zone URL might be relative ("/images") or protocol-relative ("//lang.site/image")
- $zoneUriPath = $repo->getZoneHandlerUrl( 'thumb' )
- ? $repo->getZoneHandlerUrl( 'thumb' ) // custom URL
- : $repo->getZoneUrl( 'thumb' ); // default to main URL
- $bits = wfParseUrl( wfExpandUrl( $zoneUriPath, PROTO_INTERNAL ) );
- if ( $bits && isset( $bits['path'] ) ) {
- $zoneUriPath = $bits['path'];
- } else {
- return null; // not a valid thumbnail URL
- }
-
$hashDirReg = $subdirReg = '';
for ( $i = 0; $i < $repo->getHashLevels(); $i++ ) {
$subdirReg .= '[0-9a-f]';
$hashDirReg .= "$subdirReg/";
}
- $zoneReg = preg_quote( $zoneUriPath ); // regex for thumb zone URI
// Check if this is a thumbnail of an original in the local file repo
- if ( preg_match( "!^$zoneReg/((archive/)?$hashDirReg([^/]*)/([^/]*))$!", $uriPath, $m ) ) {
+ if ( preg_match( "!^((archive/)?$hashDirReg([^/]*)/([^/]*))$!", $thumbRel, $m ) ) {
list( /*all*/, $rel, $archOrTemp, $filename, $thumbname ) = $m;
// Check if this is a thumbnail of an temp file in the local file repo
- } elseif ( preg_match( "!^$zoneReg/(temp/)($hashDirReg([^/]*)/([^/]*))$!", $uriPath, $m ) ) {
+ } elseif ( preg_match( "!^(temp/)($hashDirReg([^/]*)/([^/]*))$!", $thumbRel, $m ) ) {
list( /*all*/, $archOrTemp, $rel, $filename, $thumbname ) = $m;
} else {
return null; // not a valid looking thumbnail request
}
- $filename = urldecode( $filename );
- $thumbname = urldecode( $thumbname );
-
$params = array( 'f' => $filename, 'rel404' => $rel );
if ( $archOrTemp === 'archive/' ) {
$params['archived'] = 1;