exceptions, largely so the API can handle them more sensibly.
* Blocks created automatically by MediaWiki, such as for configured proxies or
dnsbls, are now indicated as such and use a new i18n message when displayed.
+* Added new $wgHTTPImportTimeout setting. Sets timeout for
+ downloading the XML dump during a transwiki import in seconds.
=== External library changes in 1.29 ===
* FSRepo (deprecated in 1.19) was removed.
* WebRequest::checkSessionCookie() (deprecated in 1.27) was removed. Use
\MediaWiki\Session\SessionManager::singleton()->getPersistedSessionId() instead.
+* Class ImageGallery (deprecated in 1.22) was removed.
+ Use ImageGalleryBase::factory instead.
+* Title::moveNoAuth() (deprecated in 1.25) was removed. Use MovePage class instead.
+* Hook UnknownAction (deprecated in 1.19) was actually deprecated (it will now emit warnings).
+ Create a subclass of Action, and add it to $wgActions instead.
+* WikiRevision:getText() (deprecated since 1.21) is no longer marked deprecated.
== Compatibility ==
'IdentityCollation' => __DIR__ . '/includes/collation/IdentityCollation.php',
'ImageBuilder' => __DIR__ . '/maintenance/rebuildImages.php',
'ImageCleanup' => __DIR__ . '/maintenance/cleanupImages.php',
- 'ImageGallery' => __DIR__ . '/includes/gallery/TraditionalImageGallery.php',
'ImageGalleryBase' => __DIR__ . '/includes/gallery/ImageGalleryBase.php',
'ImageHandler' => __DIR__ . '/includes/media/ImageHandler.php',
'ImageHistoryList' => __DIR__ . '/includes/page/ImageHistoryList.php',
"ext-xml": "*",
"liuggio/statsd-php-client": "1.0.18",
"mediawiki/at-ease": "1.1.0",
- "oojs/oojs-ui": "0.18.2",
+ "oojs/oojs-ui": "0.18.3",
"oyejorge/less.php": "1.7.0.10",
"php": ">=5.5.9",
"psr/log": "1.0.0",
test case files matching the suffix "Test.php".
&$paths: list of test cases and directories to search.
-'UnknownAction': An unknown "action" has occurred (useful for defining your own
-actions).
+'UnknownAction': DEPRECATED! To add an action in an extension,
+create a subclass of Action, and add a new key to $wgActions.
+An unknown "action" has occurred (useful for defining your own actions).
$action: action name
$article: article "acted on"
return false;
}
+ // Avoid PHP 7.1 warning of passing $this by reference
+ $block = $this;
# Allow hooks to cancel the autoblock.
- if ( !Hooks::run( 'AbortAutoblock', [ $autoblockIP, &$this ] ) ) {
+ if ( !Hooks::run( 'AbortAutoblock', [ $autoblockIP, &$block ] ) ) {
wfDebug( "Autoblock aborted by hook.\n" );
return false;
}
*/
$wgHTTPTimeout = 25;
+/**
+ * Timeout for HTTP requests done internally for transwiki imports, in seconds.
+ * @since 1.29
+ */
+$wgHTTPImportTimeout = 25;
+
/**
* Timeout for Asynchronous (background) HTTP requests, in seconds.
*/
throw new MWException( 'Invalid callback ' . $func . ' in hooks for ' . $event . "\n" );
}
- /*
- * Call the hook. The documentation of call_user_func_array says
- * false is returned on failure. However, if the function signature
- * does not match the call signature, PHP will issue an warning and
- * return null instead. The following code catches that warning and
- * provides better error message.
- */
- $retval = null;
- $badhookmsg = null;
- $hook_args = array_merge( $hook, $args );
-
// mark hook as deprecated, if deprecation version is specified
if ( $deprecatedVersion !== null ) {
wfDeprecated( "$event hook (used in $func)", $deprecatedVersion );
}
+ // Call the hook.
+ $hook_args = array_merge( $hook, $args );
$retval = call_user_func_array( $callback, $hook_args );
// Process the return value.
$action->show();
return;
}
-
- if ( Hooks::run( 'UnknownAction', [ $request->getVal( 'action', 'view' ), $page ] ) ) {
+ // NOTE: deprecated hook. Add to $wgActions instead
+ if ( Hooks::run(
+ 'UnknownAction',
+ [
+ $request->getVal( 'action', 'view' ),
+ $page
+ ],
+ '1.19'
+ ) ) {
$output->setStatusCode( 404 );
$output->showErrorPage( 'nosuchaction', 'nosuchactiontext' );
}
}
}
+ // Avoid PHP 7.1 warning of passing $this by reference
+ $outputPage = $this;
# Add the remaining categories to the skin
if ( Hooks::run(
'OutputPageMakeCategoryLinks',
- [ &$this, $categories, &$this->mCategoryLinks ] )
+ [ &$outputPage, $categories, &$this->mCategoryLinks ] )
) {
$linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
foreach ( $categories as $category => $type ) {
// Link flags are ignored for now, but may in the future be
// used to mark individual language links.
$linkFlags = [];
+ // Avoid PHP 7.1 warning of passing $this by reference
+ $outputPage = $this;
Hooks::run( 'LanguageLinks', [ $this->getTitle(), &$this->mLanguageLinks, &$linkFlags ] );
- Hooks::run( 'OutputPageParserOutput', [ &$this, $parserOutput ] );
+ Hooks::run( 'OutputPageParserOutput', [ &$outputPage, $parserOutput ] );
}
/**
*/
public function addParserOutputText( $parserOutput ) {
$text = $parserOutput->getText();
- Hooks::run( 'OutputPageBeforeHTML', [ &$this, &$text ] );
+ // Avoid PHP 7.1 warning of passing $this by reference
+ $outputPage = $this;
+ Hooks::run( 'OutputPageBeforeHTML', [ &$outputPage, &$text ] );
$this->addHTML( $text );
}
}
MWDebug::addModules( $this );
+ // Avoid PHP 7.1 warning of passing $this by reference
+ $outputPage = $this;
// Hook that allows last minute changes to the output page, e.g.
// adding of CSS or Javascript by extensions.
- Hooks::run( 'BeforePageDisplay', [ &$this, &$sk ] );
+ Hooks::run( 'BeforePageDisplay', [ &$outputPage, &$sk ] );
try {
$sk->outputPage();
);
}
- Hooks::run( 'RevisionInsertComplete', [ &$this, $data, $flags ] );
+ // Avoid PHP 7.1 warning of passing $this by reference
+ $revision = $this;
+ Hooks::run( 'RevisionInsertComplete', [ &$revision, $data, $flags ] );
return $this->mId;
}
);
}
- /**
- * Move this page without authentication
- *
- * @deprecated since 1.25 use MovePage class instead
- * @param Title $nt The new page Title
- * @return array|bool True on success, getUserPermissionsErrors()-like array on failure
- */
- public function moveNoAuth( &$nt ) {
- wfDeprecated( __METHOD__, '1.25' );
- return $this->moveTo( $nt, false );
- }
-
/**
* Check whether a given move operation would be valid.
* Returns true if ok, or a getUserPermissionsErrors()-like array otherwise
class ApiClearHasMsg extends ApiBase {
public function execute() {
$user = $this->getUser();
- if ( $this->getRequest()->wasPosted() ) {
- $user->setNewtalk( false );
- } else {
- DeferredUpdates::addCallableUpdate( function () use ( $user ) {
- $user->setNewtalk( false );
- } );
- }
+ $user->setNewtalk( false );
$this->getResult()->addValue( null, $this->getModuleName(), 'success' );
}
$user = $this->getUrUser( $params );
+ $tags = $params['tags'];
+
+ // Check if user can add tags
+ if ( !is_null( $tags ) ) {
+ $ableToTag = ChangeTags::canAddTagsAccompanyingChange( $tags, $pUser );
+ if ( !$ableToTag->isOK() ) {
+ $this->dieStatus( $ableToTag );
+ }
+ }
+
$form = $this->getUserRightsPage();
$form->setContext( $this->getContext() );
$r['user'] = $user->getName();
$r['userid'] = $user->getId();
list( $r['added'], $r['removed'] ) = $form->doSaveUserGroups(
$user, (array)$params['add'],
- (array)$params['remove'], $params['reason']
+ (array)$params['remove'], $params['reason'], $tags
);
$result = $this->getResult();
// Standard definition automatically inserted
ApiBase::PARAM_HELP_MSG_APPEND => [ 'api-help-param-token-webui' ],
],
+ 'tags' => [
+ ApiBase::PARAM_TYPE => 'tags',
+ ApiBase::PARAM_ISMULTI => true
+ ],
];
}
{
"@metadata": {
"authors": [
- "Y-M D"
+ "Y-M D",
+ "Fulup"
]
},
"apihelp-block-description": "Stankañ un implijer",
"apihelp-block-param-reason": "Abeg evit stankañ.",
+ "apihelp-createaccount-description": "Krouiñ ur gont implijer nevez.",
"apihelp-createaccount-param-name": "Anv implijer.",
"apihelp-delete-description": "Diverkañ ur bajenn.",
+ "apihelp-edit-description": "Krouiñ pajennoù ha kemmañ anezho.",
+ "apihelp-edit-param-sectiontitle": "Titl ur rannbennad nevez.",
"apihelp-edit-param-text": "Danvez ar bajenn.",
"apihelp-edit-param-minor": "Kemmig dister.",
"apihelp-edit-example-edit": "Kemmañ ur bajenn.",
+ "apihelp-emailuser-description": "Kas ur postel d'un implijer.",
+ "apihelp-emailuser-param-text": "Korf ar postel.",
"apihelp-expandtemplates-param-title": "Titl ar bajenn.",
+ "apihelp-feedcontributions-param-year": "Adalek ar bloaz (ha koshoc'h)",
+ "apihelp-feedcontributions-param-month": "Adalek ar miz (ha koshoc'h).",
+ "apihelp-feedcontributions-param-hideminor": "Kuzhat ar c'hemmoù dister.",
+ "apihelp-feedrecentchanges-param-hideminor": "Kuzhat ar c'hemmoù dister.",
+ "apihelp-feedrecentchanges-param-tagfilter": "Silañ dre dikedennoù.",
+ "apihelp-feedrecentchanges-example-simple": "Diskouez ar c'hemmoù diwezhañ.",
"apihelp-login-param-name": "Anv implijer.",
"apihelp-login-param-password": "Ger-tremen.",
+ "apihelp-login-param-domain": "Domani (diret).",
"apihelp-login-example-login": "Kevreañ.",
+ "apihelp-move-description": "Dilec'hiañ ur bajenn.",
+ "apihelp-move-param-noredirect": "Chom hep krouiñ un adkas.",
"apihelp-protect-example-protect": "Gwareziñ ur bajenn."
}
"apihelp-userrights-param-add": "Fügt den Benutzer zu diesen Gruppen hinzu.",
"apihelp-userrights-param-remove": "Entfernt den Benutzer von diesen Gruppen.",
"apihelp-userrights-param-reason": "Grund für die Änderung.",
+ "apihelp-userrights-param-tags": "Auf den Eintrag im Benutzerrechte-Logbuch anzuwendende Änderungsmarkierungen.",
"apihelp-validatepassword-description": "Validiert ein Passwort gegen die Passwortrichtlinien des Wikis.\n\nDie Validität wird als <samp>Good</samp> gemeldet, falls das Passwort akzeptabel ist, <samp>Change</samp>, falls das Passwort zur Anmeldung verwendet werden kann, jedoch geändert werden muss oder <samp>Invalid</samp>, falls das Passwort nicht verwendbar ist.",
"apihelp-validatepassword-param-password": "Zu validierendes Passwort.",
"apihelp-validatepassword-param-user": "Der beim Austesten der Benutzerkontenerstellung verwendete Benutzername. Der angegebene Benutzer darf nicht vorhanden sein.",
"apihelp-userrights-param-add": "Add the user to these groups.",
"apihelp-userrights-param-remove": "Remove the user from these groups.",
"apihelp-userrights-param-reason": "Reason for the change.",
+ "apihelp-userrights-param-tags": "Change tags to apply to the entry in the user rights log.",
"apihelp-userrights-example-user": "Add user <kbd>FooBot</kbd> to group <kbd>bot</kbd>, and remove from groups <kbd>sysop</kbd> and <kbd>bureaucrat</kbd>.",
"apihelp-userrights-example-userid": "Add the user with ID <kbd>123</kbd> to group <kbd>bot</kbd>, and remove from groups <kbd>sysop</kbd> and <kbd>bureaucrat</kbd>.",
"apihelp-cspreport-param-reportonly": "Marquer comme étant un rapport d’une politique de surveillance, et non une politique exigée",
"apihelp-cspreport-param-source": "Ce qui a généré l’entête CSP qui a déclenché ce rapport",
"apihelp-delete-description": "Supprimer une page.",
- "apihelp-delete-param-title": "Titre de la page que vous voulez supprimer. Impossible de l’utiliser avec <var>$1pageid</var>.",
+ "apihelp-delete-param-title": "Titre de la page que vous voulez supprimer. Impossible à utiliser avec <var>$1pageid</var>.",
"apihelp-delete-param-pageid": "ID de la page que vous voulez supprimer. Impossible à utiliser avec <var>$1title</var>.",
"apihelp-delete-param-reason": "Motif de suppression. Si non défini, un motif généré automatiquement sera utilisé.",
"apihelp-delete-param-tags": "Modifier les balises à appliquer à l’entrée dans le journal des suppressions.",
"apihelp-userrights-param-add": "Ajouter l’utilisateur à ces groupes.",
"apihelp-userrights-param-remove": "Supprimer l’utilisateur de ces groupes.",
"apihelp-userrights-param-reason": "Motif pour la modification.",
+ "apihelp-userrights-param-tags": "Modifier les balises à appliquer à l’entrée dans le journal des droits utilisateur.",
"apihelp-userrights-example-user": "Ajouter l’utilisateur <kbd>FooBot</kbd> au groupe <kbd>bot</kbd>, et le supprimer des groupes <kbd>sysop</kbd> et <kbd>bureaucrat</kbd>.",
"apihelp-userrights-example-userid": "Ajouter l’utilisateur d’ID <kbd>123</kbd> au groupe <kbd>robot</kbd>, et le supprimer des groupes <kbd>sysop</kbd> et <kbd>bureaucrate</kbd>.",
"apihelp-validatepassword-description": "Valider un mot de passe en suivant les règles des mots de passe du wiki.\n\nLa validation est <samp>Good</samp> si le mot de passe est acceptable, <samp>Change</samp> s'il peut être utilisé pour se connecter et doit être changé, ou <samp>Invalid</samp> s'il n'est pas utilisable.",
"apihelp-userrights-param-userid": "利用者ID。",
"apihelp-userrights-param-add": "利用者をこのグループに追加します。",
"apihelp-userrights-param-reason": "変更の理由。",
+ "apihelp-watch-description": "現在の利用者のウォッチリストにページを追加/除去します。",
"apihelp-watch-example-watch": "<kbd>Main Page</kbd> をウォッチする。",
"apihelp-watch-example-unwatch": "<kbd>Main Page</kbd> のウォッチを解除する。",
"apihelp-format-example-generic": "クエリの結果を $1 形式に返します。",
"apihelp-emailuser-param-text": "Treść emaila.",
"apihelp-emailuser-param-ccme": "Wyślij kopię wiadomości do mnie.",
"apihelp-emailuser-example-email": "Wyślij e-mail do użytkownika <kbd>WikiSysop</kbd> z tekstem <kbd>Content</kbd>.",
- "apihelp-expandtemplates-description": "Rozwiń wszystkie szablony w wikitexcie.",
+ "apihelp-expandtemplates-description": "Rozwija wszystkie szablony zawarte w wikitekście.",
"apihelp-expandtemplates-param-title": "Tytuł strony.",
"apihelp-expandtemplates-param-text": "Wikitext do przekonwertowania.",
+ "apihelp-expandtemplates-param-revid": "ID wersji, dla <nowiki>{{REVISIONID}}</nowiki> i podobnych zmiennych.",
"apihelp-expandtemplates-paramvalue-prop-wikitext": "Rozszerzony wikitext.",
+ "apihelp-feedcontributions-description": "Zwraca kanał wkładu użytkownika.",
"apihelp-feedcontributions-param-feedformat": "Format danych wyjściowych.",
+ "apihelp-feedcontributions-param-user": "Jakich użytkowników pobrać wkład.",
+ "apihelp-feedcontributions-param-namespace": "Z jakiej przestrzeni nazw wyświetlać wkład użytkownika.",
"apihelp-feedcontributions-param-year": "Od roku (i wcześniej).",
"apihelp-feedcontributions-param-month": "Od miesiąca (i wcześniej).",
+ "apihelp-feedcontributions-param-tagfilter": "Pokaż tylko wkład z tymi znacznikami.",
"apihelp-feedcontributions-param-deletedonly": "Pokazuj tylko usunięty wkład.",
"apihelp-feedcontributions-param-toponly": "Pokazuj tylko edycje będące ostatnią zmianą strony.",
"apihelp-feedcontributions-param-newonly": "Pokazuj tylko edycje tworzące stronę.",
"apihelp-feedcontributions-param-hideminor": "Ukryj drobne zmiany.",
"apihelp-feedcontributions-param-showsizediff": "Pokaż różnicę rozmiaru między wersjami.",
+ "apihelp-feedcontributions-example-simple": "Zwróć liste edycji dokonanych przez użytkownika <kbd>Example</kbd>.",
+ "apihelp-feedrecentchanges-description": "Zwraca kanał ostatnich zmian.",
"apihelp-feedrecentchanges-param-feedformat": "Format danych wyjściowych.",
"apihelp-feedrecentchanges-param-namespace": "Przestrzeń nazw, do której ograniczone są wyniki.",
"apihelp-feedrecentchanges-param-invert": "Wszystkie przestrzenie nazw oprócz wybranej.",
+ "apihelp-feedrecentchanges-param-associated": "Uwzględnij powiązaną przestrzeń nazw (dyskusja lub treść).",
"apihelp-feedrecentchanges-param-days": "Dni, do których ograniczone są wyniki.",
"apihelp-feedrecentchanges-param-limit": "Maksymalna liczba zwracanych wyników.",
"apihelp-feedrecentchanges-param-from": "Pokaż zmiany od tamtej chwili.",
"apihelp-feedrecentchanges-param-hideliu": "Ukryj zmiany zrobione przez zarejestrowanych użytkowników.",
"apihelp-feedrecentchanges-param-hidepatrolled": "Ukryj sprawdzone zmiany.",
"apihelp-feedrecentchanges-param-hidemyself": "Ukryj zmiany zrobione przez obecnego użytkownika.",
+ "apihelp-feedrecentchanges-param-hidecategorization": "Ukryj zmiany w kategoryzacji.",
"apihelp-feedrecentchanges-param-tagfilter": "Filtruj po znacznikach.",
+ "apihelp-feedrecentchanges-param-target": "Pokaż tylko zmiany na stronach linkowanych z tej strony.",
+ "apihelp-feedrecentchanges-param-showlinkedto": "Pokaż zmiany na stronach linkujących do wybranej strony.",
+ "apihelp-feedrecentchanges-param-categories": "Pokaż zmiany tylko na stronach będących we wszystkich tych kategoriach.",
+ "apihelp-feedrecentchanges-param-categories_any": "Pokaż zmiany tylko na stronach będących w jednej z tych kategorii.",
"apihelp-feedrecentchanges-example-simple": "Pokaż ostatnie zmiany.",
"apihelp-feedrecentchanges-example-30days": "Pokaż ostatnie zmiany z 30 dni.",
+ "apihelp-feedwatchlist-description": "Zwraca kanał listy obserwowanych.",
+ "apihelp-feedwatchlist-param-feedformat": "Format kanału.",
+ "apihelp-feedwatchlist-param-hours": "Wymień strony zmienione w ciągu tylu godzin licząc od teraz.",
+ "apihelp-feedwatchlist-param-linktosections": "Linkuj bezpośrednio do zmienionych sekcji jeżeli to możliwe.",
+ "apihelp-feedwatchlist-example-default": "Pokaż kanał listy obserwowanych.",
+ "apihelp-feedwatchlist-example-all6hrs": "Pokaż wszystkie zmiany na obserwowanych stronach dokonane w ciągu ostatnich 6 godzin.",
"apihelp-filerevert-description": "Przywróć plik do starej wersji.",
"apihelp-filerevert-param-filename": "Docelowa nazwa pliku bez prefiksu Plik:",
"apihelp-filerevert-param-comment": "Prześlij komentarz.",
"apihelp-filerevert-example-revert": "Przywróć <kbd>Wiki.png</kbd> do wersji z <kbd>2011-03-05T15:27:40Z</kbd>.",
"apihelp-help-description": "Wyświetl pomoc dla określonych modułów.",
"apihelp-help-param-modules": "Moduły do wyświetlenia pomocy dla (wartości <var>action</var> i <var>format</var> parametry, lub <kbd>main</kbd>). Może określić podmoduły z <kbd>+</kbd>.",
+ "apihelp-help-param-submodules": "Dołącz pomoc podmodułów nazwanego modułu.",
"apihelp-help-param-recursivesubmodules": "Zawiera pomoc dla podmodułów rekursywnie.",
"apihelp-help-param-helpformat": "Format wyjściowy pomocy.",
"apihelp-help-param-toc": "Dołącz spis treści do wyjściowego HTML.",
"apihelp-login-example-login": "Zaloguj się",
"apihelp-logout-description": "Wyloguj i wyczyść dane sesji.",
"apihelp-logout-example-logout": "Wyloguj obecnego użytkownika.",
+ "apihelp-managetags-description": "Wykonywanie zadań związanych z zarządzaniem znacznikami zmian.",
+ "apihelp-managetags-param-operation": "Jakiej operacji dokonać:\n;create:Stworzenie nowego znacznika zmian do ręcznego użycia.\n;delete:Usunięcie znacznika zmian z bazy danych, włącznie z usunięciem danego znacznika z wszystkich oznaczonych nim zmian i wpisów rejestru i ostatnich zmian.\n;activate:Aktywuj znacznik zmian, użytkownicy będą mogli go ręcznie przypisywać.\n;deactivate:Dezaktywuj znacznik zmian, użytkownicy nie będą mogli przypisywać go ręcznie.",
+ "apihelp-managetags-param-tag": "Znacznik do utworzenia, usunięcia, aktywacji lub dezaktywacji. Do utworzenia znacznika, nazwa nie misi istnieć. Do usunięcia znacznika, musi on istnieć. Do aktywacji znacznika, musi on istnieć i nie może być w użyciu przez żadne rozszerzenie. Do dezaktywowania znacznika, musi on być do tej pory aktywowany i ręcznie zdefiniowany.",
"apihelp-managetags-param-reason": "Opcjonalny powód utworzenia, usunięcia, włączenia lub wyłączenia znacznika.",
"apihelp-managetags-param-ignorewarnings": "Czy zignorować ostrzeżenia, które pojawiają się w trakcie operacji.",
+ "apihelp-managetags-example-create": "Stworzenie znacznika o nazwie <kbd>spam</kbd> z powodem <kbd>For use in edit patrolling</kbd>",
+ "apihelp-managetags-example-delete": "Usunięcie znacznika <kbd>vandlaism</kbd> z powodu <kbd>Misspelt</kbd>",
+ "apihelp-managetags-example-activate": "Aktywacja znacznika o nazwie <kbd>spam</kbd> z powodem <kbd>For use in edit patrolling</kbd>",
+ "apihelp-managetags-example-deactivate": "Dezaktywacja znacznika o nazwie <kbd>spam</kbd> z powodu <kbd>No longer required</kbd>",
"apihelp-mergehistory-description": "Łączenie historii edycji.",
+ "apihelp-mergehistory-param-from": "Tytuł strony, z której historia ma zostać połączona. Nie może być używane z <var>$1fromid</var>.",
+ "apihelp-mergehistory-param-fromid": "ID strony, z której historia ma zostać połączona. Nie może być używane z <var>$1from</var>.",
+ "apihelp-mergehistory-param-to": "Tytuł strony, z którą połączyć historię. Nie może być używane z <var>$1toid</var>.",
+ "apihelp-mergehistory-param-toid": "ID strony, z którą połączyć historię. Nie może być używane z <var>$1to</var>.",
"apihelp-mergehistory-param-reason": "Powód łączenia historii.",
+ "apihelp-mergehistory-example-merge": "Połącz całą historię strony <kbd>Oldpage</kbd> ze stroną <kbd>Newpage</kbd>.",
"apihelp-move-description": "Przenieś stronę.",
"apihelp-move-param-to": "Tytuł na jaki zmienić nazwę strony.",
"apihelp-move-param-reason": "Powód zmiany nazwy.",
"apihelp-userrights-param-add": "{{doc-apihelp-param|userrights|add}}",
"apihelp-userrights-param-remove": "{{doc-apihelp-param|userrights|remove}}",
"apihelp-userrights-param-reason": "{{doc-apihelp-param|userrights|reason}}",
+ "apihelp-userrights-param-tags": "{{doc-apihelp-param|userrights|tags}}",
"apihelp-userrights-example-user": "{{doc-apihelp-example|userrights}}",
"apihelp-userrights-example-userid": "{{doc-apihelp-example|userrights}}",
"apihelp-validatepassword-description": "{{doc-apihelp-description|validatepassword}}",
"apihelp-jsonfm-description": "{{doc-apihelp-description|jsonfm|seealso=* {{msg-mw|apihelp-json-description}}}}",
"apihelp-none-description": "{{doc-apihelp-description|none}}",
"apihelp-php-description": "{{doc-apihelp-description|php|seealso=* {{msg-mw|apihelp-phpfm-description}}}}",
- "apihelp-php-param-formatversion": "{{doc-apihelp-param|json|formatversion}}",
+ "apihelp-php-param-formatversion": "{{doc-apihelp-param|php|formatversion}}",
"apihelp-phpfm-description": "{{doc-apihelp-description|phpfm|seealso=* {{msg-mw|apihelp-php-description}}}}",
"apihelp-rawfm-description": "{{doc-apihelp-description|rawfm|seealso=* {{msg-mw|apihelp-raw-description}}}}",
"apihelp-xml-description": "{{doc-apihelp-description|xml|seealso=* {{msg-mw|apihelp-xmlfm-description}}}}",
"apihelp-userrights-param-add": "Добавить пользователя в эти группы.",
"apihelp-userrights-param-remove": "Удалить пользователя из этих групп.",
"apihelp-userrights-param-reason": "Причина изменений",
+ "apihelp-userrights-param-tags": "Изменить теги для подачи заявки на запись в журнале прав пользователей.",
"apihelp-watch-example-watch": "Следить за страницей <kbd>Main Page</kbd>.",
"apihelp-watch-example-unwatch": "Не следить за страницей <kbd>Main Page</kbd>.",
"apihelp-json-description": "Выходные данные в формате json.",
"apihelp-userrights-param-add": "将用户加入至这些组中。",
"apihelp-userrights-param-remove": "将用户从这些组中移除。",
"apihelp-userrights-param-reason": "更改原因。",
+ "apihelp-userrights-param-tags": "要在用户权限日志中应用到实体的更改标签。",
"apihelp-userrights-example-user": "将用户<kbd>FooBot</kbd>添加至<kbd>bot</kbd>用户组,并从<kbd>sysop</kbd>和<kbd>bureaucrat</kbd>组移除。",
"apihelp-userrights-example-userid": "将ID为<kbd>123</kbd>的用户加入至<kbd>机器人</kbd>组,并将其从<kbd>管理员</kbd>和<kbd>行政员</kbd>组移除。",
"apihelp-validatepassword-description": "验证密码是否符合wiki的密码方针。\n\n如果密码可以接受,就报告有效性为<samp>Good</samp>,如果密码可用于登录但必须更改,则报告为<samp>Change</samp>,或如果密码不可使用,则报告为<samp>Invalid</samp>。",
protected function getModules() {
return [ 'mediawiki.page.gallery.slideshow' ];
}
+
+ public function setAdditionalOptions( $params ) {
+ $this->mAttribs['data-showthumbnails'] = isset( $params['showthumbnails'] );
+ }
}
protected function adjustImageParameters( $thumb, &$imageParameters ) {
}
}
-
-/**
- * Backwards compatibility. This always uses traditional mode
- * if called the old way, for extensions that may expect traditional
- * mode.
- *
- * @deprecated since 1.22 Use ImageGalleryBase::factory instead.
- */
-class ImageGallery extends TraditionalImageGallery {
- function __construct( $mode = 'traditional' ) {
- wfDeprecated( __METHOD__, '1.22' );
- parent::__construct( $mode );
- }
-}
* @return Status
*/
static function newFromURL( $url, $method = 'GET' ) {
+ global $wgHTTPImportTimeout;
wfDebug( __METHOD__ . ": opening $url\n" );
# Use the standard HTTP fetch function; it times out
# quicker and sorts out user-agent problems which might
# otherwise prevent importing from large sites, such
# as the Wikimedia cluster, etc.
- $data = Http::request( $method, $url, [ 'followRedirects' => true ], __METHOD__ );
+ $data = Http::request(
+ $method,
+ $url,
+ [
+ 'followRedirects' => true,
+ 'timeout' => $wgHTTPImportTimeout
+ ],
+ __METHOD__
+ );
if ( $data !== false ) {
$file = tmpfile();
fwrite( $file, $data );
private $importTitleFactory;
/** @var array */
private $countableCache = [];
+ /** @var bool */
+ private $disableStatisticsUpdate = false;
/**
* Creates an ImportXMLReader drawing from the source provided
$this->mImportUploads = $import;
}
+ /**
+ * Statistics update can cause a lot of time
+ * @since 1.29
+ */
+ public function disableStatisticsUpdate() {
+ $this->disableStatisticsUpdate = true;
+ }
+
/**
* Default per-page callback. Sets up some things related to site statistics
* @param array $titleAndForeignTitle Two-element array, with Title object at
// suffers from issues of replica DB lag. We let WikiPage handle the total page
// and revision count, and we implement our own custom logic for the
// article (content page) count.
- $page = WikiPage::factory( $title );
- $page->loadPageData( 'fromdbmaster' );
- $content = $page->getContent();
- if ( $content === null ) {
- wfDebug( __METHOD__ . ': Skipping article count adjustment for ' . $title .
- ' because WikiPage::getContent() returned null' );
- } else {
- $editInfo = $page->prepareContentForEdit( $content );
- $countKey = 'title_' . $title->getPrefixedText();
- $countable = $page->isCountable( $editInfo );
- if ( array_key_exists( $countKey, $this->countableCache ) &&
- $countable != $this->countableCache[$countKey] ) {
- DeferredUpdates::addUpdate( SiteStatsUpdate::factory( [
- 'articles' => ( (int)$countable - (int)$this->countableCache[$countKey] )
- ] ) );
+ if ( !$this->disableStatisticsUpdate ) {
+ $page = WikiPage::factory( $title );
+ $page->loadPageData( 'fromdbmaster' );
+ $content = $page->getContent();
+ if ( $content === null ) {
+ wfDebug( __METHOD__ . ': Skipping article count adjustment for ' . $title .
+ ' because WikiPage::getContent() returned null' );
+ } else {
+ $editInfo = $page->prepareContentForEdit( $content );
+ $countKey = 'title_' . $title->getPrefixedText();
+ $countable = $page->isCountable( $editInfo );
+ if ( array_key_exists( $countKey, $this->countableCache ) &&
+ $countable != $this->countableCache[$countKey] ) {
+ DeferredUpdates::addUpdate( SiteStatsUpdate::factory( [
+ 'articles' => ( (int)$countable - (int)$this->countableCache[$countKey] )
+ ] ) );
+ }
}
}
"config-download-localsettings": "Jaitsi <code>LocalSettings.php</code>",
"config-help": "Laguntza",
"config-help-tooltip": "sakatu zabaltzeko",
- "mainpagetext": "'''MediaWiki arrakastaz instalatu da.'''",
+ "mainpagetext": "<strong>MediaWiki instalatu da.</strong>",
"mainpagedocfooter": "Ikus [https://meta.wikimedia.org/wiki/Help:Contents Erabiltzaile Gida] wiki softwarea erabiltzen hasteko informazio gehiagorako.\n\n== Nola hasi ==\n\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Konfigurazio balioen zerrenda]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ (Maiz egindako galderak)]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWikiren argitalpenen posta zerrenda]"
}
* @see https://www.percona.com/doc/percona-toolkit/2.1/pt-heartbeat.html
*/
protected function getHeartbeatData( array $conds ) {
- $whereSQL = $this->makeList( $conds, self::LIST_AND );
- // Use ORDER BY for channel based queries since that field might not be UNIQUE.
- // Note: this would use "TIMESTAMPDIFF(MICROSECOND,ts,UTC_TIMESTAMP(6))" but the
- // percision field is not supported in MySQL <= 5.5.
- $res = $this->query(
- "SELECT ts FROM heartbeat.heartbeat WHERE $whereSQL ORDER BY ts DESC LIMIT 1"
- );
- $row = $res ? $res->fetchObject() : false;
+ // Do not bother starting implicit transactions here
+ $this->clearFlag( self::DBO_TRX, self::REMEMBER_PRIOR );
+ try {
+ $whereSQL = $this->makeList( $conds, self::LIST_AND );
+ // Use ORDER BY for channel based queries since that field might not be UNIQUE.
+ // Note: this would use "TIMESTAMPDIFF(MICROSECOND,ts,UTC_TIMESTAMP(6))" but the
+ // percision field is not supported in MySQL <= 5.5.
+ $res = $this->query(
+ "SELECT ts FROM heartbeat.heartbeat WHERE $whereSQL ORDER BY ts DESC LIMIT 1"
+ );
+ $row = $res ? $res->fetchObject() : false;
+ } finally {
+ $this->restoreFlags();
+ }
return [ $row ? $row->ts : null, microtime( true ) ];
}
$searchBase = "[{<\n"; # }
if ( !$wgDisableLangConversion ) {
- $searchBase .= '-';
+ // FIXME: disabled due to T153761
+ // $searchBase .= '-';
}
// For fast reverse searches
$searchBase = "[{<\n";
if ( !$wgDisableLangConversion ) {
- $searchBase .= '-';
+ // FIXME: disabled due to T153761
+ // $searchBase .= '-';
}
// For fast reverse searches
],
];
- $form = new HTMLForm( $fields, $this->getContext() );
+ $form = HTMLForm::factory( 'ooui', $fields, $this->getContext() );
$form->setAction( $this->getPageTitle( 'create' )->getLocalURL() );
$form->setWrapperLegendMsg( 'tags-create-heading' );
$form->setHeaderText( $this->msg( 'tags-create-explanation' )->parseAsBlock() );
$out->parse( $status->getWikiText() ) .
$this->msg( 'tags-create-warnings-below' )->parseAsBlock();
- $subform = new HTMLForm( $fields, $this->getContext() );
+ $subform = HTMLForm::factory( 'ooui', $fields, $this->getContext() );
$subform->setAction( $this->getPageTitle( 'create' )->getLocalURL() );
$subform->setWrapperLegendMsg( 'tags-create-heading' );
$subform->setHeaderText( $headerText );
'required' => true,
];
- $form = new HTMLForm( $fields, $this->getContext() );
+ $form = HTMLForm::factory( 'ooui', $fields, $this->getContext() );
$form->setAction( $this->getPageTitle( 'delete' )->getLocalURL() );
$form->tagAction = 'delete'; // custom property on HTMLForm object
$form->setSubmitCallback( [ $this, 'processTagForm' ] );
'required' => true,
];
- $form = new HTMLForm( $fields, $this->getContext() );
+ $form = HTMLForm::factory( 'ooui', $fields, $this->getContext() );
$form->setAction( $this->getPageTitle( $actionStr )->getLocalURL() );
$form->tagAction = $actionStr;
$form->setSubmitCallback( [ $this, 'processTagForm' ] );
* @param array $add Array of groups to add
* @param array $remove Array of groups to remove
* @param string $reason Reason for group change
+ * @param array $tags Array of change tags to add to the log entry
* @return array Tuple of added, then removed groups
*/
- function doSaveUserGroups( $user, $add, $remove, $reason = '' ) {
+ function doSaveUserGroups( $user, $add, $remove, $reason = '', $tags = [] ) {
// Validate input set...
$isself = $user->getName() == $this->getUser()->getName();
$groups = $user->getGroups();
Hooks::run( 'UserRights', [ &$user, $add, $remove ], '1.26' );
if ( $newGroups != $oldGroups ) {
- $this->addLogEntry( $user, $oldGroups, $newGroups, $reason );
+ $this->addLogEntry( $user, $oldGroups, $newGroups, $reason, $tags );
}
return [ $add, $remove ];
* @param array $oldGroups
* @param array $newGroups
* @param array $reason
+ * @param array $tags
*/
- function addLogEntry( $user, $oldGroups, $newGroups, $reason ) {
+ function addLogEntry( $user, $oldGroups, $newGroups, $reason, $tags ) {
$logEntry = new ManualLogEntry( 'rights', 'rights' );
$logEntry->setPerformer( $this->getUser() );
$logEntry->setTarget( $user->getUserPage() );
'5::newgroups' => $newGroups,
] );
$logid = $logEntry->insert();
+ if ( count( $tags ) ) {
+ $logEntry->setTags( $tags );
+ }
$logEntry->publish( $logid );
}
<?php
namespace MediaWiki\Tidy;
-use ReplacementArray;
use ParserOutput;
use Parser;
class RaggettWrapper {
/**
- * @var ReplacementArray
+ * @var array
*/
protected $mTokens;
+ /**
+ * @var int
+ */
protected $mMarkerIndex;
- public function __construct() {
- $this->mTokens = null;
- }
-
/**
* @param string $text
* @return string
*/
public function getWrapped( $text ) {
- $this->mTokens = new ReplacementArray;
+ $this->mTokens = [];
$this->mMarkerIndex = 0;
// Replace <mw:editsection> elements with placeholders
$wrappedtext = preg_replace_callback( ParserOutput::EDITSECTION_REGEX,
- [ &$this, 'replaceCallback' ], $text );
+ [ $this, 'replaceCallback' ], $text );
// ...and <mw:toc> markers
$wrappedtext = preg_replace_callback( '/\<\\/?mw:toc\>/',
- [ &$this, 'replaceCallback' ], $wrappedtext );
+ [ $this, 'replaceCallback' ], $wrappedtext );
// ... and <math> tags
$wrappedtext = preg_replace_callback( '/\<math(.*?)\<\\/math\>/s',
- [ &$this, 'replaceCallback' ], $wrappedtext );
+ [ $this, 'replaceCallback' ], $wrappedtext );
// Modify inline Microdata <link> and <meta> elements so they say <html-link> and <html-meta> so
// we can trick Tidy into not stripping them out by including them in tidy's new-empty-tags config
$wrappedtext = preg_replace( '!<(link|meta)([^>]*?)(/{0,1}>)!', '<html-$1$2$3', $wrappedtext );
/**
* @param array $m
- *
* @return string
*/
- public function replaceCallback( $m ) {
+ private function replaceCallback( array $m ) {
$marker = Parser::MARKER_PREFIX . "-item-{$this->mMarkerIndex}" . Parser::MARKER_SUFFIX;
$this->mMarkerIndex++;
- $this->mTokens->setPair( $marker, $m[0] );
+ $this->mTokens[$marker] = $m[0];
return $marker;
}
$text = str_replace( '<li datafld=""', '<li', $text );
// Restore the contents of placeholder tokens
- $text = $this->mTokens->replace( $text );
+ $text = strtr( $text, $this->mTokens );
return $text;
}
];
}
- /**
- * rules should be defined as -{Syllabic | Latin-} -or-
- * -{code:text | code:text | ...}-
- * update: delete all rule parsing because it's not used
- * currently, and just produces a couple of bugs
- *
- * @param string $rule
- * @param array $flags
- * @return array
- */
- function parseManualRule( $rule, $flags = [] ) {
- if ( in_array( 'T', $flags ) ) {
- return parent::parseManualRule( $rule, $flags );
- }
-
- $carray = [];
- // otherwise ignore all formatting
- foreach ( $this->mVariants as $v ) {
- $carray[$v] = $rule;
- }
-
- return $carray;
- }
-
- /**
- * Do not convert content on talk pages
- *
- * @param string $text
- * @param Parser $parser
- * @return string
- */
- function parserConvert( $text, &$parser ) {
- $this->mDoContentConvert = !( is_object( $parser->getTitle() )
- && $parser->getTitle()->isTalkPage() );
-
- return parent::parserConvert( $text, $parser );
- }
-
/**
* A function wrapper:
* - if there is no selected variant, leave the link
];
}
- /**
- * rules should be defined as -{ekavian | iyekavian-} -or-
- * -{code:text | code:text | ...}-
- *
- * update: delete all rule parsing because it's not used
- * currently, and just produces a couple of bugs
- *
- * @param string $rule
- * @param array $flags
- * @return array
- */
- function parseManualRule( $rule, $flags = [] ) {
- if ( in_array( 'T', $flags ) ) {
- return parent::parseManualRule( $rule, $flags );
- }
-
- $carray = [];
- // otherwise ignore all formatting
- foreach ( $this->mVariants as $v ) {
- $carray[$v] = $rule;
- }
-
- return $carray;
- }
-
/**
* A function wrapper:
* - if there is no selected variant, leave the link
];
}
- /**
- * rules should be defined as -{Tifinagh | Latin-} -or-
- * -{code:text | code:text | ...}-
- * update: delete all rule parsing because it's not used
- * currently, and just produces a couple of bugs
- *
- * @param string $rule
- * @param array $flags
- * @return array
- */
- function parseManualRule( $rule, $flags = [] ) {
- if ( in_array( 'T', $flags ) ) {
- return parent::parseManualRule( $rule, $flags );
- }
-
- $carray = [];
- // otherwise ignore all formatting
- foreach ( $this->mVariants as $v ) {
- $carray[$v] = $rule;
- }
-
- return $carray;
- }
-
- /**
- * Do not convert content on talk pages
- *
- * @param string $text
- * @param Parser $parser
- * @return string
- */
- function parserConvert( $text, &$parser ) {
- $this->mDoContentConvert = !( is_object( $parser->getTitle() )
- && $parser->getTitle()->isTalkPage() );
-
- return parent::parserConvert( $text, $parser );
- }
-
/**
* A function wrapper:
* - if there is no selected variant, leave the link
];
}
- /**
- * rules should be defined as -{ekavian | iyekavian-} -or-
- * -{code:text | code:text | ...}-
- *
- * update: delete all rule parsing because it's not used
- * currently, and just produces a couple of bugs
- *
- * @param string $rule
- * @param array $flags
- * @return array
- */
- function parseManualRule( $rule, $flags = [] ) {
- if ( in_array( 'T', $flags ) ) {
- return parent::parseManualRule( $rule, $flags );
- }
-
- $carray = [];
- // otherwise ignore all formatting
- foreach ( $this->mVariants as $v ) {
- $carray[$v] = $rule;
- }
-
- return $carray;
- }
-
/**
* A function wrapper:
* - if there is no selected variant, leave the link
"changecontentmodel-emptymodels-title": "Nun hai modelos de conteníu disponibles",
"changecontentmodel-emptymodels-text": "El conteníu de [[:$1]] nun pue convertise a nengún tipu.",
"log-name-contentmodel": "Rexistru de cambios del modelu de conteníu",
- "log-description-contentmodel": "Socesos rellacionaos colos modelos de conteníu d'una páxina",
+ "log-description-contentmodel": "Esta páxina recueye los cambeos nel modelu de conteníu de les páxines, y les páxines creaes con un modelu de conteníu distintu del predetermináu.",
"logentry-contentmodel-new": "$1 {{GENDER:$2|creó}} la páxina $3 usando un modelu de conteníu non predetermináu «$5»",
"logentry-contentmodel-change": "$1 {{GENDER:$2|cambió}}'l modelu de conteníu de la páxina $3 dende «$4» a «$5»",
"logentry-contentmodel-change-revertlink": "revertir",
"cant-move-to-user-page": "Nun tienes permisu pa treslladar una páxina a una páxina d'usuariu (sacante a una subpáxina d'usuariu).",
"cant-move-category-page": "Nun tienes permisu pa treslladar páxines de categoría.",
"cant-move-to-category-page": "Nun tienes permisu pa treslladar una páxina a una páxina de categoría.",
+ "cant-move-subpages": "Nun tienes permisu pa mover subpáxines.",
+ "namespace-nosubpages": "L'espaciu de nomes «$1» nun permite subpáxines.",
"newtitle": "Títulu nuevu:",
"move-watch": "Vixilar esta páxina",
"movepagebtn": "Treslladar la páxina",
"api-error-blocked": "Tas bloquiáu pa editar.",
"api-error-copyuploaddisabled": "Xubir d'una URL ta desactivao nesti sirvidor.",
"api-error-duplicate": "Yá hai {{PLURAL:$1|otru ficheru|otros ficheros}} nesti sitiu col mesmu conteníu.",
- "api-error-duplicate-archive": "Había {{PLURAL:$1|otru ficheru|otros ficheros}} nesti sitiu col mesmu conteníu, pero se {{PLURAL:$1|desanició|desaniciaron}}.",
+ "api-error-duplicate-archive": "Yá había {{PLURAL:$1|otru ficheru|otros ficheros}} nesti sitiu col mesmu conteníu, pero se {{PLURAL:$1|desanició|desaniciaron}}.",
"api-error-empty-file": "El ficheru qu'unviasti taba baleru.",
"api-error-emptypage": "Nun se permite la creación de páxines nueves baleres.",
"api-error-fetchfileerror": "Fallu internu: daqué nun funcionó al buscar el ficheru.",
"api-error-missingresult": "Fallu internu: nun se pudo determinar si la copia foi bien.",
"api-error-mustbeloggedin": "Tienes de tar autenticáu pa xubir ficheros.",
"api-error-mustbeposted": "Fallu internu: la solicitú necesita HTTP POST.",
- "api-error-noimageinfo": "La xubida foi correuta, pero el sirvidor nun dio información dala del ficheru.",
+ "api-error-noimageinfo": "La xubida foi correuta, pero'l sirvidor nun dio información dala del ficheru.",
"api-error-nomodule": "Fallu internu: nun se configuró dengún módulu de xubíes.",
"api-error-ok-but-empty": "Fallu internu: nun hai respuesta del sirvidor.",
"api-error-overwrite": "Nun ta permitío sobroscribir un ficheru esistente.",
"api-error-unclassified": "Hebo un fallu desconocíu",
"api-error-unknown-code": "Fallu desconocíu: «$1»",
"api-error-unknown-error": "Fallu internu: daqué nun funcionó al tentar xubir el ficheru.",
- "api-error-unknown-warning": "Avisu desconocíu: $1",
+ "api-error-unknown-warning": "Avisu desconocíu: «$1».",
"api-error-unknownerror": "Fallu desconocíu: «$1».",
"api-error-uploaddisabled": "Les xubíes tan desactivaes nesta wiki.",
"api-error-verification-error": "Esti ficheru pudiera tar corrompíu, o tien una estensión incorreuta.",
"log-action-filter-block-reblock": "Cambiu de bloquéu",
"log-action-filter-block-unblock": "Desbloquéu",
"log-action-filter-contentmodel-change": "Cambéu de modelu de conteníu",
- "log-action-filter-contentmodel-new": "Creación de páxina con modelu de conteníu non estándar",
+ "log-action-filter-contentmodel-new": "Creación de páxina con modelu de conteníu non predetermináu",
"log-action-filter-delete-delete": "Desaniciu de páxines",
"log-action-filter-delete-delete_redir": "Sobreescritura de redireición",
"log-action-filter-delete-restore": "Restauración de páxines",
"changecontentmodel-emptymodels-title": "Няма даступных мадэляў зьместу",
"changecontentmodel-emptymodels-text": "Зьмест на [[:$1]] ня можа быць ператвораны ні ў які тып.",
"log-name-contentmodel": "Журнал зьменаў мадэляў зьместу",
- "log-description-contentmodel": "Ð\9fадзеÑ\96, зÑ\8cвÑ\8fзанÑ\8bÑ\8f з мадÑ\8dлÑ\8fмÑ\96 зÑ\8cмеÑ\81Ñ\82Ñ\83 Ñ\81Ñ\82аÑ\80онак",
+ "log-description-contentmodel": "Ð\93Ñ\8dÑ\82аÑ\8f Ñ\81Ñ\82аÑ\80онка Ñ\9eÑ\82Ñ\80Ñ\8bмлÑ\96вае зÑ\8cменÑ\8b мадÑ\8dлÑ\96 зÑ\8cмеÑ\81Ñ\82Ñ\83 Ñ\81Ñ\82аÑ\80онак, а Ñ\82акÑ\81ама Ñ\81Ñ\82аÑ\80онкÑ\96, Ñ\8fкÑ\96Ñ\8f бÑ\8bлÑ\96 Ñ\81Ñ\82воÑ\80анÑ\8bÑ\8f з мадÑ\8dлÑ\8cлÑ\8e зÑ\8cмеÑ\81Ñ\82Ñ\83, адÑ\80ознай ад Ñ\81Ñ\82андаÑ\80Ñ\82най.",
"logentry-contentmodel-new": "$1 {{GENDER:$2|стварыў|стварыла}} старонку $3 з дапамогай нестандартнай мадэлі зьместу «$5»",
"logentry-contentmodel-change": "$1 {{GENDER:$2|зьмяніў|зьмяніла}} мадэль зьместу старонкі $3 з «$4» на «$5»",
"logentry-contentmodel-change-revertlink": "адкаціць",
"sessionprovider-nocookies": "Файлы-кукі могуць быць адключаныя. Упэўніцеся, што ў вас уключаныя файлы-кукі і пачніце спачатку.",
"randomrootpage": "Выпадковая карэнная старонка",
"log-action-filter-block": "Тып блякаваньня:",
- "log-action-filter-contentmodel": "ТÑ\8bп мадÑ\8bÑ\84Ñ\96каÑ\86Ñ\8bÑ\96 contentmodel:",
+ "log-action-filter-contentmodel": "ТÑ\8bп зÑ\8cменÑ\8b мадÑ\8dлÑ\96 зÑ\8cмеÑ\81Ñ\82Ñ\83:",
"log-action-filter-delete": "Тып выдаленьня:",
"log-action-filter-import": "Тып імпарту:",
"log-action-filter-managetags": "Тып дзеяньня кіраваньня меткамі:",
"gender-unknown": "যখন আপনাকে উল্লেখ করা হবে, সফটওয়্যার যখনই সম্ভব লিঙ্গ নিরপেক্ষ শব্দ ব্যবহার করবে",
"gender-male": "তিনি (পুরুষ) উইকি পাতা সম্পাদনা করেন",
"gender-female": "তিনি (মহিলা) উইকি পাতা সম্পাদনা করেন",
- "prefs-help-gender": "সেটিংসের এই পরিবর্তন ঐচ্ছিক।\nসফটওয়্যারে মাধ্যমে লিঙ্গ অনুযায়ী সম্বধনের ক্ষেত্রে এটি ব্যবহৃত হয়।\nএই তথ্য সকলের জন্য উন্মুক্ত থাকেবে।",
+ "prefs-help-gender": "সà§\87à¦\9fিà¦\82সà§\87র à¦\8fà¦\87 পরিবরà§\8dতন à¦\90à¦\9aà§\8dà¦\9bিà¦\95।\nসফà¦\9fà¦\93য়à§\8dযারà§\87 মাধà§\8dযমà§\87 লিà¦\99à§\8dà¦\97 à¦\85নà§\81যায়à§\80 সমà§\8dবà§\8bধনà§\87র à¦\95à§\8dষà§\87তà§\8dরà§\87 à¦\8fà¦\9fি বà§\8dযবহà§\83ত হয়।\nà¦\8fà¦\87 তথà§\8dয সà¦\95লà§\87র à¦\9cনà§\8dয à¦\89নà§\8dমà§\81à¦\95à§\8dত থাà¦\95à§\87বà§\87।",
"email": "ই-মেইল",
"prefs-help-realname": "আসল নাম দেওয়া অনাবশ্যক।\nযদি আসল নাম দেন, তবে আপনার কাজের স্বীকৃতি দানে তা ব্যবহার করা হবে।",
"prefs-help-email": "ইমেইল ঠিকানা ঐচ্ছিক, তবে পাসওয়ার্ড ভুলে গেলে নতুন করে পাসওয়ার্ড নিতে এটির প্রয়োজন হবে।",
"prefs-help-email-others": "আপনি আপনার পরিচয় প্রকাশ না করেও আপনার ব্যবহারকারী অথবা আলাপ পাতাটির মাধ্যমে অন্যদেরকে আপনার সাথে যোগাযোগ করতে দিতে পারেন।",
"prefs-help-email-required": "ই-মেইল ঠিকানা আবশ্যক।",
"prefs-info": "সাধারণ তথ্য",
- "prefs-i18n": "à¦\86নà§\8dতরà§\8dà¦\9cাতিà¦\95িকরণ",
+ "prefs-i18n": "à¦\86নà§\8dতরà§\8dà¦\9cাতিà¦\95à§\80করণ",
"prefs-signature": "স্বাক্ষর",
"prefs-dateformat": "তারিখ বিন্যাস",
"prefs-timeoffset": "সময় অফসেট",
"virus-scanfailed": "Skannadenn c'hwitet (kod $1)",
"virus-unknownscanner": "diviruzer dianav :",
"logouttext": "'''Digevreet oc'h bremañ.'''\n\nNotit mat e c'hallo pajennoù zo kenderc'hel da vezañ diskwelet evel pa vefec'h kevreet c'hoazh, betek ma vo riñset krubuilh ho merdeer ganeoc'h.",
+ "cannotlogoutnow-title": "N'haller ket digevreañ bremañ",
+ "cannotlogoutnow-text": "N'haller ket digevreañ pa vezer oc'h implijout $1.",
"welcomeuser": "Degemer mat $1 !",
"welcomecreation-msg": "Krouet eo bet ho kont implijer.\nNa zisoñjit ket resisaat ho [[Special:Preferences|penndibaboù evit {{SITENAME}}]].",
"yourname": "Anv implijer :",
"createacct-yourpasswordagain-ph": "Skrivit ar ger-tremen adarre",
"userlogin-remembermypassword": "Derc'hel ac'hanon kevreet",
"userlogin-signwithsecure": "Implijout ur gevreadenn suraet",
+ "cannotlogin-title": "N'haller ket kevreañ",
+ "cannotlogin-text": "N'haller ket kevreañ.",
+ "cannotloginnow-title": "N'haller ket kevreañ bremañ",
+ "cannotloginnow-text": "N'haller ket kevreañ pa vezer oc'h implijout $1.",
+ "cannotcreateaccount-title": "N'haller ket krouiñ kontoù",
+ "cannotcreateaccount-text": "N'eo ket gweredekaet ar c'hrouiñ kontoù war-eeun er wiki-mañ.",
"yourdomainname": "Ho tomani",
"password-change-forbidden": "Ne c'hallit ket kemmañ ar gerioù-tremen er wiki-mañ.",
"externaldberror": "Pe ez eus bet ur fazi gwiriekaat diavaez er bank titouroù pe n'oc'h ket aotreet da nevesaat ho kont diavaez.",
"login": "Kevreañ",
+ "login-security": "Gwiriit hoc'h identelezh",
"nav-login-createaccount": "Krouiñ ur gont pe kevreañ",
"userlogin": "Kevreañ / krouiñ ur gont",
"userloginnocreate": "Kevreañ",
"userlogin-resetpassword-link": "Ankouaet ho ker-tremen ganeoc'h ?",
"userlogin-helplink2": "Skoazell evit kevreañ",
"userlogin-loggedin": "Kevreet oc'h dija evel {{GENDER:$1|$1}}.\nImplijit ar furmskrid amañ dindan evit kevreañ evel un implijer all.",
+ "userlogin-reauth": "Ret eo deoc'h adkevreañ evit prouiñ ez oc'h mat {{GENDER:$1|$1}}",
"userlogin-createanother": "Krouiñ ur gont all",
"createacct-emailrequired": "Chomlec'h postel",
"createacct-emailoptional": "Chomlec'h postel (diret)",
"createacct-email-ph": "Skrivit ho chomlec'h postel",
"createacct-another-email-ph": "Ebarzhiñ ur chomlec'h postel",
"createaccountmail": "Implijout ur ger-tremen dibad ha kas anezhañ d'ar chomlec'h postel diferetDre bostel",
+ "createaccountmail-help": "Gallout a ra bezañ implijet evit krouiñ ur gont evit unan bennak all hep gouzout ar ger-tremen.",
"createacct-realname": "Anv gwir (diret)",
"createaccountreason": "Abeg :",
"createacct-reason": "Abeg",
"createacct-reason-ph": "Perak emaoc'h o krouiñ ur gont all",
+ "createacct-reason-help": "Kemennadenn embannet e marilh ar c'hrouiñ kontoù",
"createacct-submit": "Krouiñ ho kont",
"createacct-another-submit": "Krouiñ ur gont",
+ "createacct-continue-submit": "Kenderc'hel da grouiñ ar gont",
+ "createacct-another-continue-submit": "Kenderc'hel da grouiñ ar gont",
"createacct-benefit-heading": "{{SITENAME}} zo graet gant tud eveldoc'h.",
"createacct-benefit-body1": "$1 {{PLURAL:$1|kemm}}",
"createacct-benefit-body2": "pajenn{{PLURAL:$1|}}",
"createacct-benefit-body3": "{{PLURAL:$1|c'henlabourer|kenlabourer}} nevez",
"badretype": "Ne glot ket ar gerioù-tremen an eil gant egile.",
+ "usernameinprogress": "Emeur c'hoazh oc'h ober war-dro krouiñ ur gont evit an anv implijer-mañ. Gortozit un tamm bihan.",
"userexists": "Implijet eo an anv implijer lakaet ganeoc'h dija.\nDibabit un anv all mar plij.",
"loginerror": "Kudenn gevreañ",
"createacct-error": "Ur fazi 'zo bet o krouiñ ar gont",
"nocookiesnew": "Krouet eo bet ar gont implijer met n'oc'h ket kevreet. {{SITENAME}} a implij toupinoù evit ar c'hevreañ met diweredekaet eo an toupinoù ganeoc'h. Trugarez da weredekaat anezho ha da gevreañ en-dro.",
"nocookieslogin": "{{SITENAME}} a implij toupinoù evit kevreañ met diweredekaet eo an toupinoù ganeoc'h. Trugarez da weredekaat anezho ha da gevreañ en-dro.",
"nocookiesfornew": "N'eo ket bet krouet ar gont implijer peogwir n'eus ket bet gallet gwiriañ an orin anezhi.\nGwiriit eo bet gweredekaet an toupinoù, adkargit ar bajenn ha klaskit en-dro.",
+ "createacct-loginerror": "Krouet eo bet ar gont ervat met n'hallit ket kevreañ en un doare emgefre. [[Special:UserLogin|Kevreit gant an dorn]].",
"noname": "N'hoc'h eus lakaet anv implijer ebet.",
"loginsuccesstitle": "Kevreet oc'h.",
"loginsuccess": "'''Kevreet oc'h bremañ ouzh {{SITENAME}} evel \"$1\".'''",
- "nosuchuser": "N'eus ket eus an implijer \"$1\".\nKizidik eo anv an implijer ouzh ar pennlizherennoù\nGwiriit eo bet skrivet mat an anv ganeoc'h pe [[Special:CreateAccount|krouit ur gont nevez]].",
+ "nosuchuser": "N'eus ket eus an implijer \"$1\".\nKizidik eo anv an implijerien ouzh ar pennlizherennoù.\nGwiriit eo bet skrivet mat an anv ganeoc'h pe [[Special:CreateAccount|krouit ur gont nevez]].",
"nosuchusershort": "N'eus perzhiad ebet gantañ an anv « $1 ». Gwiriit ar reizhskrivadur.",
"nouserspecified": "Ret eo deoc'h spisaat un anv implijer.",
"login-userblocked": "Stanket eo an implijer-mañ. N'eo ket aotret da gevreañ.",
"wrongpassword": "Ger-tremen kamm. Klaskit en-dro.",
"wrongpasswordempty": "Ger-tremen ebet. Lakait unan mar plij.",
"passwordtooshort": "{{PLURAL:$1|1 arouezenn|$1 arouezenn}} hir a rank bezañ ar gerioù-tremen da nebeutañ.",
+ "passwordtoolong": "N'hall ket ar gerioù-tremen bezañ enno ouzhpenn $1 arouezenn.",
"password-name-match": "Rankout a ra ho ker-tremen bezañ disheñvel diouzh hoc'h anv implijer.",
"password-login-forbidden": "Berzet eo ober gant an anv implijer hag ar ger-tremen-mañ.",
"mailmypassword": "Adderaouekaat ar ger-tremen",
"createacct-another-realname-tip": "Diret eo skrivañ hoc'h anv gwir. Ma skrivit anezhañ e vo implijet evit lakaat war wel ar pezh a vo bet degaset ganeoc'h.",
"pt-login": "Kevreañ",
"pt-login-button": "Kevreañ",
+ "pt-login-continue-button": "Kenderc'hel da gevreañ",
"pt-createaccount": "Krouiñ ur gont",
"pt-userlogout": "Digevreañ",
"php-mail-error-unknown": "Fazi dianav en arc'hwel postel () PHP",
"botpasswords-label-cancel": "Nullañ",
"botpasswords-label-delete": "Dilemel",
"botpasswords-label-resetpassword": "Adderaouekaat ar ger-tremen",
+ "botpasswords-label-grants-column": "Aotreet",
"botpasswords-bad-appid": "N'eo ket reizh anv ar robot « $1 »",
"botpasswords-insert-failed": "C'hwitet eo ouzhpennadenn ar robot « $1 ». Hag ouzhpennet eo bet ?",
"botpasswords-update-failed": "C'hwitet eo bet hizivadur anv ar robot « $1 ». Ha dilamet eo bet ?",
"passwordreset-emailtext-user": "Goulennet en deus an implijer $1 war {{SITENAME}} e vefe degaset soñj dezhañ eus titouroù e gont evit {{SITENAME}} ($4). Emañ liammet {{PLURAL:$3|ar gont implijer|ar c'hontoù implijer}} da-heul gant ar chomlec'h postel-mañ :\n\n$2\n\nMont a raio da get {{PLURAL:$3|ar ger-tremen da c'hortoz|ar gerioù-tremen da c'hortoz}} a-benn {{PLURAL:$5|un devezh|$5 deiz}}.\nMat e vefe deoc'h kevreañ ha dibab ur ger-tremen nevez bremañ. Mard eo bet goulennet kement-se gant unan bennak all pe m'hoc'h eus soñj eus ho ker-tremen orin ha mar ne fell ket deoc'h e cheñch ken, na daolit ket evezh ouzh ar gemennadenn-mañ ha dalc'hit d'ober gant ho ker-tremen kozh.",
"passwordreset-emailelement": "Anv implijer : \n$1\n\nGer-tremen da c'hortoz : \n$2",
"passwordreset-emailsentemail": "Kaset ez eus bet ur postel deoc'h da adderaouekaat ho ker-tremen.",
+ "passwordreset-invalidemail": "Chomlec'h postel direizh",
"changeemail": "Kemmañ ar chomlec'h postel",
"changeemail-header": "Kemmañ chomlec'h postel ar gont",
"changeemail-no-info": "Ret eo deoc'h bezañ kevreet a-benn mont d'ar bajenn-se war-eeun.",
"missingcommenttext": "Skrivit hoc'h evezhiadenn a-is.",
"missingcommentheader": "'''Taolit evezh :''' N'hoc'h eus lakaet tamm danvez/titl ebet d'hoc'h evezhiadenn.\nMar klikit war \"{{int:savearticle}}\" en-dro, e vo enrollet ho testenn evel m'emañ hepmuiken.",
"summary-preview": "Rakwelet an diverrañ :",
- "subject-preview": "Rakwelet danvez/titl :",
+ "subject-preview": "Rakwelet an danvez :",
+ "previewerrortext": "C'hoarvezet ez eus ur fazi e-ser klask rakwelet ho kemmoù",
"blockedtitle": "Implijer stanket",
"blockedtext": "'''Stanket eo bet ho kont implijer pe ho chomlec'h IP'''\n\nGant $1 eo bet graet.\nSetu an abeg evit se : ''$2''.\n\n* Stanket adalek : $8\n* Stanket betek : $6\n* Pad ar stankadenn : $7\n\nGallout a rit mont e darempred gant $1 pe gant unan eus ar [[{{MediaWiki:Grouppage-sysop}}|verourien]] all evit eskemm ganto war se. N'hallit implijout an arc'hwel 'kas ur postel d'an implijer-mañ' nemet ma'z eus bet spisaet ganeoc'h ur chomlec'h postel reizh en ho [[Special:Preferences|penndibaboù kont]] ha ma n'eo ket bet stanket.\n$3 eo ho chomlec'h IP, ha #$5 eo niverenn an identelezh stanket.\nMerkit anezho en ho koulennoù bep tro.",
"autoblockedtext": "Stanket eo bet ho chomlec'h IP ent emgefreek rak implijet e veze gant un implijer all bet stanket gant $1.\nSetu aze an abeg :\n\n: ''$2''\n\n* Deroù ar stankadenn : $8\n* Termen ar stankadenn : $6\n* Kont stanket : $7\n\nGallout a rit mont e darempred gant $1 pe gant unan eus ar\n[[{{MediaWiki:Grouppage-sysop}}|verourien]] all ma kavit abeg er stankadenn.\n\nNotennit mat ne c'hallot implijout an dibarzh \"kas ur postel d'an implijer\" nemet ma'z eus bet merket ganeoc'h ur chomlec'h postel reizh en ho [[Special:Preferences|penndibaboù implijer]] ha ma n'eo ket bet stanket ivez.\n\n$3 eo ho chomlec'h IP evit poent ha #$5 ho niverenn stankadenn.\nMerkit mat an titouroù-se war kement goulenn savet ganeoc'h.\n\n$5 eo ho niverenn stankadenn. Merkit mat an niverenn-se pa rit goulennoù.",
"searchprofile-advanced-tooltip": "Klask en esaouennoù anv personelaet",
"search-result-size": "$1 ({{PLURAL:$2|1 ger|$2 ger}})",
"search-result-category-size": "{{PLURAL:$1|1|$1}} ezel ({{PLURAL:$2|1|$2}} is-rummad, {{PLURAL:$3|1|$3}} restr)",
- "search-redirect": "(adkas $1)",
+ "search-redirect": "(adkas adal $1)",
"search-section": "(rann $1)",
"search-category": "(rummad $1)",
"search-file-match": "(klotañ a ra gant endalc'had ar restr)",
"editusergroup": "Kemmañ ar strolladoù implijerien",
"editinguser": "Kemmañ gwirioù an implijer '''[[User:$1|$1]]''' $2",
"userrights-editusergroup": "Kemmañ strolladoù an implijer",
- "saveusergroups": "Enrollañ ar strolladoù implijer",
+ "userrights-viewusergroup": "Gwelet ar strolladoù implijerien",
+ "saveusergroups": "Enrollañ strolladoù an {{GENDER:$1|implijer|implijerez}}",
"userrights-groupsmember": "Ezel eus :",
"userrights-groupsmember-auto": "Ezel emplegat eus :",
"userrights-groups-help": "Cheñch strollad an implijer a c'hallit ober.\n* Ul log asket a verk emañ an implijer er strollad.\n* Ul log diask a verk n'emañ ket an implijer er strollad.\n* Ur * a verk n'hallit ket dilemel ar strollad ur wech bet ouzhpennet, pe ar c'hontrol.",
"group-bot": "Robotoù",
"group-sysop": "Merourien",
"group-bureaucrat": "Burevidi",
- "group-suppress": "Dindan evezh",
+ "group-suppress": "Diverkerien",
"group-all": "(pep tra)",
"group-user-member": "{{GENDER:$1|implijer}}",
"group-autoconfirmed-member": "{{GENDER:$1|Implijer bet kadarnaet ent emgefre}}",
"group-bot-member": "{{GENDER:$1|robot}}",
"group-sysop-member": "{{GENDER:$1|merour}}",
"group-bureaucrat-member": "{{GENDER:$1|bureviad}}",
- "group-suppress-member": "{{GENDER:$1|evezhier}}",
+ "group-suppress-member": "{{GENDER:$1|diverker|diverkerez}}",
"grouppage-user": "{{ns:project}}:Implijerien",
"grouppage-autoconfirmed": "{{ns:project}}: Implijerien bet kadarnaet ent emgefre",
"grouppage-bot": "{{ns:project}}:Botoù",
"right-override-export-depth": "Ezporzhiañ ar pajennoù en ur lakaat e-barzh ar pajennoù liammet betek un donder a 5 live",
"right-sendemail": "Kas ur postel d'an implijerien all",
"grant-group-email": "Kas ur postel",
+ "grant-blockusers": "Stankañ ha distankañ implijerien",
"grant-createaccount": "Krouiñ kontoù",
"grant-createeditmovepage": "Krouiñ, aozañ ha dilec'hiañ pajennoù",
"grant-editmywatchlist": "Aozañ ho roll evezhiañ",
"grant-editpage": "Aoañ pajennoù a zo anezho dija",
"grant-editprotected": "Aozañ pajennoù gwarezet",
"grant-sendemail": "Kas ur postel d'an implijerien all",
+ "grant-basic": "Gwirioù diazez",
"grant-viewdeleted": "Gwelet an titouroù dilamet",
"grant-viewmywatchlist": "Gwelet ho roll evezhiañ",
"newuserlogpage": "Marilh ar c'hontoù krouet",
"action-viewmywatchlist": "gwelet ho roll evezhiañ",
"action-viewmyprivateinfo": "Gwelet ho titouroù prevez",
"action-editmyprivateinfo": "aozañ ho titouroù prevez",
+ "action-deletechangetags": "Diverkañ tikedennoù a-ziwar an diaz-roadennoù",
"nchanges": "$1 {{PLURAL:$1|kemm|kemm}}",
"enhancedrc-since-last-visit": "$1 {{PLURAL:$1|abaoe ho kweladenn diwezhañ}}",
"enhancedrc-history": "istor",
"recentchanges-label-plusminus": "Kemmet eo ment ar bajenn eus an niver-mañ a oktedoù",
"recentchanges-legend-heading": "<strong>Alc'hwez :</strong>",
"recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (gwelet ivez [[Special:NewPages|roll ar pajennoù nevez]])",
+ "recentchanges-submit": "Diskouez",
"rcnotefrom": "Setu aze roll ar c'hemmoù c'hoarvezet abaoe an <strong>$2</strong> (<strong>$1</strong> d'ar muiañ).",
"rclistfrom": "Diskouez ar c'hemmoù diwezhañ abaoe an/ar $3 $2",
"rcshowhideminor": "$1 ar c'hemmoù dister",
"rcshowhidemine": "$1 ma c'hemmoù",
"rcshowhidemine-show": "Diskouez",
"rcshowhidemine-hide": "Kuzhat",
+ "rcshowhidecategorization-show": "Diskouez",
+ "rcshowhidecategorization-hide": "Kuzhat",
"rclinks": "Diskouez an/ar $1 kemm diwezhañ c'hoarvezet e-pad an/ar $2 devezh diwezhañ.<br />$3",
"diff": "diforc'h",
"hist": "ist",
"boteditletter": "b",
"number_of_watching_users_pageview": "[$1 {{PLURAL:$1|implijer o heuliañ|implijer}} o heuliañ]",
"rc_categories": "Bevenn ar rummadoù (dispartiañ gant \"|\")",
- "rc_categories_any": "An holl",
+ "rc_categories_any": "Unan e-touez ar re zibabet",
"rc-change-size-new": "$1 {{PLURAL:$1|okted|okted}} goude kemmañ",
"newsectionsummary": "/* $1 */ rann nevez",
"rc-enhanced-expand": "Diskouez ar munudoù",
"recentchangeslinked-summary": "Rollet eo war ar bajenn dibar-mañ ar c'hemmoù diwezhañ bet degaset war ar pajennoù liammet ouzh ur bajenn lakaet (pe ouzh izili ur rummad lakaet).\nE '''tev''' emañ ar pajennoù zo war ho [[Special:Watchlist|roll evezhiañ]].",
"recentchangeslinked-page": "Anv ar bajenn :",
"recentchangeslinked-to": "Diskouez ar c'hemmoù war-du ar pajennoù liammet kentoc'h eget re ar bajenn lakaet",
+ "recentchanges-page-removed-from-category": "Diverket eo bet [[$1]] diouzh ar rummad",
"upload": "Kargañ war ar servijer",
"uploadbtn": "Kargañ ur restr",
"reuploaddesc": "Distreiñ d'ar furmskrid.",
"upload-too-many-redirects": "Re a adkasoù zo en URL-mañ.",
"upload-http-error": "Ur fazi HTTP zo bet : $1",
"upload-copy-upload-invalid-domain": "N'haller ket seveniñ enporzhiadennoù a-bell adalek an domani-mañ.",
+ "upload-dialog-title": "Kargañ ar restr",
"upload-dialog-button-cancel": "Nullañ",
+ "upload-dialog-button-back": "Kent",
"upload-dialog-button-done": "Graet",
"upload-dialog-button-save": "Enrollañ",
"upload-dialog-button-upload": "Enporzhiañ",
"pager-older-n": "{{PLURAL:$1|1 koshoc'h|$1 koshoc'h}}",
"suppress": "Dindan evezh",
"querypage-disabled": "Diweredekaet eo bet ar bajenn dibar-mañ evit aesaat d'ar reizhiad un tammig.",
+ "apihelp": "Skoazell an API",
"apihelp-no-such-module": "N'eo ket bet kavet ar vodulenn \"$1\".",
"apisandbox": "Poull-traezh API",
"apisandbox-api-disabled": "Diweredekaet eo API war al lec'hienn-mañ.",
"apisandbox-submit": "Sevel ar goulenn",
"apisandbox-reset": "Riñsañ",
"apisandbox-retry": "Klask en-dro",
+ "apisandbox-helpurls": "Liammoù skoazell",
"apisandbox-examples": "Skouerioù",
"apisandbox-dynamic-parameters": "Arventenn ouzhpenn",
"apisandbox-dynamic-parameters-add-label": "Ouzhpennañ un arventenn:",
"apisandbox-results": "Disoc'hoù",
"apisandbox-request-url-label": "Goulenn URL :",
"apisandbox-request-time": "Pad ar goulenn: $1",
+ "apisandbox-continue": "Kenderc'hel",
+ "apisandbox-continue-clear": "Riñsañ",
"booksources": "Oberennoù dave",
"booksources-search-legend": "Klask en oberennoù dave",
"booksources-isbn": "ISBN :",
"listgrouprights-removegroup-self-all": "Gallout a ra tennañ kuit an holl strolladoù eus kont an-unan.",
"listgrouprights-namespaceprotection-namespace": "Esaouenn anv",
"listgrouprights-namespaceprotection-restrictedto": "Gwir(ioù) hag a aotre an implijer da aozañ",
+ "listgrants": "Aotreoù",
+ "listgrants-grant": "Aotren",
"listgrants-rights": "Gwirioù",
"trackingcategories": "Rummadoù evezhiañ",
"trackingcategories-msg": "Rummad evezhiañ",
"sessionfailure": "Evit doare ez eus ur gudenn gant ho talc'h;\nNullet eo bet an ober-mañ a-benn en em wareziñ diouzh an tagadennoù preizhañ.\nKlikit war \"kent\" hag adkargit ar bajenn oc'h deuet drezi; goude klaskit en-dro.",
"changecontentmodel-title-label": "Anv ar bajenn",
"changecontentmodel-reason-label": "Abeg :",
+ "changecontentmodel-submit": "Kemmañ",
+ "logentry-contentmodel-change-revertlink": "disteuler",
+ "logentry-contentmodel-change-revert": "disteuler",
"protectlogpage": "Log_gwareziñ",
"protectlogtext": "Setu aze a-is roll ar c'hemmoù degaset ouzh live gwareziñ ar pajennoù.\nSellet ouzh ar [[Special:ProtectedPages|roll ar pajennoù gwarezet]] evit kaout roll ar pajennoù gwarezet bremañ.",
"protectedarticle": "{{Gender:.|en|he}} deus gwarezet [[$1]]",
"sp-contributions-username": "Anv implijer pe chomlec'h IP :",
"sp-contributions-toponly": "Na ziskouez nemet an adweladennoù diwezhañ",
"sp-contributions-newonly": "Diskouez an aozadennoù a zo krouidigezhioù pajennoù hepken",
+ "sp-contributions-hideminor": "Kuzhat ar c'hemmoù dister",
"sp-contributions-submit": "Klask",
"whatlinkshere": "Pajennoù liammet",
"whatlinkshere-title": "Pajennoù liammet ouzh \"$1\"",
"whatlinkshere-hideredirs": "$1 adkas",
"whatlinkshere-hidetrans": "$1 treuzkluzadur",
"whatlinkshere-hidelinks": "$1 liamm",
- "whatlinkshere-hideimages": "$1 ar restroù liammet",
+ "whatlinkshere-hideimages": "$1 al liammoù war-zu ar restr",
"whatlinkshere-filters": "Siloù",
"whatlinkshere-submit": "Mont",
"autoblockid": "Emstankañ #$1",
"ipb-unblock": "Distankañ un implijer pe ur chomlec'h IP",
"ipb-blocklist": "Teuler ur sell ouzh roll an dud stanket evit poent",
"ipb-blocklist-contribs": "Degasadennoù evit $1",
+ "ipb-blocklist-duration-left": "$1 a chom",
"unblockip": "Distankañ ur chomlec'h IP",
"unblockiptext": "Grit gant ar furmskrid a-is evit adsevel ar moned skrivañ ouzh ur chomlec'h IP bet stanket a-gent.",
"ipusubmit": "Paouez gant ar stankadenn-mañ",
"tooltip-feed-atom": "Magañ ar red Atom evit ar bajenn-mañ",
"tooltip-t-contributions": "Gwelet roll degasadennoù {{GENDER:$1|this user}} an implijer-mañ",
"tooltip-t-emailuser": "Kas ur postel d'an implijer-mañ",
+ "tooltip-t-info": "Titouroù ouzhpenn a-zivout ar bajenn-mañ",
"tooltip-t-upload": "Enporzhiañ ur skeudenn pe ur restr media war ar servijer",
"tooltip-t-specialpages": "Roll an holl bajennoù dibar",
"tooltip-t-print": "Stumm moulladus ar bajenn-mañ",
"pageinfo-length": "Ment ar bajenn (en oktedoù)",
"pageinfo-article-id": "Niverenn ar bajenn",
"pageinfo-language": "Yezh ar bajenn",
+ "pageinfo-language-change": "kemmañ",
"pageinfo-content-model": "Patrom endalc'had ar bajenn",
+ "pageinfo-content-model-change": "kemmañ",
"pageinfo-robot-policy": "Menegeriñ gant robotoù",
"pageinfo-robot-index": "Aotreet",
"pageinfo-robot-noindex": "Diaotreet",
"pageinfo-category-pages": "Niver a bajennoù",
"pageinfo-category-subcats": "Niver a isrummadoù",
"pageinfo-category-files": "Niver a restroù",
+ "pageinfo-user-id": "ID an implijer",
"markaspatrolleddiff": "Merkañ evel gwiriet",
"markaspatrolledtext": "Merkañ ar pennad-mañ evel gwiriet",
"markedaspatrolled": "Merkañ evel gwiriet",
"patrol-log-page": "Log gwiriañ",
"patrol-log-header": "Setu ur marilh eus ar stummoù patrouilhet.",
"log-show-hide-patrol": "$1 istor ar stummoù gwiriet",
+ "confirm-markpatrolled-button": "Mat eo",
"deletedrevision": "Diverket stumm kozh $1.",
"filedeleteerror-short": "Fazi e-ser diverkañ ar restr : $1",
"filedeleteerror-long": "Fazioù zo bet kavet e-ser diverkañ ar restr :\n\n$1",
"watchlistedit-clear-legend": "Diverkañ ar roll-evezhiañ",
"watchlistedit-clear-explain": "Lamet e vo an holl ditloù eus ho roll evezhiañ",
"watchlistedit-clear-titles": "Titloù :",
+ "watchlistedit-clear-submit": "Riñsañ ar roll-evezhiañ (da vat e vo !)",
"watchlistedit-clear-done": "Goulloet eo bet ho roll evezhiañ.",
"watchlistedit-clear-removed": "Dilamet ez eus bet {{PLURAL:$1|1 titl|$1 a ditloù}} :",
"watchlistedit-too-many": "Re a bajennoù zo da ziskwel amañ.",
"version-libraries-version": "Stumm",
"version-libraries-license": "Aotre-implijout",
"version-libraries-description": "Deskrivadur",
+ "version-libraries-authors": "Aozerien",
"redirect-submit": "Mont",
"redirect-lookup": "Klask :",
"redirect-value": "Talvoud :",
"redirect-page": "ID ar bajenn",
"redirect-revision": "Adwel ar bajenn",
"redirect-file": "Anv ar restr",
+ "redirect-logid": "ID ar marilh",
"redirect-not-exists": "Talvoud n'eo ket bet kavet",
"fileduplicatesearch": "Klask ar restroù e doubl",
"fileduplicatesearch-summary": "Klask restroù e doubl war diazez talvoudennoù krennet.",
"tags-active-yes": "Ya",
"tags-active-no": "Ket",
"tags-edit": "aozañ",
+ "tags-delete": "diverkañ",
"tags-activate": "gweredekaat",
"tags-deactivate": "diweredekaat",
"tags-hitcount": "$1 {{PLURAL:$1|kemm|kemm}}",
+ "tags-create-heading": "Krouiñ un dikedenn nevez",
+ "tags-create-tag-name": "Anv an dikedenn :",
"tags-create-reason": "Abeg :",
"tags-create-submit": "Krouiñ",
+ "tags-create-no-name": "Rekis eo merkañ anv un dikedenn.",
+ "tags-delete-title": "Diverkañ an dikedenn",
"tags-delete-reason": "Abeg :",
"tags-activate-reason": "Abeg :",
"tags-activate-submit": "Gweredekaat",
"tags-deactivate-reason": "Abeg :",
"tags-deactivate-submit": "Diweredekaat",
"tags-edit-existing-tags-none": "''Hini ebet''",
+ "tags-edit-new-tags": "Tikedennoù nevez :",
+ "tags-edit-add": "Ouzhpennañ an tikedennoù-mañ :",
+ "tags-edit-remove": "Dilemel an tikedennoù-mañ :",
+ "tags-edit-remove-all-tags": "(dilemel an holl dikedennoù)",
+ "tags-edit-chosen-placeholder": "Diuzañ un nebeud tikedennoù",
"tags-edit-reason": "Abeg :",
+ "tags-edit-success": "Lakaet eo bet ar c'hemmoù da dalvezout",
"comparepages": "Keñveriañ pajennoù",
"compare-page1": "Pajenn 1",
"compare-page2": "Pajenn 2",
"feedback-submit": "Kas",
"feedback-thanks": "Ho trugarekaat ! Postet eo bet hoc'h evezhiadenn d'ar bajenn \"[$2 $1]\".",
"feedback-thanks-title": "Trugarez !",
- "searchsuggest-search": "Klask",
+ "searchsuggest-search": "Klask e {{SITENAME}}",
"searchsuggest-containing": "ennañ...",
"api-error-badaccess-groups": "N'oc'h ket aotreet da enporzhiañ restroù war ar wiki-mañ.",
"api-error-badtoken": "Fazi diabarzh : \"jedouer\" fall.",
"expand_templates_generate_xml": "Gwelet ar gwezennadur XML",
"expand_templates_generate_rawhtml": "Diskouez an HTML kriz",
"expand_templates_preview": "Rakwelet",
- "pagelanguage": "Diuzañ yezh ar bajenn",
+ "pagelanguage": "Kemmañ yezh ar bajenn",
"pagelang-name": "Pajenn",
"pagelang-language": "Yezh",
"pagelang-use-default": "Implijout ar yezh dre ziouer",
"pagelang-select-lang": "Dibab ar yezh",
+ "pagelang-submit": "Kas",
"right-pagelang": "Cheñch yezh ar bajenn",
"action-pagelang": "cheñch yezh ar bajenn",
"log-name-pagelang": "Cheñch yezh",
"mediastatistics-header-office": "Burev",
"mediastatistics-header-text": "Testenn",
"mediastatistics-header-archive": "Furmadoù gwasket",
+ "mediastatistics-header-total": "An holl restroù",
"json-warn-trailing-comma": "$1 {{PLURAL:$1|virgulenn|a virgulennoù}} dibenn zo bet lamet eus JSON",
"json-error-unknown": "Ur gudenn a oa gant ar JSON. Fazi : $1",
"json-error-depth": "Aet eur en tu all da zonder brasañ an torn",
"special-characters-group-thai": "Thai",
"special-characters-group-lao": "Laoseg",
"special-characters-group-khmer": "Khmer",
- "randomrootpage": "Pajenn wrizienn dargouezhek"
+ "mw-widgets-titleinput-description-redirect": "adkas war-zu $1",
+ "mw-widgets-categoryselector-add-category-placeholder": "Ouzhpennañ ur rummad...",
+ "randomrootpage": "Pajenn wrizienn dargouezhek",
+ "log-action-filter-all": "An holl",
+ "log-action-filter-block-block": "Stankañ",
+ "log-action-filter-block-unblock": "Distankañ",
+ "authmanager-authplugin-setpass-bad-domain": "Domani direizh.",
+ "authmanager-email-label": "Postel",
+ "authmanager-email-help": "Chomlec'h postel",
+ "authmanager-realname-label": "Anv gwir",
+ "authmanager-realname-help": "Anv gwir an implijer",
+ "authmanager-provider-password": "Gwiriekadur diazezet war ur ger-termen",
+ "authmanager-provider-temporarypassword": "Ger-tremen da c'hortoz",
+ "authprovider-resetpass-skip-label": "Lammat",
+ "authprovider-resetpass-skip-help": "Lammat adderaouekaat ar ger-tremen.",
+ "specialpage-securitylevel-not-allowed-title": "Berzet",
+ "cannotauth-not-allowed-title": "Aotre nac'het",
+ "cannotauth-not-allowed": "N'oc'h ket aotreet d'ober gant ar bajenn-mañ",
+ "credentialsform-account": "Anv ar gont :",
+ "cannotlink-no-provider-title": "N'eus kont ebet da liammañ",
+ "linkaccounts": "Kontoù liammet",
+ "linkaccounts-success-text": "Liammet eo bet ar gont.",
+ "linkaccounts-submit": "Liammañ ar c'hontoù",
+ "unlinkaccounts": "Diliammañ ar c'hontoù",
+ "unlinkaccounts-success": "Diliammet eo bet ar gont."
}
"revertmove": "юхаяккха",
"delete_and_move_text": "== ДӀаяккха хьокъ ю ==\nИ цӀе йолу аг1о «[[:$1]]» йолуш ю. \nЛаьий хьуна и дӀаяккха, цӀе хийца таро хилийта?",
"delete_and_move_confirm": "ХӀаъ, дӀаяккха хӀара агӀо",
- "delete_and_move_reason": "Ð\94Ó\80аÑ\8fÑ\8cккÑ\85ина Ñ\86Ó\80е Ñ\85ийÑ\86а Ñ\8f Ñ\82аÑ\80о Ñ\85илийÑ\82а «[[$1]]»",
+ "delete_and_move_reason": "ДӀаяьккхина цӀе хийца таро хилийта «[[$1]]»",
"selfmove": "АгӀона цӏе хийца йиш яц: и цӏе хӏокху агӏона йолуш ю.",
"immobile-source-page": "ХӀокху агӏона цӏе хийца йиш яц.",
"bad-target-model": "Йиш яц хийца $1 оцу $2: цхьаьна ца догӀу моделин хаамаш.",
"htmlform-user-not-exists": "<strong>$1</strong> яц.",
"htmlform-user-not-valid": "<strong>$1</strong> — декъашхочун магийна йоцу цӀе.",
"logentry-delete-delete": "$1 {{GENDER:$2|дӀаяьккхина}} агӀо $3",
+ "logentry-delete-delete_redir": "$1 {{GENDER:$2|дӀаяьккхина}} $3 дӀасахьажорг гӀоьнца",
"logentry-delete-restore": "$1 {{GENDER:$2|меттахӀоттайина|меттахӀоттайина}} агӀо $3",
"logentry-delete-event": "$1 {{GENDER:$2|хийцина}} гуш хилар {{PLURAL:$5|1=$5 дӀаяздаран|$5 дӀаяздаршан}} тептаран → $3: $4",
"logentry-delete-revision": "$1 {{GENDER:$2|хийцина}} {{PLURAL:$5|1=$5 верси|$5 версеш}} гуш хилар $3: $4 агӀорахь",
"changecontentmodel-emptymodels-title": "Nejsou k dispozici žádné modely obsahu",
"changecontentmodel-emptymodels-text": "Obsah stránky [[:$1]] nelze zkonvertovat na žádný typ.",
"log-name-contentmodel": "Kniha změn modelů obsahu",
- "log-description-contentmodel": "Události týkající se modelů obsahu stránek",
+ "log-description-contentmodel": "Na této stránce jsou zaznamenány změny modelu obsahu stránek a stránky, které byly vytvořeny s modelem obsahu různým od výchozího.",
"logentry-contentmodel-new": "$1 {{GENDER:$2|založil|založila}} stránku $3 za použití nestandardního modelu obsahu „$5“",
"logentry-contentmodel-change": "$1 {{GENDER:$2|změnil|změnila}} model obsahu stránky $3 z „$4“ na „$5“",
"logentry-contentmodel-change-revertlink": "vrátit",
"changecontentmodel-emptymodels-title": "Keine Inhaltsmodelle verfügbar",
"changecontentmodel-emptymodels-text": "Der Inhalt auf [[:$1]] kann zu keinem Typ konvertiert werden.",
"log-name-contentmodel": "Inhaltsmodell-Änderungs-Logbuch",
- "log-description-contentmodel": "Ereignisse bezüglich den Inhaltsmodellen einer Seite",
+ "log-description-contentmodel": "Diese Seite listet Änderungen an dem Inhaltsmodell von Seiten auf sowie Seiten, die mit einem Inhaltsmodell erstellt wurden, das nicht dem Standard entspricht.",
"logentry-contentmodel-new": "$1 {{GENDER:$2|erstellte}} die Seite $3 mit einem Nicht-Standard-Inhaltsmodell „$5“",
"logentry-contentmodel-change": "$1 {{GENDER:$2|änderte}} das Inhaltsmodell der Seite $3 von „$4“ nach „$5“",
"logentry-contentmodel-change-revertlink": "zurücksetzen",
"underline-never": "Qet",
"underline-default": "Cild ya zi cı geyrayoğo hesebiyaye",
"editfont-style": "Cayê vurnayışi de terzê nuştışi:",
- "editfont-default": "Cı geyrayoğo hesabiyaye",
+ "editfont-default": "Browsero standard",
"editfont-monospace": "Terzê nusteyê sabıt mesafi",
"editfont-sansserif": "Fontê Sans-serifi",
"editfont-serif": "Font (çêşıdê nuştey) Serif",
"badaccess-group0": "Heqa şıma çıniya, karo ke şıma waşt, bıkerê.",
"badaccess-groups": "No fealiyeto ke şıma waşt, tenya karberanê {{PLURAL:$2|grubi|gruban ra yewi}} rê akerdeyo: $1.",
"versionrequired": "No $1 MediaWiki lazımo",
- "versionrequiredtext": "Seba gurenayışê na pele versiyonê MediaWiki $1 lazımo. \n[[Special:Version|Versiyonê pele]] bıvêne.",
+ "versionrequiredtext": "Gırweynayışê ena perre rê gani versiyonê $1ê MediaWiki bo. \n[[Special:Version|Versiyonê pere\nr]] bıvêne.",
"ok": "Temam",
"pagetitle": "$1 – {{SITENAME}}",
"pagetitle-view-mainpage": "{{SITENAME}}",
"subject": "Mewzu:",
"minoredit": "No yew vurnayışo werdiyo",
"watchthis": "Bewni ena per",
- "savearticle": "Pele qeyd kı",
+ "savearticle": "Perre qeyd ke",
"savechanges": "Vurnayışan qeyd kı",
"publishpage": "Perer bıhesırne",
"publishchanges": "Vurnayışa vıla ke",
"last": "peyên",
"page_first": "verên",
"page_last": "peyên",
- "histlegend": "Ferqê weçinayışi: Qutiya versiyonan seba têversanayış işaret ke u dest be ''enter''i ya zi gocega cêrêne ro ne.<br />\nCetwel: <strong>({{int:ferq}})</strong> = ferqê verziyonê peyêni, <strong>({{int:peyên}})</strong> = ferqê versiyonê verêni, <strong>{{int:q}}</strong> = vurnayışo werdi yo.",
+ "histlegend": "Ferqê weçinayışi: Qutiya versiyonan qandé têversanayış işaret ke u dest be ''enter''i ya zi gocega cêrêne rone.<br />\nCetwel: <strong>({{int:ferq}})</strong> = ferqê versiyonê peyêni, <strong>({{int:peyên}})</strong> = ferqê versiyonê verêni, <strong>{{int:q}}</strong> = vurnayışo werdi yo.",
"history-fieldset-title": "Çımberz verori",
"history-show-deleted": "Tenya esterıtey",
"histfirst": "Verênêr",
"usermessage-editor": "Xeberdarê sistemi",
"usermessage-template": "MediaWiki:UserMessage",
"watchlist": "Listey pawıteyan",
- "mywatchlist": "Lista mın'a seyrkerdene",
+ "mywatchlist": "Listey seyr kerdışi",
"watchlistfor2": "Qandê $1 ($2)",
"nowatchlist": "listeya temaşa kerdıişê şıma de yew madde zi çina.",
"watchlistanontext": "qey vurnayişê maddeya listeya temaşakerdiş ronıştış akerê",
"bad-target-model": "Hedefo ke waştiyayo zerreke cı babetna model karneno. Ke nêşeno $1 ra açarno $2.",
"imagenocrossnamespace": "Dosya, ca yo ke qey nameyê dosyayan nêbıbo nêkırışiyeno",
"nonfile-cannot-move-to-file": "Ekê dosya niyê, cade namande dosyaya nêahulneyênê",
- "imagetypemismatch": "tipa dosyaya neweyi re pênêgıneno/nêgıneno pê",
+ "imagetypemismatch": "Tipê dosyey newey rê pê nêgıneno",
"imageinvalidfilename": "nameyê dosyayi ya hedefi meqbul niyo.",
"fix-double-redirects": "rayberdış ê ke sernameyê orjinali re işaret keni rocane bıker.",
"move-leave-redirect": "pey de yew rayberdış roni",
"tooltip-pt-mytalk": "Pela {{GENDER:|toya}} werênayışi",
"tooltip-pt-anontalk": "vurnayiş ê ke no Ipadresi ra biyo muneqeşa bıker",
"tooltip-pt-preferences": "Tercihê {{GENDER:|to}}",
- "tooltip-pt-watchlist": "Lista pelanê ke to gırewtê seyrkerdış",
+ "tooltip-pt-watchlist": "Listey peranê ke to gırotê seyr kerdış",
"tooltip-pt-mycontris": "Yew lista iştırakanê {{GENDER:|şıma}}",
"tooltip-pt-login": "Mayê şıma ronıştış akerdışi rê dawet keme; labelê ronıştış mecburi niyo",
"tooltip-pt-logout": "Bıveciye",
"apisandbox-sending-request": "Sending API request...",
"apisandbox-loading-results": "Receiving API results...",
"apisandbox-results-error": "An error occurred while loading the API query response: $1.",
+ "apisandbox-request-params-json": "JSON parameters:",
"apisandbox-request-url-label": "Request URL:",
"apisandbox-request-time": "Request time: {{PLURAL:$1|$1 ms}}",
"apisandbox-results-fixtoken": "Correct token and resubmit",
"emailnotauthenticated": "Aún no has confirmado tu dirección de correo electrónico.\nHasta que lo hagas, las siguientes funciones no estarán disponibles.",
"noemailprefs": "Especifica una dirección electrónica para habilitar estas características.",
"emailconfirmlink": "Confirmar dirección de correo electrónico",
- "invalidemailaddress": "La dirección electrónica no puede ser aceptada, pues parece que tiene un formato no válido.\nPor favor, escribe una dirección en el formato adecuado o deja el campo en blanco.",
+ "invalidemailaddress": "No se puede aceptar la dirección de correo electrónico, pues parece que tiene un formato no válido.\nPor favor, escribe una dirección bien formada o deja el campo en blanco.",
"cannotchangeemail": "En este wiki no se pueden cambiar las direcciones de correo electrónico de las cuentas de usuario.",
"emaildisabled": "Este sitio no puede enviar correos electrónicos.",
"accountcreated": "Se ha creado la cuenta",
"resetpass-validity-soft": "Tu contraseña no es válida: $1\n\nCámbiala ahora por una nueva, o haz clic en \"{{int:authprovider-resetpass-skip-label}}\" para cambiarla más tarde.",
"passwordreset": "Restablecer contraseña",
"passwordreset-text-one": "Completa este formulario para recibir una contraseña temporal por correo electrónico.",
- "passwordreset-text-many": "{{PLURAL:$1|Elige una de las opciones para recibir una contraseña temporal por correo electrónico.}}",
+ "passwordreset-text-many": "{{PLURAL:$1|Rellena uno de los campos para recibir una contraseña temporal por correo electrónico.}}",
"passwordreset-disabled": "Se ha desactivado el restablecimiento de contraseñas en este wiki.",
"passwordreset-emaildisabled": "Se han desactivado las funciones de correo electrónico en este wiki.",
"passwordreset-username": "Nombre de usuario:",
"content-json-empty-object": "Objeto vacío",
"content-json-empty-array": "Matriz vacía",
"deprecated-self-close-category": "Páginas que utilizan etiquetas HTML autocerradas no válidas",
- "deprecated-self-close-category-desc": "Esta página contiene etiquetas HTML de autocierre inválidas, tales como <code><b/></code> o <code><span/></code>. El comportamiento de estas cambiará pronto para ser coherente con la especificación de HTML5, por lo que su utilización en el wikitexto está en desuso.",
+ "deprecated-self-close-category-desc": "Esta página contiene etiquetas HTML de autocierre no válidas, tales como <code><b/></code> o <code><span/></code>. El comportamiento de estas cambiará pronto para ser consistente con la especificación de HTML5, por lo que su utilización en el wikitexto está obsoleta.",
"duplicate-args-warning": "<strong>Aviso:</strong> [[:$1]] llama a [[:$2]] con más de un valor para el parámetro «$3». Se usará solo el último valor proporcionado.",
"duplicate-args-category": "Páginas que usan argumentos duplicados en invocaciones de plantillas",
"duplicate-args-category-desc": "La página contiene invocaciones de plantillas que utilizan argumentos duplicados, como <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> o <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.",
"right-autoconfirmed": "No resultar afectado por los límites de frecuencia de edición para las IP",
"right-bot": "Ser tratado como un programa automático",
"right-nominornewtalk": "No accionar el aviso de mensajes nuevos al realizar ediciones menores en páginas de discusión",
- "right-apihighlimits": "Tener límites más altos para las peticiones a través de la API",
+ "right-apihighlimits": "Usar límites más altos en peticiones a través de la API",
"right-writeapi": "Hacer uso de la API de escritura",
"right-delete": "Borrar páginas",
"right-bigdelete": "Borrar páginas con historiales grandes",
"right-editusercssjs": "Editar las páginas de CSS y JavaScript de otros usuarios",
"right-editusercss": "Editar las páginas de CSS de otros usuarios",
"right-edituserjs": "Editar las páginas de JavaScript de otros usuarios",
- "right-editmyusercss": "Editar tus páginas de CSS",
+ "right-editmyusercss": "Editar tus archivos CSS",
"right-editmyuserjs": "Editar tus archivos JavaScript",
"right-viewmywatchlist": "Ver tu lista de seguimiento",
"right-editmywatchlist": "Editar tu lista de seguimiento. Algunas acciones seguirán agregando páginas aun sin este permiso.",
"right-managechangetags": "Crear y (des)activar [[Special:Tags|etiquetas]]",
"right-applychangetags": "Aplicar [[Special:Tags|etiquetas]] junto con los cambios propios",
"right-changetags": "Agregar y quitar [[Special:Tags|etiquetas]] arbitrarias a revisiones individuales y entradas del registro",
- "right-deletechangetags": "Eliminar [[Special:Tags|tags]] de la base de datos",
+ "right-deletechangetags": "Eliminar [[Special:Tags|etiquetas]] de la base de datos",
"grant-generic": "Paquete de permisos \"$1\"",
"grant-group-page-interaction": "Interactuar con páginas",
"grant-group-file-interaction": "Interactuar con multimedia",
"changecontentmodel-emptymodels-title": "No hay modelos de contenido disponibles",
"changecontentmodel-emptymodels-text": "El contenido de [[:$1]] no se puede convertir a ningún tipo.",
"log-name-contentmodel": "Registro de cambios del modelo de contenido",
- "log-description-contentmodel": "Eventos relacionados con los modelos de contenido de una página",
+ "log-description-contentmodel": "Esta página muestra cambios en el modelo de contenido de las páginas, así como las páginas creadas con un modelo de contenido distinto del estándar.",
"logentry-contentmodel-new": "$1 {{GENDER:$2|creó}} la página $3 usando un modelo de contenido no predeterminado \"$5\"",
"logentry-contentmodel-change": "$1 {{GENDER:$2|cambió}} el modelo de contenido de la página $3 de \"$4\" a \"$5\"",
"logentry-contentmodel-change-revertlink": "revertir",
"log-show-hide-patrol": "$1 registro de verificación",
"log-show-hide-tag": "$1 registro de etiquetas",
"confirm-markpatrolled-button": "Aceptar",
- "confirm-markpatrolled-top": "marcar la revisión $3 de $2 como revisada?",
+ "confirm-markpatrolled-top": "¿Marcar la revisión $3 de $2 como verificada?",
"deletedrevision": "Borrada revisión antigua $1",
"filedeleteerror-short": "Error al borrar el archivo: $1",
"filedeleteerror-long": "Se han producido errores mientras se borraba el archivo:\n\n$1",
"watchlistedit-normal-done": "{{PLURAL:$1|1 página ha sido borrada|$1 páginas han sido borradas}} de tu lista de seguimiento:",
"watchlistedit-raw-title": "Editar lista de seguimiento en crudo",
"watchlistedit-raw-legend": "Editar tu lista de seguimiento en modo texto",
- "watchlistedit-raw-explain": "A continuación se listan las páginas en tu lista de seguimiento. Esta lista puede editarse añadiendo o eliminando líneas de la lista;\nun título por línea.\nCuando acabes, pulsa «{{int:Watchlistedit-raw-submit}}».\nTambién puedes [[Special:EditWatchlist|usar el editor estándar]].",
+ "watchlistedit-raw-explain": "A continuación se muestran los títulos de las páginas en tu lista de seguimiento. Puedes editar la lista añadiendo o eliminando títulos de la lista (un título por línea).\nCuando acabes, pulsa «{{int:Watchlistedit-raw-submit}}».\nTambién puedes [[Special:EditWatchlist|usar el editor estándar]].",
"watchlistedit-raw-titles": "Páginas:",
"watchlistedit-raw-submit": "Actualizar lista de seguimiento",
"watchlistedit-raw-done": "Tu lista de seguimiento se ha actualizado.",
"version-libraries-license": "Licencia",
"version-libraries-description": "Descripción",
"version-libraries-authors": "Autores",
- "redirect": "Redirigir por archivo, o identificador de usuario, página, revisión o registro",
+ "redirect": "Redirigir por archivo o por identificador de usuario, página, revisión o registro.",
"redirect-summary": "Esta página especial redirige a un archivo (dado un nombre), a una página (dado un identificador de revisión o de página), a una página de usuario (dado un identificador numérico de usuario) o a una entrada del registro (dado un identificador de registro). Uso: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], [[{{#Special:Redirect}}/user/101]] o [[{{#Special:Redirect}}/logid/186]].",
"redirect-submit": "Ir",
"redirect-lookup": "Buscar:",
"redirect-value": "Valor:",
- "redirect-user": "Id. del usuario",
+ "redirect-user": "Identificador del usuario",
"redirect-page": "Identificador de la página",
"redirect-revision": "Revisión de página",
- "redirect-file": "Nombre de archivo",
+ "redirect-file": "Nombre del archivo",
"redirect-logid": "Identificador de registro",
"redirect-not-exists": "No se encontró el valor",
"fileduplicatesearch": "Búsqueda de archivos duplicados",
"default-skin-not-found-no-skins": "¡Vaya! La apariencia predeterminada de tu wiki, definida en <code>$wgDefaultSkin</code> como <code>$1</code>, no está disponible.\n\nNo tienes apariencias instaladas.\n\n; Si has instalado o actualizado MediaWiki recientemente:\n: Probablemente has instalado desde git, o directamente desde el código fuente usando algún otro método. Esto puede ocurrir en este caso. A partir de MediaWiki 1.24 ya no se incluye ninguna apariencia en el repositorio principal. Trata de instalar algunas apariencias desde el [https://www.mediawiki.org/wiki/Category:All_skins directorio de apariencias de mediawiki.org], ya sea:\n:* Descargando el [https://www.mediawiki.org/wiki/Download instalador tarball], que viene con varias apariencias y extensiones. Puedes copiar y pegar el directorio <code>skins/</code> desde ahí.\n:* Descargando tarballs individuales de cada apariencia de [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org].\n:* [https://www.mediawiki.org/wiki/Download_from_Git#Using_Git_to_download_MediaWiki_skins Usando Git para descargar apariencias].\n: Hacer esto no debería interferir con tu repositorio de MediaWiki si eres un desarrollador de MediaWiki. Revisa [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual:Configuración de apariencias] para información sobre cómo habilitar las apariencias y seleccionar la predeterminada.",
"default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (activada)",
"default-skin-not-found-row-disabled": "* <code>$1</code> / $2 (<strong>desactivada</strong>)",
- "mediastatistics": "Estadísticas de multimedia",
- "mediastatistics-summary": "Estadísticas sobre los tipos de archivos cargados. Sólo se incluyen las versiones más recientes. Los archivos antiguos o eliminados están excluidos.",
+ "mediastatistics": "Estadísticas multimedia",
+ "mediastatistics-summary": "Estadísticas sobre los tipos de archivos cargados. Solo se tiene en cuenta la versión más reciente de cada archivo. Los archivos antiguos o eliminados están excluidos.",
"mediastatistics-nfiles": "$1 ($2 %)",
"mediastatistics-nbytes": "{{PLURAL:$1|$1 ''byte''|$1 ''bytes''}} ($2; $3 %)",
"mediastatistics-bytespertype": "Tamaño de archivo total para esta sección: {{PLURAL:$1|$1 byte|$1 bytes}} ($2; $3%).",
"sessionprovider-nocookies": "Puede que las cookies estén desactivadas. Actívalas y comienza de nuevo.",
"randomrootpage": "Página raíz aleatoria",
"log-action-filter-block": "Tipo de bloqueo:",
- "log-action-filter-contentmodel": "Tipo de contentmodel modificación:",
+ "log-action-filter-contentmodel": "Tipo de modificación del modelo de contenido:",
"log-action-filter-delete": "Tipo de eliminación:",
"log-action-filter-import": "Tipo de importación:",
"log-action-filter-managetags": "Tipo de administración de la etiqueta de acción:",
"log-action-filter-block-reblock": "Modificación de bloqueo",
"log-action-filter-block-unblock": "Desbloquear",
"log-action-filter-contentmodel-change": "Cambio de modelo de contenido",
- "log-action-filter-contentmodel-new": "Creación de página con modelo de contenidos no estándar",
+ "log-action-filter-contentmodel-new": "Creación de página con modelo de contenido no estándar",
"log-action-filter-delete-delete": "Eliminación de páginas",
"log-action-filter-delete-delete_redir": "Sobrescritura de la redirección",
"log-action-filter-delete-restore": "Restauración de páginas",
"prefs-help-prefershttps": "Hobespen hauek eragina izango dute sartzen zaren hurrengoan.",
"prefs-tabs-navigation-hint": "Gomendioa: Fitxen zerrendan nabigatzeko ezker eta eskuin geziak erabil ditzakezu.",
"userrights": "Erabiltzaile baimenen kudeaketa",
- "userrights-lookup-user": "Erabiltzaile taldeak kudeatu",
+ "userrights-lookup-user": "Erabiltzailea aukeratu",
"userrights-user-editname": "Erabiltzaile izena idatzi:",
- "editusergroup": "{{GENDER:$1|Erabiltzaile}} taldeak editatu",
- "editinguser": "'''[[User:$1|$1]]''' $2 lankidearen erabiltzaile-eskubideak aldatzen",
+ "editusergroup": "Erabiltzaile taldeak kargatu",
+ "editinguser": "<strong>[[User:$1|$1]]</strong> $2 {{GENDER:$1|lankidearen}} erabiltzaile-eskubideak aldatzen",
"userrights-editusergroup": "Erabiltzaile taldeak editatu",
"saveusergroups": "Erabiltzaile {{GENDER:$1|taldeak}} gorde",
"userrights-groupsmember": "Ondorengo talde honetako kide da:",
"action-upload_by_url": "URL helbide batetik fitxategi hau igo",
"action-writeapi": "idazteko APIa erabili",
"action-delete": "orrialde hau ezabatu",
- "action-deleterevision": "berrikuspen hau ezabatu",
- "action-deletedhistory": "ikusi orri honen historia ezabatua",
+ "action-deleterevision": "berrikuspenak ezabatu",
+ "action-deletedhistory": "ikusi orri baten historia ezabatua",
"action-browsearchive": "ezabatutako orrialdeak bilatu",
- "action-undelete": "ezabatutako orrialde hau bergaitu",
- "action-suppressrevision": "izkutuko berrikuspen hau berrikusi eta gaitu",
+ "action-undelete": "Orrialdeak birgaitu",
+ "action-suppressrevision": "Ezkutuko berrikuspenak berrikusi eta birgaitu",
"action-suppressionlog": "log pribatu hau ikusi",
"action-block": "lankide honi aldaketak egitea ekidin",
"action-protect": "orrialde honetako babes mailak aldatu",
"sp-contributions-newbies-title": "Lankideen ekarpenak lankide berrietn",
"sp-contributions-blocklog": "Blokeaketa erregistroa",
"sp-contributions-suppresslog": "{{GENDER:$1|(r)en}} lankide-ekarpen ezabatuak",
- "sp-contributions-deleted": "lankide-ekarpen ezabatuak",
+ "sp-contributions-deleted": "{{GENDER:$1|lankide}}-ekarpen ezabatuak",
"sp-contributions-uploads": "igoerak",
"sp-contributions-logs": "erregistroak",
"sp-contributions-talk": "eztabaida",
"changecontentmodel-emptymodels-title": "Aucun modèle de contenu disponible",
"changecontentmodel-emptymodels-text": "Le contenu sur [[:$1]] ne peut être converti en aucun type.",
"log-name-contentmodel": "Journal de modification de modèle de contenu",
- "log-description-contentmodel": "Événements relatifs aux modèles de contenu d’une page",
+ "log-description-contentmodel": "Cette page montre des modifications dans le modèle de contenu des pages, ainsi que les pages créées avec un modèle de contenu différent du contenu par défaut.",
"logentry-contentmodel-new": "$1 {{GENDER:$2|a créé}} la page $3 en utilisant un modèle de contenu « $5 » autre que celui par défaut",
"logentry-contentmodel-change": "$1 {{GENDER:$2|a modifié}} le modèle de contenu de la page $3 de « $4 » en « $5 »",
"logentry-contentmodel-change-revertlink": "rétablir",
"sessionprovider-nocookies": "Il est possible que les témoins (''cookies'') soient désactivés. Assurez-vous que vous avez activé les témoins et recommencez.",
"randomrootpage": "Page racine aléatoire",
"log-action-filter-block": "Type de blocage :",
- "log-action-filter-contentmodel": "Type de modification de modèle de contenu :",
+ "log-action-filter-contentmodel": "Type de modification du modèle de contenu :",
"log-action-filter-delete": "Type de suppression :",
"log-action-filter-import": "Type d’import :",
"log-action-filter-managetags": "Type d’action de gestion des étiquettes :",
"log-action-filter-block-reblock": "Modification de blocage",
"log-action-filter-block-unblock": "Débloquer",
"log-action-filter-contentmodel-change": "Changement de modèle de contenu",
- "log-action-filter-contentmodel-new": "Création de page avec un modèle de contenu non-standard",
+ "log-action-filter-contentmodel-new": "Création de page avec un modèle de contenu différent du contenu par défaut",
"log-action-filter-delete-delete": "Suppression de pages",
"log-action-filter-delete-delete_redir": "Rediriger la réécriture",
"log-action-filter-delete-restore": "Restauration de page",
"changecontentmodel-emptymodels-title": "לא קיים מודל תוכן מתאים",
"changecontentmodel-emptymodels-text": "לא ניתן להמיר את התוכן של [[:$1]] לאף סוג.",
"log-name-contentmodel": "יומן שינויי מודל תוכן",
- "log-description-contentmodel": "×\90×\99ר×\95×¢×\99×\9d שקש×\95ר×\99×\9d ×\9c×\9e×\95×\93×\9c ת×\95×\9b×\9f ש×\9c ×\93פ×\99×\9d",
+ "log-description-contentmodel": "×\91×\93×£ ×\96×\94 ×\9e×\95פ×\99×¢×\99×\9d ש×\99× ×\95×\99×\99×\9d ×\91×\9e×\95×\93×\9c ×\94ת×\95×\9b×\9f ש×\9c ×\93פ×\99×\9d, ×\95×\9b×\9f ×\93פ×\99×\9d ×©× ×\95צר×\95 ×¢×\9d ×\9e×\95×\93×\9c ת×\95×\9b×\9f ש×\95× ×\94 ×\9e×\91ר×\99רת ×\94×\9e×\97×\93×\9c.",
"logentry-contentmodel-new": "$1 {{GENDER:$2|יצר|יצרה}} את הדף $3 תוך שימוש במודל התוכן \"$5\" השונה ממודל ברירת המחדל",
"logentry-contentmodel-change": "$1 {{GENDER:$2|שינה|שינתה}} את מודל התוכן של הדף $3 מ\"$4\" ל\"$5\"",
"logentry-contentmodel-change-revertlink": "שחזור",
"qbedit": "सम्पादन",
"qbpageoptions": "यह पृष्ठ",
"qbmyoptions": "मेरे पृष्ठ",
- "faq": "à¤\85à¤\95à¥\8dसर पूछे जाने वाले प्रश्न",
- "faqpage": "Project:à¤\85à¤\95à¥\8dसर पूछे जाने वाले सवाल",
+ "faq": "बहà¥\81धा पूछे जाने वाले प्रश्न",
+ "faqpage": "Project:बहà¥\81धा पूछे जाने वाले सवाल",
"actions": "क्रियाएँ",
"namespaces": "नामस्थान",
"variants": "संस्करण",
"editusergroup": "Učitaj suradničke skupine",
"editinguser": "Promjena suradničkih prava {{GENDER:$1|suradnika|suradnice}} <strong>[[User:$1|$1]]</strong> $2",
"userrights-editusergroup": "Uredi suradničke skupine",
+ "userrights-viewusergroup": "Pregled suradničkih skupinâ",
"saveusergroups": "Spremi {{GENDER:$1|suradničke}} grupe",
"userrights-groupsmember": "Član:",
"userrights-groupsmember-auto": "Uključeni član:",
"pageinfo-length": "Ծավալ (բայթերով)",
"pageinfo-article-id": "Էջի N",
"pageinfo-language": "Բովանդակության լեզու",
+ "pageinfo-language-change": "փոխել",
"pageinfo-robot-policy": "Կարգավիճակը որոնողական համակարգերում",
"pageinfo-robot-index": "ինդեքսավորվող",
"pageinfo-robot-noindex": "ինդեքսավորվող չէ",
"confirmrecreate": "[[User:$1|$1]] ([[User talk:$1|քննարկում]]) մասնակիցը ջնջել է այս էջը ձեր խմաբգրումը սկսելուց հետո՝ հետևյալ պատճառով.\n: ''$2''\nԽնդրում ենք հաստատել, որ դուք իսկապես ուզում եք վերստեղծել այս էջը։",
"recreate": "Վերստեղծել",
"unit-pixel": " փիքսել",
- "confirm_purge_button": "ԼԱՎ",
+ "confirm_purge_button": "Լավ",
"confirm-purge-top": "Մաքրե՞լ այս էջի քեշը։",
- "confirm-watch-button": "ԼԱՎ",
+ "confirm-watch-button": "Լավ",
"confirm-watch-top": "Ավելացնե՞լ ձեր հսկացանկին",
- "confirm-unwatch-button": "ԼԱՎ",
+ "confirm-unwatch-button": "Լավ",
"confirm-unwatch-top": "Հեռացնե՞լ Ձեր հսկացանկից։",
"imgmultipageprev": "← նախորդ էջ",
"imgmultipagenext": "հաջորդ էջ →",
"changecontentmodel-emptymodels-title": "Nulle modello de contento disponibile",
"changecontentmodel-emptymodels-text": "Le contento in [[:$1]] non pote esser convertite in alcun typo.",
"log-name-contentmodel": "Registro de cambiamentos de modello de contento",
- "log-description-contentmodel": "Eventos relative al modellos de contento de un pagina",
+ "log-description-contentmodel": "Iste pagina monstra cambiamentos in le modello de contento de paginas, e paginas que ha essite create con un modello de contento altere que le predefinite.",
"logentry-contentmodel-new": "$1 {{GENDER:$2|creava}} le pagina $3 con le modello de contento non predefinite \"$5\"",
"logentry-contentmodel-change": "$1 {{GENDER:$2|cambiava}} le modello de contento del pagina $3 de \"$4\" a \"$5\"",
"logentry-contentmodel-change-revertlink": "reverter",
"cant-move-to-user-page": "Tu non ha le permission de renominar un pagina verso un pagina de usator (excepte un subpagina de usator).",
"cant-move-category-page": "Tu non ha le permission de renominar paginas de categoria.",
"cant-move-to-category-page": "Tu non ha le permission de renominar un pagina in un pagina de categoria.",
+ "cant-move-subpages": "Tu non ha le permission de renominar subpaginas.",
+ "namespace-nosubpages": "Le spatio de nomines \"$1\" non permitte subpaginas.",
"newtitle": "Nove titulo:",
"move-watch": "Observar le paginas de origine e de destination",
"movepagebtn": "Renominar pagina",
"api-error-badtoken": "Error interne: indicio invalide.",
"api-error-blocked": "Le modification ha essite blocate pro te.",
"api-error-copyuploaddisabled": "Le incargamentos per URL es disactivate in iste servitor.",
- "api-error-duplicate": "Existe jam {{PLURAL:$1|un altere file|altere files}} in le wiki con le mesme contento.",
+ "api-error-duplicate": "Existe jam {{PLURAL:$1|un altere file|altere files}} in le sito con le mesme contento.",
"api-error-duplicate-archive": "Il habeva jam {{PLURAL:$1|un altere file|altere files}} in le sito con le mesme contento, ma {{PLURAL:$1|illo|illos}} ha essite delite.",
"api-error-empty-file": "Le file que tu submitteva es vacue.",
"api-error-emptypage": "Le creation de nove paginas vacue non es permittite.",
"api-error-missingresult": "Error interne: non poteva determinar si le copia succedeva.",
"api-error-mustbeloggedin": "Es necessari aperir session pro incargar files.",
"api-error-mustbeposted": "Error interne: le requesta require HTTP POST.",
- "api-error-noimageinfo": "Le incargamento succedeva, ma le servitor non forniva alcun information super le file.",
+ "api-error-noimageinfo": "Le incargamento ha succedite, ma le servitor non ha fornite alcun information sur le file.",
"api-error-nomodule": "Error interne: nulle modulo de incargamento definite.",
"api-error-ok-but-empty": "Error interne: nulle responsa del servitor.",
"api-error-overwrite": "Superscriber un file existente non es permittite.",
"api-error-unclassified": "Un error incognite ha occurrite.",
"api-error-unknown-code": "Error incognite: \"$1\"",
"api-error-unknown-error": "Error interne: qualcosa errava durante le tentativa de incargar le file.",
- "api-error-unknown-warning": "Advertimento incognite: $1",
+ "api-error-unknown-warning": "Advertimento incognite: \"$1\".",
"api-error-unknownerror": "Error incognite: \"$1\".",
"api-error-uploaddisabled": "Le incargamento es disactivate in iste wiki.",
"api-error-verification-error": "Le file pote esser corrumpite o su nomine pote haber un extension errate.",
"sessionprovider-nocookies": "Le cookies pote esser disactivate. Assecura te de haber activate le cookies e recomencia.",
"randomrootpage": "Pagina radice aleatori",
"log-action-filter-block": "Typo de blocada:",
- "log-action-filter-contentmodel": "Typo de modification de modello de contento:",
+ "log-action-filter-contentmodel": "Typo de cambiamento del modello de contento:",
"log-action-filter-delete": "Typo de deletion:",
"log-action-filter-import": "Typo de importation:",
"log-action-filter-managetags": "Typo de action de gestion de etiquettas:",
"log-action-filter-block-block": "Blocar",
"log-action-filter-block-reblock": "Modification de blocada",
"log-action-filter-block-unblock": "Disblocar",
- "log-action-filter-contentmodel-change": "Cambio de modello de contento",
- "log-action-filter-contentmodel-new": "Creation de pagina con modello de contento non standard",
+ "log-action-filter-contentmodel-change": "Cambiamento de modello de contento",
+ "log-action-filter-contentmodel-new": "Creation de pagina con un modello de contento non predefinite",
"log-action-filter-delete-delete": "Deletion de pagina",
"log-action-filter-delete-delete_redir": "Superscriptura de redirection",
"log-action-filter-delete-restore": "Restauration de pagina",
"searchprofile-advanced-tooltip": "Iочуязаяь цIерий аренашка лаха",
"search-result-size": "$1 ({{PLURAL:$2|$2 дош|$2 дешаш}})",
"search-result-category-size": "{{PLURAL:$1|1=$1 дакъа|$1 дакъаш}} ({{PLURAL:$2|1=$2 кIалцатег|$2 кIалцатегаш}}, {{PLURAL:$3|1=$3 паьла|$3 паьлий}})",
- "search-redirect": "(дIа-Ñ\81ахьожадар $1 тIара)",
+ "search-redirect": "(дIа-Ñ\85Ñ\8cахьожадар $1 тIара)",
"search-section": "(дáкъа «$1»)",
"search-suggest": "Хьона эшар ер хила мега: $1",
"search-interwiki-caption": "Гаргара проекташ",
"logentry-upload-upload": "$1 {{GENDER:$2|чуяьккхай}} $3",
"rightsnone": "(яц)",
"revdelete-summary": "хувцамий сурт оттадар",
- "searchsuggest-search": "Ð\9bаÑ\85аÑ\80",
+ "searchsuggest-search": "Ð¥Ñ\8cалаÑ\85а {{grammar:prepositional|{{SITENAME}}}} Ñ\87Ñ\83",
"expand_templates_preview": "Хьалххе бIаргтохар",
"pagelang-name": "ОагIув",
"special-characters-group-latin": "Латиной",
"changecontentmodel-emptymodels-title": "Nessun modello di contenuto disponibile",
"changecontentmodel-emptymodels-text": "Il contenuto di [[:$1]] non può essere convertito in alcun tipo.",
"log-name-contentmodel": "Modifiche del modello contenuti",
- "log-description-contentmodel": "Eventi relativi al modello di contenuto di una pagina",
+ "log-description-contentmodel": "Questa pagina elenca le modifiche al modello di contenuto delle pagine, e le pagine che sono state create con un modello di contenuto diverso da quello predefinito.",
"logentry-contentmodel-new": "$1 {{GENDER:$2|ha creato}} la pagina $3 utilizzando un modello di contenuto non predefinito \"$5\"",
"logentry-contentmodel-change": "$1 {{GENDER:$2|ha modificato}} il modello di contenuto della pagina $3 da \"$4\" a \"$5\"",
"logentry-contentmodel-change-revertlink": "ripristina",
"log-action-filter-block-reblock": "Modifica blocco",
"log-action-filter-block-unblock": "Sblocco",
"log-action-filter-contentmodel-change": "Modifica del modello di contenuto",
- "log-action-filter-contentmodel-new": "Creazione di pagina con modello di contenuto non standard",
+ "log-action-filter-contentmodel-new": "Creazione di pagina con modello di contenuto non predefinito",
"log-action-filter-delete-delete": "Cancellazione pagina",
"log-action-filter-delete-restore": "Ripristino pagina",
"log-action-filter-delete-event": "Cancellazione registro",
"log-action-filter-newusers": "アカウント作成の種類:",
"log-action-filter-patrol": "巡回の種類:",
"log-action-filter-protect": "保護の種類:",
+ "log-action-filter-rights": "権限変更の種類:",
"log-action-filter-suppress": "秘匿の種類:",
"log-action-filter-upload": "アップロードの種類",
"log-action-filter-all": "すべて",
"talk": "Parembugan",
"views": "Praèn",
"toolbox": "Piranti",
- "tool-link-userrights": "Owahi golongan {{GENDER:$1|naraguna}}",
- "tool-link-userrights-readonly": "Deleng golongan {{GENDER:$1|naraguna}}",
- "tool-link-emailuser": "Kirimi {{GENDER:$1|naraguna}} iki layangtronik",
+ "tool-link-userrights": "Owahi golongan {{GENDER:$1|panganggo}}",
+ "tool-link-userrights-readonly": "Deleng golongan {{GENDER:$1|panganggo}}",
+ "tool-link-emailuser": "Kirimi {{GENDER:$1|panganggo}} iki layang-é",
"userpage": "Deleng kaca panganggo",
"projectpage": "Deleng kaca proyèk",
"imagepage": "Deleng kaca barkas",
"cannotchangeemail": "Alamat layang èlèktronik akun ora bisa diganti nèng wiki iki.",
"emaildisabled": "Situs iki ora bisa ngirim layang èlèktronik.",
"accountcreated": "Akun wis kagawé",
- "accountcreatedtext": "Akun naraguna [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|rembug]]) wis digawé.",
+ "accountcreatedtext": "Akun panganggo [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|rembug]]) wis digawé.",
"createaccount-title": "Gawé rékening kanggo {{SITENAME}}",
"createaccount-text": "Ana wong sing nggawé sawijining akun utawa rékening kanggo alamat e-mail panjenengan ing {{SITENAME}} ($4) mawa jeneng \"$2\" lan tembung sandi \"$3\". Panjenengan disaranaké kanggo mlebu log lan ngganti tembung sandi panjenengan saiki.\n\nPanjenengan bisa nglirwakaké pesen iki yèn akun utawa rékening iki digawé déné sawijining kaluputan.",
"login-throttled": "Panjenengan wis kakèhan njajal mlebu log.\nTulung nunggu dhisik $1 sadurungé njajal manèh.",
"readonlywarning": "'''PÈNGET: Basis data lagi dikunci amerga ana pangopènan, dadi saiki panjenengan ora bisa nyimpen kasil panyuntingan panjenengan. Panjenengan mbokmenawa prelu mindhahaké kasil panyuntingan panjenengan iki menyang panggonan liya kanggo disimpen bésuk.'''\n\nPangurus sing ngunci basis data mènèhi katrangan kaya mengkéné: $1",
"protectedpagewarning": "'''PÈNGET: Kaca iki wis dikunci dadi namung panganggo sing nduwé hak aksès pangurus baé sing bisa nyunting.'''\nEntri cathetan pungkasan disadiakake ing ngisor kanggo referensi:",
"semiprotectedpagewarning": "'''Cathetan:''' Kaca iki lagi pinuju direksa, dadi namung panganggo kadaftar sing bisa nyunting.\nEntri cathetan pungkasan disadiakake ing ngisor kanggo referensi:",
- "cascadeprotectedwarning": "<strong>Pènget:</strong> Kaca iki wis direksa saéngga mung naraguna kanthi hak pangurus waé sing bisa mbesut amarga kaca iki katransklusi ing {{PLURAL:$1|kaca|kaca-kaca}} sing kareksa runut ngisor iki:",
+ "cascadeprotectedwarning": "<strong>Pènget:</strong> Kaca iki wis direksa saéngga mung panganggo kanthi hak pangurus waé sing bisa mbesut amarga kaca iki katranklusi ing {{PLURAL:$1|kaca|kaca-kaca}} sing kareksa runut ngisor iki:",
"titleprotectedwarning": "'''Pènget: Kaca iki wis dikunci saéngga perlu [[Special:ListGroupRights|hak mligi]] kanggo gawéné.'''\nEntri cathetan pungkasan disadiakake ing ngisor kanggo referensi:",
"templatesused": "{{PLURAL:$1|Cithakan|Cithakan}} sing dienggo ing kaca iki:",
"templatesusedpreview": "{{PLURAL:$1|Cithakan|Cithakan-cithakan}} sing dienggo ing pratilik iki:",
"showhideselectedversions": "Tampilaké/dhelikaké révisi kapilih",
"editundo": "wurung",
"diff-empty": "(Ora ana bedane)",
- "diff-multi-sameuser": "({{PLURAL:$1|$1 owahan antara}} déning naraguna sing padha ora katuduhaké)",
+ "diff-multi-sameuser": "({{PLURAL:$1|$1 owahan antara}} déning panganggo sing padha ora katuduhaké)",
"diff-multi-manyusers": "({{PLURAL:$1Siji rèvisi sedhengan|$1 rèvisi sedhengan}} déning luwih saka $2 {{PLURAL:$2|panganggo|panganggo}} ora dituduhaké)",
"difference-missing-revision": "{{PLURAL:$2|Sak pambenahan|$2 pambenahan}} saka prabédan iki ($1) {{PLURAL:$2|ora ditemokaké|ora ditemokaké}}.\n\nIki biasané kasebab pranala prabedan sing wis ora kanggo saka kaca isi wis dibusak.\nRinciané bisa ditemokaké nèng [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log busak].",
"searchresults": "Kasiling golèk",
"grant-editinterface": "Besut jagad aran MediaWiki lan CSS/JavaScript panganggo",
"grant-editmycssjs": "Besut CSS/JavaScript panganggomu",
"grant-editmyoptions": "Besut préferènsi panganggomu",
- "newuserlogpage": "Log naraguna anyar",
+ "newuserlogpage": "Log panganggo anyar",
"newuserlogpagetext": "Ing ngisor iki kapacak log pandaftaran panganggo anyar.",
"rightslog": "Log hak panganggo",
"rightslogtext": "Ing ngisor iki kapacak log pangowahan marang hak-hak panganggo.",
"listfiles_thumb": "Gambar mini",
"listfiles_date": "Tanggal",
"listfiles_name": "Jeneng",
- "listfiles_user": "Naraguna",
+ "listfiles_user": "Panganggo",
"listfiles_size": "Ukuran (bita)",
"listfiles_description": "Dèskripsi",
"listfiles_count": "Vèrsi",
"filehist-thumb": "Gambar cilik",
"filehist-thumbtext": "Gambar cilik kanggo owahan $1",
"filehist-nothumb": "Ora ana miniatur",
- "filehist-user": "Naraguna",
+ "filehist-user": "Panganggo",
"filehist-dimensions": "Alang ujur",
"filehist-filesize": "Gedhené berkas",
"filehist-comment": "Tanggapan",
"linksearch-error": "''Wildcards'' namung bisa dienggo ing bagéyan awal saka jeneng host.",
"listusersfrom": "Tuduhna panganggo sing diawali karo:",
"listusers-submit": "Tuduhna",
- "listusers-noresult": "Naraguna ora ana.",
+ "listusers-noresult": "Panganggo ora ana.",
"listusers-blocked": "(diblokir)",
"activeusers": "Dhaptar panganggo aktif",
"activeusers-intro": "Iki daptar panganggo sing katon lakuné ing $1 {{PLURAL:$1|dina|dina}} kapungkur.",
"activeusers-count": "$1 {{PLURAL:$1|suntingan|suntingan}} ing {{PLURAL:$3|dina|$3 dina}} pungkasan",
"activeusers-from": "Tampilna panganggo wiwit saka:",
- "activeusers-noresult": "Naraguna ora ana.",
+ "activeusers-noresult": "Panganggo ora ana.",
"listgrouprights": "Hak-hak grup panganggo",
"listgrouprights-summary": "Ing ngisor iki kapacak dhaftar grup panganggo sing didéfinisi ing wiki iki, kanthi hak-hak aksès gandhèngané.\nInformasi tambahan perkara hak-hak individual bisa ditemokaké ing [[{{MediaWiki:Listgrouprights-helppage}}|kéné]].",
"listgrouprights-key": "* <span class=\"listgrouprights-granted\">Hak sing diidinaké</span>\n* <span class=\"listgrouprights-revoked\">Hak sing dijabel</span>",
"ipaddressorusername": "Alamat IP utawa jeneng panganggo",
"ipbexpiry": "Kadaluwarsa",
"ipbreason": "Alesan:",
- "ipbreason-dropdown": "*Alesan umum mblokir\n** Mènèhi informasi palsu\n** Mbusak isi kaca\n** Spam pranala menyang situs njaba\n** Nglebokaké tulisan ngawur ing kaca\n** Tumindak nglècèhaké\n** Ngujar-ujari sawenèh akun\n** Jeneng naraguna ora patut",
+ "ipbreason-dropdown": "*Alesan umum mblokir\n** Mènèhi informasi palsu\n** Mbusak isi kaca\n** Spam pranala menyang situs njaba\n** Nglebokaké tulisan ngawur ing kaca\n** Tumindak nglècèhaké\n** Ngujar-ujari sawenèh akun\n** Jeneng panganggo ora patut",
"ipb-hardblock": "Alangi panganggo sing wis mlebu log nyunting saka alamat IP iki",
"ipbcreateaccount": "Penggak nggawé akun utawa rékening",
"ipbemailban": "Penggak panganggo ngirim layang e-mail",
"movepagetext": "Formulir ing ngisor iki bakal ngowahi jeneng sawijining kaca, mindhah kabèh sajarahé menyang kaca sing anyar. Irah-irahan utawa judhul sing lawas bakal dadi kaca pangalihan menyang irah-irahan sing anyar. Pranala menyang kaca sing lawas ora bakal diowahi; dadi pastèkna dhisik mriksa pangalihan [[Special:DoubleRedirects|dobel]] utawa [[Special:BrokenRedirects|pangalihan sing rusak]] sawisé pamindhahan. Panjenengan sing tanggung jawab mastèkaké menawa kabèh pranala-pranala tetep nyambung ing kaca panujon kaya samesthiné.\n\nGatèkna yèn kaca iki '''ora''' bakal dipindhah yèn wis ana kaca liyané sing nganggo irah-irahan sing anyar, kejaba kaca iku kosong utawa ora nduwé sajarah panyuntingan. Dadi tegesé panjenengan bisa ngowahi jeneng kaca iku manèh kaya sedyakala menawa panjenengan luput, lan panjenengan ora bisa nimpani kaca sing wis ana.\n\n'''PÈNGET!'''\nPerkara iki bisa ngakibataké owah-owahan sing drastis lan ora kaduga kanggo kaca-kaca sing populèr;\npastekaké dhisik panjenengan ngerti konsekwènsi saka panggayuh panjenengan sadurungé dibanjuraké.",
"movepagetext-noredirectfixer": "Formulir di bawah ini digunakan untuk mengubah nama suatu halaman dan memindahkan semua data sejarah ke nama baru.\nJudul yang lama akan menjadi halaman peralihan menuju judul yang baru.\nPastikan untuk memeriksa pengalihan [[Special:DoubleRedirects|ganda]] atau [[Special:BrokenRedirects|rusak]].\nAnda bertanggung jawab untuk memastikan bahwa pranala terus menyambung ke halaman yang seharusnya.\n\nPerhatikan bahwa halaman '''tidak''' akan dipindah apabila telah ada halaman yang menggunakan judul yang baru, kecuali bila halaman tersebut kosong atau merupakan halaman peralihan dan tidak mempunyai sejarah penyuntingan.\nIni berarti Anda dapat mengubah nama halaman kembali seperti semula apabila Anda membuat kesalahan, dan Anda tidak dapat menimpa halaman yang telah ada.\n\n'''Peringatan:'''\nHal ini dapat mengakibatkan perubahan yang tak terduga dan drastis bagi halaman yang populer;\nPastikan Anda mengerti konsekuensi dari perbuatan ini sebelum melanjutkan.",
"movepagetalktext": "Menawa sampéyan nyénthang kothak iki, kaca parembugan sing magepokan bakal otomatis dilih nyang sesirah anyar, kajaba kaca parembugané sing dituju wis ana isiné.\n\nYèn mangkéné, sampéyan kudu ngalih utawa nggabung kaca-kaca iku kanthi manual.",
- "moveuserpage-warning": "<strong>Pènget:</strong> Panjenengan iki arep ngalih kaca naraguna. Mangga ngèlingi yèn mung kacané sing bakal dilih, déné naragunané <em>ora</em> bakal salin jeneng.",
+ "moveuserpage-warning": "<strong>Pènget:</strong> Panjenengan iki arep ngalih kaca panganggo. Mangga èlingana yèn mung kacané waé sing bakal dilih, déné panganggoné <em>ora</em> bakal ganti jeneng.",
"movenologintext": "Panjenengan kudu dadi panganggo sing wis ndaftar lan wis [[Special:UserLogin|mlebu log]] kanggo mindhah kaca.",
"movenotallowed": "Panjenengan ora pareng ngalihaké kaca.",
"movenotallowedfile": "Panjenengan ora duwé hak kanggo mindhahaké berkas.",
"sessionprovider-nocookies": "Cookië sinn eventuell desaktivéiert. Vergewëssert Iech datt Dir d'Cookien aktivéiert hutt a probéiert nach eng Kéier.",
"randomrootpage": "Zoufalls-Stammsäit",
"log-action-filter-block": "Typ vun der Spär:",
+ "log-action-filter-contentmodel": "Ännerung vum Typ vum Modell vum Inhalt:",
"log-action-filter-delete": "Läschtyp:",
"log-action-filter-import": "Importtyp:",
"log-action-filter-move": "Réckeltyp:",
"log-action-filter-block-block": "Spären",
"log-action-filter-block-reblock": "Ännere vun enger Spär",
"log-action-filter-block-unblock": "Spär ophiewen",
+ "log-action-filter-contentmodel-change": "Ännerung vum Modell vum Inhalt",
"log-action-filter-delete-delete": "Säite läschen",
"log-action-filter-delete-delete_redir": "Viruleedung iwwerschreiwen",
"log-action-filter-delete-restore": "Säiterestauratioun",
"Erdemaslancan",
"Ohpuu",
"Warbola",
- "아라"
+ "아라",
+ "Kengšepā"
]
},
"sunday": "pivāpǟva",
"noindex-category": "Lēḑõd bäz indeksõ",
"about": "Titõl-tīetõkst",
"newwindow": "(lǟb vāldiž ūdsõ läbūs)",
- "cancel": " Kitõgid jarā",
+ "cancel": "Tijālizõks",
"mytalk": "Nõvpidāmi",
"navigation": "Navigīerimi",
"qbfind": "Vȯtšõgid",
"history_short": "Istōrij",
"printableversion": "Drukkimiz versij",
"permalink": "Iggi siḑīm",
+ "view": "Vaņțõl",
+ "view-foreign": "Vaņțõl pāikas $1",
"edit": "Redigīer",
"create": "Lūo",
"editthispage": "Redigīer siedā līedtõ",
"lastmodifiedat": "Perri mõitiņtimi: $2 $1",
"jumpto": "Li:",
"jumptonavigation": "navigīerimiz kast",
- "jumptosearch": "Vȯtšõgid",
+ "jumptosearch": "vȯtš",
"aboutsite": "Iļ {{SITENAME}}",
"aboutpage": "Project:Tītõl tieutõkst",
"copyright": "Amā tekstõ um kȭlbatõmist litsents #$1 pierrõ",
"editold": "redigīerõgid",
"viewsourceold": "vaņ ovāt-tekstõ",
"editlink": "redigīerõgid",
- "viewsourcelink": "vaņ ovāt-tekstõ",
+ "viewsourcelink": "vaņțõl ovāt-tekstõ",
"editsectionhint": "Redigīer jaggõ $1",
"toc": "Sižāli",
"showtoc": "nägţõgid",
- "hidetoc": "vōrõgid jarā",
+ "hidetoc": "vaŗț",
"site-rss-feed": "$1 RSS sīeţ",
"site-atom-feed": "$1 Atom sīeţ",
"page-rss-feed": "\"$1\" RSS sīeţ",
"nstab-image": "Bīlda",
"nstab-template": "Mall",
"nstab-category": "Kategōrij",
+ "mainpage-nstab": "Eḑḑilēḑ",
"missing-article": " Datubāz äb lieudõn kizdõd līed ''$1'' $2 tekstõ. Sīkõks võib vȱlda mõitõkst agā istōrij siḑīm jarā kištāntõd lēḑ pǟlõ. Až ažād äb ūo nei, võib vȱlda ka vigā sistēms. Siz um kītõmõst ka [[Special:ListUsers/sysop| administrātorõn]] ja tämmõn āndamizt ka sīe līed internet adres",
"missingarticle-rev": "(redaktsij: $1)",
"badtitle": "Vigāli pēļikēra",
"viewsource": "Vaņ ovāt tekstõ",
"yourname": "Kȭlbatijiznim:",
"yourpassword": "Sallisõnä:",
+ "userlogin-yourpassword": "Sallisõnā",
+ "userlogin-yourpassword-ph": "Kērat sallisõnā",
"yourpasswordagain": "Kēratigid sallisõnā ūtstõ:",
"login": "Log sīezõ",
"nav-login-createaccount": "Log sīezõ agā registrīer kȭlbatijizõks",
"userlogout": "Log ulzõ",
"nologin": "Až täddõn äb ūo eņtš konto, '''$1'''.",
"nologinlink": "Registrīerõgid täs",
- "createaccount": "Lūogid ūž konto",
+ "createaccount": "Lūo kont",
"gotaccount": "Až täddõn jubā um eņtš konto, '''$1'''.",
"gotaccountlink": "Log sīezõ",
"userlogin-resetlink": "Kas tēg unīztõ jarā eņtš sizzõlkēratimiz tīetõkst?",
+ "createacct-submit": "Lūo kont",
"mailmypassword": "Sōtõgid e-kēras ūž sallisõnā",
"loginlanguagelabel": "Kēļ: $1",
+ "pt-createaccount": "Lūo kont",
"bold_sample": "Razzi kēra",
"bold_tip": "Razzi kēra",
"italic_sample": "Slīp kēra",
"histfirst": "Ežmizt",
"histlast": "Perrizt",
"history-feed-item-nocomment": "$1 - $2",
- "rev-delundel": "nägţ/vaŗ jarā",
+ "rev-delundel": "nägț/vaŗț",
"revdel-restore": "Mõitiņt nǟdõbõzt",
"revertmerge": "Kīeld jarā kubbõ vieddimi",
"history-title": "Līed mõitõkst istōrij \"$1\"",
"rightslog": "Kȭlbatijiz õigõmt log",
"action-edit": "siedā līedtõ mõitiņtõ",
"nchanges": "$1 {{PLURAL:$1|mõitõks|mõitõkst}}",
- "recentchanges": "Perrizt mõitõkst",
+ "enhancedrc-history": "Istōrij",
+ "recentchanges": "Perrizt mȭitõkst",
"recentchanges-legend": "Perrizt mõitõkst",
"recentchanges-summary": "Vaņ sīe līed pǟl tīedõd perīži mõitõkši.",
"recentchanges-feed-description": "Vaņ iļ vikipēdijõz tīedõd perīži mõitõkši.",
"rcnotefrom": "Allõ-pūol um tūodõd mõitõkst '''$2''' sōņõst: (nägţõbõd amā jemīņ '''$1''' mõitõkst)",
"rclistfrom": "Nägţ mõitõkši sōņõst: $3 $2",
"rcshowhideminor": "$1 piškizt parāmtimizt",
+ "rcshowhideminor-show": "Nägț",
+ "rcshowhideminor-hide": "vaŗț",
"rcshowhidebots": "$1 robōtõd",
+ "rcshowhidebots-show": "Nägț",
+ "rcshowhidebots-hide": "Vaŗț",
"rcshowhideliu": "$1 sīezõ loggõnd kȭlbatijizt",
+ "rcshowhideliu-hide": "vaŗț",
"rcshowhideanons": "$1 bäz nimmõ kȭlbatijizt",
+ "rcshowhideanons-show": "Nägț",
+ "rcshowhideanons-hide": "vaŗț",
"rcshowhidepatr": "$1 vaņtlõd mõitõkst",
"rcshowhidemine": "$1 min parāmtimizt",
+ "rcshowhidemine-show": "Nägț",
+ "rcshowhidemine-hide": "vaŗț",
"rclinks": "Nägţ perīži $1 mõitõkši lǟndz $2 pǟva āigal <br />$3",
"diff": "vaiţ",
"hist": "istōrij",
- "hide": "Vaŗ jarā",
+ "hide": "vaŗț",
"show": "Nägţ",
"minoreditletter": "p",
"newpageletter": "N",
"pager-older-n": "{{PLURAL:$1|jo vaņīmi 1|jo vaņīmizt $1}}",
"booksources": "Rōntõ vȯtšimi",
"booksources-search-legend": "Rōntõ vȯtšimi",
+ "booksources-search": "Vȯtš",
"log": "Logūd",
"allpages": "Amād lēḑõd",
"prevpage": "Jedmõli lēḑ ($1)",
"watchlistfor2": "Kȭlbatijiz $1 ($2) pierāst",
"addedwatchtext": "Lēḑ \"[[:$1]]\" um sin [[Special:Watchlist|iļ-vaņtlimiz nimkērrõz]] jūrõ pandõd. Jeddõpēḑõn tulbõd mõitõkst sīe līed pǟl ja sīenkõks sidtõd nõvpidāmiz-līed pǟl sugõbõd iļ-vaņtlimiz nimkērrõz āt [[Special:RecentChanges|perrizt mõitõkst līed pǟl]] kēratõd '''razīz''' kēraks.",
"removedwatchtext": "Lēḑ \"[[:$1]]\" um [[Special:Watchlist|iļ-vaņtlimiz nimkērast]] jarā viedtõd.",
- "watch": "Vaņtligid iļ sīe",
+ "watch": "Vaņțõl iļ sīe",
"watchthispage": "Vaņ iļ siedā līedpūoltõ",
"unwatch": "Lopta iļ-vaņtlimi",
"watchlist-details": " {{PLURAL:$1|$1 lēḑ|$1 līedtõ}} ātõ iļ-vaņtlimiz nimkēras, bäz luggõmõt nõvpidāmiz-līedidi.",
"wlshowlast": "Nägţ perīzt $1 stuņdõ $2 päuvõ",
+ "watchlist-hide": "↓Vaŗț",
"watchlist-options": "Iļ-vaņtlimiz nimkēra pie-lēmizt",
"watching": "Vaņtlimi iļ sīe...",
"unwatching": "Iļ-vaņtlimiz loptimi...",
"blanknamespace": "(Kēratõkst)",
"contributions": "{{GENDER:$1|Kȭlbatijiz}} kubsõtīe",
"contributions-title": "Kȭlbatijiz $1 kubsõtīe",
- "mycontris": "Min kubsõtīed",
+ "mycontris": "Īņõtīe",
+ "anoncontribs": "Īņõtīe",
"contribsub2": "Kȭlbatiji $1 ($2) pierāst",
"uctop": "(tutkāms)",
"month": " Kūstõ sōņist (un jo vārald)",
"blocklink": "blokīer",
"unblocklink": "lopta blokīerimi",
"change-blocklink": "mõitiņt blokīerimizt",
- "contribslink": "kubsõtīe",
+ "contribslink": "īņõtīe",
"blocklogpage": "Blokīerimiz log",
"blocklogentry": "Blokīerimiz kȭlbatijiz [[$1]], jarā loppõmiz āiga um $2 $3",
"unblocklogentry": "võtiz jarā kȭlbatijiz $1 blokīerimiz",
"tooltip-pt-mytalk": "Täd nõvpidāmiz lēḑ",
"tooltip-pt-preferences": "Min mīeldõbõd ulzõ-vēļimizt",
"tooltip-pt-watchlist": "Lēḑõd nimkēra, mis iļ vaņtlõd mõitõkši",
- "tooltip-pt-mycontris": "Sin kubsõtīed nimkēra",
+ "tooltip-pt-mycontris": "Sin īņõtīe nimkēra",
"tooltip-pt-login": "Mēg panām jeddõl tēḑi sīezõ kēratõm, bet siedā äb ūo vajāg",
"tooltip-pt-logout": "Log ulzõ",
"tooltip-ca-talk": "Nõvpidāmi sīe kēratõks iļ",
]
},
"tog-underline": "ການຂີດເສັ້ນກ້ອງລິງກ໌:",
- "tog-hideminor": "à»\80àº\8aືà»\88àºàº\87àº\81າàº\99àº\94ັàº\94à»\81àº\81à»\89ເລັກນ້ອຍໃນໜ້າປັບປຸງລ້າສຸດ",
+ "tog-hideminor": "à»\80àº\8aືà»\88àºàº\87àº\81າàº\99à»\81àº\81à»\89à»\84àº\82ເລັກນ້ອຍໃນໜ້າປັບປຸງລ້າສຸດ",
"tog-hidepatrolled": "ເຊື່ອງການແກ້ໄຂທີ່ກວດສອບແລ້ວໃນໜ້າປັບປຸງລ້າສຸດ",
"tog-newpageshidepatrolled": "ເຊື່ອງໜ້າທີ່ກວດສອບແລ້ວໃນລາຍການໜ້າໃໝ່",
"tog-hidecategorization": "ເຊື່ອງການຈັດໝວດໝູ່ໜ້າ",
"tog-usenewrc": "ຈັດກຸ່ມການປ່ຽນແປງແບ່ງຕາມໜ້າຢູ່ໃນລາຍການປັບປຸງລ້າສຸດແລະລາຍການຕິດຕາມ",
"tog-numberheadings": "ກຳນົດເລກຫົວເລື່ອງອັດຕະໂນມັດ",
"tog-showtoolbar": "ສະແດງແຖບເຄື່ອງມືແກ້ໄຂ",
- "tog-editondblclick": "à»\81àº\81à»\89à»\84àº\82à»\9cà»\89າà»\80ມືà»\88àºàº\84ລິàº\81ສອງເທື່ອ",
- "tog-editsectiononrightclick": "à»\80àº\9bີàº\94à»\83àº\8aà»\89àº\87າàº\99àº\81າàº\99à»\81àº\81à»\89à»\84àº\82ສà»\88ວàº\99à»\82àº\94àº\8dàº\84ລິàº\81ຂວາຢູ່ເທິງຊື່ເລື່ອງຂອງສ່ວນນັ້ນ",
+ "tog-editondblclick": "à»\81àº\81à»\89à»\84àº\82à»\9cà»\89າà»\80ມືà»\88àºàº\81ົàº\94ສອງເທື່ອ",
+ "tog-editsectiononrightclick": "à»\80àº\9bີàº\94à»\83àº\8aà»\89àº\87າàº\99àº\81າàº\99à»\81àº\81à»\89à»\84àº\82ສà»\88ວàº\99à»\82àº\94àº\8dàº\81ົàº\94à»\80ມົາສà»\8càº\94à»\89າàº\99ຂວາຢູ່ເທິງຊື່ເລື່ອງຂອງສ່ວນນັ້ນ",
"tog-watchcreations": "ເພີ່ມໜ້າທີ່ຂ້ອຍສ້າງແລະໄຟລ໌ທີ່ຂ້ອຍອັບໂຫຼດເຂົ້າໃນລາຍການຕິດຕາມ",
"tog-watchdefault": "ເພີ່ມໜ້າແລະໄຟລ໌ທີ່ຂ້ອຍແກ້ໄຂເຂົ້າໃນລາຍການຕິດຕາມ",
"tog-watchmoves": "ເພີ່ມໜ້າແລະໄຟລ໌ທີ່ຂ້ອຍຍ້າຍເຂົ້າໃນລາຍການຕິດຕາມ",
"tog-minordefault": "ກຳນົດການແກ້ໄຂທຸກຄັ້ງເປັນການແກ້ໄຂເລັກນ້ອຍໂດຍປະລິຍາຍ",
"tog-previewontop": "ສະແດງໂຕຢ່າງກ່ອນກ່ອງແກ້ໄຂ",
"tog-previewonfirst": "ສະແດງໂຕຢ່າງໃນການແກ້ໄຂຄັ້ງທຳອິດ",
- "tog-enotifwatchlistpages": "àºàºµà»\80ມລຫາà»\80ມືà»\88àºà»\9cà»\89າຫຼືà»\84àº\9fລà»\8cà»\83àº\99ລາàº\8dàº\81າàº\99àº\95ິàº\94àº\95າມປ່ຽນແປງ",
- "tog-enotifusertalkpages": "àºàºµà»\80ມລຫາà»\80ມືà»\88àºàº¡àºµàº\81າàº\99àº\9bà»\88ຽàº\99à»\81àº\9bàº\87à»\9cà»\89າສົàº\99àº\97ະàº\99າàº\81ັàº\9aàº\9cູà»\89à»\83àº\8aà»\89àº\82àºàº\87àº\82à»\89àºàº\8d",
- "tog-enotifminoredits": "àºàºµà»\80ມລຫາເຊັ່ນກັນສຳລັບການແກ້ໄຂໜ້າແລະໄຟລ໌ເລັກນ້ອຍ",
- "tog-enotifrevealaddr": "à»\80àº\9bີàº\94à»\80àº\9cີàº\8dàº\97ີà»\88ຢູà»\88àºàºµà»\80ມລàº\82àºàº\87àº\82à»\89àºàº\8dà»\83àº\99àºàºµà»\80ມລແຈ້ງເຕືອນ",
+ "tog-enotifwatchlistpages": "àºàºµà»\80ມວàº\9aàºàº\81àº\82à»\89àºàº\8dà»\80ມືà»\88àºà»\9cà»\89າຫຼືà»\84àº\9fລà»\8cà»\83àº\94à»\9cຶà»\88àº\87à»\83àº\99ລາàº\8dàº\81າàº\99àº\95ິàº\94àº\95າມມີàº\81າàº\99ປ່ຽນແປງ",
+ "tog-enotifusertalkpages": "àºàºµà»\80ມວàº\9aàºàº\81àº\82à»\89àºàº\8dà»\80ມືà»\88àºà»\9cà»\89າສົàº\99àº\97ະàº\99າàº\81ັàº\9aàº\9cູà»\89à»\83àº\8aà»\89àº\82àºàº\87àº\82à»\89àºàº\8dມີàº\81າàº\99àº\9bà»\88ຽàº\99à»\81àº\9bàº\87",
+ "tog-enotifminoredits": "àºàºµà»\80ມວàº\9aàºàº\81àº\82à»\89àºàº\8dເຊັ່ນກັນສຳລັບການແກ້ໄຂໜ້າແລະໄຟລ໌ເລັກນ້ອຍ",
+ "tog-enotifrevealaddr": "à»\80àº\9bີàº\94à»\80àº\9cີàº\8dàº\97ີà»\88ຢູà»\88àºàºµà»\80ມວàº\82àºàº\87àº\82à»\89àºàº\8dà»\83àº\99àºàºµà»\80ມວແຈ້ງເຕືອນ",
"tog-shownumberswatching": "ສະແດງຈຳນວນຜູ້ໃຊ້ທີ່ຕິດຕາມ",
"tog-oldsig": "ລາຍເຊັນຂອງທ່ານທີ່ມີຢູ່:",
- "tog-fancysig": "àº\96ືລາàº\8dà»\80àº\8aັàº\99à»\80àº\9bັàº\99àº\82à»\8dà»\89àº\84ວາມວິàº\81ິ (à»\82àº\94àº\8dàº\9aà»\8dà»\88ມີລິàº\87àº\84໌ອັດຕະໂນມັດ)",
+ "tog-fancysig": "àº\96ືລາàº\8dà»\80àº\8aັàº\99à»\80àº\9bັàº\99àº\82à»\8dà»\89àº\84ວາມວິàº\81ິ (à»\82àº\94àº\8dàº\9aà»\8dà»\88ມີລິàº\87àº\81໌ອັດຕະໂນມັດ)",
"tog-uselivepreview": "ໃຊ້ການສະແດງໂຕຢ່າງແບບສົດ",
"tog-forceeditsummary": "ເຕືອນເມື່ອຊ່ອງຄຳອະທິບາຍໂດຍຫຍໍ້ວ່າງເປົ່າ",
"tog-watchlisthideown": "ເຊື່ອງການແກ້ໄຂຂອງຂ້ອຍຈາກລາຍການຕິດຕາມ",
- "tog-watchlisthidebots": "ເຊື່ອງ ການດັດແກ້ ໂດຍ ບອທ໌ ໃນລາຍການຕິດຕາມຂອງຂ້ອຍ",
- "tog-watchlisthideminor": "ເຊື່ອງ ການດັດແກ້ເລັກນ້ອຍ ໃນ ລາຍການຕິດຕາມຂອງຂ້ອຍ",
- "tog-watchlisthideliu": "ເຊື່ອງການດັດແກ້ ໂດຍ ຜູ້ໃຊ້ໄດ້ເຊັນເຂົາ ໃນ ລາຍການຕິດຕາມ",
- "tog-watchlisthideanons": "ເຊື່ອງ ການດັດແກ້ໂດຍຜູ້ໃຊ້ ບໍ່ສະແດງຊື່ ຈາກ ລາຍການຕິດຕາມ",
- "tog-watchlisthidepatrolled": "ເຊື່ອງ ການລາດຕະເວນດັດແກ້ ໃນ ລາຍການຕິດຕາມ",
- "tog-ccmeonemails": "ສົ່ງສຳເນົາ ອີເມລ ທີ່ ຂ້ອຍສົ່ງຫາຜູ້ອື່ນ ໃຫ້ ຂ້ອຍ",
- "tog-diffonly": "ບໍ່ສະແດງເນື້ອໃນຂອງບົດຄວາມ ຢູ່ທາງລຸ່ມ ສ່ວນຕ່າງ",
- "tog-showhiddencats": "ສະແດງໝວດເຊື່ອງ",
+ "tog-watchlisthidebots": "ເຊື່ອງການແກ້ໄຂໂດຍບັອດໃນລາຍການຕິດຕາມຂອງຂ້ອຍ",
+ "tog-watchlisthideminor": "ເຊື່ອງການແກ້ໄຂເລັກນ້ອຍໃນລາຍການຕິດຕາມຂອງຂ້ອຍ",
+ "tog-watchlisthideliu": "ເຊື່ອງການແກ້ໄຂໂດຍຜູ້ໃຊ້ທີ່ໄດ້ເຂົ້າສູ່ລະບົບແລ້ວໃນລາຍການຕິດຕາມ",
+ "tog-watchlistreloadautomatically": "ໂຫຼດລາຍການຕິດຕາມຄືນໃໝ່ເມື່ອໃດກໍຕາມທີ່ໂຕກັ່ນຕອງມີການປ່ຽນແປງ (ຕ້ອງໃຊ້ JavaScript)",
+ "tog-watchlisthideanons": "ເຊື່ອງການແກ້ໄຂໂດຍຜູ້ໃຊ້ທີ່ບໍ່ສະແດງຊື່ໃນລາຍການຕິດຕາມ",
+ "tog-watchlisthidepatrolled": "ເຊື່ອງການແກ້ໄຂແບບລາດຕະເວນໃນລາຍການຕິດຕາມ",
+ "tog-watchlisthidecategorization": "ເຊື່ອງການຈັດໝວດໝູ່ໜ້າ",
+ "tog-ccmeonemails": "ສົ່ງສຳເນົາອີເມວທີ່ຂ້ອຍໄດ້ສົ່ງຫາຜູ້ອື່ນໃຫ້ຂ້ອຍ",
+ "tog-diffonly": "ບໍ່ສະແດງເນື້ອໃນຂອງບົດຄວາມຢູ່ຂ້າງລຸ່ມ ສ່ວນຕ່າງ",
+ "tog-showhiddencats": "ສະແດງໝວດທີ່ເຊື່ອງຢູ່",
+ "tog-norollbackdiff": "ບໍ່ຕ້ອງສະແດງສ່ວນຕ່າງຫຼັງຈາກດຳເນີນການກັບຄືນຢ່າງສຸກເສີນ",
+ "tog-useeditwarning": "ເຕືອນຂ້ອຍເມື່ອຂ້ອຍຈະອອກຈາກໜ້າແກ້ໄຂໂດຍທີ່ຍັງບໍ່ໄດ້ບັນທຶກການປ່ຽນແປງ",
+ "tog-prefershttps": "ໃຊ້ການເຊື່ອມຕໍ່ແບບປອດໄພທຸກຄັ້ງທີ່ເຂົ້າສູ່ລະບົບແລ້ວ",
"underline-always": "ທຸກຄັ້ງ",
- "underline-never": "ບໍ່ຂີດ",
- "underline-default": "ສະກິນຫຼືຄ່າທີ່ຖືກກຳນົດໄວ້ຂອງບຣາວເຊີ",
+ "underline-never": "ບໍ່ຕ້ອງ",
+ "underline-default": "ສະກິນຫຼືຄ່າເລີ່ມຕົ້ນຂອງບຣາວເຊີ",
+ "editfont-style": "ແກ້ໄຂຮູບແບບໂຕໜັງສືໃນພື້ນທີ່:",
+ "editfont-default": "ຄ່າເລີ່ມຕົ້ນຂອງບຣາວເຊີ",
+ "editfont-monospace": "ແບບໂຕໜັງສືທີ່ມີຄວາມກວ້າງຄົງທີ່",
+ "editfont-sansserif": "ແບບໂຕໜັງສືແບບບໍ່ມີເຊີງ",
+ "editfont-serif": "ແບບໂຕໜັງສືແບບມີເຊີງ",
"sunday": "ວັນອາທິດ",
"monday": "ວັນຈັນ",
"tuesday": "ວັນອັງຄານ",
"oct": "ຕຸລາ",
"nov": "ພະຈິກ",
"dec": "ທັນວາ",
+ "january-date": "$1 ມັງກອນ",
+ "february-date": "$1 ກຸມພາ",
+ "march-date": "$1 ມີນາ",
+ "april-date": "$1 ເມສາ",
+ "may-date": "$1 ພຶດສະພາ",
+ "june-date": "$1 ມິຖຸນາ",
+ "july-date": "$1 ກໍລະກົດ",
+ "august-date": "$1 ສິງຫາ",
+ "september-date": "$1 ກັນຍາ",
+ "october-date": "$1 ຕຸລາ",
+ "november-date": "$1 ພະຈິກ",
+ "december-date": "$1 ທັນວາ",
+ "period-am": "ກ່ອນທ່ຽງ",
+ "period-pm": "ຫຼັງທ່ຽງ",
"pagecategories": "{{PLURAL:$1|ໝວດ|ໝວດ}}",
"category_header": "ບົດຄວາມໃນໝວດ \"$1\"",
"subcategories": "ໝວດຍ່ອຍ",
- "category-media-header": "ໜ້າຕ່າງ າ ໃນ \"$1\"",
- "category-empty": "''ບໍ່ມີໜ້າໃດຢູ່ໃນໝວດນີ້''",
- "hidden-categories": "{{PLURAL:$1|ໜວດທີ່ຖືກເຊື່ອງ|ໜວດທີ່ຖືກເຊື່ອງ}}",
- "hidden-category-category": "ບັນດາໜວດເຊື່ອງ",
- "category-subcat-count-limited": "ໜວດນີ້ ມີ ໜວດຍ່ອຍ ດັ່ງຕໍ່ໄປນີ້ {{PLURAL:$1|ໜວດຍ່ອຍ|$1 ໜວດຍ່ອຍ}}.",
- "category-article-count": "{{PLURAL:$2|ໝວດນີ້ມີໜ້າຢູ່ພຽງໜ້າດຽວ|ມີ {{PLURAL:$1|ໜ້າດຽວ|$1 ໜ້າ}} ໃນໝວດນີ້ ເຕັມ $2}}",
+ "category-media-header": "ສື່ໃນໝວດ \"$1\"",
+ "category-empty": "<em>ປັດຈຸບັນໜ້ານີ້ບໍ່ມີໜ້າຫຼືສື່ໃດໆ.</em>",
+ "hidden-categories": "{{PLURAL:$1|ໝວດທີ່ຖືກເຊື່ອງ}}",
+ "hidden-category-category": "ໝວດທີ່ຖືກເຊື່ອງຢູ່",
+ "category-subcat-count": "{{PLURAL:$2|ໝວດນີ້ມີສະເພາະໝວດຍ່ອຍດັ່ງຕໍ່ໄປນີ້.|ໝວດນີ້ມີ {{PLURAL:$1|ໝວດຍ່ອຍ|$1 ໝວດຍ່ອຍ}}, ຈາກ $2 ທັງໝົດ.}}",
+ "category-subcat-count-limited": "ໝວດນີ້ມີ {{PLURAL:$1|ໜວດຍ່ອຍ|$1 ໜວດຍ່ອຍ}} ດັ່ງຕໍ່ໄປນີ້.",
+ "category-article-count": "{{PLURAL:$2|ໝວດນີ້ມີພຽງໜ້າດັ່ງຕໍ່ໄປນີ້.|ມີ {{PLURAL:$1|ໜ້າດຽວ|$1 ໜ້າ}} ໃນໝວດນີ້, ຈາກທັງໝົດ $2.}}",
+ "category-article-count-limited": "ມີ {{PLURAL:$1|ໜ້າດຽວ|$1 ໜ້າ}} ໃນໝວດນີ້.",
+ "category-file-count": "{{PLURAL:$2|ໝວດນີ້ມີພຽງໄຟລ໌ດັ່ງຕໍ່ໄປນີ້.|ມີ {{PLURAL:$1|ໄຟລ໌ດຽວ|ໄຟລ໌ $1 ໄຟລ໌}} ໃນໝວດນີ້, ຈາກທັງໝົດ $2.}}",
+ "category-file-count-limited": "ມີ {{PLURAL:$1|ໄຟລ໌|ໄຟລ໌ $1 ໄຟລ໌}} ໃນໝວດນີ້.",
"listingcontinuesabbrev": "ຕໍ່.",
+ "index-category": "ໜ້າທີ່ມີດັດຊະນີ",
+ "noindex-category": "ໜ້າທີ່ບໍ່ມີດັດຊະນີ",
+ "broken-file-category": "ໜ້າທີ່ມີລິງກ໌ໄຟລ໌ເສຍ",
"about": "ກ່ຽວກັບ",
- "article": "ບົດຄວາມ",
- "newwindow": "(ເປີດເປັນ ປ່ອງຢ້ຽມ(ວິນໂດ)ໃໝ່ )",
- "cancel": "ລົບລ້າງ",
- "moredotdotdot": "ຕື່ມ...",
+ "article": "ໜ້າເນື້ອໃນ",
+ "newwindow": "(ເປີດໃນວິນໂດໃໝ່)",
+ "cancel": "ຍົກເລີກ",
+ "moredotdotdot": "ເພີ່ມເຕີມ...",
+ "morenotlisted": "ລາຍການນີ້ອາດຈະບໍ່ສົມບູນ.",
"mypage": "ໜ້າ",
"mytalk": "ສົນທະນາ",
"anontalk": "ສົນທະນາ",
- "navigation": "àº\99ຳàº\97ິàº\94",
+ "navigation": "àº\9bà»\89າàº\8dàº\9aàºàº\81àº\97າàº\87",
"and": " ແລະ",
- "qbfind": "ຊອກຫາ",
- "qbedit": "ດັດແກ້",
+ "qbfind": "ຄົ້ນຫາ",
+ "qbbrowse": "ເອີ້ນເບິ່ງ",
+ "qbedit": "ແກ້ໄຂ",
"qbpageoptions": "ໜ້ານີ້",
- "qbmyoptions": "ໝ້າຂ້ອຍ",
- "navigation-heading": "ເມນູນຳທາງ",
- "errorpagetitle": "ຜິດພາດ",
- "returnto": "ກັບໄປ $1.",
+ "qbmyoptions": "ໜ້າຂອງຂ້ອຍ",
+ "faq": "ຄຳຖາມທີ່ພົບເລື້ອຍໆ",
+ "faqpage": "Project:ຄຳຖາມທີ່ພົບເລື້ອຍໆ",
+ "actions": "ການກະທຳ",
+ "namespaces": "ເນມສະເປດ",
+ "variants": "ຄວາມແຕກຕ່າງ",
+ "navigation-heading": "ລາຍການການນຳທາງ",
+ "errorpagetitle": "ຂໍ້ຜິດພາດ",
+ "returnto": "ກັບໄປຫາ $1.",
"tagline": "ຈາກ {{SITENAME}}",
"help": "ຊ່ວຍເຫຼືອ",
"search": "ຄົ້ນຫາ",
"searcharticle": "ໄປ",
"history": "ປະຫວັດ",
"history_short": "ປະຫວັດການດັດແກ້",
+ "updatedmarker": "ອັບເດດຕັ້ງແຕ່ຄັ້ງທີ່ຂ້ອຍມາຢ້ຽມຊົມລ້າສຸດ",
"printableversion": "ສະບັບພິມໄດ້",
- "permalink": "ລິàº\87àº\84໌ຖາວອນ",
+ "permalink": "ລິàº\87àº\81໌ຖາວອນ",
"print": "ພິມ",
+ "view": "ເບິ່ງ",
+ "view-foreign": "ເບິ່ງໃນ $1",
"edit": "ແກ້ໄຂ",
+ "edit-local": "ແກ້ໄຂຄຳອະທິບາຍທ້ອງຖິ່ນ",
"create": "ສ້າງ",
- "editthispage": "ດັດແກ້ໜ້ານີ້",
+ "create-local": "ເພີ່ມຄຳອະທິບາຍທ້ອງຖິ່ນ",
+ "editthispage": "ແກ້ໄຂໜ້ານີ້",
"create-this-page": "ສ້າງໜ້ານີ້",
"delete": "ລຶບ",
"deletethispage": "ລຶບໜ້ານີ້",
+ "undeletethispage": "ຍົກເລີກການລຶບໜ້ານີ້",
+ "undelete_short": "ຍົກເລີກການລຶບ {{PLURAL:$1|ການແກ້ໄຂໜຶ່ງຄັ້ງ|ການແກ້ໄຂ $1 ຄັ້ງ}}",
+ "viewdeleted_short": "ເບິ່ງ {{PLURAL:$1|ການແກ້ໄຂໜຶ່ງຄັ້ງທີ່ລຶບໄປແລ້ວ|ການແກ້ໄຂ $1 ຄັ້ງທີ່ລຶບໄປແລ້ວ}}",
"protect": "ປົກປ້ອງ",
"protect_change": "ການປ່ຽນແປງ",
- "protectthispage": "ປ້ອງກັນໜ້ານີ້",
- "unprotect": "ປ່ຽນແປງການປ້ອງກັນ",
+ "protectthispage": "ປົກປ້ອງໜ້ານີ້",
+ "unprotect": "ປ່ຽນແປງການປົກປ້ອງ",
+ "unprotectthispage": "ປ່ຽນແປງການປົກປ້ອງຂອງໜ້ານີ້",
"newpage": "ໜ້າໃໝ່",
- "talkpage": "ປຶກສາຫາລືໜ້ານີ້",
+ "talkpage": "àº\9bຶàº\81ສາຫາລືàº\81à»\88ຽວàº\81ັàº\9aà»\9cà»\89າàº\99ີà»\89",
"talkpagelinktext": "ສົນທະນາ",
- "specialpage": "à»\9d້າພິເສດ",
+ "specialpage": "à»\9c້າພິເສດ",
"personaltools": "ເຄື່ອງມືສ່ວນບຸກຄົນ",
"articlepage": "ເບິ່ງໜ້າເນື້ອໃນ",
"talk": "ສົນທະນາ",
"views": "ເທື່ອເບິ່ງ",
"toolbox": "ເຄື່ອງມື",
- "tool-link-emailuser": "ສົ່ງອີເມວຫາ{{GENDER:$1|ຜູ້ໃຊ້}}ນີ້",
- "userpage": "ເບິ່ງໜ້າສົນທະນາຂອງຜູ້ໃຊ້",
- "projectpage": "ເບິ່ງໝ້າໂຄງການ",
- "mediawikipage": "ເບິ່ງ ໝ້າຂໍ້ຄວາມ",
+ "tool-link-userrights": "ປ່ຽນກຸ່ມ{{GENDER:$1|ຜູ້ໃຊ້}}",
+ "tool-link-userrights-readonly": "ເບິ່ງກຸ່ມ{{GENDER:$1|ຜູ້ໃຊ້}}",
+ "tool-link-emailuser": "ສົ່ງອີເມວຫາ{{GENDER:$1|ຜູ້ໃຊ້}}ຄົນນີ້",
+ "userpage": "ເບິ່ງໜ້າຜູ້ໃຊ້",
+ "projectpage": "ເບິ່ງໜ້າໂຄງການ",
+ "imagepage": "ເບິ່ງໜ້າໄຟລ໌",
+ "mediawikipage": "ເບິ່ງໜ້າຂໍ້ຄວາມ",
"templatepage": "ເບິ່ງໜ້າແມ່ແບບ",
- "viewhelppage": "ເບິ່ງ ໝ້າຊ່ອຍເຫຼືອ",
- "categorypage": "ເບິ່ງ ໜ້າ ໝວດ",
+ "viewhelppage": "ເບິ່ງໜ້າວິທີໃຊ້",
+ "categorypage": "ເບິ່ງໜ້າໝວດ",
+ "viewtalkpage": "ເບິ່ງການປຶກສາຫາລື",
"otherlanguages": "ເປັນພາສາອື່ນໆ",
- "redirectedfrom": "(ໂອນມາຈາກ $1)",
- "redirectpagesub": "ໜ້າໂອນ",
- "lastmodifiedat": "ໜ້ານີ້ຖຶກດັດແກ້ຫຼ້າສຸດ $2, $1.",
- "viewcount": "ໜ້ານີ້ຖືກເຂົ້າເບິ່ງ {{PLURAL:$1|ເທື່ອໜຶ່ງ|$1 ເທື່ອ}}.",
- "protectedpage": "ໜ້າຖືກປົກປ້ອງ",
- "jumpto": "ໄປຫາ:",
+ "redirectedfrom": "(ປ່ຽນເສັ້ນທາງມາຈາກ $1)",
+ "redirectpagesub": "ໜ້າປ່ຽນເສັ້ນທາງ",
+ "redirectto": "ປ່ຽນເສັ້ນທາງໄປຫາ:",
+ "lastmodifiedat": "ໜ້ານີ້ຖຶກແກ້ໄຂຄັ້ງລ້າສຸດເມື່ອວັນທີ່ $1, ເວລາ $2.",
+ "viewcount": "ໜ້ານີ້ຖືກເຂົ້າເບິ່ງແລ້ວ {{PLURAL:$1|ເທື່ອໜຶ່ງ|$1 ເທື່ອ}}.",
+ "protectedpage": "ໜ້າທີ່ຖືກປົກປ້ອງ",
+ "jumpto": "ຂ້າມໄປຫາ:",
"jumptonavigation": "ປ້າຍບອກທາງ",
"jumptosearch": "ຄົ້ນຫາ",
- "aboutsite": "ກ່ຽວກັບ{{SITENAME}}",
+ "view-pool-error": "ຂໍອະໄພ, ເຊີເວີກຳລັງເຮັດວຽກໜັກເກີນໄປໃນຂະນະນີ້.\nຈຳນວນຜູ້ໃຊ້ທີ່ກຳລັງພະຍາຍາມເຂົ້າເບິ່ງໜ້ານີ້ມີຫຼາຍເກີນໄປ.\nກະລຸນາລໍຖ້າໄລຍະໜຶ່ງ ແລ້ວຈຶ່ງພະຍາຍາມເຂົ້າເບິ່ງໜ້ານີ້ໃໝ່.\n\n$1",
+ "generic-pool-error": "ຂໍອະໄພ, ເຊີເວີກຳລັງເຮັດວຽກໜັກເກີນໄປໃນຂະນະນີ້.\nຈຳນວນຜູ້ໃຊ້ທີ່ກຳລັງພະຍາຍາມເຂົ້າເບິ່ງຊັບພະຍາກອນນີ້ມີຫຼາຍເກີນໄປ.\nກະລຸນາລໍຖ້າໄລຍະໜຶ່ງ ແລ້ວຈຶ່ງພະຍາຍາມເຂົ້າເບິ່ງຊັບພະຍາກອນນີ້ໃໝ່.",
+ "pool-timeout": "ການລໍຖ້າການໝົດເວລາສຳລັບການລັອກ",
+ "pool-errorunknown": "ຂໍ້ຜິດພາດທີ່ບໍ່ຮູ້ຈັກ",
+ "poolcounter-usage-error": "ຂໍ້ຜິດພາດໃນການໃຊ້ງານ: $1",
+ "aboutsite": "ກ່ຽວກັບ {{SITENAME}}",
"aboutpage": "Project:ກ່ຽວກັບ",
- "copyright": "à»\80àº\99ືà»\89àºà»\83àº\99à»\81ມà»\88àº\99ສາມາàº\94à»\83àº\8aà»\89à»\84àº\94à»\89àº\9eາàº\8dà»\83àº\95à»\89 $1 àº\96à»\89າàº\9aà»\8dà»\88à»\81ມà»\88àº\99ຢà»\88າàº\87àºàº·à»\88àº\99à»\83àº\94àº\97ີà»\88ລະàº\9aຸà»\84ວà»\89.",
+ "copyright": "ເນື້ອໃນສາມາດໃຊ້ໄດ້ພາຍໃຕ້ $1 ຖ້າບໍ່ແມ່ນຢ່າງອື່ນໃດທີ່ລະບຸໄວ້.",
"copyrightpage": "{{ns:project}}:ລິຂະສິດ",
"currentevents": "ເຫດການປັດຈຸບັນ",
"currentevents-url": "Project:ເຫດການປັດຈຸບັນ",
"disclaimers": "ຂໍ້ປະຕິເສດຄວາມຮັບຜິດຊອບ",
"disclaimerpage": "Project:ຂໍ້ປະຕິເສດຄວາມຮັບຜິດຊອບ",
- "edithelp": "ວິàº\97ີàº\94ັàº\94à»\81àº\81à»\89à»\9cà»\89າ",
- "helppage-top-gethelp": "àº\8aà»\88ວàº\8dà»\80ຫຼືàº",
+ "edithelp": "ວິàº\97ີà»\81àº\81à»\89à»\84àº\82",
+ "helppage-top-gethelp": "ວິàº\97ີà»\83àº\8aà»\89",
"mainpage": "ໜ້າຫຼັກ",
"mainpage-description": "ໜ້າຫຼັກ",
- "policy-url": "Project:àº\9bະàº\95ູສູà»\88àº\8aຸມàº\8aົàº\99",
- "portal": "ປະຕູຊຸມຊົນ",
+ "policy-url": "Project:àº\99ະà»\82àº\8dàº\9aາàº\8d",
+ "portal": "àº\9bະàº\95ູສູà»\88àº\8aຸມàº\8aົàº\99",
"portal-url": "Project:ປະຕູສູ່ຊຸມຊົນ",
"privacy": "ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ",
"privacypage": "Project:ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ",
"badaccess": "ການອະນຸມັດບໍ່ຖືກຕ້ອງ",
"badaccess-group0": "ທ່ານບໍ່ໄດ້ຮັບອະນຸຍາດໃຫ້ປະຕິບັດການຕາມທີ່ທ່ານຮ້ອງຂໍໄວ້.",
- "versionrequired": "ຕ້ອງການເວີຣ໌ຊັ່ນ $1 ຂອງມີເດຍວິກິ",
+ "badaccess-groups": "ການກະທຳທີ່ທ່ານຮ້ອງຂໍຖືກຈຳກັດໃຫ້ກັບຜູ້ໃຊ້ໃນ{{PLURAL:$2|ກຸ່ມ}}ດັ່ງຕໍ່ໄປນີ້: $1.",
+ "versionrequired": "ຕ້ອງໃຊ້ມີເດຍວິກິເວີຊັນ $1",
+ "versionrequiredtext": "ຕ້ອງໃຊ້ມີເດຍວິກິເວີຊັນ $1 ເພື່ອເຂົ້າເບິ່ງໜ້ານີ້.\nເບິ່ງ [[Special:Version|ໜ້າເວີຊັນ]].",
"ok": "ຕົກລົງ",
"retrievedfrom": "ດຶງຂໍ້ມູນຈາກ \"$1\"",
- "youhavenewmessages": "ທ່ານ ມີ $1 ($2).",
- "youhavenewmessagesmulti": "ທ່ານມີຂໍ້ຄວາມໃໝ່ ຢູ່ $1",
+ "youhavenewmessages": "{{PLURAL:$3|ທ່ານມີ}} $1 ($2).",
+ "youhavenewmessagesfromusers": "{{PLURAL:$4|ທ່ານມີ}} $1 ຈາກ {{PLURAL:$3|ຜູ້ໃຊ້ຄົນອື່ນ|ຜູ້ໃຊ້ຄົນອື່ນ $3 ຄົນ}} ($2).",
+ "youhavenewmessagesmanyusers": "ທ່ານມີ $1 ຈາກຜູ້ໃຊ້ຫຼາຍຄົນ ($2).",
+ "newmessageslinkplural": "{{PLURAL:$1|ຂໍ້ຄວາມໃໝ່ໜຶ່ງຂໍ້ຄວາມ|999=ຂໍ້ຄວາມໃໝ່}}",
+ "newmessagesdifflinkplural": "{{PLURAL:$1|ການປ່ຽນແປງ|999=ການປ່ຽນແປງ}}ລ້າສຸດ",
+ "youhavenewmessagesmulti": "ທ່ານມີຂໍ້ຄວາມໃໝ່ຢູ່ $1",
"editsection": "ແກ້ໄຂ",
- "editold": "ດັດແກ້",
- "viewsourceold": "ເບິ່ງ ຊອສ",
- "editlink": "ດັດແກ້",
+ "editold": "ແກ້ໄຂ",
+ "viewsourceold": "ເບິ່ງຊອຣ໌ສ",
+ "editlink": "ແກ້ໄຂ",
+ "viewsourcelink": "ເບິ່ງຊອຣ໌ສ",
"editsectionhint": "ແກ້ໄຂພາກ: $1",
"toc": "ເນື້ອໃນ",
"showtoc": "ສະແດງ",
"hidetoc": "ເຊື່ອງ",
- "viewdeleted": "ເບິ່ງ $1 ບໍ?",
+ "collapsible-collapse": "ຍຸບ",
+ "collapsible-expand": "ຂະຫຍາຍ",
+ "confirmable-confirm": "{{GENDER:$1|ທ່ານ}}ແນ່ໃຈບໍ່?",
+ "confirmable-yes": "ແມ່ນ",
+ "confirmable-no": "ບໍ່",
+ "thisisdeleted": "ຕ້ອງການເບິ່ງຫຼືຄືນຄ່າ $1 ບໍ່?",
+ "viewdeleted": "ຕ້ອງການເບິ່ງ $1 ບໍ່?",
+ "restorelink": "{{PLURAL:$1|ການແກ້ໄຂໜຶ່ງຄັ້ງທີ່ຖືກລຶບໄປແລ້ວ|ການແກ້ໄຂ $1 ຄັ້ງທີ່ຖືກລຶບໄປແລ້ວ}}",
+ "feedlinks": "ຟີດ:",
+ "feed-invalid": "ປະເພດຂອງຟີດການຕິດຕາມບໍ່ຖືກຕ້ອງ.",
"site-rss-feed": "$1 RSS ຟີດ",
"site-atom-feed": "ອະຕອມຟີດ $1",
"page-rss-feed": "\"$1\" RSS ຟີດ",
+ "page-atom-feed": "\"$1\" Atom feed",
"red-link-title": "$1 (ບໍ່ມີໜ້ານີ້)",
"nstab-main": "ໜ້າ",
"nstab-user": "ໜ້າຜູ້ໃຊ້",
+ "nstab-media": "ໜ້າສື່",
"nstab-special": "ໜ້າພິເສດ",
"nstab-project": "ໜ້າໂຄງການ",
"nstab-image": "ໄຟລ໌",
"nstab-mediawiki": "ຂໍ້ຄວາມ",
"nstab-template": "ແມ່ແບບ",
- "nstab-help": "à»\9cà»\89າàº\8aà»\88àºàº\8dà»\80ຫຼືàº",
+ "nstab-help": "à»\9cà»\89າວິàº\97ີà»\83àº\8aà»\89",
"nstab-category": "ໝວດ",
"mainpage-nstab": "ໜ້າຫຼັກ",
- "nosuchspecialpage": "ບໍ່ມີໝ້າພິເສດຊື່ນັ້ນ",
- "databaseerror": "ມີຄວາມຜິດພາດ ດ້ານ ຖານຂໍ້ມູນ",
- "readonly": "ຖານຂໍ້ມູນຖືກລອັກ",
- "enterlockreason": "ກະລຸນາຂຽນເຫດຜົນໃນການລອັກ, ລວມທັງ ປະມານເວລາທີ່ຈະປົດລອັກ",
+ "nosuchaction": "ບໍ່ມີການກະທຳດັ່ງກ່າວ",
+ "nosuchspecialpage": "ບໍ່ມີໝ້າພິເສດດັ່ງກ່າວ",
+ "error": "ຂໍ້ຜິດພາດ",
+ "databaseerror": "ມີຂໍ້ຜິດພາດກ່ຽວກັບຖານຂໍ້ມູນ",
+ "laggedslavemode": "<strong>ຄຳເຕືອນ:</strong> ໜ້ານີ້ອາດຈະບໍ່ລວມຂໍ້ມູນລ້າສຸດ.",
+ "readonly": "ຖານຂໍ້ມູນຖືກລັອກ",
+ "enterlockreason": "ກະລຸນາຂຽນເຫດຜົນໃນການລັອກ, ລວມທັງປະມານເວລາທີ່ຈະປົດລັອກ",
"missingarticle-diff": "(ສ່ວນຕ່າງ: $1, $2)",
"readonly_lag": "ຖານຂໍ້ມຸນໄດ້ຖືກລັອກແລ້ວໂດຍອັດຕະໂນມັດຂະນະທີ່ເຊີເວີ slave database ຖືກຈັບໃຫ້ອັນຫຼັກ",
- "internalerror": "ມີຄວາມຜິດພາດພາຍໃນ",
- "filerenameerror": "ບໍ່ສາມາດ ປ່ຽນ ຊື່ໄຟລ໌ \"$1\" ໄປເປັນ \"$2\" ໄດ້.",
+ "internalerror": "ມີຂໍ້ຜິດພາດພາຍໃນ",
+ "internalerror_info": "ມີຂໍ້ຜິດພາດພາຍໃນ: $1",
+ "filecopyerror": "ບໍ່ສາມາດເຮັດສຳເນົາໄຟລ໌ \"$1\" ໄປເປັນ \"$2\" ໄດ້.",
+ "filerenameerror": "ບໍ່ສາມາດປ່ຽນຊື່ໄຟລ໌ \"$1\" ໄປເປັນ \"$2\" ໄດ້.",
+ "filedeleteerror": "ບໍ່ສາມາດລຶບໄຟລ໌ \"$1\" ໄດ້.",
+ "directorycreateerror": "ບໍ່ສາມາດສ້າງໄດເຣກທໍຣີ \"$1\" ໄດ້.",
+ "directoryreadonlyerror": "ໄດເຣກທໍຣີ \"$1\" ສາມາດອ່ານໄດ້ເທົ່ານັ້ນ.",
+ "directorynotreadableerror": "ໄດເຣກທໍຣີ \"$1\" ບໍ່ສາມາດອ່ານໄດ້.",
+ "filenotfound": "ບໍ່ພົບໄຟລ໌ \"$1\".",
+ "badarticleerror": "ບໍ່ສາມາດດຳເນີນການນີ້ຢູ່ເທິງໜ້ານີ້ໄດ້.",
"cannotdelete": "ບໍ່ສາມາດລຶບໜ້າຫຼືໄຟລ໌ \"$1\" ໄດ້.\nມັນອາດຈະຖືກລຶບໂດຍໃຜຜູ້ໜຶ່ງແລ້ວ.",
+ "cannotdelete-title": "ບໍ່ສາມາດລຶບໜ້າ \"$1\" ໄດ້",
"badtitle": "ຫົວຂໍ້ບໍ່ຖືກຕ້ອງ",
- "viewsource": "ເບິ່ງຊອສ໌",
- "namespaceprotected": "ທ່ານບໍ່ໄດ້ຮັບອະນຸຍາດ ໃຫ້ ດັດແກ້ ໜ້າ ໃນ '''$1'''.",
+ "viewsource": "ເບິ່ງຊອຣ໌ສ",
+ "viewsource-title": "ເບິ່ງຊອຣ໌ສສຳລັບ $1",
+ "viewsourcetext": "ທ່ານສາມາດເບິ່ງແລະເຮັດສຳເນົາຊອຣ໌ສຂອງໜ້ານີ້ໄດ້.",
+ "viewyourtext": "ທ່ານສາມາດເບິ່ງແລະເຮັດສຳເນົາຊອຣ໌ສ<strong>ການແກ້ໄຂຂອງທ່ານ</strong>ຂອງໜ້ານີ້ໄດ້.",
+ "namespaceprotected": "ທ່ານບໍ່ໄດ້ຮັບອະນຸຍາດໃຫ້ແກ້ໄຂໜ້າທີ່ມີເນມສະເປດ <strong>$1</strong>.",
+ "customcssprotected": "ທ່ານບໍ່ໄດ້ຮັບອະນຸຍາດໃຫ້ແກ້ໄຂໜ້າ CSS ນີ້ເນື່ອງຈາກມີຂໍ້ມູນການຕັ້ງຄ່າສ່ວນບຸກຄົນຂອງຜູ້ໃຊ້ລວມມີຢູ່.",
+ "customjsprotected": "ທ່ານບໍ່ໄດ້ຮັບອະນຸຍາດໃຫ້ແກ້ໄຂໜ້າ JavaScript ນີ້ເນື່ອງຈາກມີຂໍ້ມູນການຕັ້ງຄ່າສ່ວນບຸກຄົນຂອງຜູ້ໃຊ້ລວມຢູ່ໃນໜ້ານີ້.",
+ "mycustomcssprotected": "ທ່ານບໍ່ໄດ້ຮັບອະນຸຍາດໃຫ້ແກ້ໄຂໜ້າ CSS ນີ້.",
+ "mycustomjsprotected": "ທ່ານບໍ່ໄດ້ຮັບອະນຸຍາດໃຫ້ແກ້ໄຂໜ້າ JavaScript ນີ້.",
+ "myprivateinfoprotected": "ທ່ານບໍ່ໄດ້ຮັບອະນຸຍາດໃຫ້ແກ້ໄຂໜ້າຂໍ້ມູນສ່ວນບຸກຄົນຂອງທ່ານ.",
+ "mypreferencesprotected": "ທ່ານບໍ່ໄດ້ຮັບອະນຸຍາດໃຫ້ແກ້ໄຂການຕັ້ງຄ່າຂອງທ່ານ.",
+ "ns-specialprotected": "ບໍ່ສາມາດແກ້ໄຂໜ້າພິເສດໄດ້.",
+ "exception-nologin": "ບໍ່ໄດ້ເຂົ້າສູ່ລະບົບ",
+ "exception-nologin-text": "ກະລຸນາເຂົ້າສູ່ລະບົບເພື່ອໃຫ້ສາມາດເຂົ້າເບິ່ງ ຫຼື ດຳເນີນການໃດໆກັບໜ້ານີ້ໄດ້.",
+ "exception-nologin-text-manual": "ກະລຸນາ $1 ເພື່ອໃຫ້ສາມາດເຂົ້າເບິ່ງ ຫຼື ດຳເນີນການໃດໆກັບໜ້ານີ້ໄດ້.",
"logouttext": "<strong>ທ່່ານໄດ້ອອກຈາກລະບົບແລ້ວ.<strong>\n\nກະລຸນາຮັບຊາບວ່າບາງໜ້າຈະຍັງຄົງສະແດງຜົນຕໍ່ໄປເຖິງແມ້ວ່າທ່ານຈະເຂົ້າສູ່ລະບົບແລ້ວ, ຈົນກວ່າທ່ານຈະລ້າງແຄຊໃນບຣາວເຊີຂອງທ່ານທັງໝົດ.",
- "yourname": "ຊື່ຜູ້ໃຊ້",
- "yourpassword": "ລະຫັດຜ່ານ",
- "yourpasswordagain": "ພິມລະຫັດຜ່ານອີກ",
- "yourdomainname": "ໂດເມນ ຂອງ ທ່ານ",
- "login": "ເຊັນເຂົ້າ",
- "nav-login-createaccount": "ເຊັນເຂົ້າ / ສ້າງບັນຊີ",
- "userlogin": "ເຊັນເຂົ້າ / ສ້າງບັນຊີ",
- "logout": "ເຊັນອອກ",
- "userlogout": "ເຊັນອອກ",
+ "cannotlogoutnow-title": "ບໍ່ສາມາດອອກຈາກລະບົບໄດ້ໃນຂະນະນີ້",
+ "welcomeuser": "ຍິນດີຕ້ອນຮັບ, $1!",
+ "welcomecreation-msg": "ບັນຊີຜູ້ໃຊ້ຂອງທ່ານໄດ້ຖືກສ້າງຂຶ້ນແລ້ວ.\nທ່ານສາມາດປ່ຽນແປງ[[Special:Preferences|ການຕັ້ງຄ່າ]]ຂອງທ່ານໃນ {{SITENAME}} ຖ້າທ່ານຕ້ອງການ.",
+ "yourname": "ຊື່ຜູ້ໃຊ້:",
+ "userlogin-yourname": "ຊື່ຜູ້ໃຊ້",
+ "userlogin-yourname-ph": "ປ້ອນຊື່ຜູ້ໃຊ້ຂອງທ່ານ",
+ "createacct-another-username-ph": "ປ້ອນຊື່ຜູ້ໃຊ້",
+ "yourpassword": "ລະຫັດຜ່ານ:",
+ "userlogin-yourpassword": "ລະຫັດຜ່ານ",
+ "userlogin-yourpassword-ph": "ປ້ອນລະຫັດຜ່ານຂອງທ່ານ",
+ "createacct-yourpassword-ph": "ປ້ອນລະຫັດຜ່ານ",
+ "yourpasswordagain": "ພິມລະຫັດຜ່ານໃໝ່ອີກ:",
+ "createacct-yourpasswordagain": "ຢືນຢັນລະຫັດຜ່ານ",
+ "createacct-yourpasswordagain-ph": "ປ້ອນລະຫັດຜ່ານໃໝ່ອີກ",
+ "userlogin-remembermypassword": "ໃຫ້ຂ້ອຍຢູ່ໃນລະບົບຕໍ່ໄປ",
+ "userlogin-signwithsecure": "ໃຊ້ການເຊື່ອມຕໍ່ແບບປອດໄພ",
+ "cannotlogin-title": "ບໍ່ສາມາດເຂົ້າສູ່ລະບົບໄດ້",
+ "cannotlogin-text": "ບໍ່ສາມາດດຳເນີນການເຂົ້າສູ່ລະບົບໄດ້.",
+ "cannotloginnow-title": "ບໍ່ສາມາດເຂົ້າສູ່ລະບົບໄດ້ໃນຂະນະນີ້",
+ "cannotloginnow-text": "ບໍ່ສາມາດດຳເນີນການເຂົ້າສູ່ລະບົບໄດ້ເມື່ອກຳລັງໃຊ້ $1 ຢູ່.",
+ "cannotcreateaccount-title": "ບໍ່ສາມາດສ້າງບັນຊີໄດ້",
+ "cannotcreateaccount-text": "ການສ້າງບັນຊີໂດຍກົງບໍ່ໄດ້ຖືກເປີດໃຊ້ໃນວິກິນີ້.",
+ "yourdomainname": "ໂດເມນຂອງທ່ານ:",
+ "password-change-forbidden": "ທ່ານບໍ່ສາມາດປ່ຽນລະຫັດຜ່ານໃນວິກິນີ້ໄດ້.",
+ "login": "ເຂົ້າສູ່ລະບົບ",
+ "login-security": "ຢືນຢັນຕົວຕົນຂອງທ່ານ",
+ "nav-login-createaccount": "ເຂົ້າສູ່ລະບົບ / ສ້າງບັນຊີ",
+ "userlogin": "ເຂົ້າສູ່ລະບົບ / ສ້າງບັນຊີ",
+ "userloginnocreate": "ເຂົ້າສູ່ລະບົບ",
+ "logout": "ອອກຈາກລະບົບ",
+ "userlogout": "ອອກຈາກລະບົບ",
+ "notloggedin": "ບໍ່ໄດ້ເຂົ້າສູ່ລະບົບ",
+ "userlogin-noaccount": "ຍັງບໍ່ມີບັນຊີເທື່ອບໍ່?",
+ "userlogin-joinproject": "ເຂົ້າຮ່ວມກັບ {{SITENAME}}",
"nologin": "ຍັງບໍ່ມີບັນຊີເທື່ອບໍ່? $1.",
"nologinlink": "ສ້າງບັນຊີໃໝ່",
"createaccount": "ສ້າງບັນຊີ",
- "gotaccount": "ມີ ບັນຊີແລ້ວບໍ? '''$1'''.",
- "gotaccountlink": "ເຊັນເຂົ້າ",
+ "gotaccount": "ມີບັນຊີແລ້ວບໍ? $1.",
+ "gotaccountlink": "ເຂົ້າສູ່ລະບົບ",
+ "userlogin-resetlink": "ລືມຂໍ້ມູນການເຂົ້າສູ່ລະບົບຂອງທ່ານບໍ່?",
+ "userlogin-resetpassword-link": "ລືມລະຫັດຜ່ານຂອງທ່ານບໍ່?",
+ "userlogin-helplink2": "ວິທີໃຊ້ການເຂົ້າສູ່ລະບົບ",
+ "userlogin-loggedin": "ທ່ານໄດ້ເຂົ້າສູ່ລະບົບໃນຊື່ {{GENDER:$1|$1}} ແລ້ວ.\nກະລຸນາໃຊ້ແບບຟອມຂ້າງລຸ່ມເພື່ອເຂົ້າສູ່ລະບົບໃນຊື່ອື່ນໆ.",
"createaccountmail": "ໃຊ້ລະຫັດຜ່ານແບບສຸ່ມຊົ່ວຄາວແລະສົ່ງມັນໄປໃຫ້ທີ່ຢູ່ອີເມວທີ່ລະບຸ",
- "badretype": "ລະຫັດຜ່ານ ທີ່ ທ່ານພິມຄືນ ບໍ່ຖືກກັບ ທີ່ພິມກ່ອນ.",
- "loginerror": "ມີບັນຫາໃນການເຊັນເຂົ້າ",
+ "badretype": "ລະຫັດຜ່ານທີ່ທ່ານໄດ້ພິມຄືນບໍ່ກົງກັບທີ່ພິມກ່ອນ.",
+ "loginerror": "ຂໍ້ຜິດພາດໃນການເຂົ້າສູ່ລະບົບ",
+ "createacct-error": "ຂໍ້ຜິດພາດໃນການສ້າງບັນຊີ",
+ "createaccounterror": "ບໍ່ສາມາດສ້າງບັນຊີໄດ້: $1",
"loginsuccesstitle": "ເຂົ້າສູ່ລະບົບແລ້ວ",
"loginsuccess": "'''ທ່ານ ເຊັນເຂົ້າ {{SITENAME}} ໃນນາມ \"$1\".'''",
"wrongpassword": "ລະຫັດຜ່ານບໍ່ຖືກ. ກະລຸນາເຮັດຄືນໃໝ່.",
"blockedtitle": "ຜູ້ໃຊ້ຖືກຫ້າມ",
"whitelistedittext": "ທ່ານ ຈະຕ້ອງ $1 ເພື່ອ ຈະດັດແກ້.",
"loginreqtitle": "ຈຳເປັນຕ້ອງ ເຊັນເຂົ້າ",
- "loginreqlink": "ເຊັນເຂົ້າ",
+ "loginreqlink": "ເຂົ້າສູ່ລະບົບ",
+ "loginreqpagetext": "ກະລຸນາ $1 ເພື່ອເຂົ້າເບິ່ງໜ້າອື່ນໆ.",
"accmailtitle": "ໄດ້ສົ່ງ ລະຫັດຜ່ານ ໄປແລ້ວ.",
"accmailtext": "ລະຫັດຜ່ານ ຂອງ \"$1\" ໄດ້ຖືກສົ່ງໄປ $2 ແລ້ວ.",
"newarticle": "(ໃໝ່)",
"show": "ສະແດງ",
"minoreditletter": "ລ",
"newpageletter": "ມ",
- "rc-change-size-new": "$1 {{PLURAL:$1|byte|bytes}} ຫຼັງການປ່ຽນແປງ",
+ "rc-change-size-new": "$1 {{PLURAL:$1|ໄບຕ໌}}ຫຼັງຈາກການປ່ຽນແປງ",
"recentchangeslinked": "ການດັດແກ້ທີ່ກ່ຽວຂ້ອງ",
"recentchangeslinked-feed": "ການດັດແກ້ທີ່ກ່ຽວຂ້ອງ",
"recentchangeslinked-toolbox": "ການປ່ຽນແປງທີ່ກ່ຽວຂ້ອງ",
"tooltip-pt-mycontris": "ລາຍການປະກອບສ່ວນຂອງຂ້ອຍ",
"tooltip-pt-login": "ນີ້ບໍ່ແມ່ນການບັງຄັບ. ແຕ່ຢ່າງໃດກໍຕາມ, ທ່ານຄວນທີ່ຈະເຂົ້າສູ່ລະບົບ.",
"tooltip-pt-logout": "ເຊັນອອກ",
- "tooltip-pt-createaccount": "àº\99ີà»\89ິàº\9aà»\8dà»\88à»\81ມà»\88àº\99àº\81າàº\99àº\9aັàº\87àº\84ັàº\9a. à»\81àº\95à»\88ຢà»\88າàº\87à»\83àº\94àº\81à»\8dàº\95າມ, àº\97à»\88າàº\99àº\84ວàº\99àº\97ີà»\88àº\88ະສà»\89າàº\87àº\9aັàº\99àº\8aີà»\81ລະà»\80àº\82ົà»\89າສູà»\88ລະàº\9aົàº\9a.",
+ "tooltip-pt-createaccount": "ນີ້ບໍ່ແມ່ນການບັງຄັບ. ແຕ່ຢ່າງໃດກໍຕາມ, ທ່ານຄວນທີ່ຈະສ້າງບັນຊີແລະເຂົ້າສູ່ລະບົບ.",
"tooltip-ca-talk": "ສົນທະນາກ່ຽວກັບເນື້ອໃນຂອງໜ້າ",
"tooltip-ca-edit": "ແກ້ໄຂໜ້ານີ້",
"tooltip-ca-addsection": "ເພີ່ມ ຄຳເຫັນ ໃສ່ ການສົນທະນານີ້.",
"tooltip-pt-anoncontribs": "Labojumi, kas veikti no šīs IP adreses",
"tooltip-pt-login": "Aicinām tevi ieiet {{grammar:lokatīvs|{{SITENAME}}}}, tomēr tas nav obligāti.",
"tooltip-pt-logout": "Iziet",
+ "tooltip-pt-createaccount": "Ieteicams izveidot kontu un pieslēgties; tomēr tas nav obligāti.",
"tooltip-ca-talk": "Diskusija par šī raksta lapu",
"tooltip-ca-edit": "Labot šo lapu",
"tooltip-ca-addsection": "Sākt jaunu sadaļu",
"changecontentmodel-emptymodels-title": "Нема содржински модели на располагање",
"changecontentmodel-emptymodels-text": "Содржината на [[:$1]] не може да се претвори во ниеден тип.",
"log-name-contentmodel": "Дневник на измени во содржинските модели",
- "log-description-contentmodel": "Настани поврзани со содржинските модели на една страница",
+ "log-description-contentmodel": "На страницава се наведени промените во содржинскиот модел на страниците, како и страници создадени со содржински модел поинаков од основно зададениот.",
"logentry-contentmodel-new": "$1 {{GENDER:$2|ја создаде}} страницата $3 користејќи го нестандардниот содржински модел „$5“",
"logentry-contentmodel-change": "$1 {{GENDER:$2|го смени}} содржиснкиот модел на страницата $3 од „$4“ на „$5“",
"logentry-contentmodel-change-revertlink": "отповикај",
"file-info": "големина: $1, MIME-тип: $2",
"file-info-size": "$1 × $2 пиксели, големина: $3, MIME-тип: $4",
"file-info-size-pages": "$1 × $2 пиксели, големина: $3, MIME-тип: $4, $5 {{PLURAL:$5|страница|страници}}",
- "file-nohires": "Ð\9dема веÑ\80зиÑ\98а Ñ\81о поголема Ñ\80азделеноÑ\81Ñ\82.",
+ "file-nohires": "Нема верзија со поголема разделност.",
"svg-long-desc": "SVG податотека, номинално $1 × $2 пиксели, големина: $3",
"svg-long-desc-animated": "Анимирана SVG-податотека, номинално: $1 × $2 пиксели, големина: $3",
"svg-long-error": "Неважечка SVG-податотека: $1",
"show-big-image": "Изворна податотека",
"show-big-image-preview": "Големина на овој преглед: $1.",
"show-big-image-preview-differ": "Големина на овој $3-преглед на оваа $2-податотека: $1.",
- "show-big-image-other": "{{PLURAL:$2|Ð\94Ñ\80Ñ\83га Ñ\80азделеноÑ\81Ñ\82|Ð\94Ñ\80Ñ\83ги Ñ\80азделености}}: $1.",
+ "show-big-image-other": "{{PLURAL:$2|Ð\94Ñ\80Ñ\83га Ñ\80азделноÑ\81Ñ\82|Ð\94Ñ\80Ñ\83ги Ñ\80азделности}}: $1.",
"show-big-image-size": "$1 × $2 пиксели",
"file-info-gif-looped": "кружно",
"file-info-gif-frames": "$1 {{PLURAL:$1|кадар|кадри}}",
"file-info-png-repeat": "пуштено {{PLURAL:$1|еднаш|$1 пати}}",
"file-info-png-frames": "$1 {{PLURAL:$1|кадар|кадри}}",
"file-no-thumb-animation": "'''Напомена: Поради технички ограничувања, минијатурите на оваа податотека нема да се анимираат.'''",
- "file-no-thumb-animation-gif": "'''Ð\9dапомена: Ð\9fоÑ\80ади Ñ\82еÑ\85ниÑ\87ки огÑ\80аниÑ\87Ñ\83ваÑ\9aа, миниÑ\98аÑ\82Ñ\83Ñ\80иÑ\82е на GIF-Ñ\81лики Ñ\81о виÑ\81ока Ñ\80азделеноÑ\81Ñ\82 како оваа нема да Ñ\81е анимиÑ\80ааÑ\82.'''",
+ "file-no-thumb-animation-gif": "'''Напомена: Поради технички ограничувања, минијатурите на GIF-слики со висока разделност како оваа нема да се анимираат.'''",
"newimages": "Галерија на нови податотеки",
"imagelisttext": "Следи список на '''$1''' {{PLURAL:$1|податотека|податотеки}} подредени $2.",
"newimages-summary": "Оваа службена страница ги покажува скоро подигнатите податотеки.",
"exif-planarconfiguration": "Распоред на податоците",
"exif-ycbcrsubsampling": "Однос на величината на Y спрема C",
"exif-ycbcrpositioning": "Положби на Y и C",
- "exif-xresolution": "ХоÑ\80изонÑ\82ална Ñ\80азделеноÑ\81Ñ\82",
- "exif-yresolution": "Ð\92еÑ\80Ñ\82икална Ñ\80азделеноÑ\81Ñ\82",
+ "exif-xresolution": "Хоризонтална разделност",
+ "exif-yresolution": "Вертикална разделност",
"exif-stripoffsets": "Положба на податоците",
"exif-rowsperstrip": "Број на редови по блок",
"exif-stripbytecounts": "Бајти по набиен блок",
"exif-focallength-format": "$1 мм",
"exif-subjectarea": "Положба и површина на објектот",
"exif-flashenergy": "Енергија на блицот",
- "exif-focalplanexresolution": "РазделеноÑ\81Ñ\82 на жаÑ\80иÑ\88наÑ\82а Ñ\80амнина X",
- "exif-focalplaneyresolution": "РазделеноÑ\81Ñ\82 на жаÑ\80иÑ\88наÑ\82а Ñ\80амнина Y",
- "exif-focalplaneresolutionunit": "Ð\95диниÑ\86а за Ñ\80азделеноÑ\81Ñ\82 на жаÑ\80иÑ\88наÑ\82а Ñ\80амнина",
+ "exif-focalplanexresolution": "Разделност на жаришната рамнина X",
+ "exif-focalplaneyresolution": "Разделност на жаришната рамнина Y",
+ "exif-focalplaneresolutionunit": "Единица за разделност на жаришната рамнина",
"exif-subjectlocation": "Положба на субјектот",
"exif-exposureindex": "Показател на изложувањето",
"exif-sensingmethod": "Метод на сензорот",
"sessionprovider-nocookies": "Колачињата може да се оневозможени. Ако е така, овозможете ги, и почнете одново.",
"randomrootpage": "Случајна основна страница",
"log-action-filter-block": "Тип на блок:",
- "log-action-filter-contentmodel": "Тип на змена на содржинскиот модел:",
+ "log-action-filter-contentmodel": "Тип на пÑ\80омена на содржинскиот модел:",
"log-action-filter-delete": "Тип на бришење:",
"log-action-filter-import": "Тип на увоз:",
"log-action-filter-managetags": "Тип на дејство за управување со ознаки:",
"ipaddressorusername": "အိုင်ပီလိပ်စာ သို့ အသုံးပြုသူအမည် -",
"ipbexpiry": "သက်တမ်းကုန်လွန်ရက် -",
"ipbreason": "အကြောင်းပြချက်:",
+ "ipb-hardblock": "ဤအိုင်ပီလိပ်စာမှ လော့ဂ်အင်ဝင်ထားသော အသုံးပြုသူများကို တည်းဖြတ်ခြင်းမှ တားမြစ်ရန်",
"ipbcreateaccount": "အကောင့်အသစ်ပြုလုပ်ခြင်းကို တားဆီးရန်",
"ipbemailban": "အီးမေးပို့ခြင်းမှ အသုံးပြုသူကို တားဆီးရန်",
+ "ipbenableautoblock": "ဤအသုံးပြုသူ အသုံးပြုသော အိုင်ပီလိပ်စာနှင့် သူတို့ ပြင်ဆင်ရန် ကြိုးစားသည့် နောက်ဆက်တွဲ အိုင်ပီလိပ်စာများကိုပါ အလိုအလျောက်ပိတ်ပင်ရန်",
"ipbsubmit": "ဤအသုံးပြုသူကို ပိတ်ပင်ရန်",
"ipbother": "အခြားအချိန်:",
"ipboptions": "၂ နာရီ:2 hours,၁ ရက်:1 day,၃ ရက်:3 days,၁ ပတ်:1 week,၂ ပတ်:2 weeks,၁ လ:1 month,၃ လ:3 months,၆ လ:6 months,၁ နှစ်:1 year,အနန္တ:infinite",
"ipbhidename": "အသုံးပြုသူအမည်ကို တည်းဖြတ်မှုများနှင့် စာရင်းမှထဲတွင် ဝှက်ထားရန်",
- "ipbwatchuser": "ဤအသုံးပြုသူ၏စာမျက်နှနှင့် ဆွေးနွေးချက်တို့ကို စောင့်ကြည့်ရန်",
+ "ipbwatchuser": "ဤအသုံးပြုသူ၏ စာမျက်နှာနှင့် ဆွေးနွေးချက်တို့ကို စောင့်ကြည့်ရန်",
+ "ipb-disableusertalk": "ပိတ်ပင်ထားစဉ်အတွင်း ဤအသုံးပြုသူအား သူတို့၏ ကိုယ်ပိုင်ဆွေးနွေးချက် စာမျက်နှာကို ပြင်ဆင်ခြင်းမှ ပိတ်ပင်ရန်",
+ "ipb-change-block": "အသုံးပြုသူအား ဤအပြင်အဆင်များဖြင့် ထပ်မံပိတ်ပင်ရန်",
"badipaddress": "တရားမဝင်သော IP address",
"blockipsuccesssub": "ပိတ်ပင်ခြင်း အောင်မြင်သည်",
"ipb-edit-dropdown": "ပိတ်ပင်ရသောအကြောင်းရင်းများ",
"change-blocklink": "စာကြောင်းအမည် ပြောင်းရန်",
"contribslink": "ပံ့ပိုး",
"blocklogpage": "ပိတ်ပင်တားဆီးမှု မှတ်တမ်း",
+ "blocklog-showlog": "ဤအသုံးပြုသူအား ယခင်က ပိတ်ပင်ထားပြီး ဖြစ်သည်။\nပိတ်ပင်မှု မှတ်တမ်းအား ကိုးကားနိုင်ရန် အောက်တွင် ဖော်ပြထားသည်။",
"blocklogentry": "[[$1]] ကို $2 ကြာအောင် ပိတ်ပင် တားဆီးလိုက်သည် $3",
"blocklogtext": "ဤသည်မှာ အသုံးပြုသူအား ပိတ်ပင်ခြင်းနှင့် ပိတ်ပင်မှုဖယ်ရှားခြင်း ဆောင်ရွက်မှု မှတ်တမ်း ဖြစ်သည်။\nအလိုအလျောက် ပိတ်ပင်ထားသည့် အိုင်ပီလိပ်စာများအား မထည့်သွင်းထားပါ။\nလက်ရှိ တားမြစ်မှုများနှင့် ပိတ်ပင်မှုများ စာရင်းအတွက် [[Special:BlockList|ပိတ်ပင်စာရင်း]]ကို ကြည့်ပါ။",
"unblocklogentry": "$1 ကို ပိတ်ထားရာမှ ပြန်ဖွင့်ရန်",
"block-log-flags-nousertalk": "မိမိ၏ဆွေးနွေးချက်စာမျက်နှာကို တည်းဖြတ်မရနိုင်ပါ",
"block-log-flags-hiddenname": "အသုံးပြုသူအမည် ဝှက်ထားသည်",
"ipb_expiry_invalid": "သက်တမ်းကုန်လွန်မည့် အချိန်သည် တရားမဝင်ပါ။",
- "ipb_already_blocked": "\"$1\" ကို အစကတည်းက ပိတ်ထားသည်",
+ "ipb_already_blocked": "\"$1\" ကို ပိတ်ပင်ထားပြီး ဖြစ်သည်။",
+ "ipb-needreblock": "$1 ကို ပိတ်ပင်ထားပြီး ဖြစ်သည်။ အပြင်အဆင်များကို ပြောင်းလဲလိုပါသလား?",
"move-page": "$1 ကို ရွှေ့ရန်",
"move-page-legend": "စာမျက်နှာကို ရွှေ့ပြောင်းရန်",
"movepagetext": "အောက်ပါပုံစံကို အသုံးပြုခြင်းသည် စာမျက်နှာကို အမည်ပြောင်းလဲပေးမည် ဖြစ်ပြီး အမည်သစ်သို့ ယင်း၏ မှတ်တမ်းနှင့်တကွ ရွှေ့ပေးမည် ဖြစ်သည်။\nအမည်ဟောင်းသည် အမည်သစ်သို့ ပြန်ညွှန်းစာမျက်နှာ ဖြစ်လာမည်။\nသင်သည် မူလခေါင်းစဉ်သို့ ပြန်ညွှန်းများကို အလိုအလျောက် အပ်ဒိတ် update လုပ်နိုင်သည်။\nအကယ်၍ မပြုလုပ်လိုပါက [[Special:DoubleRedirects|နှစ်ဆင့်ပြန်ညွှန်းများ]] သို့မဟုတ် [[Special:BrokenRedirects|ပြန်ညွှန်း အပျက်များ]] ကို မှတ်သားရန် မမေ့ပါနှင့်။\nလင့်များ ညွှန်းလိုသည့် နေရာသို့ ညွှန်ပြနေရန် သင့်တွင် တာဝန် ရှိသည်။\n\nအကယ်၍ ခေါင်းစဉ်အသစ်တွင် စာမျက်နှာတစ်ခု ရှိနှင့်ပြီး ဖြစ်ပါက (သို့) ယင်းစာမျက်နှာသည် အလွတ်မဖြစ်ပါက (သို့) ပြန်ညွှန်းတစ်ခု မရှိပါက (သို့) ယခင်က ပြုပြင်ထားသော မှတ်တမ်း မရှိပါက စာမျက်နှာသည် <strong>ရွေ့မည်မဟုတ်</strong> သည်ကို သတိပြုပါ။ \nဆိုလိုသည်မှာ သင်သည် အမှားတစ်ခု ပြုလုပ်မိပါက စာမျက်နှာကို ယခင်အမည်ကို ပြန်လည် ပြောင်းလဲပေးနိုင်သည်။ ရှိပြီသားစာမျက်နှာတစ်ခုကို စာမျက်နှာ အသစ်နှင့် ပြန်အုပ် overwrite ခြင်း မပြုနိုင်။\n\n<strong>မှတ်ချက်။</strong>\nဤသည်မှာ လူဖတ်များသော စာမျက်နှာတစ်ခုဖြစ်ပါက မမျှော်လင့်ထားသော၊ ကြီးမားသော အပြောင်းအလဲတစ်ခု ဖြစ်ပေါ်လာနိုင်သည်။\nထို့ကြောင့် ဆက်လက် မဆောင်ရွက်မီ သင်သည် နောက်ဆက်တွဲ အကျိုးဆက်များကို နားလည်ကြောင်း ကျေးဇူးပြု၍ သေချာပါစေ။",
"tags": "အသုံးပြုနေသော အပြောင်းအလဲစာတွဲများ",
"tag-filter": "[[Special:Tags|Tag]] သီးသန့်စစ်ထုတ်ရန် -",
"tag-filter-submit": "စိစစ်မှု",
+ "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|စာတွဲ|စာတွဲများ}}]]: $2)",
"tags-title": "အမည်တွဲ",
"tags-tag": "အမည်တွဲ အမည်",
"tags-edit": "ပြင်ဆင်ရန်",
"revdelete-content-hid": "အကြောင်းအရာ ဝှက်ခြင်း",
"revdelete-restricted": "အက်ဒမင်များသို့ ကန့်သတ်ချက်များ သက်ရောက်ရန်",
"revdelete-unrestricted": "အက်ဒမင်များအတွက် ကန့်သတ်ချက်များကို ဖယ်ရှားရန်",
+ "logentry-suppress-block": "{{GENDER:$4|$3}} အား $5 ကြာအောင် $1 က {{GENDER:$2|ပိတ်ပင်ခဲ့သည်}} $6",
"logentry-move-move": "$3 စာမျက်နှာကို $4 သို့ $1က {{GENDER:$2|ရွှေ့ခဲ့သည်}}",
"logentry-move-move-noredirect": "$3 မှ $4 သို့ စာမျက်နှာကို ပြန်ညွှန်းချန်မထားပဲ $1 {{GENDER:$2|က ရွှေ့ခဲ့သည်}}",
"logentry-newusers-create": "အသုံးပြုသူအကောင့် $1 ကို {{GENDER:$2|ဖန်တီးခဲ့သည်}}",
"right-writeapi": "Redigere via API",
"right-delete": "Slette sider",
"right-bigdelete": "Slette sider med stor historikk",
- "right-deletelogentry": "Slett og gjenopprett spesifikke loggoppføringer",
+ "right-deletelogentry": "Slette og gjenopprette spesifikke loggoppføringer",
"right-deleterevision": "Slette og gjenopprette enkeltrevisjoner av sider",
"right-deletedhistory": "Se slettet sidehistorikk uten tilhørende sidetekst",
"right-deletedtext": "Vise slettet tekst og endringer mellom slettede versjoner",
"right-browsearchive": "Søke i slettede sider",
"right-undelete": "Gjenopprette sider",
- "right-suppressrevision": "Se på, skjul og hent frem igjen spesifikke siderevisjoner for alle brukere",
+ "right-suppressrevision": "Se, skjule og hente frem igjen spesifikke siderevisjoner for alle brukere",
"right-viewsuppressed": "Se på revisjoner som er skjult for alle brukere",
"right-suppressionlog": "Se private logger",
"right-block": "Blokkere andre brukere fra å redigere",
"right-ipblock-exempt": "Kan redigere fra blokkerte IP-adresser",
"right-unblockself": "Fjerne blokkering av seg selv",
"right-protect": "Endre beskyttelsesnivåer og redigere beskyttete sider",
- "right-editprotected": "Redigere beskyttede sider som «{{int:protect-level-sysop}}»",
- "right-editsemiprotected": "Redigere beskyttede sider som «{{int:protect-level-autoconfirmed}}»",
- "right-editcontentmodel": "Rediger innholdsmodellen til en side",
+ "right-editprotected": "Redigere beskyttede sider som er «{{int:protect-level-sysop}}»",
+ "right-editsemiprotected": "Redigere beskyttede sider som er «{{int:protect-level-autoconfirmed}}»",
+ "right-editcontentmodel": "Redigere innholdsmodellen til en side",
"right-editinterface": "Redigere brukergrensesnittet",
"right-editusercssjs": "Redigere andre brukeres CSS- og JS-filer",
"right-editusercss": "Redigere andre brukeres CSS-filer",
"right-edituserjs": "Redigere andre brukeres JS-filer",
- "right-editmyusercss": "Rediger dine egne CSS-filer",
- "right-editmyuserjs": "Rediger dine egne Javascript-filer",
- "right-viewmywatchlist": "Vis din egen overvåkningsliste",
- "right-editmywatchlist": "Redigere din egen overvåkningsliste. Legg merke til at noen aksjoner fortsatt vil legge til sider uten denne rettigheten.",
- "right-viewmyprivateinfo": "Vise dine egne private data (f.eks. epostadresse og virkelig navn)",
- "right-editmyprivateinfo": "Redigere dine egne private data (f.eks. epostadresse og virkelig navn)",
- "right-editmyoptions": "Redigere dine egne innstillinger",
+ "right-editmyusercss": "Redigere sine egne CSS-filer",
+ "right-editmyuserjs": "Redigere sine egne JavaScript-filer",
+ "right-viewmywatchlist": "Vise sin egen overvåkningsliste",
+ "right-editmywatchlist": "Redigere sin egen overvåkningsliste. Legg merke til at noen handlinger fortsatt vil legge til sider uten denne rettigheten.",
+ "right-viewmyprivateinfo": "Vise sine egne private data (f.eks. epostadresse og virkelig navn)",
+ "right-editmyprivateinfo": "Redigere sine egne private data (f.eks. epostadresse og virkelig navn)",
+ "right-editmyoptions": "Redigere sine egne innstillinger",
"right-rollback": "Raskt tilbakestille den siste brukeren som har redigert en gitt side",
"right-markbotedits": "Markere tilbakestillinger som robotredigeringer",
"right-noratelimit": "Påvirkes ikke av hastighetsgrenser",
"right-import": "Importere sider fra andre wikier",
"right-importupload": "Importere sider via opplasting",
"right-patrol": "Markere redigeringer som patruljerte",
- "right-autopatrol": "Får sine egne redigeringer merket som patruljerte",
+ "right-autopatrol": "Få sine egne redigeringer merket som patruljerte",
"right-patrolmarks": "Bruke patruljeringsfunksjoner i siste endringer",
"right-unwatchedpages": "Se listen over uovervåkede sider",
"right-mergehistory": "Flette sidehistorikker",
"right-userrights-interwiki": "Redigere rettigheter for brukere på andre wikier",
"right-siteadmin": "Låse og låse opp databasen",
"right-override-export-depth": "Eksporter sider inkludert lenkede sider til en dypde på 5",
- "right-sendemail": "Send e-post til andre brukere",
+ "right-sendemail": "Sende e-post til andre brukere",
"right-managechangetags": "Opprette og (de)aktivere [[Special:Tags|tagger]]",
- "right-applychangetags": "Legg til [[Special:Tags|merker]] sammen med ens endringer",
- "right-changetags": "Legg til og fjern vilkårlige [[Special:Tags|merker]] på individuelle revisjoner og loggposter",
+ "right-applychangetags": "Legge til [[Special:Tags|tagger]] sammen med ens endringer",
+ "right-changetags": "Legge til og fjerne vilkårlige [[Special:Tags|tagger]] på individuelle revisjoner og loggoppføringer",
"right-deletechangetags": "Slette [[Special:Tags|tagger]] fra databasen",
"grant-generic": "Rettighetspakken «$1»",
"grant-group-page-interaction": "Interagere med sider",
"changecontentmodel-emptymodels-title": "Ingen innholdsmodeller er tilgjengelige",
"changecontentmodel-emptymodels-text": "Innholdet på [[:$1]] kan ikke konverteres til noen type.",
"log-name-contentmodel": "Logg over endringer i endringsloggen",
- "log-description-contentmodel": "Hendelseslogg relatert til innholdsmodellen for en side",
+ "log-description-contentmodel": "Denne siden lister endringer i innholdsmodellen til sider, og sider som ble laget med andre innholdsmodeller enn den som er standard.",
"logentry-contentmodel-new": "$1 {{GENDER:$2|opprettet}} siden $3 med den ikke-standard innholdsmodellen «$5»",
"logentry-contentmodel-change": "$1 {{GENDER:$2|endret}} innholdsmodellen for siden $3 fra «$4» til «$5»",
"logentry-contentmodel-change-revertlink": "tilbakestill",
"version-variables": "Variabler",
"version-antispam": "Søppelpostforebygging",
"version-other": "Annet",
- "version-mediahandlers": "Mediahåndterere",
+ "version-mediahandlers": "Mediehåndterere",
"version-hooks": "Haker",
"version-parser-extensiontags": "Tilleggstagger",
"version-parser-function-hooks": "Parserfunksjoner",
"api-error-missingresult": "Intern feil: Kan ikke bekrefte at kopieringen var vellykket.",
"api-error-mustbeloggedin": "Du må være logget inn for å laste opp filer.",
"api-error-mustbeposted": "Intern feil: forespørsel krever HTTP POST.",
- "api-error-noimageinfo": "Opplastingen var vellykket, men serveren returnerte ikke noe informasjon om filen.",
+ "api-error-noimageinfo": "Opplastingen var vellykket, men tjeneren returnerte ikke noe informasjon om filen.",
"api-error-nomodule": "Intern feil: ingen opplastningsmodul har blitt valgt.",
"api-error-ok-but-empty": "Intern feil: ingen svar fra server.",
"api-error-overwrite": "Det er ikke tillatt å overskrive eksisterende filer.",
"api-error-stashnotloggedin": "Du må være innlogget for å lagre filene i opplastingslageret.",
"api-error-stashwrongowner": "Filen du prøvde å få tilgang til tilhører ikke deg.",
"api-error-stashnosuchfilekey": "Filnøkkelen du prøvde å få tilgang til finnes ikke.",
- "api-error-timeout": "Serveren svarte ikke innenfor forventet tid.",
+ "api-error-timeout": "Tjeneren svarte ikke innenfor forventet tid.",
"api-error-unclassified": "En ukjent feil har oppstått",
"api-error-unknown-code": "Ukjent feil: \"$1\"",
"api-error-unknown-error": "Intern feil: Noe gikk galt ved opplastning av filen din.",
- "api-error-unknown-warning": "Ukjent advarsel: $1",
+ "api-error-unknown-warning": "Ukjent advarsel: «$1».",
"api-error-unknownerror": "Ukjent feil: «$1».",
"api-error-uploaddisabled": "Opplastning har blitt deaktivert på denne wikien.",
"api-error-verification-error": "Filen kan være korrupt, eller ha feil filendelse.",
"blockedtitle": "Użytkownik jest zablokowany",
"blockedtext": "'''Twoje konto lub adres IP zostały zablokowane.'''\n\nBlokada została nałożona przez $1.\nPodany powód to: ''$2''.\n\n* Początek blokady: $8\n* Wygaśnięcie blokady: $6\n* Zablokowany został: $7\n\nW celu wyjaśnienia przyczyny zablokowania możesz się skontaktować z $1 lub innym [[{{MediaWiki:Grouppage-sysop}}|administratorem]].\nNie możesz użyć funkcji „Wyślij e‐mail do tego użytkownika”, jeśli brak jest poprawnego adresu e‐mail w Twoich [[Special:Preferences|preferencjach]] lub jeśli taka możliwość została Ci zablokowana.\nTwój obecny adres IP to $3, a numer identyfikacyjny blokady to $5.\nProsimy o podanie obu tych informacji przy wyjaśnianiu blokady.",
"autoblockedtext": "Ten adres IP został zablokowany automatycznie, gdyż korzysta z niego inny użytkownik, zablokowany przez administratora $1.\nPowód blokady:\n\n:''$2''\n\n* Początek blokady: $8\n* Wygaśnięcie blokady: $6\n* Zablokowany został: $7\n\nMożesz skontaktować się z $1 lub jednym z pozostałych [[{{MediaWiki:Grouppage-sysop}}|administratorów]] w celu uzyskania informacji o blokadzie.\n\nNie możesz użyć funkcji „Wyślij e‐mail do tego użytkownika”, jeśli brak jest poprawnego adresu e‐mail w Twoich [[Special:Preferences|preferencjach]] lub jeśli taka możliwość została Ci zablokowana.\n\nTwój obecny adres IP to $3, a numer identyfikacyjny blokady to $5.\nProsimy o podanie obu tych numerów przy wyjaśnianiu blokady.",
+ "systemblockedtext": "Twoja nazwa użytkownika lub adres IP zostały automatycznie zablokowane przez MediaWiki.\nPodany powód to:\n\n:<em>$2</em>\n\n* Początek blokady: $8\n* Wygaśnięcie blokady: $6\n* Zamierzano zablokować: $7\n\nTwój obecny adres IP to $3.\nProsimy o dołączenie powyższych szczegółów w jakichkolwiek zadawanych pytaniach.",
"blockednoreason": "nie podano przyczyny",
"whitelistedittext": "Musisz $1, by edytować strony.",
"confirmedittext": "Edytowanie jest możliwe dopiero po zweryfikowaniu adresu e‐mail.\nPodaj adres e‐mail i potwierdź go w swoich [[Special:Preferences|ustawieniach użytkownika]].",
"userrights-user-editname": "Wprowadź nazwę użytkownika:",
"editusergroup": "Wczytaj grupy użytkownika",
"editinguser": "Zmiana uprawnień {{GENDER:$1|użytkownika|użytkowniczki}} <strong>[[User:$1|$1]]</strong> $2",
+ "viewinguserrights": "Przeglądanie grup do których należy {{GENDER:$1|użytkownik|użytkowniczka}} <strong>[[User:$1|$1]]</strong> $2",
"userrights-editusergroup": "Edytuj grupy użytkownika",
+ "userrights-viewusergroup": "Przeglądanie grup {{GENDER:$1|użytkownika|użytkowniczki}}",
"saveusergroups": "Zapisz grupy {{GENDER:$1|użytkownika|użytkowniczki}}",
"userrights-groupsmember": "Należy do:",
"userrights-groupsmember-auto": "Na stałe należy do:",
"action-writeapi": "zapisu poprzez interfejs API",
"action-delete": "usunięcia tej strony",
"action-deleterevision": "usuwania wersji",
+ "action-deletelogentry": "usuwania wpisów w rejestrze",
"action-deletedhistory": "podglądu historii usunięć strony",
+ "action-deletedtext": "wyświetlania tekstu usuniętej wersji",
"action-browsearchive": "przeszukiwania usuniętych stron",
"action-undelete": "odtwarzania stron",
"action-suppressrevision": "podglądu i odtwarzania ukrytych wersji",
"upload-scripted-pi-callback": "Nie można przesłać pliku, zawierającego instrukcję obsługi arkusza stylów XML.",
"uploaded-script-svg": "Znaleziono element skryptowy „$1” we przesyłanym pliku SVG.",
"uploaded-hostile-svg": "Znaleziono niebezpieczny kod CSS w przesyłanym pliku SVG.",
+ "uploaded-event-handler-on-svg": "Ustawianie atrybutów obsługi zdarzeń <code>$1=\"$2\"</code> jest niedozwolone w plikach SVG.",
+ "uploaded-href-attribute-svg": "atrybuty href w plikach SVG mogą linkować tylko do celów z http:// lub https://, znaleziono <code><$1 $2=\"$3\"></code>.",
+ "uploaded-href-unsafe-target-svg": "Znaleziono atrybut href kierujący do niebezpiecznych danych: cel URI <code><$1 $2=\"$3\"></code> w przesłanym pliku SVG.",
+ "uploaded-animate-svg": "Znaleziono znacznik \"animate\", który może zmieniać atrybut href, przy użyciu atrybutu \"from\" <code><$1 $2=\"$3\"></code> w przesłanym pliku SVG.",
+ "uploaded-setting-event-handler-svg": "Ustawianie atrybutów obsługi zdarzeń jest zablokowane, znaleziono <code><$1 $2=\"$3\"></code> w przesyłanym pliku SVG.",
+ "uploaded-setting-href-svg": "Użycie znacznika \"set\" do dodania atrybutu \"href\" do elementu nadrzędnego jest zablokowane.",
+ "uploaded-wrong-setting-svg": "Użycie znacznika \"set\" do dodania do dowolnych atrybutów zdalnych elementów/danych/skryptów jest zablokowane. Znaleziono <code><set to=\"$1\"></code> w przesyłanym pliku SVG.",
+ "uploaded-setting-handler-svg": "SVG ustawiające atrybut \"handler\" z zdalnymi elementami/danymi/skryptami są blokowane. Znaleziono <code>$1=\"$2\"</code> w przesyłanym pliku SVG.",
+ "uploaded-remote-url-svg": "SVG, które ustawiają w dowolnym atrybucie stylu zdalne URL, są blokowane. Znaleziono <code>$1=\"$2\"</code> w przesyłanym pliku SVG.",
+ "uploaded-image-filter-svg": "Znaleziono filtr obrazu zawierający URL: <code><$1 $2=\"$3\"></code> w przesyłanym pliku SVG.",
"uploadscriptednamespace": "Ten plik SVG zawiera niedozwoloną przestrzeń nazw '$1'",
"uploadinvalidxml": "Nie udało się przeanalizować XML w załadowanym pliku.",
"uploadvirus": "W pliku jest wirus! Szczegóły: $1",
"apisandbox-alert-field": "Wartość tego pola jest nieprawidłowa.",
"apisandbox-continue": "Kontynuuj",
"apisandbox-continue-clear": "Wyczyść",
+ "apisandbox-continue-help": "{{int:apisandbox-continue}} spowoduje [https://www.mediawiki.org/wiki/API:Query#Continuing_queries pobranie kolejnej części wyników] ostatnio wykonanego żądania; {{int:apisandbox-continue-clear}} wyczyści parametry związane z kontynuowaniem wyników.",
"apisandbox-param-limit": "Wpisz <kbd>max</kbd>, aby wykorzystać maksymalny limit.",
"apisandbox-multivalue-all-namespaces": "$1 (wszystkie przestrzenie nazw)",
"apisandbox-multivalue-all-values": "$1 (wszystkie wartości)",
"emailccsubject": "Kopia Twojej wiadomości do $1: $2",
"emailsent": "Wiadomość została wysłana",
"emailsenttext": "Twoja wiadomość została wysłana.",
- "emailuserfooter": "Ten e-mail został {{GENDER:$1|wysłany}} z {{GRAMMAR:D.lp|{{SITENAME}}}} do {{GENDER:$2|$2}} przez $1 przy użyciu funkcji „{{int:emailuser}}”.",
+ "emailuserfooter": "Ten e-mail został {{GENDER:$1|wysłany}} z {{GRAMMAR:D.lp|{{SITENAME}}}} do {{GENDER:$2|$2}} przez $1 przy użyciu funkcji „{{int:emailuser}}”. {{GENDER:$2|Twoja}} odpowiedź na ten e-mail zostanie wysłana do {{GENDER:$1|oryginalnego nadawcy}}, a {{GENDER:$2|Twój}} adres e-mail zostanie {{GENDER:$1|mu|jej}} ujawniony.",
"usermessage-summary": "Pozostawianie komunikatu systemowego.",
"usermessage-editor": "Nadawca komunikatów systemowych",
"watchlist": "Obserwowane",
"api-error-badtoken": "Błąd wewnętrzny – nieprawidłowy kod weryfikacyjny (token).",
"api-error-blocked": "Została ci zablokowana możliwość edycji.",
"api-error-copyuploaddisabled": "Przesyłanie poprzez podanie adresu URL zostało na tym serwerze wyłączone.",
- "api-error-duplicate": "{{PLURAL:$1|Jest już inny plik|Są już inne pliki}} o tej samej zawartości",
- "api-error-duplicate-archive": "{{PLURAL:$1|Był już inny plik|Były już inne pliki}} o takiej samej zawartości, ale {{PLURAL:$1|został usunięty|zostały usunięte}}.",
+ "api-error-duplicate": "{{PLURAL:$1|Jest już inny plik|Są już inne pliki}} na tej stronie o tej samej zawartości.",
+ "api-error-duplicate-archive": "{{PLURAL:$1|Był już inny plik|Były już inne pliki}} na tej stronie o takiej samej zawartości, ale {{PLURAL:$1|został usunięty|zostały usunięte}}.",
"api-error-empty-file": "Przesłany przez Ciebie plik jest pusty.",
"api-error-emptypage": "Tworzenie nowych, pustych stron jest niedozwolone.",
"api-error-fetchfileerror": "Błąd wewnętrzny – wystąpił błąd w trakcie pobierania pliku.",
"api-error-missingresult": "Błąd wewnętrzny – nie można określić czy kopiowanie się udało.",
"api-error-mustbeloggedin": "Aby przesyłać pliki, musisz się zalogować.",
"api-error-mustbeposted": "Wystąpił błąd w oprogramowaniu. Nie użyto właściwej metody HTTP.",
- "api-error-noimageinfo": "Plik przesłano, ale serwer nie zwrócił informacji na jego temat.",
+ "api-error-noimageinfo": "Plik przesłano pomyślnie, ale serwer nie zwrócił informacji na jego temat.",
"api-error-nomodule": "Błąd wewnętrzny – nie określono modułu przesyłania plików.",
"api-error-ok-but-empty": "Błąd wewnętrzny – brak odpowiedzi od serwera.",
"api-error-overwrite": "Nadpisanie istniejącego pliku nie jest dopuszczalne.",
"api-error-stashnotloggedin": "Musisz się zalogować, aby móc zapisać plik zapasowy do archiwum.",
"api-error-stashwrongowner": "Plik w archiwum, do którego próbujesz uzyskać dostęp, nie należy do Ciebie.",
"api-error-stashnosuchfilekey": "Klucz zbioru w archiwum, do którego próbujesz uzyskać dostęp, nie należy do Ciebie.",
- "api-error-timeout": "Serwer nie odpowiedział w oczekiwanym czasie.",
+ "api-error-timeout": "Serwer nie odpowiedział w spodziewanym czasie.",
"api-error-unclassified": "Wystąpił nieznany błąd",
"api-error-unknown-code": "Błąd nieznany – „$1”",
"api-error-unknown-error": "Błąd wewnętrzny – wysŧapił nierozpoznany błąd w trakcie próby przesłania pliku.",
- "api-error-unknown-warning": "Nieznane ostrzeżenie – $1",
+ "api-error-unknown-warning": "Nieznane ostrzeżenie: „$1”.",
"api-error-unknownerror": "Nieznany błąd: „$1”",
"api-error-uploaddisabled": "Na tej wiki przesyłanie zostało wyłączone.",
"api-error-verification-error": "Plik może być uszkodzony lub nazwa pliku ma nieprawidłowe rozszerzenie.",
"expand_templates_generate_rawhtml": "Pokaż surowy HTML",
"expand_templates_preview": "Podgląd",
"expand_templates_preview_fail_html": "<em>Ponieważ {{SITENAME}} ma włączony surowy kod HTML i zaistniała strata danych z sesji, podgląd jest ukryty jako zabezpieczenie przed atakiem JavaScript.</em>\n\n<strong>Jeśli to jest próba słusznego podglądu, proszę spróbować ponownie.</strong>\nJeśli to nie pomoże – spróbuj [[Special:UserLogout|wylogować się]] i zalogować ponownie, a także upewnij się, że twoja przeglądarka akceptuje ciasteczka z tej witryny.",
+ "expand_templates_preview_fail_html_anon": "<em>Ponieważ {{SITENAME}} ma włączoną możliwość korzystania z surowego HTML a jesteś niezalogowany, podgląd został ukryty - jest to środek zapobiegawczy przeciwko atakom JavaScript.</em>\n\n<strong>Jeżeli jest to spodziewana próba podglądu, [[Special:UserLogin|zaloguj się]] i spróbuj ponownie.</strong>",
"expand_templates_input_missing": "Trzeba wpisać jakiś tekst.",
"pagelanguage": "Zmiana języka strony",
"pagelang-name": "Strona",
"log-description-pagelang": "Rejestr zmian języków przypisanych do poszczególnych stron",
"logentry-pagelang-pagelang": "$1 {{GENDER:$2|zmienił|zmieniła}} język strony $3 z „$4” na „$5”.",
"default-skin-not-found": "Ups! Domyślna skórka dla Twojej wiki, zdefiniowana jako <code dir=\"ltr\">$wgDefaultSkin</code> jako <code>$1</code>, nie jest dostępna.\n\nTwoja instalacja, jak się wydaje, zawiera {{PLURAL:$4|następującą skórkę|następujące skórki}}. Zobacz [https://www.mediawiki.org/wiki/Manual:Skin_configuration/pl Podręcznik:Konfiguracja skórki] z informacjami o tym, jak {{PLURAL:$4|ją włączyć|je włączyć i wybrać domyślną}}.\n\n$2\n\n; Jeśli zainstalowałeś właśnie MediaWiki:\n: Prawdopodobnie zrobiłeś to z Git lub bezpośrednio z kodu źródłowego z wykorzystaniem innej metody. Wtedy jest to możliwe. Spróbuj zainstalować niektóre skórki z [https://www.mediawiki.org/wiki/Category:All_skins/pl folderu skórek serwisu mediawiki.org]:\n:* pobierając [https://www.mediawiki.org/wiki/Download/pl archiwum plików instalacyjnych], zawierające kilka skórek i rozszerzeń. Możesz skopiować i wkleić z niego folder <code>skins/</code>;\n:* pobierając archiwa poszczególnych skórek z [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org];\n:* [https://www.mediawiki.org/wiki/Download_from_Git/pl#Korzystanie_z_Git_do_pobrania_rozszerzeń_MediaWiki Używając Git do pobrania skórek].\n: Jeśli jesteś programistą MediaWiki, nie powinno to zaszkodzić twojemu repozytorium Git.\n\n\n; Jeśli tylko aktualizowałeś MediaWiki:\n: MediaWiki w wersji 1.24 i nowszej nie zawiera automatycznie zainstalowanych skórek (zobacz [https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual:Skin autodiscovery]).\nMożna wstawić {{PLURAL:$5|następujący linię|następujące linie}} do <code>LocalSettings.php</code>, aby włączyć {{PLURAL:$5|zainstalowaną skórkę|wszystkie zainstalowane skórki}}: \n\n<pre dir=\"ltr\">$3</pre>\n\n; Jeśli właśnie zmodyfikowałeś <code>LocalSettings.php</code>:\n: Dokładnie sprawdź nazwy skórek pod kątem literówek.",
+ "default-skin-not-found-no-skins": "Ups! Domyślna skórka dla Twojej wiki, zdefiniowana w <code>$wgDefaultSkin</code> jako <code>$1</code> nie jest dostępna.\n\nNie masz zainstalowanych żadnych skórek.\n\n; Jeżeli właśnie zainstalowałeś lub zaktualizowałeś MediaWiki:\n: Prawdopodobnie zainstalowałeś z gita lub bezpośrednio z kodu źródłowego z użyciem innej metody. Jest to możliwe. MediaWiki 1.24 i nowsze nie mają dołączonych żadnych skórek w głównym repozytorium. Spróbuj zainstalować jakieś skórki z [https://www.mediawiki.org/wiki/Category:All_skins katalogu skórek na mediawiki.org], poprzez:\n:* Pobranie [https://www.mediawiki.org/wiki/Download spakowanej wersji instalacyjnej], która zawiera kilka skórek i rozszerzeń. Możesz skopiować i wkleić z niej katalog <code>skins/</code>.\n:* Pobranie pojedynczych archiwów tar z [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org].\n:* [https://www.mediawiki.org/wiki/Download_from_Git#Using_Git_to_download_MediaWiki_skins Wykorzystanie Gita do pobierania skórek].\n: Zrobienie tego nie powinno kolidować z Twoim repozytorium git, jeżeli jesteś twórcą MediaWiki. Zobacz [https://www.mediawiki.org/wiki/Manual:Skin_configuration/pl Podręcznik: Konfiguracja skórek] po informacje jak włączać skórki i wybrać domyślną.",
"default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (włączone)",
"default-skin-not-found-row-disabled": "* <code>$1</code> / $2 (<strong>wyłączone</strong>)",
"mediastatistics": "Statystyki mediów",
"log-action-filter-contentmodel-change": "Zmiana modelu zawartości",
"log-action-filter-contentmodel-new": "Utworzenie strony z niestandardowym modelem zawartości",
"log-action-filter-delete-delete": "Usunięcie strony",
+ "log-action-filter-delete-delete_redir": "Nadpisanie przekierowania",
"log-action-filter-delete-restore": "Odtworzenie strony",
"log-action-filter-delete-event": "Usunięcie wpisu rejestru",
"log-action-filter-delete-revision": "Usunięcie wersji",
"authmanager-provider-password": "Uwierzytelnianie oparte na haśle",
"authmanager-provider-password-domain": "Uwierzytelnianie na podstawie hasła i domeny",
"authmanager-provider-temporarypassword": "Hasło tymczasowe",
+ "authprovider-confirmlink-request-label": "Konta, które powinny być powiązane",
"authprovider-confirmlink-success-line": "$1: Połączono.",
+ "authprovider-confirmlink-failed": "Powiązanie konta nie udało się w pełni: $1",
"authprovider-confirmlink-ok-help": "Kontynuuj po wyświetleniu komunikatów o błędach linkowania.",
"authprovider-resetpass-skip-label": "Pomiń",
"authprovider-resetpass-skip-help": "Pomiń resetowanie hasła.",
"restrictionsfield-badip": "Nieprawidłowy adres IP lub zakres adresów: $1",
"restrictionsfield-label": "Dozwolone zakresy adresów IP:",
"restrictionsfield-help": "Jeden adres IP lub zakres CIDR w wierszu. Aby zaznaczyć wszystkie, użyj<br><code>0.0.0.0/0</code><br><code>::/0</code>",
- "revid": "wersja $1"
+ "revid": "wersja $1",
+ "pageid": "ID strony: $1"
}
"unprotectthispage": "Alterar a proteção desta página",
"newpage": "Página nova",
"talkpage": "Discutir sobre esta página",
- "talkpagelinktext": "Discussão",
+ "talkpagelinktext": "discussão",
"specialpage": "Página especial",
"personaltools": "Ferramentas pessoais",
"articlepage": "Ver página de conteúdo",
"upload-too-many-redirects": "A URL contém redirecionamentos demais",
"upload-http-error": "Ocorreu um erro HTTP: $1",
"upload-copy-upload-invalid-domain": "Não é possível realizar envios remotos neste domínio.",
+ "upload-dialog-disabled": "Essa wiki desativou o envio de arquivos através dessa caixa de diálogo.",
"upload-dialog-title": "Enviar arquivo",
"upload-dialog-button-cancel": "Cancelar",
+ "upload-dialog-button-back": "Voltar",
"upload-dialog-button-done": "Feito",
"upload-dialog-button-save": "Salvar",
"upload-dialog-button-upload": "Enviar",
"upload-form-label-own-work": "Isto é o meu próprio trabalho",
"upload-form-label-infoform-categories": "Categorias",
"upload-form-label-infoform-date": "Data",
+ "upload-form-label-own-work-message-generic-local": "Garanto que estou enviando este arquivo em conformidade com os termos de serviço e as políticas de licenciamento do site {{SITENAME}}.",
+ "upload-form-label-not-own-work-message-generic-local": "Se não for possível enviar este arquivo sob as políticas do site {{SITENAME}}, feche essa caixa de diálogo e tente outro método.",
"upload-form-label-not-own-work-local-generic-local": "Você pode também querer tentar [[Special:Upload|the default upload page]]",
+ "upload-form-label-own-work-message-generic-foreign": "Entendo que estou enviando este arquivo para um repositório compartilhado. Garanto que minha ação está em conformidade com os respectivos termos de serviço e políticas de licenciamento.",
+ "upload-form-label-not-own-work-message-generic-foreign": "Se não for possível enviar este arquivo sob as políticas desse repositório compartilhado, feche essa caixa de diálogo e tente outro método.",
+ "upload-form-label-not-own-work-local-generic-foreign": "Experimente também usar a [[Special:Upload|página de envios]] do site {{SITENAME}}, caso as políticas do mesmo permitam o envio.",
"backend-fail-stream": "Não foi possível transmitir o arquivo $1.",
"backend-fail-backup": "Não foi possível fazer backup do arquivo $1 .",
"backend-fail-notexists": "O arquivo $1 não existe.",
"filerevert-submit": "Reverter",
"filerevert-success": "<span class=\"plainlinks\">'''[[Media:$1|$1]]''' foi revertida para a [$4 versão de $2 - $3].</span>",
"filerevert-badversion": "Não há uma versão local anterior deste arquivo no período de tempo especificado.",
+ "filerevert-identical": "A versão atual do arquivo é idêntica à versão do selecionado.",
"filedelete": "Eliminar $1",
"filedelete-legend": "Eliminar arquivo",
"filedelete-intro": "Você está prestes a eliminar o arquivo '''[[Media:$1|$1]]''' junto com todo o seu histórico.",
"apisandbox": "Caixa de areia da API",
"apisandbox-api-disabled": "A API está desabilitada neste site.",
"apisandbox-intro": "Use esta página para realizar testes com o '''serviço web de API do MediaWiki'''.\nConsulte a [https://www.mediawiki.org/wiki/API:Main_page a documentação API] para obter mais detalhes de uso da API. Exemplo: [https://www.mediawiki.org/wiki/API#A_simple_example obter o conteúdo de uma Página principal]. Selecione uma ação para mais exemplos.\n\nNote que, embora esta seja uma área de testes, as ações que executar nesta página podem modificar a wiki.",
+ "apisandbox-fullscreen": "Expandir painel",
"apisandbox-unfullscreen": "Mostrar página",
"apisandbox-submit": "Fazer requisição",
"apisandbox-reset": "Limpar",
"api-error-blocked": "Foi bloqueado de editar.",
"api-error-copyuploaddisabled": "O carregamento de ficheiros por URL não foi possibilitado neste servidor.",
"api-error-duplicate": "Já {{PLURAL:$1|existia outro ficheiro|existiam outros ficheiro}} na wiki com o mesmo conteúdo.",
- "api-error-duplicate-archive": "Já {{PLURAL:$1|estava outro ficheiro|estavam outros ficheiros}} no site com o mesmo conteúdo, mas {{PLURAL:$1|foi|foram}} eliminados.",
+ "api-error-duplicate-archive": "Já {{PLURAL:$1|estava outro ficheiro|estavam outros ficheiros}} no site com o mesmo conteúdo, mas {{PLURAL:$1|foi eliminado|foram eliminados}}.",
"api-error-empty-file": "O ficheiro que enviou está vazio.",
"api-error-emptypage": "Não é permitido criar páginas novas vazias.",
"api-error-fetchfileerror": "Erro interno: Ocorreu um problema indeterminado ao aceder ao ficheiro.",
"apisandbox-sending-request": "JavaScript message displayed while the request is being sent.",
"apisandbox-loading-results": "JavaScript message displayed while the response is being read.",
"apisandbox-results-error": "Displayed as an error message from JavaScript when the request failed.\n\nParameters:\n* $1 - Error message",
+ "apisandbox-request-params-json": "Label for text field display the request parameters as JSON.",
"apisandbox-request-url-label": "Label for the text field displaying the URL used to make this request.",
"apisandbox-request-time": "Label and value for displaying the time taken by the request.\n\nParameters:\n* $1 - Time taken in milliseconds",
"apisandbox-results-fixtoken": "JavaScript button label",
"changecontentmodel-emptymodels-title": "Na voljo ni noben model vsebine",
"changecontentmodel-emptymodels-text": "Vsebine na [[:$1]] ni mogoče pretvoriti v katero koli vrsto.",
"log-name-contentmodel": "Dnevnik sprememb modela vsebine",
- "log-description-contentmodel": "Dogodki, povezani z modeli vsebin strani",
+ "log-description-contentmodel": "Stran navaja spremembe modela vsebine strani in strani, ki so bile ustvarjene z neprivzetim modelom vsebine.",
"logentry-contentmodel-new": "$1 je {{GENDER:$2|ustvaril|ustvarila|ustvaril(-a)}} stran $3 z neprivzetim modelom vsebine »$5«",
"logentry-contentmodel-change": "$1 je {{GENDER:$2|spremenil|spremenila|spremenil(-a)}} model vsebine strani $3 z »$4« na »$5«",
"logentry-contentmodel-change-revertlink": "vrni",
"sessionprovider-nocookies": "Piškotki so morda onemogočeni. Prepričaje se, da imate piškotke omogočene, in začnite znova.",
"randomrootpage": "Naključna korenska stran",
"log-action-filter-block": "Vrsta blokade:",
- "log-action-filter-contentmodel": "Vrsta spremembe modelastrani:",
+ "log-action-filter-contentmodel": "Vrsta spremembe modela vsebine:",
"log-action-filter-delete": "Vrsta izbrisa:",
"log-action-filter-import": "Vrsta uvoza:",
"log-action-filter-managetags": "Vrsta dejanja upravljanja oznak:",
"log-action-filter-block-block": "Blokada",
"log-action-filter-block-reblock": "Sprememba blokade",
"log-action-filter-block-unblock": "Odstranitev blokade",
- "log-action-filter-contentmodel-change": "Sprememba Modelastrani",
- "log-action-filter-contentmodel-new": "Ustvarjanje strani z nestandardnim Modelomstrani",
+ "log-action-filter-contentmodel-change": "Sprememba modela vsebine",
+ "log-action-filter-contentmodel-new": "Ustvarjanje strani z neprivzetim modelom vsebine",
"log-action-filter-delete-delete": "Izbris strani",
"log-action-filter-delete-delete_redir": "Prepis preusmeritve",
"log-action-filter-delete-restore": "Obnovitev strani",
"modifiedarticleprotection": "\"[[$1]]\" için koruma düzeyi değiştirildi",
"unprotectedarticle": "koruma kaldırıldı: \"[[$1]]\"",
"movedarticleprotection": "koruma ayarları \"[[$2]]\" sayfasından \"[[$1]]\" sayfasına taşındı",
+ "modifiedarticleprotection-comment": "\"[[$1]]\" için {{GENDER:$2|koruma düzeyini değiştirdi}}",
"protect-title": "\"$1\" için bir koruma seviyesi seçiniz",
"protect-title-notallowed": "\"$1\" için koruma seviyesini görüntüleyin",
"prot_1movedto2": "[[$1]] sayfasının yeni adı: [[$2]]",
"Shinjiman",
"Macofe",
"Jdforrester",
- "Tungakl"
+ "Tungakl",
+ "Suzukaze-c"
]
},
"tog-underline": "連結加底線:",
"passwordreset-emaildisabled": "呢個維基站無得傳送電郵。",
"passwordreset-username": "用戶名:",
"passwordreset-domain": "域名:",
- "passwordreset-capture": "睇電郵內容?",
- "passwordreset-capture-help": "如果揀呢度,電郵連臨時密碼金向你顯示,同時會送畀用戶。",
"passwordreset-email": "電郵地址:",
"passwordreset-emailtitle": "{{SITENAME}}嘅戶口資料",
"passwordreset-emailtext-ip": "有人(可能係閣下自己,來自IP地址$1)請求更改閣下喺{{SITENAME}}($4)嘅密碼。同爾個電子郵件有關聯嘅用戶包括:\n\n$2\n\n{{PLURAL:$3|爾個|爾啲}}臨時密碼會喺{{$5}}日之後失效。\n\n如果係閣下自己請求改密碼嘅,請馬上登錄{{SITENAME}}並且更改密碼。如果閣下諗返起自己個密碼,或者根本無申請過改密碼嘅話,請忽略爾條訊息,繼續用返舊密碼。",
"userrights-reason": "原因:",
"userrights-no-interwiki": "你並無權限去編輯響其它wiki嘅用戶權限。",
"userrights-nodatabase": "資料庫$1唔存在或者唔係本地嘅。",
- "userrights-nologin": "你一定要以操作員戶口[[Special:UserLogin|登入]]咗之後先可以指定用戶權限。",
- "userrights-notallowed": "你無權限去加減用戶權限。",
"userrights-changeable-col": "你可以改嘅組",
"userrights-unchangeable-col": "你唔可以改嘅組",
"userrights-conflict": "用戶權限更改有衝突!請再睇過同確認你嘅改動。",
- "userrights-removed-self": "移走自身權限成功,但你冇乜可能入到呢頁。",
"group": "組:",
"group-user": "用戶",
"group-autoconfirmed": "自動確認用戶",
"right-siteadmin": "鎖同解鎖資料庫",
"right-override-export-depth": "倒出包含有五層深連版嘅頁面",
"right-sendemail": "寄電郵畀其他用戶",
- "right-passwordreset": "檢查密碼/重設電郵",
"right-managechangetags": "從數據庫度開或刪走[[Special:Tags|tags]]",
"right-applychangetags": "套用[[Special:Tags|標籤]]到某個人嘅改動",
"newuserlogpage": "使用者開戶記錄",
"contribsub2": "{{GENDER:$3|$1}}嘅貢獻 ($2)",
"contributions-userdoesnotexist": "用戶「$1」未有註冊。",
"nocontribs": "搵唔到符合呢啲條件嘅修改。",
- "uctop": "(而家)",
+ "uctop": "(最新)",
"month": "由呢個月 (同更早):",
"year": "由呢一年 (同更早):",
"sp-contributions-newbies": "只顯示新戶口嘅貢獻",
"content-failed-to-parse": "未能将 $2 内容转换为 $1:$3",
"invalid-content-data": "无效的内容数据",
"content-not-allowed-here": "[[$2]]页面上不允许“$1”内容",
- "editwarning-warning": "离开本页面可能导致您失去任何你已经作出的更改。如果您处于登录状态,您可以在您的设置的“{{int:prefs-editing}}”部分停用该警告。",
+ "editwarning-warning": "离开本页面可能导致您失去任何您已经作出的更改。如果您处于登录状态,您可以在您的设置的“{{int:prefs-editing}}”部分停用该警告。",
"editpage-invalidcontentmodel-title": "内容模型不支持",
"editpage-invalidcontentmodel-text": "内容模型“$1”不被支持。",
"editpage-notsupportedcontentformat-title": "内容格式尚不支持",
"changecontentmodel-emptymodels-title": "没有内容模型可用",
"changecontentmodel-emptymodels-text": "[[:$1]]上的内容不能转换为任何类型。",
"log-name-contentmodel": "内容模型更改日志",
- "log-description-contentmodel": "与一个页面的内容模型相关的活动",
+ "log-description-contentmodel": "此页面列举对页面内容模型的更改,以及使用默认模型以外的内容模型创建的页面。",
"logentry-contentmodel-new": "$1已使用非默认的内容模型“$5”{{GENDER:$2|创建}}页面$3",
"logentry-contentmodel-change": "$1将页面$3的内容模型从“$4”{{GENDER:$2|更改}}为“$5”",
"logentry-contentmodel-change-revertlink": "回退",
"sessionprovider-nocookies": "Cookie可能已被禁用。确保您已启用cookie,并重试。",
"randomrootpage": "随机根页面",
"log-action-filter-block": "封禁类型:",
- "log-action-filter-contentmodel": "内容模型修改的类型:",
+ "log-action-filter-contentmodel": "内容模型更改的类型:",
"log-action-filter-delete": "删除类型:",
"log-action-filter-import": "导入的类型:",
"log-action-filter-managetags": "标签管理行为的类型:",
"log-action-filter-block-block": "封禁",
"log-action-filter-block-reblock": "封禁修改",
"log-action-filter-block-unblock": "解封",
- "log-action-filter-contentmodel-change": "内容类型的更改",
- "log-action-filter-contentmodel-new": "带有非标准内容模型的页面的更改",
+ "log-action-filter-contentmodel-change": "内容模型的更改",
+ "log-action-filter-contentmodel-new": "带有非默认内容模型的页面的更改",
"log-action-filter-delete-delete": "页面删除",
"log-action-filter-delete-delete_redir": "重定向覆盖",
"log-action-filter-delete-restore": "页面还原",
"redirectpagesub": "重新導向頁面",
"redirectto": "重新導向至:",
"lastmodifiedat": "此頁面最後修改於 $1 $2。",
- "viewcount": "此頁面已被檢視過 $1 次。",
+ "viewcount": "此頁面已被檢視過 {{PLURAL:$1|$1 次}}。",
"protectedpage": "受保護頁面",
"jumpto": "前往:",
"jumptonavigation": "導覽",
"sessionprovider-nocookies": "Cookie 功能可能已被關閉,請確認您改開啟 Cookie 功能並重新啟動。",
"randomrootpage": "隨機根頁面",
"log-action-filter-block": "封鎖類型:",
- "log-action-filter-contentmodel": "內容模型修改類型:",
+ "log-action-filter-contentmodel": "內容模型變更類型:",
"log-action-filter-delete": "刪除類型:",
"log-action-filter-import": "匯入類型:",
"log-action-filter-managetags": "標籤管理動作類型:",
"log-action-filter-block-block": "封鎖",
"log-action-filter-block-reblock": "封鎖修改",
"log-action-filter-block-unblock": "解除封鎖",
- "log-action-filter-contentmodel-change": "變更內容模型",
- "log-action-filter-contentmodel-new": "使用非標準內容模型建立的頁面",
+ "log-action-filter-contentmodel-change": "內容模型的變更",
+ "log-action-filter-contentmodel-new": "使用非預設內容模型建立的頁面",
"log-action-filter-delete-delete": "頁面刪除",
"log-action-filter-delete-restore": "頁面取消刪除",
"log-action-filter-delete-event": "日誌刪除",
* @author לערי ריינהארט
*/
+$fallback = 'nn';
+
$bookstoreList = [
'Antikvariat.net' => 'http://www.antikvariat.net/',
'Frida' => 'http://wo.uio.no/as/WebObjects/frida.woa/wa/fres?action=sok&isbn=$1&visParametre=1&sort=alfabetisk&bs=50',
$separatorTransformTable = [ ',' => "\xc2\xa0", '.' => ',' ];
$linkTrail = '/^([æøåa-z]+)(.*)$/sDu';
+$datePreferenceMigrationMap = [
+ 'default',
+ 'mdy',
+ 'dmy',
+ 'ymd'
+];
+$defaultDateFormat = 'dmy';
+
$dateFormats = [
'mdy time' => 'H:i',
'mdy date' => 'M j., Y',
* @see https://nn.wikipedia.org/w/index.php?title=Brukar:Dittaeva/LanguageNn.php&action=history
*/
+$fallback = 'nb';
+
$datePreferences = [
'default',
'dmyt',
}
$this->output( "Done!\n" );
- $this->output( "You might want to run rebuildrecentchanges.php to regenerate RecentChanges\n" );
+ $this->output( "You might want to run rebuildrecentchanges.php to regenerate RecentChanges,\n" );
+ $this->output( "and initSiteStats.php to update page and revision counts\n" );
}
function setNsfilter( array $namespaces ) {
$source = new ImportStreamSource( $handle );
$importer = new WikiImporter( $source, $this->getConfig() );
+ // Updating statistics require a lot of time so disable it
+ $importer->disableStatisticsUpdate();
+
if ( $this->hasOption( 'debug' ) ) {
$importer->setDebug( true );
}
'apisandbox-sending-request',
'apisandbox-loading-results',
'apisandbox-results-error',
+ 'apisandbox-request-params-json',
'apisandbox-request-url-label',
'apisandbox-request-time',
'apisandbox-results-fixtoken',
"authors": [
"Чаховіч Уладзіслаў",
"Artificial123",
- "Goshaproject"
+ "Goshaproject",
+ "Mechanizatar"
]
},
"ooui-outline-control-move-down": "Перамясціць элемент ўніз",
"ooui-dialog-process-dismiss": "Прапусціць",
"ooui-dialog-process-retry": "Паспрабаваць яшчэ раз",
"ooui-dialog-process-continue": "Працягнуць",
+ "ooui-selectfile-button-select": "Выбраць файл",
"ooui-selectfile-not-supported": "Выбраны файл не падтрымліваецца",
"ooui-selectfile-placeholder": "Файл не выбраны"
}
--- /dev/null
+{
+ "@metadata": {
+ "authors": [
+ "Thakurji"
+ ]
+ },
+ "ooui-outline-control-move-down": "Item ke niche karo",
+ "ooui-outline-control-move-up": "Item ke uppar karo",
+ "ooui-outline-control-remove": "Item ke hatao",
+ "ooui-toolbar-more": "Aur",
+ "ooui-toolgroup-expand": "Aur",
+ "ooui-toolgroup-collapse": "Kamtii",
+ "ooui-dialog-message-accept": "OK",
+ "ooui-dialog-message-reject": "Cancel karo",
+ "ooui-dialog-process-error": "Koi chij wrong hoe gais",
+ "ooui-dialog-process-dismiss": "Dismiss karo",
+ "ooui-dialog-process-retry": "Fir se try karo",
+ "ooui-dialog-process-continue": "Continue",
+ "ooui-selectfile-button-select": "Ek file ke select karo",
+ "ooui-selectfile-not-supported": "File selection ke support nai karaa jaawe hai",
+ "ooui-selectfile-placeholder": "Koi file ke nai select karaa gais hai",
+ "ooui-selectfile-dragdrop-placeholder": "Hian pe file ke girao"
+}
"Sayginer",
"Meelo",
"McAang",
- "Uğurkent"
+ "Uğurkent",
+ "1917 Ekim Devrimi"
]
},
"ooui-outline-control-move-down": "Ögeyi aşağı taşı",
"ooui-dialog-process-continue": "Devam et",
"ooui-selectfile-button-select": "Dosya seç",
"ooui-selectfile-not-supported": "Dosya seçimi desteklenmiyor",
- "ooui-selectfile-placeholder": "Herhangi bir dosya seçilmedi"
+ "ooui-selectfile-placeholder": "Herhangi bir dosya seçilmedi",
+ "ooui-selectfile-dragdrop-placeholder": "Dosyayı buraya aç"
}
"ooui-dialog-process-retry": "Кабатлау",
"ooui-dialog-process-continue": "Дәвам итү",
"ooui-selectfile-button-select": "Файлны сайлагыз",
- "ooui-selectfile-placeholder": "Файл сайланмаган"
+ "ooui-selectfile-not-supported": "Файл сайлау хупланмый",
+ "ooui-selectfile-placeholder": "Файл сайланмаган",
+ "ooui-selectfile-dragdrop-placeholder": "Файлны монда куегыз"
}
/*!
- * OOjs UI v0.18.2
+ * OOjs UI v0.18.3
* https://www.mediawiki.org/wiki/OOjs_UI
*
- * Copyright 2011–2016 OOjs UI Team and other contributors.
+ * Copyright 2011–2017 OOjs UI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: 2016-12-06T23:32:53Z
+ * Date: 2017-01-04T00:22:40Z
*/
( function ( OO ) {
/*!
- * OOjs UI v0.18.2
+ * OOjs UI v0.18.3
* https://www.mediawiki.org/wiki/OOjs_UI
*
- * Copyright 2011–2016 OOjs UI Team and other contributors.
+ * Copyright 2011–2017 OOjs UI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: 2016-12-06T23:32:57Z
+ * Date: 2017-01-04T00:22:45Z
*/
.oo-ui-element-hidden {
display: none !important;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
-.oo-ui-floatableElement-hidden {
- display: none;
-}
.oo-ui-iconElement .oo-ui-iconElement-icon,
.oo-ui-iconElement.oo-ui-iconElement-icon {
background-size: contain;
white-space: normal;
float: left;
}
+.oo-ui-fieldsetLayout.oo-ui-labelElement > .oo-ui-labelElement-label:empty {
+ display: none;
+}
.oo-ui-fieldsetLayout-group {
clear: both;
}
}
.oo-ui-fieldsetLayout > .oo-ui-fieldsetLayout-help .oo-ui-fieldsetLayout-help-content {
padding: 0.5em 0.75em;
- line-height: 1.5;
+ line-height: 1.4;
}
.oo-ui-fieldsetLayout + .oo-ui-fieldsetLayout,
.oo-ui-fieldsetLayout + .oo-ui-formLayout {
}
.oo-ui-panelLayout-scrollable {
overflow-y: auto;
+ /* Make scrolling smooth */
+ -webkit-transform: translate3d(0, 0, 0);
}
.oo-ui-panelLayout-expanded {
position: absolute;
position: relative;
}
.oo-ui-popupButtonWidget .oo-ui-popupWidget {
- position: absolute;
cursor: auto;
}
.oo-ui-popupButtonWidget.oo-ui-buttonElement-frameless > .oo-ui-popupWidget {
.oo-ui-progressBarWidget-bar {
height: 1em;
border-right: 1px solid #ccc;
- -webkit-transition: width 250ms ease, margin-left 250ms ease;
- -moz-transition: width 250ms ease, margin-left 250ms ease;
- transition: width 250ms ease, margin-left 250ms ease;
+ -webkit-transition: width 250ms ease;
+ -moz-transition: width 250ms ease;
+ transition: width 250ms ease;
background-color: #cde7f4;
background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #eaf4fa), color-stop(100%, #b0d9ee));
background-image: -webkit-linear-gradient(top, #eaf4fa 0, #b0d9ee 100%);
-moz-animation: oo-ui-progressBarWidget-slide 2s infinite linear;
animation: oo-ui-progressBarWidget-slide 2s infinite linear;
width: 40%;
- margin-left: -10%;
+ -webkit-transform: translate(-25%);
+ -moz-transform: translate(-25%);
+ -ms-transform: translate(-25%);
+ transform: translate(-25%);
border-left: 1px solid #a6cee1;
}
.oo-ui-progressBarWidget.oo-ui-widget-disabled {
}
@-webkit-keyframes oo-ui-progressBarWidget-slide {
from {
- margin-left: -40%;
+ -webkit-transform: translate(-100%);
+ -moz-transform: translate(-100%);
+ -ms-transform: translate(-100%);
+ transform: translate(-100%);
}
to {
- margin-left: 100%;
+ -webkit-transform: translate(350%);
+ -moz-transform: translate(350%);
+ -ms-transform: translate(350%);
+ transform: translate(350%);
}
}
@-moz-keyframes oo-ui-progressBarWidget-slide {
from {
- margin-left: -40%;
+ -webkit-transform: translate(-100%);
+ -moz-transform: translate(-100%);
+ -ms-transform: translate(-100%);
+ transform: translate(-100%);
}
to {
- margin-left: 100%;
+ -webkit-transform: translate(350%);
+ -moz-transform: translate(350%);
+ -ms-transform: translate(350%);
+ transform: translate(350%);
}
}
@keyframes oo-ui-progressBarWidget-slide {
from {
- margin-left: -40%;
+ -webkit-transform: translate(-100%);
+ -moz-transform: translate(-100%);
+ -ms-transform: translate(-100%);
+ transform: translate(-100%);
}
to {
- margin-left: 100%;
+ -webkit-transform: translate(350%);
+ -moz-transform: translate(350%);
+ -ms-transform: translate(350%);
+ transform: translate(350%);
}
}
/*!
- * OOjs UI v0.18.2
+ * OOjs UI v0.18.3
* https://www.mediawiki.org/wiki/OOjs_UI
*
- * Copyright 2011–2016 OOjs UI Team and other contributors.
+ * Copyright 2011–2017 OOjs UI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: 2016-12-06T23:32:57Z
+ * Date: 2017-01-04T00:22:45Z
*/
.oo-ui-element-hidden {
display: none !important;
color: #000;
box-shadow: none;
}
-.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button > .oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button {
color: #36c;
}
-.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover > .oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover {
color: #447ff5;
}
-.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active > .oo-ui-labelElement-label,
-.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active:focus > .oo-ui-labelElement-label,
-.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button > .oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active,
+.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active:focus,
+.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button {
color: #2a4b8d;
box-shadow: none;
}
-.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button > .oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button {
color: #36c;
}
-.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button:hover > .oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button:hover {
color: #447ff5;
}
-.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button:active > .oo-ui-labelElement-label,
-.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button:active:focus > .oo-ui-labelElement-label,
-.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-constructive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button > .oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button:active,
+.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button:active:focus,
+.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-constructive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button {
color: #2a4b8d;
box-shadow: none;
}
-.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button > .oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button {
color: #d33;
}
-.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover > .oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover {
color: #ff4242;
}
-.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:active > .oo-ui-labelElement-label,
-.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:active:focus > .oo-ui-labelElement-label,
-.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button > .oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:active,
+.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:active:focus,
+.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button {
color: #b32424;
box-shadow: none;
}
}
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover {
background-color: #fff;
- border-color: #859dcc;
+ border-color: #447ff5;
}
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active,
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active:focus,
}
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button:hover {
background-color: #fff;
- border-color: #859dcc;
+ border-color: #447ff5;
}
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button:active,
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button:active:focus,
}
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover {
background-color: #fff;
- border-color: #b77c79;
+ border-color: #ff4242;
}
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:active,
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:active:focus,
-moz-box-sizing: border-box;
box-sizing: border-box;
}
-.oo-ui-floatableElement-hidden {
- display: none;
-}
.oo-ui-iconElement .oo-ui-iconElement-icon,
.oo-ui-iconElement.oo-ui-iconElement-icon {
background-size: contain;
}
.oo-ui-fieldLayout.oo-ui-labelElement > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label {
padding-bottom: 0.3125em;
+ line-height: 1.4;
}
.oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label {
padding: 0.3125em 0.46875em;
.oo-ui-fieldLayout-messages .oo-ui-labelWidget {
display: table-cell;
padding: 0.1em 0 0.1em 0.3125em;
- line-height: 1.5;
+ line-height: 1.4;
vertical-align: middle;
}
.oo-ui-actionFieldLayout {
white-space: normal;
float: left;
}
+.oo-ui-fieldsetLayout.oo-ui-labelElement > .oo-ui-labelElement-label:empty {
+ display: none;
+}
.oo-ui-fieldsetLayout-group {
clear: both;
}
}
.oo-ui-fieldsetLayout > .oo-ui-fieldsetLayout-help .oo-ui-fieldsetLayout-help-content {
padding: 0.5em 0.75em;
- line-height: 1.5;
+ line-height: 1.4;
}
.oo-ui-fieldsetLayout + .oo-ui-fieldsetLayout,
.oo-ui-fieldsetLayout + .oo-ui-formLayout {
margin-bottom: 0.56818em;
font-size: 1.1em;
font-weight: bold;
+ line-height: 1.4;
}
.oo-ui-fieldsetLayout.oo-ui-iconElement > .oo-ui-labelElement-label {
padding-left: 2em;
}
.oo-ui-panelLayout-scrollable {
overflow-y: auto;
+ /* Make scrolling smooth */
+ -webkit-transform: translate3d(0, 0, 0);
}
.oo-ui-panelLayout-expanded {
position: absolute;
overflow: hidden;
}
.oo-ui-optionWidget .oo-ui-labelElement-label {
- line-height: 1.5;
+ line-height: 1.6;
}
.oo-ui-optionWidget-selected .oo-ui-buttonElement-button > .oo-ui-iconElement-icon {
opacity: 1;
position: relative;
}
.oo-ui-popupButtonWidget .oo-ui-popupWidget {
- position: absolute;
cursor: auto;
}
.oo-ui-popupButtonWidget.oo-ui-buttonElement-frameless > .oo-ui-popupWidget {
box-shadow: inset 0 0 0 1px #36c, inset 0 0 0 2px #fff;
}
.oo-ui-checkboxMultiselectInputWidget .oo-ui-fieldLayout {
- margin-bottom: 0;
+ margin-top: 0;
}
.oo-ui-checkboxMultiselectInputWidget .oo-ui-fieldLayout .oo-ui-fieldLayout-body {
padding: 0.25em 0;
left: -3px;
}
.oo-ui-radioSelectInputWidget .oo-ui-fieldLayout {
- margin-bottom: 0;
+ margin-top: 0;
}
.oo-ui-radioSelectInputWidget .oo-ui-fieldLayout .oo-ui-fieldLayout-body {
padding: 0.25em 0;
}
.oo-ui-textInputWidget.oo-ui-widget-enabled input,
.oo-ui-textInputWidget.oo-ui-widget-enabled textarea {
- box-shadow: inset 0 0 0 0.1em #fff;
+ box-shadow: inset 0 0 0 1px #fff;
-webkit-transition: border-color 200ms cubic-bezier(0.39, 0.575, 0.565, 1), box-shadow 200ms cubic-bezier(0.39, 0.575, 0.565, 1);
-moz-transition: border-color 200ms cubic-bezier(0.39, 0.575, 0.565, 1), box-shadow 200ms cubic-bezier(0.39, 0.575, 0.565, 1);
transition: border-color 200ms cubic-bezier(0.39, 0.575, 0.565, 1), box-shadow 200ms cubic-bezier(0.39, 0.575, 0.565, 1);
}
.oo-ui-textInputWidget.oo-ui-widget-enabled.oo-ui-flaggedElement-invalid input,
.oo-ui-textInputWidget.oo-ui-widget-enabled.oo-ui-flaggedElement-invalid textarea {
- border-color: #f00;
+ border-color: #d33;
}
.oo-ui-textInputWidget.oo-ui-widget-enabled.oo-ui-flaggedElement-invalid input:hover,
.oo-ui-textInputWidget.oo-ui-widget-enabled.oo-ui-flaggedElement-invalid textarea:hover {
- border-color: #f00;
+ border-color: #d33;
}
.oo-ui-textInputWidget.oo-ui-widget-enabled.oo-ui-flaggedElement-invalid input:focus,
.oo-ui-textInputWidget.oo-ui-widget-enabled.oo-ui-flaggedElement-invalid textarea:focus {
- border-color: #f00;
- box-shadow: inset 0 0 0 0.1em #f00;
+ border-color: #d33;
+ box-shadow: inset 0 0 0 1px #d33;
}
.oo-ui-textInputWidget.oo-ui-iconElement input,
.oo-ui-textInputWidget.oo-ui-iconElement textarea {
text-overflow: ellipsis;
overflow: hidden;
}
-.oo-ui-multioptionWidget .oo-ui-labelElement-label {
- line-height: 1.5;
-}
.oo-ui-multioptionWidget.oo-ui-widget-disabled {
color: #72777d;
}
.oo-ui-progressBarWidget-bar {
background-color: #36c;
height: 1em;
- -webkit-transition: width 200ms, margin-left 200ms;
- -moz-transition: width 200ms, margin-left 200ms;
- transition: width 200ms, margin-left 200ms;
+ -webkit-transition: width 200ms;
+ -moz-transition: width 200ms;
+ transition: width 200ms;
}
.oo-ui-progressBarWidget-indeterminate .oo-ui-progressBarWidget-bar {
-webkit-animation: oo-ui-progressBarWidget-slide 2s infinite linear;
-moz-animation: oo-ui-progressBarWidget-slide 2s infinite linear;
animation: oo-ui-progressBarWidget-slide 2s infinite linear;
width: 40%;
- margin-left: -10%;
+ -webkit-transform: translate(-25%);
+ -moz-transform: translate(-25%);
+ -ms-transform: translate(-25%);
+ transform: translate(-25%);
border-left-width: 1px;
}
.oo-ui-progressBarWidget.oo-ui-widget-disabled {
}
@-webkit-keyframes oo-ui-progressBarWidget-slide {
from {
- margin-left: -40%;
+ -webkit-transform: translate(-100%);
+ -moz-transform: translate(-100%);
+ -ms-transform: translate(-100%);
+ transform: translate(-100%);
}
to {
- margin-left: 100%;
+ -webkit-transform: translate(350%);
+ -moz-transform: translate(350%);
+ -ms-transform: translate(350%);
+ transform: translate(350%);
}
}
@-moz-keyframes oo-ui-progressBarWidget-slide {
from {
- margin-left: -40%;
+ -webkit-transform: translate(-100%);
+ -moz-transform: translate(-100%);
+ -ms-transform: translate(-100%);
+ transform: translate(-100%);
}
to {
- margin-left: 100%;
+ -webkit-transform: translate(350%);
+ -moz-transform: translate(350%);
+ -ms-transform: translate(350%);
+ transform: translate(350%);
}
}
@keyframes oo-ui-progressBarWidget-slide {
from {
- margin-left: -40%;
+ -webkit-transform: translate(-100%);
+ -moz-transform: translate(-100%);
+ -ms-transform: translate(-100%);
+ transform: translate(-100%);
}
to {
- margin-left: 100%;
+ -webkit-transform: translate(350%);
+ -moz-transform: translate(350%);
+ -ms-transform: translate(350%);
+ transform: translate(350%);
}
}
/*!
- * OOjs UI v0.18.2
+ * OOjs UI v0.18.3
* https://www.mediawiki.org/wiki/OOjs_UI
*
- * Copyright 2011–2016 OOjs UI Team and other contributors.
+ * Copyright 2011–2017 OOjs UI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: 2016-12-06T23:32:53Z
+ * Date: 2017-01-04T00:22:40Z
*/
( function ( OO ) {
return false;
};
+/**
+ * Check if the user has a 'mobile' device.
+ *
+ * For our purposes this means the user is primarily using an
+ * on-screen keyboard, touch input instead of a mouse and may
+ * have a physically small display.
+ *
+ * It is left up to implementors to decide how to compute this
+ * so the default implementation always returns false.
+ *
+ * @return {boolean} Use is on a mobile device
+ */
+OO.ui.isMobile = function () {
+ return false;
+};
+
/*!
* Mixin namespace.
*/
* @return {jQuery.Promise} Promise which resolves when the scroll is complete
*/
OO.ui.Element.prototype.scrollElementIntoView = function ( config ) {
+ if (
+ !this.isElementAttached() ||
+ !this.isVisible() ||
+ ( this.getElementGroup() && !this.getElementGroup().isVisible() )
+ ) {
+ return $.Deferred().resolve();
+ }
return OO.ui.Element.static.scrollIntoView( this.$element[ 0 ], config );
};
extraHeight = $container.outerHeight() - this.$clippable.outerHeight();
extraWidth = $container.outerWidth() - this.$clippable.outerWidth();
ccOffset = $container.offset();
- $scrollableContainer = this.$clippableScrollableContainer.is( 'html, body' ) ?
- this.$clippableWindow : this.$clippableScrollableContainer;
- scOffset = $scrollableContainer.offset() || { top: 0, left: 0 };
+ if ( this.$clippableScrollableContainer.is( 'html, body' ) ) {
+ $scrollableContainer = this.$clippableWindow;
+ scOffset = { top: 0, left: 0 };
+ } else {
+ $scrollableContainer = this.$clippableScrollableContainer;
+ scOffset = $scrollableContainer.offset();
+ }
scHeight = $scrollableContainer.innerHeight() - buffer;
scWidth = $scrollableContainer.innerWidth() - buffer;
ccWidth = $container.outerWidth() + buffer;
}
if ( !this.isElementInViewport( this.$floatableContainer, this.$floatableClosestScrollable ) ) {
- this.$floatable.addClass( 'oo-ui-floatableElement-hidden' );
+ this.$floatable.addClass( 'oo-ui-element-hidden' );
return;
} else {
- this.$floatable.removeClass( 'oo-ui-floatableElement-hidden' );
+ this.$floatable.removeClass( 'oo-ui-element-hidden' );
}
if ( !this.needsCustomPosition ) {
blur: this.onBlur.bind( this ),
focus: this.onFocus.bind( this )
} );
- this.$input.one( {
- focus: this.onElementAttach.bind( this )
- } );
this.$icon.on( 'mousedown', this.onIconMouseDown.bind( this ) );
this.$indicator.on( 'mousedown', this.onIndicatorMouseDown.bind( this ) );
this.on( 'labelChange', this.updatePosition.bind( this ) );
this.$input.attr( 'rows', config.rows );
}
if ( this.label || config.autosize ) {
+ this.isWaitingToBeAttached = true;
this.installParentChangeDetector();
}
};
* @param {jQuery.Event} e Focus event
*/
OO.ui.TextInputWidget.prototype.onFocus = function () {
+ if ( this.isWaitingToBeAttached ) {
+ // If we've received focus, then we must be attached to the document, and if
+ // isWaitingToBeAttached is still true, that means the handler never fired. Fire it now.
+ this.onElementAttach();
+ }
this.setValidityFlag( true );
};
* @param {jQuery.Event} e Element attach event
*/
OO.ui.TextInputWidget.prototype.onElementAttach = function () {
+ this.isWaitingToBeAttached = false;
// Any previously calculated size is now probably invalid if we reattached elsewhere
this.valCache = null;
this.adjustSize();
if ( MutationObserver ) {
// The new way. If only it wasn't so ugly.
- if ( this.$element.closest( 'html' ).length ) {
+ if ( this.isElementAttached() ) {
// Widget is attached already, do nothing. This breaks the functionality of this function when
// the widget is detached and reattached. Alas, doing this correctly with MutationObserver
// would require observation of the whole document, which would hurt performance of other,
onRemove = function () {
// If the node was attached somewhere else, report it
- if ( widget.$element.closest( 'html' ).length ) {
+ if ( widget.isElementAttached() ) {
widget.onElementAttach();
}
mutationObserver.disconnect();
var scrollHeight, innerHeight, outerHeight, maxInnerHeight, measurementError,
idealHeight, newHeight, scrollWidth, property;
+ if ( this.isWaitingToBeAttached ) {
+ // #onElementAttach will be called soon, which calls this method
+ return this;
+ }
+
if ( this.multiline && this.$input.val() !== this.valCache ) {
if ( this.autosize ) {
this.$clone
*/
OO.ui.TextInputWidget.prototype.positionLabel = function () {
var after, rtl, property;
+
+ if ( this.isWaitingToBeAttached ) {
+ // #onElementAttach will be called soon, which calls this method
+ return this;
+ }
+
// Clear old values
this.$input
// Clear old values if present
autocomplete: false
}, config );
+ // ComboBoxInputWidget shouldn't support multiline
+ config.multiline = false;
+
// Parent constructor
OO.ui.ComboBoxInputWidget.parent.call( this, config );
/*!
- * OOjs UI v0.18.2
+ * OOjs UI v0.18.3
* https://www.mediawiki.org/wiki/OOjs_UI
*
- * Copyright 2011–2016 OOjs UI Team and other contributors.
+ * Copyright 2011–2017 OOjs UI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: 2016-12-06T23:32:53Z
+ * Date: 2017-01-04T00:22:40Z
*/
( function ( OO ) {
/*!
- * OOjs UI v0.18.2
+ * OOjs UI v0.18.3
* https://www.mediawiki.org/wiki/OOjs_UI
*
- * Copyright 2011–2016 OOjs UI Team and other contributors.
+ * Copyright 2011–2017 OOjs UI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: 2016-12-06T23:32:57Z
+ * Date: 2017-01-04T00:22:45Z
*/
.oo-ui-popupTool .oo-ui-popupWidget-popup,
.oo-ui-popupTool .oo-ui-popupWidget-anchor {
.oo-ui-toolGroup.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title {
color: #000;
}
-.oo-ui-barToolGroup > .oo-ui-iconElement-icon,
-.oo-ui-barToolGroup > .oo-ui-labelElement-label {
- display: none;
-}
.oo-ui-barToolGroup > .oo-ui-toolGroup-tools > .oo-ui-tool {
display: inline-block;
position: relative;
/*!
- * OOjs UI v0.18.2
+ * OOjs UI v0.18.3
* https://www.mediawiki.org/wiki/OOjs_UI
*
- * Copyright 2011–2016 OOjs UI Team and other contributors.
+ * Copyright 2011–2017 OOjs UI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: 2016-12-06T23:32:57Z
+ * Date: 2017-01-04T00:22:45Z
*/
.oo-ui-tool.oo-ui-widget-enabled {
-webkit-transition: background-color 100ms;
.oo-ui-toolbar-narrow .oo-ui-toolGroup + .oo-ui-toolGroup {
margin-left: 0;
}
-.oo-ui-barToolGroup > .oo-ui-iconElement-icon,
-.oo-ui-barToolGroup > .oo-ui-labelElement-label {
- display: none;
-}
.oo-ui-barToolGroup > .oo-ui-toolGroup-tools > .oo-ui-tool {
display: inline-block;
position: relative;
/*!
- * OOjs UI v0.18.2
+ * OOjs UI v0.18.3
* https://www.mediawiki.org/wiki/OOjs_UI
*
- * Copyright 2011–2016 OOjs UI Team and other contributors.
+ * Copyright 2011–2017 OOjs UI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: 2016-12-06T23:32:53Z
+ * Date: 2017-01-04T00:22:40Z
*/
( function ( OO ) {
/*!
- * OOjs UI v0.18.2
+ * OOjs UI v0.18.3
* https://www.mediawiki.org/wiki/OOjs_UI
*
- * Copyright 2011–2016 OOjs UI Team and other contributors.
+ * Copyright 2011–2017 OOjs UI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: 2016-12-06T23:32:57Z
+ * Date: 2017-01-04T00:22:45Z
*/
.oo-ui-draggableElement-handle,
.oo-ui-draggableElement-handle.oo-ui-widget {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
- -webkit-transform: translateZ(0);
- -moz-transform: translateZ(0);
- -ms-transform: translateZ(0);
- transform: translateZ(0);
+ -webkit-transform: translate3d(0, 0, 0);
height: 2em;
width: 4em;
border-radius: 1em;
/*!
- * OOjs UI v0.18.2
+ * OOjs UI v0.18.3
* https://www.mediawiki.org/wiki/OOjs_UI
*
- * Copyright 2011–2016 OOjs UI Team and other contributors.
+ * Copyright 2011–2017 OOjs UI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: 2016-12-06T23:32:57Z
+ * Date: 2017-01-04T00:22:45Z
*/
.oo-ui-draggableElement-handle,
.oo-ui-draggableElement-handle.oo-ui-widget {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
- -webkit-transform: translateZ(0);
- -moz-transform: translateZ(0);
- -ms-transform: translateZ(0);
- transform: translateZ(0);
+ -webkit-transform: translate3d(0, 0, 0);
background-color: #f8f9fa;
width: 3.5em;
min-height: 26px;
/*!
- * OOjs UI v0.18.2
+ * OOjs UI v0.18.3
* https://www.mediawiki.org/wiki/OOjs_UI
*
- * Copyright 2011–2016 OOjs UI Team and other contributors.
+ * Copyright 2011–2017 OOjs UI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: 2016-12-06T23:32:53Z
+ * Date: 2017-01-04T00:22:40Z
*/
( function ( OO ) {
* @constructor
* @param {Object} [config] Configuration options
* @cfg {boolean} [continuous=false] Show all pages, one after another
- * @cfg {boolean} [autoFocus=true] Focus on the first focusable element when a new page is displayed.
+ * @cfg {boolean} [autoFocus=true] Focus on the first focusable element when a new page is displayed. Disabled on mobile.
* @cfg {boolean} [outlined=false] Show the outline. The outline is used to navigate through the pages of the booklet.
* @cfg {boolean} [editable=false] Show controls for adding, removing and reordering pages
*/
if ( !this.scrolling && page ) {
page.scrollElementIntoView( {
complete: function () {
- if ( layout.autoFocus ) {
+ if ( layout.autoFocus && !OO.ui.isMobile() ) {
layout.focus();
}
}
// meaningless because the next page is not visible yet and thus can't hold focus.
if (
this.autoFocus &&
+ !OO.ui.isMobile() &&
this.stackLayout.continuous &&
OO.ui.findFocusable( page.$element ).length !== 0
) {
* @param {Object} [config] Configuration options
* @cfg {boolean} [continuous=false] Show all cards, one after another
* @cfg {boolean} [expanded=true] Expand the content panel to fill the entire parent element.
- * @cfg {boolean} [autoFocus=true] Focus on the first focusable element when a new card is displayed.
+ * @cfg {boolean} [autoFocus=true] Focus on the first focusable element when a new card is displayed. Disabled on mobile.
*/
OO.ui.IndexLayout = function OoUiIndexLayout( config ) {
// Configuration initialization
if ( card ) {
card.scrollElementIntoView( {
complete: function () {
- if ( layout.autoFocus ) {
+ if ( layout.autoFocus && !OO.ui.isMobile() ) {
layout.focus();
}
}
// meaningless because the next card is not visible yet and thus can't hold focus.
if (
this.autoFocus &&
+ !OO.ui.isMobile() &&
this.stackLayout.continuous &&
OO.ui.findFocusable( card.$element ).length !== 0
) {
return false;
}
- /* eslint-disable no-bitwise */
- if ( this.isInteger && ( n | 0 ) !== n ) {
+ if ( this.isInteger && Math.floor( n ) !== n ) {
return false;
}
- /* eslint-enable no-bitwise */
if ( n < this.min || n > this.max ) {
return false;
/*!
- * OOjs UI v0.18.2
+ * OOjs UI v0.18.3
* https://www.mediawiki.org/wiki/OOjs_UI
*
- * Copyright 2011–2016 OOjs UI Team and other contributors.
+ * Copyright 2011–2017 OOjs UI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: 2016-12-06T23:32:57Z
+ * Date: 2017-01-04T00:22:45Z
*/
.oo-ui-actionWidget.oo-ui-pendingElement-pending {
background-image: /* @embed */ url(themes/apex/images/textures/pending.gif);
/*!
- * OOjs UI v0.18.2
+ * OOjs UI v0.18.3
* https://www.mediawiki.org/wiki/OOjs_UI
*
- * Copyright 2011–2016 OOjs UI Team and other contributors.
+ * Copyright 2011–2017 OOjs UI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: 2016-12-06T23:32:57Z
+ * Date: 2017-01-04T00:22:45Z
*/
.oo-ui-window {
background: transparent;
}
.oo-ui-messageDialog-message-verbose {
font-size: 1.1em;
- line-height: 1.5;
+ line-height: 1.4;
text-align: left;
}
.oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget {
text-align: left;
margin: 1em;
padding: 1em;
- border: 1px solid #ff9e9e;
+ border: 1px solid #d33;
background-color: #fff7f7;
border-radius: 2px;
}
/*!
- * OOjs UI v0.18.2
+ * OOjs UI v0.18.3
* https://www.mediawiki.org/wiki/OOjs_UI
*
- * Copyright 2011–2016 OOjs UI Team and other contributors.
+ * Copyright 2011–2017 OOjs UI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: 2016-12-06T23:32:53Z
+ * Date: 2017-01-04T00:22:40Z
*/
( function ( OO ) {
/**
* Get the 'hold' process.
*
- * The hold proccess is used to keep a window from being used in a particular context,
+ * The hold process is used to keep a window from being used in a particular context,
* based on the `data` argument. This method is called during the closing phase of the window’s
* lifecycle.
*
// Twiddle the overflow property, otherwise an unnecessary scrollbar will be produced.
// Need to do it after transition completes (250ms), add 50ms just in case.
setTimeout( function () {
- var oldOverflow = $scrollable[ 0 ].style.overflow;
+ var oldOverflow = $scrollable[ 0 ].style.overflow,
+ activeElement = document.activeElement;
+
$scrollable[ 0 ].style.overflow = 'hidden';
OO.ui.Element.static.reconsiderScrollbars( $scrollable[ 0 ] );
+ // Check reconsiderScrollbars didn't destroy our focus, as we
+ // are doing this after the ready process.
+ if ( activeElement && activeElement !== document.activeElement && activeElement.focus ) {
+ activeElement.focus();
+ }
+
$scrollable[ 0 ].style.overflow = oldOverflow;
}, 300 );
* @inheritdoc
*/
OO.ui.ProcessDialog.prototype.getActionWidgets = function ( actions ) {
- var i, len, widgets = [];
+ var i, len, config,
+ isMobile = OO.ui.isMobile(),
+ widgets = [];
+
for ( i = 0, len = actions.length; i < len; i++ ) {
+ config = $.extend( { framed: !OO.ui.isMobile() }, actions[ i ] );
+ if ( isMobile && ( config.flags === 'back' || config.flags.indexOf( 'back' ) !== -1 ) ) {
+ $.extend( config, {
+ icon: 'previous',
+ label: ''
+ } );
+ }
widgets.push(
- new OO.ui.ActionWidget( $.extend( { framed: true }, actions[ i ] ) )
+ new OO.ui.ActionWidget( config )
);
}
return widgets;
} );
};
+/**
+ * Display a quick modal prompt dialog, using a OO.ui.MessageDialog. While the dialog is open,
+ * the rest of the page will be dimmed out and the user won't be able to interact with it. The
+ * dialog has a text input widget and two action buttons, one to confirm an operation (labelled "OK")
+ * and one to cancel it (labelled "Cancel").
+ *
+ * A window manager is created automatically when this function is called for the first time.
+ *
+ * @example
+ * OO.ui.prompt( 'Choose a line to go to', { textInput: { placeholder: 'Line number' } } ).done( function ( result ) {
+ * if ( result !== null ) {
+ * console.log( 'User typed "' + result + '" then clicked "OK".' );
+ * } else {
+ * console.log( 'User clicked "Cancel" or closed the dialog.' );
+ * }
+ * } );
+ *
+ * @param {jQuery|string} text Message text to display
+ * @param {Object} [options] Additional options, see OO.ui.MessageDialog#getSetupProcess
+ * @cfg {Object} [textInput] Additional options for text input widget, see OO.ui.TextInputWidget
+ * @return {jQuery.Promise} Promise resolved when the user closes the dialog. If the user chose to
+ * confirm, the promise will resolve with the value of the text input widget; otherwise, it will
+ * resolve to `null`.
+ */
+OO.ui.prompt = function ( text, options ) {
+ var manager = OO.ui.getWindowManager(),
+ textInput = new OO.ui.TextInputWidget( ( options && options.textInput ) || {} ),
+ textField = new OO.ui.FieldLayout( textInput, {
+ align: 'top',
+ label: text
+ } );
+
+ // TODO: This is a little hacky, and could be done by extending MessageDialog instead.
+
+ return manager.openWindow( 'messageDialog', $.extend( {
+ message: textField.$element,
+ verbose: true
+ }, options ) ).then( function ( opened ) {
+ // After ready
+ textInput.on( 'enter', function () {
+ manager.getCurrentWindow().close( { action: 'accept' } );
+ } );
+ textInput.focus();
+ return opened.then( function ( closing ) {
+ return closing.then( function ( data ) {
+ return $.Deferred().resolve( data && data.action === 'accept' ? textInput.getValue() : null );
+ } );
+ } );
+ } );
+};
+
}( OO ) );
},
"images": {
"beta": { "file": "images/icons/beta.svg" },
- "betaLaunch": { "file": "images/icons/betaLaunch.svg" },
+ "betaLaunch": { "file": "images/icons/logo-wikimediaDiscovery.svg" },
"bookmark": { "file": {
"ltr": "images/icons/bookmark-ltr.svg",
"rtl": "images/icons/bookmark-rtl.svg"
"images": {
"block": { "file": "images/icons/block.svg" },
"blockUndo": { "file": {
- "ltr": "images/icons/blockUndo-ltr.svg",
- "rtl": "images/icons/blockUndo-rtl.svg"
+ "ltr": "images/icons/unBlock-ltr.svg",
+ "rtl": "images/icons/unBlock-rtl.svg"
+ } },
+ "unBlock": { "file": {
+ "ltr": "images/icons/unBlock-ltr.svg",
+ "rtl": "images/icons/unBlock-rtl.svg"
} },
"flag": { "file": {
"ltr": "images/icons/flag-ltr.svg",
"rtl": "images/icons/flag-rtl.svg"
} },
"flagUndo": { "file": {
- "ltr": "images/icons/flagUndo-ltr.svg",
- "rtl": "images/icons/flagUndo-rtl.svg"
+ "ltr": "images/icons/unFlag-ltr.svg",
+ "rtl": "images/icons/unFlag-rtl.svg"
} },
- "lock": { "file": "images/icons/lock.svg" },
- "star": { "file": "images/icons/star.svg" },
- "trash": { "file": "images/icons/trash.svg" },
- "trashUndo": { "file": {
- "ltr": "images/icons/trashUndo-ltr.svg",
- "rtl": "images/icons/trashUndo-rtl.svg"
+ "unFlag": { "file": {
+ "ltr": "images/icons/unFlag-ltr.svg",
+ "rtl": "images/icons/unFlag-rtl.svg"
} },
+ "lock": { "file": "images/icons/lock.svg" },
"unLock": { "file": {
"ltr": "images/icons/unLock-ltr.svg",
"rtl": "images/icons/unLock-rtl.svg"
} },
- "unStar": { "file": "images/icons/unStar.svg" }
-
-
+ "star": { "file": "images/icons/star.svg" },
+ "unStar": { "file": "images/icons/unStar.svg" },
+ "trash": { "file": "images/icons/trash.svg" },
+ "unTrash": { "file": {
+ "ltr": "images/icons/unTrash-ltr.svg",
+ "rtl": "images/icons/unTrash-rtl.svg"
+ } },
+ "trashUndo": { "file": {
+ "ltr": "images/icons/unTrash-ltr.svg",
+ "rtl": "images/icons/unTrash-rtl.svg"
+ } },
+ "ongoingConversation": {
+ "file": {
+ "ltr": "images/icons/ongoingConversation-ltr.svg",
+ "rtl": "images/icons/ongoingConversation-rtl.svg"
+ }
+ }
}
}
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
- <path d="M15.3 14.7C16.1 10.9 14.7 4 12 4c-2.7 0-4.2 6.7-3.4 10.5L7 18h2.7l.3 1h4c.2-.3.1-.5.3-1H17l-1.7-3.3zM12 10c-.8 0-1.5-.7-1.5-1.5S11.2 7 12 7s1.5.7 1.5 1.5S12.8 10 12 10zm2 10c0 1.1-2 2-2 2s-2-.9-2-2"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
- <path d="M15.3 14.7C16.1 10.9 14.7 4 12 4c-2.7 0-4.2 6.7-3.4 10.5L7 18h2.7l.3 1h4c.2-.3.1-.5.3-1H17l-1.7-3.3zM12 10c-.8 0-1.5-.7-1.5-1.5S11.2 7 12 7s1.5.7 1.5 1.5S12.8 10 12 10zm2 10c0 1.1-2 2-2 2s-2-.9-2-2"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
- <path d="M17 11v2h-2l3.6 3.6c.9-1.3 1.4-2.9 1.4-4.6 0-4.4-3.6-8-8-8-1.7 0-3.3.5-4.6 1.4L13 11h4zM4 4L3 5l2.4 2.4C4.5 8.7 4 10.3 4 12c0 4.4 3.6 8 8 8 1.7 0 3.3-.5 4.6-1.4L19 21l1-1L4 4zm3 9v-2h2l2 2H7z"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
- <path d="M7 11v2h2l-3.6 3.6C4.5 15.3 4 13.7 4 12c0-4.4 3.6-8 8-8 1.7 0 3.3.5 4.6 1.4L11 11H7zm13-7l1 1-2.4 2.4c.9 1.3 1.4 2.9 1.4 4.6 0 4.4-3.6 8-8 8-1.7 0-3.3-.5-4.6-1.4L5 21l-1-1L20 4zm-3 9v-2h-2l-2 2h4z"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
- <path d="M19.9 19.6l-16-16-1.1 1.1L6 7.9V20h1v-7c.6-.6 2-.8 3.4-.7l8.4 8.4 1.1-1.1zM17 14V7c-.7.7-2.7.9-4 .5V6c-1.2-1.3-3.9-1.3-5.4-.5l8.9 9c.3-.2.4-.3.5-.5z"/>
-</svg>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
- <path d="M3.5 19.6l16-16 1.1 1.1-3.2 3.2V20h-1v-7c-.6-.6-2-.8-3.4-.7l-8.4 8.4-1.1-1.1zM6.3 14V7c.7.7 2.7.9 4 .5V6c1.2-1.3 3.9-1.3 5.4-.5l-8.9 9c-.3-.2-.4-.3-.5-.5z"/>
-</svg>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #FFFFFF }</style>
+ <path d="M15.3 14.7C16.1 10.9 14.7 4 12 4c-2.7 0-4.2 6.7-3.4 10.5L7 18h2.7l.3 1h4c.2-.3.1-.5.3-1H17l-1.7-3.3zM12 10c-.8 0-1.5-.7-1.5-1.5S11.2 7 12 7s1.5.7 1.5 1.5S12.8 10 12 10zm2 10c0 1.1-2 2-2 2s-2-.9-2-2"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <path d="M15.3 14.7C16.1 10.9 14.7 4 12 4c-2.7 0-4.2 6.7-3.4 10.5L7 18h2.7l.3 1h4c.2-.3.1-.5.3-1H17l-1.7-3.3zM12 10c-.8 0-1.5-.7-1.5-1.5S11.2 7 12 7s1.5.7 1.5 1.5S12.8 10 12 10zm2 10c0 1.1-2 2-2 2s-2-.9-2-2"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M17.8 18.6H2.5l2.7-2.7V6h15.3v9.9c0 1.53-1.17 2.7-2.7 2.7zm-7.542-4.95c0 .405-.135.675-.405.945-.27.27-.607.405-.945.405-.405 0-.675-.135-.945-.405a1.332 1.332 0 0 1-.405-.945c0-.338.135-.675.405-.945.27-.27.608-.405.945-.405.338 0 .675.135.945.405.27.27.405.607.405.945zm4.05 0c0 .405-.135.675-.405.945-.27.27-.607.405-.945.405-.405 0-.675-.135-.945-.405a1.332 1.332 0 0 1-.405-.945c0-.338.135-.675.405-.945.27-.27.608-.405.945-.405.338 0 .675.135.945.405.27.27.405.607.405.945zm4.05 0c0 .405-.135.675-.405.945-.27.27-.607.405-.945.405-.405 0-.675-.135-.945-.405a1.332 1.332 0 0 1-.405-.945c0-.338.135-.675.405-.945.27-.27.608-.405.945-.405.338 0 .675.135.945.405.27.27.405.607.405.945z" id="ongoing-conversation" fill-rule="evenodd"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M5.2 18.6h15.3l-2.7-2.7V6H2.5v9.9c0 1.53 1.17 2.7 2.7 2.7zm7.542-4.95c0 .405.135.675.405.945.27.27.607.405.945.405.405 0 .675-.135.945-.405.27-.27.405-.607.405-.945 0-.337-.135-.675-.405-.945a1.334 1.334 0 0 0-.945-.405c-.338 0-.675.135-.945.405-.27.27-.405.607-.405.945zm-4.05 0c0 .405.135.675.405.945.27.27.608.405.945.405.405 0 .675-.135.945-.405.27-.27.405-.607.405-.945 0-.337-.135-.675-.405-.945a1.334 1.334 0 0 0-.945-.405c-.338 0-.675.135-.945.405-.27.27-.405.608-.405.945zm-4.05 0c0 .405.135.675.405.945.27.27.608.405.945.405.405 0 .675-.135.945-.405.27-.27.405-.607.405-.945 0-.337-.135-.675-.405-.945a1.332 1.332 0 0 0-.945-.405c-.337 0-.675.135-.945.405-.27.27-.405.608-.405.945z" id="ongoing-conversation" fill-rule="evenodd"/>
+</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
- <path d="M4.5 3.5l-1 1L6 7v2h1v7.97L8 18h6.97l.03-.03 1-.97 2.5 2.5 1-1L16 15l-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1zM9 5v1l1 1h6v1h-5l1 1h3v3l1 1V9h1V6h-3V5zM8 9l1 1v6h1v-5l1 1v4h1v-3l1 1v2h1v-1l1 1v1H8zm5 1l1 1v-1z" id="trash-can-undo"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
- <path d="M18.5 3.5l1 1L17 7v2h-1v7.97L15 18H8.03L8 17.97 7 17l-2.5 2.5-1-1L7 15l1-1 1-1 1-1 1-1 1-1 1-1 1-1 1-1 1-1zM14 5v1l-1 1H7v1h5l-1 1H8v3l-1 1V9H6V6h3V5zm1 4l-1 1v6h-1v-5l-1 1v4h-1v-3l-1 1v2H9v-1l-1 1v1h7zm-5 1l-1 1v-1z" id="trash-can-undo"/>
-</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <path d="M17 11v2h-2l3.6 3.6c.9-1.3 1.4-2.9 1.4-4.6 0-4.4-3.6-8-8-8-1.7 0-3.3.5-4.6 1.4L13 11h4zM4 4L3 5l2.4 2.4C4.5 8.7 4 10.3 4 12c0 4.4 3.6 8 8 8 1.7 0 3.3-.5 4.6-1.4L19 21l1-1L4 4zm3 9v-2h2l2 2H7z"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <path d="M7 11v2h2l-3.6 3.6C4.5 15.3 4 13.7 4 12c0-4.4 3.6-8 8-8 1.7 0 3.3.5 4.6 1.4L11 11H7zm13-7l1 1-2.4 2.4c.9 1.3 1.4 2.9 1.4 4.6 0 4.4-3.6 8-8 8-1.7 0-3.3-.5-4.6-1.4L5 21l-1-1L20 4zm-3 9v-2h-2l-2 2h4z"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <path d="M19.9 19.6l-16-16-1.1 1.1L6 7.9V20h1v-7c.6-.6 2-.8 3.4-.7l8.4 8.4 1.1-1.1zM17 14V7c-.7.7-2.7.9-4 .5V6c-1.2-1.3-3.9-1.3-5.4-.5l8.9 9c.3-.2.4-.3.5-.5z"/>
+</svg>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <path d="M3.5 19.6l16-16 1.1 1.1-3.2 3.2V20h-1v-7c-.6-.6-2-.8-3.4-.7l-8.4 8.4-1.1-1.1zM6.3 14V7c.7.7 2.7.9 4 .5V6c1.2-1.3 3.9-1.3 5.4-.5l-8.9 9c-.3-.2-.4-.3-.5-.5z"/>
+</svg>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <path d="M4.5 3.5l-1 1L6 7v2h1v7.97L8 18h6.97l.03-.03 1-.97 2.5 2.5 1-1L16 15l-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1zM9 5v1l1 1h6v1h-5l1 1h3v3l1 1V9h1V6h-3V5zM8 9l1 1v6h1v-5l1 1v4h1v-3l1 1v2h1v-1l1 1v1H8zm5 1l1 1v-1z" id="trash-can-undo"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <path d="M18.5 3.5l1 1L17 7v2h-1v7.97L15 18H8.03L8 17.97 7 17l-2.5 2.5-1-1L7 15l1-1 1-1 1-1 1-1 1-1 1-1 1-1 1-1 1-1zM14 5v1l-1 1H7v1h5l-1 1H8v3l-1 1V9H6V6h3V5zm1 4l-1 1v6h-1v-5l-1 1v4h-1v-3l-1 1v2H9v-1l-1 1v1h7zm-5 1l-1 1v-1z" id="trash-can-undo"/>
+</svg>
},
"images": {
"beta": { "file": "images/icons/beta.svg" },
- "betaLaunch": { "file": "images/icons/betaLaunch.svg" },
+ "betaLaunch": { "file": "images/icons/logo-wikimediaDiscovery.svg" },
"bookmark": { "file": {
"ltr": "images/icons/bookmark-ltr.svg",
"rtl": "images/icons/bookmark-rtl.svg"
"images": {
"block": { "file": "images/icons/block.svg", "variants": [ "destructive" ] },
"blockUndo": { "file": {
- "ltr": "images/icons/blockUndo-ltr.svg",
- "rtl": "images/icons/blockUndo-rtl.svg"
+ "ltr": "images/icons/unBlock-ltr.svg",
+ "rtl": "images/icons/unBlock-rtl.svg"
+ } },
+ "unBlock": { "file": {
+ "ltr": "images/icons/unBlock-ltr.svg",
+ "rtl": "images/icons/unBlock-rtl.svg"
} },
"flag": { "file": {
"ltr": "images/icons/flag-ltr.svg",
"rtl": "images/icons/flag-rtl.svg"
} },
+ "unFlag": { "file": {
+ "ltr": "images/icons/unFlag-ltr.svg",
+ "rtl": "images/icons/unFlag-rtl.svg"
+ } },
"flagUndo": { "file": {
- "ltr": "images/icons/flagUndo-ltr.svg",
- "rtl": "images/icons/flagUndo-rtl.svg"
+ "ltr": "images/icons/unFlag-ltr.svg",
+ "rtl": "images/icons/unFlag-rtl.svg"
} },
"lock": { "file": {
"ltr": "images/icons/lock-ltr.svg",
"rtl": "images/icons/lock-rtl.svg"
}, "variants": [ "destructive" ] },
+ "unLock": { "file": {
+ "ltr": "images/icons/unLock-ltr.svg",
+ "rtl": "images/icons/unLock-rtl.svg"
+ }, "variants": [ "destructive" ] },
+ "star": { "file": "images/icons/star.svg", "variants": [ "constructive", "progressive" ] },
+ "unStar": { "file": "images/icons/unStar.svg", "variants": [ "constructive", "progressive" ] },
+ "trash": { "file": "images/icons/trash.svg" },
+ "unTrash": { "file": {
+ "ltr": "images/icons/unTrash-ltr.svg",
+ "rtl": "images/icons/unTrash-rtl.svg"
+ } },
+ "trashUndo": { "file": {
+ "ltr": "images/icons/unTrash-ltr.svg",
+ "rtl": "images/icons/unTrash-rtl.svg"
+ } },
"ongoingConversation": {
"file": {
"ltr": "images/icons/ongoingConversation-ltr.svg",
"rtl": "images/icons/ongoingConversation-rtl.svg"
},
"variants": [ "progressive" ]
- },
- "star": { "file": "images/icons/star.svg", "variants": [ "constructive", "progressive" ] },
- "trash": { "file": "images/icons/trash.svg" },
- "trashUndo": { "file": {
- "ltr": "images/icons/trashUndo-ltr.svg",
- "rtl": "images/icons/trashUndo-rtl.svg"
- } },
- "unLock": { "file": {
- "ltr": "images/icons/unLock-ltr.svg",
- "rtl": "images/icons/unLock-rtl.svg"
- }, "variants": [ "destructive" ] },
- "unStar": { "file": "images/icons/unStar.svg", "variants": [ "constructive", "progressive" ] }
+ }
}
}
"images": {
"logoCC": { "file": "images/icons/logo-cc.svg" },
"logoWikimediaCommons": { "file": "images/icons/logo-wikimediaCommons.svg" },
+ "logoWikimediaDiscovery": { "file": "images/icons/logo-wikimediaDiscovery.svg" },
"logoWikipedia": { "file": "images/icons/logo-wikipedia.svg" }
}
}
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #fff }</style>
- <path d="M15.3 14.7C16.1 10.9 14.7 4 12 4c-2.7 0-4.2 6.7-3.4 10.5L7 18h2.7l.3 1h4c.2-.3.1-.5.3-1H17l-1.7-3.3zM12 10c-.8 0-1.5-.7-1.5-1.5S11.2 7 12 7s1.5.7 1.5 1.5S12.8 10 12 10zm2 10c0 1.1-2 2-2 2s-2-.9-2-2"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #36c }</style>
- <path d="M15.3 14.7C16.1 10.9 14.7 4 12 4c-2.7 0-4.2 6.7-3.4 10.5L7 18h2.7l.3 1h4c.2-.3.1-.5.3-1H17l-1.7-3.3zM12 10c-.8 0-1.5-.7-1.5-1.5S11.2 7 12 7s1.5.7 1.5 1.5S12.8 10 12 10zm2 10c0 1.1-2 2-2 2s-2-.9-2-2"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
- <path d="M15.3 14.7C16.1 10.9 14.7 4 12 4c-2.7 0-4.2 6.7-3.4 10.5L7 18h2.7l.3 1h4c.2-.3.1-.5.3-1H17l-1.7-3.3zM12 10c-.8 0-1.5-.7-1.5-1.5S11.2 7 12 7s1.5.7 1.5 1.5S12.8 10 12 10zm2 10c0 1.1-2 2-2 2s-2-.9-2-2"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #fff }</style>
- <path d="M17 11v2h-2l3.6 3.6c.9-1.3 1.4-2.9 1.4-4.6 0-4.4-3.6-8-8-8-1.7 0-3.3.5-4.6 1.4L13 11h4zM4 4L3 5l2.4 2.4C4.5 8.7 4 10.3 4 12c0 4.4 3.6 8 8 8 1.7 0 3.3-.5 4.6-1.4L19 21l1-1L4 4zm3 9v-2h2l2 2H7z"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #36c }</style>
- <path d="M17 11v2h-2l3.6 3.6c.9-1.3 1.4-2.9 1.4-4.6 0-4.4-3.6-8-8-8-1.7 0-3.3.5-4.6 1.4L13 11h4zM4 4L3 5l2.4 2.4C4.5 8.7 4 10.3 4 12c0 4.4 3.6 8 8 8 1.7 0 3.3-.5 4.6-1.4L19 21l1-1L4 4zm3 9v-2h2l2 2H7z"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
- <path d="M17 11v2h-2l3.6 3.6c.9-1.3 1.4-2.9 1.4-4.6 0-4.4-3.6-8-8-8-1.7 0-3.3.5-4.6 1.4L13 11h4zM4 4L3 5l2.4 2.4C4.5 8.7 4 10.3 4 12c0 4.4 3.6 8 8 8 1.7 0 3.3-.5 4.6-1.4L19 21l1-1L4 4zm3 9v-2h2l2 2H7z"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #fff }</style>
- <path d="M7 11v2h2l-3.6 3.6C4.5 15.3 4 13.7 4 12c0-4.4 3.6-8 8-8 1.7 0 3.3.5 4.6 1.4L11 11H7zm13-7l1 1-2.4 2.4c.9 1.3 1.4 2.9 1.4 4.6 0 4.4-3.6 8-8 8-1.7 0-3.3-.5-4.6-1.4L5 21l-1-1L20 4zm-3 9v-2h-2l-2 2h4z"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #36c }</style>
- <path d="M7 11v2h2l-3.6 3.6C4.5 15.3 4 13.7 4 12c0-4.4 3.6-8 8-8 1.7 0 3.3.5 4.6 1.4L11 11H7zm13-7l1 1-2.4 2.4c.9 1.3 1.4 2.9 1.4 4.6 0 4.4-3.6 8-8 8-1.7 0-3.3-.5-4.6-1.4L5 21l-1-1L20 4zm-3 9v-2h-2l-2 2h4z"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
- <path d="M7 11v2h2l-3.6 3.6C4.5 15.3 4 13.7 4 12c0-4.4 3.6-8 8-8 1.7 0 3.3.5 4.6 1.4L11 11H7zm13-7l1 1-2.4 2.4c.9 1.3 1.4 2.9 1.4 4.6 0 4.4-3.6 8-8 8-1.7 0-3.3-.5-4.6-1.4L5 21l-1-1L20 4zm-3 9v-2h-2l-2 2h4z"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #fff }</style>
- <path d="M19.9 19.6l-16-16-1.1 1.1L6 7.9V20h1v-7c.6-.6 2-.8 3.4-.7l8.4 8.4 1.1-1.1zM17 14V7c-.7.7-2.7.9-4 .5V6c-1.2-1.3-3.9-1.3-5.4-.5l8.9 9c.3-.2.4-.3.5-.5z"/>
-</svg>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #36c }</style>
- <path d="M19.9 19.6l-16-16-1.1 1.1L6 7.9V20h1v-7c.6-.6 2-.8 3.4-.7l8.4 8.4 1.1-1.1zM17 14V7c-.7.7-2.7.9-4 .5V6c-1.2-1.3-3.9-1.3-5.4-.5l8.9 9c.3-.2.4-.3.5-.5z"/>
-</svg>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
- <path d="M19.9 19.6l-16-16-1.1 1.1L6 7.9V20h1v-7c.6-.6 2-.8 3.4-.7l8.4 8.4 1.1-1.1zM17 14V7c-.7.7-2.7.9-4 .5V6c-1.2-1.3-3.9-1.3-5.4-.5l8.9 9c.3-.2.4-.3.5-.5z"/>
-</svg>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #fff }</style>
- <path d="M3.5 19.6l16-16 1.1 1.1-3.2 3.2V20h-1v-7c-.6-.6-2-.8-3.4-.7l-8.4 8.4-1.1-1.1zM6.3 14V7c.7.7 2.7.9 4 .5V6c1.2-1.3 3.9-1.3 5.4-.5l-8.9 9c-.3-.2-.4-.3-.5-.5z"/>
-</svg>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #36c }</style>
- <path d="M3.5 19.6l16-16 1.1 1.1-3.2 3.2V20h-1v-7c-.6-.6-2-.8-3.4-.7l-8.4 8.4-1.1-1.1zM6.3 14V7c.7.7 2.7.9 4 .5V6c1.2-1.3 3.9-1.3 5.4-.5l-8.9 9c-.3-.2-.4-.3-.5-.5z"/>
-</svg>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
- <path d="M3.5 19.6l16-16 1.1 1.1-3.2 3.2V20h-1v-7c-.6-.6-2-.8-3.4-.7l-8.4 8.4-1.1-1.1zM6.3 14V7c.7.7 2.7.9 4 .5V6c1.2-1.3 3.9-1.3 5.4-.5l-8.9 9c-.3-.2-.4-.3-.5-.5z"/>
-</svg>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #fff }</style>
+ <path d="M15.3 14.7C16.1 10.9 14.7 4 12 4c-2.7 0-4.2 6.7-3.4 10.5L7 18h2.7l.3 1h4c.2-.3.1-.5.3-1H17l-1.7-3.3zM12 10c-.8 0-1.5-.7-1.5-1.5S11.2 7 12 7s1.5.7 1.5 1.5S12.8 10 12 10zm2 10c0 1.1-2 2-2 2s-2-.9-2-2"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #36c }</style>
+ <path d="M15.3 14.7C16.1 10.9 14.7 4 12 4c-2.7 0-4.2 6.7-3.4 10.5L7 18h2.7l.3 1h4c.2-.3.1-.5.3-1H17l-1.7-3.3zM12 10c-.8 0-1.5-.7-1.5-1.5S11.2 7 12 7s1.5.7 1.5 1.5S12.8 10 12 10zm2 10c0 1.1-2 2-2 2s-2-.9-2-2"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <path d="M15.3 14.7C16.1 10.9 14.7 4 12 4c-2.7 0-4.2 6.7-3.4 10.5L7 18h2.7l.3 1h4c.2-.3.1-.5.3-1H17l-1.7-3.3zM12 10c-.8 0-1.5-.7-1.5-1.5S11.2 7 12 7s1.5.7 1.5 1.5S12.8 10 12 10zm2 10c0 1.1-2 2-2 2s-2-.9-2-2"/>
+</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #fff }</style>
- <path d="M20.5 20.5L5 5 4 6l3 3 1 11h8l.2-1.8 3.3 3.3zM17 9h-6l5.5 5.5zm1-1c0-1.1-.9-2-2-2h-2l-1-1h-2l-1 1H8l2 2h8z"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #36c }</style>
- <path d="M20.5 20.5L5 5 4 6l3 3 1 11h8l.2-1.8 3.3 3.3zM17 9h-6l5.5 5.5zm1-1c0-1.1-.9-2-2-2h-2l-1-1h-2l-1 1H8l2 2h8z"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
- <path d="M20.5 20.5L5 5 4 6l3 3 1 11h8l.2-1.8 3.3 3.3zM17 9h-6l5.5 5.5zm1-1c0-1.1-.9-2-2-2h-2l-1-1h-2l-1 1H8l2 2h8z"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #fff }</style>
- <path d="M4 20.5L19.5 5l1 1-3 3-1 11h-8l-.2-1.8L5 21.5zM7.5 9h6L8 14.5zm-1-1c0-1.1.9-2 2-2h2l1-1h2l1 1h2l-2 2h-8z"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #36c }</style>
- <path d="M4 20.5L19.5 5l1 1-3 3-1 11h-8l-.2-1.8L5 21.5zM7.5 9h6L8 14.5zm-1-1c0-1.1.9-2 2-2h2l1-1h2l1 1h2l-2 2h-8z"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
- <path d="M4 20.5L19.5 5l1 1-3 3-1 11h-8l-.2-1.8L5 21.5zM7.5 9h6L8 14.5zm-1-1c0-1.1.9-2 2-2h2l1-1h2l1 1h2l-2 2h-8z"/>
-</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #fff }</style>
+ <path d="M17 11v2h-2l3.6 3.6c.9-1.3 1.4-2.9 1.4-4.6 0-4.4-3.6-8-8-8-1.7 0-3.3.5-4.6 1.4L13 11h4zM4 4L3 5l2.4 2.4C4.5 8.7 4 10.3 4 12c0 4.4 3.6 8 8 8 1.7 0 3.3-.5 4.6-1.4L19 21l1-1L4 4zm3 9v-2h2l2 2H7z"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #36c }</style>
+ <path d="M17 11v2h-2l3.6 3.6c.9-1.3 1.4-2.9 1.4-4.6 0-4.4-3.6-8-8-8-1.7 0-3.3.5-4.6 1.4L13 11h4zM4 4L3 5l2.4 2.4C4.5 8.7 4 10.3 4 12c0 4.4 3.6 8 8 8 1.7 0 3.3-.5 4.6-1.4L19 21l1-1L4 4zm3 9v-2h2l2 2H7z"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <path d="M17 11v2h-2l3.6 3.6c.9-1.3 1.4-2.9 1.4-4.6 0-4.4-3.6-8-8-8-1.7 0-3.3.5-4.6 1.4L13 11h4zM4 4L3 5l2.4 2.4C4.5 8.7 4 10.3 4 12c0 4.4 3.6 8 8 8 1.7 0 3.3-.5 4.6-1.4L19 21l1-1L4 4zm3 9v-2h2l2 2H7z"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #fff }</style>
+ <path d="M7 11v2h2l-3.6 3.6C4.5 15.3 4 13.7 4 12c0-4.4 3.6-8 8-8 1.7 0 3.3.5 4.6 1.4L11 11H7zm13-7l1 1-2.4 2.4c.9 1.3 1.4 2.9 1.4 4.6 0 4.4-3.6 8-8 8-1.7 0-3.3-.5-4.6-1.4L5 21l-1-1L20 4zm-3 9v-2h-2l-2 2h4z"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #36c }</style>
+ <path d="M7 11v2h2l-3.6 3.6C4.5 15.3 4 13.7 4 12c0-4.4 3.6-8 8-8 1.7 0 3.3.5 4.6 1.4L11 11H7zm13-7l1 1-2.4 2.4c.9 1.3 1.4 2.9 1.4 4.6 0 4.4-3.6 8-8 8-1.7 0-3.3-.5-4.6-1.4L5 21l-1-1L20 4zm-3 9v-2h-2l-2 2h4z"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <path d="M7 11v2h2l-3.6 3.6C4.5 15.3 4 13.7 4 12c0-4.4 3.6-8 8-8 1.7 0 3.3.5 4.6 1.4L11 11H7zm13-7l1 1-2.4 2.4c.9 1.3 1.4 2.9 1.4 4.6 0 4.4-3.6 8-8 8-1.7 0-3.3-.5-4.6-1.4L5 21l-1-1L20 4zm-3 9v-2h-2l-2 2h4z"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #fff }</style>
+ <path d="M19.9 19.6l-16-16-1.1 1.1L6 7.9V20h1v-7c.6-.6 2-.8 3.4-.7l8.4 8.4 1.1-1.1zM17 14V7c-.7.7-2.7.9-4 .5V6c-1.2-1.3-3.9-1.3-5.4-.5l8.9 9c.3-.2.4-.3.5-.5z"/>
+</svg>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #36c }</style>
+ <path d="M19.9 19.6l-16-16-1.1 1.1L6 7.9V20h1v-7c.6-.6 2-.8 3.4-.7l8.4 8.4 1.1-1.1zM17 14V7c-.7.7-2.7.9-4 .5V6c-1.2-1.3-3.9-1.3-5.4-.5l8.9 9c.3-.2.4-.3.5-.5z"/>
+</svg>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <path d="M19.9 19.6l-16-16-1.1 1.1L6 7.9V20h1v-7c.6-.6 2-.8 3.4-.7l8.4 8.4 1.1-1.1zM17 14V7c-.7.7-2.7.9-4 .5V6c-1.2-1.3-3.9-1.3-5.4-.5l8.9 9c.3-.2.4-.3.5-.5z"/>
+</svg>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #fff }</style>
+ <path d="M3.5 19.6l16-16 1.1 1.1-3.2 3.2V20h-1v-7c-.6-.6-2-.8-3.4-.7l-8.4 8.4-1.1-1.1zM6.3 14V7c.7.7 2.7.9 4 .5V6c1.2-1.3 3.9-1.3 5.4-.5l-8.9 9c-.3-.2-.4-.3-.5-.5z"/>
+</svg>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #36c }</style>
+ <path d="M3.5 19.6l16-16 1.1 1.1-3.2 3.2V20h-1v-7c-.6-.6-2-.8-3.4-.7l-8.4 8.4-1.1-1.1zM6.3 14V7c.7.7 2.7.9 4 .5V6c1.2-1.3 3.9-1.3 5.4-.5l-8.9 9c-.3-.2-.4-.3-.5-.5z"/>
+</svg>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <path d="M3.5 19.6l16-16 1.1 1.1-3.2 3.2V20h-1v-7c-.6-.6-2-.8-3.4-.7l-8.4 8.4-1.1-1.1zM6.3 14V7c.7.7 2.7.9 4 .5V6c1.2-1.3 3.9-1.3 5.4-.5l-8.9 9c-.3-.2-.4-.3-.5-.5z"/>
+</svg>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #fff }</style>
+ <path d="M20.5 20.5L5 5 4 6l3 3 1 11h8l.2-1.8 3.3 3.3zM17 9h-6l5.5 5.5zm1-1c0-1.1-.9-2-2-2h-2l-1-1h-2l-1 1H8l2 2h8z"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #36c }</style>
+ <path d="M20.5 20.5L5 5 4 6l3 3 1 11h8l.2-1.8 3.3 3.3zM17 9h-6l5.5 5.5zm1-1c0-1.1-.9-2-2-2h-2l-1-1h-2l-1 1H8l2 2h8z"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <path d="M20.5 20.5L5 5 4 6l3 3 1 11h8l.2-1.8 3.3 3.3zM17 9h-6l5.5 5.5zm1-1c0-1.1-.9-2-2-2h-2l-1-1h-2l-1 1H8l2 2h8z"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #fff }</style>
+ <path d="M4 20.5L19.5 5l1 1-3 3-1 11h-8l-.2-1.8L5 21.5zM7.5 9h6L8 14.5zm-1-1c0-1.1.9-2 2-2h2l1-1h2l1 1h2l-2 2h-8z"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #36c }</style>
+ <path d="M4 20.5L19.5 5l1 1-3 3-1 11h-8l-.2-1.8L5 21.5zM7.5 9h6L8 14.5zm-1-1c0-1.1.9-2 2-2h2l1-1h2l1 1h2l-2 2h-8z"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <path d="M4 20.5L19.5 5l1 1-3 3-1 11h-8l-.2-1.8L5 21.5zM7.5 9h6L8 14.5zm-1-1c0-1.1.9-2 2-2h2l1-1h2l1 1h2l-2 2h-8z"/>
+</svg>
s = out;
}
i = parseFloat( s.replace( /[, ]/g, '' ).replace( '\u2212', '-' ) );
- return isNaN( i ) ? 0 : i;
+ return isNaN( i ) ? -Infinity : i;
},
formatFloat: function ( s ) {
var i = parseFloat( s );
- return isNaN( i ) ? 0 : i;
+ return isNaN( i ) ? -Infinity : i;
},
formatInt: function ( s ) {
var i = parseInt( s, 10 );
- return isNaN( i ) ? 0 : i;
+ return isNaN( i ) ? -Infinity : i;
},
clearTableBody: function ( table ) {
.oo-ui-textInputWidget.oo-ui-widget-enabled > .oo-ui-indicatorElement-indicator.mw-apisandbox-clickable-indicator {
cursor: pointer;
}
+
+.mw-apisandbox-textInputCode .oo-ui-inputWidget-input {
+ font-family: monospace, 'Courier';
+ font-size: 0.8125em;
+ -moz-tab-size: 4;
+ -o-tab-size: 4;
+ tab-size: 4;
+}
}
$.when.apply( $, deferreds ).done( function () {
+ var jsonInput;
+
if ( $.inArray( false, arguments ) !== -1 ) {
windowManager.openWindow( 'errorAlert', {
title: Util.parseMsg( 'apisandbox-submit-invalid-fields-title' ),
label: Util.parseMsg( 'apisandbox-request-url-label' )
}
).$element,
+ new OO.ui.FieldLayout(
+ jsonInput = new OO.ui.TextInputWidget( {
+ classes: [ 'mw-apisandbox-textInputCode' ],
+ readOnly: true,
+ multiline: true,
+ autosize: true,
+ maxRows: 6,
+ value: JSON.stringify( displayParams, null, '\t' )
+ } ), {
+ label: Util.parseMsg( 'apisandbox-request-params-json' )
+ }
+ ).$element,
$result
);
ApiSandbox.updateUI();
booklet.setPage( '|results|' );
+ // Resize the multiline input once visible
+ jsonInput.adjustSize();
+
location.href = oldhash = '#' + query;
api.post( params, {
* - 'boolean': The field is a boolean.
* - 'toggleLocal': The field represents {@link #getLocal this.getLocal()}.
* Editing should directly call {@link #toggleLocal this.toggleLocal()}.
+ * @return {boolean} return.calendarComponent Whether this field is part of a calendar, e.g.
+ * part of the date instead of the time.
* @return {number} return.size Maximum number of characters in the field (when
* the 'intercalary' component is falsey). If 0, the field should be hidden entirely.
* @return {Object.<string,number>} return.intercalarySize Map from
}
spec = {
component: null,
+ calendarComponent: false,
editable: false,
type: 'static',
value: params.slice( 1 ).join( '|' ),
c = params[ 0 ] === '#' ? '' : ':';
return {
component: 'zone',
+ calendarComponent: false,
editable: true,
type: 'toggleLocal',
size: 5 + c.length,
case 'full':
spec = {
component: 'zone',
+ calendarComponent: false,
editable: true,
type: 'toggleLocal',
values: params[ 0 ] === 'short' ? this.shortZones : this.fullZones,
$field = $( '<span>' )
.width( sz )
.data( 'mw-widgets-datetime-dateTimeInputWidget-placeholder', placeholder );
+ if ( spec.type !== 'static' ) {
+ $field.prop( 'tabIndex', -1 );
+ $field.on( 'focus', this.onFieldFocus.bind( this, $field ) );
+ }
if ( spec.type === 'static' ) {
$field.text( spec.value );
} else {
* @param {jQuery.Event} e Focus event
*/
mw.widgets.datetime.DateTimeInputWidget.prototype.onFieldFocus = function ( $field ) {
+ var spec = $field.data( 'mw-widgets-datetime-dateTimeInputWidget-fieldSpec' );
+
if ( !this.isDisabled() ) {
if ( this.getValueAsDate() === null ) {
this.setValue( this.formatter.getDefaultDate() );
}
if ( this.calendar ) {
- this.calendar.toggle( true );
+ this.calendar.toggle( !!spec.calendarComponent );
}
}
};
case 'year|#':
spec = {
component: 'Year',
+ calendarComponent: true,
type: 'number',
size: 4,
zeropad: false
case 'season|#':
spec = {
component: 'Season',
+ calendarComponent: true,
type: 'number',
size: 1,
intercalarySize: { 1: 0 },
case 'season|full':
spec = {
component: 'Season',
+ calendarComponent: true,
type: 'string',
intercalarySize: { 1: 0 },
values: {
case 'dow|full':
spec = {
component: 'DOW',
+ calendarComponent: true,
editable: false,
type: 'string',
intercalarySize: { 1: 0 },
case 'day|0':
spec = {
component: 'Day',
+ calendarComponent: true,
type: 'string',
size: 2,
intercalarySize: { 1: 13 },
case 'second|0':
spec = {
component: tag.charAt( 0 ).toUpperCase() + tag.slice( 1 ),
+ calendarComponent: false,
type: 'number',
size: 2,
zeropad: params[ 0 ] === '0'
case 'millisecond|0':
spec = {
component: 'Millisecond',
+ calendarComponent: false,
type: 'number',
size: 3,
zeropad: params[ 0 ] === '0'
/**
* Provides various methods needed for formatting dates and times. This
- * implementation implments the proleptic Gregorian calendar over years
+ * implementation implements the proleptic Gregorian calendar over years
* 0000–9999.
*
* @class
case 'year|0':
spec = {
component: 'year',
+ calendarComponent: true,
type: 'number',
size: 4,
zeropad: params[ 0 ] === '0'
case 'month|full':
spec = {
component: 'month',
+ calendarComponent: true,
type: 'string',
values: params[ 0 ] === 'short' ? this.shortMonthNames : this.fullMonthNames
};
case 'dow|full':
spec = {
component: 'dow',
+ calendarComponent: true,
editable: false,
type: 'string',
values: params[ 0 ] === 'short' ? this.shortDayNames : this.fullDayNames
case 'month|0':
case 'day|#':
case 'day|0':
+ spec = {
+ component: tag,
+ calendarComponent: true,
+ type: 'number',
+ size: 2,
+ zeropad: params[ 0 ] === '0'
+ };
+ break;
+
case 'hour|#':
case 'hour|0':
case 'minute|#':
case 'second|0':
spec = {
component: tag,
+ calendarComponent: false,
type: 'number',
size: 2,
zeropad: params[ 0 ] === '0'
case 'hour|012':
spec = {
component: 'hour12',
+ calendarComponent: false,
type: 'number',
size: 2,
zeropad: params[ 0 ] === '012'
case 'hour|period':
spec = {
component: 'hour12period',
+ calendarComponent: false,
type: 'boolean',
values: this.hour12Periods
};
case 'millisecond|0':
spec = {
component: 'millisecond',
+ calendarComponent: false,
type: 'number',
size: 3,
zeropad: params[ 0 ] === '0'
-/*!
- * An interface for scheduling background tasks.
- *
- * Loosely based on https://w3c.github.io/requestidlecallback/
- */
( function ( mw ) {
var maxBusy = 50;
/**
* Schedule a deferred task to run in the background.
*
+ * This allows code to perform tasks in the main thread without impacting
+ * time-critical operations such as animations and response to input events.
+ *
+ * Basic logic is as follows:
+ *
+ * - User input event should be acknowledged within 100ms per [RAIL].
+ * - Idle work should be grouped in blocks of upto 50ms so that enough time
+ * remains for the event handler to execute and any rendering to take place.
+ * - Whenever a native event happens (e.g. user input), the deadline for any
+ * running idle callback drops to 0.
+ * - As long as the deadline is non-zero, other callbacks pending may be
+ * executed in the same idle period.
+ *
+ * See also:
+ *
+ * - <https://developer.mozilla.org/en-US/docs/Web/API/Window/requestIdleCallback>
+ * - <https://w3c.github.io/requestidlecallback/>
+ * - <https://developers.google.com/web/updates/2015/08/using-requestidlecallback>
+ * [RAIL]: https://developers.google.com/web/fundamentals/performance/rail
+ *
* @member mw
* @param {Function} callback
+ * @param {Object} [options]
+ * @param {number} [options.timeout] If set, the callback will be scheduled for
+ * immediate execution after this amount of time (in milliseconds) if it didn't run
+ * by that time.
*/
mw.requestIdleCallback = mw.requestIdleCallbackInternal;
/*
// Initialize
this.drawCarousel();
this.setSizeRequirement();
- this.toggleThumbnails( false );
+ this.toggleThumbnails( !!this.$gallery.attr( 'data-showthumbnails' ) );
this.showCurrentImage();
// Events
</p>
!! end
+# FIXME: This test is currently broken in the PHP parser T153761
!! test
T146304: Don't break template parsing if language converter markup is in the parameter.
!! options
language=sr variant=sr-ec
+disabled
!! wikitext
{{echo|-{R|foo}-}}
!! html/php
# If the first argument doesn't start with a -, then it's a path
# to another project (extension, skin, etc.) to analyze
-if [[ "$1" != "-"* ]]; then
+if [[ -n "$1" && "$1" != "-"* ]]; then
cd $1
shift
else
"PhanUndeclaredMethod",
// approximate error count: 1342
"PhanUndeclaredProperty",
- // approximate error count: 9
+ // approximate error count: 3
"PhanUndeclaredStaticMethod",
// approximate error count: 79
"PhanUndeclaredVariable",
}
function getMockForViews() {
- $db = $this->getMockBuilder( 'DatabaseMysql' )
+ $db = $this->getMockBuilder( 'DatabaseMysqli' )
->disableOriginalConstructor()
->setMethods( [ 'fetchRow', 'query' ] )
->getMock();
* @dataProvider provideLagAmounts
*/
function testPtHeartbeat( $lag ) {
- $db = $this->getMockBuilder( 'DatabaseMysql' )
+ $db = $this->getMockBuilder( 'DatabaseMysqli' )
->disableOriginalConstructor()
->setMethods( [
'getLagDetectionMethod', 'getHeartbeatData', 'getMasterServerInfo' ] )
* @dataProvider getLBFactoryClassProvider
*/
public function testGetLBFactoryClass( $expected, $deprecated ) {
- $mockDB = $this->getMockBuilder( 'DatabaseMysql' )
+ $mockDB = $this->getMockBuilder( 'DatabaseMysqli' )
->disableOriginalConstructor()
->getMock();
$mPos = new MySQLMasterPos( 'db1034-bin.000976', '843431247' );
$now = microtime( true );
- $mockDB = $this->getMockBuilder( 'DatabaseMysql' )
+ $mockDB = $this->getMockBuilder( 'DatabaseMysqli' )
->disableOriginalConstructor()
->getMock();
$mockDB->method( 'writesOrCallbacksPending' )->willReturn( true );
}
protected function getMocks() {
- $dbMock = $this->getMockBuilder( 'DatabaseMysql' )
+ $dbMock = $this->getMockBuilder( 'DatabaseMysqli' )
+ ->disableOriginalClone()
->disableOriginalConstructor()
->getMock();
]
] );
- $dbMock = $this->getMockBuilder( 'DatabaseMysql' )
+ $dbMock = $this->getMockBuilder( 'DatabaseMysqli' )
->disableOriginalConstructor()
->getMock();
foreach ( QueryPage::getPages() as $page ) {
$class = $page[0];
+ $name = $page[1];
if ( !in_array( $class, $this->manualTest ) ) {
- $this->queryPages[$class] = new $class;
+ $this->queryPages[$class] = SpecialPageFactory::getPage( $name );
}
}
}
protected function mockDb() {
// @TODO: mock from Database
// FIXME: the constructor normally sets mAtomicLevels and mSrvCache
- $databaseMysql = $this->getMockBuilder( 'DatabaseMysql' )
+ $databaseMysql = $this->getMockBuilder( 'DatabaseMysqli' )
->disableOriginalConstructor()
->getMock();
$databaseMysql->expects( $this->any() )
// We add 5 Revisions for this test. Their corresponding text id's
// are stored in the following 5 variables.
- private $textId1;
- private $textId2;
- private $textId3;
- private $textId4;
- private $textId5;
+ protected static $textId1;
+ protected static $textId2;
+ protected static $textId3;
+ protected static $textId4;
+ protected static $textId5;
/**
* @var Exception|null As the current MediaWikiTestCase::run is not
* we catch the exception and store it until we are in setUp and may
* finally rethrow the exception without crashing the test suite.
*/
- private $exceptionFromAddDBData;
+ protected static $exceptionFromAddDBDataOnce;
/**
* @var FetchText The (mocked) FetchText that is to test
throw new MWException( "Could not determine text id" );
}
- function addDBData() {
- $this->tablesUsed[] = 'page';
- $this->tablesUsed[] = 'revision';
- $this->tablesUsed[] = 'text';
-
+ function addDBDataOnce() {
$wikitextNamespace = $this->getDefaultWikitextNS();
try {
$title = Title::newFromText( 'FetchTextTestPage1', $wikitextNamespace );
$page = WikiPage::factory( $title );
- $this->textId1 = $this->addRevision(
+ self::$textId1 = $this->addRevision(
$page,
"FetchTextTestPage1Text1",
"FetchTextTestPage1Summary1"
$title = Title::newFromText( 'FetchTextTestPage2', $wikitextNamespace );
$page = WikiPage::factory( $title );
- $this->textId2 = $this->addRevision(
+ self::$textId2 = $this->addRevision(
$page,
"FetchTextTestPage2Text1",
"FetchTextTestPage2Summary1"
);
- $this->textId3 = $this->addRevision(
+ self::$textId3 = $this->addRevision(
$page,
"FetchTextTestPage2Text2",
"FetchTextTestPage2Summary2"
);
- $this->textId4 = $this->addRevision(
+ self::$textId4 = $this->addRevision(
$page,
"FetchTextTestPage2Text3",
"FetchTextTestPage2Summary3"
);
- $this->textId5 = $this->addRevision(
+ self::$textId5 = $this->addRevision(
$page,
"FetchTextTestPage2Text4 some additional Text ",
"FetchTextTestPage2Summary4 extra "
);
} catch ( Exception $e ) {
// We'd love to pass $e directly. However, ... see
- // documentation of exceptionFromAddDBData
- $this->exceptionFromAddDBData = $e;
+ // documentation of exceptionFromAddDBDataOnce
+ self::$exceptionFromAddDBDataOnce = $e;
}
}
parent::setUp();
// Check if any Exception is stored for rethrowing from addDBData
- if ( $this->exceptionFromAddDBData !== null ) {
- throw $this->exceptionFromAddDBData;
+ if ( self::$exceptionFromAddDBDataOnce !== null ) {
+ throw self::$exceptionFromAddDBDataOnce;
}
$this->fetchText = new SemiMockedFetchText();
// provider would not know the required ids.
function testExistingSimple() {
- $this->assertFilter( $this->textId2,
- $this->textId2 . "\n23\nFetchTextTestPage2Text1" );
+ $this->assertFilter( self::$textId2,
+ self::$textId2 . "\n23\nFetchTextTestPage2Text1" );
}
function testExistingSimpleWithNewline() {
- $this->assertFilter( $this->textId2 . "\n",
- $this->textId2 . "\n23\nFetchTextTestPage2Text1" );
+ $this->assertFilter( self::$textId2 . "\n",
+ self::$textId2 . "\n23\nFetchTextTestPage2Text1" );
}
function testExistingSeveral() {
- $this->assertFilter( "$this->textId1\n$this->textId5\n"
- . "$this->textId3\n$this->textId3",
- implode( "", [
- $this->textId1 . "\n23\nFetchTextTestPage1Text1",
- $this->textId5 . "\n44\nFetchTextTestPage2Text4 "
+ $this->assertFilter(
+ join( "\n", [
+ self::$textId1,
+ self::$textId5,
+ self::$textId3,
+ self::$textId3,
+ ] ),
+ implode( '', [
+ self::$textId1 . "\n23\nFetchTextTestPage1Text1",
+ self::$textId5 . "\n44\nFetchTextTestPage2Text4 "
. "some additional Text",
- $this->textId3 . "\n23\nFetchTextTestPage2Text2",
- $this->textId3 . "\n23\nFetchTextTestPage2Text2"
+ self::$textId3 . "\n23\nFetchTextTestPage2Text2",
+ self::$textId3 . "\n23\nFetchTextTestPage2Text2"
] ) );
}
}
function testNonExisting() {
- $this->assertFilter( $this->textId5 + 10, ( $this->textId5 + 10 ) . "\n-1\n" );
+ $this->assertFilter( self::$textId5 + 10, ( self::$textId5 + 10 ) . "\n-1\n" );
}
function testNegativeInteger() {
function testFloatingPointNumberExisting() {
// float -> int -> revision
- $this->assertFilter( $this->textId3 + 0.14159,
- $this->textId3 . "\n23\nFetchTextTestPage2Text2" );
+ $this->assertFilter( self::$textId3 + 0.14159,
+ self::$textId3 . "\n23\nFetchTextTestPage2Text2" );
}
function testFloatingPointNumberNonExisting() {
- $this->assertFilter( $this->textId5 + 3.14159,
- ( $this->textId5 + 3 ) . "\n-1\n" );
+ $this->assertFilter( self::$textId5 + 3.14159,
+ ( self::$textId5 + 3 ) . "\n-1\n" );
}
function testCharacters() {
}
function testMix() {
- $this->assertFilter( "ab\n" . $this->textId4 . ".5cd\n\nefg\n" . $this->textId2
- . "\n" . $this->textId3,
+ $this->assertFilter( "ab\n" . self::$textId4 . ".5cd\n\nefg\n" . self::$textId2
+ . "\n" . self::$textId3,
implode( "", [
"0\n-1\n",
- $this->textId4 . "\n23\nFetchTextTestPage2Text3",
+ self::$textId4 . "\n23\nFetchTextTestPage2Text3",
"0\n-1\n",
"0\n-1\n",
- $this->textId2 . "\n23\nFetchTextTestPage2Text1",
- $this->textId3 . "\n23\nFetchTextTestPage2Text2"
+ self::$textId2 . "\n23\nFetchTextTestPage2Text1",
+ self::$textId3 . "\n23\nFetchTextTestPage2Text2"
] ) );
}
}
[ '1.238.27.1', true, 1238027001, 'An IP address with small numbers' ],
[ '238.27.1', false, 238027001, 'A malformed IP Address' ],
[ '1', false, 1, 'A super malformed IP Address' ],
- [ 'Just text', false, 0, 'A line with just text' ],
+ [ 'Just text', false, -Infinity, 'A line with just text' ],
[ '45.238.27.109Postfix', false, 45238027109, 'An IP address with a connected postfix' ],
[ '45.238.27.109 postfix', false, 45238027109, 'An IP address with a seperated postfix' ]
];
[ '2000', false, 0, 'Plain 4-digit year' ],
[ '2000-01', false, 0, 'Year with month' ],
[ '2000-01-01', true, 946684800000, 'Year with month and day' ],
- [ '2000-13-01', true, 0, 'Non existant month' ],
- [ '2000-01-32', true, 0, 'Non existant day' ],
+ [ '2000-13-01', true, -Infinity, 'Non existant month' ],
+ [ '2000-01-32', true, -Infinity, 'Non existant day' ],
[ '2000-01-01T12:30:30', true, 946729830000, 'Date with a time' ],
[ '2000-01-01T12:30:30Z', true, 946729830000, 'Date with a UTC+0 time' ],
- [ '2000-01-01T24:30:30Z', true, 0, 'Date with invalid hours' ],
- [ '2000-01-01T12:60:30Z', true, 0, 'Date with invalid minutes' ],
+ [ '2000-01-01T24:30:30Z', true, -Infinity, 'Date with invalid hours' ],
+ [ '2000-01-01T12:60:30Z', true, -Infinity, 'Date with invalid minutes' ],
[ '2000-01-01T12:30:61Z', true, 946729800000, 'Date with invalid amount of seconds, drops seconds' ],
[ '2000-01-01T23:59:59Z', true, 946771199000, 'Edges of time' ],
[ '2000-01-01T12:30:30.111Z', true, 946729830111, 'Date with milliseconds' ],
[ '2000-01-01T12:30:30.11111Z', true, 946729830111, 'Date with too high precision' ],
- [ '2000-01-01T12:30:30,111Z', true, 0, 'Date with milliseconds and , separator' ],
+ [ '2000-01-01T12:30:30,111Z', true, -Infinity, 'Date with milliseconds and , separator' ],
[ '2000-01-01T12:30:30+01:00', true, 946726230000, 'Date time in UTC+1' ],
[ '2000-01-01T12:30:30+01:30', true, 946724430000, 'Date time in UTC+1:30' ],
[ '2000-01-01T12:30:30-01:00', true, 946733430000, 'Date time in UTC-1' ],
[ '2000-01-01T12:30:30-01:30', true, 946735230000, 'Date time in UTC-1:30' ],
- [ '2000-01-01T12:30:30.111+01:00', true, 946726230111, 'Date time and milliseconds in UTC+1 ' ],
+ [ '2000-01-01T12:30:30.111+01:00', true, 946726230111, 'Date time and milliseconds in UTC+1' ],
[ '2000-01-01Postfix', true, 946684800000, 'Date with appended postfix' ],
[ '2000-01-01 Postfix', true, 946684800000, 'Date with separate postfix' ]
/* Disable testcases, because behavior is browser dependant */
assert.equal(
parsers[ 1 ].format( $table.find( 'tbody > tr > td:eq(1)' ).text() ),
- 0,
- 'empty cell is sorted as number 0'
+ -Infinity,
+ 'empty cell is sorted as number -Infinity'
);
} );