* ChangeTags::tagDescription() will return false if the interface message
for the tag is disabled.
* Added PageHistoryPager::doBatchLookups hook.
+* Added $wikiId parameter to FormatAutocomments hook.
* Added ParserCacheSaveComplete to ParserCache
* supportsDirectEditing and supportsDirectApiEditing methods added to
ContentHandler, to provide a way for ApiEditPage and EditPage to check
'MediaWiki\\Tidy\\RaggettWrapper' => __DIR__ . '/includes/tidy/RaggettWrapper.php',
'MediaWiki\\Tidy\\TidyDriverBase' => __DIR__ . '/includes/tidy/TidyDriverBase.php',
'MediaWiki\\Widget\\ComplexNamespaceInputWidget' => __DIR__ . '/includes/widget/ComplexNamespaceInputWidget.php',
+ 'MediaWiki\\Widget\\ComplexTitleInputWidget' => __DIR__ . '/includes/widget/ComplexTitleInputWidget.php',
'MediaWiki\\Widget\\NamespaceInputWidget' => __DIR__ . '/includes/widget/NamespaceInputWidget.php',
'MediaWiki\\Widget\\TitleInputWidget' => __DIR__ . '/includes/widget/TitleInputWidget.php',
'MediaWiki\\Widget\\UserInputWidget' => __DIR__ . '/includes/widget/UserInputWidget.php',
$post: Boolean, true if there is text after this autocomment
$title: An optional title object used to links to sections. Can be null.
$local: Boolean indicating whether section links should refer to local page.
+$wikiId: String containing the ID (as used by WikiMap) of the wiki from which the
+ autocomment originated; null for the local wiki. Added in 1.26, should default
+ to null in handler functions, for backwards compatibility.
'GalleryGetModes': Get list of classes that can render different modes of a
gallery.
<html lang="en" dir="ltr">
<head>
<link rel="stylesheet" href="../../resources/src/mediawiki.legacy/shared.css">
+ <link rel="stylesheet" href="../../resources/src/mediawiki/mediawiki.feedlink.css">
</head>
<body style="font-size: small;">
* @param string $comment
* @param Title|null $title Title object (to generate link to the section in autocomment) or null
* @param bool $local Whether section links should refer to local page
+ * @param string|null $wikiId Id (as used by WikiMap) of the wiki to generate links to. For use with external changes.
+ *
* @return mixed|string
*/
- public static function formatComment( $comment, $title = null, $local = false ) {
+ public static function formatComment( $comment, $title = null, $local = false, $wikiId = null ) {
# Sanitize text a bit:
$comment = str_replace( "\n", " ", $comment );
$comment = Sanitizer::escapeHtmlAllowEntities( $comment );
# Render autocomments and make links:
- $comment = self::formatAutocomments( $comment, $title, $local );
- $comment = self::formatLinksInComment( $comment, $title, $local );
+ $comment = self::formatAutocomments( $comment, $title, $local, $wikiId );
+ $comment = self::formatLinksInComment( $comment, $title, $local, $wikiId );
return $comment;
}
* @param string $comment Comment text
* @param Title|null $title An optional title object used to links to sections
* @param bool $local Whether section links should refer to local page
- * @return string Formatted comment
+ * @param string|null $wikiId Id of the wiki to link to (if not the local wiki), as used by WikiMap.
+ *
+ * @return string Formatted comment (wikitext)
*/
- private static function formatAutocomments( $comment, $title = null, $local = false ) {
+ private static function formatAutocomments( $comment, $title = null, $local = false, $wikiId = null ) {
// @todo $append here is something of a hack to preserve the status
// quo. Someone who knows more about bidi and such should decide
// (1) what sane rendering even *is* for an LTR edit summary on an RTL
// zero-width assertions optional, so wrap them in a non-capturing
// group.
'!(?:(?<=(.)))?/\*\s*(.*?)\s*\*/(?:(?=(.)))?!',
- function ( $match ) use ( $title, $local, &$append ) {
+ function ( $match ) use ( $title, $local, $wikiId, &$append ) {
global $wgLang;
// Ensure all match positions are defined
$auto = $match[2];
$post = $match[3] !== '';
$comment = null;
- Hooks::run( 'FormatAutocomments', array( &$comment, $pre, $auto, $post, $title, $local ) );
+ Hooks::run( 'FormatAutocomments', array( &$comment, $pre, $auto, $post, $title, $local, $wikiId ) );
if ( $comment === null ) {
$link = '';
if ( $title ) {
$title->getDBkey(), $section );
}
if ( $sectionTitle ) {
- $link = Linker::link( $sectionTitle,
- $wgLang->getArrow(), array(), array(),
- 'noclasses' );
+ $link = Linker::makeCommentLink( $sectionTitle, $wgLang->getArrow(), $wikiId, 'noclasses' );
} else {
$link = '';
}
* @param string $comment Text to format links in
* @param Title|null $title An optional title object used to links to sections
* @param bool $local Whether section links should refer to local page
- * @param string|null $wikiId Id of the wiki to link to (if not the local wiki), as used by WikiMap
+ * @param string|null $wikiId Id of the wiki to link to (if not the local wiki), as used by WikiMap.
*
* @return string
*/
$newTarget = clone ( $title );
$newTarget->setFragment( '#' . $target->getFragment() );
$target = $newTarget;
-
- }
-
- if ( $wikiId !== null ) {
- $thelink = Linker::makeExternalLink(
- WikiMap::getForeignURL( $wikiId, $target->getPrefixedText(), $target->getFragment() ),
- $linkText . $inside,
- /* escape = */ false // Already escaped
- ) . $trail;
- } else {
- $thelink = Linker::link(
- $target,
- $linkText . $inside
- ) . $trail;
}
+ $thelink = Linker::makeCommentLink( $target, $linkText . $inside, $wikiId ) . $trail;
}
}
if ( $thelink ) {
);
}
+ /**
+ * Generates a link to the given Title
+ *
+ * @note This is only public for technical reasons. It's not intended for use outside Linker.
+ *
+ * @param Title $title
+ * @param string $text
+ * @param string|null $wikiId Id of the wiki to link to (if not the local wiki), as used by WikiMap.
+ * @param string|string[] $options See the $options parameter in Linker::link.
+ *
+ * @return string HTML link
+ */
+ public static function makeCommentLink( Title $title, $text, $wikiId = null, $options = array() ) {
+ if ( $wikiId !== null && !$title->isExternal() ) {
+ $link = Linker::makeExternalLink(
+ WikiMap::getForeignURL( $wikiId, $title->getPrefixedText(), $title->getFragment() ),
+ $text,
+ /* escape = */ false // Already escaped
+ );
+ } else {
+ $link = Linker::link( $title, $text, array(), array(), $options );
+ }
+
+ return $link;
+ }
+
/**
* @param Title $contextTitle
* @param string $target
* @param string $comment
* @param Title|null $title Title object (to generate link to section in autocomment) or null
* @param bool $local Whether section links should refer to local page
+ * @param string|null $wikiId Id (as used by WikiMap) of the wiki to generate links to. For use with external changes.
*
* @return string
*/
- public static function commentBlock( $comment, $title = null, $local = false ) {
+ public static function commentBlock( $comment, $title = null, $local = false, $wikiId = null ) {
// '*' used to be the comment inserted by the software way back
// in antiquity in case none was provided, here for backwards
// compatibility, acc. to brion -ævar
if ( $comment == '' || $comment == '*' ) {
return '';
} else {
- $formatted = self::formatComment( $comment, $title, $local );
+ $formatted = self::formatComment( $comment, $title, $local, $wikiId );
$formatted = wfMessage( 'parentheses' )->rawParams( $formatted )->escaped();
return " <span class=\"comment\">$formatted</span>";
}
'title' => $tooltip
) );
}
+
}
/**
Hooks::run( 'UserSaveSettings', array( $this ) );
$this->clearSharedCache();
$this->getUserPage()->invalidateCache();
-
- // T95839: clear the cache again post-commit to reduce race conditions
- // where stale values are written back to the cache by other threads.
- // Note: this *still* doesn't deal with REPEATABLE-READ snapshot lag...
- $that = $this;
- $dbw->onTransactionIdle( function() use ( $that ) {
- $that->clearSharedCache();
- } );
}
/**
$this->protocol = $protocol;
}
- /**
- * @param string $method
- * @throws MWException
- */
- private function notImplemented( $method ) {
- throw new MWException( "{$method}() not implemented" );
- }
-
/**
* @param string $name
* @param string $default
return $this->protocol;
}
- private function initHeaders() {
- return;
- }
-
/**
* @param string $name
* @param string $val
}
/**
- * @param string $default
+ * @param string|array $default
*/
public function setDefault( $default ) {
$this->default = $default;
* label => ( label => value, label => value )
*
* @param array $options
- * @param string $default
+ * @param string|array $default
* @return string
*/
static function formatOptions( $options, $default = false ) {
$contents = self::formatOptions( $value, $default );
$data .= Html::rawElement( 'optgroup', array( 'label' => $label ), $contents ) . "\n";
} else {
- $data .= Xml::option( $label, $value, $value === $default ) . "\n";
+ // If $default is an array, then the <select> probably has the multiple attribute,
+ // so we should check if each $value is in $default, rather than checking if
+ // $value is equal to $default.
+ $selected = is_array( $default ) ? in_array( $value, $default ) : $value === $default;
+ $data .= Xml::option( $label, $value, $selected ) . "\n";
}
}
"apihelp-feedrecentchanges-param-hidebots": "Ocultar los cambios realizados por bots.",
"apihelp-feedrecentchanges-param-hideanons": "Ocultar los cambios realizados por usuarios anónimos.",
"apihelp-feedrecentchanges-param-hideliu": "Ocultar los cambios realizados por usuarios registrados.",
- "apihelp-feedrecentchanges-param-hidepatrolled": "Ocultar los cambios patrullados.",
+ "apihelp-feedrecentchanges-param-hidepatrolled": "Ocultar los cambios verificados.",
"apihelp-feedrecentchanges-param-hidemyself": "Ocultar los cambios realizados por el usuario actual.",
"apihelp-feedrecentchanges-param-tagfilter": "Filtrar por etiquetas.",
"apihelp-feedrecentchanges-param-target": "Mostrar solo los cambios en las páginas enlazadas en esta.",
"apihelp-parse-example-text": "Analizar wikitexto.",
"apihelp-parse-example-texttitle": "Analizar wikitexto, especificando el título de la página.",
"apihelp-parse-example-summary": "Analizar un resumen.",
- "apihelp-patrol-description": "Patrullar una página o revisión.",
- "apihelp-patrol-example-rcid": "Patrullar un cambio reciente",
- "apihelp-patrol-example-revid": "Patrullar una revisión",
+ "apihelp-patrol-description": "Verificar una página o revisión.",
+ "apihelp-patrol-param-rcid": "Identificador de cambios recientes que verificar.",
+ "apihelp-patrol-example-rcid": "Verificar un cambio reciente.",
+ "apihelp-patrol-example-revid": "Verificar una revisión.",
"apihelp-protect-description": "Cambiar el nivel de protección de una página.",
"apihelp-protect-param-title": "Título de la página a (des)proteger. No se puede utilizar con $1pageid.",
"apihelp-protect-param-pageid": "ID de la página a (des)proteger. No se puede utilizar con $1title.",
"apihelp-query+recentchanges-param-prop": "Incluir piezas adicionales de información:",
"apihelp-query+recentchanges-paramvalue-prop-parsedcomment": "Añade el comentario analizado para la edición.",
"apihelp-query+recentchanges-paramvalue-prop-flags": "Añade marcas para la edición.",
- "apihelp-query+recentchanges-paramvalue-prop-patrolled": "Etiqueta ediciones patrullables como patrulladas o no patrulladas.",
+ "apihelp-query+recentchanges-paramvalue-prop-patrolled": "Etiqueta ediciones verificables como verificadas o no verificadas.",
"apihelp-query+recentchanges-param-token": "Usa <kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd> en su lugar.",
"apihelp-query+recentchanges-param-limit": "Cuántos cambios en total se devolverán.",
"apihelp-query+recentchanges-param-type": "Cuántos tipos de cambios se mostrarán.",
"apihelp-query+usercontribs-paramvalue-prop-title": "Agrega el título y el identificador del espacio de nombres de la página.",
"apihelp-query+usercontribs-paramvalue-prop-timestamp": "Añade fecha y hora de la edición.",
"apihelp-query+usercontribs-paramvalue-prop-comment": "Añade el comentario de la edición.",
+ "apihelp-query+usercontribs-paramvalue-prop-patrolled": "Etiqueta ediciones verificadas.",
"apihelp-query+usercontribs-paramvalue-prop-tags": "Lista las etiquetas para la edición.",
+ "apihelp-query+usercontribs-param-show": "Mostrar solo los elementos que coinciden con estos criterios. Por ejemplo, solo ediciones no menores: <kbd>$2show=!minor</kbd>.\n\nSi se establece <kbd>$2show=patrolled</kbd> o <kbd>$2show=!patrolled</kbd>, las revisiones más antiguas que <var>[[mw:Manual:$wgRCMaxAge|$wgRCMaxAge]]</var> ($1 {{PLURAL:$1|segundo|segundos}}) no se mostrarán.",
"apihelp-query+usercontribs-example-user": "Mostrar contribuciones del usuario <kbd>Ejemplo</kbd>.",
"apihelp-query+usercontribs-example-ipprefix": "Mostrar las contribuciones de todas las direcciones IP con el prefijo <kbd>192.0.2.</kbd>.",
"apihelp-query+userinfo-description": "Obtener información sobre el usuario actual.",
"apihelp-query+watchlist-paramvalue-prop-userid": "Añade el identificador de usuario de quien hizo la edición.",
"apihelp-query+watchlist-paramvalue-prop-comment": "Añade el comentario de la edición.",
"apihelp-query+watchlist-paramvalue-prop-timestamp": "Añade fecha y hora de la edición.",
- "apihelp-query+watchlist-paramvalue-prop-patrol": "Etiqueta las ediciones que están patrulladas.",
+ "apihelp-query+watchlist-paramvalue-prop-patrol": "Etiqueta las ediciones que están verificadas.",
"apihelp-query+watchlist-paramvalue-prop-sizes": "Añade la longitud vieja y la nueva de la página.",
"apihelp-query+watchlist-paramvalue-prop-notificationtimestamp": "Añade fecha y hora de cuando el usuario fue notificado por última vez acerca de la edición.",
"apihelp-query+watchlist-paramvalue-prop-loginfo": "Añade información del registro cuando corresponda.",
"api-help-param-type-boolean": "Tipo: booleano/lógico ([[Special:ApiHelp/main#main/datatypes|detalles]])",
"api-help-param-type-timestamp": "Tipo: {{PLURAL:$1|1=timestamp|2=lista de timestamps}} ([[Special:ApiHelp/main#main/datatypes|formatos permitidos]])",
"api-help-param-type-user": "Tipo: {{PLURAL:$1|1=nombre de usuario|2=lista de nombres de usuarios}}",
- "api-help-param-list": "{{PLURAL:$1|1=Un valor|2=Valores (separados por <kbd>{{!}}</kbd>)}}: $2",
+ "api-help-param-list": "{{PLURAL:$1|1=Uno de los siguientes valores|2=Valores (separados por <kbd>{{!}}</kbd>)}}: $2",
"api-help-param-list-can-be-empty": "{{PLURAL:$1|0=Debe estar vacío|Puede estar vacío, o $2}}",
"api-help-param-limit": "No se permite más de $1.",
"api-help-param-limit2": "No se permite más de $1 ($2 para los bots).",
"apihelp-createaccount-param-email": "Endereço de correio eletrónico do utilizador (opcional).",
"apihelp-createaccount-param-realname": "Nome verdadeiro do utilizador (opcional).",
"apihelp-delete-description": "Eliminar uma página.",
- "apihelp-delete-param-watch": "Adicionar a página à lista de vigiadas do utilizador actual.",
- "apihelp-delete-param-unwatch": "Remover a página da lista de vigiadas do utilizador actual.",
+ "apihelp-delete-param-watch": "Adicionar a página à lista de vigiadas do utilizador atual.",
+ "apihelp-delete-param-unwatch": "Remover a página da lista de vigiadas do utilizador atual.",
"apihelp-delete-example-simple": "Eliminar <kbd>Página Principal</kbd>.",
"apihelp-disabled-description": "O módulo foi desativado.",
"apihelp-edit-description": "Criar e editar páginas.",
"apihelp-feedrecentchanges-param-hideminor": "Ocultar edições menores.",
"apihelp-feedrecentchanges-param-hidebots": "Ocultar alterações feitas por robôs.",
"apihelp-feedrecentchanges-param-hidepatrolled": "Ocultar alterações patrulhadas.",
- "apihelp-feedrecentchanges-param-hidemyself": "Ocultar alterações feitas pelo utilizador actual.",
+ "apihelp-feedrecentchanges-param-hidemyself": "Ocultar alterações feitas pelo utilizador atual.",
"apihelp-feedrecentchanges-param-target": "Mostrar apenas mudanças em páginas afluentes a esta.",
"apihelp-feedrecentchanges-example-simple": "Mostrar mudanças recentes",
"apihelp-help-example-main": "Ajuda para o módulo principal",
"config-memory-raised": "A configuração <code>memory_limit</code> do PHP era $1; foi aumentada para $2.",
"config-memory-bad": "'''Aviso:''' A configuração <code>memory_limit</code> do PHP é $1.\nIsto é provavelmente demasiado baixo.\nA instalação poderá falhar!",
"config-ctype": "'''Erro fatal''': O PHP tem de ser compilado com suporte para a [http://www.php.net/manual/en/ctype.installation.php extensão Ctype].",
- "config-iconv": "<strong>Fatal:</strong> PHP deve ser compilado com suporte à [http://www.php.net/manual/en/iconv.installation.php extensão iconv].",
+ "config-iconv": "<strong>Erro fatal:</strong> O PHP deve ser compilado com suporte à [http://www.php.net/manual/en/iconv.installation.php extensão iconv].",
"config-json": "<strong>Erro fatal:</strong> O PHP foi compilado sem suporte de JSON.\nTem de instalar a extensão JSON do PHP (incluída no PHP 5.2 ou posterior) ou a extensão [http://pecl.php.net/package/jsonc PECL jsonc] antes de instalar o MediaWiki.\n* A extensão JSON do PHP está incluída nas distribuções 5 e 6 do Red Hat Enterprise Linux (CentOS), mas tem de estar ativa nos ficheiros <code>/etc/php.ini</code> ou <code>/etc/php.d/json.ini</code>.\n* Algumas distribuições do Linux posteriores a maio de 2013 omitem a extensão JSON do PHP e substituem-na pela extensão PECL chamando-lhe <code>php5-json</code> ou <code>php-pecl-jsonc</code>.",
"config-xcache": "[http://xcache.lighttpd.net/ XCache] instalada",
"config-apc": "[http://www.php.net/apc APC] instalada",
protected function getTagSelect( $selectedTags, $label ) {
$result = array();
$result[0] = Xml::label( $label, 'mw-edittags-tag-list' );
- $result[1] = Xml::openElement( 'select', array(
- 'name' => 'wpTagList[]',
- 'id' => 'mw-edittags-tag-list',
- 'multiple' => 'multiple',
- 'size' => '8',
- ) );
+
+ $select = new XmlSelect( 'wpTagList[]', 'mw-edittags-tag-list', $selectedTags );
+ $select->setAttribute( 'multiple', 'multiple' );
+ $select->setAttribute( 'size', '8' );
$tags = ChangeTags::listExplicitlyDefinedTags();
$tags = array_unique( array_merge( $tags, $selectedTags ) );
- foreach ( $tags as $tag ) {
- $result[1] .= Xml::option( $tag, $tag, in_array( $tag, $selectedTags ) );
- }
- $result[1] .= Xml::closeElement( 'select' );
+ // Values of $tags are also used as <option> labels
+ $select->addOptions( array_combine( $tags, $tags ) );
+
+ $result[1] = $select->getHTML();
return $result;
}
$out = $this->getOutput();
$out->setPageTitle( $this->msg( 'move-page', $this->oldTitle->getPrefixedText() ) );
$out->addModules( 'mediawiki.special.movePage' );
+ $out->addModuleStyles( 'mediawiki.special.movePage.styles' );
$this->addHelpLink( 'Help:Moving a page' );
$newTitle = $this->newTitle;
// is enforced in the mediawiki.special.movePage module
$immovableNamespaces = array();
-
foreach ( array_keys( $this->getLanguage()->getNamespaces() ) as $nsId ) {
if ( !MWNamespace::isMovable( $nsId ) ) {
$immovableNamespaces[] = $nsId;
$handler = ContentHandler::getForTitle( $this->oldTitle );
- $out->addHTML(
- Xml::openElement(
- 'form',
- array(
- 'method' => 'post',
- 'action' => $this->getPageTitle()->getLocalURL( 'action=submit' ),
- 'id' => 'movepage'
- )
- ) .
- Xml::openElement( 'fieldset' ) .
- Xml::element( 'legend', null, $this->msg( 'move-page-legend' )->text() ) .
- Xml::openElement( 'table', array( 'id' => 'mw-movepage-table' ) )
+ $out->enableOOUI();
+ $fields = array();
+
+ $fields[] = new OOUI\FieldLayout(
+ new OOUI\LabelWidget( array(
+ 'label' => new OOUI\HtmlSnippet( "<strong>$oldTitleLink</strong>" )
+ ) ),
+ array(
+ 'label' => $this->msg( 'movearticle' )->text(),
+ 'align' => 'top',
+ )
);
- $out->addHTML(
- "<tr>
- <td class='mw-label'>" .
- $this->msg( 'movearticle' )->escaped() .
- "</td>
- <td class='mw-input'>
- <strong>{$oldTitleLink}</strong>
- </td>
- </tr>
- <tr>
- <td class='mw-label'>" .
- Xml::label( $this->msg( 'newtitle' )->text(), 'wpNewTitleMain' ) .
- "</td>
- <td class='mw-input'>" .
- Html::namespaceSelector(
- array(
- 'selected' => $newTitle->getNamespace(),
- 'exclude' => $immovableNamespaces
- ),
- array( 'name' => 'wpNewTitleNs', 'id' => 'wpNewTitleNs' )
- ) .
- Xml::input(
- 'wpNewTitleMain',
- 60,
- $wgContLang->recodeForEdit( $newTitle->getText() ),
- array(
- 'type' => 'text',
- 'id' => 'wpNewTitleMain',
- 'maxlength' => 255
- )
- ) .
- Html::hidden( 'wpOldTitle', $this->oldTitle->getPrefixedText() ) .
- "</td>
- </tr>
- <tr>
- <td class='mw-label'>" .
- Xml::label( $this->msg( 'movereason' )->text(), 'wpReason' ) .
- "</td>
- <td class='mw-input'>" .
- Xml::input( 'wpReason', 60, $this->reason, array(
- 'type' => 'text',
- 'id' => 'wpReason',
- 'maxlength' => 200,
- ) ) .
- "</td>
- </tr>"
+ $fields[] = new OOUI\FieldLayout(
+ new MediaWiki\Widget\ComplexTitleInputWidget( array(
+ 'id' => 'wpNewTitle',
+ 'namespace' => array(
+ 'id' => 'wpNewTitleNs',
+ 'name' => 'wpNewTitleNs',
+ 'value' => $newTitle->getNamespace(),
+ 'exclude' => $immovableNamespaces,
+ ),
+ 'title' => array(
+ 'id' => 'wpNewTitleMain',
+ 'name' => 'wpNewTitleMain',
+ 'value' => $wgContLang->recodeForEdit( $newTitle->getText() ),
+ // Inappropriate, since we're expecting the user to input a non-existent page's title
+ 'suggestions' => false,
+ ),
+ 'infusable' => true,
+ ) ),
+ array(
+ 'label' => $this->msg( 'newtitle' )->text(),
+ 'align' => 'top',
+ )
+ );
+
+ $fields[] = new OOUI\FieldLayout(
+ new OOUI\TextInputWidget( array(
+ 'name' => 'wpReason',
+ 'id' => 'wpReason',
+ 'maxLength' => 200,
+ 'infusable' => true,
+ ) ),
+ array(
+ 'label' => $this->msg( 'movereason' )->text(),
+ 'align' => 'top',
+ )
);
if ( $considerTalk ) {
- $out->addHTML( "
- <tr>
- <td></td>
- <td class='mw-input'>" .
- Xml::checkLabel(
- $this->msg( 'movetalk' )->text(),
- 'wpMovetalk',
- 'wpMovetalk',
- $this->moveTalk
- ) .
- "</td>
- </tr>"
+ $fields[] = new OOUI\FieldLayout(
+ new OOUI\CheckboxInputWidget( array(
+ 'name' => 'wpMovetalk',
+ 'id' => 'wpMovetalk',
+ 'value' => '1',
+ 'selected' => $this->moveTalk,
+ ) ),
+ array(
+ 'label' => $this->msg( 'movetalk' )->text(),
+ 'align' => 'inline',
+ )
);
}
if ( $user->isAllowed( 'suppressredirect' ) ) {
if ( $handler->supportsRedirects() ) {
$isChecked = $this->leaveRedirect;
- $options = array();
+ $isDisabled = false;
} else {
$isChecked = false;
- $options = array(
- 'disabled' => 'disabled'
- );
+ $isDisabled = true;
}
- $out->addHTML( "
- <tr>
- <td></td>
- <td class='mw-input'>" .
- Xml::checkLabel(
- $this->msg( 'move-leave-redirect' )->text(),
- 'wpLeaveRedirect',
- 'wpLeaveRedirect',
- $isChecked,
- $options
- ) .
- "</td>
- </tr>"
+ $fields[] = new OOUI\FieldLayout(
+ new OOUI\CheckboxInputWidget( array(
+ 'name' => 'wpLeaveRedirect',
+ 'id' => 'wpLeaveRedirect',
+ 'value' => '1',
+ 'selected' => $isChecked,
+ 'disabled' => $isDisabled,
+ ) ),
+ array(
+ 'label' => $this->msg( 'move-leave-redirect' )->text(),
+ 'align' => 'inline',
+ )
);
}
if ( $hasRedirects ) {
- $out->addHTML( "
- <tr>
- <td></td>
- <td class='mw-input'>" .
- Xml::checkLabel(
- $this->msg( 'fix-double-redirects' )->text(),
- 'wpFixRedirects',
- 'wpFixRedirects',
- $this->fixRedirects
- ) .
- "</td>
- </tr>"
+ $fields[] = new OOUI\FieldLayout(
+ new OOUI\CheckboxInputWidget( array(
+ 'name' => 'wpFixRedirects',
+ 'id' => 'wpFixRedirects',
+ 'value' => '1',
+ 'selected' => $this->fixRedirects,
+ ) ),
+ array(
+ 'label' => $this->msg( 'fix-double-redirects' )->text(),
+ 'align' => 'inline',
+ )
);
}
if ( $canMoveSubpage ) {
$maximumMovedPages = $this->getConfig()->get( 'MaximumMovedPages' );
- $out->addHTML( "
- <tr>
- <td></td>
- <td class='mw-input'>" .
- Xml::check(
- 'wpMovesubpages',
- # Don't check the box if we only have talk subpages to
- # move and we aren't moving the talk page.
- $this->moveSubpages && ( $this->oldTitle->hasSubpages() || $this->moveTalk ),
- array( 'id' => 'wpMovesubpages' )
- ) . ' ' .
- Xml::tags(
- 'label',
- array( 'for' => 'wpMovesubpages' ),
- $this->msg(
- ( $this->oldTitle->hasSubpages()
- ? 'move-subpages'
- : 'move-talk-subpages' )
- )->numParams( $maximumMovedPages )->params( $maximumMovedPages )->parse()
- ) .
- "</td>
- </tr>"
+ $fields[] = new OOUI\FieldLayout(
+ new OOUI\CheckboxInputWidget( array(
+ 'name' => 'wpMovesubpages',
+ 'id' => 'wpMovesubpages',
+ 'value' => '1',
+ # Don't check the box if we only have talk subpages to
+ # move and we aren't moving the talk page.
+ 'selected' => $this->moveSubpages && ( $this->oldTitle->hasSubpages() || $this->moveTalk ),
+ ) ),
+ array(
+ 'label' => new OOUI\HtmlSnippet(
+ $this->msg(
+ ( $this->oldTitle->hasSubpages()
+ ? 'move-subpages'
+ : 'move-talk-subpages' )
+ )->numParams( $maximumMovedPages )->params( $maximumMovedPages )->parse()
+ ),
+ 'align' => 'inline',
+ )
);
}
- $watchChecked = $user->isLoggedIn() && ( $this->watch || $user->getBoolOption( 'watchmoves' )
- || $user->isWatched( $this->oldTitle ) );
# Don't allow watching if user is not logged in
if ( $user->isLoggedIn() ) {
- $out->addHTML( "
- <tr>
- <td></td>
- <td class='mw-input'>" .
- Xml::checkLabel(
- $this->msg( 'move-watch' )->text(),
- 'wpWatch',
- 'watch',
- $watchChecked
- ) .
- "</td>
- </tr>"
+ $watchChecked = $user->isLoggedIn() && ( $this->watch || $user->getBoolOption( 'watchmoves' )
+ || $user->isWatched( $this->oldTitle ) );
+ $fields[] = new OOUI\FieldLayout(
+ new OOUI\CheckboxInputWidget( array(
+ 'name' => 'wpWatch',
+ 'id' => 'watch', # ew
+ 'value' => '1',
+ 'selected' => $watchChecked,
+ ) ),
+ array(
+ 'label' => $this->msg( 'move-watch' )->text(),
+ 'align' => 'inline',
+ )
);
}
if ( $confirm ) {
- $out->addHTML( "
- <tr>
- <td></td>
- <td class='mw-input'>" .
- Xml::checkLabel(
- $this->msg( 'delete_and_move_confirm' )->text(),
- 'wpConfirm',
- 'wpConfirm'
- ) .
- "</td>
- </tr>"
+ $watchChecked = $user->isLoggedIn() && ( $this->watch || $user->getBoolOption( 'watchmoves' )
+ || $user->isWatched( $this->oldTitle ) );
+ $fields[] = new OOUI\FieldLayout(
+ new OOUI\CheckboxInputWidget( array(
+ 'name' => 'wpConfirm',
+ 'id' => 'wpConfirm',
+ 'value' => '1',
+ ) ),
+ array(
+ 'label' => $this->msg( 'delete_and_move_confirm' )->text(),
+ 'align' => 'inline',
+ )
);
}
- $out->addHTML( "
- <tr>
- <td></td>
- <td class='mw-submit'>" .
- Xml::submitButton( $movepagebtn, array( 'name' => $submitVar ) ) .
- "</td>
- </tr>"
+ $fields[] = new OOUI\FieldLayout(
+ new OOUI\ButtonInputWidget( array(
+ 'name' => $submitVar,
+ 'value' => $movepagebtn,
+ 'label' => $movepagebtn,
+ 'flags' => array( 'progressive', 'primary' ),
+ 'type' => 'submit',
+ ) ),
+ array(
+ 'align' => 'top',
+ )
+ );
+
+ $fieldset = new OOUI\FieldsetLayout( array(
+ 'label' => $this->msg( 'move-page-legend' )->text(),
+ 'id' => 'mw-movepage-table',
+ 'items' => $fields,
+ ) );
+
+ $form = new OOUI\FormLayout( array(
+ 'method' => 'post',
+ 'action' => $this->getPageTitle()->getLocalURL( 'action=submit' ),
+ 'id' => 'movepage',
+ ) );
+ $form->appendContent(
+ $fieldset,
+ new OOUI\HtmlSnippet(
+ Html::hidden( 'wpOldTitle', $this->oldTitle->getPrefixedText() ) .
+ Html::hidden( 'wpEditToken', $user->getEditToken() )
+ )
);
$out->addHTML(
- Xml::closeElement( 'table' ) .
- Html::hidden( 'wpEditToken', $user->getEditToken() ) .
- Xml::closeElement( 'fieldset' ) .
- Xml::closeElement( 'form' ) .
- "\n"
+ new OOUI\PanelLayout( array(
+ 'classes' => array( 'movepage-wrapper' ),
+ 'expanded' => false,
+ 'padded' => true,
+ 'framed' => true,
+ 'content' => $form,
+ ) )
);
$this->showLogFragment( $this->oldTitle );
--- /dev/null
+<?php
+/**
+ * MediaWiki Widgets – ComplexTitleInputWidget class.
+ *
+ * @copyright 2011-2015 MediaWiki Widgets Team and others; see AUTHORS.txt
+ * @license The MIT License (MIT); see LICENSE.txt
+ */
+namespace MediaWiki\Widget;
+
+/**
+ * Complex title input widget.
+ */
+class ComplexTitleInputWidget extends \OOUI\Widget {
+
+ protected $namespace = null;
+ protected $title = null;
+
+ /**
+ * Like TitleInputWidget, but the namespace has to be input through a separate dropdown field.
+ *
+ * @param array $config Configuration options
+ * @param array $config['namespace'] Configuration for the NamespaceInputWidget dropdown with list
+ * of namespaces
+ * @param array $config['title'] Configuration for the TitleInputWidget text field
+ */
+ public function __construct( array $config = array() ) {
+ // Configuration initialization
+ $config = array_merge(
+ array(
+ 'namespace' => array(),
+ 'title' => array(),
+ ),
+ $config
+ );
+
+ // Parent constructor
+ parent::__construct( $config );
+
+ // Properties
+ $this->config = $config;
+ $this->namespace = new NamespaceInputWidget( $config['namespace'] );
+ $this->title = new TitleInputWidget( array_merge(
+ $config['title'],
+ array(
+ // The inner TitleInputWidget shouldn't be infusable, only the ComplexTitleInputWidget itself can be.
+ 'infusable' => false,
+ 'relative' => true,
+ 'namespace' => isset( $config['namespace']['value'] ) ? $config['namespace']['value'] : null,
+ )
+ ) );
+
+ // Initialization
+ $this
+ ->addClasses( array( 'mw-widget-complexTitleInputWidget' ) )
+ ->appendContent( $this->namespace, $this->title );
+ }
+
+ protected function getJavaScriptClassName() {
+ return 'mw.widgets.ComplexTitleInputWidget';
+ }
+
+ public function getConfig( &$config ) {
+ $config['namespace'] = $this->config['namespace'];
+ $config['title'] = $this->config['title'];
+ return parent::getConfig( $config );
+ }
+}
* @param array $config Configuration options
* @param string $config['includeAllValue'] If specified, add a "all namespaces" option to the
* namespace dropdown, and use this as the input value for it
+ * @param number[] $config['exclude'] List of namespace numbers to exclude from the selector
*/
public function __construct( array $config = array() ) {
// Configuration initialization
// Properties
$this->includeAllValue = isset( $config['includeAllValue'] ) ? $config['includeAllValue'] : null;
+ $this->exclude = isset( $config['exclude'] ) ? $config['exclude'] : array();
// Initialization
$this->addClasses( array( 'mw-widget-namespaceInputWidget' ) );
}
protected function getNamespaceDropdownOptions( array $config ) {
- $namespaceOptionsParams = isset( $config['includeAllValue'] ) ?
- array( 'all' => $config['includeAllValue'] ) : array();
+ $namespaceOptionsParams = array(
+ 'all' => isset( $config['includeAllValue'] ) ? $config['includeAllValue'] : null,
+ 'exclude' => isset( $config['exclude'] ) ? $config['exclude'] : null
+ );
$namespaceOptions = \Html::namespaceSelectorOptions( $namespaceOptionsParams );
$options = array();
public function getConfig( &$config ) {
$config['includeAllValue'] = $this->includeAllValue;
+ $config['exclude'] = $this->exclude;
// Skip DropdownInputWidget's getConfig(), we don't need 'options' config
return \OOUI\InputWidget::getConfig( $config );
}
"tags-edit-remove": "Выдаліць гэтыя меткі:",
"tags-edit-remove-all-tags": "(выдаліць усе меткі)",
"tags-edit-chosen-placeholder": "Абярыце меткі",
+ "tags-edit-chosen-no-results": "Адпаведныя меткі ня знойдзеныя",
"comparepages": "Параўнаньне старонак",
"compare-page1": "Старонка 1",
"compare-page2": "Старонка 2",
"sp-contributions-toponly": "تەنیا ئەو دەستکارییانە نیشان بدە کە دوایین پێداچوونەوەن",
"sp-contributions-newonly": "تەنیا ئەو دەستکارییانە نیشان بدە کە دروستکردنی پەڕەن",
"sp-contributions-submit": "بگەڕێ",
- "whatlinkshere": "پەیوەندیدار بە ئێرەوە",
+ "whatlinkshere": "بەستەرەکان بە ئێرەوە",
"whatlinkshere-title": "ئەو پەڕانەی بەستەریان ھەیە بۆ «$1»",
"whatlinkshere-page": "پەڕە:",
"linkshere": "پەڕەکانی ژێرەوە بەستەر دراون بۆ <strong>[[:$1]]</strong>:",
"gender-unknown": "„Der Benutzer“, „seine Diskussion“, „er bearbeitet“ usw.",
"gender-male": "„Der Benutzer“, „seine Diskussion“, „er bearbeitet“ usw. (männlich)",
"gender-female": "„Die Benutzerin“, „ihre Diskussion“, „sie bearbeitet“ usw. (weiblich)",
- "prefs-help-gender": "Dies ist eine freiwillige Angabe.\nDie Software nutzt sie, um dich mit dem zutreffenden grammatikalischen Geschlecht anzureden oder gegenüber anderen zu erwähnen.\nDiese Information ist öffentlich zugänglich.\n\nBei der ersten Option wird das generische Maskulinum verwendet, so dass sich das gleiche Resultat ergibt wie bei der dritten Option.",
+ "prefs-help-gender": "Dies ist eine freiwillige Angabe.\nDie Software nutzt sie, um dich mit dem zutreffenden grammatikalischen Geschlecht anzureden oder gegenüber anderen zu erwähnen.\nDiese Information ist öffentlich zugänglich.",
"email": "E-Mail",
"prefs-help-realname": "Der bürgerliche Name ist optional.\nFalls angegeben, kann er verwendet werden, um dir eine Zuordnung für deine Beiträge zu geben.",
"prefs-help-email": "Die Angabe einer E-Mail-Adresse ist optional, ermöglicht aber die Zusendung eines Ersatzpasswortes, sofern du dein Passwort vergessen hast.",
"spam_blanking": "Όλες οι αναθεωρήσεις περιείχαν συνδέσμους προς το $1, εξάλειψη",
"spam_deleting": "Διαγραφή όλων των αναθεωρήσεων που περιείχαν συνδέσμους προς το $1",
"simpleantispam-label": "Έλεγχος για spam.\n<strong>Μην</strong> το συμπληρώσετε αυτό!",
- "pageinfo-title": "Πληροφορίες για \"$1\"",
+ "pageinfo-title": "Πληροφορίες για «$1»",
"pageinfo-not-current": "Μας συγχωρείτε, είναι αδύνατο να παράσχουμε αυτή την πληροφορία για παλιές αναθεωρήσεις.",
"pageinfo-header-basic": "Βασικές πληροφορίες",
"pageinfo-header-edits": "Ιστορικό επεξεργασίας",
"pageinfo-recent-authors": "Πρόσφατος αριθμός μοναδικών συντακτών",
"pageinfo-magic-words": "{{PLURAL:$1|Μαγική λέξη|Μαγικές λέξεις}} ($1)",
"pageinfo-hidden-categories": "{{PLURAL:$1|Κρυφή κατηγορία|Κρυφές κατηγορίες}} ($1)",
- "pageinfo-templates": "Ενσωματωμένα {{PLURAL:$1|πρότυπο|πρότυπα}} ($1)",
- "pageinfo-transclusions": "{{PLURAL:$1|Î\97 Ï\83ελίδα ενÏ\83Ï\89μαÏ\84Ï\8eνεÏ\84αι|Î\9fι Ï\83ελίδεÏ\82 ενÏ\83Ï\89μαÏ\84Ï\8eνονÏ\84αι}} Ï\83ε ($1)",
+ "pageinfo-templates": "{{PLURAL:$1|Ενσωματωμένο πρότυπο|Ενσωματωμένα πρότυπα}} ($1)",
+ "pageinfo-transclusions": "{{PLURAL:$1|Σελίδα Ï\83Ï\84ην οÏ\80οία|ΣελίδεÏ\82 Ï\83Ï\84ιÏ\82 οÏ\80οίεÏ\82}} ενÏ\83Ï\89μαÏ\84Ï\8eνεÏ\84αι ($1)",
"pageinfo-toolboxlink": "Πληροφορίες σελίδας",
- "pageinfo-redirectsto": "Ανακατευθύνσεις σε",
+ "pageinfo-redirectsto": "Ανακατευθύνει σε",
"pageinfo-redirectsto-info": "πληροφορίες",
- "pageinfo-contentpage": "Î¥Ï\80ολογίζονÏ\84αι Ï\89Ï\82 Ï\83ελίδεÏ\82 περιεχομένου",
+ "pageinfo-contentpage": "Î\9aαÏ\84αμεÏ\84Ï\81άÏ\84αι Ï\89Ï\82 Ï\83ελίδα περιεχομένου",
"pageinfo-contentpage-yes": "Ναι",
"pageinfo-protect-cascading": "Οι προστασίες ξεκινούν τη διαδοχή τους από εδώ",
"pageinfo-protect-cascading-yes": "Ναι",
"special-characters-title-endash": "παύλα",
"special-characters-title-emdash": "διπλή παύλα",
"special-characters-title-minus": "σύμβολο πλην",
+ "mw-widgets-dateinput-no-date": "Καμία ημερομηνία δεν επιλέχθηκε",
"mw-widgets-dateinput-placeholder-day": "ΕΕΕΕ-ΜΜ-ΗΗ",
"mw-widgets-dateinput-placeholder-month": "ΕΕΕΕ-ΜΜ",
+ "mw-widgets-titleinput-description-new-page": "η σελίδα που δεν υπάρχει ακόμα",
"mw-widgets-titleinput-description-redirect": "ανακατεύθυνση στο $1"
}
"tog-underline": "Subrayar los enlaces:",
"tog-hideminor": "Ocultar las ediciones menores de los cambios recientes",
"tog-hidepatrolled": "Ocultar las ediciones verificadas de los cambios recientes",
- "tog-newpageshidepatrolled": "Ocultar las páginas patrulladas en la lista de páginas nuevas",
+ "tog-newpageshidepatrolled": "Ocultar las páginas verificadas de la lista de páginas nuevas",
"tog-extendwatchlist": "Mostrar todos los cambios en la lista de seguimiento, no solo los más recientes",
"tog-usenewrc": "Agrupar los cambios por página en los cambios recientes y en la lista de seguimiento",
"tog-numberheadings": "Numerar automáticamente los encabezados",
"markedaspatrolledtext": "La revisión seleccionada de [[:$1|$1]] ha sido marcada como verificada.",
"rcpatroldisabled": "Se ha desactivado la supervisión de cambios recientes",
"rcpatroldisabledtext": "La capacidad de verificar los cambios recientes está deshabilitada en este momento.",
- "markedaspatrollederror": "No se puede marcar como patrullada",
+ "markedaspatrollederror": "No se puede marcar como verificada",
"markedaspatrollederrortext": "Debes especificar una revisión para marcarla como verificada.",
"markedaspatrollederror-noautopatrol": "No tienes permisos para marcar tus propios cambios como verificados.",
"markedaspatrollednotify": "Este cambio realizado en $1 se ha marcado como verificado.",
"booksources-text": "Alla linkkejä ulkopuolisiin sivustoihin, joilla myydään uusia ja käytettyjä kirjoja. Sivuilla voi myös olla lisätietoa kirjoista.",
"booksources-invalid-isbn": "Annettu ISBN-numero ei ole kelvollinen. Tarkista alkuperäisestä lähteestä kirjoitusvirheiden varalta.",
"specialloguserlabel": "Suorittaja:",
- "speciallogtitlelabel": "Kohde (sivu tai {{ns:user}}:käyttäjänimi käyttäjää varten):",
+ "speciallogtitlelabel": "Kohde (sivu tai {{ns:user}}:käyttäjänimi):",
"log": "Lokit",
"all-logs-page": "Kaikki julkiset lokit",
"alllogstext": "Tämä on yhdistetty lokien näyttö.\nVoit rajoittaa listaa valitsemalla lokityypin, käyttäjän tai sivun johon muutos on kohdistunut. Jälkimmäiset ovat kirjainkokoherkkiä.",
"page_last": "Ändi",
"histlegend": "Du chasch zwei Versionen uswähle und verglyche.<br />\nErklärig: (aktuell) = Underschid zu jetz,\n(vorane) = Underschid zur alte Version, <strong>K</strong> = chlyni Änderig",
"history-fieldset-title": "Suech in dr Versionsgschicht",
- "history-show-deleted": "nume gleschti Versione",
+ "history-show-deleted": "Nume gleschti Versione",
"histfirst": "eltischti",
"histlast": "neischti",
"historysize": "({{PLURAL:$1|1 Byte|$1 Bytes}})",
"changecontentmodel-title-label": "Sytetitel",
"changecontentmodel-model-label": "Nöüs Inhaltsmodäll",
"changecontentmodel-reason-label": "Grund:",
+ "changecontentmodel-success-title": "Ds Inhaltsmodäll het g’änderet",
+ "changecontentmodel-success-text": "Der Inhaltstyp vo [[:$1]] het g’änderet.",
+ "changecontentmodel-cannot-convert": "Der Inhalt vo [[:$1]] lat sech nid zum Typ $2 la konvertiere.",
+ "changecontentmodel-nodirectediting": "Ds Inhaltsmodäll «$1» lat ds diräkte Bearbeite nid zue",
+ "log-name-contentmodel": "Protokoll vo Inhaltsmodälländerige",
+ "log-description-contentmodel": "Ereignis, wo mit em Inhaltsmodäll von ere Syte z tüe hei",
+ "logentry-contentmodel-change": "{{GENDER:$2|Der $1|D $1|$1}} het ds Inhaltsmodäll vor Syte $3 g’änderet vo «$4» uf «$5»",
+ "logentry-contentmodel-change-revertlink": "zrüggsetze",
+ "logentry-contentmodel-change-revert": "zrüggsetze",
"protectlogpage": "Syteschutz-Logbuech",
"protectlogtext": "Des isch s Syteschutz-Logbuech.\nLueg d [[Special:ProtectedPages|Lischt vu dr gschitzte Syte]] fir alli zurzyt gschitzte Syte.",
"protectedarticle": "het „[[$1]]“ gschitzt",
"protect-locked-blocked": "Du chasch dr Syteschutz nit ändere, wel Dyy Benutzerkonto gsperrt isch. Do sin di aktuälle Syteschutz-Yystellige fir d Syte '''„$1“:'''",
"protect-locked-dblock": "D Datebank isch gsperrt, dr Syteschutz cha wäge däm nit gänderet wäre. Doo sin di aktuälle Syteschutz-Yystellige fir d Syte '''„$1“:'''",
"protect-locked-access": "Dys Konto het nid di nötige Rächt, für der Schutzstatus z ändere.\nHie sy di aktuelle Schutzystellige vor Syte '''$1''':",
- "protect-cascadeon": "Die Syten isch gschützt, wil si {{PLURAL:$1|zur folgende Syte|zu de folgende Syte}} ghört, wo derfür e Kaskadesperrig gilt.\nDer Schutzstatus vo dere Syte lat sech la ändere, aber das het kei Yfluss uf d Kaskadesperrig.",
+ "protect-cascadeon": "Die Syten isch gschützt, wil si i {{PLURAL:$1|der|de}} folgende Syten y’bunden isch, wo derfür e Kaskadesperrig gilt.\nÄnderigen am Schutzstatus vo dere Syte hei kei Yfluss uf d Kaskadesperrig.",
"protect-default": "Alle Benutzer",
"protect-fallback": "Nume Benutzer mit dr „$1“-Berächtigung erlaube.",
"protect-level-autoconfirmed": "Nume automatisch bstetigte Benutzer erlaube",
"protect-othertime": "Anderi Sperrduur:",
"protect-othertime-op": "anderi Sperrduur",
"protect-existing-expiry": "Aktuälls Syteschutzänd: $2, $3 Uhr",
+ "protect-existing-expiry-infinity": "Momentani Ablouffzyt: unbeschränkt",
"protect-otherreason": "Andere/zuesätzlige Grund:",
"protect-otherreason-op": "Andere Grund",
"protect-dropdown": "*Allgmeini Schutzgrind\n** Link-Spam\n** Editwar\n** Vylmol yybundeni Vorlag\n** Syte mit ere hoche Bsuecherzahl",
"undeletepagetext": "Die {{PLURAL:$1|Syte isch glescht wore un cha|$1 Syte sin glescht wore un chenne}} vu Ammanne widerhärgstellt wäre:",
"undelete-fieldset-title": "Widerhärstelle",
"undeleteextrahelp": "* Go d Syte ganz mit allene Versione widerhärzstelle, wehl kei Version us, gib e Begrindig aa un druck uf „{{int:undeletebtn}}“.\n* Mechtsch nume bstimmti Versione widerhärstelle, no wehl die bitte einzeln no dr Markierige us, gib e Begrindig aa un druck derno uf „{{int:undeletebtn}}“..",
- "undeleterevisions": "{{PLURAL:$1|1 Version|$1 Versione}} archiviert",
+ "undeleterevisions": "$1 {{PLURAL:$1|Version|Versione}} glöscht",
"undeletehistory": "Wänn Du die Syte widerhärstellsch, wäre au alli alte Versione widerhärgstellt.\nWänn syt dr Leschig e neiji Syte mit em glyche Name aagleit woren isch, no wäre di widerhärgstellte Versione chronologisch in d Versionsgschicht yygordnet.",
"undeleterevdel": "D Widerhärstellig wird nit durgfiert, wänn di neijscht Version versteckt isch oder s versteckti Teil dinne het.\nIn däm Fall darf di neijscht Version nit markiert wäre oder ihre Status muess uf normali Version gänderet wäre.",
"undeletehistorynoadmin": "Dä Artikel isch glescht wore. Dr Grund fir d Leschig isch in dr Zämmefassig aagee, derzue au Aagaabe zum letschte Benutzer, wu dä Artikel bearbeitet het vor dr Leschig. Dr aktuäll Täxt vum gleschte Artikel isch nume zuegängli fir Ammanne.",
"namespace": "Namensruum:",
"invert": "Uswahl umkehre",
"tooltip-invert": "Des Chäschtli aaklicke go Änderige im gwehlte Namensruum un, wänn uusgwehlt, im zuegherige Namensruum uusblände",
+ "tooltip-whatlinkshere-invert": "Tue das Chästli abhääggle, für kener Links vo Syten us em usgwählte Namensruum z zeige.",
"namespace_association": "Zuegordnete Namensruum",
"tooltip-namespace_association": "Des Chäschtli aaklicke go dr Diskussionsnamensruum oder dr Namesnruum zuesätzlig mityybezie, wu zue Dyre Uuswahl derzue ghert.",
"blanknamespace": "(Haupt-)",
"contributions-title": "Benutzerbyytreg vu „$1“",
"mycontris": "Myyni Byyträg",
"contribsub2": "Vu {{GENDER:$3|$1}} ($2)",
+ "contributions-userdoesnotexist": "Ds Benutzerkonto «$1» isch nid registriert.",
"nocontribs": "S sin keini Benutzerbyytreg mit däne Kriterie gfunde wore.",
"uctop": "(aktuell)",
"month": "u Monet:",
"sp-contributions-newbies-sub": "vo nöji Benützer",
"sp-contributions-newbies-title": "Benutzerbyytreg vu neije Benutzer",
"sp-contributions-blocklog": "Sperrlogbuech",
+ "sp-contributions-suppresslog": "underdrückti Benutzerbyträg",
"sp-contributions-deleted": "gleschti Bytreg",
"sp-contributions-uploads": "Uffegladeni Dateie",
"sp-contributions-logs": "Logbiecher",
"sp-contributions-blocked-notice-anon": "Die IP-Adräss isch zur Zyt gsperrt.\nDo chunnt dr aktuäll Yytrag us em Benutzersperr-Logbuech:",
"sp-contributions-search": "Suech no Benutzerbiträg",
"sp-contributions-username": "IP-Adress oder Benutzername:",
- "sp-contributions-toponly": "Nume aktuälli Versione zeige",
+ "sp-contributions-toponly": "Nume Byträg zeige, won en aktuelli Version sy",
+ "sp-contributions-newonly": "Nume Byträg zeige, wo e nöüi Syte hei agleit",
"sp-contributions-submit": "Sueche",
"whatlinkshere": "Was verwyst do druff?",
"whatlinkshere-title": "Sytene, wo uf „$1“ verlinke",
"autoblockid": "Automatischi Sperrig #$1",
"block": "Benutzer sperre",
"unblock": "Benutzer frejgee",
- "blockip": "Däm Binutzer d Bearbeitigsrächt furtnee",
+ "blockip": "{{GENDER:$1|Benutzer|Benutzerin}} sperre",
"blockip-legend": "IP-Adräss/Benutzer sperre",
"blockiptext": "Nimm des Formular go ne Benutzer oder e IP-Adräss sperre.\nDes sott numme erfolge go Vandalismus verhindere un in Ibereinstimmig mit in dr [[{{MediaWiki:Policy-url}}|Leitlinie]]. Bitte gib au ne Grund fi d Sperri aa (z. B. indäm du einzel ni Syte zitiersch, wu vandaliert wore sin).",
"ipaddressorusername": "IP-Adräss oder Benutzername:",
"blockipsuccesstext": "Dr Benutzer/d IP-Adräss [[Special:Contributions/$1|$1]] isch gsperrt wore.<br />\nGo d Sperri ufhebe lueg d [[Special:BlockList|Lisch vu allene aktive Sperrine]].",
"ipb-blockingself": "Du bist grad am Sperre vu Dir sälber! Wettsch des wirkli mache?",
"ipb-confirmhideuser": "Du bist grad am Sperre vun eme Benutzer im Modus „Benutzer verstecke“. Des fiert derzue, ass dr Benutzername in allne Lischten un Logbiecher unterdruckt wird. Wettsch des wirkli mache?",
+ "ipb-confirmaction": "We du dir sicher bisch, das d’s würklech wosch mache, de tue bitte unde ds Fäld «{{int:ipb-confirm}}» achrüzle.",
"ipb-edit-dropdown": "Sperrgrind bearbeite",
"ipb-unblock-addr": "„$1“ frejgee",
"ipb-unblock": "IP-Adräss/Benutzer frejgee",
"ipb-blocklist": "Alli aktuälle Sperrine aazeige",
- "ipb-blocklist-contribs": "Benutzerbyytreg fir „$1“",
+ "ipb-blocklist-contribs": "Benutzerbyträg {{GENDER:$1|vom|vor|vo}} $1",
"unblockip": "IP-Adräss frejgee",
"unblockiptext": "Mit däm Formular chasch e IP-Adräss oder e Benutzer frejgee.",
"ipusubmit": "Die Sperri useneh",
"unblocked": "[[User:$1|$1]] isch frejgee wore",
"unblocked-range": "D Sperri fir $1 isch ufghobe",
"unblocked-id": "Sperr-ID $1 isch freijgee wore",
+ "unblocked-ip": "[[Special:Contributions/$1|$1]] isch nümm gsperrt.",
"blocklist": "Gsperrti Benutzer",
"ipblocklist": "Gsperrti Benutzer",
"ipblocklist-legend": "Suech no eme gsperrte Benutzer",
"change-blocklink": "Sperri ändere",
"contribslink": "Byträg",
"emaillink": "E-Mail abschicke",
- "autoblocker": "Automatischi Sperri, wel Du e gmeinsami IP-Adräss mit [[User:$1|Benutzer:$1]] bruchsch. Grund: „$2“.",
+ "autoblocker": "Automatischi Sperrig, wil dyni IP-Adrässe chürzlech vo [[User:$1|Benutzer:$1]] isch ’bruucht worde. Grund für d Sperrig vo $1: «$2».",
"blocklogpage": "Sperrigs-Protokoll",
"blocklog-showlog": "Dää Benutzer isch schon emol gsperrt wore. S Sperrine-Logbuech git s do as Referänz:",
"blocklog-showsuppresslog": "Dää Benutzer isch schon emol gsperrt wore un syyni Bearbeitige sin uusblädet wore. S Uusbländigs-Logbuech git s do as Referänz:",
"proxyblockreason": "Dyni IP-Adrässe isch gsperrt wore, wel si ne ufige Proxy isch. Bitte kontaktier Dyyn Internet-Provider oder Dyni Systemadministratore un informier si iber des Sicherheitsproblem.",
"sorbsreason": "D IP-Adräss isch in dr DNSBL vu {{SITENAME}} as uffige PROXY glischtet.",
"sorbs_create_account_reason": "D IP-Adräss isch in dr DNSBL vu {{SITENAME}} as uffige PROXY glischtet. S Aalege vu neije Benutzer isch nit megli.",
+ "xffblockreason": "En IP-Adrässen im Header «X-Forwarded-For» isch gsperrt worde, entweder dyni oder die vomene Proxy-Server, wo du bruuchsch. Der ursprünglechi Grund für d Sperrig isch: $1",
"cant-see-hidden-user": "Dr Benutzer, wu Du versuechsch z sperre, isch scho gsperrt un versteckt wore. Du chasch d Sperri vu däm Benutzer nit säh oder bearbeite, wel du s „hideuser“-Rächt nit hesch.",
"ipbblocked": "Du chasch keini andere Benutzer sperre oder entsperre, wel Du sälber gsperrt bisch",
"ipbnounblockself": "Du derfsch di nit sälber entsperre",
"movepagetalktext": "D Diskussionssyte wird mitverschobe, '''ussert:'''\n*Du verschiebsch d Syten i nen andere Namensruum, oder\n*es git scho ne Diskussionssyte mit däm Namen oder\n*du wählsch unte d Option, se nid z verschiebe.\n\nI söttigne Fäll müessti d Diskussionssyten allefalls vo Hand kopiert wärde.",
"movearticle": "Artikel verschiebe",
"moveuserpage-warning": "'''Warnig:''' Du bis am Verschiebe vun ere Benutzersyte. Bitte gib Achtig, ass doderdur nume die Syte verschobe wird, aber dr Benutzer '''nit''' umgnännt wird.",
+ "movecategorypage-warning": "<strong>Obacht:</strong> Du bisch e Kategoriesyten am Verschiebe. Bitte dänk dra, das nume die Syte verschobe wird. D Syte, wo zur alte Kategorie ghöre, wärde <strong>nid</strong> i di nöüi Kategorie verschobe.",
"movenologintext": "Du muesch e regischtrierte Benutzer syy un Di [[Special:UserLogin|aamälde]] go die Syte verschiebe.",
"movenotallowed": "Du derfsch kei Syte verschiebe.",
"movenotallowedfile": "Du derfsch kei Dateie verschiebe.",
"cant-move-user-page": "Du derfsch kei Benutzersyte verschiebe (mit Usnaam vo Untersyte).",
"cant-move-to-user-page": "Du derfsch kei Syte uf e Benutzersyte verschiebe (mit Usnaam vo Untersyte).",
+ "cant-move-category-page": "Du hesch nid ds Rächt, Kategoriesyte z verschiebe.",
+ "cant-move-to-category-page": "Du hesch nid ds Rächt, e Syte zunere Kategoriesyte z verschiebe.",
"newtitle": "Zum nöie Titel",
"move-watch": "Die Syte beobachte",
"movepagebtn": "Artikel verschiebe",
"allmessages-prefix": "Präfixfilter:",
"allmessages-language": "Sproch:",
"allmessages-filter-submit": "Gang",
+ "allmessages-filter-translate": "Übersetze",
"thumbnail-more": "Vergreßere",
"filemissing": "D Datei fäält",
"thumbnail_error": "Fähler bir Härstellig vo re Vorschou: $1",
+ "thumbnail_error_remote": "Fälermäldig vo $1:\n$2",
"djvu_page_error": "DjVu-Syte isch uusserhalb vum Sytebereich",
"djvu_no_xml": "XML-Date chönne für d DjVu-Datei nüt abgruefe werde",
"thumbnail-temp-create": "D Datei fir di temporär Miniaturaasicht het nit chenne aagleit wäre.",
"thumbnail-dest-create": "D Miniaturaasicht het nit chenne an däm Ort gspycheret wäre.",
"thumbnail_invalid_params": "Ungültigs Thumbnail-Parameter",
+ "thumbnail_toobigimagearea": "Dateiabmässig überschrytet $1",
"thumbnail_dest_directory": "S Ziilverzeichnis cha nüt erstellt werde",
"thumbnail_image-type": "Bildtyp wird nit unterstitzt",
"thumbnail_gd-library": "Uuvollständigi GD-Library-Konfiguration: Funktion $1 fählt",
"thumbnail_image-missing": "Datei fählt schyns: $1",
+ "thumbnail_image-failure-limit": "Ir letsti het’s z vil misslungnigi Versüech ’gä (mindistens $1), das Vorschoubild z rendere. Bitte versuech’s später wider.",
"import": "Sytene importiere",
- "importinterwiki": "Transwiki-Import",
- "import-interwiki-text": "Wääl e Wiki un e Syte zum Importiere us.\nS Datum vo dr Bearbeitig un dr Benutzername blybe erhalte.\nAlli Transwiki-Import-Aktione werde im [[Special:Log/import|Import-Logbuech]] protokolliert.",
+ "importinterwiki": "Us emnen andere Wiki importiere",
+ "import-interwiki-text": "Wääl e Wiki un e Syte zum Importiere us.\nS Datum vo de Bearbeitige un d Benutzernäme blybe erhalte.\nAlli Import-Aktione us anderne Wiki werde im [[Special:Log/import|Import-Logbuech]] protokolliert.",
+ "import-interwiki-sourcewiki": "Ursprünglechs Wiki:",
+ "import-interwiki-sourcepage": "Ursprünglechi Syte:",
"import-interwiki-history": "Alli früeneri Versione vo dere Syte importiere",
"import-interwiki-templates": "Mit allene Vorlage",
"import-interwiki-submit": "Import",
+ "import-mapping-default": "Zu de Standard-Orten importiere",
+ "import-mapping-namespace": "In e Namensruum importiere:",
+ "import-mapping-subpage": "Als Undersyte vor folgende Syten importiere:",
"import-upload-filename": "Dateiname:",
"import-comment": "Grund:",
"importtext": "Datei iber d Spezialsyte [[Special:Export|Exportfunktion]] us em Quellwiki exportiere.\nDie uf em lokale Rächner spychere un derno do uffelade.",
"importcantopen": "D Importdatei het nit chenne ufgmacht wäre.",
"importbadinterwiki": "Falscher Interwiki-Link",
"importsuccess": "Dr Import isch abgschlosse.",
- "importnosources": "Für de Transwiki-Import sin kei Quelle definiert worde. Wege dem isch s direkte Ufelade vo Gschichtsversione gsperrt.",
+ "importnosources": "Es isch kes Wiki a’gä worde, wo druus söll importiert wärde, u ds diräkten Ufelade vo Versionsgschichten isch deaktiviert.",
"importnofile": "Es isch kei Importdatei ufeglade worde.",
"importuploaderrorsize": "S Ufelade vo dr Importdatei isch misslunge. D Datei isch grösser als erlaubt isch.",
"importuploaderrorpartial": "S Ufelade vo dr Importdatei isch misslunge. D Datei het numme zum Deil chönne ufeglade werde.",
"importuploaderrortemp": "S Ufelade vo dr Importdatei isch misslunge. E temporärs Verzeichnis fäält.",
"import-parse-failure": "Fääler bim XML-Import:",
"import-noarticle": "Du hesch kei Syte zum importiere aagää!",
- "import-nonewrevisions": "Es sin scho alli früeneri Versione importiert worde.",
+ "import-nonewrevisions": "Es sy kener Versionen importiert worde (entweder sy si scho alli da gsy oder es het e Fähler ’gä).",
"xml-error-string": "$1 Zeile $2, Spalte $3, (Byte $4): $5",
"import-upload": "XML-Date ufelade",
"import-token-mismatch": "D Sitzigsdate sin verlore gange. Bitte versuech es noo emool.",
"import-error-create": "Die Syte „$1“ isch nit importiert worde, wyl du nit dezue berächtigt bisch, si z erstelle.",
"import-error-interwiki": "D Syte „$1“ isch nit importiert wore, wel dr Name vun ere fir externi Link (Interwiki) reserviert isch.",
"import-error-special": "D Syte „$1“ isch nit importiert wore, wel si zuen eme bsundere Namensruum ghert, wu kei Syte megli sin.",
- "import-error-invalid": "Syte „$1“ isch nit importiert wore, wel dr Name vun ere nit giltig isch.",
+ "import-error-invalid": "D Syte «$1» isch nid importiert worde, wil der Name, wo si hätt söllen übercho, i däm Wiki nid gültig isch.",
"import-error-unserialize": "D Version $2 vu dr Syte „$1“ het nit chenne deserialisiert wäre. D Version isch fir d Verwändig vum Inhaltsmodäll $3 gmäldet wore, wu as $4 serialisiert isch.",
+ "import-error-bad-location": "D Version $2 mit em Inhaltsmodäll $3 lat sech i däm Wiki nid under «$1» la spychere, wil das Inhaltsmodäll uf dere Syte nid understützt isch.",
"import-options-wrong": "Falschi {{PLURAL:$2|Option|Optione}}: <nowiki>$1</nowiki>",
"import-rootpage-invalid": "Dää Stammsytename isch nit giltig.",
"import-rootpage-nosubpage": "Im Namensruum „$1“ vu dr Stammsyte sin kei Untersyte erlaubt.",
"importlogpage": "Import-Logbuech",
"importlogpagetext": "Adminischtrativer Import vo Sytene mit Versionsgschichte us anderi Wikis.",
- "import-logentry-upload-detail": "$1 {{PLURAL:$1|Vérsion|Vérsiona}}",
- "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|Version|Versione}} vo $2",
+ "import-logentry-upload-detail": "$1 {{PLURAL:$1|Version|Versionen}} importiert",
+ "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|Version|Versione}} us $2 importiert",
"javascripttest": "JavaScript-Tescht",
"javascripttest-pagetext-noframework": "Die Syte isch reserviert fir JavaSkript-Tescht.",
"javascripttest-pagetext-unknownframework": "Nit bekannt Framework „$1“.",
+ "javascripttest-pagetext-unknownaction": "Unbekannti Aktion «$1».",
"javascripttest-pagetext-frameworks": "Bitte eis vu däne Framework uuswehle: $1",
"javascripttest-pagetext-skins": "Wehl e Benutzeroberflechi uus fir d Durfierig vu dr Tescht:",
"javascripttest-qunit-intro": "Lueg d [$1 Dokumentation zue Tescht] uf mediawiki.org",
"tooltip-feed-atom": "Atom-Feed für selli Syte",
"tooltip-t-contributions": "Lischte vo de Byträg vo däm Benutzer",
"tooltip-t-emailuser": "Schick däm Benutzer e E-Bost",
+ "tooltip-t-info": "Meh Informationen über die Syte",
"tooltip-t-upload": "Dateien ufelade",
"tooltip-t-specialpages": "Lischte vo allne Spezialsyte",
"tooltip-t-print": "E Version vo dere Syte zum Usdrugge.",
"pageinfo-length": "Sytelengi (in Byte)",
"pageinfo-article-id": "Syten-ID",
"pageinfo-language": "Syteninhaltssproch",
+ "pageinfo-content-model": "Syteninhaltsmodäll",
"pageinfo-robot-policy": "Indexierig dur Suechmaschine",
"pageinfo-robot-index": "Erlaubt",
"pageinfo-robot-noindex": "Nit erlaubt",
"pageinfo-watchers": "Aazahl vu Beobachter",
+ "pageinfo-visiting-watchers": "Azahl vo dene, wo d Syte beobachten und di letste Bearbeitige hei agluegt",
"pageinfo-few-watchers": "Weniger wie {{PLURAL:$1|ei|$1}} Beobachter",
+ "pageinfo-few-visiting-watchers": "Es chönnt öpper gä oder ou nid, wo beobachtet und di letste Bearbeitigen am aluegen isch",
"pageinfo-redirects-name": "Zahl vu dr Wyterleitige zue däre Syte",
"pageinfo-subpages-name": "Untersyte vu däre Syte",
"pageinfo-subpages-value": "$1 ($2 {{PLURAL:$2|Wyterleitig|Wyterleitige}}; $3 {{PLURAL:$3|anderi Syte}})",
"pageinfo-protect-cascading-yes": "Jo",
"pageinfo-protect-cascading-from": "Syte mit Kaskadeschutz vu",
"pageinfo-category-info": "Kategoriinformatione",
+ "pageinfo-category-total": "Gsamti Azahl Mitglider",
"pageinfo-category-pages": "Aazahl vu dr Syte",
"pageinfo-category-subcats": "Aazahl vu dr Unterkategorie",
"pageinfo-category-files": "Aazahl vu dr Dateie",
"markedaspatrollederrortext": "Du muesch e Syteänderig uswehle.",
"markedaspatrollederror-noautopatrol": "S isch nit erlaubt, eigeni Bearbeitige as kontrolliert z markiere.",
"markedaspatrollednotify": "Die Änderig an $1 isch as kontrolliert markiert wore.",
+ "markedaspatrollederrornotify": "D Markierig als kontrolliert isch nid glunge.",
"patrol-log-page": "Kontroll-Logbuech",
"patrol-log-header": "Des isch s Kontroll-Logbuech.",
"log-show-hide-patrol": "Kontroll-Logbuech $1",
+ "log-show-hide-tag": "Markierigs-Logbuech $1",
"deletedrevision": "alti Version: $1",
"filedeleteerror-short": "Fähler bi dr Datei-Leschig: $1",
"filedeleteerror-long": "Bi dr Datei-Leschig sin Fähler feschtgstellt wore:\n\n$1",
"file-nohires": "Kei höcheri Uflösig verfüegbar.",
"svg-long-desc": "SVG-Datei, Basisgrößi: $1 × $2 Pixel, Dateigrößi: $3",
"svg-long-desc-animated": "Animierti SVG-Datei, Basisgreßi $1 × $2 Pixel, Dateigreßi: $3",
+ "svg-long-error": "Ungültigi SVG-Datei: $1",
"show-big-image": "Originaldatei",
"show-big-image-preview": "Greßi vu däre Vorschau: $1.",
"show-big-image-other": "Wyteri {{PLURAL:$2|Ufflösig|Ufflösige}}: $1.",
"newimages-summary": "Die Spezialsyte zeigt di zletscht uffegladene Dateie aa.",
"newimages-legend": "Filter",
"newimages-label": "Dateiname (oder e Teil devu):",
+ "newimages-showbots": "Ufelade vo Bots azeige",
"noimages": "Kei Dateie gfunde.",
"ilsubmit": "Suech",
"bydate": "noch Datum",
"minutes": "{{PLURAL:$1|1 Minut|$1 Minute}}",
"hours": "{{PLURAL:$1|1 Stund|$1 Stunde}}",
"days": "{{PLURAL:$1|1 Tag|$1 Täg}}",
+ "weeks": "{{PLURAL:$1|$1 Wuche}}",
+ "months": "{{PLURAL:$1|$1 Monet|$1 Mönet}}",
+ "years": "{{PLURAL:$1|$1 Jahr}}",
"ago": "vor $1",
+ "just-now": "grad ersch",
+ "hours-ago": "vor {{PLURAL:$1|eire Stund|$1 Stund}}",
+ "minutes-ago": "vor {{PLURAL:$1|eire Minute|$1 Minute}}",
+ "seconds-ago": "vor {{PLURAL:$1|eire Sekunde|$1 Sekunde}}",
+ "monday-at": "Mäntig um $1",
+ "tuesday-at": "Zystig um $1",
+ "wednesday-at": "Midwuch um $1",
+ "thursday-at": "Donnstig um $1",
+ "friday-at": "Frytig um $1",
+ "saturday-at": "Samstig um $1",
"sunday-at": "Sunntig am $1",
"yesterday-at": "Geschtert am $1",
"bad_image_list": "Format:\n\nNume Zylene, wo mit emne * afö, wärde berücksichtigt.\nNach em * mues zersch e Link zuren Unerwünschte Datei cho.\nWyteri Links uf der glyche Zyle wärden als Usnahme behandlet, wo die Datei trotzdäm darff vorcho.",
"confirm-watch-top": "Tue die Syten uf dyni Beobachtigslischte.",
"confirm-unwatch-button": "In Ornig",
"confirm-unwatch-top": "Nim die Syte us dyre Beobachtungslischte furt.",
+ "quotation-marks": "«$1»",
"imgmultipageprev": "← vorderi Syte",
"imgmultipagenext": "nächschti Syte →",
"imgmultigo": "Gang!",
"autosumm-replace": "Dr Inhalt vo dr Syte isch ersetzt worde: '$1'",
"autoredircomment": "E Wyterleitig uf [[$1]] isch erstellt worde",
"autosumm-new": "Het Syte aagleit mit '$1'",
+ "autosumm-newblank": "Lääri Syten agleit",
"lag-warn-normal": "Bearbeitige in dr letschte {{PLURAL:$1|Sekund|$1 Sekunde}} wäre in däre Lischt nonig aazeigt.",
"lag-warn-high": "Wäg ere hoche Datebank-Uslaschtig wäre d Bearbeitige in dr letschte {{PLURAL:$1|Sekund|$1 Sekunde}} in däre Lischt nonig aazeigt.",
"watchlistedit-normal-title": "D Beobachtigslischt bearbeite",
"watchlistedit-raw-done": "Dyni Beobachtigslischt isch aktualisiert worde.",
"watchlistedit-raw-added": "{{PLURAL:$1|ei Ytrag isch|$1 Yträg sin}} dezuedüü worde:",
"watchlistedit-raw-removed": "{{PLURAL:$1|ei Ytrag isch|$1 Yträg sin}} usegnoo worde:",
+ "watchlistedit-clear-title": "Beobachtigsliste lääre",
+ "watchlistedit-clear-legend": "Beobachtigsliste lääre",
+ "watchlistedit-clear-explain": "Jeden einzel Ytrag wird us der Beobachtigsliste gstriche",
+ "watchlistedit-clear-titles": "Sytenäme:",
+ "watchlistedit-clear-submit": "Beobachtigsliste lääre (Das lat sech nid la rückgängig mache!)",
+ "watchlistedit-clear-done": "Dyni Beobachtigslisten isch gläärt.",
+ "watchlistedit-clear-removed": "{{PLURAL:$1|$1 Syten isch|$1 Syte sy}} nümm uf der Beobachtigsliste:",
+ "watchlistedit-too-many": "Es het z vil Syte, für se hie azzeige.",
"watchlisttools-clear": "Beobachtigsliste lääre",
"watchlisttools-view": "Beobachtigsliste: Änderige",
"watchlisttools-edit": "normal bearbeite",
"watchlisttools-raw": "imene große Textfäld bearbeite",
"signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|Diskussion]])",
"duplicate-defaultsort": "Obacht: Dr Sortierigsschlüssel „$2“ iberschrybt dr vorig brucht Schlüssel „$1“.",
+ "duplicate-displaytitle": "<strong>Obacht:</strong> Der Azeigtitel «$2» überschrybt der früecher Azeigtitel «$1».",
+ "invalid-indicator-name": "<strong>Fähler:</strong> Ds Attribut <code>name</code> vom Sytestatusindikator darf nid läär sy.",
"version": "Version",
"version-extensions": "Installierti Erwyterige",
- "version-skins": "Benutzeroberflechine",
+ "version-skins": "Installierti Benutzeroberflechine",
"version-specialpages": "Spezialsyte",
"version-parserhooks": "Parser-Schnittstelle",
"version-variables": "Variable",
"version-hook-name": "Schnittstellename",
"version-hook-subscribedby": "Ufruef vu",
"version-version": "($1)",
+ "version-no-ext-name": "[kei Name]",
"version-license": "Lizänz",
"version-ext-license": "Lizänz",
"version-ext-colheader-name": "Erwyterig",
+ "version-skin-colheader-name": "Name",
+ "version-ext-colheader-version": "Version",
"version-ext-colheader-license": "Lizänz",
"version-ext-colheader-description": "Bschryybig",
"version-ext-colheader-credits": "Autore",
"version-entrypoints": "Yygangspunkt-URL",
"version-entrypoints-header-entrypoint": "Yygangspunkt",
"version-entrypoints-header-url": "URL",
+ "version-libraries": "Installierti Bibliotheke",
+ "version-libraries-library": "Bibliothek",
+ "version-libraries-version": "Version",
+ "version-libraries-license": "Lizänz",
+ "version-libraries-description": "Beschrybig",
+ "version-libraries-authors": "Autor/inne",
"redirect": "Wyterleitig uf Benutzersyte, Syte, Syteversion oder Datei",
"redirect-legend": "Wyterleitig uf e Datei oder e Syte",
"redirect-summary": "Die Spezialsyte leitet wyter uf e Benutzersyte (numerischi Benutzerkännig aagee), Syte (Sytekännig aagee), Syteversion (Versionskännig aagee) oder Datei (Dateiname aagee). Benutzig: [[{{#Special:Redirect}}/user/101]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]] oder [[{{#Special:Redirect}}/file/Example.jpg]].",
"tags-tag": "Markierigsname",
"tags-display-header": "Benännig uf dr Änderigslischte",
"tags-description-header": "Vollständigi Bschryybig",
+ "tags-active-header": "Aktiv?",
"tags-hitcount-header": "Markierti Änderige",
+ "tags-actions-header": "Aktione",
"tags-active-yes": "Jo",
"tags-active-no": "Nei",
+ "tags-source-extension": "Von eren Erwyterig definiert",
+ "tags-source-manual": "Manuell vo Benutzer/innen oder Bots ygsetzt",
+ "tags-source-none": "Nümm ’bruucht",
"tags-edit": "bearbeite",
+ "tags-delete": "lösche",
+ "tags-activate": "aktiviere",
+ "tags-deactivate": "deaktiviere",
"tags-hitcount": "$1 {{PLURAL:$1|Änderig|Änderige}}",
+ "tags-manage-no-permission": "Du hesch nid ds Rächt, Änderigsmarkierige z verwalte.",
+ "tags-create-heading": "Nöüi Markierig alege",
+ "tags-create-explanation": "Standardmäässig wärde nöüi Markierige zur Verfüegig gstellt, so das se Benutzer/innen und Bots chöü bruuche.",
+ "tags-create-tag-name": "Markierigsname:",
+ "tags-create-reason": "Grund:",
+ "tags-create-submit": "Alege",
+ "tags-create-no-name": "Du muesch e Markierigsnamen agä.",
+ "tags-create-invalid-chars": "Markierigsnäme dörffe kei Kommas (<code>,</code>) oder Schregstriche (<code>/</code>) ha.",
+ "tags-create-invalid-title-chars": "Markierigsnäme dörffe kei Zeiche ha, wo me nid i Sytenäme cha bruuche.",
+ "tags-create-already-exists": "D Markierig «$1» git’s scho.",
+ "tags-create-warnings-above": "Bim Versuech, d Markierig «$1» azlege, het’s di {{PLURAL:$2|folgendi Warnig|folgende Warnige}} ’gä:",
+ "tags-create-warnings-below": "Möchtsch mit em Alege vor Markierig wytermache?",
+ "tags-delete-title": "Markierig lösche",
+ "tags-delete-explanation-initial": "Du bisch drann, d Markierig «$1» us der Datebank z lösche.",
+ "tags-delete-explanation-in-use": "Si wird vo {{PLURAL:$2|eire Version oder eim Logbuechytrag|allne $2 Versionen oder Logbuechyträg}} furtgnoh, wo momentan dermit markiert sy.",
+ "tags-delete-explanation-warning": "Die Aktion isch <strong>für immer</strong> und <strong>lat sech nid la rückgängig mache</strong>, nid emal vo Datebank-Administrator/inne. Bis dir ganz sicher, das es die Markierig isch, wo du wosch lösche.",
+ "tags-delete-explanation-active": "<strong>D Markierig «$1» isch immer no aktiv und blybt ou zuekünftig im Ysatz.</strong> We du das wosch verhindere, de gang die Markierig dört ga deaktiviere, wo si ygsetzt isch.",
+ "tags-delete-reason": "Grund:",
+ "tags-delete-submit": "Markierig für immer lösche",
+ "tags-delete-not-allowed": "Von eren Erwyterig definierti Markierige lö sech nid la lösche, ussert d Erwyterig erloubt’s usdrücklech.",
+ "tags-delete-not-found": "D Markierig «$1» git’s nid.",
+ "tags-delete-too-many-uses": "D Markierig «$1» isch by meh als {{PLURAL:$2|eire Version|$2 Versionen}} ygsetzt. Drum lat si sech nid la lösche.",
+ "tags-delete-warnings-after-delete": "D Markierig «$1» isch erfolgrych glöscht, aber es het di {{PLURAL:$2|folgendi Warnig|folgende Warnige}} ’gä:",
+ "tags-activate-title": "Markierig aktiviere",
+ "tags-activate-question": "Du bisch drann, d Markierig «$1» z aktiviere.",
+ "tags-activate-reason": "Grund:",
+ "tags-activate-not-allowed": "D Markierig «$1» lat sech nid la aktiviere.",
+ "tags-activate-not-found": "D Markierig «$1» git’s nid.",
+ "tags-activate-submit": "Aktiviere",
+ "tags-deactivate-title": "Markierig deaktiviere",
+ "tags-deactivate-question": "Du bisch drann, d Markierig «$1» z deaktiviere.",
+ "tags-deactivate-reason": "Grund:",
+ "tags-deactivate-not-allowed": "D Markierig «$1» lat sech nid la deaktiviere.",
+ "tags-deactivate-submit": "Deaktiviere",
+ "tags-apply-no-permission": "Du hesch nid ds Rächt, Änderige mit Änderigsmarkierige z mache.",
+ "tags-apply-not-allowed-one": "D Markierig «$1» darf me nid vo Hand ysetze.",
+ "tags-apply-not-allowed-multi": "Di {{PLURAL:$2|folgendi Markierig|folgende Markierige}} darf me nid vo Hand ysetze: $1",
+ "tags-update-no-permission": "Du hesch nid ds Rächt, Änderigsmarkierige by einzelne Versionen oder Logbuechyträg yzsetzen oder furtznäh.",
+ "tags-update-add-not-allowed-one": "D Markierig «$1» darf me nid vo Hand ysetze.",
+ "tags-update-add-not-allowed-multi": "Di {{PLURAL:$2|folgendi Markierig|folgende Markierige}} darf me nid vo Hand derzuetue: $1",
+ "tags-update-remove-not-allowed-one": "D Markierig «$1» darf me nid furtnäh.",
+ "tags-update-remove-not-allowed-multi": "Di {{PLURAL:$2|folgendi Markierig|folgende Markierige}} darf me nid vo Hand furtnäh: $1",
+ "tags-edit-title": "Markierige bearbeite",
+ "tags-edit-manage-link": "Markierige verwalte",
+ "tags-edit-revision-selected": "{{PLURAL:$1|Usgwählti Version|Usgwählti Versione}} vo [[:$2]]:",
+ "tags-edit-logentry-selected": "{{PLURAL:$1|Usgwählte Logbuechytrag|Usgwählti Logbuechyträg}}:",
+ "tags-edit-revision-legend": "Markierige by {{PLURAL:$1|dere Versione|allne $1 Versione}} derzuetue oder furtnäh.",
+ "tags-edit-logentry-legend": "Markierige by {{PLURAL:$1|däm Logbuechytrag|allne $1 Logbuechyträg}} derzuetue oder furtnäh.",
+ "tags-edit-existing-tags": "Ygsetzti Markierige:",
+ "tags-edit-existing-tags-none": "''Keini''",
+ "tags-edit-new-tags": "Nöüi Markierige:",
+ "tags-edit-add": "Die Markierige derzuetue:",
+ "tags-edit-remove": "Die Markierige furtnäh:",
+ "tags-edit-remove-all-tags": "(alli Markierige furtnäh)",
+ "tags-edit-chosen-placeholder": "Markierigen ussueche",
+ "tags-edit-chosen-no-results": "Es git ke Markierige, wo passe",
+ "tags-edit-reason": "Grund:",
+ "tags-edit-revision-submit": "Änderige by {{PLURAL:$1|dere Version|$1 Versionen}} usfüere",
+ "tags-edit-logentry-submit": "Änderige by {{PLURAL:$1|däm Logbuechytrag|$1 Logbuechyträg}} usfüere",
+ "tags-edit-success": "D Änderige sy erfolgrych usgfüert.",
+ "tags-edit-failure": "D Änderige hei sech nid la usfüere: $1",
+ "tags-edit-nooldid-title": "Ungültigi Zilversion",
+ "tags-edit-nooldid-text": "Entweder hesch du kei Zilversion a’gä, für die Funktion dermit uszfüere, oder es git di a’gänigi Zilversion nid.",
+ "tags-edit-none-selected": "Bitte suech mindistens ei Markierig uus zum Derzuetue oder Furtnäh.",
"comparepages": "Syte verglyyche",
"compare-page1": "Syte 1",
"compare-page2": "Syte 2",
"compare-revision-not-exists": "Die Version, wu Du aagee hesch, git s nit.",
"dberr-problems": "Excusez! Die Seite het im Momänt tächnischi Schwirigkeite.",
"dberr-again": "Wart e paar Minute un lad derno nej.",
- "dberr-info": "(Cha kei Verbindig zum Datebank-Server härstelle: $1)",
- "dberr-info-hidden": "(Cha kei Verbindig zum Datebank-Server härstelle)",
+ "dberr-info": "(Kei Zuegriff uf d Datebank: $1)",
+ "dberr-info-hidden": "(Kei Zuegriff uf d Datebank)",
"dberr-usegoogle": "Du chenntsch in dr Zwischezyt mit Google sueche.",
"dberr-outofdate": "Obacht: Dr Suechindex vu unsere Syte chennt veraltet syy.",
"dberr-cachederror": "Des isch e Kopii vum Cache vu dr Syte, wu Du aagforderet hesch, un chennt veraltet syy.",
"htmlform-no": "Nei",
"htmlform-yes": "Jo",
"htmlform-chosen-placeholder": "Wehl en Option",
+ "htmlform-cloner-create": "Wyteri derzuetue",
+ "htmlform-cloner-delete": "Furtnäh",
+ "htmlform-cloner-required": "Es bruucht mindistens ei Wärt.",
+ "htmlform-title-badnamespace": "[[:$1]] isch nid im Namensruum «{{ns:$2}}».",
+ "htmlform-title-not-creatable": "«$1» isch kei Sytename, wo sech lat la alege",
+ "htmlform-title-not-exists": "[[:$1]] git’s nid.",
+ "htmlform-user-not-exists": "<strong>$1</strong> git’s nid.",
+ "htmlform-user-not-valid": "<strong>$1</strong> isch ke gültige Name.",
"sqlite-has-fts": "$1 mit Unterstitzig vu dr Volltextsuechi",
"sqlite-no-fts": "$1 ohni Unterstitzig vu dr Volltextsuechi",
"logentry-delete-delete": "{{GENDER:$2|Dr|D|}} $1 het d Syte $3 glöscht",
- "logentry-delete-restore": "$1 het d Syte $3 wiiderhergstellt",
- "logentry-delete-event": "$1 het die Sichtbarkeit {{PLURAL:$5|vumene Logbuechyytrag|vo $5 Logbuechyyträg}} uff $3: $4 gänderet",
- "logentry-delete-revision": "$1 het die Sichtbarkeit {{PLURAL:$5|vunere Version|vo $5 Versione}} uff $3: $4 gänderet",
- "logentry-delete-event-legacy": "$1 het d Sichtbarkeit vo Logbuechyyträg uff $3 gänderet",
- "logentry-delete-revision-legacy": "$1 het d Sichtbarkeit vo Versione uff $3 gänderet",
- "logentry-suppress-delete": "$1 het d Syte $3 unterdrückt",
- "logentry-suppress-event": "$1 het diskret d Sichtbarkeit {{PLURAL:$5|vumene Logbuechyytrag|vo $5 Logbuechyyträg}} uff $3: $4 gänderet",
- "logentry-suppress-revision": "$1 het diskret d Sichtbarkeit {{PLURAL:$5|vunere Version|vo $5 Versione}} uff $3: $4 gänderet",
- "logentry-suppress-event-legacy": "$1 het d Sichtbarkeit vo Logbuechyyträg diskret uff $3 gänderet",
- "logentry-suppress-revision-legacy": "$1 het diskret d Sichtbarkeit vo Versione uff $3 gänderet",
+ "logentry-delete-restore": "{{GENDER:$2|Der $1|D $1|$1}} het d Syte $3 wider härgstellt",
+ "logentry-delete-event": "{{GENDER:$2|Der $1|D $1|$1}} het d Sichtbarkeit {{PLURAL:$5|vumene Logbuechyytrag|vo $5 Logbuechyyträg}} gänderet uff $3: $4",
+ "logentry-delete-revision": "{{GENDER:$2|Der $1|D $1|$1}} het d Sichtbarkeit {{PLURAL:$5|vunere Version|vo $5 Versione}} gänderet uff $3: $4",
+ "logentry-delete-event-legacy": "{{GENDER:$2|Der $1|D $1|$1}} het d Sichtbarkeit vo Logbuechyyträg uff $3 gänderet",
+ "logentry-delete-revision-legacy": "{{GENDER:$2|Der $1|D $1|$1}} het d Sichtbarkeit vo Versione uff $3 gänderet",
+ "logentry-suppress-delete": "{{GENDER:$2|Der $1|D $1|$1}} het d Syte $3 unterdrückt",
+ "logentry-suppress-event": "{{GENDER:$2|Der $1|D $1|$1}} het diskret d Sichtbarkeit {{PLURAL:$5|vumene Logbuechyytrag|vo $5 Logbuechyyträg}} gänderet uff $3: $4",
+ "logentry-suppress-revision": "{{GENDER:$2|Der $1|D $1|$1}} het diskret d Sichtbarkeit {{PLURAL:$5|vunere Version|vo $5 Versione}} gänderet uff $3: $4",
+ "logentry-suppress-event-legacy": "{{GENDER:$2|Der $1|D $1|$1}} het d Sichtbarkeit vo Logbuechyyträg diskret uff $3 gänderet",
+ "logentry-suppress-revision-legacy": "{{GENDER:$2|Der $1|D $1|$1}} het diskret d Sichtbarkeit vo Versione uff $3 gänderet",
"revdelete-content-hid": "Inhalt versteckt",
"revdelete-summary-hid": "Bearbeitigszämmefassig versteckt",
"revdelete-uname-hid": "Benutzername versteckt",
"revdelete-uname-unhid": "Benutzername freigee",
"revdelete-restricted": "Yyschränkige gälte au fir Ammanne",
"revdelete-unrestricted": "Yyschränkige fir Ammanne ufghobe",
+ "logentry-block-block": "{{GENDER:$2|Der $1|D $1|$1}} het {{GENDER:$4|der $3|d $3|$3}} bis $5 gsperrt $6",
+ "logentry-block-unblock": "{{GENDER:$2|Der $1|D $1|$1}} het {{GENDER:$4|der $3|d $3|$3}} entsperrt",
+ "logentry-block-reblock": "{{GENDER:$2|Der $1|D $1|$1}} het {{GENDER:$4|der $3|d $3|$3}} bis $5 gsperrt $6",
+ "logentry-suppress-block": "{{GENDER:$2|Der $1|D $1|$1}} het {{GENDER:$4|der $3|d $3|$3}} bis $5 gsperrt $6",
+ "logentry-suppress-reblock": "{{GENDER:$2|Der $1|D $1|$1}} het d Sperrystellige {{GENDER:$4|füre $3|für d $3|für $3}} bis $5 g’änderet $6",
+ "logentry-import-upload": "{{GENDER:$2|Der $1|D $1|$1}} het $3 importiert per Datei-Ufelade",
+ "logentry-import-interwiki": "{{GENDER:$2|Der $1|D $1|$1}} het $3 vomenen andere Wiki importiert",
+ "logentry-merge-merge": "{{GENDER:$2|Der $1|D $1|$1}} het $3 i $4 zämegfüert (Versione bis $5)",
"logentry-move-move": "{{GENDER:$2|Dr|D}} $1 het d Seite $3 uf $4 verschobe",
- "logentry-move-move-noredirect": "$1 het d Syte $3 nooch $4 verschobe ohni e Wyterleitig aazlege",
- "logentry-move-move_redir": "$1 het d Syte $3 nooch $4 verschobe un het debi e Wyterleitig überschrybe",
- "logentry-move-move_redir-noredirect": "$1 het d Syte $3 nooch $4 verschobe un het debi e Wyterleitig überschrybe, ohni sälber eini aazlege",
- "logentry-patrol-patrol": "$1 het Version $4 vo Syte $3 als kontrolliert markiert",
- "logentry-patrol-patrol-auto": "$1 het Version $4 vo Syte $3 automatisch als kontrolliert markiert",
- "logentry-newusers-newusers": "Benutzerkonto $1 isch aagleit wore.",
+ "logentry-move-move-noredirect": "{{GENDER:$2|Der $1|D $1|$1}} het d Syte $3 nooch $4 verschobe ohni e Wyterleitig aazlege",
+ "logentry-move-move_redir": "{{GENDER:$2|Der $1|D $1|$1}} het d Syte $3 nooch $4 verschobe un het debi e Wyterleitig überschrybe",
+ "logentry-move-move_redir-noredirect": "{{GENDER:$2|Der $1|D $1|$1}} het d Syte $3 nooch $4 verschobe un het debi e Wyterleitig überschrybe, ohni sälber eini aazlege",
+ "logentry-patrol-patrol": "{{GENDER:$2|Der $1|D $1|$1}} het Version $4 vo Syte $3 als kontrolliert markiert",
+ "logentry-patrol-patrol-auto": "{{GENDER:$2|Der $1|D $1|$1}} het Version $4 vor Syte $3 automatisch als kontrolliert markiert",
+ "logentry-newusers-newusers": "{{GENDER:$2|Benutzerkonto}} $1 isch aagleit wore.",
"logentry-newusers-create": "Benutzerkonto $1 {{GENDER:$2|isch aagleit wore}}",
- "logentry-newusers-create2": "Benutzerkonto $3 isch aalgeit wore vu $1",
- "logentry-newusers-autocreate": "S Benutzerchonto $1 isch automatisch erstellt worde",
- "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",
+ "logentry-newusers-create2": "{{GENDER:$2|Der $1|D $1|$1}} het ds Benutzerkonto $3 agleit",
+ "logentry-newusers-byemail": "{{GENDER:$2|Der $1|D $1|$1}} het ds Benutzerkonto $3 agleit und ds Passwort isch per E-Mail verschickt worde",
+ "logentry-newusers-autocreate": "Ds {{GENDER:$2|Benutzerkonto}} $1 isch automatisch agleit worde",
+ "logentry-protect-move_prot": "{{GENDER:$2|Der $1|D $1|$1}} het d Schutzystellige vo $4 uf $3 verschobe",
+ "logentry-rights-rights": "{{GENDER:$2|Der $1|D $1|$1}} het d Gruppezuegherigkeit fir $3 vu $4 uf $5 gänderet",
+ "logentry-rights-rights-legacy": "{{GENDER:$2|Der $1|D $1|$1}} het d Gruppezuegherigkeit fir $3 gänderet",
+ "logentry-rights-autopromote": "{{GENDER:$2|Der $1|D $1|$1}} isch automatisch vo $4 uf $5 beförderet worde",
"logentry-upload-upload": "{{GENDER:$2|Dr|D}} $1 het $3 uffeglade",
+ "logentry-upload-overwrite": "{{GENDER:$2|Der $1|D $1|$1}} het e nöüi Version vo $3 ufeglade",
+ "logentry-upload-revert": "{{GENDER:$2|Der $1|D $1|$1}} het $3 ufeglade",
+ "log-name-managetags": "Markierigsverwaltigs-Logbuech",
+ "log-description-managetags": "Uf dere Syte het’s Verwaltigsufgabe für [[Special:Tags|Markierige]]. Ds Logbuech zeigt numen Aktione, wo manuell von ere/emen Administrator/in sy usgfüert worde. D Wiki-Software cha Markierigen alegen oder lösche, ohni das es i däm Logbuech verzeichnet wird.",
+ "logentry-managetags-create": "{{GENDER:$2|Der $1|D $1|$1}} het d Markierig «$4» agleit",
+ "logentry-managetags-delete": "{{GENDER:$2|Der $1|D $1|$1}} het d Markierig «$4» glöscht (us {{PLURAL:$5|eire Version oder eim Logbuechytrag|$5 Versionen oder Logbuechyträg}} furtgnoh)",
+ "logentry-managetags-activate": "{{GENDER:$2|Der $1|D $1|$1}} het d Markierig $4 zum Gebruuch vo Benutzer/innen oder Bots aktiviert",
+ "logentry-managetags-deactivate": "{{GENDER:$2|Der $1|D $1|$1}} het d Markierig $4 zum Gebruuch vo Benutzer/innen oder Bots deaktiviert",
+ "log-name-tag": "Markierigs-Logbuech",
+ "log-description-tag": "Die Syte zeigt [[Special:Tags|Markierige]], wo by einzelne Versionen oder Logbuechyträg äxtra sy derzueta oder furtgnoh worde. Markierige als Teil von ere Bearbeitig, Löschig oder ähnlechen Aktion sy nid ufgfüert.",
+ "logentry-tag-update-add-revision": "{{GENDER:$2|Der $1|D $1|$1}} het d {{PLURAL:$7|Markierig|Markierige}} $6 zur Version $4 vor Syte $3 derzueta.",
+ "logentry-tag-update-add-logentry": "{{GENDER:$2|Der $1|D $1|$1}} het d {{PLURAL:$7|Markierig|Markierige}} $6 zum Logbuechytrag $5 vor Syte $3 derzueta.",
+ "logentry-tag-update-remove-revision": "{{GENDER:$2|Der $1|D $1|$1}} het d {{PLURAL:$9|Markierig|Markierige}} $8 vor Version $4 vor Syte $3 furtgnoh.",
+ "logentry-tag-update-remove-logentry": "{{GENDER:$2|Der $1|D $1|$1}} het d {{PLURAL:$9|Markierig|Markierige}} $8 vom Logbuechytrag $5 vor Syte $3 furtgnoh.",
+ "logentry-tag-update-revision": "{{GENDER:$2|Der $1|D $1|$1}} het d Markierige bir Version $4 vor Syte $3 aktualisiert ({{PLURAL:$7|eini|$6}} derzueta, {{PLURAL:$9|eini|$8}} furtgnoh).",
+ "logentry-tag-update-logentry": "{{GENDER:$2|Der $1|D $1|$1}} het d Markierige bim Logbuechytrag $5 vor Syte $3 aktualisiert ({{PLURAL:$7|eini|$6}} derzueta, {{PLURAL:$9|eini|$8}} furtgnoh).",
"rightsnone": "(keini)",
"revdelete-summary": "Zämmefassig",
"feedback-adding": "Ruggmäldig wird zur Syte dezuegfiegt …",
+ "feedback-back": "Zrügg",
"feedback-bugcheck": "Schen! Bitte iberprief no, eb s sich doderby nit um e scho [$1 bekannte Fähler] handlet.",
"feedback-bugnew": "Ich haa s iberprieft. Dr nej Fähler mälde.",
"feedback-bugornote": "Wän Du detailliert e tächnisch Probläm witt bschryybe, no mäld bitte [$1 ne Fähler].\nSunscht chasch au s eifach Formular unte nutze. Dyy Kommentar wird, zämme mit Dyym Benutzername un dr Version vu Dyym Webbrowser un em Betribssyschtem, uf dr Syte „[$3 $2]“ zuegfiegt.",
"feedback-cancel": "Abbräche",
"feedback-close": "Isch gmacht",
+ "feedback-external-bug-report-button": "E technischi Ufgab yreiche",
+ "feedback-dialog-title": "Rückmäldig gä",
+ "feedback-dialog-intro": "Du chasch ds eifache Formular unde bruuche, für’ne Rückmäldig z gä. Dy Kommentar chunt zäme mit dym Benutzernamen uf d Syte «$1».",
+ "feedback-error-title": "Fähler",
"feedback-error1": "Fäälermäldig: Unbekannts Ergebniss vo de API",
"feedback-error2": "Fääler: Bearbeitig fehlgschlo",
"feedback-error3": "Fäälermäldig: Kei Antwort vo de API",
+ "feedback-error4": "Fähler: Der Fähler het sech nid under em a’gänige Titel la spychere",
"feedback-message": "Noochricht:",
"feedback-subject": "Beträff:",
"feedback-submit": "Ruggmäldig abschigge",
+ "feedback-terms": "I bi mer bewusst, das my User Agent exakti Versionen über my Browser und mys Betribssystem enthaltet und zäme mit der Rückmäldig veröffentlecht wird.",
"feedback-thanks": "Dankschen. Dyy Ruckmäldig isch uf dr Syte „[$2 $1]“ gspycheret wore.",
"searchsuggest-search": "Suechi",
"searchsuggest-containing": "din het s …",
"Fringio",
"Aquatech",
"Statix64",
- "CassiodoroVicinetti"
+ "CassiodoroVicinetti",
+ "Bultro"
]
},
"tog-underline": "Sottolinea i collegamenti:",
"recentchanges-label-unpatrolled": "Modifica non ancora verificata",
"recentchanges-label-plusminus": "Variazione della pagina in numero di byte",
"recentchanges-legend-heading": "'''Legenda:'''",
- "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (vedi [[Special:NewPages|le nuove pagine]])",
+ "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (vedi le [[Special:NewPages|nuove pagine]])",
"recentchanges-legend-plusminus": "(''±123'')",
"rcnotefrom": "Di seguito {{PLURAL:$5|è elencata la modifica apportata|sono elencate le modifiche apportate}} a partire da <strong>$3, $4</strong> (mostrate fino a <strong>$1</strong>).",
"rclistfrom": "Mostra le modifiche apportate a partire da $3 $2",
"booksources-text": "Di seguito sono elencati alcuni collegamenti verso siti esterni che vendono libri nuovi e usati, attraverso i quali è possibile ottenere maggiori informazioni sul testo cercato.",
"booksources-invalid-isbn": "L'ISBN inserito sembra non essere valido; verificare che non siano stati commessi errori nel copiarlo dalla fonte originale.",
"specialloguserlabel": "Azione effettuata da:",
- "speciallogtitlelabel": "Azione effettuata su:",
+ "speciallogtitlelabel": "Azione effettuata su (titolo della pagina o {{ns:user}}:Nome utente):",
"log": "Registri",
"all-logs-page": "Tutti i registri pubblici",
"alllogstext": "Presentazione unificata di tutti i registri di {{SITENAME}}.\nÈ possibile restringere i criteri di ricerca selezionando il tipo di registro, l'utente che ha eseguito l'azione, e/o la pagina interessata (entrambi i campi sono sensibili al maiuscolo/minuscolo).",
"logentry-newusers-create2": "L'utenza $3 è stata {{GENDER:$2|creata}} da $1",
"logentry-newusers-byemail": "L'utenza $3 è stata {{GENDER:$2|creata}} da $1 e la password è stata inviata via email",
"logentry-newusers-autocreate": "L'utenza $1 è stata {{GENDER:$2|creata}} automaticamente",
+ "logentry-protect-move_prot": "$1 {{GENDER:$2|ha spostato}} le impostazioni di protezione da $4 a $3",
"logentry-rights-rights": "$1 {{GENDER:$2|ha modificato}} l'appartenenza di $3 dal gruppo $4 al gruppo $5",
"logentry-rights-rights-legacy": "$1 {{GENDER:$2|ha modificato}} l'appartenenza a gruppi di $3",
"logentry-rights-autopromote": "$1 è {{GENDER:$2|stato promosso|stata promossa|stato/a promosso/a}} automaticamente da $4 a $5",
"tooltip-ca-nstab-main": "Rodyti puslapio turinį",
"tooltip-ca-nstab-user": "Rodyti naudotojo puslapį",
"tooltip-ca-nstab-media": "Rodyti media puslapį",
- "tooltip-ca-nstab-special": "Šis puslapis yra specialusis - jo negalima redaguoti",
+ "tooltip-ca-nstab-special": "Šis puslapis yra specialusis ir jo negalima redaguoti",
"tooltip-ca-nstab-project": "Rodyti projekto puslapį",
"tooltip-ca-nstab-image": "Rodyti rinkmenos puslapį",
"tooltip-ca-nstab-mediawiki": "Rodyti sisteminį pranešimą",
"categoriesfrom": "Parādīt kategorijas sākot ar:",
"special-categories-sort-count": "kārtot pēc skaita",
"special-categories-sort-abc": "kārtot alfabētiskā secībā",
- "deletedcontributions": "Izdzēstais lietotāju devums",
- "deletedcontributions-title": "Izdzēstais lietotāju devums",
+ "deletedcontributions": "Dzēstais dalībnieka devums",
+ "deletedcontributions-title": "Dzēstais dalībnieka devums",
"sp-deletedcontributions-contribs": "devums",
"linksearch": "Ārējo saišu meklēšana",
"linksearch-pat": "Meklēt:",
"invert": "Izvēlēties pretēji",
"namespace_association": "Saistītā vārdtelpa",
"blanknamespace": "(Pamatlapa)",
- "contributions": "{{GENDER:$1|Lietotāja|Lietotājas|Lietotāja}} devums",
- "contributions-title": "Lietotāja $1 devums",
+ "contributions": "{{GENDER:$1|Dalībnieka|Dalībnieces|Dalībnieka}} devums",
+ "contributions-title": "Dalībnieka $1 devums",
"mycontris": "Devums",
"contribsub2": "Lietotājs: $1 ($2)",
"nocontribs": "Netika atrastas izmaiņas, kas atbilstu šiem kritērijiem.",
"sp-contributions-newbies": "Rādīt jauno lietotāju devumu",
"sp-contributions-newbies-sub": "Jaunie lietotāji",
"sp-contributions-blocklog": "Bloķēšanas reģistrs",
- "sp-contributions-deleted": "Izdzēstais lietotāja devums",
+ "sp-contributions-deleted": "dzēstais dalībnieka devums",
"sp-contributions-uploads": "augšupielādes",
"sp-contributions-logs": "reģistri",
"sp-contributions-talk": "diskusija",
"unusedimages": "Ficheiros não utilizados",
"wantedcategories": "Categorias desejadas",
"wantedpages": "Páginas desejadas",
- "wantedpages-summary": "Lista de páginas inexistentes com o maior número de ligações à elas, excluindo páginas que possuem apenas redirecionamentos à elas. Para obter uma lista de páginas inexistentes que possuam redirecionamento à elas, veja [[{{#special:BrokenRedirects}}|a lista de redirecionamentos quebrados]].",
+ "wantedpages-summary": "Lista de páginas inexistentes com o maior número de ligações a elas, excluindo páginas que possuem apenas redirecionamentos a elas. Para obter uma lista de páginas inexistentes que possuam redirecionamento a elas, veja [[{{#special:BrokenRedirects}}|a lista de redirecionamentos quebrados]].",
"wantedpages-badtitle": "Título inválido no conjunto de resultados: $1",
"wantedfiles": "Ficheiros desejados",
"wantedfiletext-cat": "Os seguintes ficheiros são usados, mas não existem. Ficheiros de repositórios externos podem ser listados apesar de existirem. Tais falsos positivos aparecerão <del>riscados</del>. Adicionalmente, as páginas que incorporam ficheiros que não existem estão listadas em [[:$1]].",
"tags-edit-success": "As alterações foram aplicadas com sucesso.",
"tags-edit-failure": "As alterações não puderam ser aplicadas:\n$1",
"tags-edit-nooldid-title": "Revisão de página inválida",
- "tags-edit-nooldid-text": "Não foi especificada nenhuma revisão na qual será realizada esta acção, ou a revisão especificada não existe.",
+ "tags-edit-nooldid-text": "Não foi especificada nenhuma revisão na qual será realizada esta ação, ou a revisão especificada não existe.",
"tags-edit-none-selected": "Por favor, selecione pelo menos uma etiqueta para adicionar ou remover.",
"comparepages": "Comparar páginas",
"compare-page1": "Página 1",
"logentry-newusers-create2": "A conta de utilizador $3 foi criada por $1",
"logentry-newusers-byemail": "A conta de utilizador $3 foi criada por $1 e a palavra-passe foi enviada por correio eletrónico",
"logentry-newusers-autocreate": "A conta de utilizador $1 foi criada automaticamente",
- "logentry-protect-move_prot": "$1 {{GENDER:$2|moveu}} as preferências de protecção de $4 para $3",
+ "logentry-protect-move_prot": "$1 {{GENDER:$2|moveu}} as preferências de proteção de $4 para $3",
"logentry-rights-rights": "$1 modificou os privilégios do utilizador $3 de $4 para $5",
"logentry-rights-rights-legacy": "$1 alterou os grupos de $3",
"logentry-rights-autopromote": "$1 foi automaticamente {{GENDER:$2|promovido|promovida}} de $4 a $5",
"columns": "Kolumner:",
"searchresultshead": "Sökning",
"stub-threshold": "Gräns för formatering av stubblänk ($1):",
+ "stub-threshold-sample-link": "exempel",
"stub-threshold-disabled": "Avaktiverat",
"recentchangesdays": "Antal dygn som skall visas i \"senaste ändringarna\":",
"recentchangesdays-max": "Maximalt $1 {{PLURAL:$1|dygn}}",
"booksources-text": "Nedan följer en lista över länkar till webbplatser som säljer nya och begagnade böcker, och som kanske har ytterligare information om de böcker du söker.",
"booksources-invalid-isbn": "Det angivna ISBN-numret verkar inte vara giltigt. Kontrollera källan för eventuella fel.",
"specialloguserlabel": "Utförare:",
- "speciallogtitlelabel": "Mål (titel eller användare):",
+ "speciallogtitlelabel": "Mål (titel eller {{ns:user}}:användarnamn för användare):",
"log": "Loggar",
"all-logs-page": "Alla publika loggar",
"alllogstext": "Kombinerad visning av alla tillgängliga loggar för {{SITENAME}}.\nDu kan avgränsa sökningen och få färre träffar genom att ange typ av logg, användarnamn (skiftlägeskänsligt), eller berörd sida (också skiftlägeskänsligt).",
"cancel": "Neenal",
"moredotdotdot": "Ak yeneen...",
"mypage": "Samaw xët",
- "mytalk": "Xëtu waxtaanuwaay",
+ "mytalk": "Waxtaan",
"anontalk": "Waxtaan ak bii IP",
"navigation": "Joowiin",
"and": " ak",
"view-foreign": "Xoolee ko ci $1",
"edit": "Soppi",
"create": "Sos",
+ "create-local": "Yokk faramfàcceb barab bii",
"editthispage": "Soppi xët wii",
"create-this-page": "Sos wii xët",
"delete": "Far",
"otherlanguages": "Yeneeni làkk",
"redirectedfrom": "(Yoonalaat gu jóge $1)",
"redirectpagesub": "Xëtu yoonalaat",
+ "redirectto": "Jëmalewaat:",
"lastmodifiedat": "Coppite bu mujj bu xët wii $1 ci $2.<br />",
"viewcount": "Xët wii nemmeeku nañ ko {{PLURAL:$1|$1 yoon|$1 yoon}}.",
"protectedpage": "Xët wees aar",
"virus-scanfailed": "Saytu gi dog na (code $1)",
"logouttext": "Fi mu nekk nii génn nga.'''\n\nMan ngaa wéy di jëfandikoo {{SITENAME}} ci anam buñ la dul xamme walla nga <span class='plainlinks'>[$1 duggewaat]</span> ak wenn tur wi walla ak weneen.",
"yourname": "Sa turu jëfandikukat",
+ "userlogin-yourname": "Turu jëfandikukat",
+ "userlogin-yourname-ph": "Duggalal sa turu jëfandikukat",
"yourpassword": "Sa baatujàll",
+ "userlogin-yourpassword": "Baatujàll",
"yourpasswordagain": "Bindaatal sa baatujàll",
"remembermypassword": "Denc sama yëgley dukkukaay ci bii joowukaay (lu ëpp nag $1 {{PLURAL:$1|day|days}})",
"yourdomainname": "Sa barab",
"gotaccount": "Sos nga am sàq? '''$1'''.",
"gotaccountlink": "Dugg",
"createaccountmail": "Jaare ko ci m-bataaxal",
+ "createacct-captcha": "Caytug kaaraange",
+ "createacct-imgcaptcha-ph": "Duggalal mbind miy toftal mi ngay gis",
"badretype": "Baatujàll yi nga bind yemuñu.",
"userexists": "Turu jëfandikukat bi nga bind am na boroom ba noppi. Tànnal weneen.",
"loginerror": "Njuumte ci dugg gi",
"loginlanguagelabel": "Làkk : $1",
"pt-login": "Dugg",
"pt-createaccount": "Sos am sàq",
+ "pt-userlogout": "Génn",
"changepassword": "Coppiteg baatujàll bi",
"resetpass_announce": "Danga dugg ak ab baatujàll bu saxul-dakk, buñ la yónne cib bataaxal. Ngir matal mbindu mi, faaw nga roof ab baatujàll bu bees fii:",
"resetpass_text": "<!-- Bindal fii -->",
"preview": "Wonendi",
"showpreview": "Wonendi",
"showdiff": "Wone samay soppi",
- "anoneditwarning": "'''Moytul :''' Duggoo. Sa màkkaanub IP di nañu ko dugal ci jaar-jaaru xët wii.",
+ "anoneditwarning": "<strong>Moytul :</strong> Duggoo. Bépp coppite boo def sa màkkaanub IP lañu koy xaatimee ci jaar-jaaru xët wi, ñépp di ko gis. Waaye soo <strong>[$1 duggee]</strong> walla nga <strong>[$2 sos am sàq]</strong>, say coppite sa tur lañuy àndal ak yeneeni njariñ.",
"missingsummary": "'''Fattali :''' Defoo ab tënk ci coppite yi nga amal. Soo cuqaate ci «Denc xët wi», say coppite di nañ dugg te duñ am tënk, maanaam duñ xam loo soppi.",
"missingcommenttext": "Di la sakku nga dugal ab tënk ci suuf, jërëjëf.",
"missingcommentheader": "'''Fattali :''' Joxoo ab koj say coppite. Soo cuqaate ci «Denc xët wi», di nañ leen dugal te duñ am koj.",
"newarticletext": "Da ngaa topp ab lëkkalekaay buy jëme ci aw xët wu amagul. ngir sos xët wi léegi, duggalal sa mbind ci boyot bii ci suuf (man ngaa yër [$1 xëtu ndimbal wi] ngir yeneeni xamle). Su fekkee njuumtee la fi indi cuqal ci '''dellu''' bu sa joowukaay.",
"anontalkpagetext": "---- ''Yaa ngi ci xëtu waxtaanuwaayu ab jëfandikukatu alaxam, bu bindoogul ba fim ne mbaa jëfandikoowul am sàqam.\nKon ngir xàmmee ko fàw nga jëfandikoo màkkaanub IP wam. Te màkkaanub IP jëfandikukat yu bari man nañ koo bokk.\nSu fekkee jëfandikukatu alaxam nga, te nga gis ne dees laa féetale ay kàddu yoo moomul, ngalla [[Special:UserLogin|bindu]] walla [[Special:UserLogin|dugg]] ngir benn jaxase bañatee am ëllëg .''",
"noarticletext": "Fi mu ne ni amul menn mbind ci xët wii; man ngaa [[Special:Search/{{PAGENAME}}|seet koju xët wi]] ci yeneen xët, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} seet ci xëtu jagleel wi ],\nwalla [{{fullurl:{{FULLPAGENAME}}|action=edit}} soppi xët wii]</span>.",
- "noarticletext-nopermission": "Nii-nii amul menn mbind ci wii xët.\nMan nga [[Special:Search/{{PAGENAME}}|seet bii koj]] ci yeneen xët,\nwalla <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} nga seet ci yéenekaay yees ko féetaleel]</span>.",
+ "noarticletext-nopermission": "Nii-nii amul menn mbind ci wii xët.\nMan ngaa [[Special:Search/{{PAGENAME}}|seet bii koj]] ci yeneen xët walla <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} nga seet ciy yéenekaayam]</span>. Numu man a deme, amoo sañ-sañu sos wii xët.",
"userpage-userdoesnotexist": "Mii sàqum jëfandikukat « <nowiki>$1</nowiki> » du bu ku-bindu. Seetal bu baax ndax da ngaa namma sos walla soppi wii xët.",
"clearyourcache": "'''Karmat :''' Soo dence xët wi ba noppi, faaw nga far nëmbiitu sa joowukaay ngir man a gis say coppite, te nga, su dee '''Mozilla / Firefox / Safari :''' cuq ci ''yeesal'' te bësaale ''shift'', walla nga bës ''Shift-R'' walla ''Ctrl-F5'' (Command-R ci Mac ), su dee '''Konqueror''': cuq ''yeesal'' walla nga bës ''F5''; su dee '''Opera''' faral nëbiit li (''Jumtukaay → Tànneef'') su dee '''Internet Explorer:''' cuq ci ''yeesal te bësaale ''Ctrl'' walla nga bës ''Ctrl-F5''.",
"usercssyoucanpreview": "'''Xelal :''' di la digël nga cuq ci «Wonendi» ngir gis say xobi CSS walla JavaScript yu bees laata nga leen di denc.",
"shown-title": "Wone $1 {{PLURAL:$1|ngérte|ngérte}} ciw xët",
"viewprevnext": "Xool ($1 {{int:pipe-separator}} $2) ($3).",
"searchmenu-exists": "'''wenn xët wu tudd « [[:$1]] » moo am ci bii wiki'''",
- "searchmenu-new": "'''Sosal xët wii di « [[:$1|$1]] » ci bii wiki !'''",
+ "searchmenu-new": "<strong>Sosal xët wii di « [[:$1|$1]] » ci bii wiki !</strong>\n{{PLURAL:$2|0=|Xoolal itam xët wees gis ak sa ceet gi.|Xoolal itam ngértey ceet gi.}}",
"searchprofile-articles": "Xëti ëmbiit",
"searchprofile-images": "Barixibaarukaay",
"searchprofile-everything": "Lépp",
"searchrelated": "yeneeni ngérte",
"searchall": "yépp",
"showingresults": "Woneg <b>$1</b> {{PLURAL:$1|ngérte|ciy ngérte}} doore ko ci #<b>$2</b>.",
+ "search-showingresults": "{{PLURAL:$4|Ngérte <strong>$1</strong> ci <strong>$3</strong>|Ngérte <strong>$1 - $2</strong> ci <strong>$3</strong>}}",
"search-nonefound": "Ceet gi jurul dara.",
"powersearch-legend": "Ceet gu xóot",
"powersearch-ns": "Seet ci barabi tur yi :",
"search-external": "Ceet gu biti",
"searchdisabled": "Ceet gi ci {{SITENAME}} doxul. Ci négandiku doxal gi, man nga seet ci Google. Jàppal ne, xéj-na ëmbiti {{SITENAME}} gi ci bii seetukaay yeesaluñ leen.",
"preferences": "Tànneef",
- "mypreferences": "Samay tànneef",
+ "mypreferences": "Tànnéef",
"prefs-edits": "Limu coppite yi:",
"prefs-skin": "Melokaan",
"skin-preview": "Wonendil",
"filewasdeleted": "Dencukaay bu tudd nii yeboon nañ ko fi ba noppi, faraat ko. Saytul $1 laataa nga koy yebaat.",
"filename-bad-prefix": "Turu dencukaay bi ngay yeb moo ngi tambalee '''\"$1\"''', te muy tur wu nosukaay bi di joxal boppam nataalukaay yi.\nDila ñaan nga tànn tur wuy faramfacce dencukaay bi.",
"upload-success-subj": "Yeb gi jàll na",
+ "license-header": "Anami Jëfandikoo gi",
"imgfile": "Dencukaay",
"listfiles": "Limu dencukaay",
"listfiles_date": "Taariix",
"blanknamespace": "(njëkk)",
"contributions": "Cëruy bii {{GENDER:$1|jëfandikukat}}",
"contributions-title": "Cëru yu jëfandikukat bii di $1",
- "mycontris": "Samay cëru",
+ "mycontris": "Cëru",
"contribsub2": "Ngir $1 ($2)",
"nocontribs": "Amul benn coppite bu melokaanoo nii bu ñu gis.",
"uctop": "(bi mujj)",
"nolinkshere-ns": "Amul wenn xët wu lëkkalook wii '''[[:$1]]''' ci barabu tur bi nga tànn.",
"isredirect": "Xëtu jubluwaat",
"istemplate": "mboole",
- "isimage": "lëkkalekaayu nataal bi",
+ "isimage": "lëkkalekaayu dencukaay bi",
"whatlinkshere-prev": "{{PLURAL:$1|wi jiitu|$1 yi jiitu}}",
"whatlinkshere-next": "{{PLURAL:$1|wi toftal|$1 yi toftal}}",
"whatlinkshere-links": "← lëkkalekaay",
"metadata-fields": "Tooli jégginjoxe yu nataal yi ñu lim ci bii bataaxal dañ leen di wone ci xëtu faramfàcce wu nataal bi su fekkee dañoo lem àlliwab jégginjoxe bi.\nYeneen tool yi dañ leen di nëbb.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
"exif-imagewidth": "Yaatuwaay",
"exif-imagelength": "Kawewaay",
+ "exif-orientation": "Jubluwaay",
+ "exif-datetime": "Taariix ak waxtu coppiteg dencukaay bi",
+ "exif-make": "Defarkatu nataalukaay bi",
+ "exif-software": "Jëfekaay bees jëfandikoo",
+ "exif-exifversion": "Sumb bu Exif",
+ "exif-colorspace": "Barabu melo",
"exif-usercomment": "Kadduy jëfëndikookat bi",
+ "exif-datetimeoriginal": "Taariix ak waxtub njurug njoxe yi",
+ "exif-orientation-1": "Jaadu",
"exif-componentsconfiguration-0": "Amul",
"namespacesall": "Yépp",
"monthsall": "Yépp",
"watchlisttools-view": "Limu toppte",
"watchlisttools-edit": "Xool te soppi limu toppte gi",
"watchlisttools-raw": "Soppi lim gi",
+ "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|waxtaan]])",
"specialpages": "Xëti jagleel",
"tag-filter": "Seggee ak [[Special:Tags|Tafaan]]:",
"tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Tag|Tag}}]]: $2)",
+ "logentry-delete-delete": "$1 {{GENDER:$2|moo far}} xët wi $3",
"revdelete-restricted": "doxalub digal ngir yorkat yi",
"revdelete-unrestricted": "digal ngir yorkat yi deñ na",
"logentry-newusers-create": "Sàqum jëfandikukat $1 sos nañu ko",
),
'mediawiki.special.movePage' => array(
'scripts' => 'resources/src/mediawiki.special/mediawiki.special.movePage.js',
- 'dependencies' => 'jquery.byteLimit',
+ 'dependencies' => array(
+ 'jquery.byteLimit',
+ 'mediawiki.widgets',
+ ),
+ ),
+ 'mediawiki.special.movePage.styles' => array(
+ 'styles' => 'resources/src/mediawiki.special/mediawiki.special.movePage.css',
+ 'position' => 'top',
),
'mediawiki.special.pageLanguage' => array(
'scripts' => 'resources/src/mediawiki.special/mediawiki.special.pageLanguage.js',
'resources/src/mediawiki.widgets/mw.widgets.NamespaceInputWidget.js',
'resources/src/mediawiki.widgets/mw.widgets.ComplexNamespaceInputWidget.js',
'resources/src/mediawiki.widgets/mw.widgets.TitleInputWidget.js',
+ 'resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js',
'resources/src/mediawiki.widgets/mw.widgets.TitleOptionWidget.js',
'resources/src/mediawiki.widgets/mw.widgets.UserInputWidget.js',
'resources/src/mediawiki.widgets/mw.widgets.CategorySelector.js',
'skinStyles' => array(
'default' => array(
'resources/src/mediawiki.widgets/mw.widgets.ComplexNamespaceInputWidget.base.css',
+ 'resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.base.css',
),
),
'position' => 'top',
color: #BA0000;
}
-/* feed links */
-/* To be removed before 1.26 release, moved to mediawiki.feedlink module */
-a.feedlink {
- /* SVG support using a transparent gradient to guarantee cross-browser
- * compatibility (browsers able to understand gradient syntax support also SVG).
- * http://pauginer.tumblr.com/post/36614680636/invisible-gradient-technique */
- background-image: url(../mediawiki/images/feed-icon.png);
- background-image: -webkit-linear-gradient(transparent, transparent), url(../mediawiki/images/feed-icon.svg);
- background-image: linear-gradient(transparent, transparent), url(../mediawiki/images/feed-icon.svg);
- background-position: center left;
- background-repeat: no-repeat;
- background-size: 12px 12px;
- padding-left: 16px;
-}
-
/* Plainlinks - this can be used to switch
* off special external link styling */
.plainlinks a.external {
--- /dev/null
+/*!
+ * Styles for Special:MovePage
+ */
+
+.movepage-wrapper {
+ width: 50em;
+ margin: 1em 0;
+}
/*!
* JavaScript for Special:MovePage
*/
-jQuery( function ( $ ) {
- $( '#wpReason, #wpNewTitleMain' ).byteLimit();
+jQuery( function () {
+ OO.ui.infuse( 'wpNewTitle' );
+ OO.ui.infuse( 'wpReason' ).$input.byteLimit();
} );
--- /dev/null
+/*!
+ * MediaWiki Widgets - base ComplexTitleInputWidget styles.
+ *
+ * @copyright 2011-2015 MediaWiki Widgets Team and others; see AUTHORS.txt
+ * @license The MIT License (MIT); see LICENSE.txt
+ */
+
+.mw-widget-complexTitleInputWidget .mw-widget-namespaceInputWidget,
+.mw-widget-complexTitleInputWidget .mw-widget-titleInputWidget {
+ display: inline-block;
+}
+
+.mw-widget-complexTitleInputWidget .mw-widget-namespaceInputWidget {
+ max-width: 20em;
+ margin-right: 0.5em;
+}
+
+.mw-widget-complexTitleInputWidget .mw-widget-titleInputWidget {
+ max-width: 29.5em;
+}
--- /dev/null
+/*!
+ * MediaWiki Widgets - ComplexTitleInputWidget class.
+ *
+ * @copyright 2011-2015 MediaWiki Widgets Team and others; see AUTHORS.txt
+ * @license The MIT License (MIT); see LICENSE.txt
+ */
+( function ( $, mw ) {
+
+ /**
+ * Like TitleInputWidget, but the namespace has to be input through a separate dropdown field.
+ *
+ * @class
+ * @extends OO.ui.Widget
+ *
+ * @constructor
+ * @param {Object} [config] Configuration options
+ * @cfg {Object} namespace Configuration for the NamespaceInputWidget dropdown with list of
+ * namespaces
+ * @cfg {Object} title Configuration for the TitleInputWidget text field
+ */
+ mw.widgets.ComplexTitleInputWidget = function MwWidgetsComplexTitleInputWidget( config ) {
+ // Parent constructor
+ mw.widgets.ComplexTitleInputWidget.parent.call( this, config );
+
+ // Properties
+ this.namespace = new mw.widgets.NamespaceInputWidget( config.namespace );
+ this.title = new mw.widgets.TitleInputWidget( $.extend(
+ {},
+ config.title,
+ {
+ relative: true,
+ namespace: config.namespace.value || null
+ }
+ ) );
+
+ // Events
+ this.namespace.connect( this, { change: 'updateTitleNamespace' } );
+
+ // Initialization
+ this.$element
+ .addClass( 'mw-widget-complexTitleInputWidget' )
+ .append(
+ this.namespace.$element,
+ this.title.$element
+ );
+ this.updateTitleNamespace();
+ };
+
+ /* Setup */
+
+ OO.inheritClass( mw.widgets.ComplexTitleInputWidget, OO.ui.Widget );
+
+ /* Methods */
+
+ /**
+ * Update the namespace to use for search suggestions of the title when the value of namespace
+ * dropdown changes.
+ */
+ mw.widgets.ComplexTitleInputWidget.prototype.updateTitleNamespace = function () {
+ this.title.setNamespace( Number( this.namespace.getValue() ) );
+ };
+
+}( jQuery, mediaWiki ) );
*
* @constructor
* @param {Object} [config] Configuration options
- * @cfg {string|null} includeAllValue Value for "all namespaces" option, if any
+ * @cfg {string|null} [includeAllValue] Value for "all namespaces" option, if any
+ * @cfg {number[]} [exclude] List of namespace numbers to exclude from the selector
*/
mw.widgets.NamespaceInputWidget = function MwWidgetsNamespaceInputWidget( config ) {
// Configuration initialization
*/
mw.widgets.NamespaceInputWidget.prototype.getNamespaceDropdownOptions = function ( config ) {
var options,
+ exclude = config.exclude || [],
NS_MAIN = 0;
options = $.map( mw.config.get( 'wgFormattedNamespaces' ), function ( name, ns ) {
- if ( ns < NS_MAIN ) {
+ if ( ns < NS_MAIN || exclude.indexOf( Number( ns ) ) !== -1 ) {
return null; // skip
}
ns = String( ns );
/* Methods */
+ /**
+ * Get the namespace to prepend to titles in suggestions, if any.
+ *
+ * @return {number|null} Namespace number
+ */
+ mw.widgets.TitleInputWidget.prototype.getNamespace = function () {
+ return this.namespace;
+ };
+
+ /**
+ * Set the namespace to prepend to titles in suggestions, if any.
+ *
+ * @param {number|null} namespace Namespace number
+ */
+ mw.widgets.TitleInputWidget.prototype.setNamespace = function ( namespace ) {
+ this.namespace = namespace;
+ this.lookupCache = {};
+ this.closeLookupMenu();
+ };
+
/**
* @inheritdoc
*/
* To use, setup a {@link OO.ui.WindowManager window manager} like for normal
* dialogs:
*
- * var uploadDialog = new mw.Upload.Dialog( { size: 'small' } );
+ * var uploadDialog = new mw.Upload.Dialog();
* var windowManager = new OO.ui.WindowManager();
* $( 'body' ).append( windowManager.$element );
* windowManager.addWindows( [ uploadDialog ] );
/* Styles for links to RSS/Atom feeds in sidebar */
-/* Until the copy of this code in mediawiki.legacy.shared is removed, which no longer @embeds the
- * background image, the selector below must be kept more specific. */
-#feedlinks a.feedlink {
+a.feedlink {
/* SVG support using a transparent gradient to guarantee cross-browser
* compatibility (browsers able to understand gradient syntax support also SVG).
* http://pauginer.tumblr.com/post/36614680636/invisible-gradient-technique */
rules = sheet.cssRules || sheet.rules;
$.each( rules, function ( index, rule ) {
selectors.total++;
- if ( document.querySelector( rule.selectorText ) !== null ) {
- selectors.matched++;
- }
+ // document.querySelector() on prefixed pseudo-elements can throw exceptions
+ // in Firefox and Safari. Ignore these exceptions.
+ // https://bugs.webkit.org/show_bug.cgi?id=149160
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=1204880
+ try {
+ if ( document.querySelector( rule.selectorText ) !== null ) {
+ selectors.matched++;
+ }
+ } catch ( e ) {}
} );
document.body.removeChild( style );
return selectors;
// Add ready and error callbacks if they were given
if ( ready !== undefined || error !== undefined ) {
jobs.push( {
+ // Narrow down the list to modules that are worth waiting for
dependencies: $.grep( dependencies, function ( module ) {
var state = mw.loader.getState( module );
- return state === 'registered' || state === 'loaded' || state === 'loading';
+ return state === 'registered' || state === 'loaded' || state === 'loading' || state === 'executing';
} ),
ready: ready,
error: error
* @covers Linker::formatAutocomments
* @covers Linker::formatLinksInComment
*/
- public function testFormatComment( $expected, $comment, $title = false, $local = false ) {
+ public function testFormatComment( $expected, $comment, $title = false, $local = false, $wikiId = null ) {
+ $conf = new SiteConfiguration();
+ $conf->settings = array(
+ 'wgServer' => array(
+ 'enwiki' => '//en.example.org',
+ 'dewiki' => '//de.example.org',
+ ),
+ 'wgArticlePath' => array(
+ 'enwiki' => '/w/$1',
+ 'dewiki' => '/w/$1',
+ ),
+ );
+ $conf->suffixes = array( 'wiki' );
+
$this->setMwGlobals( array(
'wgScript' => '/wiki/index.php',
'wgArticlePath' => '/wiki/$1',
'wgWellFormedXml' => true,
'wgCapitalLinks' => true,
+ 'wgConf' => $conf,
) );
if ( $title === false ) {
$this->assertEquals(
$expected,
- Linker::formatComment( $comment, $title, $local )
+ Linker::formatComment( $comment, $title, $local, $wikiId )
);
}
- public static function provideCasesForFormatComment() {
+ public function provideCasesForFormatComment() {
+ $wikiId = 'enwiki'; // $wgConf has a fake entry for this
+
return array(
// Linker::formatComment
array(
"'''not bolded'''",
"'''not bolded'''",
),
+ array(
+ "try <script>evil</scipt> things",
+ "try <script>evil</scipt> things",
+ ),
// Linker::formatAutocomments
array(
'<a href="/wiki/Special:BlankPage#autocomment" title="Special:BlankPage">→</a><span dir="auto"><span class="autocomment">autocomment</span></span>',
'<a href="/wiki/Special:BlankPage#autocomment_containing_.2F.2A" title="Special:BlankPage">→</a><span dir="auto"><span class="autocomment">autocomment containing /*: </span> T70361</span>',
"/* autocomment containing /* */ T70361"
),
+ array(
+ '<a href="/wiki/Special:BlankPage#autocomment_containing_.22quotes.22" title="Special:BlankPage">→</a><span dir="auto"><span class="autocomment">autocomment containing "quotes"</span></span>',
+ "/* autocomment containing \"quotes\" */"
+ ),
+ array(
+ '<a href="/wiki/Special:BlankPage#autocomment_containing_.3Cscript.3Etags.3C.2Fscript.3E" title="Special:BlankPage">→</a><span dir="auto"><span class="autocomment">autocomment containing <script>tags</script></span></span>',
+ "/* autocomment containing <script>tags</script> */"
+ ),
array(
'<a href="#autocomment">→</a><span dir="auto"><span class="autocomment">autocomment</span></span>',
"/* autocomment */",
"/* autocomment */",
null
),
+ array(
+ '<a href="/wiki/Special:BlankPage#autocomment" title="Special:BlankPage">→</a><span dir="auto"><span class="autocomment">autocomment</span></span>',
+ "/* autocomment */",
+ false, false
+ ),
+ array(
+ '<a class="external" rel="nofollow" href="//en.example.org/w/Special:BlankPage#autocomment">→</a><span dir="auto"><span class="autocomment">autocomment</span></span>',
+ "/* autocomment */",
+ false, false, $wikiId
+ ),
// Linker::formatLinksInComment
array(
'abc <a href="/wiki/index.php?title=Link&action=edit&redlink=1" class="new" title="Link (page does not exist)">link</a> def',
'abc <a href="/wiki/index.php?title=/subpage&action=edit&redlink=1" class="new" title="/subpage (page does not exist)">/subpage</a> def',
"abc [[/subpage]] def",
),
+ array(
+ 'abc <a href="/wiki/index.php?title=%22evil!%22&action=edit&redlink=1" class="new" title=""evil!" (page does not exist)">"evil!"</a> def',
+ "abc [[\"evil!\"]] def",
+ ),
+ array(
+ 'abc [[<script>very evil</script>]] def',
+ "abc [[<script>very evil</script>]] def",
+ ),
+ array(
+ 'abc [[|]] def',
+ "abc [[|]] def",
+ ),
+ array(
+ 'abc <a href="/wiki/index.php?title=Link&action=edit&redlink=1" class="new" title="Link (page does not exist)">link</a> def',
+ "abc [[link]] def",
+ false, false
+ ),
+ array(
+ 'abc <a class="external" rel="nofollow" href="//en.example.org/w/Link">link</a> def',
+ "abc [[link]] def",
+ false, false, $wikiId
+ )
);
}
mw.loader.load( target );
} );
+ QUnit.asyncTest( 'mw.loader() executing race (T112232)', 2, function ( assert ) {
+ var done = false;
+
+ // The red herring schedules its CSS buffer first. In T112232, a bug in the
+ // state machine would cause the job for testRaceLoadMe to run with an earlier job.
+ mw.loader.implement(
+ 'testRaceRedHerring',
+ function () {},
+ { css: [ '.mw-testRaceRedHerring {}' ] }
+ );
+ mw.loader.implement(
+ 'testRaceLoadMe',
+ function () {
+ done = true;
+ },
+ { css: [ '.mw-testRaceLoadMe { float: left; }' ] }
+ );
+
+ mw.loader.load( [ 'testRaceRedHerring', 'testRaceLoadMe' ] );
+ mw.loader.using( 'testRaceLoadMe', function () {
+ assert.strictEqual( done, true, 'script ran' );
+ assert.strictEqual( mw.loader.getState( 'testRaceLoadMe' ), 'ready', 'state' );
+ } ).always( QUnit.start );
+ } );
+
QUnit.test( 'mw.html', 13, function ( assert ) {
assert.throws( function () {
mw.html.escape();