Merge "SpecialPageLanguage: Show current page language in the dropdown"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Fri, 25 Aug 2017 19:34:10 +0000 (19:34 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Fri, 25 Aug 2017 19:34:10 +0000 (19:34 +0000)
74 files changed:
includes/api/ApiBase.php
includes/api/ApiHelp.php
includes/api/ApiParamInfo.php
includes/api/i18n/de.json
includes/api/i18n/en.json
includes/api/i18n/eu.json
includes/api/i18n/qqq.json
includes/installer/i18n/cs.json
includes/installer/i18n/gl.json
includes/installer/i18n/nl.json
includes/jobqueue/jobs/HTMLCacheUpdateJob.php
includes/jobqueue/jobs/RefreshLinksJob.php
includes/libs/IP.php
includes/libs/rdbms/database/DatabaseMysqlBase.php
includes/libs/rdbms/database/DatabaseMysqli.php
includes/skins/SkinTemplate.php
includes/specials/SpecialWatchlist.php
languages/i18n/af.json
languages/i18n/ba.json
languages/i18n/be-tarask.json
languages/i18n/bs.json
languages/i18n/ckb.json
languages/i18n/cs.json
languages/i18n/da.json
languages/i18n/en-gb.json
languages/i18n/es.json
languages/i18n/eu.json
languages/i18n/gl.json
languages/i18n/hr.json
languages/i18n/jv.json
languages/i18n/kab.json
languages/i18n/lv.json
languages/i18n/mwl.json
languages/i18n/nl.json
languages/i18n/pl.json
languages/i18n/pt-br.json
languages/i18n/qqq.json
languages/i18n/rif.json
languages/i18n/ru.json
languages/i18n/sd.json
languages/i18n/shi.json
languages/i18n/skr-arab.json
languages/i18n/sr-ec.json
languages/i18n/sr-el.json
languages/i18n/su.json
languages/i18n/wuu.json
languages/i18n/zh-hans.json
languages/i18n/zh-hant.json
resources/src/mediawiki.legacy/shared.css
resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ChangesListViewModel.js
resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.less
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.mixins.less
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ChangesListWrapperWidget.less
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterMenuSectionOptionWidget.less
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterTagMultiselectWidget.less
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterWrapperWidget.less
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.HighlightColorPickerWidget.less
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ItemMenuOptionWidget.less
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.MenuSelectWidget.less
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.SavedLinksListItemWidget.less
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.TagItemWidget.less
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterWrapperWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FormWrapperWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.SavedLinksListItemWidget.js
resources/src/mediawiki.skinning/content.parsoid.less
resources/src/mediawiki.widgets/mw.widgets.SelectWithInputWidget.js
resources/src/mediawiki.widgets/mw.widgets.StashedFileWidget.less
resources/src/mediawiki.widgets/mw.widgets.TitleWidget.less
tests/phpunit/includes/collation/CollationFaTest.php [new file with mode: 0644]
tests/phpunit/structure/ApiDocumentationTest.php [deleted file]
tests/phpunit/structure/ApiStructureTest.php [new file with mode: 0644]

index 2012e7d..80aeff5 100644 (file)
@@ -204,6 +204,19 @@ abstract class ApiBase extends ContextSource {
         */
        const PARAM_DEPRECATED_VALUES = 20;
 
+       /**
+        * (integer) Maximum number of values, for normal users. Must be used with PARAM_ISMULTI.
+        * @since 1.30
+        */
+       const PARAM_ISMULTI_LIMIT1 = 21;
+
+       /**
+        * (integer) Maximum number of values, for users with the apihighimits right.
+        * Must be used with PARAM_ISMULTI.
+        * @since 1.30
+        */
+       const PARAM_ISMULTI_LIMIT2 = 22;
+
        /**@}*/
 
        const ALL_DEFAULT_STRING = '*';
@@ -1024,6 +1037,12 @@ abstract class ApiBase extends ContextSource {
                $multi = isset( $paramSettings[self::PARAM_ISMULTI] )
                        ? $paramSettings[self::PARAM_ISMULTI]
                        : false;
+               $multiLimit1 = isset( $paramSettings[self::PARAM_ISMULTI_LIMIT1] )
+                       ? $paramSettings[self::PARAM_ISMULTI_LIMIT1]
+                       : null;
+               $multiLimit2 = isset( $paramSettings[self::PARAM_ISMULTI_LIMIT2] )
+                       ? $paramSettings[self::PARAM_ISMULTI_LIMIT2]
+                       : null;
                $type = isset( $paramSettings[self::PARAM_TYPE] )
                        ? $paramSettings[self::PARAM_TYPE]
                        : null;
@@ -1148,7 +1167,9 @@ abstract class ApiBase extends ContextSource {
                                $value,
                                $multi,
                                is_array( $type ) ? $type : null,
-                               $allowAll ? $allSpecifier : null
+                               $allowAll ? $allSpecifier : null,
+                               $multiLimit1,
+                               $multiLimit2
                        );
                }
 
@@ -1350,21 +1371,25 @@ abstract class ApiBase extends ContextSource {
         *  null, all values are accepted.
         * @param string|null $allSpecifier String to use to specify all allowed values, or null
         *  if this behavior should not be allowed
+        * @param int|null $limit1 Maximum number of values, for normal users.
+        * @param int|null $limit2 Maximum number of values, for users with the apihighlimits right.
         * @return string|string[] (allowMultiple ? an_array_of_values : a_single_value)
         */
        protected function parseMultiValue( $valueName, $value, $allowMultiple, $allowedValues,
-               $allSpecifier = null
+               $allSpecifier = null, $limit1 = null, $limit2 = null
        ) {
                if ( ( trim( $value ) === '' || trim( $value ) === "\x1f" ) && $allowMultiple ) {
                        return [];
                }
+               $limit1 = $limit1 ?: self::LIMIT_SML1;
+               $limit2 = $limit2 ?: self::LIMIT_SML2;
 
                // This is a bit awkward, but we want to avoid calling canApiHighLimits()
                // because it unstubs $wgUser
-               $valuesList = $this->explodeMultiValue( $value, self::LIMIT_SML2 + 1 );
-               $sizeLimit = count( $valuesList ) > self::LIMIT_SML1 && $this->mMainModule->canApiHighLimits()
-                       ? self::LIMIT_SML2
-                       : self::LIMIT_SML1;
+               $valuesList = $this->explodeMultiValue( $value, $limit2 + 1 );
+               $sizeLimit = count( $valuesList ) > $limit1 && $this->mMainModule->canApiHighLimits()
+                       ? $limit2
+                       : $limit1;
 
                if ( $allowMultiple && is_array( $allowedValues ) && $allSpecifier &&
                        count( $valuesList ) === 1 && $valuesList[0] === $allSpecifier
index 12e778b..318555a 100644 (file)
@@ -485,7 +485,9 @@ class ApiHelp extends ApiBase {
                                                $type = $settings[ApiBase::PARAM_TYPE];
                                                $multi = !empty( $settings[ApiBase::PARAM_ISMULTI] );
                                                $hintPipeSeparated = true;
-                                               $count = ApiBase::LIMIT_SML2 + 1;
+                                               $count = !empty( $settings[ApiBase::PARAM_ISMULTI_LIMIT2] )
+                                                       ? $settings[ApiBase::PARAM_ISMULTI_LIMIT2] + 1
+                                                       : ApiBase::LIMIT_SML2 + 1;
 
                                                if ( is_array( $type ) ) {
                                                        $count = count( $type );
@@ -669,13 +671,25 @@ class ApiHelp extends ApiBase {
 
                                                if ( $multi ) {
                                                        $extra = [];
+                                                       $lowcount = !empty( $settings[ApiBase::PARAM_ISMULTI_LIMIT1] )
+                                                               ? $settings[ApiBase::PARAM_ISMULTI_LIMIT1]
+                                                               : ApiBase::LIMIT_SML1;
+                                                       $highcount = !empty( $settings[ApiBase::PARAM_ISMULTI_LIMIT2] )
+                                                               ? $settings[ApiBase::PARAM_ISMULTI_LIMIT2]
+                                                               : ApiBase::LIMIT_SML2;
+
                                                        if ( $hintPipeSeparated ) {
                                                                $extra[] = $context->msg( 'api-help-param-multi-separate' )->parse();
                                                        }
-                                                       if ( $count > ApiBase::LIMIT_SML1 ) {
-                                                               $extra[] = $context->msg( 'api-help-param-multi-max' )
-                                                                       ->numParams( ApiBase::LIMIT_SML1, ApiBase::LIMIT_SML2 )
-                                                                       ->parse();
+                                                       if ( $count > $lowcount ) {
+                                                               if ( $lowcount === $highcount ) {
+                                                                       $msg = $context->msg( 'api-help-param-multi-max-simple' )
+                                                                               ->numParams( $lowcount );
+                                                               } else {
+                                                                       $msg = $context->msg( 'api-help-param-multi-max' )
+                                                                               ->numParams( $lowcount, $highcount );
+                                                               }
+                                                               $extra[] = $msg->parse();
                                                        }
                                                        if ( $extra ) {
                                                                $info[] = implode( ' ', $extra );
index 480575c..2fa20a9 100644 (file)
@@ -371,11 +371,15 @@ class ApiParamInfo extends ApiBase {
 
                        $item['multi'] = !empty( $settings[ApiBase::PARAM_ISMULTI] );
                        if ( $item['multi'] ) {
-                               $item['limit'] = $this->getMain()->canApiHighLimits() ?
-                                       ApiBase::LIMIT_SML2 :
-                                       ApiBase::LIMIT_SML1;
-                               $item['lowlimit'] = ApiBase::LIMIT_SML1;
-                               $item['highlimit'] = ApiBase::LIMIT_SML2;
+                               $item['lowlimit'] = !empty( $settings[ApiBase::PARAM_ISMULTI_LIMIT1] )
+                                       ? $settings[ApiBase::PARAM_ISMULTI_LIMIT1]
+                                       : ApiBase::LIMIT_SML1;
+                               $item['highlimit'] = !empty( $settings[ApiBase::PARAM_ISMULTI_LIMIT2] )
+                                       ? $settings[ApiBase::PARAM_ISMULTI_LIMIT2]
+                                       : ApiBase::LIMIT_SML2;
+                               $item['limit'] = $this->getMain()->canApiHighLimits()
+                                       ? $item['highlimit']
+                                       : $item['lowlimit'];
                        }
 
                        if ( !empty( $settings[ApiBase::PARAM_ALLOW_DUPLICATES] ) ) {
index 8a2fd5f..2353a62 100644 (file)
        "api-help-datatypes-header": "Datentypen",
        "api-help-param-type-limit": "Typ: Ganzzahl oder <kbd>max</kbd>",
        "api-help-param-type-integer": "Typ: {{PLURAL:$1|1=Ganzzahl|2=Liste von Ganzzahlen}}",
-       "api-help-param-type-boolean": "Typ: boolisch ([[Special:ApiHelp/main#main/datatypes|Einzelheiten]])",
+       "api-help-param-type-boolean": "Typ: boolesch ([[Special:ApiHelp/main#main/datatypes|Einzelheiten]])",
        "api-help-param-type-timestamp": "Typ: {{PLURAL:$1|1=Zeitstempel|2=Liste von Zeitstempeln}} ([[Special:ApiHelp/main#main/datatypes|erlaubte Formate]])",
        "api-help-param-type-user": "Typ: {{PLURAL:$1|1=Benutzername|2=Liste von Benutzernamen}}",
        "api-help-param-list": "{{PLURAL:$1|1=Einer der folgenden Werte|2=Werte (mit <kbd>{{!}}</kbd> trennen oder [[Special:ApiHelp/main#main/datatypes|Alternative]])}}: $2",
index 3d4a100..9fbc012 100644 (file)
        "api-help-param-upload": "Must be posted as a file upload using multipart/form-data.",
        "api-help-param-multi-separate": "Separate values with <kbd>|</kbd> or [[Special:ApiHelp/main#main/datatypes|alternative]].",
        "api-help-param-multi-max": "Maximum number of values is {{PLURAL:$1|$1}} ({{PLURAL:$2|$2}} for bots).",
+       "api-help-param-multi-max-simple": "Maximum number of values is {{PLURAL:$1|$1}}.",
        "api-help-param-multi-all": "To specify all values, use <kbd>$1</kbd>.",
        "api-help-param-default": "Default: $1",
        "api-help-param-default-empty": "Default: <span class=\"apihelp-empty\">(empty)</span>",
index 1e03f5d..efee015 100644 (file)
@@ -4,34 +4,89 @@
                        "Subi",
                        "Sator",
                        "An13sa",
-                       "Gorkaazk"
+                       "Gorkaazk",
+                       "Mikel Ibaiba"
                ]
        },
        "apihelp-main-param-action": "Zein ekintza burutuko da.",
        "apihelp-main-param-format": "Irteerako formatua.",
+       "apihelp-main-param-assertuser": "Egiaztatu erabiltzaile hau izendatutakoa dela.",
+       "apihelp-main-param-requestid": "Hemen emandako edozein balio erantzunean kontuan hartuko da. Eskaerak ezberdintzeko erabili ahalko da.",
+       "apihelp-main-param-curtimestamp": "Emaitzan oraingo denbora-zigilua jarri.",
        "apihelp-block-summary": "Blokeatu erabiltzaile bat.",
+       "apihelp-block-param-userid": "Erabiltzaile IDa blokeatzear. Ezin da honekin batera erabili: <var>$1user</var>.",
        "apihelp-block-param-reason": "Blokeatzeko arrazoia.",
+       "apihelp-block-param-anononly": "Erabiltzaile ezezagunak bakarrik blokeatu (adb. IP helbide honetarako ezezagunen aldaketak ezgaitu).",
+       "apihelp-block-param-nocreate": "Saihestu kontuak sortzea.",
+       "apihelp-block-param-reblock": "Erabiltzailea honezkero blokeatuta badago, lehendik dagoen blokea gainidatzi.",
+       "apihelp-block-param-watchuser": "Ikusi erabiltzaile edo IP helbidearen erabiltzaileak eta mintzamen orriak.",
+       "apihelp-checktoken-param-token": "Testatzeko hartuta.",
+       "apihelp-compare-summary": "Bi orrien arteko ezberdintasuna jaso.",
+       "apihelp-compare-param-fromtitle": "Aldaratzeko lehenengo izenburua",
+       "apihelp-compare-param-fromid": "Aldaratzeko lehenengo orri IDa",
+       "apihelp-compare-param-fromrev": "Lehenengo berrikusketa aldaratzeko",
+       "apihelp-compare-param-totitle": "Aldaratzeko bigarren izenburua.",
+       "apihelp-compare-param-toid": "Aldaratzeko bigarren orri IDa.",
+       "apihelp-compare-param-torev": "Aldaratzeko bigarren berrikusketa.",
+       "apihelp-compare-param-prop": "Hartu beharreko informazio zatiak.",
+       "apihelp-compare-example-1": "1. eta 2. berrikusketen arteko \"diff\"-a sortu.",
        "apihelp-createaccount-summary": "Erabiltzaile kontu berria sortu.",
        "apihelp-createaccount-param-name": "Erabiltzaile izena.",
+       "apihelp-createaccount-param-domain": "Kanpoko autentifikaziorako domeinua (aukerakoa).",
+       "apihelp-createaccount-param-token": "Lehenengo eskaeran lortutako kontu sorrera token-a.",
        "apihelp-createaccount-param-email": "Erabiltzailearen helbide elektronikoa (aukerakoa).",
        "apihelp-createaccount-param-realname": "Erabiltzailearen benetako izena (aukerakoa).",
+       "apihelp-createaccount-param-mailpassword": "Edozein baliorako jarriz, erabiltzaileari mezu elektroniko baten bitartez ausazko pasahitza bidaliko zaio.",
+       "apihelp-createaccount-param-language": "Erabiltzailearentzako lehenetsiko den hizkuntza kodea (aukerakoa, edukien hizkuntza lehenetsia).",
        "apihelp-delete-summary": "Orrialde bat ezabatu.",
+       "apihelp-delete-param-title": "Ezabatzeko orri izenburua. Hurrengoarekin batera ezin da erabili: <var>$1pageid</var>.",
+       "apihelp-delete-param-pageid": "Ezabatzeko orri edo ID orria. Hurrengoarekin batera ezin da erabili: <var>$1title</var>.",
+       "apihelp-delete-param-reason": "Ezabatzeko arrazoia. Ezartzen ez bada, automatikoki sortutako arrazoi bat erabiliko da.",
+       "apihelp-delete-param-watch": "Orria erabiltzaile honen ikus-zerrendan sartu.",
+       "apihelp-delete-param-unwatch": "Erabiltzailearen oraingo ikus-zerrendatik orria kendu.",
        "apihelp-delete-example-simple": "Ezabatu <kbd>Main Page</kbd>.",
+       "apihelp-delete-example-reason": "Ezabatu <kbd>Orri Nagusia</kbd> <kbd> arrazoiarekin hurrengoa mugitzeko prestatuz:</kbd>.",
        "apihelp-disabled-summary": "Modulu hau ezgaitu da.",
        "apihelp-edit-summary": "Orrialdeak sortu eta aldatu.",
+       "apihelp-edit-param-title": "Orri izenburua aldatzeke. Hurrengoarekin batera ezin da erabili: <var>$1pageid</var>.",
+       "apihelp-edit-param-pageid": "Ezabatzeko orri edo ID orria. Hurrengoarekin batera ezin da erabili: <var>$1title</var>.",
        "apihelp-edit-param-sectiontitle": "Atal berri baten titulua.",
        "apihelp-edit-param-text": "Orrialdearen edukia.",
+       "apihelp-edit-param-tags": "Aldatu etiketak berrikusketa eskatzeko.",
        "apihelp-edit-param-minor": "Aldaketa txikia.",
+       "apihelp-edit-param-notminor": "Aldaketa ez-txikiak",
+       "apihelp-edit-param-bot": "Aldaketa hau errobot aldaketa bezala markatu.",
+       "apihelp-edit-param-createonly": "Ez aldatu orria jadanik existitzen bada.",
+       "apihelp-edit-param-nocreate": "Orria ez bada existitzen akatsa bota.",
+       "apihelp-edit-param-watch": "Orria erabiltzaile honen ikus-zerrendan sartu.",
+       "apihelp-edit-param-unwatch": "Erabiltzailearen oraingo ikus-zerrendatik orria kendu.",
+       "apihelp-edit-param-redirect": "Birbideratzeak automatikoki konpondu.",
+       "apihelp-edit-param-contentmodel": "Eduki berriko eduki eredua.",
        "apihelp-edit-example-edit": "Orrialde bat aldatu",
        "apihelp-emailuser-summary": "Erabiltzaileari e-maila bidali",
+       "apihelp-emailuser-param-target": "Email-a bidaltzeko erabiltzailea.",
        "apihelp-emailuser-param-subject": "Gaiaren goiburua.",
        "apihelp-emailuser-param-text": "Mezuaren gorputza.",
+       "apihelp-emailuser-param-ccme": "Bidal iezadazu mezu elektroniko honen kopia bat.",
+       "apihelp-emailuser-example-email": "<kbd>WikiSysop</kbd> erabiltzaileari mezu elektronikoa bidali <kbd>Edukia</kbd> testuarekin.",
        "apihelp-expandtemplates-param-title": "Orrialdearen izenburua.",
+       "apihelp-expandtemplates-param-text": "Bihurtzeko Wikitestua",
+       "apihelp-expandtemplates-param-revid": "Berrikusketa ID, <nowiki>{{BERRIKUSKETAID}}</nowiki> eta antzeko aldagaientzako.",
        "apihelp-expandtemplates-paramvalue-prop-wikitext": "Wikitestu zabaldua.",
+       "apihelp-expandtemplates-paramvalue-prop-ttl": "Emaitzen cache-ak baliogabetu baino lehen iraun dezaketen denbora.",
+       "apihelp-feedcontributions-param-feedformat": "Produktuaren formatua.",
+       "apihelp-feedcontributions-param-user": "Zeintzuk erabiltzaileei ekarpenak egin.",
        "apihelp-feedcontributions-param-year": "Urtetik aurrera (eta lehenagotik)",
        "apihelp-feedcontributions-param-month": "Hilabetetik aurrera (eta lehenagotik)",
+       "apihelp-feedcontributions-param-tagfilter": "Etiketa hauek dituzten laguntzak iragazki.",
+       "apihelp-feedcontributions-param-deletedonly": "Ezabatutako laguntzak soilik erakutsi.",
+       "apihelp-feedcontributions-param-toponly": "Soilik azkenengo berriskusketak diren aldaketak erakutsi.",
        "apihelp-feedcontributions-param-newonly": "Orrialde sorkuntza direnak soilik erakutsi",
        "apihelp-feedcontributions-param-hideminor": "Aldaketa txikiak ezkutatu",
+       "apihelp-feedcontributions-param-showsizediff": "Berrikusketen arteko tamaina aldea erakutsi.",
+       "apihelp-feedrecentchanges-param-feedformat": "Produktuaren formatua.",
+       "apihelp-feedrecentchanges-param-days": "Egunen arabera emaitzak murriztu.",
+       "apihelp-feedrecentchanges-param-from": "Momentu horretatik aurrerako aldaketak erakutsi.",
        "apihelp-feedrecentchanges-param-hideminor": "Ezkutatu aldaketa txikiak.",
        "apihelp-feedrecentchanges-param-hidebots": "Ezkutatu botek egindako aldaketak.",
        "apihelp-feedrecentchanges-param-hideanons": "Ezkutatu erabiltzaile anonimoek egindako aldaketak.",
        "apihelp-feedrecentchanges-param-tagfilter": "Iragazi etiketen arabera.",
        "apihelp-feedrecentchanges-example-simple": "Erakutsi aldaketa berriak",
        "apihelp-feedrecentchanges-example-30days": "Erakutsi aldaketa berriak 30 egunez",
+       "apihelp-feedwatchlist-param-feedformat": "Produktuaren formatua.",
        "apihelp-filerevert-param-comment": "Iruzkina igo.",
        "apihelp-help-example-recursive": "Laguntza guztia orrialde batean.",
        "apihelp-imagerotate-summary": "Irudi bat edo gehiago biratu.",
+       "apihelp-imagerotate-param-rotation": "Irudia erloju-orratzen norabidean biratzeko graduak.",
        "apihelp-import-param-summary": "Inportazioaren laburpena.",
        "apihelp-import-param-xml": "XML fitxategia igo da.",
        "apihelp-login-param-name": "Erabiltzaile izena.",
        "apihelp-login-param-password": "Pasahitza.",
        "apihelp-login-param-domain": "Domeinua (hautazkoa).",
        "apihelp-login-example-login": "Hasi saioa",
+       "apihelp-logout-summary": "Saioa itxi eta saioko datuak garbitu.",
+       "apihelp-logout-example-logout": "Erabiltzaile honi sesioa itxi.",
+       "apihelp-mergehistory-summary": "Orrialdeen historiak erakutsi.",
        "apihelp-move-summary": "Orrialde bat mugitu",
        "apihelp-move-param-reason": "Berrizenpenaren arrazoia.",
        "apihelp-move-param-noredirect": "Birzuzenketarik ez sortu.",
        "apihelp-move-param-ignorewarnings": "Edozein ohar ezikusi.",
+       "apihelp-opensearch-param-search": "Bilatu katea.",
+       "apihelp-opensearch-param-limit": "Bueltatzeko gehienezko emaitza kopurua.",
        "apihelp-opensearch-param-namespace": "Bilatzeko izen-tarteak.",
        "apihelp-opensearch-param-format": "Irteerako formatua.",
        "apihelp-options-example-reset": "Berrezarri hobespen guztiak.",
        "apihelp-paraminfo-summary": "API moduluei buruzko informazioa eskuratu.",
+       "apihelp-paraminfo-param-helpformat": "Laguntza-kateen formatua.",
        "apihelp-parse-param-summary": "Analizatzeko laburpena.",
+       "apihelp-parse-param-preview": "Aurrebista moduaren bitartez aztertu.",
+       "apihelp-parse-example-page": "Aztertu orri bat.",
+       "apihelp-parse-example-text": "Wikitestua aztertu.",
+       "apihelp-parse-example-texttitle": "Wikitestua aztertu, orri izenburua zehaztuz.",
+       "apihelp-parse-example-summary": "Laburpen bat aztertu.",
+       "apihelp-patrol-summary": "Orri edo berrikusketa bat patruilatu.",
+       "apihelp-patrol-param-revid": "Patruilatzeko ID bat berrikusi.",
+       "apihelp-patrol-example-rcid": "Azkenaldian egindako aldaketa bat patruilatu.",
+       "apihelp-patrol-example-revid": "Patruilatu berrikusketa bat.",
+       "apihelp-protect-summary": "Aldatu orri baten segurtasun maila.",
        "apihelp-protect-param-reason": "Babesteko edo babesa kentzeko zergatia.",
        "apihelp-protect-example-protect": "Orrialde bat babestu",
+       "apihelp-purge-param-forcelinkupdate": "Eguneratu taula linkak.",
+       "apihelp-query-param-list": "Jasotzeko zerrendak.",
+       "apihelp-query-param-meta": "Jasotzeko metadata.",
        "apihelp-query+allcategories-summary": "Kategoria guztiak zenbakitu.",
+       "apihelp-query+allcategories-param-prefix": "Balio honekin hasten diren kategoria guztiak bilatu.",
+       "apihelp-query+allcategories-param-dir": "Sailkatzeko norabidea.",
+       "apihelp-query+allcategories-param-min": "Soilik itzuli gutxienez kide kopuru hauek dituzten sailkapenetara.",
+       "apihelp-query+allcategories-param-max": "Soilik itzuli gehienez kide kopuru hauek dituzten sailkapenetara.",
+       "apihelp-query+allcategories-param-limit": "Zenbat kategorietara itzuli.",
+       "apihelp-query+allcategories-param-prop": "Zeintzuk propietateak hartu:",
+       "apihelp-query+alldeletedrevisions-param-from": "Zerrendatzen hasi titulu honetan.",
+       "apihelp-query+alldeletedrevisions-param-to": "Zerrendatzeari utzi titulu honetan.",
+       "apihelp-query+alldeletedrevisions-param-prefix": "Balio honekin hasten diren orri izenburu guztiak bilatu.",
+       "apihelp-query+alldeletedrevisions-param-excludeuser": "Erabiltzaile honen berrikusketak ez zerrendatu.",
+       "apihelp-query+allfileusages-param-prefix": "Balio honekin hasten diren artxibo izenburu guztiak bilatu.",
+       "apihelp-query+allfileusages-param-prop": "Sartu beharreko informazio zatiak:",
+       "apihelp-query+allfileusages-paramvalue-prop-title": "Fitxategiaren izenburua gehitzen du.",
+       "apihelp-query+allfileusages-param-limit": "Guztira bueltatzeko elementu kopurua.",
+       "apihelp-query+allfileusages-param-dir": "Zerrendatzeko norabidea.",
+       "apihelp-query+allfileusages-example-unique": "Zerrendatu artxibo izenburu bakarrak.",
+       "apihelp-query+allfileusages-example-unique-generator": "Artxibo izenburu guztiak hartzen ditu, falta direnak markatuz.",
+       "apihelp-query+allfileusages-example-generator": "Artxiboak dituzten orriak lortzen ditu.",
+       "apihelp-query+allimages-summary": "Sekuentzialki zenbakitzen ditu irudi guztiak.",
+       "apihelp-query+allimages-param-dir": "Zerrendatzeko norabidea.",
+       "apihelp-query+allimages-param-limit": "Guztira zenbat irudietara itzuli.",
+       "apihelp-query+alllinks-paramvalue-prop-title": "Link-aren izenburua gehitzen du.",
+       "apihelp-query+allmessages-param-prop": "Zeintzuk propietateak hartu.",
+       "apihelp-query+allmessages-param-lang": "Hizkuntza honetan dauden mezuak itzuli.",
+       "apihelp-query+allmessages-param-from": "Mezu honetan hasten diren mezuak itzuli.",
+       "apihelp-query+allmessages-param-to": "Mezu honetan bukatzen duten mezuak itzuli.",
+       "apihelp-query+allmessages-param-prefix": "Aurrizki hau daramaten mezuak itzuli.",
+       "apihelp-query+allmessages-example-ipb": "Erakutsi honela hasten diren mezuak: <kbd>ipb-</kbd>.",
+       "apihelp-query+allpages-param-prefix": "Balio honekin hasten diren orri izenburu guztiak bilatu.",
+       "apihelp-query+allpages-param-filterredir": "Zeintzuk orri zerrendatu.",
+       "apihelp-query+allpages-param-minsize": "Gutxieneko byte kopuru hau betetzen duten orrietara mugatu.",
+       "apihelp-query+allpages-param-maxsize": "Gehienez byte kopuru hau betetzen duten orrietara mugatu.",
+       "apihelp-query+allpages-param-prtype": "Babestutako orrietara soilik mugatu.",
+       "apihelp-query+allrevisions-summary": "Zerrendatu berrikusketa guztiak.",
+       "apihelp-query+allrevisions-param-user": "Erabiltzaile honen berrikusketak soilik zerrendatu.",
+       "apihelp-query+allrevisions-param-excludeuser": "Erabiltzaile honen berrikusketak ez zerrendatu.",
+       "apihelp-query+allrevisions-example-user": "<kbd>Eredua</kbd> egindako azken 50 ekarpenak zerrendatu.",
+       "apihelp-query+mystashedfiles-param-limit": "Hartzeko artxibo kopurua",
+       "apihelp-query+alltransclusions-param-prop": "Sartu beharreko informazio zatiak:",
+       "apihelp-query+alltransclusions-param-limit": "Guztira bueltatzeko elementu kopurua.",
+       "apihelp-query+alltransclusions-param-dir": "Zerrendatzeko norabidea.",
+       "apihelp-query+allusers-summary": "Zerrendatu erregistratuko erabiltzaile guztiak.",
+       "apihelp-query+allusers-param-from": "Zerrendatzen hasteko erabiltzaile izen honetatik.",
+       "apihelp-query+allusers-param-to": "Zerrendatzen gelditzeko erabiltzaile izen honetatik.",
+       "apihelp-query+allusers-param-prefix": "Balio honekin hasten diren erabiltzaile guztiak bilatu.",
+       "apihelp-query+allusers-param-dir": "Sailkatzeko norabidea.",
+       "apihelp-query+allusers-param-group": "Soilik talde hauetatik erabiltzaileak hartu.",
        "apihelp-query+allusers-param-witheditsonly": "Bakarrik zerrendatu aldaketak egin dituzten erabiltzaileak.",
        "apihelp-query+allusers-param-activeusers": "Bakarrik zerrendatu azken {{PLURAL:$1|eguneko|$1 egunetako}} erabiltzaile aktiboak.",
        "apihelp-query+blocks-summary": "Zerrendatu blokeatutako erabiltzaile eta IP helbide guztiak.",
+       "apihelp-query+blocks-example-simple": "Blokeak zerrendatu.",
+       "apihelp-query+categorymembers-paramvalue-prop-ids": "Orri IDa gehitzen du.",
+       "apihelp-query+filearchive-example-simple": "Erakutsi ezabatutako fitxategi guztien zerrenda",
        "apihelp-query+imageinfo-param-urlheight": "$1urlwidth-en antzekoa.",
        "apihelp-query+imageusage-example-simple": "Erakutsi [[:File:Albert Einstein Head.jpg]] darabilten orriak",
+       "apihelp-query+iwbacklinks-param-prefix": "Interwikiaren aurrizkia.",
        "apihelp-query+langlinks-param-inlanguagecode": "Hizkuntza izenak aurkitzeko hizkuntza kodea.",
        "apihelp-query+prefixsearch-param-search": "Bilatu katea.",
        "apihelp-query+protectedtitles-example-simple": "Zerrendatu babestutako izenburuak",
        "apihelp-query+recentchanges-example-simple": "Zerrendatu aldaketa berriak.",
        "apihelp-query+revisions-example-last5": "<kbd>Orrialde Nagusiaren</kbd> azken 5 berrikuspenak eskuratu.",
        "apihelp-query+revisions-example-first5": "<kbd>Orrialde Nagusiaren</kbd> lehen 5 berrikuspenak eskuratu.",
+       "apihelp-query+search-paramvalue-prop-score": "Ezikusia.",
+       "apihelp-query+search-paramvalue-prop-hasrelated": "Ezikusia.",
+       "apihelp-query+userinfo-paramvalue-prop-preferencestoken": "Ikurra lortu oraingo lehentasunak aldatzeko.",
+       "apihelp-query+watchlist-paramvalue-prop-title": "Orrialdearen izenburua gehitzen du.",
+       "apihelp-query+watchlist-paramvalue-prop-user": "Aldaketa egin duen erabiltzailea gehitzen du.",
        "apihelp-upload-param-file": "Fitxategiaren edukia.",
        "apihelp-upload-example-url": "Igo URL batetik.",
        "apihelp-userrights-param-reason": "Aldaketarako arrazoia.",
        "api-help-main-header": "Modulu nagusia",
+       "api-help-undocumented-module": "Ez dago dokumentaziorik $1 modulurako.",
        "api-help-flag-deprecated": "Modulu hau zaharkitua dago.",
        "api-help-source": "Iturria: $1",
        "api-help-source-unknown": "Iturria: <span class=\"apihelp-unknown\">ezezaguna</span>",
        "api-help-param-no-description": "<span class=\"apihelp-empty\">(deskribapenik gabe)</span>",
        "api-help-examples": "{{PLURAL:$1|Adibidea|Adibideak}}:",
        "api-help-permissions": "{{PLURAL:$1|Baimena|Baimenak}}:",
+       "apierror-timeout": "Zerbitzariak ez du erantzun espero zitekeen denboran.",
+       "apiwarn-invalidcategory": "\"$1\" ez da kategoria.",
+       "apiwarn-invalidtitle": "\"$1\" ez da baliozko izenburua.",
+       "apiwarn-notfile": "\"$1\" ez da fitxategia.",
        "api-credits-header": "Kredituak",
        "api-credits": "API garatzaileak:\n* Roan Kattouw (garatzaile nagusia, 2007ko ira.–2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (sortzailea, garatzaile nagusia, 2006ko ira.–2007ko ira.)\n* Brad Jorsch (garatzaile nagusia 2013–gaur egun)\n\nMesedez, bidal iezazkiguzu zure iruzkinak, iradokizunak eta galderak mediawiki-api@lists.wikimedia.org helbidera edo bete ezazu errore-txostena https://phabricator.wikimedia.org/ helbidean."
 }
index 4336c29..c878a53 100644 (file)
        "api-help-param-integer-minmax": "Used to display an integer parameter with a maximum and minimum values\n\nParameters:\n* $1 - 1 if the parameter takes one value, 2 if the parameter takes any number of values\n* $2 - Minimum value\n* $3 - Maximum value\n\nSee also:\n* {{msg-mw|api-help-param-integer-min}}\n* {{msg-mw|api-help-param-integer-max}}",
        "api-help-param-upload": "{{technical}} Used to indicate that an 'upload'-type parameter must be posted as a file upload using multipart/form-data",
        "api-help-param-multi-separate": "Used to indicate how to separate multiple values. Not used with {{msg-mw|api-help-param-list}}.",
-       "api-help-param-multi-max": "Used to indicate the maximum number of values accepted for a multi-valued parameter.\n\nParameters:\n* $1 - Maximum value without the apihighlimits right\n* $2 - Maximum value with the apihighlimits right",
+       "api-help-param-multi-max": "Used to indicate the maximum number of values accepted for a multi-valued parameter when that value is influenced by the user having apihighlimits right (otherwise {{msg-mw|api-help-param-multi-max-simple}} is used).\n\nParameters:\n* $1 - Maximum value without the apihighlimits right\n* $2 - Maximum value with the apihighlimits right",
+       "api-help-param-multi-max-simple": "Used to indicate the maximum number of values accepted for a multi-valued parameter when that value is not influenced by the user having apihighlimits right (otherwise {{msg-mw|api-help-param-multi-max}} is used).\n\nParameters:\n* $1 - Maximum value",
        "api-help-param-multi-all": "Used to indicate what string can be used to specify all possible values of a multi-valued parameter. \n\nParameters:\n* $1 - String to specify all possible values of the parameter",
        "api-help-param-default": "Used to display the default value for an API parameter\n\nParameters:\n* $1 - Default value\n\nSee also:\n* {{msg-mw|api-help-param-default-empty}}\n{{Identical|Default}}",
        "api-help-param-default-empty": "Used to display the default value for an API parameter when that default is an empty value\n\nSee also:\n* {{msg-mw|api-help-param-default}}",
index 2d2f207..2ff49fc 100644 (file)
@@ -85,6 +85,7 @@
        "config-no-cli-uploads-check": "<strong>Upozornění:</strong> Váš výchozí adresář pro načítané soubory (<code>$1</code>) se při instalaci z příkazového řádku nekontroluje na bezpečnostní hrozbu provádění libovolných skriptů.",
        "config-brokenlibxml": "Váš systém obsahuje kombinaci verzí PHP a libxml2, která je chybná a může v MediaWiki a dalších webových aplikacích způsobovat skryté poškozování dat.\nAktualizujte na libxml2 2.7.3 nebo novější ([https://bugs.php.net/bug.php?id=45996 chyba evidovaná u PHP]).\nInstalace přerušena.",
        "config-suhosin-max-value-length": "Je nainstalován Suhosin, který omezuje délku parametrů GET na $1 bajtů.\nKomponenta ResourceLoader z MediaWiki dokáže s tímto omezením pracovat, ale sníží to výkon.\nPokud to je alespoň trochu možné, měli byste v <code>php.ini</code> nastavit <code>suhosin.get.max_value_length</code> na 1024 nebo vyšší a na stejnou hodnotu nastavit v <code>LocalSettings.php</code> proměnnou <code>$wgResourceLoaderMaxQueryLength</code>.",
+       "config-using-32bit": "<strong>Upozornění:</strong> Vypadá to, že váš systém běží s 32bitovými celými čísly. To [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:32-bit se nedoporučuje].",
        "config-db-type": "Typ databáze:",
        "config-db-host": "Databázový server:",
        "config-db-host-help": "Pokud je váš databázový server na jiném počítači, zadejte zde jméno stroje nebo IP adresu.\n\nPokud používáte sdílený webový hosting, váš poskytovatel by vám měl v dokumentaci sdělit správné jméno stroje.\n\nPokud instalujete na server běžící na Windows a používáte MySQL, jméno „localhost“ nemusí fungovat. V takovém případě zkuste jako místní IP adresu zadat „127.0.0.1“.\n\nPokud používáte PostgreSQL, můžete se připojit Unixovými sockety tak, že toto pole necháte prázdné.",
        "config-help-tooltip": "rozbalíte kliknutím",
        "config-nofile": "Soubor „$1“ nelze nalézt. Byl smazán?",
        "config-extension-link": "Věděli jste, že vaše wiki podporuje [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions rozšíření]?\n\nMůžete si prohlédnout [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category seznam rozšíření po kategoriích].",
+       "config-skins-screenshots": "$1 (snímky obrazovky: $2)",
+       "config-screenshot": "snímek obrazovky",
        "mainpagetext": "<strong>MediaWiki byla úspěšně nainstalována.</strong>",
        "mainpagedocfooter": "[https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Uživatelská příručka] vám napoví, jak používat MediaWiki.\n\n== Začínáme ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Nastavení konfigurace]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Často kladené otázky o MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce E-mailová konference oznámení MediaWiki]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Překlad MediaWiki do vašeho jazyka]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Naučte se bojovat se spamem na vaší wiki]"
 }
index d4ac7e3..e6e4b67 100644 (file)
@@ -83,6 +83,7 @@
        "config-no-cli-uploads-check": "<strong>Atención:</strong> Durante a instalación CLI, o seu directorio por defecto para as cargas, <code>$1</code>, non se comproba fronte a posibles vulnerabilidades de execucións arbitrarias de escrituras.",
        "config-brokenlibxml": "O seu sistema ten unha combinación de versións de PHP e libxml2 que pode ser problemático e causar corrupción de datos en MediaWiki e outras aplicacións web.\nActualice o sistema á versión 2.7.3 ou posterior de libxml2 ([https://bugs.php.net/bug.php?id=45996 erro presentado co PHP]).\nInstalación abortada.",
        "config-suhosin-max-value-length": "Suhosin está instalado e limita o parámetro GET <code>length</code> a $1 bytes.\nO compoñente ResourceLoader (xestor de recursos) de MediaWiki traballa neste límite, pero este prexudica o rendemento.\nSe é posible, debería establecer <code>suhosin.get.max_value_length</code> no valor 1024 ou superior en <code>php.ini</code> e establecer <code>$wgResourceLoaderMaxQueryLength</code> no mesmo valor en <code>LocalSettings.php</code>.",
+       "config-using-32bit": "<strong>Aviso:</strong> o teu sistema semella estar funcionando con números enteiros de 32 bits. Isto é algo [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:32-bit non recomendado].",
        "config-db-type": "Tipo de base de datos:",
        "config-db-host": "Servidor da base de datos:",
        "config-db-host-help": "Se o servidor da súa base de datos está nun servidor diferente, escriba o nome do servidor ou o enderezo IP aquí.\n\nSe está usando un aloxamento web compartido, o seu provedor de hospedaxe debe darlle o nome de servidor correcto na súa documentación.\n\nSe está a realizar a instalación nun servidor de Windows con MySQL, o nome \"localhost\" pode non valer como servidor. Se non funcionase, inténteo con \"127.0.0.1\" como enderezo IP local.\n\nSe está usando PostgreSQL, deixe este campo en branco para facer a conexión a través do conectador Unix.",
        "config-help-tooltip": "prema para expandir",
        "config-nofile": "Non se puido atopar o ficheiro \"$1\". Se cadra, foi borrado.",
        "config-extension-link": "Sabía que o seu wiki soporta [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions extensións]?\n\nPode explorar as [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category extensións por categoría] ou a [https://www.mediawiki.org/wiki/Extension_Matrix matriz de extensións] para ollar a lista completa de extensións.",
+       "config-skins-screenshots": "$1 (capturas de pantalla: $2)",
+       "config-screenshot": "captura de pantalla",
        "mainpagetext": "<strong>Instalouse MediaWiki.</strong>",
        "mainpagedocfooter": "Consulte a [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents guía de usuario] para obter máis información sobre como usar o software wiki.\n\n== Primeiros pasos ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista das opcións de configuración]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Preguntas máis frecuentes sobre MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de correo dos lanzamentos de MediaWiki]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localice MediaWiki á súa lingua]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Aprenda como combater a publicidade na súa wiki]"
 }
index 442054a..6185ef4 100644 (file)
@@ -20,7 +20,8 @@
                        "Hex",
                        "Mainframe98",
                        "Rcdeboer",
-                       "Festina90"
+                       "Festina90",
+                       "MarcoSwart"
                ]
        },
        "config-desc": "Het installatieprogramma voor MediaWiki",
@@ -96,7 +97,7 @@
        "config-no-cli-uploads-check": "''Waarschuwing:'' uw standaardmap voor uploads (<code>$1</code>) wordt niet gecontroleerd op kwetsbaarheden voor het uitvoeren van willekeurige scripts gedurende de CLI-installatie.",
        "config-brokenlibxml": "Uw systeem heeft een combinatie van PHP- en libxml2-versies geïnstalleerd die is foutgevoelig is en kan leiden tot onzichtbare beschadiging van gegevens in MediaWiki en andere webapplicaties.\nUpgrade naar libxml2 2.7.3 of hoger([https://bugs.php.net/bug.php?id=45996 bij PHP gerapporteerde fout]).\nDe installatie wordt afgebroken.",
        "config-suhosin-max-value-length": "Suhosin is geïnstalleerd en beperkt de GET-parameter <code>length</code> tot $1 bytes.\nDe ResourceLoader van MediaWiki omzeilt deze beperking, maar dat is slecht voor de prestaties.\nAls het mogelijk is, moet u de waarde \"<code>suhosin.get.max_value_length</code>\" in <code>php.ini</code> instellen op 1024 of hoger en <code>$wgResourceLoaderMaxQueryLength</code> in LocalSettings.php op dezelfde waarde instellen.",
-       "config-using-32bit": "<strong>Opgepast:</strong> uw systeem blijkt met 32-bit integers te werken. Dit is [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:32-bit niet geadviseerd].",
+       "config-using-32bit": "<strong>Pas op:</strong> uw systeem lijkt met 32-bit integers te werken. Dit is [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:32-bit anders dan aangeraden].",
        "config-db-type": "Databasetype:",
        "config-db-host": "Databasehost:",
        "config-db-host-help": "Als uw databaseserver een andere server is, voer dan de hostnaam of het IP-adres hier in.\n\nAls u gebruik maakt van gedeelde webhosting, hoort uw provider u de juiste hostnaam te hebben verstrekt.\n\nAls u MediaWiki op een Windowsserver installeert en MySQL gebruikt, dan werkt \"localhost\" mogelijk niet als servernaam.\nAls het inderdaad niet werkt, probeer dan \"127.0.0.1\" te gebruiken als lokaal IP-adres.\n\nAls u PostgreSQL gebruikt, laat dit veld dan leeg om via een Unix-socket te verbinden.",
index 2d816f9..9d0f87c 100644 (file)
@@ -139,9 +139,13 @@ class HTMLCacheUpdateJob extends Job {
                        __METHOD__
                ) );
 
-               // Update CDN
-               $u = CdnCacheUpdate::newFromTitles( $titleArray );
-               $u->doUpdate();
+               // Update CDN; call purge() directly so as to not bother with secondary purges
+               $urls = [];
+               foreach ( $titleArray as $title ) {
+                       /** @var Title $title */
+                       $urls = array_merge( $urls, $title->getCdnUrls() );
+               }
+               CdnCacheUpdate::purge( $urls );
 
                // Update file cache
                if ( $wgUseFileCache ) {
@@ -152,6 +156,12 @@ class HTMLCacheUpdateJob extends Job {
        }
 
        public function workItemCount() {
-               return isset( $this->params['pages'] ) ? count( $this->params['pages'] ) : 1;
+               if ( !empty( $this->params['recursive'] ) ) {
+                       return 0; // nothing actually purged
+               } elseif ( isset( $this->params['pages'] ) ) {
+                       return count( $this->params['pages'] );
+               }
+
+               return 1; // one title
        }
 }
index b4ead5d..9f3550f 100644 (file)
@@ -301,6 +301,12 @@ class RefreshLinksJob extends Job {
        }
 
        public function workItemCount() {
-               return isset( $this->params['pages'] ) ? count( $this->params['pages'] ) : 1;
+               if ( !empty( $this->params['recursive'] ) ) {
+                       return 0; // nothing actually refreshed
+               } elseif ( isset( $this->params['pages'] ) ) {
+                       return count( $this->params['pages'] );
+               }
+
+               return 1; // one title
        }
 }
index b22f06d..bde8c69 100644 (file)
@@ -67,8 +67,6 @@ define( 'IP_ADDRESS_STRING',
  * and IP blocks.
  */
 class IP {
-       /** @var IPSet */
-       private static $proxyIpSet = null;
 
        /**
         * Determine if a string is as valid IP address or network (CIDR prefix).
index 692ddb7..3c4cda5 100644 (file)
@@ -51,6 +51,8 @@ abstract class DatabaseMysqlBase extends Database {
        /** @var string|null */
        protected $sslCertPath;
        /** @var string|null */
+       protected $sslCAFile;
+       /** @var string|null */
        protected $sslCAPath;
        /** @var string[]|null */
        protected $sslCiphers;
@@ -75,7 +77,8 @@ abstract class DatabaseMysqlBase extends Database {
         *   - useGTIDs : use GTID methods like MASTER_GTID_WAIT() when possible.
         *   - sslKeyPath : path to key file [default: null]
         *   - sslCertPath : path to certificate file [default: null]
-        *   - sslCAPath : parth to certificate authority PEM files [default: null]
+        *   - sslCAFile: path to a single certificate authority PEM file [default: null]
+        *   - sslCAPath : parth to certificate authority PEM directory [default: null]
         *   - sslCiphers : array list of allowable ciphers [default: null]
         * @param array $params
         */
@@ -87,7 +90,7 @@ abstract class DatabaseMysqlBase extends Database {
                        ? $params['lagDetectionOptions']
                        : [];
                $this->useGTIDs = !empty( $params['useGTIDs' ] );
-               foreach ( [ 'KeyPath', 'CertPath', 'CAPath', 'Ciphers' ] as $name ) {
+               foreach ( [ 'KeyPath', 'CertPath', 'CAFile', 'CAPath', 'Ciphers' ] as $name ) {
                        $var = "ssl{$name}";
                        if ( isset( $params[$var] ) ) {
                                $this->$var = $params[$var];
index 4d1b87b..b925e2c 100644 (file)
@@ -91,7 +91,7 @@ class DatabaseMysqli extends DatabaseMysqlBase {
                        $mysqli->ssl_set(
                                $this->sslKeyPath,
                                $this->sslCertPath,
-                               null,
+                               $this->sslCAFile,
                                $this->sslCAPath,
                                $this->sslCiphers
                        );
index cbffe1e..180a6df 100644 (file)
@@ -462,11 +462,11 @@ class SkinTemplate extends Skin {
                $tpl->set( 'printfooter', $this->printSource() );
                // Wrap the bodyText with #mw-content-text element
                $out->mBodytext = $this->wrapHTML( $title, $out->mBodytext );
-               $tpl->setRef( 'bodytext', $out->mBodytext );
+               $tpl->set( 'bodytext', $out->mBodytext );
 
                $language_urls = $this->getLanguages();
                if ( count( $language_urls ) ) {
-                       $tpl->setRef( 'language_urls', $language_urls );
+                       $tpl->set( 'language_urls', $language_urls );
                } else {
                        $tpl->set( 'language_urls', false );
                }
@@ -475,8 +475,8 @@ class SkinTemplate extends Skin {
                $tpl->set( 'personal_urls', $this->buildPersonalUrls() );
                $content_navigation = $this->buildContentNavigationUrls();
                $content_actions = $this->buildContentActionUrls( $content_navigation );
-               $tpl->setRef( 'content_navigation', $content_navigation );
-               $tpl->setRef( 'content_actions', $content_actions );
+               $tpl->set( 'content_navigation', $content_navigation );
+               $tpl->set( 'content_actions', $content_actions );
 
                $tpl->set( 'sidebar', $this->buildSidebar() );
                $tpl->set( 'nav_urls', $this->buildNavUrls() );
index b20b331..effd774 100644 (file)
@@ -415,6 +415,10 @@ class SpecialWatchlist extends ChangesListSpecialPage {
 
                $this->runMainQueryHook( $tables, $fields, $conds, $query_options, $join_conds, $opts );
 
+               if ( $this->areFiltersInConflict() ) {
+                       return false;
+               }
+
                return $dbr->select(
                        $tables,
                        $fields,
index fe6a640..90b3ca9 100644 (file)
        "recentchanges-legend-heading": "<strong>Sleutel:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (sien ook die [[Special:NewPages|lys van nuwe bladsye]])",
        "recentchanges-submit": "Wys",
+       "rcfilters-tag-remove": "Verwyder '$1'",
+       "rcfilters-highlighted-filters-list": "Bekleurklem: $1",
        "rcfilters-filter-user-experience-level-registered-label": "Geregistreer",
        "rcfilters-filter-user-experience-level-registered-description": "Aangemelde redigeerders.",
        "rcfilters-filter-user-experience-level-unregistered-label": "Ongeregistreer",
        "compare-title-not-exists": "Die titel wat u verskaf het bestaan ​​nie.",
        "compare-revision-not-exists": "Die hersiening wat u verskaf het bestaan ​​nie.",
        "diff-form": "'n '''vorm'''",
+       "diff-form-submit": "Vertoon verskille",
+       "permanentlink": "Permanente skakel",
+       "permanentlink-submit": "Beweeg na hersiening",
        "dberr-problems": "Jammer! Die webwerf ondervind op die oomblik tegniese probleme.",
        "dberr-again": "Wag 'n paar minute en probeer dan weer.",
        "dberr-info": "(Kan nie die databasisbediener kontak nie: $1)",
index 68f80d1..ac3cdc6 100644 (file)
        "recentchanges-legend-heading": "<strong>Легенда:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|Яңы биттәр исемлеген]] ҡарағыҙ)",
        "recentchanges-submit": "Күрһәтергә",
+       "rcfilters-tag-remove": "'$1'юй",
        "rcfilters-legend-heading": "<strong>Ҡыҫҡартыуҙар теҙмәһе:</strong>",
        "rcfilters-other-review-tools": "<strong>Тикшереүҙең башҡа ҡоралдары</strong>",
        "rcfilters-group-results-by-page": "Төркөмдөң төрлө биттәге һөҙөмтәләре",
        "rcfilters-hours-title": "Аҙаҡҡы сәғәттәр",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|көн|көндәр}}",
        "rcfilters-days-show-hours": "$1 {{PLURAL:$1|сәғәт|сәғәттән}}",
+       "rcfilters-highlighted-filters-list": "Тамғаланған:$1",
        "rcfilters-quickfilters": "Һаҡланған фильтрҙар",
        "rcfilters-quickfilters-placeholder-title": "Һаҡланған ссылкалар әлегә юҡ",
        "rcfilters-quickfilters-placeholder-description": "Фильтрҙың көйләүҙәрен һаҡлар һәм аҙаҡтан уларҙы яңынан ҡулланыу өсөн аҫтағы \"Әүҙем фильтр\" төймәһенә сиртегеҙ.",
        "rcfilters-filterlist-noresults": "Фильтрҙар табылманы",
        "rcfilters-noresults-conflict": "Эҙләү критерийҙары ҡаршылыҡлы булған өсөн яуабы табылманы",
        "rcfilters-state-message-subset": "Фильтр һөҙөмтәһеҙ буласаҡ, сөнки уның һөҙөмтәһе {{PLURAL:$2|киләһе киңерәк фильтр}} индерелгән (айырыу өсөн төҫ биреп ҡарағыҙ):$1",
-       "rcfilters-state-message-fullcoverage": "Төркөмдәге барлыҡ фильтрҙы ла һайлау бер нимәне лә һайламау менән бер, шуға ла был фильтрҙың әһәмиәте булмаясаҡ. Бәйләнгән төркөмдәр:$1",
+       "rcfilters-state-message-fullcoverage": "Төркөмдәге барлыҡ фильтрҙы ла һайлау бер нимәне лә һайламау менән бер, шуға ла был фильтрҙың әһәмиәте булмаясаҡ. Бәйле төркөмдәр:$1",
        "rcfilters-filtergroup-authorship": "Авторлыҡты мөхәррирләү",
        "rcfilters-filter-editsbyself-label": "Һин индергән үҙгәртеүҙәр",
        "rcfilters-filter-editsbyself-description": "Һинең өлөшөң",
        "rcfilters-filter-watchlist-watchednew-description": "Һеҙ үҙгәреш индергән мәлдән алып ҡарамаған биттәрҙәге үҙгәрештәр.",
        "rcfilters-filter-watchlist-notwatched-label": "Күҙәтеү теҙмәһендә юҡ",
        "rcfilters-filter-watchlist-notwatched-description": "Һеҙ һылтанған биттән башҡа барлыҡ үҙгәрештәр.",
+       "rcfilters-filtergroup-watchlistactivity": "Күҙәтеү исемлегендәге әүҙемлек",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Әлегә ҡаралмаған үҙгәртеүҙәр",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Был биттәрҙә үҙгәртеүҙәр булғандан һуң әлегә һеҙ күрмәгән үҙгәртеүҙәр",
+       "rcfilters-filter-watchlistactivity-seen-label": "Ҡарап сыҡҡан үҙгәрештәр",
+       "rcfilters-filter-watchlistactivity-seen-description": "Был биттәрҙә үҙгәртеү булғандан һуң һеҙ күргән үҙгәртеүҙәр",
        "rcfilters-filtergroup-changetype": "Үҙгәреш төрө",
        "rcfilters-filter-pageedits-label": "Биттәрҙе мөхәррирләү",
        "rcfilters-filter-pageedits-description": "Вики йөкмәткеһен, фекерләшеү, категориялар яҙмаһын мөхәррирләү...",
        "rcfilters-liveupdates-button": "Автоматик яңыртыу",
        "rcfilters-liveupdates-button-title-on": "Автоматик яңыртыуҙы һүндереү",
        "rcfilters-liveupdates-button-title-off": "Яңы үҙгәрештәрҙе килеп сығыу менән күрһәтергә",
+       "rcfilters-watchlist-markSeen-button": "Бар үҙгәртеүҙе лә күрҙем тип билдәлә",
        "rcnotefrom": "Аҫта <strong>$3, $4</strong> ҡарата {{PLURAL:$5|үҙгәртеүҙәр күрһәтелгән}} (<strong>$1</strong> күберәк түгел).",
        "rclistfromreset": "Дата һайлауҙы һүндереү",
        "rclistfrom": "$3 $2 алып яңы үҙгәртеүҙәрҙе күрһәт.",
        "checkbox-select": "Һайланған: $1",
        "checkbox-all": "Барыһы",
        "checkbox-none": "Юҡ",
-       "checkbox-invert": "Әйләндерү",
+       "checkbox-invert": "Әйләндереү",
        "allpages": "Бөтә биттәр",
        "nextpage": "Киләһе бит ($1)",
        "prevpage": "Алдағы бит ($1)",
        "timezone-local": "Локаль",
        "duplicate-defaultsort": "'''Иҫкәртеү:''' \"$2\" ғәҙәттәге тәпртипкә килтереү асҡысы элекке \"$1\" ғәҙәттәге тәртипкә килтереү асҡысын үҙгәртә.",
        "duplicate-displaytitle": "<strong>Иғтибар:</strong> Күрһәтелгән «$2» алдағы «$1» исемде ҡабатлай.",
+       "restricted-displaytitle": "<Strong> Иғтибар: </ strong> «$1» баш яҙмаһы кире ҡағылды, сөнки ул биттең ысын исеменә тап килмәй.",
        "invalid-indicator-name": "<strong>Хата:</strong> Биттең торошон күрһәтеүсе атрибут индикаторы <code>name</code> буш була алмай.",
        "version": "MediaWiki өлгөһө",
        "version-extensions": "Ҡуйылған киңәйтеүҙәр",
        "fileduplicatesearch-noresults": "\"$1\" исемле файл табылманы",
        "specialpages": "Махсус биттәр",
        "specialpages-note-top": "Легенда",
+       "specialpages-note-restricted": "* Ябай махсус биттәр.\n* <span class=\"mw-specialpagerestricted\">Сикләнгән махсус биттәр.</span>",
        "specialpages-group-maintenance": "Техник хеҙмәтләндереү хисапламалары",
        "specialpages-group-other": "Башҡа махсус биттәр",
        "specialpages-group-login": "Танылыу йәки теркәлеү",
        "tag-filter": "[[Special:Tags|Билдәләрҙе]] һайлау:",
        "tag-filter-submit": "Һайлау",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Тамғалар}}]]: $2)",
+       "tag-mw-contentmodelchange": "Йөкмәтке моделен үҙгәртеү",
+       "tag-mw-contentmodelchange-description": "Биттең [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:ChangeContentModel йөкмәткеһе моделен үҙгәрткән] төҙәтеүҙәр",
        "tags-title": "Билдәләр",
        "tags-intro": "Был биттә программа үҙгәртеүҙәрҙе билдәләү өсөн ҡулланған билдәләр һәм уларҙың мәғәнәләре исемлеге килтерелгән.",
        "tags-tag": "Билдә исеме",
        "tags-delete-not-found": "$1 тамғаһы юҡ.",
        "tags-delete-too-many-uses": " «$1» тамғаһы $2 {{PLURAL:$2|өлгөлә}} артығыраҡ ҡулланыла, был юйылмаясаҡ тигәнде аңлата.",
        "tags-delete-warnings-after-delete": " «$1» тамғаһы юйылды, әммә {{PLURAL:$2|түбәндәге киҫәтеүҙәр алында}}:",
+       "tags-delete-no-permission": "Үҙгәртеү тамғаларын юйырға рөхсәтегеҙ юҡ.",
        "tags-activate-title": "Тамғаны активлаштырырға",
        "tags-activate-question": "«$1» тамғаһын активлыштырырға теләйһегеҙме?",
        "tags-activate-reason": "Сәбәп:",
        "compare-title-not-exists": "Һеҙ күрһәткән исем юҡ.",
        "compare-revision-not-exists": "Һеҙ күрһәткән версия юҡ.",
        "diff-form": "Айырмалар",
+       "diff-form-oldid": "Элекке версияны раҫлау (мотлаҡ түгел)",
+       "diff-form-revid": "Айырманы яңынан ҡарауҙы раҫлау",
+       "diff-form-submit": "Айырмаларҙы күрһәтеү",
+       "permanentlink": "Даими һылтанма",
+       "permanentlink-revid": "Икенсе өлгөнө раҫлау",
+       "permanentlink-submit": "Яңынан ҡарап сығыуға күсеү",
        "dberr-problems": "Ғәфү итегеҙ! Был сайтта техник ҡыйынлыҡтар тыуҙы.",
        "dberr-again": "Битте бер нисә минуттан яңыртып ҡарағыҙ.",
        "dberr-info": "(Мәғлүмәттәр базаһы серверы менән тоташтырылып булмай: $1)",
        "htmlform-cloner-create": "Тағы өҫтәргә",
        "htmlform-cloner-delete": "Юйырға",
        "htmlform-cloner-required": "Кәм тигәндә бер дәүмәл кәрәк",
+       "htmlform-date-placeholder": "ЙЙЙЙ-АА-КК (йыл, ай, көн)",
+       "htmlform-time-placeholder": "СС:ММ:СС",
+       "htmlform-datetime-placeholder": "ЙЙЙЙ-АА-КК СС:ММ:СС",
+       "htmlform-date-invalid": "Датаға оҡшамаған. ЙЙЙЙ-АА-КК форматында яҙып ҡарағыҙ.",
+       "htmlform-time-invalid": "Ваҡытҡа оҡшамаған. СС-ММ-СС форматында яҙып ҡарағыҙ.",
+       "htmlform-datetime-invalid": "Датаға ла, ваҡытҡа ла оҡшамаған. ЙЙЙЙ-АА-КК СС-ММ-СС форматында яҙып ҡарағыҙ.",
+       "htmlform-date-toolow": "Һәҙ тәүҙә рөхсәт ителгән иң иртә $1 датаһынан да иртәрәген күрһәткәнһегеҙ.",
+       "htmlform-date-toohigh": "Һеҙ күрһәткән дата рөхсәт ителгән $1 иң һуңғы датанан да һуңыраҡ.",
+       "htmlform-time-toolow": "Һеҙ күрһәткән ваҡыт рөхсәт ителгән иң иртә ваҡыттан $1 да алдараҡ.",
+       "htmlform-time-toohigh": "Һеҙ күрһәткән ваҡыт рөхсәт ителгән иң һуң ваҡыттан $1 да һуңыраҡ.",
+       "htmlform-datetime-toolow": "Һеҙ яҙған дата һәм ваҡыт рөхсәт ителгәндәренән $1 күпкә иртәрәк.",
+       "htmlform-datetime-toohigh": "Һеҙ яҙған дата һәм ваҡыт рөхсәт ителгәндәренән $1 күпкә һуңыраҡ.",
        "htmlform-title-badnamespace": "[[:$1]] исемдәр арауығында түгел «{{ns:$2}}».",
        "htmlform-title-not-creatable": "«$1» — бит исеме, быны булдырып булмай",
        "htmlform-title-not-exists": "$1 юҡ",
index 9a2b7e3..b4b348b 100644 (file)
        "rcfilters-hours-title": "Апошнія гадзіны",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|дзень|дні|дзён}}",
        "rcfilters-days-show-hours": "$1 {{PLURAL:$1|гадзіна|гадзіны|гадзінаў}}",
+       "rcfilters-highlighted-filters-list": "Вылучана: $1",
        "rcfilters-quickfilters": "Захаваныя фільтры",
        "rcfilters-quickfilters-placeholder-title": "Спасылкі яшчэ не захаваныя",
        "rcfilters-quickfilters-placeholder-description": "Каб захаваць налады вашага фільтру і выкарыстаць іх пазьней, націсьніце на выяву закладкі ў зоне актыўнага фільтру ніжэй.",
        "rcfilters-filtergroup-watchlistactivity": "Актыўнасьць у сьпісе назіраньня",
        "rcfilters-filter-watchlistactivity-unseen-label": "Непрагледжаныя зьмены",
        "rcfilters-filter-watchlistactivity-unseen-description": "Зьмены старонак, якія вы не наведвалі пасьля гэтых зьменаў.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Прагледжаныя зьмены",
        "rcfilters-filtergroup-changetype": "Тып зьмены",
        "rcfilters-filter-pageedits-label": "Рэдагаваньні старонкі",
        "rcfilters-filter-pageedits-description": "Рэдагаваньні вікізьместу, абмеркаваньняў, апісаньняў катэгорыяў…",
index 5ef5d9f..ea875f9 100644 (file)
        "delete-hook-aborted": "Brisanje je prekinuo softverski priključak.\nNije ponuđeno nikakvo objašnjenje.",
        "no-null-revision": "Ne mogu napraviti novu ništavnu reviziju za stranicu \"$1\"",
        "badtitle": "Loš naslov",
-       "badtitletext": "Zahtjevani naslov stranice je bio neispravan, prazan ili neispravno povezan međujezički ili interviki naslov.",
+       "badtitletext": "Zahtijevani naslov je pogrešan, prazan ili je neispravno povezan međujezički/međuprojektni naslov.\nMožda sadrži nedopuštene znakove.",
        "title-invalid-empty": "Zatraženo ime stranice je prazno ili samo sadrži naziv imenskog prostora.",
        "title-invalid-utf8": "Vaš zatraženi naziv stranice sadrži nevažeći UTF-8 znak.",
        "title-invalid-interwiki": "Traženi naslov stranice sadrži interwiki link koji ne može biti korišten u naslovima.",
index 4e83851..7435ca6 100644 (file)
        "selfredirect": "<strong>ئاگاداری:</strong> تۆ خەریکی گواستنەوەی ئەم پەڕەیەیت بۆ سەر خۆی. لەوانەیە خەریکی گواستنەوەی پەڕەیەکی ھەڵە بیت یان ھەوڵی گواستنەوە دەدەیت بۆ ئامانجێکی ھەڵە. \nئەگەر دووبارە کرتە لەسەر «$1» بکەیتەوە، ڕەوانەکەرەکە دروست دەکرێت بەھەرحاڵ.",
        "missingcommenttext": "تکایە لە خوارەوە شرۆڤەیەک بنووسە.",
        "missingcommentheader": "'''بیرهێنانەوە:''' بۆ ئەم بۆچوونەت سەردێڕ\\بابەت ڕاچاو نەکردووە.\nئەگەر دیسان «$1» لێبدەی، دەستکاریەکەت بێ سەردێڕ یان بابەت پاشەکەوت دەبێ.",
-       "summary-preview": "پێشبینینی کورتە:",
+       "summary-preview": "پێشبینینی کورتەی دەستکاری:",
        "subject-preview": "پێشبینینی بابەت:",
        "previewerrortext": "ھەڵەیەک دروست بوو لەکاتی ھەوڵدان بۆ بینینی دەستکارییەکانت.",
        "blockedtitle": "بەکارھێنەر بەربەست کراوە",
        "continue-editing": "چوونە سەر بەشی دەستکاریکردن",
        "previewconflict": "ئەم پێشبینینە بە تۆ نیشان ئەدات ئەو دەقەی لە شوێنی دەستکاری سەرەوە داتناوە چۆن بەرچاو ئەکەوێت ئەگەر پاشەکەوتی بکەیت.",
        "session_fail_preview": "ببوورە! ناتوانین دەستکارییەکەت پێواژۆ بکەین بە ھۆی لەدەستدانی زانیاری و داتاکانی ئەم کۆرسە.\nلەوانەیە ھەژمارەکەت کرابێتە دەرەوە. <strong>تکایە دڵنیا بکەرەوە کە ھێشتا لە ژوورەوەیت و دووبارە ھەوڵ بدەرەوە.</strong>\nئەگەر ھێشتا کار ناکات، [[Special:UserLogout|چوونەدەرەوە]] و گەڕانەوەژوورەوە تاقی بکەوە، دواتریش ئەگەر ھێشتا ڕێگەت نەداوە، ڕێگە بە براوسەرەکەت بدە کە ''کوکی'' لەم سایەتەوە وەربگرێت.",
-       "session_fail_preview_html": "'''ببوورە! ناتوانین دەستکارییەکەت پێواژۆ بکەین بە ھۆی لەدەستدانی session data.'''\n\n''لەبەر ئەوەی {{SITENAME}} ڕێگەی داوە بە raw HTML، بۆ بەرگری بەرامبەر بە هێرشەکانی جاڤاسکریپت، پێشبینین شاردراوەتەوە.''\n\n'''ئەگەر ئەمە ھەوڵێکی دەستکاریکردنی ڕەوایە، تکایە دیسان ھەوڵبدەوە.'''\nئەگەر ھێشتا کار ناکات، [[Special:UserLogout|چوونە دەرەوە]] گەڕانەوەژوورەوە تاقی بکەوە.",
+       "session_fail_preview_html": "ببوورە! ناتوانین دەستکارییەکەت پێواژۆ بکەین بە ھۆی لەدەستدانی session data.\n\n<em>لەبەر ئەوەی {{SITENAME}} ڕێگەی داوە بە raw HTML، بۆ بەرگری بەرامبەر بە هێرشەکانی جاڤاسکریپت، پێشبینین شاردراوەتەوە.</em>\n\n<strong>ئەگەر ئەمە ھەوڵێکی دەستکاریکردنی ڕەوایە، تکایە دیسان ھەوڵبدەوە.</strong>\nئەگەر ھێشتا کار ناکات، [[Special:UserLogout|چوونە دەرەوە]] گەڕانەوەژوورەوە تاقی بکەوە و دڵنیابەرەوە کە وێبگەڕەکەت ڕێگە بە کووکییەکانی ئەم ماڵپەڕە دەدات.",
        "token_suffix_mismatch": "'''دەستکاریەکەت پەسەند نەکرا لەبەر ئەوەی ڕاژەخواز یان وێبگەڕەکەت نووسەکانی خاڵبەندی لەیەک پچڕاندوە.'''<br />\nدەستکاریەکەت بۆ بەرگری لە تێکەڵ‌بوونی دەقی لاپەڕەکە وەر نەگیرا.<br />\nئەمە بڕێ‌جار کاتێ ڕوو ئەدات کە لە خزمەتی پرۆکسی سەر وێب کەڵک وەر بگریت.",
        "edit_form_incomplete": "<strong>ھەندێک بەشی دەستکارییەکانت بە سێرڤەرەکەمان نەگەیشت. دووبارە سەیری دەستکارییەکانت بکە بۆ دڵنیا بوون لە تەواوییان و دووبارە ھەوڵ بدەرەوە.</strong>",
        "editing": "دەستکاریکردنی $1",
        "readonlywarning": "<strong>ئاگاداری: بنکەی زانیاری بۆ چاکسازی داخراوە، بۆیە ئێستا ناتوانی دەستکاریەکانت پاشەکەوت بکەیت.</strong>\nدەتوانیت دەقەکەت لەبەر بگریتەوە بۆ پەڕگەیەک و ھەڵی بگریت بۆ دوایی.\nئەو بەڕێوەبەرەی کە دای خستووە، ئەم هۆکارەی دەستنیشان کردووە: $1",
        "protectedpagewarning": "'''وشیار بە: ئەم پەڕە پارێزراوە بۆ ئەوی تەنیا ئەو بەکارھێنەرانە کە مافەکانی بەڕێوەبەرایەتییان ھەیە بتوانن دەستکاریی بکەن.'''\nدوایین لۆگ بۆ ژێدەر لە خوارەوەدا ھاتووە:",
        "semiprotectedpagewarning": "'''ئاگاداری:''' ئەم پەڕە داخراوە بۆ ئەوی تەنھا بەکارھێنەرە تۆمارکراوەکان بتوانن دەستکاریی بکەن.\nدوایین لۆگ بۆ ژێدەر لە خوارەوەدا ھاتووە:",
-       "cascadeprotectedwarning": "'''ئاگادارÛ\8c:''' Ø¦Û\95Ù\85 Ù\84اپÛ\95Ú\95Û\95 Ø¯Ø§Ø®Ø±Ø§Ù\88Û\95 Ø¨Û\86 Ø¦Û\95Ù\88Û\95Û\8c ØªÛ\95Ù\86ھا Ø¦Û\95Ù\88 Ú©Û\95ساÙ\86Û\95Û\8c Ú©Û\95 Ù\85اÙ\81Û\8c Ø¨Û\95Ú\95Û\8eÙ\88بÛ\95راÛ\8cÛ\95تÛ\8cÛ\8cاÙ\86 Ù\87Û\95Û\8cÛ\95 بتوانن دەستکاری بکەن، چوونکە ئەم {{PLURAL:$1|لاپه‌ڕه‌|لاپه‌ڕانه‌}} لە زنجیرەی پارێزراوەکانی لە خۆ گرتووە‌:",
+       "cascadeprotectedwarning": "'''ئاگادارÛ\8c:''' Ø¦Û\95Ù\85 Ù¾Û\95Ú\95Û\95Û\8cÛ\95 Ø¯Ø§Ø®Ø±Ø§Ù\88Û\95 Ø¨Û\86 Ø¦Û\95Ù\88Û\95Û\8c ØªÛ\95Ù\86ھا Ø¦Û\95Ù\88 Ú©Û\95ساÙ\86Û\95Û\8c Ú©Û\95 [[Special:ListGroupRights|Ù\85اÙ\81Û\8cاÙ\86 Ú¾Û\95Û\8cÛ\95]] بتوانن دەستکاری بکەن، چوونکە ئەم {{PLURAL:$1|لاپه‌ڕه‌|لاپه‌ڕانه‌}} لە زنجیرەی پارێزراوەکانی لە خۆ گرتووە‌:",
        "titleprotectedwarning": "'''ئاگاداری: ئەم پەڕە داخراوە، بۆئەوەی بۆ درووست‌کردنی [[Special:ListGroupRights|مافە تایبەتەکانت]] پێویستن.'''\nبۆ چاوانە دوایین لۆگ لە خوارەوەدا ھاتووە:",
        "templatesused": "ئەو {{PLURAL:$1|داڕێژەیە کە لەم پەڕەیەدا بە کارھێنراوە|داڕێژانە کە لەم پەڕەیەدا بە کارھێنراون}}:",
        "templatesusedpreview": "ئەو {{PLURAL:$1|داڕێژەیە کە لەم پێشبینینەدا بە کارھێنراوە|داڕێژانە کە لەم پێشبینینەدا بە کارھێنراون}}:",
        "permissionserrorstext": "مافی ئەنجامی ئەوەت نیە لەبەر ئەم {{PLURAL:$1|هۆکار|هۆکارانە}} :",
        "permissionserrorstext-withaction": "دەسەڵاتت نییە بۆ $2، لەبەر ئەم {{PLURAL:$1|ھۆکارە|ھۆکارانە}}ی خوارەوە:",
        "recreate-moveddeleted-warn": "'''ھۆشیار بە: خەریکی پەڕەیەک دروست‌ دەکەیتەوە کە لە پێشدا سڕاوەتەوە.'''\n\nئەمە لەبەر چاو بگرە کە دەستکاریکردنی ئەم پەڕەیە بەقازانجە یان نا.\nلۆگی سڕینەوە و گواستنەوەی ئەم پەڕەیە بۆ سانایی لێرەدا ھاتووە:",
-       "moveddeleted-notice": "ئەم پەڕەیە سڕاوەتەوە.\nلۆگی سڕینەوە و گواستنەوە بۆ پەڕەکە لە ژێرەوە دابین کراوە.",
-       "moveddeleted-notice-recent": "ببورە، ئەم پەڕەیە بەم زووانە سڕدراوەتەوە (لە ماوەی ٢٤ کاتژمێری پێشوودا). \nلۆگی سڕینەوە و ڕەوانەکردنی پەڕەکە بەردەستن لە خوارەوە لە پەڕاوێزەکاندا.",
+       "moveddeleted-notice": "ئەم پەڕەیە سڕاوەتەوە.\nلۆگی سڕینەوە، پاراستن و گواستنەوە بۆ پەڕەکە لە ژێرەوە دابین کراوە.",
+       "moveddeleted-notice-recent": "ببورە، ئەم پەڕەیە بەم زووانە سڕدراوەتەوە (لە ماوەی ٢٤ کاتژمێری پێشوودا). \nلۆگی سڕینەوە، پاراستن و ڕەوانەکردنی پەڕەکە بەردەستن لە خوارەوە لە پەڕاوێزەکاندا.",
        "log-fulllog": "لۆگی تەواو ببینە",
        "edit-hook-aborted": "دەستکاری لە لایەن قولاپەوە ھەڵوەشێنرایەوە.\nھۆکارەکەی لەبەر دەست نییە.",
        "edit-gone-missing": "توانای نوێ‌کردنەوەی لاپەڕەکە نیە.<br />\nلەوە دەچی سڕدرابێتەوه.‌",
        "page_last": "دوایین",
        "histlegend": "ھەڵبژاردنی جیاوازی: پیاچوونەوەکان بۆ ھەڵسەنگاندن دیاری بکە و ئینتەر یان دوگمەکەی خوارەوە لێبدە.<br />\nڕێنوێنی: '''({{int:cur}})''' = جیاوازی لەگەڵ دوایین پیاچوونەوە، '''({{int:last}})''' = جیاوازی لەگەڵ پیاچوونەوەی پێشووی، '''{{int:minoreditletter}}''' = دەستکاریی بچووک.",
        "history-fieldset-title": "گەشتی مێژوو",
-       "history-show-deleted": "تەنیا سڕاوەکان",
+       "history-show-deleted": "تەنیا پێداچوونەوە سڕاوەکان",
        "histfirst": "کۆنترین",
        "histlast": "نوێترین",
        "historysize": "({{PLURAL:$1|1 بایت|$1 بایت}})",
        "logdelete-text": "ڕووداوە سڕاوەکانی لۆگ ھێشتا لە لۆگەکاندا دەردەکەوێت بەڵام بەشێک لە ناوەرۆکەکەیان بۆ ھەمووان لەبەر دەست دەبێت.",
        "revdelete-text-others": "بەڕێوەبەرانی تر ھێشتا دەتوانن ناوەرۆکی شاردراو ببینن و بیھێننەوە، مەگەر سنووردارکردنی تر ڕێک بخرێت.",
        "revdelete-confirm": "تکایە پشتڕاست بکەوە دەتەوێ ئەمە بکەیت و لە ئاکامەکەی ئاگاداریت و ئەمە بە پێی [[{{MediaWiki:Policy-url}}|سیاسەتنامە]] دەکەیت.",
-       "revdelete-suppress-text": "بەرگری دەبێ '''تەنها''' بۆ ئەم بابەتانە بەکاربهێندرێت:<br />\n* سووکایەتیکردن بە کەسایەتییەک<br />\n* بڵاوکردنەوەی زانیاریی تاکەکەسی نەگونجاو<br />\n*: '' ناونیشانی ماڵ یا ژمارە تەلەفۆن و وەک ئەمانە.''<br />",
+       "revdelete-suppress-text": "بەرگری دەبێ <strong>تەنها</strong> بۆ ئەم بابەتانە بەکاربهێندرێت:\n* سووکایەتیکردن بە کەسایەتییەک<br />\n* بڵاوکردنەوەی زانیاریی تاکەکەسی نەگونجاو<br />\n*: <em>ناونیشانی ماڵ یا ژمارە تەلەفۆن و وەک ئەمانە.</em>",
        "revdelete-legend": "ڕێکخستنی سنووردارکردنی دیاریکردن",
        "revdelete-hide-text": "دەقی پێداچوونەوە",
        "revdelete-hide-image": "ناوەڕۆکی پەڕگە بشارەوە",
        "revdelete-unsuppress": "لابردنی بەربەستەکان لە سەر پێداچوونەوە گەڕێندراوەکان",
        "revdelete-log": "هۆکار:",
        "revdelete-submit": "بەکاربەرە بۆ سەر {{PLURAL:$1|پێداچوونەوەی ھەڵبژێردراو|پێداچوونەوە ھەڵبژێردراوەکان}}",
-       "revdelete-success": "'''چۆنیەتی بیندرانی پێداچوونەوە بە سەرکەوتوویی نوێکراوە.'''",
+       "revdelete-success": "چۆنیەتی بیندرانی پێداچوونەوە نوێکرایەوە.",
        "revdelete-failure": "'''ناکرێ دەرکەوتنی پێداچوونەوە نوێبکرێتەوە:'''\n$1",
-       "logdelete-success": "'''بیندرانی لۆگ‌ بە سەرکەوتوویی داندرا.'''",
+       "logdelete-success": "بیندرانی لۆگ‌ بە سەرکەوتوویی داندرا.",
        "logdelete-failure": "'''بیندرانی لۆگ داناندرێت:'''\n$1",
        "revdel-restore": "چۆنیەتی دەرکەوتن بگۆڕە",
        "pagehist": "مێژووی پەڕە",
        "showhideselectedversions": "دیاریکردنی پێداچوونەوە ھەڵبژێردراوەکان بگۆڕە",
        "editundo": "پووچەڵکردنەوە",
        "diff-empty": "(بەبێ جیاوازی)",
-       "diff-multi-sameuser": "({{PLURAL:$1|یەک دەستکاری مامناوەند|$1 دەستکاری}} لەلایەن ھەمان بەکارھێنەرەوە بیشاننادرێت.",
+       "diff-multi-sameuser": "({{PLURAL:$1|یەک دەستکاری مامناوەند|$1 دەستکاری}} لەلایەن ھەمان بەکارھێنەرەوە بیشاننادرێت)",
+       "diff-multi-otherusers": "({{PLURAL:$1|یەک دەستکاری مامناوەند|$1 دەستکاری}} لەلایەن {{{{PLURAL:$2|بەکارھێنەرێکەوە|$2 بەکارھێنەرەوە}}}} بیشاننادرێت)",
        "searchresults": "ئاکامەکانی گەڕان",
        "searchresults-title": "ئاکامەکانی گەڕان بۆ «$1»",
        "titlematches": "ئەو سەرناوانەی دەگونجن",
        "search-redirect": "(ڕەوانەکراوە لە $1ەوە)",
        "search-section": "(بەشی $1)",
        "search-category": "(پۆلی $1)",
+       "search-file-match": "(لەگەڵ ناوەڕۆکی پەرگەدا دەگونجێت)",
        "search-suggest": "ئایا مەبەستت ئەمە بوو: $1",
        "search-rewritten": "نیشاندانی ئاکامەکان بۆ $1. لە جیات ئەو لە $2 بگەڕێ.",
-       "search-interwiki-caption": "پرۆژە خوشکەکان",
+       "search-interwiki-caption": "ئەنجامەکان لە پرۆژە خوشکەکان",
        "search-interwiki-default": "ئاکام لە $1:",
        "search-interwiki-more": "(زیاتر)",
        "search-interwiki-more-results": "ئەنجامی زیاتر",
        "prefs-editwatchlist-clear": "لیستی چاودێرییەکەت پاک بکەرەوە",
        "prefs-watchlist-days": "ژمارەی ڕۆژەکان بۆ نیشاندان لە لیستی چاودێری:",
        "prefs-watchlist-days-max": "ئەوپەڕی $1 {{PLURAL:$1|ڕۆژە|ڕۆژە}}",
-       "prefs-watchlist-edits": "ئەوپەڕی ژمارەی گۆڕانکارییەکان بۆ نیشاندان لە لیستی چاودێریی پەرەپێدراو:",
+       "prefs-watchlist-edits": "ئەوپەڕی ژمارەی گۆڕانکارییەکان بۆ نیشاندان لە لیستی چاودێری:",
        "prefs-watchlist-edits-max": "ئەوپەڕی ژمارە: ١٠٠٠",
        "prefs-watchlist-token": "ڕەمزی لیستی چاودێری:",
        "prefs-misc": "جۆراوجۆر",
        "restoreprefs": "ھەموو ڕێکخستنەکان ببەرەوە بۆ باری بنچینەیی (لە ھەموو بەشەکاندا)",
        "prefs-editing": "دەستکاریکردن",
        "searchresultshead": "گەڕان",
-       "stub-threshold": "سنوور بۆ شێوازی <a href=\"#\" class=\"stub\">بەستەری کۆڵکە</a> (بایت):",
+       "stub-threshold": "سنوور بۆ شێوازی بەستەری کۆڵکە ($1):",
        "stub-threshold-sample-link": "نموونە",
        "stub-threshold-disabled": "ناچالاک",
        "recentchangesdays": "ژمارە ڕۆژە نیشاندراوەکان لە دوایین گۆڕانکارییەکان:",
        "editusergroup": "گرووپەکانی بەکارھێنەر ببینە",
        "editinguser": "گۆڕینی مافە بەکارھێنەرییەکانی {{GENDER:$1|بەکارھێنەر}} <strong>[[User:$1|$1]]</strong> $2",
        "viewinguserrights": "تۆ مافەکانی بەکارھێنەر {{GENDER:$1|بەکارھێنەر}} <strong>[[User:$1|$1]]</strong> $2 دەبینیت",
-       "userrights-editusergroup": "گرووپەکانی {{{{GENDER:$1|بەکارھێنەر}} دەستکاری بکە",
+       "userrights-editusergroup": "گرووپەکانی {{GENDER:$1|بەکارھێنەر}} دەستکاری بکە",
        "userrights-viewusergroup": "بینینی گرووپەکانی {{GENDER:$1|بەکارھێنەر}}",
-       "saveusergroups": "گرووپەکانی بەکارھێنەر پاشەکەوت بکە",
+       "saveusergroups": "گرووپەکانی {{GENDER:$1|بەکارھێنەر}} پاشەکەوت بکە",
        "userrights-groupsmember": "ئەندامە لە:",
        "userrights-groupsmember-auto": "ئەندامی ناڕاشکاوە لە:",
        "userrights-groups-help": "دەتوانی ئەو گرووپانەی ئەم بەکار‌هێنەرە تێیدایە ئاڵوگۆڕ بکەی:\n* چوارچێوەی نیشانکراو واتە بەکارھێنەر لەو گرووپەدا هەیە.\n* چوارچێوەی نیشاننەکراو واتە بەکارھێنەر لەو گرووپەدا نییە.\n* ئەستێرەیەک (*) نیشان دەدات ناتوانی ئەو گرووپەی جارێکی تر زیادت کردووە لایبەریت، و بە پێچەوانە.",
        "right-siteadmin": "داخستن و کردنەوەی بنکەدراو",
        "right-override-export-depth": "هەناردنی لاپەڕەکان کە لاپەڕەکانی بەستەر پێ‌دراو تا قووڵایی 5 لەخۆ بگرێت",
        "right-sendemail": "ناردنی ئیمەیل بۆ بەکارھێنەرانی تر",
-       "right-managechangetags": "دروستکردن و سڕینەوەی [[Special:Tags|تاگەکان]] لە بنکەدراوە",
+       "right-managechangetags": "دروستکردن و (نا)چالاککردنی [[Special:Tags|تاگەکان]]",
        "right-deletechangetags": "سڕینەوەی [[Special:Tags|tags]] لە بنکەی زانیاری",
        "grant-group-file-interaction": "مامەڵەکردن لەگەڵ میدیا",
        "grant-group-email": "ناردنی ئیمەیل",
        "action-writeapi": "کەڵک وەر گرتن لە نووسینی API",
        "action-delete": "ئەم پەڕەیە بسڕەوە",
        "action-deleterevision": "سڕینەوەی ئەم پێداچوونەوەیە",
-       "action-deletedhistory": "دیتنی مێژووی سڕاوەی ئەم پەڕەیە",
+       "action-deletedhistory": "دیتنی مێژووی سڕاوەی پەڕەیەک",
        "action-browsearchive": "گەران لە نێو لاپەڕە سڕاوەکان",
        "action-undelete": "گەڕاندنەوەی ئەم پەڕەیە",
        "action-suppressrevision": "چاوپێداخشان و هاوردنەوەی ئەم لاپەڕە شاراوە",
        "rcfilters-clear-all-filters": "ھەموو فیلتەرەکان بسڕەوە",
        "rcfilters-search-placeholder": "پاڵاوتنی گۆڕانکارییە نوێیەکان (بگەڕێ یان دەست بە نووسین بکە)",
        "rcfilters-filterlist-title": "فیلتەرەکان",
-       "rcfilters-filterlist-whatsthis": "ئÛ\95Ù\85Û\95 Ú\86Û\8cÛ\8cÛ\95؟",
+       "rcfilters-filterlist-whatsthis": "ئÛ\95Ù\85Û\95 Ú\86Û\86Ù\86 Ú©Ø§Ø±Ø¯Û\95کات؟",
        "rcfilters-highlightmenu-title": "ڕەنگێکی نوێ ھەڵبژێرە",
-       "rcfilters-filter-editsbyself-label": "Ù\85اÙ\81Û\95کاÙ\86Û\8c Ø®Û\86ت",
-       "rcfilters-filter-editsbyself-description": "دÛ\95ستکارییەکانی خۆت.",
-       "rcfilters-filter-editsbyother-label": "دەستکارییەکانی کەسانی تر",
+       "rcfilters-filter-editsbyself-label": "Ú¯Û\86Ú\95اÙ\86کارÛ\8cÛ\8cÛ\95کاÙ\86ت",
+       "rcfilters-filter-editsbyself-description": "بÛ\95شدارییەکانی خۆت.",
+       "rcfilters-filter-editsbyother-label": "گۆڕانکارییەکانی کەسانی تر",
        "rcfilters-filter-editsbyother-description": "ھەموو گۆڕانکارییەکان بێجگە لەوەی خۆت",
        "rcfilters-filter-user-experience-level-registered-label": "تۆمارکراو",
        "rcfilters-filter-user-experience-level-registered-description": "ئەو بەکارھێنەرانەی لە ژوورەوەن",
        "filedelete-edit-reasonlist": "دەستکاری هۆکارەکانی سڕینەوە",
        "filedelete-maintenance-title": "ناتوانیت پەڕگە بسڕیتەوە",
        "mimesearch": "گەڕانی MIME",
-       "mimesearch-summary": "ئەم لاپەڕە پاڵێوتنی هەیە بۆ جۆرەکانی MIME.\nناودراو: جۆرەی ناوەڕۆک\\ژێرجۆرە، وەک <code>image/jpeg</code>.",
+       "mimesearch-summary": "ئەم لاپەڕە پاڵێوتنی هەیە بۆ جۆرەکانی MIME.\nناودراو: جۆرەی ناوەڕۆک\\ژێرجۆرە یان جۆرەی ناوەڕۆک\\*، وەک <code>image/jpeg</code>.",
        "mimetype": "جۆرەی MIME:",
        "download": "داگرتن",
        "unwatchedpages": "پەڕە چاودێری نەکراوەکان",
        "booksources-text": "لە خوارەوە لیستێک لە بەستەر بۆ ماڵپەڕهایەک کە کتێبی نوێ و بەکارهێنراو دەفرۆشێت و لەوانەیە لەوێ زانیاریی زیاترت دەست‌کەوێت سەبارەت بەو کتێبانەی لە دووی دەگەڕیت:",
        "booksources-invalid-isbn": "ISBN دراو لەوە ناچی بەکار بێت، سەرنج بدە لە کاتی کۆپی کردن لە سەرچاوە تووشی هەڵە نوبوبێت.",
        "specialloguserlabel": "بەجێھێنەر:",
-       "speciallogtitlelabel": "مەبەست (سەرناو یان بەکارھێنەر):",
+       "speciallogtitlelabel": "مەبەست (سەرناو یان {{ns:user}}:ناوی بەکارھێنەر بۆ بەکارھێنەر):",
        "log": "لۆگەکان",
        "logeventslist-submit": "نیشاندان",
        "all-logs-page": "ھەموو لۆگە گشتییەکان",
        "mywatchlist": "پێڕستی چاودێری",
        "watchlistfor2": "بۆ $1 $2",
        "nowatchlist": "لە لیستی چاودێڕییەکانتدا ھیچ نیە.",
-       "watchlistanontext": "بۆ دیتن و دەستکاریی بابەتەکانی  ناو پێرستی چاودێرییەکەتدا دەبێ $1.",
+       "watchlistanontext": "بۆ دیتن و دەستکاریی بابەتەکانی  ناو پێرستی چاودێرییەکەتدا دەبێ بچیتە ژوورەوە.",
        "watchnologin": "لە ژوورەوە نیت.",
        "addwatch": "بیخە سەر لیستی چاودێری",
        "addedwatchtext": "پەڕەی «[[:$1]]» خرایە ژێر [[Special:Watchlist|پێرستی چاودێری]]یەکەت.\nگۆڕانکارییەکانی داھاتووی ئەم پەڕەیە و پەڕەی وتووێژەکەی، لەوێدا پێرست دەکرێت.",
        "anonymous": "{{PLURAL:$1|بەکارھێنەری نەناسراوی|بەکارھێنەرە نەناسراوەکانی}} {{SITENAME}}",
        "siteuser": "بەکارھێنەری {{SITENAME}}، $1",
        "anonuser": "$1، بەکارھێنەری نامۆی {{SITENAME}}",
-       "lastmodifiedatby": "ئەم پەڕە دواجار لە $2ی $1 بە دەستی $3 گۆڕدراوە.",
+       "lastmodifiedatby": "ئەم پەڕە دواجار لە $2ی $1 بە دەستی $3 دەستکاریکراوە.",
        "othercontribs": "لەسەر بنەمای کاری $1.",
        "others": "ئەوانی دیکە",
        "siteusers": "{{SITENAME}} {{PLURAL:$2|{{GENDER:$1|بەکارھێنەری}}|بەکارھێنەرانی}} $1",
        "compare-rev2": "پێداچوونەوەی ٢",
        "compare-submit": "ھەڵسەنگاندن",
        "compare-invalid-title": "ئەم سەردێڕە دەستنیشانت کردووە نادروستە.",
-       "diff-form": "یەک '''فۆرم'''",
+       "diff-form": "جیاوازیەکان",
        "dberr-problems": "ببورە! ئەم ماڵپەڕە ئێستا خەریک ئەزموونێکی کێشەی تەکنیکیە.",
        "dberr-again": "چەن خولک ڕاوەستە و نوێی بکەوە.",
        "dberr-info": "(ناتوانیت بگەیت بە بنکەدراو: $1)",
        "htmlform-title-not-exists": "$1 بوونی نیە.",
        "logentry-delete-delete": "$1 پەڕەی $3ی {{GENDER:$2|سڕییەوە}}",
        "logentry-delete-delete_redir": "$1 {{GENDER:$2|ڕەوانەکەری}} $3 سڕیەوە",
-       "logentry-delete-restore": "$1 پەڕەی $3ی {{GENDER:$2|ھێنایەوە}}",
+       "logentry-delete-restore": "$1 پەڕەی $3ی {{GENDER:$2|ھێنایەوە}} ($4)",
        "logentry-delete-revision": "$1 دەرکەوتنی {{PLURAL:$5|پێداچوونەوەیەکی|$5 پێداچوونەوەی}} پەڕەی $3ی {{GENDER:$2|گۆڕیی}}: $4",
        "logentry-suppress-delete": "$1 پەڕەی $3 {{GENDER:$2|بەرگری کرد}}.",
        "revdelete-content-hid": "ناوەرۆک شاردراوە",
index 102ab33..05b8b2e 100644 (file)
        "rcfilters-filterlist-noresults": "Nenalezeny žádné filtry",
        "rcfilters-noresults-conflict": "Nenalezeny žádné výsledky, protože vyhledávací kritéria jsou v konfliktu",
        "rcfilters-state-message-subset": "Tento filtr nemá žádný vliv, protože jeho výsledky jsou již zahrnuty {{PLURAL:$2|následujícím, širším filtrem|následujícími, širšími filtry}} (pro odlišení zkuste zvýraznění): $1",
-       "rcfilters-state-message-fullcoverage": "Výběr všech filtrů ve skupině odpovídá výběru žádného, proto tento filtr nemá žádný vliv. Skupina zahrnuje: $1",
+       "rcfilters-state-message-fullcoverage": "Výběr všech filtrů v této skupině odpovídá výběru žádného, proto tento filtr nemá žádný vliv. Skupina zahrnuje: $1",
        "rcfilters-filtergroup-authorship": "Autorství příspěvku",
        "rcfilters-filter-editsbyself-label": "Vaše změny",
        "rcfilters-filter-editsbyself-description": "Vaše vlastní příspěvky.",
        "fileduplicatesearch-noresults": "Žádný soubor s názvem „$1“ nebyl nalezen.",
        "specialpages": "Speciální stránky",
        "specialpages-note-top": "Legenda",
+       "specialpages-note-restricted": "* Normální speciální stránky\n* <span class=\"mw-specialpagerestricted\">Speciální stránky s&nbsp;vyhrazeným přístupem</span>",
        "specialpages-group-maintenance": "Údržba",
        "specialpages-group-other": "Ostatní",
        "specialpages-group-login": "Přihlášení / vytvoření účtu",
        "compare-revision-not-exists": "Zadaná revize neexistuje.",
        "diff-form": "Rozdíly",
        "diff-form-oldid": "ID staré revize (nepovinné)",
+       "diff-form-revid": "ID revize se změnou",
        "diff-form-submit": "Zobrazit rozdíly",
        "permanentlink": "Trvalý odkaz",
        "permanentlink-revid": "ID revize",
index 2c080f6..71b6189 100644 (file)
@@ -63,7 +63,8 @@
                        "IBDJ",
                        "SimmeD",
                        "BoBrandt",
-                       "R12ntech"
+                       "R12ntech",
+                       "Joedalton"
                ]
        },
        "tog-underline": "Understreg henvisninger:",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (se også [[Special:NewPages|listen over nye sider]])",
        "recentchanges-legend-plusminus": "(''±123'')",
        "recentchanges-submit": "Vis",
+       "rcfilters-group-results-by-page": "Grupper resultater efter side",
+       "rcfilters-grouping-title": "Gruppering",
        "rcfilters-activefilters": "Aktive filtre",
-       "rcfilters-quickfilters": "Gemte filterindstillinger",
+       "rcfilters-advancedfilters": "Avancerede filtre",
+       "rcfilters-limit-title": "Ændringer som skal vises",
+       "rcfilters-days-title": "De sidste dage",
+       "rcfilters-hours-title": "De sidste timer",
+       "rcfilters-days-show-days": "$1 {{PLURAL:$1|dag|dage}}",
+       "rcfilters-days-show-hours": "$1 {{PLURAL:$1|time|timer}}",
+       "rcfilters-highlighted-filters-list": "Fremhævede: $1",
+       "rcfilters-quickfilters": "Gemte filtre",
        "rcfilters-quickfilters-placeholder-title": "Ingen links gemt endnu",
        "rcfilters-savedqueries-defaultlabel": "Gemte filtre",
        "rcfilters-savedqueries-rename": "Omdøb",
        "rcfilters-savedqueries-unsetdefault": "Fravælg som grundindstilling",
        "rcfilters-savedqueries-remove": "Fjern",
        "rcfilters-savedqueries-new-name-label": "Navn",
-       "rcfilters-savedqueries-apply-label": "Gem indstillinger",
+       "rcfilters-savedqueries-apply-label": "Opret filter",
+       "rcfilters-savedqueries-apply-and-setdefault-label": "Opret standardfilter",
        "rcfilters-savedqueries-cancel-label": "Annullér",
        "rcfilters-savedqueries-add-new-title": "Gem nuværende filterindstillinger",
        "rcfilters-restore-default-filters": "Gendan standardfiltre",
        "rcfilters-clear-all-filters": "Ryd alle filtre",
+       "rcfilters-show-new-changes": "Vis seneste ændringer",
        "rcfilters-search-placeholder": "Filtrer seneste ændringer (gennemse eller begynd at taste)",
        "rcfilters-invalid-filter": "Ugyldigt filter",
        "rcfilters-empty-filter": "Ingen aktive filtre. All bidrag vises.",
        "pageswithprop-legend": "Sider med en sideegenskab",
        "pageswithprop-text": "Denne side viser en liste over sider, der har en bestemt sideegenskab.",
        "pageswithprop-prop": "Egenskabsnavn:",
+       "pageswithprop-sortbyvalue": "Sorter efter egenskabsværdi",
        "pageswithprop-submit": "Vis",
        "pageswithprop-prophidden-long": "lang tekst værdi for egenskaben skjult ($1)",
        "pageswithprop-prophidden-binary": "binær værdi for egenskaben skjult ($1)",
        "apisandbox-reset": "Ryd",
        "apisandbox-retry": "Forsøg igen",
        "apisandbox-examples": "Eksempler",
+       "apisandbox-dynamic-parameters": "Yderligere parametre",
+       "apisandbox-dynamic-parameters-add-label": "Tilføj parameter:",
        "apisandbox-dynamic-parameters-add-placeholder": "Parameternavn",
+       "apisandbox-dynamic-error-exists": "En parameter navngivet »$1« findes allerede.",
+       "apisandbox-deprecated-parameters": "Forældede parametre",
+       "apisandbox-submit-invalid-fields-title": "Nogle felter er ugyldige",
        "apisandbox-results": "Resultater",
+       "apisandbox-sending-request": "Sender API-forespørgsel ...",
+       "apisandbox-loading-results": "Modtager API-resultater ...",
        "apisandbox-request-url-label": "Forespurgt URL:",
        "apisandbox-request-time": "Forespørgselstid: {{PLURAL:$1|$1 ms}}",
+       "apisandbox-alert-page": "Felter på denne side er ugyldige.",
+       "apisandbox-alert-field": "Værdien af dette felt er ugyldigt.",
        "apisandbox-continue": "Fortsæt",
        "apisandbox-continue-clear": "Ryd",
        "apisandbox-multivalue-all-namespaces": "$1 (alle navnerum)",
        "enotif_body_intro_restored": "{{SITENAME}} siden $1 er blevet gendannet den $PAGEEDITDATE af {{gender:$2|$2}}, se $3 for den aktuelle version.",
        "enotif_body_intro_changed": "{{SITENAME}}-siden $1 er blevet ændret den $PAGEEDITDATE af {{gender:$2|$2}}, se $3 for den aktuelle version.",
        "enotif_lastvisited": "Gå til $1 for at se alle ændringer siden dit sidste besøg.",
-       "enotif_lastdiff": "Gå til $1 for at se denne ændring.",
+       "enotif_lastdiff": "For at se denne ændring, se $1",
        "enotif_anon_editor": "anonym bruger $1",
        "enotif_body": "Kære $WATCHINGUSERNAME\n\n$PAGEINTRO $NEWPAGE\n\nBidragyderens opsummering: $PAGESUMMARY $PAGEMINOREDIT\n\nKontakt bidragyderen:\ne-mail: $PAGEEDITOR_EMAIL\nwiki: $PAGEEDITOR_WIKI\n\nDu vil ikke modtage flere beskeder om yderligere aktivitet medmindre du besøger denne side. På din overvågningsliste kan du også nulstille alle markeringer for de sider, du overvåger.\n\n         Med venlig hilsen {{SITENAME}}s informationssystem\n\n--\nFor at ændre dine indstillinger for e-mail-meddelelser, besøg\n{{canonicalurl:{{#special:Preferences}}}}\n\nFor at ændre indstillingerne for din overvågningsliste, besøg\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nFor at slette siden fra din overvågningsliste, besøg\n$UNWATCHURL\n\nTilbagemelding og yderligere hjælp:\n$HELPPAGE",
        "created": "oprettet",
        "delete-toobig": "Denne side har en stor historik, over {{PLURAL:$1|en version|$1 versioner}}. Sletning af sådanne sider er begrænset, for at forhindre utilsigtet forstyrrelse af {{SITENAME}}.",
        "delete-warning-toobig": "Denne side har en stor historik, over {{PLURAL:$1|en version|$1 versioner}} versioner, slettes den kan det forstyrre driften af {{SITENAME}}, gå forsigtigt frem.",
        "deleteprotected": "Du kan ikke slette denne side, fordi den er beskyttet.",
-       "deleting-backlinks-warning": "'''Advarsel:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Andre sider]] linker til eller inkluderer den side, du er ved at slette.",
+       "deleting-backlinks-warning": "<strong>Advarsel:</strong> [[Special:WhatLinksHere/{{FULLPAGENAME}}|Andre sider]] henviser til eller inkluderer den side, du er ved at slette.",
        "rollback": "Fjern redigeringer",
        "rollbacklink": "rul tilbage",
        "rollbacklinkcount": "rul {{PLURAL:$1|en redigering|$1 redigeringer}} tilbage",
        "rollbacklinkcount-morethan": "rul mere end {{PLURAL:$1|en redigering|$1 redigeringer}} tilbage",
        "rollbackfailed": "Kunne ikke fjerne redigeringen",
+       "rollback-missingrevision": "Kunne ikke indlæse revisionsdata.",
        "cantrollback": "Kan ikke fjerne redigering; den sidste bruger er den eneste forfatter.",
        "alreadyrolled": "Kan ikke fjerne den seneste redigering af [[:$1]] foretaget af [[User:$2|$2]] ([[User talk:$2|diskussion]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]);\nen anden har allerede redigeret siden eller fjernet redigeringen.\n\nDen seneste redigering er foretaget af [[User:$3|$3]] ([[User talk:$3|diskussion]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).",
        "editcomment": "Redigeringsbeskrivelsen var: <em>$1</em>.",
        "import": "Importer sider",
        "importinterwiki": "Import fra en anden wiki",
        "import-interwiki-text": "Vælg en Wiki og en side til importen.\nDatoen i den pågældende version og forfatterne ændres ikke.\nAlle Transwiki import-aktioner protokolleres i [[Special:Log/import|import-loggen]].",
+       "import-interwiki-sourcewiki": "Kildewiki:",
+       "import-interwiki-sourcepage": "Kildeside:",
        "import-interwiki-history": "Importer alle versioner af denne side",
        "import-interwiki-templates": "Inkluder alle skabeloner",
        "import-interwiki-submit": "Importer",
+       "import-mapping-default": "Importer til standardplaceringer",
+       "import-mapping-namespace": "Importer til et navnerum:",
+       "import-mapping-subpage": "Importer som undersider for den følgende side:",
        "import-upload-filename": "Filnavn:",
        "import-comment": "Kommentar:",
        "importtext": "Eksportér filen fra kilde-wiki'en ved hjælp af [[Special:Export|eksporterings værktøjet]], gem den på din harddisk og upload den her.",
        "pageinfo-protect-cascading-yes": "Ja",
        "pageinfo-protect-cascading-from": "Kaskadebeskyttelser begynder fra",
        "pageinfo-category-info": "Kategorioplysninger",
+       "pageinfo-category-total": "Samlet antal medlemmer",
        "pageinfo-category-pages": "Antal sider",
        "pageinfo-category-subcats": "Antal underkategorier",
        "pageinfo-category-files": "Antal filer",
        "redirect-page": "Side-ID",
        "redirect-revision": "Sideversion",
        "redirect-file": "Filnavn",
+       "redirect-logid": "Log-id",
        "redirect-not-exists": "Værdi ej fundet",
        "fileduplicatesearch": "Find dubletfiler",
        "fileduplicatesearch-summary": "Find dublerede filer baseret på deres hash-værdi.",
        "tags-hitcount": "{{PLURAL:$1|en ændring|$1 ændringer}}",
        "tags-create-reason": "Årsag:",
        "tags-create-submit": "Opret",
+       "tags-create-already-exists": "Mærket »$1« findes allerede.",
        "tags-delete-reason": "Årsag:",
        "tags-activate-reason": "Årsag:",
        "tags-activate-submit": "Aktiver",
        "tags-deactivate-reason": "Årsag:",
        "tags-deactivate-submit": "Deaktiver",
+       "tags-edit-existing-tags": "Eksisterende mærker:",
        "tags-edit-existing-tags-none": "<em>Ingen</em>",
+       "tags-edit-new-tags": "Nye mærker:",
+       "tags-edit-add": "Tilføj disse mærker:",
+       "tags-edit-remove": "Fjern disse mærker:",
+       "tags-edit-remove-all-tags": "(fjern alle mærker)",
+       "tags-edit-chosen-placeholder": "Vælg nogle mærker",
+       "tags-edit-chosen-no-results": "Ingen mærker fundet som matcher",
        "tags-edit-reason": "Årsag:",
        "comparepages": "Sammenlign sider",
        "compare-page1": "Side 1",
        "compare-invalid-title": "Den titel, du har angivet, er ugyldig.",
        "compare-title-not-exists": "Den titel, du har angivet, findes ikke.",
        "compare-revision-not-exists": "Den version, du har angivet, findes ikke.",
+       "diff-form": "et '''skema'''",
        "dberr-problems": "Undskyld! Siden har tekniske problemer.",
        "dberr-again": "Prøv at vente et par minutter og opdater så siden igen.",
        "dberr-info": "(Kan ikke tilgå databasen: $1)",
index af8eda1..f2a51b9 100644 (file)
@@ -31,7 +31,8 @@
                        "Dr. Shikha Jaggi",
                        "Xð",
                        "Matma Rex",
-                       "Dejavu"
+                       "Dejavu",
+                       "Jdforrester"
                ]
        },
        "tog-underline": "Link underlining:",
@@ -61,7 +62,7 @@
        "tog-shownumberswatching": "Show the number of watching users",
        "tog-oldsig": "Your existing signature:",
        "tog-fancysig": "Treat signature as wikitext (without an automatic link)",
-       "tog-uselivepreview": "Use live preview",
+       "tog-uselivepreview": "Show previews without reloading the page",
        "tog-forceeditsummary": "Prompt me when entering a blank edit summary",
        "tog-watchlisthideown": "Hide my edits from the watchlist",
        "tog-watchlisthidebots": "Hide bot edits from the watchlist",
index b6bdd61..e882acd 100644 (file)
        "preview": "Previsualizar",
        "showpreview": "Mostrar previsualización",
        "showdiff": "Mostrar los cambios",
-       "blankarticle": "<strong>Aviso:</strong> estás a punto de crear una página vacía.\nSi haces clic en «$1» de nuevo, se creará la página sin ningún contenido.",
+       "blankarticle": "<strong>Atención:</strong> estás a punto de crear una página vacía.\nSi pulsas en «$1» de nuevo, se creará la página sin ningún contenido.",
        "anoneditwarning": "<strong>Advertencia:</strong> no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición en estas condiciones. Si <strong>[$1 inicias sesión]</strong> o <strong>[$2 creas una cuenta]</strong>, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.",
        "anonpreviewwarning": "<em>No has iniciado sesión. Al guardar los cambios se almacenará tu dirección IP en el historial de edición de esta página.</em>",
        "missingsummary": "<strong>Atención:</strong> no has escrito un resumen de edición.\nSi haces clic de nuevo en «$1» tu edición se grabará sin él.",
        "recentchanges-legend-heading": "<strong>Leyenda:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (véase también la [[Special:NewPages|lista de páginas nuevas]])",
        "recentchanges-submit": "Mostrar",
-       "rcfilters-tag-remove": "Eliminar \"$1\"",
+       "rcfilters-tag-remove": "Quitar «$1»",
        "rcfilters-legend-heading": "<strong>Lista de abreviaturas:</strong>",
        "rcfilters-other-review-tools": "<strong>Otras herramientas de revisión</strong>",
        "rcfilters-group-results-by-page": "Agrupar resultados por página",
-       "rcfilters-grouping-title": "Agrupando",
+       "rcfilters-grouping-title": "Agrupación",
        "rcfilters-activefilters": "Filtros activos",
        "rcfilters-advancedfilters": "Filtros avanzados",
        "rcfilters-limit-title": "Cambios para mostrar",
        "delete-toobig": "Esta página tiene un historial muy grande, con más de $1 {{PLURAL:$1|revisión|revisiones}}. Borrar este tipo de páginas ha sido restringido para prevenir posibles problemas en {{SITENAME}}.",
        "delete-warning-toobig": "Esta página tiene un historial de más de $1 {{PLURAL:$1|revisión|revisiones}}.\nEliminarla puede perturbar las operaciones de la base de datos de {{SITENAME}}.\nProcede con cautela.",
        "deleteprotected": "No puedes eliminar esta página porque ha sido protegida.",
-       "deleting-backlinks-warning": "<strong>Advertencia:</strong> [[Special:WhatLinksHere/{{FULLPAGENAME}}|otras páginas]] enlazan o transcluyen la página que estás a punto de eliminar.",
-       "deleting-subpages-warning": "<strong>Advertencia:</strong> La página que estás a punto de borrar tiene [[Special:PrefixIndex/{{FULLPAGENAME}}/|{{PLURAL:$1|una subpágina|$1 subpáginas|51=más de 50 subpáginas}}]].",
+       "deleting-backlinks-warning": "<strong>Atención:</strong> [[Special:WhatLinksHere/{{FULLPAGENAME}}|otras páginas]] enlazan o transcluyen la página que estás a punto de borrar.",
+       "deleting-subpages-warning": "<strong>Atención:</strong> la página que estás a punto de borrar tiene [[Special:PrefixIndex/{{FULLPAGENAME}}/|{{PLURAL:$1|una subpágina|$1 subpáginas|51=más de 50 subpáginas}}]].",
        "rollback": "Revertir ediciones",
        "rollbacklink": "revertir",
        "rollbacklinkcount": "revertir $1 {{PLURAL:$1|edición|ediciones}}",
        "exif-organisationinimage": "Organización representada",
        "exif-personinimage": "Persona representada",
        "exif-originalimageheight": "Altura de la imagen antes de que fuera recortada",
-       "exif-originalimagewidth": "Ancho de la imagen antes de que fuera recortada",
+       "exif-originalimagewidth": "Anchura de la imagen antes de que fuera recortada",
        "exif-compression-1": "Sin comprimir",
        "exif-compression-2": "CCITT Group 3 1-Dimensional Modified Huffman run length encoding",
        "exif-compression-3": "Codificación de fax CCITT grupo 3",
index e9bd9ef..667470d 100644 (file)
        "recentchanges-legend-heading": "<strong>Azalpenak:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (ikus, gainera, [[Special:NewPages|orri berrien zerrenda]])",
        "recentchanges-submit": "Erakutsi",
+       "rcfilters-tag-remove": "$1 ezabatu",
        "rcfilters-legend-heading": "<indartsu>Laburpenen zerrenda:</indartsu>",
        "rcfilters-other-review-tools": "<strong>Beste berrikusketa tresna:</strong>",
        "rcfilters-grouping-title": "Taldekatzen",
        "rcfilters-hours-title": "Azken orduak",
        "rcfilters-days-show-days": "{{PLURAL:$1|Egun $1|$1 egun}}",
        "rcfilters-days-show-hours": "{{PLURAL:$1|Ordu $1|$1 ordu}}",
+       "rcfilters-highlighted-filters-list": "Azpimarratua: $1",
        "rcfilters-quickfilters": "Gordetako iragazkiak",
        "rcfilters-quickfilters-placeholder-title": "Ez dira oraindik Link-ak gorde",
        "rcfilters-savedqueries-defaultlabel": "Gordetako iragazkiak",
index 0278da5..16e369e 100644 (file)
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (véxase tamén a [[Special:NewPages|lista de páxinas novas]])",
        "recentchanges-legend-plusminus": "(''±123'')",
        "recentchanges-submit": "Mostrar",
+       "rcfilters-tag-remove": "Eliminar '$1'",
        "rcfilters-legend-heading": "<strong>Lista de abreviaturas:</strong>",
        "rcfilters-other-review-tools": "<strong>Outras ferramentas de revisión</strong>",
        "rcfilters-group-results-by-page": "Agrupar resultados por páxina",
        "rcfilters-hours-title": "Últimas horas",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|día|días}}",
        "rcfilters-days-show-hours": "$1 {{PLURAL:$1|hora|horas}}",
+       "rcfilters-highlighted-filters-list": "Destacados: $1",
        "rcfilters-quickfilters": "Filtros gardados",
        "rcfilters-quickfilters-placeholder-title": "Aínda non se gardou ningunha ligazón",
        "rcfilters-quickfilters-placeholder-description": "Para gardar a configuración dos seus filtros e reutilizala máis tarde, prema na icona do marcador na área de Filtro activo que se atopa a abaixo.",
        "rcfilters-filterlist-noresults": "Non se atoparon filtros",
        "rcfilters-noresults-conflict": "Non se atoparon resultados porque os criterios de busca están en conflito.",
        "rcfilters-state-message-subset": "Este filtro non ten efecto porque os seus resultados están incluídos dentro da seguinte procura, {{PLURAL:$2|filtro máis amplo|filtros máis amplos}} (probe a destacalo para distinguilo): $1",
-       "rcfilters-state-message-fullcoverage": "Seleccionar tódolos filtros dun grupo é o mesmo que non seleccionar ningún, polo que este filtro non ten efecto. O grupo inclúeː $1",
+       "rcfilters-state-message-fullcoverage": "Seleccionar tódolos filtros neste grupo é o mesmo que non seleccionar ningún, polo que este filtro non ten efecto. O grupo inclúeː $1",
        "rcfilters-filtergroup-authorship": "Autoría da contribución",
        "rcfilters-filter-editsbyself-label": "Cambios seus",
        "rcfilters-filter-editsbyself-description": "As súas contribucións",
        "rcfilters-filter-watchlist-watchednew-description": "Cambios nas páxinas da súa lista de vixilancia que non visitou dende que se produciron os cambios.",
        "rcfilters-filter-watchlist-notwatched-label": "Ausente da lista de vixilancia",
        "rcfilters-filter-watchlist-notwatched-description": "Todos, excepto os cambios nas páxinas da súa lista de vixilancia.",
+       "rcfilters-filtergroup-watchlistactivity": "Actividade da lista de vixiancia",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Cambios aínda non vistos",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Cambios en páxinas que non visitaches dende que se produciron os cambios.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Cambios vistos",
+       "rcfilters-filter-watchlistactivity-seen-description": "Cambios en páxinas visitadas dende que se produciron os cambios.",
        "rcfilters-filtergroup-changetype": "Tipo de cambio",
        "rcfilters-filter-pageedits-label": "Edicións de páxinas",
        "rcfilters-filter-pageedits-description": "Edicións do contido da wiki, de conversas, de descricións de categorías...",
        "rcfilters-liveupdates-button": "Actualizacións instantáneas",
        "rcfilters-liveupdates-button-title-on": "Desactivar actualizacións en directo",
        "rcfilters-liveupdates-button-title-off": "Amosar os novos cambios en canto se produzan",
+       "rcfilters-watchlist-markSeen-button": "Marcar tódolos cambios como xa vistos",
        "rcnotefrom": "A continuación {{PLURAL:$5|móstrase o cambio feito|móstranse os cambios feitos}} desde o <strong>$3</strong> ás <strong>$4</strong> (móstranse <strong>$1</strong> como máximo).",
        "rclistfromreset": "Reinicializar a selección da data",
        "rclistfrom": "Mostrar os cambios novos desde o $3 ás $2",
index 322eb5a..d479a22 100644 (file)
        "rcfilters-filter-previousrevision-label": "Ne najnovije izmjene",
        "rcfilters-filter-previousrevision-description": "Sve izmjene na stranici koje nisu najnovije.",
        "rcnotefrom": "Slijede promjene od <b>$2</b> (prikazano ih je do <b>$1</b>).",
+       "rclistfromreset": "Vrati na zadano izbor datuma",
        "rclistfrom": "Prikaži nove promjene počevši od $3 $2",
        "rcshowhideminor": "$1 manje promjene",
        "rcshowhideminor-show": "prikaži",
        "filerevert-badversion": "Nema prethodne lokalne inačice datoteke s zadanim datumom i vremenom.",
        "filedelete": "Izbriši $1",
        "filedelete-legend": "Izbriši datoteku",
-       "filedelete-intro": "Brišete datoteku '''[[Media:$1|$1]]''' uključujući i sve njezine stare izmjene.",
+       "filedelete-intro": "Nakanili ste pobrisati datoteku <strong>[[Media:$1|$1]]</strong> zajedno s cjelokupnom njenom povjesnicom.",
        "filedelete-intro-old": "Brišete inačicu '''[[Media:$1|$1]]''' od [$4 $3, $2].",
        "filedelete-comment": "Razlog:",
        "filedelete-submit": "Izbriši",
-       "filedelete-success": "Datoteka '''$1''' je izbrisana.",
+       "filedelete-success": "Datoteka »<strong>$1</strong>« je pobrisana.",
        "filedelete-success-old": "Inačica datoteke '''[[Media:$1|$1]]''' od $3, $2 je obrisana.",
        "filedelete-nofile": "'''$1''' ne postoji.",
        "filedelete-nofile-old": "Nema arhivirane inačice datoteke '''$1''' sa zadanim parametrima.",
        "ipbemailban": "Onemogući blokiranom suradniku slanje e-pošte",
        "ipbenableautoblock": "Automatski blokiraj IP adrese koje koristi ovaj suradnik",
        "ipbsubmit": "Blokiraj ovog suradnika",
-       "ipbother": "Neki drugi rok (na engleskom, npr. 6 days):",
+       "ipbother": "Drugi rok:",
        "ipboptions": "2 sata:2 hours,1 dan:1 day,3 dana:3 days,1 tjedan:1 week,2 tjedna:2 weeks,1 mjesec:1 month,3 mjeseca:3 months,6 mjeseci:6 months,1 godine:1 year,neograničeno:infinite",
        "ipbhidename": "Sakrij suradničko ime iz uređivanja i popisa",
        "ipbwatchuser": "Prati suradničku stranicu i stranicu za razgovor ovog suradnika",
        "newimages-legend": "Filtar",
        "newimages-label": "Naziv datoteke (ili njen dio):",
        "newimages-user": "IP adresa ili suradničko ime",
+       "newimages-newbies": "Prikaži doprinose samo novih suradnika",
        "newimages-showbots": "Prikaži datoteke koje su postavili botovi",
-       "newimages-hidepatrolled": "Sakrij pregledana postavljanja",
+       "newimages-hidepatrolled": "Sakrij ophođena postavljanja",
+       "newimages-mediatype": "Vrsta datoteke:",
        "noimages": "Nema slika.",
        "ilsubmit": "Traži",
        "bydate": "po datumu",
        "mediastatistics-summary": "Slijede statistike postavljenih datoteka koje pokazuju zadnju inačicu datoteke. Starije ili izbrisane inačice nisu prikazane.",
        "mediastatistics-bytespertype": "Ukupna veličina datoteka za ovaj odlomak: {{PLURAL:$1|$1 bajt|$1 bajta|$1 bajtova}} ($2; $3%).",
        "mediastatistics-allbytes": "Ukupna veličina svih datoteka: {{PLURAL:$1|$1 bajt|$1 bajta|$1 bajtova}} ($2).",
+       "mediastatistics-header-unknown": "Nepoznato",
+       "mediastatistics-header-bitmap": "Rasterske slike",
        "mediastatistics-header-drawing": "Crteži (vektorske slike)",
-       "mediastatistics-header-audio": "Audio",
-       "mediastatistics-header-video": "Videozapisi",
-       "mediastatistics-header-office": "Ured",
-       "mediastatistics-header-text": "Tekst",
+       "mediastatistics-header-audio": "Zvukovne datoteke",
+       "mediastatistics-header-video": "Video datoteke",
+       "mediastatistics-header-multimedia": "Datoteke digitalnih kontejnerskih formata",
+       "mediastatistics-header-office": "Datoteke uredskih formata",
+       "mediastatistics-header-text": "Tekstualne datoteke",
+       "mediastatistics-header-executable": "Izvršne datoteke",
+       "mediastatistics-header-archive": "Kompresirani formati",
+       "mediastatistics-header-3d": "Datoteke 3D grafičkih formata",
        "mediastatistics-header-total": "Sve datoteke",
        "headline-anchor-title": "Poveznica na ovaj odlomak",
        "special-characters-group-latin": "latinica",
index 57a7a61..fd55c88 100644 (file)
        "import-interwiki-history": "Tuladen kabèh vèrsi lawas saka kaca iki",
        "import-interwiki-templates": "Katutna kabèh cithakan",
        "import-interwiki-submit": "Impor",
-       "import-mapping-default": "Impor nyang pernah gawan",
-       "import-mapping-namespace": "Impor nyang mandala aran:",
+       "import-mapping-default": "Impor menyang panggonan gawan",
+       "import-mapping-namespace": "Impor menyang mandala aran:",
        "import-mapping-subpage": "Impor minangka anak kaca iki:",
        "import-upload-filename": "Jeneng barkas:",
        "import-comment": "Komentar:",
index e7e4284..75d63f9 100644 (file)
        "editfont-monospace": "Tasefsit s lqedd usbiḍ",
        "editfont-sansserif": "Tasefsit \"Sans-serif\"",
        "editfont-serif": "Tasefsit \"Serif\"",
-       "sunday": "Ačer",
+       "sunday": "Acer",
        "monday": "Arim",
        "tuesday": "Aram",
        "wednesday": "Ahad",
        "thursday": "Amhad",
        "friday": "Sem",
        "saturday": "Sed",
-       "sun": "Ače",
+       "sun": "Ace",
        "mon": "Ari",
        "tue": "Ara",
        "wed": "Aha",
        "cancel": "Eǧǧ-it am yella",
        "moredotdotdot": "Ugar...",
        "morenotlisted": "Tabdart-agi ur temmid ara",
-       "mypage": "Asebtar",
+       "mypage": "Asebter",
        "mytalk": "Asqerdec",
        "anontalk": "Asqerdec",
        "navigation": "Assilel",
-       "and": "&#32;u",
-       "faq": "Isteqsiyen",
+       "and": "&#32;akked",
+       "faq": "Isteqsiyen FAQ",
        "actions": "Tigawtin",
        "namespaces": "Talluntin n isemawen",
        "variants": "Tineḍwa",
        "tagline": "Seg {{SITENAME}}",
        "help": "Tallalt",
        "search": "Nadi",
+       "search-ignored-headings": " #<!-- eǧǧ izirigen-agi akken llan --><pre>\n# Izwal n tgezmiyin ad ttwazeglen deg unadi\n# Ibeddilen yettwagen dagi ad ddun ticki asebter s uzwel yettwarna ar umatar.\n# Tzemreḍ ad ḥettmeḍ tulsa n tmerna ar umatar n usebter s usnifel ilem\n# Taseddast d tagi :\n#   * Yal iziirig ibeddun s \"#\" d awennit\n#   * Yal izirig yeččuren d azwel ara tzegleḍ, ula d taṛuzi n usekkil\nTimsisɣal\nIseɣwan izɣarayen\nWali daɣen\n #</pre><!-- eǧǧ izirig-agi akken yella -->",
        "searchbutton": "Nadi",
        "go": "Ẓer",
        "searcharticle": "Ẓer",
        "generic-pool-error": "Suref-aɣ, iqeddacen ur stufan ara akka tura.\nDdeqs n iseqdacen ttnadin ad ẓṛen taɣbalut-agi.\nMa ulac aɣilif, rǧu cwiṭ send ad tεreḍeḍ ad tkecmeḍ tikkelt-nniḍen.",
        "pool-timeout": "Amenḍar iɛedda deg taganit n uzekṛun",
        "pool-queuefull": "Adras n umahil yečuṛ",
-       "pool-errorunknown": "Anezri warisem",
+       "pool-errorunknown": "Tuccḍa tarussint",
        "pool-servererror": "Amẓlu n uḥerri ur iheegi ara ($1).",
        "poolcounter-usage-error": "Tuccḍa  n useqdec: $1",
        "aboutsite": "Ɣef {{SITENAME}}",
        "createacct-realname": "Isem n tidets (axetṛan)",
        "createacct-reason": "Taɣẓint",
        "createacct-reason-ph": "Ayɣer ad snulfuḍ amiḍan nniḍen",
+       "createacct-reason-help": "Izen yettwaseknen deg uɣmis n tmerna n umiḍan",
        "createacct-submit": "Rnu amiḍan-ik(m)",
        "createacct-another-submit": "Rnu amiḍan",
        "createacct-benefit-heading": "{{SITENAME}} yetwexdem sɣur medden am kečč/kem.",
        "anonpreviewwarning": "''Ur tesuluḍ ara. Aḥraz ad yekles tansa IP inek/inem deg umezruy n ibeddilen n usebter.''",
        "missingsummary": "'''Ur tettuḍ ara:''' Ur tefkiḍ ara azwel i ubeddel inek. Lukan twekkiḍ ''Smekti'' tikelt nniḍen, abeddel inek ad yettusmekti mebla azwel.",
        "missingcommenttext": "Ssekcem awennit deg ukessar.",
-       "missingcommentheader": "'''Ur tettuḍ ara:''' Ur tefkiḍ ara azwel-azellum i ubeddel inek. Lukan twekkiḍ ''Smekti'' tikelt nniḍen, abeddel inek ad yettusmekti mebla azwel-azellum.",
-       "summary-preview": "Pre-timeẓriwt n ugzul:",
-       "subject-preview": "Pre-timeẓriwt asentel/azwel azellum:",
+       "missingcommentheader": "<strong>Asmekti:</strong> ur d-muddeḍ ara asentel n uwennit-agi.\nMa tsenndeḍ tikelt-nniḍen ɣef  \"{{int:Savearticle}} \", abeddel-ik ad yettwasekles s war asentel.",
+       "summary-preview": "Taskant n ugzul n ubeddel :",
+       "subject-preview": "Taskant n usentel :",
        "blockedtitle": "Amseqdac iɛekkel",
        "blockedtext": "'''Amiḍan-ik n useqdac neɣ tansa n IP weḥlen.'''\n\nAsewḥel yega-t $1.\nTaɣẓint d tagi : ''$2''.\n\n* Tazwara n usewḥel : $8\n* Tagara n usewḥel : $6\n* Amiḍan iweḥlen : $7.\n\n\nTzemreḍ ad tnermseḍ $1 neɣ [[{{MediaWiki:Grouppage-sysop}}|anedbal]]-nniḍen akken ad tsmelayem.\nUr tezmireḍ ara ad tesqedceḍ tawuri \"nemres aseqdac-agi\" ma yella tella tensa tameɣtut deg[[Special:Preferences|ismenyifen n useqdac]], udiɣ ma yella tawuri-agi ur tewḥil ara. Tansa-ik IP n tura d $3, ID n usewḥeld #$5.\nSuddu-d akk talɣut-agi deg tuttriwin ara d-azdneḍ.",
        "autoblockedtext": "'''Tansa-ik IP tewḥel s wudem awurman acku i tt-yesseqdacen  yesweḥli-t $1.\n\n\nTaɣẓint d tagi :\n:<em>$2</em>\n\n* Tazwara n usewḥel : $8\n* Tagara n usewḥel : $6\n* Amiḍan iweḥlen : $7.\n\n\nTzemreḍ ad tnermseḍ $1 neɣ [[{{MediaWiki:Grouppage-sysop}}|anedbal]]-nniḍen akken ad tsmelayem.\nUr tezmireḍ ara ad tesqedceḍ tawuri \"nermres aseqdac-agi\" ma yella tella tensa tameɣtut deg[[Special:Preferences|ismenyifen n useqdac]], udiɣ ma yella tawuri-agi ur tewḥil ara. \n\nTansa-ik IP n tura d $3, ID n usewḥeld #$5.\nSuddu-d akk talɣut-agi deg tuttriwin ara d-azdneḍ.",
        "right-override-export-depth": "Sifeḍ isebtar akkw d isebtar iqqenen alama tadrut n 5 iswiren",
        "right-sendemail": "Ceggaɛ tirawt i iseqdacen nniḍen",
        "grant-group-email": "Azen imayl",
+       "grant-createeditmovepage": "Rnu, beddel, senkez isebtar",
+       "grant-delete": "Kkes isebtar, iceggiren akked inekcam n uɣmis",
+       "grant-editinterface": "Snifel tallunt n yismawen MediaWiki akked CSS/JavaScript n useqdac",
+       "grant-editmycssjs": "Ẓreg CSS/JavaScript n useqdac-ik",
+       "grant-editmyoptions": "Ẓreg ismenyifen-ik n useqdac",
+       "grant-editmywatchlist": "Ẓreg tabdart-ik n uḍfaṛ",
+       "grant-editpage": "Ẓreg isebtar yellan",
+       "grant-editprotected": "Ẓreg isebtar immestnen",
+       "grant-highvolume": "Taẓrigt n yiblaɣ meqqren",
+       "grant-oversight": "Ffer iseqdacen sakin kkes iceggiren",
+       "grant-patrol": "Senqed ibeddilen n isebtar",
+       "grant-privateinfo": "Kcem ar telɣut tusligt",
+       "grant-protect": "Mmesten sakin kkes ammesten n isebtar",
+       "grant-rollback": "Ḥwi ibeddilen ɣef isebtar",
+       "grant-sendemail": "Azen imayl i yiseqdacen-nniḍen",
+       "grant-uploadeditmovefile": "Sali, semselsi, udiɣ kkes ifuyla",
+       "grant-uploadfile": "Sali ifuyla imaynuten",
+       "grant-basic": "Izerfan izaduren",
+       "grant-viewdeleted": "Sken ifuyla akked isebtar yettwakksen",
+       "grant-viewmywatchlist": "Sken tabdart-ik n uḍfaṛ",
+       "grant-viewrestrictedlogs": "Sken inekcam ibaḍniyen n uɣmis",
        "newuserlogpage": "Aɣmis n isnulfan n  imiḍanen n imseqdacen",
        "newuserlogpagetext": "Asebter agi yebeqqeḍ amezruy n usnulfu n imiḍanen n iseqdacen.",
        "rightslog": "Aɣmis n yizerfan n wemseqdac",
        "rightslogtext": "Wagi d aɣmis n yibeddlen n yizerfan n wemseqdac",
        "action-read": "ɣaṛ asebter agi",
        "action-edit": "beddel asebter agi",
-       "action-createpage": "Snulfud isebtar",
-       "action-createtalk": "snulfud isebtar n umeslay",
+       "action-createpage": "rnu asebter-agi",
+       "action-createtalk": "rnu asebter-agi n useqerdec",
        "action-createaccount": "snulfud amiḍan agi n useqdac",
+       "action-autocreateaccount": "rnu s wudem awurman amiḍan n useqdac azɣaray",
+       "action-history": "sken amazray n usebter-agi",
        "action-minoredit": "cṛeḍ abeddel agi am umectuḥ",
        "action-move": "beddel isem n usebter agi",
        "action-move-subpages": "beddel isem n usebter agi d adu-isebtar is",
        "action-move-rootuserpages": "beddel isem n usebtar amenzawi n useqdac",
+       "action-move-categorypages": "snifel isem n isebtar n taggayt",
        "action-movefile": "beddel isem n ufaylu agi",
        "action-upload": "Azen afaylu agi",
        "action-reupload": "Sefxes afaylu yellan",
        "action-upload_by_url": "Azen afaylu agi seg tansa URL",
        "action-writeapi": "seqdec API n tira",
        "action-delete": "mḥu asebter-agi",
-       "action-deleterevision": "mḥu lqem agi",
-       "action-deletedhistory": "ẓeṛ amezruy yemḥan n usebter agi",
+       "action-deleterevision": "kkes iceggiren",
+       "action-deletelogentry": "kkes inekcam n uɣmis",
+       "action-deletedhistory": "wali amazray yettwakksen n usebter",
+       "action-deletedtext": "Sken aḍris n uceggir yettwakksen",
        "action-browsearchive": "nadi ɣef isebtar yettumḥan",
-       "action-undelete": "erred asebter agi",
-       "action-suppressrevision": "sekyed dɣa uɣaled ar lqem agi yetwekkesen",
+       "action-undelete": "err-d asebter",
+       "action-suppressrevision": "wali sakin err-d iceggiren yettwakksen",
        "action-suppressionlog": "ẓeṛ aɣmis agi uslig",
        "action-block": "Kyef deg tira aseqdac agi",
        "action-protect": "beddel iswiren n umesten i usebter agi",
        "action-userrights-interwiki": "Ẓreg izerfan n umseqdac deg wikis wiyaḍ",
        "action-siteadmin": "sekkweṛ naɣ kkes aseḍru i taffa n isefka",
        "action-sendemail": "Ceggaɛ tira",
+       "action-editmyoptions": "ẓreg ismenyifen-ik",
        "action-editmywatchlist": "beddel umuɣ inek uḍfar",
        "action-viewmywatchlist": "zeṛ umuɣ inek/inem n uḍfar",
        "action-viewmyprivateinfo": "zeṛ tilɣa inek tusligin",
        "action-editmyprivateinfo": "beddel tilɣa inek tusligin",
+       "action-editcontentmodel": "ẓreg taneɣruft n ugbur n usebter",
+       "action-managechangetags": "rnu sakin rmed/sens tiṛekkizin",
+       "action-applychangetags": "snes tiṛekkizin s ibeddilen-ik",
+       "action-changetags": "rnu sakin kkes kkes tiṛekkizin tebɣiḍ ɣef iceggiren akked inecam n uɣmis",
+       "action-deletechangetags": "kkes tiṛekkizin n taffa n isefka",
+       "action-purge": "silem asebter-agi",
        "nchanges": "$1 {{PLURAL:$1|Abeddel|Ibeddlen}}",
        "enhancedrc-since-last-visit": "$1 {{PLURAL:$1|seg tarzaft taneggarut}}",
        "enhancedrc-history": "amezruy",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (zeṛ daɣen [[Special:NewPages|umuɣ n isebtar imaynuten]]).",
        "recentchanges-legend-plusminus": "(''± 123'')",
        "recentchanges-submit": "Sken",
+       "rcfilters-tag-remove": "Kkes '$1'",
+       "rcfilters-legend-heading": "<strong>Tabdart n isegzilen:</strong>",
        "rcfilters-other-review-tools": "<strong>Ifecka-nniḍen n ucegger</strong>",
+       "rcfilters-group-results-by-page": "Sdukkel igmaḍ s usebter",
+       "rcfilters-grouping-title": "Asdukkel",
+       "rcfilters-activefilters": "Imzizdigen urmiden",
+       "rcfilters-advancedfilters": "Imzizdigen leqqayen",
+       "rcfilters-limit-title": "Ibeddilen ara d-yettwaseknen",
+       "rcfilters-limit-shownum": "Sken {{PLURAL:$1|n ubeddil aneggaru|$1 n ibeddilen ineggura}}",
+       "rcfilters-days-title": "Ussan ineggura",
+       "rcfilters-hours-title": "Isragen ineggura",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|n wass|n wussan}}",
        "rcfilters-days-show-hours": "$1 {{PLURAL:$1|n usrag|n yisragen}}",
+       "rcfilters-highlighted-filters-list": "Asebṛuṛeq: $1",
        "rcfilters-quickfilters": "Imzizdigen yettwaskelsen",
+       "rcfilters-quickfilters-placeholder-title": "Ulac aseɣwen yettwaskelsen",
+       "rcfilters-savedqueries-defaultlabel": "Imzizdigen yettwaskelsen",
        "rcfilters-savedqueries-rename": "Snifel isem",
        "rcfilters-savedqueries-setdefault": "Sbadu d amezwer",
        "rcfilters-savedqueries-unsetdefault": "Kkes-it d amezwer",
        "rcfilters-savedqueries-remove": "Kkes",
        "rcfilters-savedqueries-new-name-label": "Isem",
+       "rcfilters-savedqueries-new-name-placeholder": "Seglesm asentel n imzizdig",
        "rcfilters-savedqueries-apply-label": "Rnu imzizdig",
        "rcfilters-savedqueries-apply-and-setdefault-label": "Rnu imzizdig amezwer",
        "rcfilters-savedqueries-cancel-label": "Sefsex",
        "rcfilters-restore-default-filters": "Err-f imzizdigen imezwar",
        "rcfilters-clear-all-filters": "Sfeḍ akk imzizdigen",
        "rcfilters-show-new-changes": "Skev asnifel aneggaru",
+       "rcfilters-invalid-filter": "Yir imzizdig",
        "rcfilters-filterlist-title": "Imzizdigen",
        "rcfilters-filterlist-whatsthis": "Amek iteddu?",
        "rcfilters-highlightbutton-title": "Sebṛureq igmaḍ",
        "rcfilters-highlightmenu-title": "Fren ini",
+       "rcfilters-highlightmenu-help": "Fren ini n usebṛuṛeq n tmeẓlit-agi",
        "rcfilters-filterlist-noresults": "Ukac imzizdigen yettwafen",
        "rcfilters-filter-editsbyself-label": "Asnifel-ik",
        "rcfilters-filter-editsbyself-description": "Ittekkiyen-ik",
        "rcfilters-filter-editsbyother-label": "Asnifel n wiyaḍ",
+       "rcfilters-filter-user-experience-level-registered-label": "Yeqqen",
+       "rcfilters-filter-user-experience-level-registered-description": "Imaẓragen uqqinen.",
+       "rcfilters-filter-user-experience-level-unregistered-label": "Ur yeqqin ara",
+       "rcfilters-filter-user-experience-level-unregistered-description": "Imaẓragen ur yeqqinen ara.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Inebgawen imaynuten",
+       "rcfilters-filter-user-experience-level-learner-label": "Inelmaden",
+       "rcfilters-filter-user-experience-level-experienced-label": "Iseqdacen s tirmitin",
+       "rcfilters-filtergroup-automated": "Ittekkiyen iwurmanen",
+       "rcfilters-filter-bots-label": "Aṛubut",
+       "rcfilters-filter-humans-label": "Amdan (mačči d aṛubut)",
        "rcnotefrom": "Ddaw-a{{PLURAL:$5|d abeddel|d ibeddilen}} si <strong>$3, $4</strong> (arama <strong>$1</strong> ad d-yettwaseknen).",
        "rclistfrom": "Ssken ibeddlen imaynuten seg $3 $2",
        "rcshowhideminor": "$1 ibeddlen ifessasen",
        "listgrouprights-removegroup-self": "Yezmer ad yekkes {{PLURAL:$2|agraw|igrawen}} ar umiḍan-is : $1",
        "listgrouprights-addgroup-self-all": "Yezmer ad yernu akkw igrawen ar umiḍan-is",
        "listgrouprights-removegroup-self-all": "Yezmer ad yekkes akkw igrawen ar umiḍan-is",
+       "trackingcategories-name": "Isem n yizen",
        "mailnologin": "Ur yufi ḥedd (tansa)",
        "mailnologintext": "Yessefk ad tiliḍ[[Special:UserLogin|tkecmeḍ]] udiɣ ad tesɛuḍ tansa n yimayl tameɣtut  deg [[Special:Preferences|isemyifen-ik]] akken ad tazneḍ imayl i yiseqdacen-nniḍen.",
        "emailuser": "Azen e-mail i wemseqdac-agi",
        "movenotallowedfile": "Ur tesɛiḍ ara turagt ad beddeleḍ isem n ifuyla.",
        "cant-move-user-page": "Ur tesɛiḍ ara turagt ad beddeleḍ isem n isebtar igejdanen n imseqdacen",
        "cant-move-to-user-page": "Ur tesɛid ara assireg iwakken ad beddeleḍ isem n usebtar ɣer asebtar n umseqdac (haca ma d-adu-asebtar).",
-       "newtitle": "Ar azwel amaynut",
+       "newtitle": "Azwel amaynut:",
        "move-watch": "Ɛass asebter-agi",
        "movepagebtn": "Smimeḍ asebter",
        "pagemovedsub": "Asemmimeḍ yekfa",
        "newimages-summary": "Asebtar agi uslig yebeqqeḍ ifuyla ineggura i kteren.",
        "newimages-legend": "Tastayt",
        "newimages-label": "Isem n ufaylu (naɣ aḥric ines) :",
+       "newimages-newbies": "Sken kan ittekkiyen n imiḍanen imaynuten",
        "noimages": "Tugna ulac-itt.",
        "ilsubmit": "Nadi",
        "bydate": "s uzemz",
        "tags-active-no": "Ala",
        "tags-edit": "beddel",
        "tags-hitcount": "$1 {{PLURAL:$1|abeddel|ibeddlen}}",
+       "tags-create-heading": "Rnu taṛekkizt tamaynut",
        "tags-edit-existing-tags-none": "<em>Ulac</em>",
+       "tags-edit-new-tags": "Tiṛekkizin timaynutin:",
        "comparepages": "Qaren isebtar",
        "compare-page1": "Asebtar 1",
        "compare-page2": "Asebtar 2",
        "special-characters-group-greek": "Tagrigit",
        "special-characters-group-greekextended": "Tagrigit taɣezfant",
        "special-characters-group-cyrillic": "Tasirilikt",
-       "special-characters-group-arabic": "Taɛṛabt"
+       "special-characters-group-arabic": "Taɛṛabt",
+       "log-action-filter-upload-upload": "Asali amaynut",
+       "authprovider-confirmlink-ok-help": "Kemmel deffir n uskan n yiznan n usdukkel ur yeddin ara."
 }
index 33d3a0d..8bbb835 100644 (file)
        "yourdiff": "Atšķirības",
        "copyrightwarning": "Lūdzu, ņem vērā, ka viss ieguldījums, kas veikts {{grammar:lokatīvs|{{SITENAME}}}}, ir uzskatāms par publiskotu saskaņā ar $2 (vairāk info skatīt $1).\nJa nevēlies, lai Tevis rakstīto kāds labo un izplata tālāk, tad, lūdzu, nepievieno to šeit!<br />\n\nIzvēloties \"Saglabāt lapu\", Tu apliecini, ka šo rakstu esi rakstījis vai papildinājis pats vai izmantojis informāciju no darba, ko neaizsargā autortiesības, vai tamlīdzīga brīvi pieejama resursa.\n'''BEZ ATĻAUJAS NEPIEVIENO DARBU, KO AIZSARGĀ AUTORTIESĪBAS!'''",
        "copyrightwarning2": "Lūdz ņem vērā, ka visu ieguldījumu {{grammar:lokatīvs|{{SITENAME}}}} var rediģēt, mainīt vai izdzēst citi lietotāji. Ja negribi lai ar tavu rakstīto tā izrīkojas, nepievieno to šeit.\n\nTu apliecini, ka šo rakstu esi rakstījis vai papildinājis pats vai izmantojis informāciju no darba, ko neaizsargā autortiesības, vai tamlīdzīga brīvi pieejama resursa (sīkāk skatīt $1).\n\n'''BEZ ATĻAUJAS NEPIEVIENO DARBU, KO AIZSARGĀ AUTORTIESĪBAS!'''",
+       "editpage-cannot-use-custom-model": "Šīs lapas satura modeli nevar mainīt.",
        "longpageerror": "'''Kļūda: Teksts, kuru tu mēģināji saglabāt, ir $1 kilobaitus garš, kas ir vairāk nekā pieļaujamie $2 kilobaiti.\nTas nevar tikt saglabāts.'''",
        "readonlywarning": "'''Brīdinājums: Datubāze ir slēgta apkopei, tāpēc tu tagad nevarēsi saglabāt veiktās izmaiņas.\nTu vari nokopēt tekstu un saglabāt kā teksta failu vēlākam laikam.'''\n\nAdmins, kas slēdza datubāzi, norādīja šādu paskaidrojumu: $1",
        "protectedpagewarning": "'''BRĪDINĀJUMS: Šī lapa ir aizsargāta, tikai lietotāji ar administratora privilēģijām var to izmainīt.'''\n\nPēdējais aizsargāšanas reģistra ieraksts ir apskatāms zemāk:",
        "grant-highvolume": "Liela apjoma labošana",
        "grant-patrol": "Patrulēt lapu izmaiņas",
        "grant-privateinfo": "Piekļūt privātai informācijai",
+       "grant-sendemail": "Sūtīt e-pastu citiem dalībniekiem",
+       "grant-uploadeditmovefile": "Augšupielādēt, aizvieto un pārvietot failus",
        "grant-uploadfile": "Augšupielādēt jaunus failus",
        "grant-basic": "Pamattiesības",
        "grant-viewdeleted": "Skatīt dzēstos failus un lapas",
        "action-deleterevision": "dzēst versijas",
        "action-deletelogentry": "dzēst žurnāla ierakstus",
        "action-deletedhistory": "skatīt šīs lapas dzēsto vēsturi",
+       "action-deletedtext": "skatīt dzēsto versiju tekstu",
        "action-browsearchive": "meklēt dzēstās lapas",
        "action-undelete": "atcelt lapu dzēšanu",
        "action-suppressrevision": "pārskatīt un atjaunot slēptās versijas",
        "recentchanges-legend-heading": "<strong>Apzīmējumi:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (skatīt arī [[Special:NewPages|jaunās lapas]])",
        "recentchanges-submit": "Rādīt",
+       "rcfilters-tag-remove": "Noņemt \"$1\"",
+       "rcfilters-legend-heading": "<strong>Saīsinājumu saraksts:</strong>",
        "rcfilters-other-review-tools": "<strong>Citi pārskatīšanas rīki</strong>",
        "rcfilters-group-results-by-page": "Grupēt rezultātus pēc lapas",
        "rcfilters-grouping-title": "Grupēšana",
        "rcfilters-hours-title": "Pēdējās stundas",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|dienas|diena|dienas}}",
        "rcfilters-days-show-hours": "$1 {{PLURAL:$1|stundas|stunda|stundas}}",
+       "rcfilters-highlighted-filters-list": "Izcelts: $1",
        "rcfilters-quickfilters": "Saglabātie filtri",
        "rcfilters-quickfilters-placeholder-title": "Vēl nav saglabāto saišu",
        "rcfilters-savedqueries-defaultlabel": "Saglabātie filtri",
        "protectedpages-unknown-performer": "Nezināms lietotājs",
        "protectedtitles": "Aizsargātie nosaukumi",
        "protectedtitlesempty": "Pagaidām nevienas lapas nosaukums nav aizsargāts ar šiem paraametriem.",
-       "listusers": "dalībnieku uzskaitījums",
+       "listusers": "Dalībnieku saraksts",
        "listusers-editsonly": "Rādīt tikai dalībniekus, kas ir izdarījuši kādas izmaiņas",
        "listusers-creationsort": "Kārtot pēc izveidošanas datuma",
+       "listusers-desc": "Kārtot dilstošā secībā",
        "usereditcount": "$1 {{PLURAL:$1|izmaiņas|izmaiņa|izmaiņas}}",
        "usercreated": "{{GENDER:$3|Izveidoja}} $1 plkst. $2",
        "newpages": "Jaunas lapas",
        "booksources-search-legend": "Meklēt grāmatu avotus",
        "booksources-search": "Meklēt",
        "specialloguserlabel": "Izpildītājs:",
-       "speciallogtitlelabel": "Mērķis (nosaukums vai lietotājs):",
+       "speciallogtitlelabel": "Mērķis (nosaukums vai {{ns:user}}:lietotājvārds dalībniekam):",
        "log": "Reģistri",
        "logeventslist-submit": "Rādīt",
        "all-logs-page": "Visi publiski pieejamie reģistri",
index 89f3c0e..ad1b6ec 100644 (file)
@@ -19,7 +19,7 @@
        "tog-extendwatchlist": "Lhistaige spandida de todas las altaraçones a las páiginas begiadas, nun solo de las redadeiras",
        "tog-usenewrc": "Agrupar altaraçones por páigina nas mudanças recentes i páiginas bigiadas",
        "tog-numberheadings": "Outo-numerar cabeçalhos",
-       "tog-showtoolbar": "Amostrar barra d'eidiçon",
+       "tog-showtoolbar": "Amostrar la barra d'eidiçon",
        "tog-editondblclick": "Eiditar páiginas quando houbir un clique duplo",
        "tog-editsectiononrightclick": "Posseblitar l'eidiçon de cachos por clique cul boton dreito ne l títalo de la seçon",
        "tog-watchcreations": "Ajuntar las páiginas que you criar a las mies páiginas begiadas",
        "tog-previewontop": "Amostrar l'antebison antes de la caixa d'eidiçon",
        "tog-previewonfirst": "Amostrar l'antebison na purmeira eidiçon",
        "tog-enotifwatchlistpages": "Notificar-me por correio eiletrónico quando ua páigina begiada fur altarada",
-       "tog-enotifusertalkpages": "Abisar -me por correio eiletrónico quando la mie páigina de çcusson ye eiditada",
+       "tog-enotifusertalkpages": "Abisar-me por correio eiletrónico quando la mie páigina de cumbersa ye eiditada",
        "tog-enotifminoredits": "Abisar-me por correio eiletrónico tamien quando las eidiçones fúren pequeinhas",
        "tog-enotifrevealaddr": "Rebelar l miu andereço de correio eiletrónico nas noteficaçones",
        "tog-shownumberswatching": "Amostrar l númaro d'outelizadores a begiar",
-       "tog-fancysig": "Tratar assinatura cumo wikitesto (sin lhigaçon outomática)",
-       "tog-uselivepreview": "Amostrar antebisones sin recarregar la páigina",
+       "tog-oldsig": "La sue assinatura atual:",
+       "tog-fancysig": "Tratar assinatura cumo testo wiki (sin lhigaçon outomática)",
+       "tog-uselivepreview": "Amostrar antebisones sin recargar la páigina",
        "tog-forceeditsummary": "Abisar-me al antroduzir un sumairo bazio",
        "tog-watchlisthideown": "Scunder las mies eidiçones al lhistar mudanças a las páiginas begiadas",
        "tog-watchlisthidebots": "Scunder eidiçones de robós al lhistar mudanças a las páiginas begiadas",
        "tog-watchlisthideminor": "Scunder eidiçones menores al lhistar mudanças a las páiginas begiadas",
        "tog-watchlisthideliu": "Scunder eidiçones d'outelizadores outenticados al lhistar mudanças a las páiginas begiadas",
-       "tog-watchlisthideanons": "Scunder  eidiçones d'outelizadores anónimos al lhistar mudanças a las páiginas begiadas",
+       "tog-watchlistreloadautomatically": "Recargar la lhista de páiginas bigiadas outomaticamente siempre que un filtro ye altarado (ye neçairo l JavaScript)",
+       "tog-watchlistunwatchlinks": "Adicionar lhigaçones diretas pa bigiar ó deixar de bigiar, a las antradas de la lhista de páiginas bigiadas (ye neçairo l JavaScript para altarnar antre ambas)",
+       "tog-watchlisthideanons": "Scunder eidiçones d'outelizadores anónimos al lhistar mudanças a las páiginas begiadas",
        "tog-watchlisthidepatrolled": "Scunder  eidiçones patrulhadas al lhistar mudanças a las páiginas begiadas",
+       "tog-watchlisthidecategorization": "Scunder la catadorizaçon de las páiginas",
        "tog-ccmeonemails": "Ambiar-me cópias de l correio eiletrónico que you ambiar a outros outelizadores",
        "tog-diffonly": "Nun amostrar l cuntenido de la páigina al acumparar dues eidiçones",
-       "tog-showhiddencats": "Amostrar catadories oucultas",
+       "tog-showhiddencats": "Amostrar las catadories scundidas",
        "tog-norollbackdiff": "Scunder defrenças depuis de reberter eidiçones an bloco",
+       "tog-useeditwarning": "Abisar-me al abandonar ua páigina eiditada sin grabar las altaraçones.",
        "underline-always": "Siempre",
        "underline-never": "Nunca",
-       "underline-default": "Ousar la oupçon padron de l tema ó de l nabegador",
+       "underline-default": "Outelizar la oupçon padron de la maçcarilha ó de l nabegador",
+       "editfont-style": "Fuonte d'eidiçon:",
+       "editfont-default": "Fuonte por omisson, de l nabegador",
+       "editfont-monospace": "Fuonte monospaçada",
+       "editfont-sansserif": "Fuonte sin serifa",
+       "editfont-serif": "Fuonte serifada",
        "sunday": "demingo",
        "monday": "segunda-feira",
        "tuesday": "terça-feira",
        "talkpagelinktext": "Cumbersar",
        "specialpage": "Páigina special",
        "personaltools": "Ferramientas pessonales",
-       "talk": "Çcusson",
+       "talk": "Cumbersa",
        "views": "Besitas",
        "toolbox": "Ferramientas",
        "imagepage": "Ber páigina de fexeiro",
        "mediawikipage": "Ber páigina de mensaiges",
        "templatepage": "Ber páigina de modelos",
        "viewhelppage": "Ber páigina de ajuda",
-       "viewtalkpage": "Ber çcusson",
+       "viewtalkpage": "Ber cumbersa",
        "otherlanguages": "Outras lhénguas",
        "redirectedfrom": "(Ancaminamiento de $1)",
        "redirectpagesub": "Páigina de ancaminamiento",
        "mainpage": "Páigina percipal",
        "mainpage-description": "Páigina percipal",
        "policy-url": "Project:Políticas",
-       "portal": "Portal da quemunidade",
+       "portal": "Portal de la quemunidade",
        "portal-url": "Project:Portal de la quemunidade",
        "privacy": "Política de pribacidade",
        "privacypage": "Project:Política de pribacidade",
        "passwordsent": "Ua nuoba palabra chabe stá a ambiada pa la morada de correio eiletrónico de l outelizador \"$1\".\nPor fabor, bolta a fazer la outenticaçon al recebir-la.",
        "eauthentsent": "Ua carta eiletrónica de cunfirmaçon fui ambiada pa la morada de correio eiletrónico nomeada.\nAntes de qualquier outra carta eiletrónica seia ambiada pa la cuonta, terás de seguir las anstruçones na carta eiletrónica,\nde modo a cunfirmar que la cuonta ye mesmo la tue.",
        "mailerror": "Erro al ambiar la carta eiletrónica: $1",
+       "emailauthenticated": "L sou andereço de correio eiletrónico fui cunfirmado la $2, a las $3.",
        "emailconfirmlink": "Cunfirma la tue morada de correio eiletrónico",
        "loginlanguagelabel": "Lhéngua: $1",
+       "pt-userlogout": "Salir",
+       "changepassword": "Demudar palabra-chabe",
+       "resetpass_header": "Demudar palabra-chabe de la cuonta",
        "retypenew": "Pon outra beç la nuoba palabra chabe:",
+       "resetpass-submit-loggedin": "Demudar palabra-chabe",
+       "changeemail": "Altarar ó remober l'andereço de correio eiletrónico",
        "bold_sample": "Testo a negrito",
        "bold_tip": "Testo a negrito",
        "italic_sample": "Testo an eitálico",
        "newarticletext": "Tu bejiteste ua lhigaçon para ua páigina que inda nun eisiste.\nPara criar la páigina, ampeça a screbir an la caixa ambaixo (bei la [$1 páigina de ajuda] pa mais detailhes).\nSe stás eiqui por anganho, carrega ne l boton <strong>retornar</strong> de l tou nabegador de la Anternete.",
        "noarticletext": "Inda nun eisiste testo nesta páigina.\nTu puodes [[Special:Search/{{PAGENAME}}|percurar pul títalo desta páigina]] noutras páiginas,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} percurar ls registros que téngan a ber]\nó [{{fullurl:{{FULLPAGENAME}}|action=edit}} criar esta páigina]</span>.",
        "note": "'''Abiso:'''",
-       "previewnote": "'''Lhembra-te qu'esto ye solo ua amostra.'''\nLas altaraçones inda nun fúrun grabadas!",
+       "previewnote": "<strong>Lhembra-te qu'esto ye solo ua amostra.</strong>\nLas altaraçones inda nun fúrun grabadas!",
        "editing": "A eiditar $1",
        "editingsection": "A eiditar $1 (cacho)",
        "yourtext": "L tou testo",
        "storedversion": "berson guardada",
+       "yourdiff": "Defréncias",
        "copyrightwarning": "Por fabor, bei que todas las tues cuntribuiçones an {{SITENAME}} son cunsideradas cumo feitas ne ls termos de la lhicença $2 (bei $1 pa detailhes).\nSe nun quieres que l tou testo seia eiditado sin piedade i reçtribuído cunsante la gana, nun l ambies.<br />\nTu stás, al mesmo tiempo, a garantir-mos qu'esto ye algo screbido por ti, ó algo copiado d'ua fuonte de testos an domínio público ó parecido de teor lhibre.\n<strong>Nun ambies trabalho portegido por dreitos d'outor sien l debido permisso!</strong>",
        "templatesused": "{{PLURAL:$1|Modelo ousado|Modelos ousados}} nesta páigina:",
        "templatesusedpreview": "{{PLURAL:$1|Modelo outelizado|Modelos outelizados}} neste amostra:",
        "mergehistory-submit": "Misturar eidiçones",
        "revertmerge": "Çfazer ounion",
        "history-title": "Stórico de eidiçones de \"$1\"",
+       "difference-title": "Defréncias antre las eidiçones de \"$1\"",
        "lineno": "Lhinha $1:",
        "compareselectedversions": "Cumparar las bersones marcadas",
        "showhideselectedversions": "Amostrar/scunder bersones selecionadas",
        "prevn": "{{PLURAL:$1|anterior|$1 anteriores}}",
        "nextn": "{{PLURAL:$1|próssimo|próssimos $1}}",
        "viewprevnext": "Ber ($1 {{int:pipe-separator}} $2) ($3)",
+       "searchmenu-new": "<strong>Criar la páigina \"[[:$1]]\" nesta berson!</strong> {{PLURAL:$2|0=|Beija tamien la páigina ancontrada na percura.|Beija tamien ls resultados de la percura.}}",
+       "searchprofile-articles": "Páiginas de cuntenido",
        "searchprofile-images": "Multimédia",
        "searchprofile-everything": "Todo",
        "searchprofile-advanced": "Abançado",
+       "searchprofile-images-tooltip": "Percurar fexeiros",
+       "searchprofile-advanced-tooltip": "Personalizar ls domínios adonde percurar",
        "search-result-size": "$1 ({{PLURAL:$2|1 palabra|$2 palabras}})",
        "search-redirect": "(ancaminamiento pa $1)",
        "search-section": "(cacho $1)",
        "search-interwiki-default": "Resultados de $1:",
        "search-interwiki-more": "(mais)",
        "searchall": "todos",
+       "search-nonefound": "La percura nun porduziu resultados.",
        "powersearch-legend": "Percura abançada",
        "powersearch-ns": "Percurar ne ls spácios nominales:",
+       "powersearch-remember": "Lhembrar seleçon pa las pesquisas feturas",
        "preferences": "Perfréncias",
        "mypreferences": "Las mies perfréncias",
+       "prefs-edits": "Númaro d'eidiçones:",
        "prefs-skin": "Maçcarilha",
-       "skin-preview": "Amostrar",
+       "skin-preview": "amostrar",
+       "datedefault": "Sin preferéncia",
        "prefs-personal": "Calantriç",
-       "prefs-rc": "Redadeiras alteraçones",
+       "prefs-rc": "Redadeiras altaraçones",
+       "prefs-watchlist": "Páiginas begiadas",
+       "prefs-editwatchlist": "Eiditar lhista de páiginas bigiadas",
+       "prefs-editwatchlist-label": "Eiditar antradas na sue lhista de páiginas bigiadas:",
+       "prefs-editwatchlist-edit": "Ber i remober títalos de la sue lhista de páiginas bigiadas",
+       "prefs-editwatchlist-raw": "Eiditar lhista de páiginas bigiadas an forma de testo",
+       "prefs-editwatchlist-clear": "Lhimpar lhista de páiginas bigiadas",
+       "prefs-watchlist-days": "Dies a amostrar nas mudanças a las páiginas bigiadas:",
+       "prefs-watchlist-days-max": "Mássimo: $1 {{PLURAL:$1|die|dies}}",
+       "prefs-watchlist-edits": "Númaro mássimo d'eidiçones a amostrar na lhista de bigiadas:",
+       "prefs-watchlist-edits-max": "Númaro mássimo: 1000",
+       "prefs-watchlist-token": "Chabe secreta de la lhista de páiginas bigiadas:",
+       "prefs-resetpass": "Altarar palabra-chabe",
+       "prefs-changeemail": "Altarar ó remober correio eiletrónico",
+       "prefs-email": "Oupçones de l correio eiletrónico",
+       "prefs-rendering": "Aparéncia",
        "saveprefs": "Grabar",
+       "restoreprefs": "Restourar todas las cunfiguraçones padron (an todas las seçones)",
        "prefs-editing": "Oupçones de eidiçon",
+       "stub-threshold": "Lhemite pa la formataçon de lhigaçones pa rabiscos ($1):",
+       "stub-threshold-sample-link": "eisemplo",
+       "stub-threshold-disabled": "Zatibado",
+       "recentchangesdays": "Dies a apersentar nas mudanças recentes:",
+       "recentchangesdays-max": "Mássimo: $1 {{PLURAL:$1|die|dies}}",
+       "recentchangescount": "Númaro d'eidiçones a apersentar por omisson:",
+       "prefs-help-recentchangescount": "Anclui mudanças recentes, stórico de páiginas i registros.",
+       "prefs-help-watchlist-token2": "Esta ye la chabe secreta pa l ''feed'' RSS de la sue lhista de páiginas bigiadas.\nQualquiera pessona que coinça la chabe será capaç de lher la sue lhista de páiginas bigiadas, por esso nun la dibulgue.\n[[Special:ResetTokens|Clique eiqui pa redefenir eilha]].",
+       "timezonelegend": "Fuso hourário:",
+       "localtime": "Hora lhocal:",
+       "timezoneuseoffset": "Outro (specificar defréncia)",
        "servertime": "Hora de l serbidor:",
+       "guesstimezone": "Prencher a partir de l nabegador",
        "timezoneregion-africa": "África",
        "timezoneregion-america": "América",
        "timezoneregion-antarctica": "Antártida",
        "timezoneregion-arctic": "Ártico",
        "timezoneregion-asia": "Ásia",
-       "timezoneregion-atlantic": "Ouceano Atlântico",
+       "timezoneregion-atlantic": "Ouceano Atlántico",
        "timezoneregion-australia": "Oustrália",
        "timezoneregion-europe": "Ouropa",
        "timezoneregion-indian": "Ouceano Índico",
        "timezoneregion-pacific": "Ouceano Pacífico",
-       "default": "defeito",
+       "allowemail": "Aceitar correio eiletrónico d'outros outelizadores",
+       "default": "padron",
        "prefs-files": "Fexeiros",
+       "prefs-custom-css": "CSS personalizada",
+       "prefs-custom-js": "JS personalizado",
+       "prefs-common-css-js": "CSS/JS partilhado por todas las maçcarilhas:",
        "prefs-emailconfirm-label": "Cunfirmaçon de l correio eiletrónico:",
        "youremail": "Morada de correio eiletrónico:",
        "username": "Nome de {{GENDER:$1|outelizador|outelizadora|outelizador(a)}}:",
        "prefs-memberingroups": "{{GENDER:$2|Nembro}} {{PLURAL:$1|de l grupo|de ls grupos}}:",
+       "prefs-registration": "Data i hora de registro:",
        "yourrealname": "Nome berdadeiro:",
        "yourlanguage": "Lhéngua:",
        "yournick": "Assinatura:",
+       "prefs-help-signature": "Al anserir comentairos nas páiginas de cumbersa, assine eilhes poniendo quatro tiles \"<nowiki>~~~~</nowiki>\" ne l fin de ls comentairos. Al grabar, estes seran cumbertidos na sue assinatura cula data i la hora de la eidiçon.",
        "yourgender": "Cumo prefire ser çcrito(a)?",
-       "gender-unknown": "Al fazer mençon a la sue pessona, l ''software'' eirá outelizar palabras de l género neutro siempre que possible",
+       "gender-unknown": "Al fazer mençon a la sue pessona, l software eirá outelizar palabras de l género neutro siempre que possible",
        "gender-male": "El ye un outelizador",
        "gender-female": "Eilha ye ua outelizadora",
+       "prefs-help-gender": "Esta preferéncia ye oupcional.\nL software outeliza l sou balor pa l'andereçar i pa l mencionar a outros outelizando l género gramatical apropiado.\nEsta anformaçon será pública.",
        "email": "Morada Eiletrónica",
        "prefs-help-realname": "L nome berdadeiro ye oupcional.\nCauso l çponiblizes, este será outelizado pa te dar crédito pul tou trabalho.",
+       "prefs-help-email": "Oupcional: l'andereço de correio eiletrónico ye oupcional, mas será necessairo pa redefenir la palabra-chabe causo squeça l'antiga.",
+       "prefs-help-email-others": "Tamien puode ouptar por permitir que outros antren an cuntato cunsigo por correio eiletrónico, atrabeç dua lhigaçon nas sues páiginas de outelizador ó de cumbersa, sin rebelar l sou andereço de correio eiletrónico.",
+       "prefs-info": "Anformaçones básicas",
+       "prefs-i18n": "Anternacionalizaçon",
        "prefs-signature": "Assinatura",
        "prefs-dateformat": "Formato de la data",
+       "prefs-timeoffset": "Zbio hourário",
+       "prefs-advancedediting": "Oupçones girales",
+       "prefs-editor": "Eiditor",
+       "prefs-preview": "Ber cumo queda",
+       "prefs-advancedrc": "Oupçones abançadas",
+       "prefs-advancedrendering": "Oupçones abançadas",
+       "prefs-advancedsearchoptions": "Oupçones abançadas",
+       "prefs-advancedwatchlist": "Oupçones abançadas",
+       "prefs-displayrc": "Oupçones de bisualizaçon",
+       "prefs-displaywatchlist": "Oupçones de bisualizaçon",
+       "prefs-tokenwatchlist": "Chabe",
+       "prefs-diffs": "Defréncias",
        "editusergroup": "Cargar grupos de outelizadores",
        "userrights-groupsmember": "Nembro de:",
        "group": "Grupo:",
        "group-user": "Outelizadores",
+       "group-autoconfirmed": "Outelizadores outocunfirmados",
        "group-bot": "Rubós",
        "group-sysop": "Admenistradores",
        "group-bureaucrat": "Burocratas",
        "group-bot-member": "{{GENDER:$1|rubó}}",
        "group-sysop-member": "{{GENDER:$1|admenistrador|admenistradora|admenistrador(a)}}",
        "group-bureaucrat-member": "{{GENDER:$1|burocrata}}",
+       "grouppage-user": "{{ns:project}}:Outelizadores",
+       "grouppage-autoconfirmed": "{{ns:project}}:Outocunfirmados",
        "grouppage-bot": "{{ns:project}}:Rubós",
        "grouppage-sysop": "{{ns:project}}:Admenistradores",
+       "grouppage-bureaucrat": "{{ns:project}}:Burocratas",
+       "grouppage-suppress": "{{ns:project}}:Suprimir",
        "right-edit": "Eiditar páiginas",
        "right-move": "Arrastrar páiginas",
        "right-movefile": "Arrastrar fexeiros",
+       "grant-editmycssjs": "Eiditar l sou CSS/JavaScript personalizado",
        "newuserlogpage": "Registro de criaçon de outelizadores",
        "rightslog": "Registro de dreitos de l outelizador",
        "action-read": "lher esta páigina",
        "recentchanges-legend": "Oupçones de las redadeiras altaraçones",
        "recentchanges-feed-description": "Acumpanha las redadeiras altaraçones de l biqui por esta semiente.",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (ber tamien la [[Special:NewPages|lhista de páiginas nuobas]])",
+       "rcfilters-filtergroup-watchlist": "Páiginas begiadas",
        "rcnotefrom": "Ambaixo {{PLURAL:$5|stá la altaraçon feita|stan las alteraçones feitas}} zde <strong>$2</strong> (amostradas até <strong>$1</strong>).",
        "rclistfrom": "Amostrar las noubas altaraçones a partir de $2 de $3",
        "rcshowhideminor": "$1 eidiçones pequerrixas",
        "rc-enhanced-expand": "Amostrar detailhes",
        "rc-enhanced-hide": "Scunder detailhes",
        "recentchangeslinked": "Altaraçones relacionadas",
-       "recentchangeslinked-feed": "Alterações relacionadas",
-       "recentchangeslinked-toolbox": "Alterações relacionadas",
+       "recentchangeslinked-feed": "Altaraçones relacionadas",
+       "recentchangeslinked-toolbox": "Altaraçones relacionadas",
        "recentchangeslinked-title": "Altaraçones que ténen a ber cun \"$1\"",
        "recentchangeslinked-summary": "Esta páigina special amostra las redadeiras altaraçones de páiginas que téngan ua lhigaçon a outra (ó de nembros dua catadorie speceficada).\nLas páiginas que steian ne ls [[Special:Watchlist|tous begiados]] son amostradas an <strong>negrito</strong>.",
        "recentchangeslinked-page": "Nome de la páigina:",
        "randompage": "Páigina al calhas",
        "randomredirect": "Ancaminamiento al calhas",
        "statistics": "Statísticas",
+       "statistics-articles": "Páiginas de cuntenido",
        "statistics-pages": "Páiginas",
        "statistics-users-active": "Outelizadores atibos",
        "doubleredirects": "Ancaminamientos duplos",
        "booksources-search": "Percurar",
        "booksources-text": "Ye apersentada ambaixo ua lhista de lhigaçones para outros sítios na Anternete que benden lhibros nuobos i ousados i talbeç possuan anformaçones adicionales subre ls lhibros que percura:",
        "booksources-invalid-isbn": "L númaro ISBN apersentado nun parece ser bálido; berifique l'eisisténcia de ls erros al copiar de la fuonte ouriginal.",
-       "magiclink-tracking-rfc": "Páiginas qu'outelizan lhigaçones mágicas RFC",
+       "magiclink-tracking-rfc": "Páiginas quoutelizan lhigaçones mágicas RFC",
        "magiclink-tracking-rfc-desc": "Esta páigina outeliza lhigaçones mágicas RFC. Cunsulte la [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] para saber cumo migrar.",
-       "magiclink-tracking-pmid": "Páiginas qu'outelizan lhigaçones mágicas PMID",
+       "magiclink-tracking-pmid": "Páiginas quoutelizan lhigaçones mágicas PMID",
        "magiclink-tracking-pmid-desc": "Esta páigina outeliza lhigaçones mágicas PMID. Cunsulte la [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] para saber cumo migrar.",
-       "magiclink-tracking-isbn": "Páiginas qu'outelizan lhigaçones mágicas ISBN",
+       "magiclink-tracking-isbn": "Páiginas quoutelizan lhigaçones mágicas ISBN",
        "magiclink-tracking-isbn-desc": "Esta páigina outeliza lhigaçones mágicas ISBN. Cunsulte la [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] para saber cumo migrar.",
        "specialloguserlabel": "Outelizador(a):",
        "speciallogtitlelabel": "Albo (títalo ó páigina ó {{ns:user}}:nome d'outelizador):",
        "log": "Registros",
        "all-logs-page": "Todos ls registros públicos",
+       "logempty": "Nun eisiste nanhue antrada correspondente ne l registro.",
        "allpages": "Todas las páiginas",
        "nextpage": "Próssima páigina ($1)",
        "prevpage": "Páigina d'atrás ($1)",
        "linksearch": "Percura de lhigaçones sternas",
        "linksearch-ok": "Percurar",
        "listusers-submit": "Amostrar",
+       "activeusers": "Lhista de outelizadores atibos",
        "listgrouprights-rights": "Dreitos",
        "listgrouprights-members": "(lista de nembros)",
        "emailuser": "Ambiar carta eiletrónica a {{GENDER:{{BASEPAGENAME}}|este outelizador|esta outelizadora|este(a) outelizador(a)}}",
        "sp-contributions-newbies": "Percurar solo an las cuntribuiçones de nuobas cuontas",
        "sp-contributions-newbies-sub": "Pa cuontas nuobas",
        "sp-contributions-blocklog": "Registro de bloqueios",
-       "sp-contributions-talk": "Cumbersa",
+       "sp-contributions-talk": "cumbersa",
        "sp-contributions-search": "Percurar cuntribuiçones",
        "sp-contributions-username": "Morada de IP ó outelizador:",
        "sp-contributions-submit": "Percurar",
        "unblocklogentry": "zbloqueste $1",
        "block-log-flags-nocreate": "criaçon de cuontas zatibada",
        "move-page": "Arrastrar $1",
-       "move-page-legend": "Mover página",
+       "move-page-legend": "Arrastrar páigina",
        "movepagetext": "Outelizando este formulário tu puodes renomear ua páigina, arrastrando to l stórico para l nuobo títalo.\nL títalo anterior será transformado nun ancaminamiento para l nuobo.\nYe possible amanhar de forma outomática ancaminamientos que lhigen un títalo oureginal.\nCauso scuolhas para que esso nun seia feito, bei se nun hai ancaminamientos [[Special:DoubleRedirects|dues bezes]] ó [[Special:BrokenRedirects|scachados]].\nYe de la tue respunsablidade tener la certeza de que las lhigaçones cuntinan a apuntar pa adonde dében.\n\nArrepara que la páigina <strong>nun</strong> será arrastrada se yá eisistir ua páigina cul nuobo títalo, a nun ser que steia bazio ó seia un ancaminamiento i nun tenga stórico de eidiçones.\nEsto quier dezir que puodes renomear outra beç ua páigina pa l nome que tenie antes de l anganho i que nun puodes subrescrebir ua páigina.\n\n<strong>Cuidado:</strong>\nEsto puode ser ua altaraçon drástica i einesperada pa ua páigina popular;\npor fabor, ten la certeza de que antendes las cunsequéncias desto antes de cuntinar.",
-       "movepagetalktext": "Se assinalar esta oupçon, i eisistir ua páigina de çcusson associada, eilha será outomaticamente mobida, la nun ser que yá eisista ua páigina de çcusson cul nuobo títalo que nó steia bazie.\n\nNeste causo, tu terás de arrastrar la páigina de çcusson a la mano, ó la ajuntar cula eisistente, se assi quejires.",
+       "movepagetalktext": "Se assinalar esta oupçon, i eisistir ua páigina de cumbersa associada, eilha será outomaticamente mobida, la nun ser que yá eisista ua páigina de cumbersa cul nuobo títalo que nó steia bazie.\n\nNeste causo, tu terás de arrastrar la páigina de cumbersa a la mano, ó la ajuntar cula eisistente, se assi quejires.",
        "newtitle": "Nuobo títalo:",
        "move-watch": "Begiar esta páigina",
        "movepagebtn": "Arrastrar páigina",
        "pagemovedsub": "Páigina arrastrada cumo debe de ser",
        "movepage-moved": "'''\"$1\" fui arrastrado pa \"$2\"'''",
        "articleexists": "Yá eisiste ua páigina cun este títalo, ou l títalo que scolhiste ye ambálido.\nPor fabor, scuolhe outro nome.",
-       "movetalk": "Arrastrar tamien la páigina de çcusson associada.",
+       "movetalk": "Arrastrar tamien la páigina de cumbersa associada",
+       "move-subpages": "Arrastrar subpáiginas (anté $1)",
+       "move-talk-subpages": "Arrastrar subpáiginas de la páigina de cumbersa (anté $1)",
        "movelogpage": "Registro d'arrastros",
        "movereason": "Rezon:",
        "revertmove": "poner al robés",
+       "move-leave-redirect": "Criar un ancaminamiento",
        "export": "Sportar páiginas",
        "export-download": "Grabar cumo fexeiro",
        "allmessages": "Todas las mensaiges de l sistema",
        "allmessagesname": "Nome",
        "allmessagesdefault": "Testo por oumisson",
        "allmessages-filter-all": "Todas",
+       "allmessages-language": "Lhéngua:",
        "thumbnail-more": "Oumentar",
        "thumbnail_error": "Erro al criar eimaige pequeinha: $1",
        "importlogpage": "Registro de amportaçones",
        "tooltip-pt-mycontris": "{{GENDER:|Mies}} upas",
        "tooltip-pt-login": "Tu sós animado pa que te outentiques, inda que esso nun seia oubrigatório.",
        "tooltip-pt-logout": "Salir",
-       "tooltip-ca-talk": "Çcusson subre l cuntenido de la páigina",
+       "tooltip-ca-talk": "Cumbersa subre l cuntenido de la páigina",
        "tooltip-ca-edit": "Eiditar esta páigina",
        "tooltip-ca-addsection": "Ampeçar un cacho nuobo",
        "tooltip-ca-viewsource": "Esta páigina stá portegida.\nInda assi, tu puodes ber l sou código.",
        "tooltip-search-go": "Ir pa ua páigina cun este nome, causo eisista",
        "tooltip-search-fulltext": "Percurar por páiginas cun este testo",
        "tooltip-n-mainpage": "Besitar la páigina percipal",
-       "tooltip-n-mainpage-description": "Besitar la Páigina Percipal",
+       "tooltip-n-mainpage-description": "Besitar la páigina percipal",
        "tooltip-n-portal": "Subre l porjeto, l que puodes fazer, i adonde ancuntrar las cousas",
        "tooltip-n-currentevents": "Ancuntrar anformaçon de fondo subre amboras atuales",
        "tooltip-n-recentchanges": "Ua lhista de redadeiras altaraçones nesta biqui.",
        "tooltip-rollback": "\"{{int:rollbacklink}}\" çfazer, cun un solo clique, las eidiçones de l redadeiro eiditor desta páigina.",
        "tooltip-undo": "\"Çfazer\" çfaç esta eidiçoni abre ls campos de eidiçon ne l modo \"ber cumo queda\".\nPremite ajuntar la rezon de la eidiçon ne l sumário.",
        "lastmodifiedatby": "Esta páigina fui eiditada pula redadeira beç a la(s) $2 de $1 por $3.",
+       "pageinfo-toolboxlink": "Anformaçones de la páigina",
        "previousdiff": "← Eidiçon d'atrás",
        "nextdiff": "Redadeira eidiçon →",
+       "imagemaxsize": "Tamanho lhemite de la eimaige:<br /><em>(pa páiginas de çcriçon de fexeiros)</em>",
+       "thumbsize": "Tamanho de la meniatura:",
        "file-info-size": "$1 × $2 píxeles, tamanho: $3, tipo MIME: $4",
        "file-nohires": "Sin resoluçon maior çponible.",
        "svg-long-desc": "fexeiro SVG, de $1 × $2 píxeles, tamanho: $3",
        "table_pager_last": "Redadeira páigina",
        "table_pager_limit": "Amostrar $1 antradas por páigina",
        "table_pager_empty": "Sien resultados",
+       "autoredircomment": "Ancaminamiento pa [[$1]]",
+       "watchlistedit-normal-title": "Eiditar lhista de páiginas bigiadas",
        "watchlistedit-raw-titles": "Títalos",
+       "watchlistedit-clear-title": "Lhimpar lhista de páiginas bigiadas",
+       "watchlistedit-clear-legend": "Lhimpar lhista de páiginas bigiadas",
+       "watchlisttools-clear": "Lhimpar lhista de páiginas bigiadas",
        "watchlisttools-view": "Ber altaraçones amportantes",
        "watchlisttools-edit": "Ber i eiditar ls mius begiados",
        "watchlisttools-raw": "Ediçon bruta da lhista de ls bigiados",
+       "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|cumbersa]])",
        "version": "Berson",
        "version-specialpages": "Páiginas Speciales",
        "version-variables": "Bariables",
        "version-other": "Outro",
        "version-license": "Lhicença de l MediaWiki",
+       "version-ext-colheader-description": "Çcriçon",
        "version-software-product": "Perduto",
        "version-software-version": "Berson",
        "fileduplicatesearch-filename": "Nome de l fexeiro",
        "specialpages-group-pagetools": "Ferramienta de páiginas",
        "tags-title": "Eitiquetas",
        "tags-edit": "eiditar",
-       "rightsnone": "(nanhun)"
+       "tags-activate": "atibar",
+       "tags-deactivate": "zatibar",
+       "tags-activate-submit": "Atibar",
+       "diff-form": "Defréncias",
+       "rightsnone": "(nanhun)",
+       "mediastatistics-header-multimedia": "Média anriquecida",
+       "gotointerwiki": "Salindo de {{SITENAME}}"
 }
index ac0c33b..fe275cc 100644 (file)
@@ -86,7 +86,8 @@
                        "QZanden",
                        "Huhbakker",
                        "Jos1950",
-                       "Ooswesthoesbes"
+                       "Ooswesthoesbes",
+                       "MarcoSwart"
                ]
        },
        "tog-underline": "Verwijzingen onderstrepen:",
        "undelete-cantedit": "U kunt deze pagina niet terug plaatsen omdat u niet het recht hebt om deze pagina te bewerken.",
        "undelete-cantcreate": "U kunt deze pagina niet terugplaatsen omdat er geen bestaande pagina met deze naam is en u geen toestemming hebt om deze pagina aan te maken.",
        "pagedata-title": "Pagina data",
-       "pagedata-text": "Deze pagina biedt een data interface voor pagina's. Geef een pagina titel op door deze in de URL te plaatsen, met behulp van de deelpagina syntax.\n* De toegepaste inhoudsindeling wordt gebaseerd op de door de client meegestuurde Accept Header. Dit betekent dat de pagina'data wordt aangeleverd in het formaat waaraan de client de voorkeur geeft.",
+       "pagedata-text": "Deze pagina biedt een data-interface voor pagina's. Geef een paginatitel op door deze in de URL op te nemen, op de manier van een subpagina.\n* De inhoud wordt afgestemd op de door de client meegestuurde Accept Header. Dit betekent dat de gegevens voor de pagina worden aangeboden in het voorkeursformaat van uw client.",
        "pagedata-not-acceptable": "Er is geen overeenkomende indeling gevonden. Ondersteunde MIME-typen: $1",
        "pagedata-bad-title": "Ongeldige titel: $1."
 }
index 679e887..a97428c 100644 (file)
        "htmlform-int-toolow": "Podana wartość jest poniżej dopuszczalnego minimum $1",
        "htmlform-int-toohigh": "Podana wartość jest powyżej dopuszczalnego maximum $1",
        "htmlform-required": "Podanie tej wartości jest wymagane",
-       "htmlform-submit": "Zapisz",
+       "htmlform-submit": "Wyślij",
        "htmlform-reset": "Cofnij zmiany",
        "htmlform-selectorother-other": "Inne",
        "htmlform-no": "Nie",
index 2ca1e73..844971b 100644 (file)
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (veja também a [[Special:NewPages|lista de páginas novas]])",
        "recentchanges-legend-plusminus": "(''±123'')",
        "recentchanges-submit": "Exibir",
+       "rcfilters-tag-remove": "Remover '$1'",
        "rcfilters-legend-heading": "<strong>Lista de abreviaturas:</strong>",
        "rcfilters-other-review-tools": " <strong>Outras ferramentas de revisão:</strong>",
        "rcfilters-group-results-by-page": "Agrupar resultado por página",
        "rcfilters-hours-title": "Horas recentes",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|dia|dias}}",
        "rcfilters-days-show-hours": "$1 {{PLURAL:$1|hora|horas}}",
+       "rcfilters-highlighted-filters-list": "Realçado: $1",
        "rcfilters-quickfilters": "Filtros salvos",
        "rcfilters-quickfilters-placeholder-title": "Ainda não foi gravado nenhum link",
        "rcfilters-quickfilters-placeholder-description": "Para gravar as suas configurações dos filtros e reutilizá-las mais tarde, clique o ícone do marcador de página, na área Filtro Ativo abaixo.",
index 92c3a89..036a941 100644 (file)
        "specialpages": "{{doc-special|SpecialPages|unlisted=1}}\nDisplay name of link to [[Special:SpecialPages]] shown on all pages in the toolbox.\n\nSee also:\n* {{msg-mw|Specialpages}}\n* {{msg-mw|Accesskey-t-specialpages}}\n* {{msg-mw|Tooltip-t-specialpages}}\n{{Identical|Special page}}",
        "specialpages-summary": "{{doc-specialpagesummary|specialpages}}",
        "specialpages-note-top": "Heading for {{msg-mw|specialpages-note}}.\n{{Identical|Legend}}",
-       "specialpages-note-restricted": "Footer note for the [[Special:SpecialPages]] page",
+       "specialpages-note-restricted": "Footer note for the [[Special:SpecialPages]] page\n\nCompare {{msg-mw|Mw-core-1.18-specialpages-note}}",
        "specialpages-note-cached": "{{ignore}}\nFooter note for the [[Special:SpecialPages]] page",
        "specialpages-group-maintenance": "{{doc-special-group|like=[[Special:DoubleRedirects]], [[Special:LonelyPages]] and [[Special:WantedPages]]}}",
        "specialpages-group-other": "{{doc-special-group|like=[[Special:AdminLinks]] and [[Special:BookSources]]}}",
index cc85e3b..905a618 100644 (file)
@@ -16,7 +16,7 @@
        "sunday": "ⴰⵙⴰⵎⴰⵙ",
        "monday": "ⴰⵢⵏⴰⵙ",
        "tuesday": "ⴰⵙⵉⵏⴰⵙ",
-       "wednesday": "Akṛas (Řarbeɛ)",
+       "wednesday": "ⵍⴰⵔⴱⵄ",
        "thursday": "ⴰⴽⵡⴰⵙ",
        "friday": "ⴰⵙⵉⵎⵡⴰⵙ",
        "saturday": "Asiḍyas (Esseft)",
@@ -42,7 +42,7 @@
        "january-gen": "ⵉⵏⵏⴰⵢⵔ",
        "february-gen": "Ybrayr",
        "march-gen": "Mars",
-       "april-gen": "Ibrir",
+       "april-gen": "ⴰⴱⵔⵉⵍ",
        "may-gen": "ⵎⴰⵢⵢⵓ",
        "june-gen": "ⵢⵓⵏⵢⵓ",
        "july-gen": "ⵢⵓⵍⵢⵓⵣ",
@@ -54,7 +54,7 @@
        "jan": "ⵉⵏⵏ",
        "feb": "Yebrayer",
        "mar": "ⵎⴰⵔ",
-       "apr": "Abrir",
+       "apr": "ⴰⴱⵔ",
        "may": "ⵎⴰⵢ",
        "jun": "ⵢⵓⵏ",
        "jul": "ⵢⵓⵍ",
@@ -72,9 +72,9 @@
        "october-date": "$1 ⴽⵜⵓⴱⵔ",
        "november-date": "$1 ⵏⵓⵡⴰⵏⴱⵉⵔ",
        "december-date": "$1 ⴷⵓⵊⴰⵏⴱⵉⵔ",
-       "pagecategories": "{{PLURAL:$1|â´°âµ\99âµ\8eâµ\89âµ\8d|âµ\89âµ\99âµ\8eâµ\89âµ\8dⵏ}}",
-       "category_header": "âµ\9câ´°âµ\99âµ\8fâµ\89ⵡâµ\89âµ\8f â´·âµ\89 ⵜⴰⴳⴳⴰⵢⵜ \"$1\"",
-       "subcategories": "âµ\89â´·âµ\93âµ\99âµ\8eâµ\89âµ\8dⵏ",
+       "pagecategories": "{{PLURAL:$1|âµ\9cⴰⴳⴳⴰⵢâµ\9c|âµ\9cⴰⴳⴳⴰⵢâµ\89ⵏ}}",
+       "category_header": "âµ\9câ´°âµ\99âµ\8fâµ\89ⵡâµ\89âµ\8f âµ\8f ⵜⴰⴳⴳⴰⵢⵜ \"$1\"",
+       "subcategories": "âµ\9câ´°â´·âµ\93ⴳⴳⴰⵢâµ\89ⵏ",
        "category-media-header": "Media di category \"$1\"",
        "category-empty": "''Taggayt a war dags bu ca n Tasna niɣ ca n umedia.''",
        "listingcontinuesabbrev": "arni-d.",
@@ -89,7 +89,7 @@
        "and": "&#32;ⴷ",
        "actions": "ⵜⵉⴳⴰⵡⵉⵏ",
        "errorpagetitle": "ⵜⴰⵣⴳⵍⵜ",
-       "returnto": "Dwl ghar $1.",
+       "returnto": "ⴷⵡⵍ ⵖⵔ $1.",
        "tagline": "ⵣⵉ {{SITENAME}}",
        "help": "ⵜⵉⵡⵉⵙⵉ",
        "search": "ⵔⵣⵓ",
        "youhavenewmessages": "{{PLURAL:$3|ⵖⴰⵔⴽ|ⵖⴰⵔⵎ}} $1 ($2).",
        "editsection": "ⵙⵏⴼⵍ",
        "editold": "ⵙⵏⴼⵍ",
-       "viewsourceold": "ẓeṛ aɣbalu",
+       "viewsourceold": "ⵥⵔ ⴰⵙⴰⴳⵎ",
        "editlink": "ⵙⵏⴼⵍ",
        "viewsourcelink": "ẓṛ aghbalu",
        "editsectionhint": "ⵙⵏⴼⵍ ⵜⵉⴳⵣⵎⵉ: $1",
        "nstab-category": "ⴰⵙⵎⵉⵍ",
        "badtitle": "isem war icni ca",
        "badtitletext": "Isem n Tasna itexised war icni ca, ixwa, niɣ  isem n ajar-tutlayt niɣ ajar-wiki war icni ca.\nteqqad ad yilli days ca n usekkil war itwagg deg isem .",
-       "viewsource": "Ẓeṛ aɣbalu",
+       "viewsource": "ⵥⵔ ⴰⵙⴰⴳⵎ",
        "viewsourcetext": "Tzemred a tẓerd u atsneɣled aɣbal n Tasna ya :",
        "yourname": "Izwl-usqdac:",
        "yourpassword": "Tawalt n wadaf:",
        "passwordsent": "Taguri n wadaf tamaynut twassekked i e-mail  \"$1\".\nadeff-d xmi ɣa teṭfed.",
        "eauthentsent": "ijj n e-mail itwasekked ɣar e-mail nni.\nzzat ma ca n e-mail nniḍen ma ad itwasekk ɣar umiḍan , ixessa ad tegged manayenni di e-mail, bac ad nessen ila qa amiḍan a inec.",
        "loginlanguagelabel": "ⵜⵓⵜⵍⴰⵢⵜ: $1",
+       "pt-userlogout": "ⴼⴼⵖ",
        "retypenew": "Ɛawd arri Taguri n wadaf tamaynut:",
        "botpasswords-label-delete": "ⴽⴽⵙ",
-       "bold_sample": "Tirra tizurarin",
-       "bold_tip": "Tira tizurarin",
+       "bold_sample": "ⵜⵉⵔⵔⴰ ⵜⵉⵣⵓⵔⴰⵔⵉⵏ",
+       "bold_tip": "ⵜⵉⵔⵔⴰ ⵜⵉⵣⵓⵔⴰⵔⵉⵏ",
        "italic_sample": "Tirra titalyanin",
        "italic_tip": "Tira ifrghn.",
        "link_sample": "isem n tzedayt",
        "media_tip": "Tazdayt ufaylu",
        "sig_tip": "Azewl(signature) inec ag ukud(time) .",
        "hr_tip": "Acariḍ aglawan",
-       "summary": "Tagḍwit:",
+       "summary": "ⵜⵓⴳⵣⵉⵍⵜ:",
        "subject": "ⴰⵙⵏⵜⵍ:",
        "minoredit": "ⵡⴰ ⴷ ⴰⵙⵏⴼⵍ ⵓⵎⵥⵉⵢ",
        "watchthis": "Ḥḍa tasna ya",
        "deletedhist": "ⴰⵎⵣⵔⵓⵢ ⵉⵜⵜⵡⴰⴽⴽⵙⵏ",
        "mergehistory-reason": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
        "history-title": "Amezruy n teẓṛigt n \"$1\"",
-       "lineno": "Tabrit $1:",
+       "lineno": "ⴰⵣⵔⵉⴳ $1:",
        "compareselectedversions": "Smequdda tunɣilin a",
        "editundo": "kkes min ggiɣ",
        "searchresults": "ⵜⵉⵢⴰⴼⵓⵜⵉⵏ ⵏ ⵓⵔⵣⵣⵓ",
        "searchresults-title": "ⵜⵉⵢⴰⴼⵓⵜⵉⵏ ⵏ ⵓⵔⵣⵣⵓ ⵅⴼ \"$1\"",
        "prevn": "Amzray {{PLURAL:$1|$1}}",
        "nextn": "wn d-itasn {{PLURAL:$1|$1}}",
-       "viewprevnext": "Ẓeṛ ($1 {{int:pipe-separator}} $2) ($3)",
+       "viewprevnext": "ⵥⵔ ($1 {{int:pipe-separator}} $2) ($3)",
        "searchprofile-articles": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵏ ⵜⵓⵎⴰⵢⵜ",
        "searchprofile-everything": "ⵎⴰⵔⵔⴰ",
        "searchprofile-articles-tooltip": "ⵔⵣⵓ ⴳ $1",
        "listfiles-latestversion-yes": "ⵢⴰⵀ",
        "listfiles-latestversion-no": "ⵓⵀⵓ",
        "file-anchor-link": "ⴰⴼⴰⵢⵍⵓ",
-       "filehist": "Amzruy n usatul",
+       "filehist": "ⴰⵎⵣⵔⵓⵢ ⵏ ⵓⴼⴰⵢⵍⵓ",
        "filehist-help": "Tka di date/time bac ad tẓerd afaylu mamec ja d-itban di Lwaqt a .",
        "filehist-deleteall": "ⴽⴽⵙ ⵎⴰⵔⵔⴰ",
        "filehist-deleteone": "ⴽⴽⵙ",
        "filehist-current": "ⴰⵎⵉⵔⴰⵏ",
        "filehist-datetime": "ⴰⵙⴰⴽⵓⴷ/ⴰⴽⵓⴷ",
-       "filehist-user": "Aseqdac",
+       "filehist-user": "ⴰⵙⵇⴷⴰⵛ",
        "filehist-dimensions": "Tisektiwin",
        "filehist-filesize": "ⵜⵉⴷⴷⵉ ⵏ ⵓⴼⴰⵢⵍⵓ",
        "filehist-comment": "ⴰⵅⴼⴰⵡⴰⵍ",
-       "imagelinks": "Aseqdec usatul",
+       "imagelinks": "ⴰⵙⵇⴷⵛ ⵏ ⵓⴼⴰⵢⵍⵓ",
        "linkstoimage": "{{PLURAL:$1|Tasna ya teqn-ad|$1 Tasniwin a qnent-id}} ɣa ufaylu ya :",
        "nolinkstoimage": "war telli ca n Tasna teqqen-d ɣa ufaylu ya.",
        "sharedupload": "Wa d ijj ufaylu itwacrec jar aṭṭas n isenfaren(projects).",
        "apisandbox-continue-clear": "ⵙⴼⴹ",
        "booksources": "Ighbula n udlis",
        "booksources-search": "ⵔⵣⵓ",
-       "specialloguserlabel": "Aseqdac:",
+       "specialloguserlabel": "ⴰⵎⴳⴰⵢ:",
        "speciallogtitlelabel": "isem:",
        "log": "Aɣmis",
        "all-logs-page": "Maṛṛa iɣmisen",
        "allarticles": "ⵎⴰⵔⵔⴰ ⵜⴰⵙⵏⵉⵡⵉⵏ",
        "allpagessubmit": "Uyur",
        "allpagesprefix": "Ẓar Tasniwin s usekkil amzwaru:",
-       "categories": "âµ\89âµ\99âµ\8eâµ\89âµ\8dⵏ",
+       "categories": "âµ\9cⴰⴳⴳⴰⵢâµ\89ⵏ",
        "sp-deletedcontributions-contribs": "ⵜⵓⵎⵓⵜⵉⵏ",
        "linksearch-ok": "ⵔⵣⵓ",
        "listusers-submit": "Smmrad",
        "unblocklink": "Ṛẓem",
        "contribslink": "ⵜⵓⵎⵓⵜⵉⵏ",
        "blocklogpage": "Ẓareqq aɣmis",
-       "blocklogentry": "ibloka [[$1]] ar $2 $3",
+       "blocklogentry": "ⵉⴳⴷⵍ [[$1]] ar $2 $3",
        "block-log-flags-nocreate": "timggit n imiḍanen imaynutn ttwasbdd",
        "move-page": "ⵙⵎⵓⵜⵜⵉ $1",
        "move-page-legend": "ⵙⵎⵓⵜⵜⵉ ⵜⴰⵙⵏⴰ",
        "tooltip-ca-nstab-main": "Ẓeṛ tasna n ukettur",
        "tooltip-ca-nstab-user": "Ẓar Tasna n user",
        "tooltip-ca-nstab-project": "Ẓṛ tasna n usnfar",
-       "tooltip-ca-nstab-image": "Ẓar Tasna n ufaylu",
+       "tooltip-ca-nstab-image": "ⵥⵔ ⵜⴰⵙⵏⴰ ⵏ ⵓⴼⴰⵢⵍⵓ",
        "tooltip-ca-nstab-template": "Ẓṛ tamudmt",
        "tooltip-ca-nstab-help": "Ẓar Tasna n tallalt",
        "tooltip-ca-nstab-category": "Ẓṛ tasna n taggayt",
index ce42890..7496cf2 100644 (file)
        "tog-watchlisthideminor": "Скрывать малые правки из списка наблюдения",
        "tog-watchlisthideliu": "Скрывать правки представившихся участников из списка наблюдения",
        "tog-watchlistreloadautomatically": "Обновлять список наблюдения автоматически всякий раз, когда изменяется фильтр (требуется JavaScript)",
-       "tog-watchlistunwatchlinks": "Ð\94обавиÑ\82Ñ\8c Ð¿Ñ\80Ñ\8fмÑ\8bе Ð´Ð»Ñ\8f Ð²ÐºÐ»Ñ\8eÑ\87ениÑ\8f/иÑ\81клÑ\8eÑ\87ениÑ\8f Ð·Ð°Ð¿Ð¸Ñ\81ей Ð² Ð¡Ð¿Ð¸Ñ\81ок Ð½Ð°Ð±Ð»Ñ\8eдениÑ\8f (требуется JavaScript)",
+       "tog-watchlistunwatchlinks": "Ð\94обавиÑ\82Ñ\8c Ð² Ñ\81пиÑ\81ок Ð½Ð°Ð±Ð»Ñ\8eдениÑ\8f Ð¿Ñ\80Ñ\8fмÑ\8bе Ñ\81Ñ\81Ñ\8bлки Ð´Ð»Ñ\8f Ð¸Ñ\81клÑ\8eÑ\87ениÑ\8f Ð·Ð°Ð¿Ð¸Ñ\81ей (требуется JavaScript)",
        "tog-watchlisthideanons": "Скрывать правки анонимных участников из списка наблюдения",
        "tog-watchlisthidepatrolled": "Скрывать отпатрулированные правки из списка наблюдения",
        "tog-watchlisthidecategorization": "Скрывать категоризацию страниц",
index b92fbee..97de6d4 100644 (file)
        "log": "لاگس",
        "logeventslist-submit": "ڏيکاريو",
        "all-logs-page": "سڀ عوامي لاگس",
+       "checkbox-all": "سڀ",
        "checkbox-none": "ڪو بہ نہ",
        "checkbox-invert": "ابتيو",
        "allpages": "سڀ صفحا",
        "special-characters-group-thai": "ٿائي",
        "mw-widgets-dateinput-no-date": "ڪا بہ تاريخ نہ چونڊيل",
        "mw-widgets-titleinput-description-new-page": "اڃا اهو صفحو وجود نہ ٿو رکي",
-       "mw-widgets-titleinput-description-redirect": "$1 ڏانهن چوريل"
+       "mw-widgets-titleinput-description-redirect": "$1 ڏانهن چوريل",
+       "log-action-filter-all": "سڀ"
 }
index 9d1f190..4eaee8e 100644 (file)
        "tog-extendwatchlist": "Ssaɣḍ umuɣ n tisniwin lli n ttfur bac ad n ẓṛṛa imbddln maci ɣir imaynutn",
        "tog-usenewrc": "Skr s imbddln imaynutn lli n sastwa (ira mayad JavaScript)",
        "tog-numberheadings": "nmra n nsmiat wahdot",
-       "tog-showtoolbar": "sbaynd tizikrt n tbddil(JavaScript)",
-       "tog-editondblclick": "Ẓrig tisniwin ad s uklik snat wal ( ira mayad JavaScript)",
+       "tog-showtoolbar": "ⵙⴱⴰⵢⵏ ⴷ ⵜⵉⵏⵉⵎⴰⵙⵙⵏ ⵏ ⵓⵙⵏⴼⵍ",
+       "tog-editondblclick": "ⵙⵏⴼⵍ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵙ ⵓⵙⵉⵏⴽⵍⵉⴽ",
        "tog-editsectiononrightclick": "Yan uklik s tsga tafasi f uzwl n w-ayyaw bac ad tsbadlt ɣtad (ira JavaScript)",
        "tog-watchcreations": "Zaydn tasniwin lli skrɣ i umuɣ n tilli ssuġiɣ.",
        "tog-watchdefault": "Zaydn tasniwin lli tżrigɣ i umuɣ n tilli tsaggaɣ",
        "tog-watchmoves": "Zayd tisniwin lli smattayɣ i tilli tsggaɣ.",
        "tog-watchdeletion": "Zaydn tasniwin lli kkesɣ i tilli tsaggaɣ",
        "tog-minordefault": "ⵔⵛⵎ ⵉⵙⵏⴼⵍⵏ ⴰⴽⴽⵯ ⵎⴰⵙ ⴳⴰⵏ ⵓⵎⵥⵉⵢⵏ ⵙ ⵓⵡⵏⵓⵍ",
-       "tog-previewontop": "Mel iẓri amzwaru ɣ uflla ɣ taɣzut n imbddln",
+       "tog-previewontop": "ⵎⵍ ⴰⴱⵔⵉⴱⵢⵓ ⴰⴼⵍⵍⴰ ⵏ ⵓⵎⴽⴰⵏ ⵏ ⵓⵙⵏⴼⵍ",
        "tog-previewonfirst": "Ml imzray n imbdln imzwura",
        "tog-enotifwatchlistpages": "sifd yi tabrat  igh ibdl kra yat twriqt ghomdfor inu",
        "tog-enotifusertalkpages": "sifd yi tabrat  igh tbdl tawriqt ohokko-no",
@@ -42,7 +42,7 @@
        "tog-watchlisthidepatrolled": "Ḥbu ibdln lli nssugga  ɣu umuɣ n umdfr",
        "tog-ccmeonemails": "Azn n yyi tunɣit n tbratin liyid uzn wiyaḍ",
        "tog-diffonly": "Ad ur tml may illan ɣ tisniwin, ml ɣir mattnt isnaḥyan",
-       "tog-showhiddencats": "sbaynd tsnifat ihbanin",
+       "tog-showhiddencats": "ⵙⴱⴰⵢⵏ ⴷ ⵜⴰⴳⴳⴰⵢⵉⵏ ⵏⵜⵍⵏⵉⵏ",
        "tog-norollbackdiff": "hiyd lfarq baad lqiyam bstirjaa",
        "underline-always": "ⴷⵉⵎⴰ",
        "underline-never": "ⵊⵊⵓ",
@@ -50,8 +50,8 @@
        "editfont-style": "lkht n lmintaqa nthrir",
        "editfont-default": "ala hssab reglage n lmotasaffih",
        "editfont-monospace": "kht ard tabt",
-       "editfont-sansserif": "lkht bla zwayd",
-       "editfont-serif": "lkht szwayd",
+       "editfont-sansserif": "ⵜⵉⵙⵉⵙⴽⵉⵍⵜ ⴱⵍⴰ ⵙⵉⵔⵉⴼ",
+       "editfont-serif": "ⵜⵉⵙⵉⵙⴽⵉⵍⵜ ⵙⵉⵔⵉⴼ",
        "sunday": "ⴰⵙⴰⵎⴰⵙ",
        "monday": "ⴰⵢⵏⴰⵙ",
        "tuesday": "ⴰⵙⵉⵏⴰⵙ",
@@ -88,7 +88,7 @@
        "august-gen": "ⵖⵓⵛⵜ",
        "september-gen": "ⵛⵓⵜⴰⵏⴱⵉⵔ",
        "october-gen": "ⴽⵜⵓⴱⵔ",
-       "november-gen": "âµ\8fâµ\93ⵡⴰâµ\8fⴱⵉⵔ",
+       "november-gen": "âµ\8fâµ\93ⵡⴰâµ\8eⴱⵉⵔ",
        "december-gen": "ⴷⵓⵊⴰⵏⴱⵉⵔ",
        "jan": "ⵉⵏⵏ",
        "feb": "brayr",
        "november-date": "$1 ⵏⵓⵡⴰⵏⴱⵉⵔ",
        "december-date": "$1 ⴷⵓⵊⴰⵏⴱⵉⵔ",
        "pagecategories": "{{PLURAL:$1|ⵜⴰⴳⴳⴰⵢⵜ|ⵜⴰⴳⴳⴰⵢⵉⵏ}}",
-       "category_header": "âµ\9câ´°âµ\99âµ\8fâµ\89ⵡâµ\89âµ\8f âµ\96 ⵜⴰⴳⴳⴰⵢⵜ \"$1\"",
-       "subcategories": "âµ\89â´·âµ\93âµ\99âµ\8eâµ\89âµ\8dⵏ",
-       "category-media-header": "Asdaw multimedya ɣ taggayt \"$1\"",
-       "category-empty": "Taggayt ad ur gis kra n tasna, du-taggayt niɣd asddaw multimidya",
+       "category_header": "âµ\9câ´°âµ\99âµ\8fâµ\89ⵡâµ\89âµ\8f âµ\8f ⵜⴰⴳⴳⴰⵢⵜ \"$1\"",
+       "subcategories": "âµ\9câµ\89â´·âµ\93ⴳⴳⴰⵢâµ\89ⵏ",
+       "category-media-header": "ⵎⵉⴷⵢⴰ ⵏ ⵜⴰⴳⴳⴰⵢⵜ \"$1\"",
+       "category-empty": "<em>ⵜⴰⴳⴳⴰⵢⵜ ⴰⴷ ⵓⵔ ⵜⵓⵎⵢ ⵖⵉⵍⴰⴷ ⴽⵔⴰ ⵏ ⵜⴰⵙⵏⴰ ⵏⵖ ⴰⴼⴰⵢⵍⵓ.</em>",
        "hidden-categories": "{{PLURAL:$1|ⵜⴰⴳⴳⴰⵢⵜ ⵉⵏⵜⵍⵏ|ⵜⴰⴳⴳⴰⵢⵉⵏ ⵏⵜⵍⵏⵉⵏ}}",
-       "hidden-category-category": "âµ\89âµ\99âµ\8eâµ\89âµ\8dⵏ ⵏⵜⵍⵏⵉⵏ",
-       "category-subcat-count": "Taggayt ad gis {{PLURAL:$2|ddu taggayt|$2 ddu taggayin, lli ɣ tlla {{PLURAL:$1|ɣta|ɣti $1}}}} γu flla nna.",
-       "category-subcat-count-limited": "Taggayt ad illa gis {{PLURAL:$1|ddu taggayt| $1 ddu taggayyin}} ɣid ɣ uzddar.",
+       "hidden-category-category": "âµ\9cⴰⴳⴳⴰⵢâµ\89ⵏ ⵏⵜⵍⵏⵉⵏ",
+       "category-subcat-count": "{{PLURAL:$2|ⵜⴰⴳⴳⴰⵢⵜ ⴰⴷ ⵓⵔ ⵜⵓⵎⵢ ⴰⴱⵍⴰ ⵜⴰⴷⵓⴳⴳⴰⵢⵜ ⴰⴷ ⵉⵍⵍⴰⵏ ⴷⴷⴰⵡ ⴰⵙ.|ⵜⴰⴳⴳⴰⵢⵜ ⴰⴷ ⵜⵓⵎⵢ $2 ⵜⴷⵓⴳⴳⴰⵢⵉⵏ, ⴳⵉⵙ {{PLURAL:$1|ⵜⴰⴷⵓⴳⴳⴰⵢⵜ ⴰⴷ ⵉⵍⵍⴰⵏ|ⵜⵉⴷⵓⴳⴳⴰⵢⵉⵏ ⴰⴷ ⵙ $1 ⵍⵍⴰⵏⵉⵏ}} ⴷⴷⴰⵡ ⴰⵙ.}}",
+       "category-subcat-count-limited": "ⵜⴰⴳⴳⴰⵢⵜ ⴰⴷ ⵢⵓⵎⵢ {{PLURAL:$1|ⵜⴰⴷⵓⴳⴳⴰⵢⵜ|$1 ⵜⴰⴷⵓⴳⴳⴰⵢⵉⵏ}} ⴰⴷ ⴷⴷⴰⵡ ⴰⵙ.",
        "category-article-count": "Taggayt ad gis {{PLURAL:$2|tasna d yuckan|$2 tisniwin, lliɣ llant {{PLURAL:$1|ɣta|ɣti $1}} ɣid ɣu uzddar}}.",
        "category-article-count-limited": "{{PLURAL:$1|Tasna d yuckan tlla|Tisniwin $1 llid yuckan llant}} ɣ taggayt ad",
        "category-file-count": "Taggayt ad gis {{PLURAL:$2|asdaw ad yuckan|$2 isdawn ad, lliɣ llant {{PLURAL:$1|ɣta|ɣti $1}} ɣid ɣ uzddar}}.",
        "category-file-count-limited": "{{PLURAL:$1|Asdaw ad yuckan illa|isdawn ad $1 llid yuckan llan}} ɣ taggayt ad",
        "listingcontinuesabbrev": "Attfr",
-       "index-category": "Tisniwin su umatar",
+       "index-category": "ⵜⴰⵙⵡⵏⵉⵡⵉⵏ ⵜⵜⵡⴰⵏⴷⵉⴽⵙⴰⵏⵉⵏ",
        "noindex-category": "Tisniwin bla amatar",
        "broken-file-category": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵖ ⵍⵍⴰⵏ ⵉⵍⵉⵏⴽⵏ ⵔⵥⴰⵏⵉⵏ",
-       "about": "âµ\85ⴼ",
+       "about": "âµ\96ⴼ",
        "article": "ⵜⴰⵙⵏⴰ ⵏ ⵜⵓⵎⴰⵢⵜ",
        "newwindow": "(ⵉⵜⵜⵏⵓⵔⵥⵓⵎ ⴷⴳ ⵓⵙⴽⵙⵍ ⴰⵎⴰⵢⵏⵓ)",
-       "cancel": "ḥiyyd",
+       "cancel": "ⵙⵎⵎⵜ",
        "moredotdotdot": "ⵓⴳⴳⴰⵔ...",
        "mypage": "ⵜⴰⵙⵏⴰ",
        "mytalk": "ⴰⵎⵙⴰⵡⴰⵍ",
        "anontalk": "ⴰⵎⵙⴰⵡⴰⵍ",
        "navigation": "ⴰⵙⵜⴰⵔⴰ",
        "and": "&#32;ⴷ",
-       "faq": "Isqsitn li bdda tsutulnin",
+       "faq": "ⵉⵇⵙⵇⵙⵉⵜⵏ ⵜⵜⵢⴰⵍⴰⵙⵏⵉⵏ",
        "actions": "ⵜⵉⴳⴰⵡⵉⵏ",
        "namespaces": "Ismawn n tɣula",
        "variants": "ⵜⵉⵎⵣⴰⵔⴰⵢⵉⵏ",
        "errorpagetitle": "ⵜⴰⵣⴳⵍⵜ",
-       "returnto": "Urri s $1.",
+       "returnto": "ⴰⵖⵓⵍ ⵏⵏ ⵙ $1.",
        "tagline": "ⵣⵖ {{SITENAME}}",
        "help": "ⵜⵉⵡⵉⵙⵉ",
        "search": "ⵙⵉⴳⴳⵍ",
        "history_short": "ⴰⵎⵣⵔⵓⵢ",
        "history_small": "ⴰⵎⵣⵔⵓⵢ",
        "updatedmarker": "Tuybddal z tizrink li iğuran",
-       "printableversion": "Tasna nu sugz",
+       "printableversion": "ⴰⵎⴱⵔⵉⵎⵉ ⵜⴰⵙⵏⴰ ⴰⴷ",
        "permalink": "Azday Bdda illan",
        "print": "Siggz",
        "edit": "ⵙⵏⴼⵍ",
        "talk": "ⴰⵎⵙⴰⵡⴰⵍ",
        "views": "ⵜⴰⵏⵏⴰⵢⵉⵏ",
        "toolbox": "ⵉⵎⴰⵙⵙⵏ",
-       "imagepage": "Ẓr tasna n-usddaw",
-       "mediawikipage": "Ẓr tasna n tabrat",
+       "imagepage": "ⵥⵔ ⵜⴰⵙⵏⴰ ⵏ ⵓⴼⴰⵢⵍⵓ",
+       "mediawikipage": "ⵥⵔ ⵜⴰⵙⵏⴰ ⵏ ⵜⵓⵣⵉⵏⵜ",
        "templatepage": "Ẓr tasna n Tamudemt",
-       "viewhelppage": "Ẓr tasna n-aws",
-       "categorypage": "Ẓr tasna n taggayt",
-       "viewtalkpage": "Ẓr amsgdal",
+       "viewhelppage": "ⵥⵔ ⵜⴰⵙⵏⴰ ⵏ ⵜⵡⵉⵙⵉ",
+       "categorypage": "ⵥⵔ ⵜⴰⵙⵏⴰ ⵏ ⵜⴰⴳⴳⴰⵢⵜ",
+       "viewtalkpage": "ⵥⵔ ⴰⵎⵙⴰⵡⴰⵍ",
        "otherlanguages": "ⵙ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵢⴰⴹⵏ",
        "redirectedfrom": "(Tmmuttid z $1)",
        "redirectpagesub": "Tasna n-usmmattay",
-       "lastmodifiedat": "â´°âµ\99âµ\8fâ´¼âµ\8d âµ\89ⴳⴳⵯâµ\94â´°âµ\8f âµ\96 âµ\9câ´°âµ\99âµ\8fâ´° â´°â´· âµ\89âµ\9câµ\9câµ¢âµ\93âµ\99â´½âµ\94 â´°âµ\99âµ\99 âµ\8f $1 â´³ $2.",
+       "lastmodifiedat": "â´°âµ\99âµ\8fâ´¼âµ\8d âµ\89ⴳⴳⵯâµ\94â´°âµ\8f âµ\96 âµ\9câ´°âµ\99âµ\8fâ´° â´°â´· âµ\89âµ\9câµ\9câµ¢âµ\93âµ\99â´½âµ\94 â´°âµ\99âµ\99 âµ\8f $1 âµ\96 $2.",
        "viewcount": "Tmmurzm tasna yad {{PLURAL:$1|yat twalt|$1 mnnawt twal}}.",
        "protectedpage": "Tasnayat iqn ugdal nes.",
        "jumpto": "ⴷⴷⵓ ⵙ:",
        "jumptonavigation": "ⴰⵙⵜⴰⵔⴰ",
        "jumptosearch": "ⵙⵉⴳⴳⵍ",
-       "view-pool-error": "Surf, iqddacn žayn ɣilad. mnnaw midn yaḍnin ay siggiln tasna yad. Qqel imik fad addaɣ talst at tarmt at lkmt tasna yad\n\n$1",
+       "view-pool-error": "ⵙⵙⵓⵔⴼ ⴰⵙ, ⵉⵙⵉⵔⴱⵓⵔⵏ ⵕⵎⵉⵏ ⵖⵉⵍⴰⴷ.\nⴱⵣⵣⴰⴼ ⵏ ⵉⵙⵎⵔⴰⵙⵏ ⴰⵔ ⵜⵜⴰⵔⵎⵏ ⴰⴷ ⴰⵏⵏⴰⵢⵏ ⵜⴰⵙⵏⴰ ⴰⴷ.\nⵇⵇⵍ ⵢⴰⵏ ⵉⵎⵉⴽⴽ ⴼⴰⴷ ⴰⴷ ⴷⴰⵖ ⵜⴰⵔⵎⵜ ⴰⴷ ⵜⴽⵛⵎⵜ ⵙ ⵜⴰⵙⵏⴰ ⴰⴷ.\n\n$1",
        "pool-timeout": "Tzrit tizi n uql lli yak ittuykfan. Ggutn midn lli iran ad iẓr tasna yad. Urrid yan imik..",
        "pool-queuefull": "Umuɣ n twuri iẓun (iεmr)",
        "pool-errorunknown": "Anzri (error) ur ittuyssan.",
        "aboutsite": "ⴼ {{SITENAME}}",
        "aboutpage": "Project:ⵖⴼ",
-       "copyright": "Mayllan gis illa ɣ ddu $1.",
+       "copyright": "ⵜⴻⵜⵜⵢⵓⴼⵙⵔ ⵜⵓⵎⴰⵢⵜ ⵖ ⵓⵏⵛⴽ ⵏ $1, ⵉⵖ ⵓⵔ ⵉⵏⵏⵉ ⴽⵔⴰ ⵎⴳⴰⵍ ⵏ ⵖⴰⵢⴰⴷ.",
        "copyrightpage": "{{ns:project}}:ⵉⵣⵔⴼⴰⵏ ⵏ ⵓⵎⴳⴰⵢ",
        "currentevents": "Immussutn n ɣila",
        "currentevents-url": "Project:Immussutn n ɣilad",
        "mainpage": "ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ",
        "mainpage-description": "ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ",
        "policy-url": "Project:ⵜⴰⵙⵔⵜⵉⵜ",
-       "portal": "ⴰⵡⵡⵓⵔ ⵏ ⵜⴳⵔⴰⵡⵜ",
-       "portal-url": "Project:ⴰⵡⵡⵓⵔ ⵏ ⵜⴳⵔⴰⵡⵜ",
+       "portal": "ⴰⴳⴳⵓⵔ ⵏ ⵜⴳⵔⴰⵡⵜ",
+       "portal-url": "Project:ⴰⴳⴳⵓⵔ ⵏ ⵜⴳⵔⴰⵡⵜ",
        "privacy": "ⵜⴰⵙⵔⵜⵉⵜ ⵏ ⵜⵉⵏⵏⵓⵜⵍⴰ",
        "privacypage": "Project:ⵜⴰⵙⵔⵜⵉⵜ ⵏ ⵜⵉⵏⵏⵓⵜⵍⴰ",
        "badaccess": "Anezri (uras tufit)",
        "youhavenewmessages": "{{PLURAL:$3|{{GENDER:$3|ⴷⴰⵔⴽ|ⴷⴰⵔⵎ}}}} $1 ($2).",
        "newmessageslinkplural": "{{PLURAL:$1|ⵜⵓⵣⵉⵏⵜ ⵜⴰⵎⴰⵢⵏⵓⵜ|ⵜⵓⵣⵉⵏⵉⵏ ⵜⵉⵎⴰⵢⵏⵓⵜⵉⵏ}}",
        "newmessagesdifflinkplural": "{{PLURAL:$1|ⵓⵙⵏⴼⵍ ⵉⴳⴳⵯⵔⴰⵏ|ⵉⵙⵏⴼⵉⵍⵏ ⴳⴳⵯⵔⴰⵏⵉⵏ}}",
-       "youhavenewmessagesmulti": "{{GENDER:|â´·â´°âµ\94â´½|â´·â´°âµ\94âµ\8e}} âµ\9câµ\93âµ£âµ\89âµ\8fâµ\89âµ\8f âµ\9câµ\89âµ\8eâ´°âµ¢âµ\8fâµ\93âµ\9câµ\89âµ\8f â´³ $1",
+       "youhavenewmessagesmulti": "{{GENDER:|â´·â´°âµ\94â´½|â´·â´°âµ\94âµ\8e}} âµ\9câµ\93âµ£âµ\89âµ\8fâµ\89âµ\8f âµ\9câµ\89âµ\8eâ´°âµ¢âµ\8fâµ\93âµ\9câµ\89âµ\8f âµ\96 $1",
        "editsection": "ⵙⵏⴼⵍ",
        "editold": "ⵙⵏⴼⵍ",
-       "viewsourceold": "Mel aɣbalu",
+       "viewsourceold": "ⵥⵔ ⴰⵙⴰⴳⵎ",
        "editlink": "ⵙⵏⴼⵍ",
        "viewsourcelink": "ⵥⵔ ⴰⵙⴰⴳⵎ",
        "editsectionhint": "ⵙⵏⴼⵍ ⵜⵉⴳⵣⵎⵉ: $1",
        "toc": "ⵜⵓⵎⴰⵢⵉⵏ",
-       "showtoc": "Mel",
+       "showtoc": "ⵎⵍ",
        "hidetoc": "ⵙⵙⵏⵜⵍ",
        "collapsible-collapse": "Smnuḍu",
        "collapsible-expand": "Sfruri",
        "confirmable-yes": "ⵢⴰⵀ",
        "confirmable-no": "ⵓⵀⵓ",
-       "thisisdeleted": "Mel niɣd rard $1?",
-       "viewdeleted": "Mel $1?",
-       "restorelink": "{{PLURAL:$1|ⵢⴰⵏ ⵓⵙⵏⴼⵍ ⵉⵜⵜⵡⴰⴽⴽⵙⵏ|imbddel lli imḥin}}",
+       "thisisdeleted": "ⵉⵙ ⵜⵔⵉⵜ ⴰⴷ ⵜⴰⵏⵏⴰⵢⵜ ⵏⵖ ⴰⴷ ⵜⵙⵙⴰⴹⵓⵜ $1?",
+       "viewdeleted": "ⴰⴷ ⵜⵥⵔⵜ $1?",
+       "restorelink": "{{PLURAL:$1|ⵢⴰⵏ ⵓⵙⵏⴼⵍ ⵉⵜⵜⵡⴰⴽⴽⵙⵏ|$1 ⵉⵙⵏⴼⵉⵍⵏ ⵜⵜⵡⴰⴽⴽⵙⵏⵉⵏ}}",
        "feedlinks": "ⵉⴼⵉⵍⵉ:",
        "feed-invalid": "Anaw n usurdm ur gis iffuy umya",
        "feed-unavailable": "Isudmn ur llanin ɣil",
-       "site-rss-feed": "$1 asudm n RSS",
-       "site-atom-feed": "$1 lqm n' atom",
-       "page-rss-feed": "\"$1\" tlqim RSS",
-       "page-atom-feed": "$1 azday atom",
+       "site-rss-feed": "ⵉⴼⵉⵍⵉ RSS ⵏ $1",
+       "site-atom-feed": "ⵉⴼⵉⵍⵉ ⴰⵟⵓⵎ ⵏ $1",
+       "page-rss-feed": "ⵉⴼⵉⵍⵉ RSS ⵏ \"$1\"",
+       "page-atom-feed": "ⵉⴼⵉⵍⵉ ⴰⵟⵓⵎ ⵏ \"$1\"",
        "red-link-title": "$1 (ⵜⴰⵙⵏⴰ ⵓⵔ ⵉⵍⵍⵉⵏ)",
        "nstab-main": "ⵜⴰⵙⵏⴰ",
        "nstab-user": "ⵜⴰⵙⵏⴰ ⵏ {{GENDER:{{ROOTPAGENAME}}|ⵓⵙⵎⵔⴰⵙ|ⵜⵙⵎⵔⴰⵙⵜ}}",
        "nstab-media": "Tasnat Ntuzumt",
        "nstab-special": "ⵜⴰⵙⵏⴰ ⵉⵥⵍⵉⵏ",
-       "nstab-project": "Tasna n tuwuri",
+       "nstab-project": "Project page",
        "nstab-image": "ⴰⴼⴰⵢⵍⵓ",
        "nstab-mediawiki": "ⵜⵓⵣⵉⵏⵜ",
        "nstab-template": "Talɣa",
        "nstab-category": "ⵜⴰⴳⴳⴰⵢⵜ",
        "mainpage-nstab": "ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ",
        "nosuchaction": "ⵓⵔ ⵜⵍⵍⵉ ⵜⵉⴳⴰⵡⵜ ⴰⴷ",
-       "nosuchactiontext": "Mytuskarn ɣu tansa yad ur tti tgi.\n\nIrwas is turit tansa  skra mani yaḍnin, ulla azday ur igi amya.\n\nTzdar attili tamukrist ɣ {{SITENAME}}.",
+       "nosuchactiontext": "Mytuskarn ɣu tansa yad ur tti tgi.\nⵉⵔⵡⴰⵙ ⵉⵙ ⵓⵔ ⵜⵓⵔⵉⵜ ⵎⵣⵢⴰⵏ ⴰURL, ⵏⵖ ⵉⵙ ⵜⴹⴼⵔⵜ ⴽⵔⴰ ⵏ ⵓⵍⵉⵏⴽ ⵉⵣⴳⵍⵏ.\nTzdar attili tamukrist ɣ {{SITENAME}}.",
        "nosuchspecialpage": "ⵓⵔ ⵜⵍⵍⵉ ⵜⴰⵙⵏⴰ ⴰⴷ ⵉⵥⵍⵉⵏ",
-       "nospecialpagetext": "<strong>Trit yat tasna tamzlit ur illan.</strong>\n\nTifilit n tasnayin gaddanin ratn taft ɣid [[Special:SpecialPages|{{int:specialpages}}]].",
+       "nospecialpagetext": "<strong>ⵜⴻⵜⵜⵔⵜ ⵢⴰⵜ ⵜⴰⵙⵏⴰ ⵉⵥⵍⵉⵏ ⵓⵔ ⵉⵍⵍⵉⵏ.</strong>\n\nⵔⴰⴷ ⵜⴰⴼⵜ ⵢⴰⵜ ⵜⵍⴳⴰⵎⵜ ⵏ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵥⵍⵉⵏⵉⵏ ⵖⵜⴰⵏⵉⵏ ⵖ [[Special:SpecialPages|{{int:specialpages}}]].",
        "error": "ⵜⴰⵣⴳⵍⵜ",
        "databaseerror": "ⵜⴰⵣⴳⵍⵜ ⴳ ⵜⴰⵙⵉⵍⴰ ⵏ ⵉⵙⴼⴽⴰ",
-       "databaseerror-error": "âµ\9cⴰⵣⴳâµ\8dâµ\9c: $1",
+       "databaseerror-error": "ⴰⵣⴳⴳⴰâµ\8d: $1",
        "laggedslavemode": "Ḥan tasnayad ur gis graygan ambddel amaynu.",
-       "readonly": "Tqqn tabase",
+       "readonly": "ⵜⴰⵙⵉⵍⴰ ⵏ ⵉⵙⴼⴽⴰ ⵉⵜⵜⵡⴰⵔⴳⵍⵏ",
        "missing-article": "lqaa'ida n lbayanat ortofa nass ad gh tawriqt  liss ikhssa asti taf limism \"$1\" $2.\n\nghikad artitsbib  igh itabaa lfrq aqdim nghd tarikh artawi skra nsfha ityohyadn.\n\nighor iga lhal ghika ati ran taft kra lkhata gh lbarnamaj.\n\nini mayad ikra [[Special:ListUsers/sysop|lmodir]] tfktas ladriss ntwriqt an.",
        "missingarticle-rev": "(lmorajaaa#: $1)",
        "missingarticle-diff": "(ⴰⵎⵣⴰⵔⴰⵢ: $1, $2)",
        "internalerror_info": "ⵜⴰⵣⴳⵍⵜ ⵜⴰⴳⵯⵏⵙⴰⵏⵜ: $1",
        "filecopyerror": "orimkin ankopi \"$1\" s \"$2\".",
        "filerenameerror": "ur as tufit ad tsmmut \"$1\" s \"$2\".",
-       "filedeleteerror": "Ur as yuffi ad ikkis asddaw ad « $1 ».",
+       "filedeleteerror": "ⵓⵔ ⵢⴰⵍⵍⴼⵓⵙ ⴰⴷ ⵉⵜⵜⵡⴰⴽⴽⵙ ⵓⴼⴰⵢⵍⵓ \"$1\".",
        "directorycreateerror": "Ur as tufit an tgt asddaw « $1 ».",
-       "filenotfound": "Ur as tufit ad taft \"$1\"",
+       "filenotfound": "ⵓⵔ ⵢⴰⵍⵍⴼⵓⵙ ⴰⴷ ⵉⵜⵜⵢⴰⴼ ⵓⴼⴰⵢⵍⵓ \"$1\".",
        "unexpected": "Azal (atig) llis ur nql: « $1 » = « $2 ».",
        "formerror": "Anzri: ur as tufit an tgt tifrkit",
        "badarticleerror": "Tigawt ad ur  as tufi ad ttuyskar ɣ tasna yad.",
        "cannotdelete": "Ur as tufa tasna yad ad ttuykkas niɣd asdaw ad « $1 ».\nAkks ad iskrt kra yaḍn",
        "badtitle": "Azwl ur ifulkin",
        "badtitletext": "Azwl n tasna lli trit ur igadda, ixwa, niɣd iga aswl n gr tutlayt niḍ ngr tuwwurins ur izdimzyan. Ẓr urgis tgit kra nu uskkil niɣd mnnaw lli gis ur llanin",
-       "viewsource": "Mel iɣbula",
-       "virus-unknownscanner": "ⴰⵎⴳⵍⴼⵉⵔⵓⵙ ⴰⵔⵓⵙⵙⵉⵏ:",
+       "viewsource": "ⵥⵔ ⴰⵙⴰⴳⵎ",
+       "virus-unknownscanner": "ⴰⵎⴳⵍⴱⵉⵔⵓⵙ ⴰⵔⵓⵙⵙⵉⵏ:",
+       "welcomeuser": "ⴱⵔⵔⴽ ⴰ $1!",
        "yourname": "ⵉⵙⵎ ⵏ ⵓⵙⵎⵔⴰⵙ:",
-       "yourpassword": "awal iḥdan:",
-       "yourpasswordagain": "Зawd ara awal iḥdan:",
+       "yourpassword": "ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ:",
+       "yourpasswordagain": "ⴰⵔⴰ ⴷⴰⵖ ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ:",
        "yourdomainname": "Taɣult nek",
        "externaldberror": "Imma tlla ɣin kra lafut ɣu ukcumnk ulla urak ittuyskar at tsbddelt lkontnk nbrra.",
        "login": "ⴽⵛⵎ",
        "nav-login-createaccount": "ⴽⵛⵎ / ⵙⵏⵓⵍⴼⵓ ⴰⵎⵉⴹⴰⵏ",
        "logout": "ⴼⴼⵖ",
        "userlogout": "ⴼⴼⵖ",
-       "notloggedin": "Ur tmlit mat git",
-       "createaccount": "Murzm amidan nek (lkunt)..",
+       "notloggedin": "ⵓⵔ ⵜⵣⴷⵉⵜ",
+       "createaccount": "ⵔⵥⵎ ⴽⵔⴰ ⵏ ⵓⵎⵉⴹⴰⵏ",
        "createaccountmail": "S tirawt taliktunant",
+       "createacct-reason": "ⵜⴰⵎⵏⵜⵉⵍⵜ",
        "createacct-benefit-body1": "{{PLURAL:$1|ⴰⵙⵏⴼⵍ|ⵉⵙⵏⴼⵉⵍⵏ}}",
        "createacct-benefit-body2": "{{PLURAL:$1|ⵜⴰⵙⵏⴰ|ⵜⴰⵙⵏⵉⵡⵉⵏ}}",
        "createacct-benefit-body3": "{{PLURAL:$1|ⴰⵏⴰⵎⵓ ⵉⴳⴳⵯⵔⴰⵏ|ⵉⵏⴰⵎⵓⵜⵏ ⴳⴳⵯⵔⴰⵏⵉⵏ}}",
-       "badretype": "Tasarut lin tgit ur dis tucka.",
+       "badretype": "ⵜⵉⴳⵓⵔⵉⵡⵉⵏ ⵏ ⵓⵣⵔⴰⵢ ⵏⵏⴰ ⵜⵙⵙⴽⵛⵎⵜ ⵓⵔ ⵎⵙⴰⵙⴰⵏⵜ.",
        "userexists": "Asaɣ nu umsqdac li tskcmt illa yad",
        "loginerror": "Gar akccum",
        "createaccounterror": "$1 ur as tufit at kcmt",
-       "loginsuccesstitle": "Tkcmt mzyan (tllit ɣil ɣ ifalan)",
-       "loginsuccess": "Tllit ɣilad ɣ ifalan (tzdit d tuqqna) {{GENDER:$1|||}} ar {{SITENAME}} zund « $1 ».",
+       "loginsuccesstitle": "ⵜⵣⴷⵉⵜ ⵏⵏ",
+       "loginsuccess": "<strong>ⵀⴰ ⴽ(ⵎ) ⵉⵏⵏ ⵖⵉⵍⴰⴷ ⵜⵣⴷⵉⵜ ⵏⵏ ⵖ {{SITENAME}} ⵙ ⵢⵉⵙⵎ ⵏ \"$1\".</strong>",
        "nosuchuser": "Asqdac « $1 » ur illi.\nUssaɣ n isqdacn ḥiln hlli.\nẒṛ daɣ ist turit mzyan mayad, niɣd [[Special:CreateAccount|tmmurẓmt amiḍan amaynu]].",
        "nosuchusershort": "Ur illa umsaws lli ilan assaɣ « $1 ». Ẓṛ ist turit mzyan mayad.",
        "nouserspecified": "Illa fllak ad tarat assaɣ nk.",
        "pt-login-button": "ⴽⵛⵎ",
        "pt-userlogout": "ⴼⴼⵖ",
        "php-mail-error-unknown": "Kra ur igadda tasɣnt btbratin() n PHP.",
-       "changepassword": "bdl awal ihdan",
+       "changepassword": "ⵙⵏⴼⵍ ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ",
        "resetpass_announce": "Tkcmt {{GENDER:||e|(e)}} s yat tangalt lli kin ilkmt s tbrat emeil . tangaltad ur tgi abla tin yat twalt. Bac ad tkmlt tqqiyyidank kcm tangalt tamaynut nk ɣid:",
-       "resetpass_header": "Sbadl taguri n tangalt n umiḍal (compte)",
-       "oldpassword": "Awal iḥḍan aqbur",
-       "newpassword": "Awal iḥḍan amaynu:",
-       "retypenew": "Als i tirra n w-awal iḥḍan:",
+       "resetpass_header": "ⵙⵏⴼⵍ ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ ⵏ ⵓⵎⵉⴹⴰⵏ",
+       "oldpassword": "ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ ⵉⵇⴷⵎⵏ:",
+       "newpassword": "ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ ⵜⴰⵎⴰⵢⵏⵓⵜ:",
+       "retypenew": "ⴰⵔⴰ ⴷⴰⵖ ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ ⵜⴰⵎⴰⵢⵏⵓⵜ:",
        "resetpass_submit": "Sbadl awal n uzri tkcmt",
        "changepassword-success": "Awal n uzri nk ibudl mzyan! rad nit tilit ɣ ifalan",
        "botpasswords-label-create": "ⵙⵏⵓⵍⴼⵓ",
        "botpasswords-label-delete": "ⴽⴽⵙ",
        "resetpass_forbidden": "Iwaliwn n uzri ur ufan ad badln.",
        "resetpass-no-info": "illa fllak ad zwar tilit ɣ ifalan bac ad tkcmt s tasna yad",
-       "resetpass-submit-loggedin": "Bdl awal n ukccum (tangalt)",
-       "resetpass-submit-cancel": "ḥiyyd",
+       "resetpass-submit-loggedin": "ⵙⵏⴼⵍ ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ",
+       "resetpass-submit-cancel": "ⵙⵎⵎⵜ",
        "resetpass-wrong-oldpass": "Awal n uzri yad niɣt walli yak ittkfan i yatwalt ur gis iffuɣ umya.\nHan irwas is yad tsbadlt awal n uzri niɣd is ḍalbt yan yaḍn n yat tklit.",
        "resetpass-temp-password": "Awal ad n uzri iga ɣir win yat tklit:",
        "bold_sample": "Aḍṛiṣ iḍnin",
        "bold_tip": "Aḍṛiṣ iḍnin",
        "italic_sample": "Aḍṛiṣ iknan",
        "italic_tip": "Aḍṛiṣ iknan",
-       "link_sample": "Azwl n uzday",
+       "link_sample": "ⴰⵣⵡⵍ ⵏ ⵓⵍⵉⵏⴽ",
        "link_tip": "ⴰⵍⵉⵏⴽ ⴰⴳⵯⵏⵙⴰⵏ",
        "extlink_sample": "http://www.example.com ⴰⵣⵡⵍ ⵏ ⵓⵍⵉⵏⴽ",
-       "extlink_tip": "â´°âµ\8dâµ\89âµ\8fâ´½ â´°â´±âµ\94âµ\94ⴰⵏ (ⴰⴷ ⵓⵔ ⵜⴻⵜⵜⵓⵜ ⴰⵣⵡⵉⵔ http://)",
+       "extlink_tip": "â´°âµ\8dâµ\89âµ\8fâ´½ â´°â´±âµ\95âµ\95ⴰⵏ (ⴰⴷ ⵓⵔ ⵜⴻⵜⵜⵓⵜ ⴰⵣⵡⵉⵔ http://)",
        "headline_sample": "Aḍṛiṣ n ddu uzwl",
        "headline_tip": "Ddu-uzwl taskfalt 2",
        "nowiki_sample": "Kcm aḍṛiṣ li ur imzln ɣid",
        "nowiki_tip": "Zri Taseddast n wiki",
-       "image_tip": "Asdaw n illan",
-       "media_tip": "Azday s usdaw usɣmas (midya)",
-       "sig_tip": "Tirra n ufus nk (akrraj) s usakud",
-       "hr_tip": "izriri iɣzzifn (ad bahra gis ur tsgut)",
-       "summary": "Tagḍwit (ⵜⴰⴳⴹⵡⵉⵜ):",
+       "image_tip": "ⴰⴼⴰⵢⵍⵓ ⵉⵜⵜⵡⴰⵙⵉⴷⴼⵏ",
+       "media_tip": "ⴰⵍⵉⵏⴽ ⵏ ⵓⴼⴰⵢⵍⵓ",
+       "sig_tip": "ⴰⵙⴳⵎⴹ ⵏⵏⴽ/ⵎ ⵙ ⵜⵉⵣⵉ",
+       "hr_tip": "izriri iɣzzifn (ⴰⴷ ⵜ ⵓⵔ ⵜⵙⵙⵓⴳⵜⵜ)",
+       "summary": "ⵜⵓⴳⵣⵉⵍⵜ:",
        "subject": "ⴰⵙⵏⵜⵍ:",
        "minoredit": "ⵡⴰⴷ ⵉⴳⴰ ⴰⵙⵏⴼⵍ ⵓⵎⵥⵉⵢ",
        "watchthis": "ⴹⴼⵓⵔ ⵜⴰⵙⵏⴰ ⴰⴷ",
        "savearticle": "Ẓṛig d tḥbut",
-       "preview": "Iẓṛi amzwaru",
+       "preview": "ⴱⵔⵉⴱⵢⵓ",
        "showpreview": "ⵎⵍ ⵜⴰⵎⵓⵖⵍⵉ",
        "showdiff": "ⵎⵍ ⵉⵙⵏⴼⵉⵍⵏ",
        "anoneditwarning": "Han  ''' ur ttuyssant ''' rad ibayn IP nk ɣ umzrut n tasna yad, ur sul  iḥba tamagit nk",
-       "anonpreviewwarning": "ur ittuyssan mat tgit. Iɣ tgdl tawuri nk, tansa nk IP rad tbayn ɣ umzruy n imbdln n tasna yad.",
+       "anonpreviewwarning": "<em>ⵓⵔ ⵜⵣⴷⵉⵜ. Saving will record your IP address in this page's edit history.</em>",
        "missingsummary": "'''Adakt nskti :''' ur ta tfit awal imun n imbddln nk.\nIɣ tklikkit tiklit yaḍn f tjrrayt « $1 », aẓṛig rad ittuyskar blla tsnt",
-       "missingcommenttext": "Σafak skjm awnnit (aɣfawal) nk ɣ uflla.",
-       "summary-preview": "Tiẓṛi  n tagḍwit:",
+       "missingcommenttext": "ⵉ ⵕⴱⴱⵉ ⵙⵙⴽⵛⵎ ⴽⵔⴰ ⵏ ⵓⵖⴼⴰⵡⴰⵍ ⴷⴷⴰⵡ ⴰⵙ.",
+       "summary-preview": "ⴱⵔⵉⴱⵢⵓ ⵏ ⵜⵓⴳⵣⵉⵍⵜ ⵏ ⵓⵙⵏⴼⵍ:",
        "blockedtitle": "ⵉⵜⵜⵡⴰⴳⴷⵍ ⵓⵙⵎⵔⴰⵙ ⴰⴷ",
-       "blockednoreason": "ta yan sabab oritfki",
-       "whitelistedittext": "Illa fllak ad tilit ɣ $1 bac adak ittuyskar ad tsbadlt mayllan ɣid",
+       "blockednoreason": "ⵓⵔ ⵜⴻⵜⵜⵢⵓⴼⴽⵉ ⴽⵔⴰ ⵏ ⵜⵎⵏⵜⵉⵍⵜ",
+       "whitelistedittext": "ⵉ ⵕⴱⴱⵉ $1 ⵉⵖ ⵜⵔⵉⵜ ⴰⴷ ⵜⵙⵏⴼⵍⵜ ⵜⴰⵙⵏⵉⵡⵉⵏ.",
        "confirmedittext": "Illa fllak ad talst i tansa nk tbratin urta tsbadalt tisniwin.\nKcm zwar tft tansan nk tbratin ɣ [[Special:Preferences|Timssusmin n umqdac]].",
        "nosuchsectiontitle": "Ur as tufit ad taft ayyaw ad.",
        "nosuchsectiontext": "Turmt ad tsbadlt yan w-ayyaw lli ur illin.\nḤaqqan is immutti s mani niɣt ittuykkas s mad tɣrit tasnayad.",
-       "loginreqtitle": "Labd ad tkclt zwar",
+       "loginreqtitle": "ⵍⴰⴱⵓⴷⴷ ⵏ ⵓⵣⴷⴰⵢ",
        "loginreqlink": "ⴽⵛⵎ",
-       "loginreqpagetext": "Illa fllak  $1 bac ad tẓṛt tisniwin yaḍn.",
-       "accmailtitle": "awal ihdan hatin yuznak nnit",
+       "loginreqpagetext": "ⵉ ⵕⴱⴱⵉ $1 ⵉⵖ ⵜⵔⵉⵜ ⴰⴷ ⵜⴰⵏⵏⴰⵢⵜ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵢⴰⴹⵏ.",
+       "accmailtitle": "ⵜⴻⵜⵜⵢⵓⵣⵏ ⵜⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ",
        "newarticle": "(ⴰⵎⴰⵢⵏⵓ)",
        "newarticletext": "Tfrt yan uzday s yat tasna lli ur ta jju illan [{{fullurl:Special:Log|type=delete&page={{FULLPAGENAMEE}}}} ttuykkas].\nIɣ rast daɣ tskrt skcm atṛiṣ nk ɣ tanaka  yad (Tẓḍaṛt an taggt γi [$1 tasna u usaws] iɣ trit inɣmisn yaḍn).\nIvd tlkmt {{GENDER:||e|(e)}} ɣis bla trit, klikki f tajrrayt n '''urrir''' n iminig nk (navigateur).",
        "noarticletext": "ⵓⵔ ⵖⵉⵍⴰⴷ ⵉⵍⵍⵉ ⴽⵔⴰ ⵏ ⵓⴹⵔⵉⵙ ⵖ ⵜⴰⵙⵏⴰ ⴰⴷ.\nⵜⵥⴹⴰⵔⵜ [[Special:Search/{{PAGENAME}}|ⴰⴷ ⵜⵙⵉⴳⴳⵍⵜ ⴰⵣⵡⵍ ⴰⴷ]] ⵖ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵢⴰⴹⵏ,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs],\nⵏⵖ [{{fullurl:{{FULLPAGENAME}}|action=edit}} ⴰⴷ ⵜⵙⵏⵓⵍⴼⵓⵜ ⵜⴰⵙⵏⴰ ⴰⴷ]</span>.",
        "noarticletext-nopermission": "Ur illa may itt yuran ɣ tasna tad.\nẒr [[Special:Search/{{PAGENAME}}|search for this page title]] ɣ tisnatin yaḍnin,\nulla <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}}search the related logs]</span>.",
        "updated": "(mohdata)",
        "note": "'''molahada:'''",
-       "previewnote": "'''Ad ur ttut aṭṛiṣ ad iga ɣir amzwaru urta illa ɣ ifalan !'''",
+       "previewnote": "<strong>Remember that this is only a preview.</strong>\nⵉⵙⵏⴼⵉⵍⵏ ⵏⵏⴽ/ⵎ ⵓⵔ ⵜⴰ ⵜⵜⵢⵓⵣⵎⵎⵉⵎⵏ!",
        "editing": "ⴰⵙⵏⴼⵍ ⵏ $1",
        "creating": "ⴰⵙⵏⵓⵍⴼⵓ ⵏ $1",
        "editingsection": "ⴰⵙⵏⴼⵍ ⵏ $1 (ⵜⵉⴳⵣⵎⵉ)",
-       "yourtext": "nss nek",
+       "yourtext": "ⴰⴹⵔⵉⵙ ⵏⵏⴽ/ⵎ",
        "storedversion": "noskha ityawsjaln",
        "yourdiff": "ⵉⵎⵣⴰⵔⴰⵢⵏ",
        "copyrightwarning": "ikhssak atst izd kolchi tikkin noun ɣ {{SITENAME}} llan ɣdo $2 (zr $1 iɣ trit ztsnt uggar).\niɣ ortrit ayg ɣayli torit ḥor artisbadal wnna ka-iran, attid ortgt ɣid.<br />\nikhssak ola kiyi ador tnqilt ɣtamani yadni.\n'''ador tgat ɣid ɣayli origan ḥor iɣzark orilli lidn nbab-ns!'''",
        "templatesusedpreview": "{{PLURAL:$1|Tamuḍimt llis nskar |Timuḍam lli sa nskar }} ɣ iẓriyad amzwaru :",
        "template-protected": "(ⵉⵜⵜⵢⵓⴼⵔⴰⴳ)",
        "template-semiprotected": "Azin-ugdal",
-       "hiddencategories": "{{PLURAL:$1|Taggayt iḥban|Taggayin ḥbanin}} lli ɣtlla tasba yad :",
+       "hiddencategories": "ⵜⵍⵍⴰ ⵜⴰⵙⵏⴰ ⴰⴷ ⵖ {{PLURAL:$1|1 ⵜⴰⴳⴳⴰⵢⵜ ⵉⵏⵜⵍⵏ|$1 ⵜⴰⴳⴳⴰⵢⵉⵏ ⵏⵜⵍⵏⵉⵏ}}:",
        "permissionserrors": "ⵜⴰⵣⴳⵍⵜ ⵖ ⵜⵓⵔⴰⴳⵜ",
        "permissionserrorstext-withaction": "Urak ittuyskar  {{IGGUT:||e|(e)}} s $2, bac {{PLURAL:$1|s wacku yad|iwackutn ad}} :",
        "recreate-moveddeleted-warn": "\"Balak z ɣin: tmmaɣt addaɣ tskrt tasna lli yad ittuykkasn.\"\nẒr zwar is ifulki ad tfrt imbddln ɣ tasna yad. Tanɣmast n mad ittuykkasn d mad ibddln ttla ɣid ɣ uzddar.",
-       "moveddeleted-notice": "Tasna yad ttuykkas. inɣmas n tuyykkas d issmmattayn nsn llan ɣ ɣ ufflla i tusna.",
+       "moveddeleted-notice": "ⵜⴻⵜⵜⵡⴰⴽⴽⵙ ⵜⴰⵙⵏⴰ ⴰⴷ.\nⵜⵓⴽⴽⵙⴰ, ⴰⴼⵔⴰⴳ, ⴷ ⵓⵙⵎⵓⵜⵜⵉ ⵏ ⵜⴰⵙⵏⴰ ⵍⵍⴰⵏ ⴷⴷⴰⵡ‒ⴰⵙ for reference.",
        "log-fulllog": "Zṛ anɣmas izun (usmmid)",
        "edit-hook-aborted": "Imbddln ur ttuyskarnin.. Ur ittuyssan maɣ",
        "edit-gone-missing": "Ur iga as f was tasnayad\nḤaqqan is iḥiyd kra n yan",
-       "edit-conflict": "Maɣn ɣid imbddln",
-       "edit-no-change": "Ambdeln nk nxxln acku ur ibudl walu ɣ uṭṛiṣ.",
-       "edit-already-exists": "Tasnayad tlla yadlli. ur as tufit ast daɣ tskrt.",
+       "edit-conflict": "ⴰⵎⵎⵣⵔⴰⵢ ⵖ ⵓⵙⵏⴼⵍ.",
+       "edit-no-change": "ⵉⵜⵜⵢⵓⵏⵅⵅⵍ ⵓⵙⵏⴼⵍ ⵏⵏⴽ/ⵎ ⴰⵛⴽⵓ ⵡⴰⵍⵓ ⵎⴰⴷ ⵉⵏⴼⵍⵏ ⵖ ⵓⴹⵔⵉⵙ.",
+       "edit-already-exists": "ⵓⵔ ⵢⴰⵍⵍⴼⵓⵙ ⴰⴷ ⵜⵏⵓⵍⴼⵓ ⵜⴰⵙⵏⴰ ⴰⴷ ⵜⴰⵎⴰⵢⵏⵓⵜ.\nⵜⵍⵍⴰ ⵢⴰⴷ.",
        "post-expand-template-inclusion-warning": "Han:  tasna yad illa gis tuggut n tmuḍimin. Kra gitsnt ur ran illint.",
        "post-expand-template-inclusion-category": "Tisniwin lli bahra ittafn tuggut n tmuḍimin",
        "post-expand-template-argument-warning": "Balak: Tasna ivɣ gis uggar n iɣwar n tmudimt lli ur tti ttajjan an gis tilli\nTigira n ujbbad ns, ar takka yat tayafut bahra imqqurn,  ɣayan afan ur ttili.",
        "currentrevisionlink": "Amcggr amggaṛu",
        "cur": "ⵎⵔⵏ",
        "next": "ⵓⴹⴼⵉⵔ",
-       "last": "Amzwaru",
-       "page_first": "walli izwarn",
-       "page_last": "walli igran",
-       "histlegend": "Isisfiw amzyan : ({{MediaWiki:Cur}}) = urtga zund  lqm (la version) n ɣila, ({{MediaWiki:Last}}) = urd tmcacka d lqm lli izrin, <b>m</b> = ambddl idrusn",
-       "history-fieldset-title": "Sigel ɣ umzruy",
+       "last": "ⵣⵡⵔ",
+       "page_first": "ⵜⴰⵎⵣⵡⴰⵔⵓⵜ",
+       "page_last": "ⵜⴰⵎⴳⴳⴰⵔⵓⵜ",
+       "histlegend": "Diff selection: ⵕⵛⵎ the radio boxes ⵏ ⵜⵓⵏⵖⵉⵍⵉⵏ ⵏⵏⴰ ⵜⵔⵉⵜ ⴰⴷ ⵜⵙⵎⵣⴰⵣⴰⵍⵜ, ⵜⴰⴷⴷⵜ ⵖⴼ enter ⵏⵖ ⵜⴰⴱⵓⵟⵓⵏⵜ ⵉⵍⵍⴰⵏ ⴷⴷⴰⵡ ⴰⵙ.<br />\nⵜⵉⵣⴳⵣⵉⵍⵉⵏ: <strong>({{int:cur}})</strong> = ⴰⵎⵣⴰⵔⴰⵢ ⵉⵍⵍⴰⵏ ⴷ ⵜⵓⵏⵖⵉⵍⵜ ⵉⴳⴳⵯⵔⴰⵏ, <strong>({{int:last}})</strong> = ⴰⵎⵣⴰⵔⴰⵢ ⵉⵍⵍⴰⵏ ⴷ ⵜⵓⵏⵖⵉⵍⵜ ⵉⵣⵡⴰⵔⵏ ⵜⴰⴷ, <strong>{{int:minoreditletter}}</strong> = ⴰⵙⵏⴼⵍ ⵓⵎⵥⵉⵢ.",
+       "history-fieldset-title": "ⵙⵉⴳⴳⵍ revisions",
        "history-show-deleted": "Tḥiyd hlli",
-       "histfirst": "Amzwaru",
-       "histlast": "Amggaru",
+       "histfirst": "ⴰⵇⴷⵉⵎ ⴰⴽⴽⵯ",
+       "histlast": "ⴰⵎⴰⵢⵏⵓ ⴰⴽⴽⵯ",
        "historyempty": "(ⵢⵓⴳⴰ)",
-       "history-feed-item-nocomment": "$1 â´³ $2",
+       "history-feed-item-nocomment": "$1 âµ\96 $2",
        "rev-delundel": "Mel/ĥbu",
-       "rev-showdeleted": "Mel",
+       "rev-showdeleted": "ⵎⵍ",
        "revdelete-show-file-submit": "ⵢⴰⵀ",
        "revdelete-radio-set": "ⵉⵏⵜⵍ",
        "revdelete-radio-unset": "uhu",
        "revdelete-suppress": "Ḥbu issfkatn ḥtta iy-indbal",
        "revdelete-unsuppress": "Kkiss iqqntn i imcggrn llid n surri.",
-       "revdelete-log": "Maɣ..acku:",
+       "revdelete-log": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
        "revdel-restore": "sbadl tannayt",
        "pagehist": "ⴰⵎⵣⵔⵓⵢ ⵏ ⵜⴰⵙⵏⴰ",
        "deletedhist": "ⴰⵎⵣⵔⵓⵢ ⵉⵜⵜⵡⴰⴽⴽⵙⵏ",
        "mergehistory": "Smun imzruyn n tisniwin.",
        "mergehistory-header": "Tasna yad ar ttjja ad tsmunt ticggarin n umzruy ɣ yat tasna taɣbalut s yat tasna tamaynut.",
        "mergehistory-box": "Smun ilqqmn ad n snat tisniwin :",
-       "mergehistory-from": "Nasna n uɣbalu.",
-       "mergehistory-into": "Tasna n uwttas:",
+       "mergehistory-from": "ⵜⴰⵙⵏⴰ ⵜⴰⵙⴰⵍⴰⵏⵜ:",
+       "mergehistory-into": "ⵜⴰⵙⵏⴰ ⵏ ⵓⵡⵜⵜⴰⵙ:",
        "mergehistory-list": "Amzruy n imbddln lli munin.",
        "mergehistory-merge": "ilqqmn ad n [[:$1]] ẓḍarn ad mun d [[:$2]]. Skr s Tannalt n tagffalt (tajrrayt) radyu bac ad tsmunt ilqqmn lli ittuyskarn ɣ umzwaru ar asakud lli ɣin illan. Han ad  tamskart n isdayn n ummuddu rad daɣ alsn z sizwar tannalt ad.",
        "mergehistory-go": "Ẓṛ imbddln lli izḍarn ad mun.",
        "mergehistory-done": "$3 lqm{{PLURAL:$3||s}} n $1  {{PLURAL:$3|imunn|munnin}} ɣ [[:$2]].",
        "mergehistory-fail": "Ur as yuffi ad yili umun ɣ yan n imzruyn. Sti daɣ tasna d ḥtta iɣwwarn n usakud.",
        "mergehistory-no-source": "Tasna taɣbalut $1 ur tlli.",
-       "mergehistory-no-destination": "Tasna n uwttas $1 ur tlli.",
+       "mergehistory-no-destination": "ⵜⴰⵙⵏⴰ ⵏ ⵓⵡⵜⵜⴰⵙ $1 ⵓⵔ ⵜⵍⵍⵉ.",
        "mergehistory-invalid-source": "Tasna taɣbalut ila fllas ad tili yan uzwl lli igaddan.",
        "mergehistory-invalid-destination": "Tasna n uwttas illa fllas ad ṭṭaf yan uzwl igaddan.",
        "mergehistory-autocomment": "[[:$1]] tllan ɣ ugns n  [[:$2]]",
        "mergehistory-comment": "Tllan [[:$1]] ɣ ugns n  [[:$2]]: $3",
        "mergehistory-same-destination": "Tisniwin tiɣbula d tin ɣilli rant urgant yat.",
-       "mergehistory-reason": "Maɣ:",
+       "mergehistory-reason": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
        "mergelog": "Aɣmis n imsmun",
        "revertmerge": "Fukku",
        "mergelogpagetext": "Γid umuɣ n izdayn n umzruy n yat tasna ɣ yat yaḍn lli igan tamaynut",
-       "history-title": "Asakud n umcggr n « $1 »",
-       "difference-multipage": "Amzaray (laḥna) gr tisniwin",
-       "lineno": "Izriri $1:",
-       "compareselectedversions": "Snahya gr ilqmn lli tuystaynin",
+       "history-title": "ⴰⵎⵣⵔⵓⵢ ⵏ \"$1\"",
+       "difference-multipage": "(ⴰⵎⵣⴰⵔⴰⵢ ⴳⵔ ⵜⴰⵙⵏⵉⵡⵉⵏ)",
+       "lineno": "ⴰⵣⵔⵉⵔⴳ $1:",
+       "compareselectedversions": "ⵙⵎⵣⴰⵣⴰⵍ revisions ⵜⵜⵢⵓⵙⵜⴰⵢⵏⵉⵏ",
        "showhideselectedversions": "Ml/Ḥbu ilqmn lli ittuystayn",
        "editundo": "Urri",
        "diff-multi-manyusers": "({{PLURAL:$1|yan ulqm n gratsn|$1 ilqmn ngratsn}} zdar mnnaw {{PLURAL:$2|amcgr |n $2 imcgrn}} {{PLURAL:$1|iḥba|lli iḥban}})",
        "titlematches": "Assaɣ n tasna iga zund",
        "textmatches": "Aṭṛiṣ n tasna iga zund",
        "notextmatches": "Ur ittyufa kra nu uṭṛiṣ igan zund ɣwad",
-       "prevn": "Tamzwarut {{PLURAL:$1|$1}}",
+       "prevn": "{{PLURAL:$1|$1 ⵉⵣⵡⴰⵔⵏ|$1 ⵣⵡⴰⵔⵏⵉⵏ}}",
        "nextn": "Tallid yuckan {{PLURAL:$1|$1}}",
-       "prevn-title": "$1 {{PLURAL:$1|Askfa amzaru|Iskfatn imzwura}}",
+       "prevn-title": "$1 {{PLURAL:$1|ⵜⵢⴰⴼⵓⵜ ⵉⵣⵡⴰⵔⵏ|ⵜⵢⴰⴼⵓⵜⵉⵏ ⵣⵡⴰⵔⵏⵉⵏ}}",
        "nextn-title": "$1 {{PLURAL:$1|ⵜⵢⴰⴼⵓⵜ ⵜⵓⴹⴼⵉⵔⵜ|ⵜⵢⴰⴼⵓⵜⵉⵏ ⵜⵓⴹⴼⵉⵔⵉⵏ}}",
        "shown-title": "ⵎⵍ $1 {{PLURAL:$1|ⵜⵢⴰⴼⵓⵜ|ⵜⵢⴰⴼⵓⵜⵉⵏ}} ⵉ ⵜⴰⵙⵏⴰ",
-       "viewprevnext": "Mel ($1 {{int:pipe-separator}} $2) ($3)",
-       "searchmenu-exists": "\"'Tlla yat tasna lli ilan assaɣ « [[:$1]] » ɣ wiki yad",
-       "searchmenu-new": "<strong>âµ\99âµ\8fâµ\93âµ\8dâ´¼âµ\93 âµ\9câ´°âµ\99âµ\8fâ´° \"[[:$1]]\" â´³ ⵓⵡⵉⴽⵉ ⴰⴷ!</strong> {{PLURAL:$2|0=|See also the page found with your search.|See also the search results found.}}",
+       "viewprevnext": "ⵥⵔ ($1 {{int:pipe-separator}} $2) ($3)",
+       "searchmenu-exists": "<strong>ⵜⵍⵍⴰ ⵢⴰⵜ ⵜⴰⵙⵏⴰ ⵉⵍⴰⵏ ⵉⵙⵎ ⵏ \"[[:$1]]\" ⵖ ⵓⵡⵉⴽⵉ ⴰⴷ.</strong> {{PLURAL:$2|0=|See also the other search results found.}}",
+       "searchmenu-new": "<strong>âµ\99âµ\8fâµ\93âµ\8dâ´¼âµ\93 âµ\9câ´°âµ\99âµ\8fâ´° \"[[:$1]]\" âµ\96 ⵓⵡⵉⴽⵉ ⴰⴷ!</strong> {{PLURAL:$2|0=|See also the page found with your search.|See also the search results found.}}",
        "searchprofile-articles": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵏ ⵜⵓⵎⴰⵢⵜ",
        "searchprofile-images": "ⴰⴳⵜⵎⵉⴷⵢⴰ",
        "searchprofile-everything": "ⴰⴽⴽⵯ",
        "search-result-category-size": "$1 {{PLURAL:$1|ⵓⴳⵎⴰⵎ|ⵉⴳⵎⴰⵎⵏ}} ($2 {{PLURAL:$2|ⵡⴰⴷⵓⵎⵙⵉⵍ|ⵉⴷⵓⵎⵙⵉⵍⵏ}}, $3 {{PLURAL:$3|ⵓⴼⴰⵢⵍⵓ|ⵉⴼⴰⵢⵍⵓⵜⵏ}})",
        "search-redirect": "(Asmmati $1)",
        "search-section": "(ⵜⵉⴳⵣⵎⵉ $1)",
-       "search-category": "(â´°âµ\99âµ\8eâµ\89âµ\8d $1)",
+       "search-category": "(âµ\9cⴰⴳⴳⴰⵢâµ\9c $1)",
        "search-suggest": "ⵉⵙ ⵜⵔⵉⵜ ⴰⴷ ⵜⵉⵏⵉⵜ: $1",
        "search-interwiki-caption": "Tiwuriwin taytmatin",
        "search-interwiki-default": "ⵜⵉⵢⴰⴼⵓⵜⵉⵏ ⵏ $1:",
        "search-relatedarticle": "Tzdi",
        "searchrelated": "Tuyzday",
        "searchall": "ⴰⴽⴽⵯ",
-       "showingresults": "Ẓr azddar  {{PLURAL:$1|'''1''' May tuykfan|'''$1''' Mad kfan}} Bdu s #'''$2'''",
+       "showingresults": "Showing below up to {{PLURAL:$1|<strong>1</strong> ⵜⵢⴰⴼⵓⵜ|<strong>$1</strong> ⵜⵢⴰⴼⵓⵜⵉⵏ}} ⵣⵖ ⵡⵓⵟⵟⵓⵏ <strong>$2</strong>.",
        "search-nonefound": "Ur ittuykfa walu maygan zund ɣayli trit",
-       "powersearch-legend": "Amsigl imzwarn",
-       "powersearch-ns": "Icnubbucn ɣ tɣulin",
-       "powersearch-togglelabel": "Sti",
+       "powersearch-legend": "ⴰⵔⵣⵣⵓ ⵉⴳⴰⵏ advanced",
+       "powersearch-ns": "ⵙⵉⴳⴳⵍ ⵖ namespaces:",
+       "powersearch-togglelabel": "ⵙⵜⵉ:",
        "powersearch-toggleall": "ⴰⴽⴽⵯ",
        "powersearch-togglenone": "ⵓⵍⴰ ⵢⴰⵜ",
-       "search-external": "â´°âµ\94ⵣⵣâµ\93 â´°â´±âµ\94âµ\94â´°âµ\8fâµ\89",
-       "searchdisabled": "{{SITENAME}} Acnubc ibid.\nTzdar at cabbat ɣilad ɣ Google.\nIzdar ad urtili ɣ isbidn n mayllan ɣ {{SITENAME}} .",
+       "search-external": "â´°âµ\94ⵣⵣâµ\93 â´°â´±âµ\95âµ\95â´°âµ\8f",
+       "searchdisabled": "ⵉⵏⵙⴰ ⵓⵔⵣⵣⵓ ⵖ {{SITENAME}}.\nⵜⵥⴹⴰⵔⵜ ⴰⴷ ⵜⵙⵉⴳⴳⵍⵜ ⵖ ⴳⵓⴳⵍ ⵙ ⵉⵖ ⴷ ⵢⵓⵔⵔⵉ.\nIzdar ad urtili ɣ isbidn n mayllan ɣ {{SITENAME}} .",
        "preferences": "Timssusmin",
        "mypreferences": "ⵉⵙⵏⵢⵉⴼⵏ",
-       "prefs-edits": "ⵓⵟⵟⵓⵏ ⵏ ⵉⵙⵏⴼⵍⵏ:",
+       "prefs-edits": "âµ\93âµ\9fâµ\9fâµ\93âµ\8f âµ\8f âµ\89âµ\99âµ\8fâ´¼âµ\89âµ\8dâµ\8f:",
        "prefs-skin": "ⵜⵉⵎⵍⵙⵉⵜ",
        "skin-preview": "Ammal",
        "datedefault": "Timssusmin",
        "prefs-personal": "milf n umsxdam",
-       "prefs-rc": "ⵉⵙⵏⴼⵍⵏ ⴳⴳⵯⵔⴰⵏⵉⵏ",
+       "prefs-rc": "âµ\89âµ\99âµ\8fâ´¼âµ\89âµ\8dâµ\8f â´³â´³âµ¯âµ\94â´°âµ\8fâµ\89âµ\8f",
        "prefs-watchlist": "ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵓⴹⴼⴼⵓⵔ",
        "prefs-watchlist-days": "osfan liratzrt gh lista n umdfur",
-       "prefs-watchlist-days-max": "Maximum $1 {{PLURAL:$1|day|days}}",
+       "prefs-watchlist-days-max": "$1 {{PLURAL:$1|ⵡⴰⵙⵙ|ⵡⵓⵙⵙⴰⵏ}} ⵙ ⵉⴳⴳⵓⵜ",
        "prefs-watchlist-token": "tasarut n list n omdfor",
        "prefs-misc": "motafarriqat",
-       "prefs-resetpass": "bdl awal ihdan",
-       "prefs-email": "lkhiyarat n Email",
+       "prefs-resetpass": "ⵙⵏⴼⵍ ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ",
+       "prefs-email": "ⵜⵉⵙⵖⴰⵍ ⵏ ⵢⵉⵎⴰⵢⵍ",
        "prefs-rendering": "adm",
-       "saveprefs": "sjjl",
+       "saveprefs": "ⵣⵎⵎⴻⵎ",
        "restoreprefs": "sglbd kollo regalega",
        "prefs-editing": "ⴰⵙⵏⴼⵍ",
        "searchresultshead": "ⵙⵉⴳⴳⵍ",
        "stub-threshold": "wasla n  <a href=\"#\" class=\"stub\">do amzdoy</a> itforma (bytes):",
        "stub-threshold-sample-link": "ⴰⵎⴷⵢⴰ",
-       "stub-threshold-disabled": "moattal",
+       "stub-threshold-disabled": "ⵉⵏⵙⴰ",
        "recentchangesdays": "adad liyam lmroda gh ahdat tghyirat",
-       "recentchangesdays-max": "ⵎⴰⴽⵙⵉⵎⵓⵎ $1 {{PLURAL:$1|ⵡⴰⵙⵙ|ⵡⵓⵙⵙⴰⵏ}}",
+       "recentchangesdays-max": "$1 {{PLURAL:$1|ⵡⴰⵙⵙ|ⵡⵓⵙⵙⴰⵏ}} ⵙ ⵉⴳⴳⵓⵜ",
        "localtime": "↓Tizi n ugmaḍ ad:",
-       "servertime": "Asaru n Tizi",
+       "servertime": "ⴰⴽⵓⴷ ⵏ ⵓⵙⵉⵔⴱⵓⵔ:",
        "guesstimezone": "skchm twqit gh lmotasaffih",
-       "timezoneregion-africa": "Africa",
-       "timezoneregion-america": "America",
-       "timezoneregion-antarctica": "Antarctica",
-       "timezoneregion-arctic": "Arctic",
-       "timezoneregion-asia": "Asia",
-       "timezoneregion-atlantic": "Atlantic Ocean",
-       "timezoneregion-australia": "Australia",
-       "timezoneregion-europe": "Europa",
+       "timezoneregion-africa": "ⵜⴰⴼⵔⵉⴽⵜ",
+       "timezoneregion-america": "ⵜⴰⵎⵔⵉⴽⵜ",
+       "timezoneregion-antarctica": "ⴰⵏⵜⴰⵔⴽⵜⵉⴽⴰ",
+       "timezoneregion-arctic": "ⴰⵔⴽⵜⵉⴽ",
+       "timezoneregion-asia": "ⴰⵙⵢⴰ",
+       "timezoneregion-atlantic": "ⴰⴳⴰⵔⴰⵡ ⴰⵏⴰⵟⵍⴰⵙ",
+       "timezoneregion-australia": "ⵓⵙⵜⵔⴰⵍⵢⴰ",
+       "timezoneregion-europe": "ⵓⵔⵓⴱⴱⴰ",
        "timezoneregion-indian": "ⴰⴳⴰⵔⴰⵡ ⴰⵀⵉⵏⴷⵉ",
        "timezoneregion-pacific": "Pacific Ocean",
        "allowemail": "artamz limail dar isxdamn yadni",
        "prefs-searchoptions": "ⴰⵔⵣⵣⵓ",
        "prefs-namespaces": "Ismawn n tɣula",
-       "default": "iftiradi",
+       "default": "ⵙ ⵓⵡⵏⵓⵍ",
        "prefs-files": "ⵉⴼⴰⵢⵍⵓⵜⵏ",
        "prefs-custom-css": "khss CSS",
        "prefs-custom-js": "khss JavaScipt",
-       "youremail": "Tabrat mail",
+       "youremail": "ⵉⵎⴰⵢⵍ:",
        "username": "{{GENDER:$1|ⵉⵙⵎ ⵏ ⵓⵙⵎⵔⴰⵙ|ⵉⵙⵎ ⵏ ⵜⵙⵎⵔⴰⵙⵜ}}:",
        "group-membership-link-with-expiry": "$1 (ⴰⵔ $2)",
        "prefs-registration": "ⵜⵉⵣⵉ ⵏ ⵓⵣⵎⵎⴻⵎ:",
        "gender-unknown": "ghayr mohdad",
        "gender-male": "ⴰⵔ ⵉⵙⵏⴼⴰⵍ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵏ ⵓⵡⵉⴽⵉ",
        "gender-female": "ⴰⵔ ⵜⵙⵏⴼⴰⵍ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵏ ⵓⵡⵉⴽⵉ",
-       "email": "email",
+       "email": "ⵉⵎⴰⵢⵍ",
        "prefs-help-email": "Tansa n tbratin ur tga bzzez, mac trwa ad taft taguri n uzray d ar ak tskar ast tsbadlt iɣ tti tuut.",
        "prefs-help-email-others": "Tẓḍart ad tstit ad tajt wiyyaḍ ad ak ttaran, snḥkmn dik ɣ, mlinak iwnnan nsn ɣ tasna lli sik iẓlin bla ssn assaɣ nk d mad tgit.",
        "prefs-signature": "ⴰⵙⴳⵎⴹ",
        "prefs-dateformat": "ⵜⴰⵍⵖⴰ ⵏ ⵓⵙⴰⴽⵓⴷ",
        "group": "ⵜⴰⵔⴰⴱⴱⵓⵜ:",
        "group-bot": "ⵉⵔⵓⴱⵓⵜⵏ",
-       "group-sysop": "Anedbalen n unagraw",
+       "group-sysop": "ⵉⵏⵎⵀⴰⵍⵏ",
        "grouppage-bot": "{{ns:project}}:ⵉⵔⵓⴱⵓⵜⵏ",
-       "grouppage-sysop": "{{ns:project}}: Inedbalen",
+       "grouppage-sysop": "{{ns:project}}:ⵉⵏⵎⵀⴰⵍⵏ",
        "right-read": "ⵖⵔ ⵜⴰⵙⵏⵉⵡⵉⵏ",
        "right-edit": "ⵙⵏⴼⵍ ⵜⴰⵙⵏⵉⵡⵉⵏ",
-       "right-move": "âµ\99âµ\8eâ´°ⵜⵜⵉ ⵜⴰⵙⵏⵉⵡⵉⵏ",
-       "right-move-categorypages": "âµ\99âµ\8eâ´°âµ\9câµ\9câµ\89 âµ\9câ´°âµ\99âµ\8fâµ\89ⵡâµ\89âµ\8f âµ\8f âµ\93âµ\99âµ\8eâµ\89âµ\8d",
+       "right-move": "âµ\99âµ\8eâµ\93ⵜⵜⵉ ⵜⴰⵙⵏⵉⵡⵉⵏ",
+       "right-move-categorypages": "âµ\99âµ\8eâµ\93âµ\9câµ\9câµ\89 âµ\9câ´°âµ\99âµ\8fâµ\89ⵡâµ\89âµ\8f âµ\8f âµ\9cⴰⴳⴳⴰⵢâµ\9c",
        "right-delete": "ⴽⴽⵙ ⵜⴰⵙⵏⵉⵡⵉⵏ",
        "newuserlogpage": "Aɣmis n willi mmurzmn imiḍan amsqdac",
        "rightslog": "Anɣmas n imbddlnn izrfan n umsqdac",
        "action-createpage": "ⵙⵏⵓⵍⴼⵓ ⵜⴰⵙⵏⴰ ⴰⴷ",
        "action-createtalk": "ⵙⵏⵓⵍⴼⵓ ⵜⴰⵙⵏⴰ ⴰⴷ ⵏ ⵓⵎⵙⴰⵡⴰⵍ",
        "action-createaccount": "snulf amiḍan ad n usqdac",
-       "action-move": "âµ\99âµ\8eâ´°ⵜⵜⵉ ⵜⴰⵙⵏⴰ ⴰⴷ",
-       "action-move-categorypages": "âµ\99âµ\8eâ´°ⵜⵜⵉ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵏ ⵓⵙⵎⵉⵍ",
-       "action-movefile": "âµ\99âµ\8eâ´°ⵜⵜⵉ ⴰⴼⴰⵢⵍⵓ ⴰⴷ",
+       "action-move": "âµ\99âµ\8eâµ\93ⵜⵜⵉ ⵜⴰⵙⵏⴰ ⴰⴷ",
+       "action-move-categorypages": "âµ\99âµ\8eâµ\93ⵜⵜⵉ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵏ ⵓⵙⵎⵉⵍ",
+       "action-movefile": "âµ\99âµ\8eâµ\93ⵜⵜⵉ ⴰⴼⴰⵢⵍⵓ ⴰⴷ",
        "action-delete": "ⴽⴽⵙ ⵜⴰⵙⵏⴰ ⴰⴷ",
-       "nchanges": "$1 {{PLURAL:$1|ⵓⵙⵏⴼⵍ|ⵉⵙⵏⴼⵍⵏ}}",
+       "nchanges": "$1 {{PLURAL:$1|âµ\93âµ\99âµ\8fâ´¼âµ\8d|âµ\89âµ\99âµ\8fâ´¼âµ\89âµ\8dâµ\8f}}",
        "enhancedrc-history": "ⴰⵎⵣⵔⵓⵢ",
        "recentchanges": "ⵉⵙⵏⴼⵉⵍⵏ ⴳⴳⵯⵔⴰⵏⵉⵏ",
        "recentchanges-legend": "ⵜⵉⵙⵖⴰⵍ ⵏ ⵉⵙⵏⴼⵉⵍⵏ ⴳⴳⵯⵔⴰⵏⵉⵏ",
-       "recentchanges-summary": "Ml imbddln imaynutn  n wiki ɣ tasna yad",
+       "recentchanges-summary": "ⴹⴼⵓⵔ ⴰⵎⴰⵢⵏⵓ ⴰⴽⴽⵯ ⵖ ⵉⵙⵏⴼⵉⵍⵏ ⵏ ⵓⵡⵉⴽⵉ ⵖ ⵜⴰⵙⵏⴰ ⴰⴷ.",
        "recentchanges-feed-description": "ⴹⴼⵓⵔ ⵉⵙⵏⴼⵉⵍⵏ ⴰⴽⴽⵯ ⵉⴳⴳⵯⵔⴰⵏ ⵏ ⵓⵡⵉⴽⵉ ⵖ ⵉⴼⵉⵍⵉ ⴰⴷ.",
        "recentchanges-label-newpage": "ⵉⵙⵏⵓⵍⴼⴰ ⵓⵙⵏⴼⵍ ⴰⴷ ⵢⴰⵜ ⵜⴰⵙⵏⴰ ⵜⴰⵎⴰⵢⵏⵓⵜ",
        "recentchanges-label-minor": "ⵡⴰⴷ ⵉⴳⴰ ⴰⵙⵏⴼⵍ ⵓⵎⵥⵉⵢ",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|ⵡⴰⵙⵙ|ⵡⵓⵙⵙⴰⵏ}}",
        "rcfilters-savedqueries-new-name-label": "ⵉⵙⵎ",
        "rcfilters-filterlist-whatsthis": "ⵎⴰⵜⵜⴰ ⵓⵢⴰ?",
-       "rcfilters-filter-bots-label": "â´±âµ\93âµ\9c",
+       "rcfilters-filter-bots-label": "â´°âµ\94âµ\93â´±âµ\93",
        "rcnotefrom": "ⴷⴷⴰⵡ ⴰⵙ {{PLURAL:$5|ⴰⵙⵏⴼⵍ|ⵉⵙⵏⴼⵉⵍⵏ}} ⵣⵖ <strong>$3, $4</strong> (ⴰⵔ <strong>$1</strong> ⴰⴷ ⵉⴱⴰⵢⵏⴻⵏ ⵙ ⵉⴳⴳⵓⵜ).",
        "rclistfrom": "ⵎⵍ ⵉⵙⵏⴼⵉⵍⵏ ⵉⵎⴰⵢⵏⵓⵜⵏ ⵣⵖ $3 ⵖ $2",
        "rcshowhideminor": "$1 ⵉⵙⵏⴼⵉⵍⵏ ⵓⵎⵥⵉⵢⵏ",
        "rc-change-size-new": "$1 {{PLURAL:$1|ⴱⴰⵢⵜ|ⵉⴷ ⴱⴰⵢⵜ}} ⴷⴼⴼⵉⵔ ⵏ ⵓⵙⵏⴼⵍ",
        "newsectionsummary": "/* $1 */ ⵜⵉⴳⵣⵎⵉ ⵜⴰⵎⴰⵢⵏⵓⵜ",
        "rc-enhanced-expand": "Ml ifruriyn (ira JavaScript)",
-       "rc-enhanced-hide": "Ĥbu ifruriyn",
+       "rc-enhanced-hide": "ⵙⵙⵏⵜⵍ ⵉⴼⵔⵓⵔⵉⵜⵏ",
        "recentchangeslinked": "ⵉⵙⵏⴼⵉⵍⵏ ⴷⴰⵔ ⴰⵙⵙⴰⵖ",
        "recentchangeslinked-feed": "Imbddeln zund ɣwid",
        "recentchangeslinked-toolbox": "Imbddeln zund ɣwid",
        "sourcefilename": "Aɣbalu n ussaɣ n usdaw",
        "upload-form-label-infoform-name": "ⵉⵙⵎ",
        "upload-form-label-usage-filename": "ⵉⵙⵎ ⵏ ⵓⴼⴰⵢⵍⵓ",
-       "upload-form-label-infoform-categories": "âµ\89âµ\99âµ\8eâµ\89âµ\8dⵏ",
+       "upload-form-label-infoform-categories": "âµ\9cⴰⴳⴳⴰⵢâµ\89ⵏ",
        "upload-form-label-infoform-date": "ⴰⵙⴰⴽⵓⴷ",
        "license": "ⵜⵓⵔⴰⴳⵜ:",
        "license-header": "ⵜⵓⵔⴰⴳⵜ",
        "filehist": "ⴰⵎⵣⵔⵓⵢ ⵏ ⵓⴼⴰⵢⵍⵓ",
        "filehist-help": "ⴽⵍⵉⴽⵉ ⴼ ⴽⵔⴰ ⵏ ⵓⵙⴰⴽⵓⴷ/ⴰⴽⵓⴷ ⴰⴷ ⵜⵥⵔⵜ ⴰⴼⴰⵢⵍⵓ ⵎⴽⵍⵍⵉ ⵜⵜ ⵉⵏⵏ ⵉⴽⴽⴰ ⵖ ⵜⵉⵣⵉ ⴰⵏⵏ.",
        "filehist-deleteone": "ⴽⴽⵙ",
-       "filehist-revert": "Sgadda daɣ",
+       "filehist-revert": "ⵙⵙⴰⴹⵓ",
        "filehist-current": "ⴰⵎⵉⵔⴰⵏ",
        "filehist-datetime": "ⴰⵙⴰⴽⵓⴷ/ⴰⴽⵓⴷ",
        "filehist-thumb": "Awlaf imżżin",
        "filehist-thumbtext": "Mżżi n lqim ɣ tizi $1",
        "filehist-user": "ⴰⵙⵎⵔⴰⵙ",
        "filehist-dimensions": "ⵉⵎⵏⴰⴷⵏ",
-       "filehist-comment": "â´°âµ\85ⴼⴰⵡⴰⵍ",
+       "filehist-comment": "â´°âµ\96ⴼⴰⵡⴰⵍ",
        "imagelinks": "ⴰⵙⵇⴷⵛ ⵏ ⵓⴼⴰⵢⵍⵓ",
        "linkstoimage": "Tasna yad {{PLURAL:$1|izdayn n tasna|$1 azday n tasniwin}} s usdaw:",
        "nolinkstoimage": "ⵓⵔ ⵜⵍⵍⵉ ⴽⵔⴰ ⵏ ⵜⴰⵙⵏⴰ ⵉⵏⴰⵡⵍⵏ ⴰⴼⴰⵢⵍⵓ ⴰⴷ.",
        "filedelete-submit": "ⴽⴽⵙ",
        "randompage": "ⵜⴰⵙⵏⴰ ⵜⴰⴷⵀⵎⴰⵙⵜ",
        "randomincategory-category": "ⴰⵙⵎⵉⵍ:",
-       "statistics": "Tisnaddanin",
+       "statistics": "ⵉⵙⵉⴹⵏⴻⵏ",
        "statistics-articles": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵏ ⵜⵓⵎⴰⵢⵜ",
        "statistics-pages": "ⵜⴰⵙⵏⵉⵡⵉⵏ",
        "brokenredirects-edit": "ⵙⵏⴼⵍ",
        "brokenredirects-delete": "ⴽⴽⵙ",
        "nbytes": "$1 {{PLURAL:$1|ⴱⴰⵢⵜ|ⵉⴷ ⴱⴰⵢⵜ}}",
-       "ncategories": "$1 {{PLURAL:$1|âµ\93âµ\99âµ\8eâµ\89âµ\8d|âµ\89âµ\99âµ\8eâµ\89âµ\8dⵏ}}",
-       "nlinks": "$1 {{PLURAL:$1|azday|izdayn}}",
+       "ncategories": "$1 {{PLURAL:$1|âµ\9cⴰⴳⴳⴰⵢâµ\9c|âµ\9cⴰⴳⴳⴰⵢâµ\89ⵏ}}",
+       "nlinks": "$1 {{PLURAL:$1|ⵓⵍⵉⵏⴽ|ⵉⵍⵉⵏⴽⵏ}}",
        "nmembers": "$1 {{PLURAL:$1|ⵓⴳⵎⴰⵎ|ⵉⴳⵎⴰⵎⵏ}}",
        "nrevisions": "$1 {{PLURAL:$1|asgadda|isgaddatn}}",
        "specialpage-empty": "Ur illa mayttukfan i asaggu yad",
-       "lonelypages": "Tasnatiwin tigigilin",
+       "lonelypages": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵜⵉⴳⵉⴳⵉⵍⵉⵏ",
        "lonelypagestext": "Tisnawinad ur ur tuyzdaynt z ulla lant ɣ tisniwin yaḍnin ɣ {{SITENAME}}.",
-       "uncategorizedpages": "Tisnawinad ur llant ɣ graygan taggayt",
-       "uncategorizedcategories": "Taggayin ur ittuyzlayn ɣ kraygan taggayt",
-       "prefixindex": "âµ\9câ´°âµ\99âµ\8fâµ\89ⵡâµ\89âµ\8f â´°â´½â´½âµ¯ âµ\89âµ\8dâ´°âµ\8f âµ\93ⵣⵡⵉⵔ",
+       "uncategorizedpages": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵓⵔ ⴰⵎⵓⵏⵉⵏ ⵖ ⵜⴰⴳⴳⴰⵢⵉⵏ",
+       "uncategorizedcategories": "ⵜⴰⴳⴳⴰⵢⵉⵏ ⵓⵔ ⴰⵎⵓⵏⵉⵏ ⵖ ⵜⴰⴳⴳⴰⵢⵉⵏ",
+       "prefixindex": "â´½âµ\93âµ\8dâµ\8dâµ\93 âµ\9câ´°âµ\99âµ\8fâµ\89ⵡâµ\89âµ\8f âµ\8dâ´°âµ\8fâµ\89âµ\8f â´°ⵣⵡⵉⵔ",
        "protectedpages-page": "ⵜⴰⵙⵏⴰ",
        "listusers": "ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵉⵙⵎⵔⴰⵙⵏ",
-       "usercreated": "{{GENDER:$3|âµ\89âµ\99âµ\8fâµ\93âµ\8dⴼⴰ|âµ\9câµ\99âµ\8fâµ\93âµ\8dⴼⴰ}} â´³ $1 â´³ $2",
+       "usercreated": "{{GENDER:$3|âµ\89âµ\8fâµ\93âµ\8dⴼⴰ|âµ\9câµ\8fâµ\93âµ\8dⴼⴰ}} âµ\96 $1 âµ\96 $2",
        "newpages": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵜⵉⵎⴰⵢⵏⵓⵜⵉⵏ",
        "move": "ⵙⵎⵓⵜⵜⵉ",
-       "movethispage": "âµ\99âµ\8eâ´°ⵜⵜⵉ ⵜⴰⵙⵏⴰ ⴰⴷ",
+       "movethispage": "âµ\99âµ\8eâµ\93ⵜⵜⵉ ⵜⴰⵙⵏⴰ ⴰⴷ",
        "unusedcategoriestext": "Taggayin ad llant waxxa gis nt ur tlli kra n tasna wala kra n taggayin yaḍnin",
-       "notargettitle": "F walu",
+       "notargettitle": "ⵡⴰⵍⵓ ⴰⵡⵜⵜⴰⵙ",
        "nopagetext": "Tasna li trit ur tlli",
        "pager-newer-n": "{{PLURAL:$1|amaynu 1|amaynu $1}}",
        "pager-older-n": "{{PLURAL:$1|aqbur 1|aqbur $1}}",
        "suppress": "Iẓriyattuyn",
        "apisandbox-examples": "ⵉⵎⴷⵢⴰⵜⵏ",
-       "booksources": "Iɣbula n udlis",
+       "booksources": "ⵉⴷⵍⵉⵙⵏ ⵉⵙⵓⴳⴰⵎ",
        "booksources-search-legend": "Acnubc s iɣbula n idlisn",
        "booksources-isbn": "ISBN:",
        "booksources-search": "ⵙⵉⴳⴳⵍ",
        "specialloguserlabel": "ⴰⵎⴳⴰⵢ:",
        "speciallogtitlelabel": "Azwl",
-       "log": "Immussutn ittyuran",
-       "all-logs-page": "Immussutn ittyuran immurzmn i kullu..",
+       "log": "Logs",
+       "all-logs-page": "All public logs",
        "log-title-wildcard": "Cabba s iswln li ttizwirnin s uṭṛiṣ ad",
        "allpages": "ⴽⵓⵍⵍⵓ ⵜⴰⵙⵏⵉⵡⵉⵏ",
        "nextpage": "ⵜⴰⵙⵏⴰ ⵜⵓⴹⴼⵉⵔⵜ ($1)",
        "allinnamespace": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⴰⴽⴽⵯ ($1 namespace)",
        "allpagessubmit": "Ftu",
        "allpagesprefix": "Mel tasniwin li ttizwirnin s",
-       "categories": "âµ\89âµ\99âµ\8eâµ\89âµ\8dⵏ",
-       "linksearch": "Izdayn n brra",
+       "categories": "âµ\9cⴰⴳⴳⴰⵢâµ\89ⵏ",
+       "linksearch": "ⴰⵔⵣⵣⵓ ⵖ ⵉⵍⵉⵏⴽⵏ ⵉⴱⵕⵕⴰⵏⴻⵏ",
        "linksearch-ok": "ⵙⵉⴳⴳⵍ",
        "linksearch-line": "$1 tmmuttid z $2",
        "listgrouprights-group": "ⵜⴰⵔⴰⴱⴱⵓⵜ",
        "watchlist-details": "{{PLURAL:$1|$1 ⵜⴰⵙⵏⴰ|$1 ⵜⴰⵙⵏⵉⵡⵉⵏ}} ⴳ ⵜⵍⴳⴰⵎⵜ {{GENDER:|ⵏⵏⴽ|ⵏⵏⵎ}} ⵏ ⵓⴹⴼⴼⵓⵔ, not separately counting talk pages.",
        "wlshowlast": "ⵎⵍ $1 ⵜⵙⵔⴰⴳⵉⵏ ⴳⴳⵯⵔⴰⵏⵉⵏ, $2 ⵡⵓⵙⵙⴰⵏ ⴳⴳⵯⵔⴰⵏⵉⵏ",
        "watchlist-hide": "ⵙⵙⵏⵜⵍ",
-       "wlshowhidebots": "âµ\89â´· â´±âµ\93âµ\9c",
+       "wlshowhidebots": "âµ\89âµ\94âµ\93â´±âµ\93âµ\9câµ\8f",
        "watchlist-options": "ⵜⵉⵙⵖⴰⵍ ⵏ ⵜⵍⴳⴰⵎⵜ ⵏ ⵓⴹⴼⴼⵓⵔ",
        "watching": "ⵉⴹⴼⴰⵔ...",
        "unwatching": "Ur at sul ntsagga",
        "actionfailed": "Tawwuri i xsrn",
        "deletedtext": "\"$1\"  ttuykkas.\nẒṛ $2 inɣmas imggura n ma ittuykkasn",
        "dellogpage": "Qqiyd akkas ad",
-       "deletecomment": "! Maɣ:",
-       "deleteotherreason": "Wayyaḍ/ maf ittuykkas yaḍn",
-       "deletereasonotherlist": "Maf ittuykkas yaḍn",
+       "deletecomment": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
+       "deleteotherreason": "ⵜⴰⵎⵏⵜⵉⵍⵜ ⵢⴰⴹⵏ/:",
+       "deletereasonotherlist": "ⵜⴰⵎⵏⵜⵉⵍⵜ ⵢⴰⴹⵏ",
        "rollbacklink": "Rard",
        "changecontentmodel-submit": "ⵙⵏⴼⵍ",
        "protectlogpage": "Iɣmisn n ugdal",
        "protectedarticle": "ay gdl  \"[[$1]]\"",
        "modifiedarticleprotection": "isbudl taskfalt n ugdal n « [[$1]] »",
-       "protectcomment": "Maɣ:",
+       "protectcomment": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
        "protectexpiry": "Tizi nu uzri n umzruy:",
        "protect_expiry_invalid": "Tizi n uzri n umzruy urtti tga.",
        "protect_expiry_old": "Tizi n uzri n umzruy n zrit.",
        "undelete-show-file-submit": "ⵢⴰⵀ",
        "namespace": "Taɣult",
        "invert": "amglb n ustay",
-       "blanknamespace": "(Amuqran)",
+       "blanknamespace": "(ⴰⴷⵙⵍⴰⵏ)",
        "contributions": "ⵜⵓⵎⵓⵜⵉⵏ ⵏ {{GENDER:$1|ⵓⵙⵎⵔⴰⵙ|ⵜⵙⵎⵔⴰⵙⵜ}}",
        "contributions-title": "ⵜⵓⵎⵓⵜⵉⵏ ⵏ {{GENDER:$1|ⵓⵙⵎⵔⴰⵙ|ⵜⵙⵎⵔⴰⵙⵜ}} $1",
        "mycontris": "ⵜⵓⵎⵓⵜⵉⵏ",
        "anoncontribs": "ⵜⵓⵎⵓⵜⵉⵏ",
        "contribsub2": "ⵉ {{GENDER:$3|$1}} ($2)",
        "uctop": "(ⵜⴰⵎⵉⵔⴰⵏⵜ)",
-       "month": "Z usggas (d urbur):",
-       "year": "Z usggas (d urbur):",
+       "month": "ⵣⵖ ⵡⴰⵢⵢⵓⵔ (ⴷ ⵣⵉⴽⴽ ⵏⵏⵙ):",
+       "year": "ⵣⵖ ⵓⵙⴳⴳⵯⴰⵙ (ⴷ ⵣⵉⴽⴽ ⵏⵏⵙ):",
        "sp-contributions-newbies": "ⵎⵍ ⵖⴰⵔ ⵜⵓⵎⵓⵜⵉⵏ ⵏ ⵉⵎⵉⴹⴰⵏⴻⵏ ⵉⵎⴰⵢⵏⵓⵜⵏ",
        "sp-contributions-newbies-sub": "Z imiḍan (comptes) imaynutn",
        "sp-contributions-newbies-title": "Tiwuriwin n umqdac z imḍan imaynutn",
        "sp-contributions-newonly": "ⵎⵍ ⵖⴰⵔ ⵉⵙⵏⴼⵉⵍⵏ ⴳⴰⵏⵉⵏ ⵉⵙⵏⵓⵍⴼⵓⵜⵏ ⵏ ⵜⴰⵙⵏⵉⵡⵉⵏ",
        "sp-contributions-submit": "ⵙⵉⴳⴳⵍ",
        "sp-contributions-explain": "↓",
-       "whatlinkshere": "âµ\8eâ´°â´· âµ\89âµ\87âµ\87âµ\8fâ´»ⵏ ⵙ ⵖⵉⴷ",
+       "whatlinkshere": "âµ\8eâ´°â´· âµ\89âµ\9câµ\9cⴰⵡâµ\89ⵏ ⵙ ⵖⵉⴷ",
        "whatlinkshere-title": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵜⵜⴰⵡⵉⵏⵉⵏ ⵙ \"$1\"",
        "whatlinkshere-page": "ⵜⴰⵙⵏⴰ:",
-       "linkshere": "Tasnawinad ar slkamnt i '''[[:$1]]''':",
+       "linkshere": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⴰⴷ ⴹⴼⴰⵔⵏⵉⵏ ⴰⵔ ⵜⵜⴰⵡⵉⵏⵜ ⵙ <strong>[[:$1]]</strong>:",
        "nolinkshere": "ⵓⵍⴰ ⴽⵔⴰ ⵏ ⵜⴰⵙⵏⴰ ⵓⵔ ⴰⵔ ⵜⴻⵜⵜⴰⵡⵉ ⵙ <strong>[[:$1]]</strong>.",
        "nolinkshere-ns": "Ur tlla kra n tasna izdin d  '''[[:$1]]''' ɣ tɣult l-ittuystayn.",
        "isredirect": "Tasna immutin",
        "istemplate": "Illa gis",
        "isimage": "ⴰⵍⵉⵏⴽ ⵏ ⵓⴼⴰⵢⵍⵓ",
-       "whatlinkshere-prev": "{{PLURAL:$1|amzwaru|amzwaru $1}}",
-       "whatlinkshere-next": "{{PLURAL:$1|wali d yuckan|wali d yuckan $1}}",
+       "whatlinkshere-prev": "{{PLURAL:$1|$1 ⵉⵣⵡⴰⵔⵏ|$1 ⵣⵡⴰⵔⵏⵉⵏ}}",
+       "whatlinkshere-next": "{{PLURAL:$1|ⵉⴹⴼⴰⵔⵏ|$1 ⴹⴼⴰⵔⵏⵉⵏ}}",
        "whatlinkshere-links": "← ⵉⵍⵉⵏⴽⵏ",
        "whatlinkshere-hideredirs": "$1 Ismmattayn",
        "whatlinkshere-hidetrans": "$1 mayllan gis",
        "whatlinkshere-hidelinks": "$1 ⵉⵍⵉⵏⴽⵏ",
-       "whatlinkshere-hideimages": "$1 izdayn awlaf",
-       "whatlinkshere-filters": "Istayn",
+       "whatlinkshere-hideimages": "$1 ⵉⵍⵉⵏⴽⵏ ⵏ ⵓⴼⴰⵢⵍⵓ",
+       "whatlinkshere-filters": "ⵜⵉⵙⵜⵜⴰⵢⵉⵏ",
        "blockip": "ⴳⴷⵍ {{GENDER:$1|ⴰⵙⵎⵔⴰⵙ|ⵜⴰⵙⵎⵔⴰⵙⵜ}}",
        "ipboptions": "2 ikudn:2 hours,1 as:1 day,3 ussan:3 days,1 imalas:1 week,2 imalasn:2 weeks,1 ayur:1 month,3 irn:3 months,6 irn:6 months,1 asggas:1 year,tusut ur iswuttan:infinite",
        "ipbhidename": "ḥbu assaɣ n umsqdac ɣ imbdln d umuɣn",
        "ipblocklist": "ⵉⵙⵎⵔⴰⵙⵏ ⵜⵜⵡⴰⴳⴷⵍⵏⵉⵏ",
        "ipblocklist-submit": "ⵙⵉⴳⴳⵍ",
        "blocklink": "ⴳⴷⵍ",
-       "unblocklink": "kkis agdal",
-       "change-blocklink": "Sbadl agdal",
+       "unblocklink": "ⴽⴽⵙ ⴰⴳⴷⴷⵓⵍ",
+       "change-blocklink": "ⵙⵏⴼⵍ ⴰⴳⴷⴷⵓⵍ",
        "contribslink": "ⵜⵓⵎⵓⵜⵉⵏ",
        "blocklogpage": "aɣmmis n may ittuyqqanin",
        "blocklog-showlog": "Amsqdac ikkattin ittuyqqan. anɣmis n willi ttuyqqanin  ɣid:",
        "blocklog-showsuppresslog": "Amsqdac ikkattin ittuyqqan d iḥba. Anɣmis n willi ttuyqqanin  ɣid:",
        "blocklogentry": "tqn [[$1]] s tizi izrin n $2 $3",
-       "unblocklogentry": "immurzm $1",
+       "unblocklogentry": "ⵉⴽⴽⵙ ⴰⴳⴷⴷⵓⵍ ⵉ $1",
        "block-log-flags-nocreate": "Ammurzm n umiḍan urak ittuyskar",
-       "move-page": "âµ\99âµ\8eâ´°ⵜⵜⵉ $1",
-       "move-page-legend": "âµ\99âµ\8eâ´°ⵜⵜⵉ ⵜⴰⵙⵏⴰ",
+       "move-page": "âµ\99âµ\8eâµ\93ⵜⵜⵉ $1",
+       "move-page-legend": "âµ\99âµ\8eâµ\93ⵜⵜⵉ ⵜⴰⵙⵏⴰ",
        "movepagetext": "Swwur s tifrkkitad bac ad sbadlt uzwl tasna yad , s usmmattay n umzru ns s uzwl amaynu . Assaɣ Aqbur rad ig ɣil yan usmmattay n tasna s uzwl (titre) amynu . Tâḍart ad s tgt immattayn n ɣil f was fwas utumatik s dar uswl amaynu.  Iɣ tstit bac ad tskrt . han ad ur ttut ad tẓrt kullu  [[Special:DoubleRedirects|double redirection]] ou [[Special:BrokenRedirects|redirection cassée]]. Illa fllak ad ur ttut masd izdayn rad tmattayn s sin igmmaḍn ur igan yan.\n\nSmmem masd tasna ur rad tmmatti iɣ tlla kra n yat yaḍn lli ilan asw zund nttat . Abla ɣ dars amzruy ɣ ur illa umay,  nɣd yan usmmattay ifssusn. \n\n''' Han !'''\nMaya Iẓḍar ad iglb zzu uzddar ar aflla tasna yad lli bdda n nttagga. Illa fllak ad urtskr mara yigriẓ midn d kiyyin lli iswurn ɣ tasna yad. issin mara tskr urta titskrt..",
        "movepagetalktext": "Tasna n umsgdal (imdiwiln) lli izdin d ɣta iɣ tlla, rad as ibadl w-assaɣ utumatik  '''abla iɣ :'''\n* tsmmuttim tasna s yan ugmmaḍ wassaɣ, niɣd\n* tasna n umsgdal( imdiwiln) tlla s wassaɣ ad amaynu, niɣd\n* iɣ tkrjm tasatmt ad n uzddar\n\nΓ Tiklayad illa flla tun ad tsbadlm assaɣ niɣt tsmun mayad s ufus ɣ yat, iɣ tram",
-       "newtitle": "dar w-assaɣ amaynu:",
+       "newtitle": "ⴰⵣⵡⵍ ⴰⵎⴰⵢⵏⵓ:",
        "move-watch": "Tfr tisniwin timaynutin d timẓlay",
-       "movepagebtn": "Smmatti tasna niɣ as tsbudlt assaɣ",
-       "pagemovedsub": "tmmutti bla tamukrist",
-       "movepage-moved": "'''\"$1\" tmmutti s \"$2\"'''",
+       "movepagebtn": "ⵙⵎⵓⵜⵜⵉ ⵜⴰⵙⵏⴰ",
+       "pagemovedsub": "ⵉⵎⵓⵔⵙ ⵓⵙⵎⵓⵜⵜⵉ",
+       "movepage-moved": "<strong>ⵜⴻⵜⵜⵢⵓⵙⵎⴰⵜⵜⵉ \"$1\" ⵙ \"$2\"</strong>",
        "articleexists": "Tlla yad tasna illan assaɣ zund ɣwa niɣd assaɣ llid tiwid urt iga. Sti assaɣ yaḍn tarmt.",
        "movetalk": "Sbadl assaɣ tasna n imdiwiln lli izdin d ɣi.",
-       "movelogpage": "Iɣmisn n ismmattrayn",
+       "movelogpage": "ⵍⵓⴳ ⵏ ⵓⵙⵎⵓⵜⵜⵉ",
        "movelogpagetext": "Γid umuɣ n tisniwin lli sbadlnin assaɣ d tilli mmuttini.",
        "movesubpage": "Ddu-tasna {{PLURAL:$1||s}}",
-       "movereason": "Maɣ:",
-       "revertmove": "Rard",
+       "movereason": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
+       "revertmove": "ⵙⵙⴰⴹⵓ ⴷ",
        "delete_and_move_confirm": "ⵢⴰⵀ, ⴽⴽⵙ ⵜⴰⵙⵏⴰ",
        "export": "assufɣ n tasniwin",
        "export-addcat": "ⵔⵏⵓ",
        "allmessages-filter-translate": "ⵙⵙⵓⵖⵍ",
        "thumbnail-more": "Simɣur",
        "thumbnail_error": "Irrur n uskr n umssutl: $1",
-       "import-comment": "â´°âµ\85ⴼⴰⵡⴰⵍ:",
+       "import-comment": "â´°âµ\96ⴼⴰⵡⴰⵍ:",
        "tooltip-pt-userpage": "Tasna n umsqdac",
        "tooltip-pt-mytalk": "ⵜⴰⵙⵏⴰ {{GENDER:|ⵏⵏⴽ|ⵏⵏⵎ}} ⵏ ⵓⵎⵙⴰⵡⴰⵍ",
        "tooltip-pt-anontalk": "Amsgdal f imbddeln n tansa n IP yad",
        "tooltip-pt-mycontris": "ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵜⵓⵎⵓⵜⵉⵏ {{GENDER:|ⵏⵏⴽ|ⵏⵏⵎ}}",
        "tooltip-pt-login": "Yufak at qiyt akcum nek, mach ur fllak ibziz .",
        "tooltip-pt-logout": "ⴼⴼⵖ",
-       "tooltip-ca-talk": "â´°âµ\8eâµ\99ⴰⵡⴰâµ\8d âµ\85â´¼ âµ\9câ´°âµ\99âµ\8fâ´° âµ\8f âµ\9câµ\93âµ\8eâ´°âµ¢âµ\9c",
+       "tooltip-ca-talk": "ⴰⵎⵙⴰⵡⴰⵍ ⴼ ⵜⴰⵙⵏⴰ ⵏ ⵜⵓⵎⴰⵢⵜ",
        "tooltip-ca-edit": "ⵙⵏⴼⵍ ⵜⴰⵙⵏⴰ ⴰⴷ",
        "tooltip-ca-addsection": "ⵙⵙⵏⵜⵉ ⴽⵔⴰ ⵏ ⵜⴳⵣⵎⵉ ⵜⴰⵎⴰⵢⵏⵓⵜ",
        "tooltip-ca-viewsource": "Tasnatad tuyḥba. mac dẓdart at tẓrt aɣbalu nes.",
        "tooltip-n-recentchanges": "ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵉⵙⵏⴼⵉⵍⵏ ⴳⴳⵯⵔⴰⵏⵉⵏ ⵖ ⵓⵡⵉⴽⵉ",
        "tooltip-n-randompage": "ⵣⴷⵎ ⴷ ⴽⵔⴰ ⵏ ⵜⴰⵙⵏⴰ ⵙ ⵓⴷⵀⵎⴰⵙ",
        "tooltip-n-help": "Adɣar n w-aws",
-       "tooltip-t-whatlinkshere": "Umuɣ n kullu tisnatin n Wiki lid ilkkmn ɣid",
+       "tooltip-t-whatlinkshere": "ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⴽⵓⵍⵍⵓ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵉⵜⵜⴰⵡⵉⵏ ⵙ ⵖⵉⴷ",
        "tooltip-t-recentchangeslinked": "ⵉⵙⵏⴼⵉⵍⵏ ⴳⴳⵯⵔⴰⵏⵉⵏ ⵖ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵏⵏⴰ ⵙⵔⵙⵏ ⵜⴻⵜⵜⴰⵡⵉ ⵜⴰⵙⵏⴰ ⴰⴷ",
        "tooltip-feed-rss": "Usuddm (Flux) n tasna yad",
-       "tooltip-feed-atom": "Usuddm Atum n tasna yad",
+       "tooltip-feed-atom": "ⵉⴼⵉⵍⵉ ⴰⵟⵓⵎ ⵏ ⵜⴰⵙⵏⴰ ⴰⴷ",
        "tooltip-t-contributions": "ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵜⵓⵎⵓⵜⵉⵏ ⵏ {{GENDER:$1|ⵓⵙⵎⵔⴰⵙ|ⵜⵙⵎⵔⴰⵙⵜ}} ⴰⴷ",
        "tooltip-t-emailuser": "Ṣafd tabrat umsqdac ad",
        "tooltip-t-upload": "ⵙⴽⵜⵔ ⵉⴼⴰⵢⵍⵓⵜⵏ",
        "tooltip-t-specialpages": "ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⴽⵓⵍⵍⵓ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵥⵍⵉⵏⵉⵏ",
-       "tooltip-t-print": "Lqim uziggz n tasna yad",
+       "tooltip-t-print": "Printable version of this page",
        "tooltip-t-permalink": "Azday bdda i lqim n tasna yad",
        "tooltip-ca-nstab-main": "ⵥⵔ ⵜⴰⵙⵏⴰ ⵏ ⵜⵓⵎⴰⵢⵜ",
        "tooltip-ca-nstab-user": "Ẓr tasna n useqdac",
        "pageinfo-contentpage-yes": "ⵢⴰⵀ",
        "pageinfo-protect-cascading-yes": "ⵢⴰⵀ",
        "confirm-markpatrolled-button": "ⵡⴰⵅⵅⴰ",
-       "previousdiff": "Imbddln imzwura",
-       "nextdiff": "Ambdl d ittfrn  →",
+       "previousdiff": "← ⴰⵙⵏⴼⵍ ⵉⵣⵡⴰⵔⵏ",
+       "nextdiff": "ⴰⵙⵏⴼⵍ ⵉⴹⴼⴰⵔⵏ →",
        "widthheightpage": "$1 × $2, $3 {{PLURAL:$3|ⵜⴰⵙⵏⴰ|ⵜⴰⵙⵏⵉⵡⵉⵏ}}",
        "file-info-size": "$1 × $2 ⴱⵉⴽⵙⵉⵍ, ⵜⵉⴷⴷⵉ ⵏ ⵓⴼⴰⵢⵍⵓ: $3, ⴰⵏⴰⵡ MIME: $4",
        "file-nohires": "↓Ur tlli tabudut tamqrant.",
-       "svg-long-desc": "Asdaw SVG, Tabadut n $1 × $2 ifrdan, Tiddi : $3",
+       "svg-long-desc": "ⴰⴼⴰⵢⵍⵓ SVG, nominally $1 × $2 ⵉⴷ ⴱⵉⴽⵙⵉⵍ, ⵜⵉⴷⴷⵉ ⵏ ⵓⴼⴰⵢⵍⵓ: $3",
        "show-big-image": "ⴰⴼⴰⵢⵍⵓ ⴰⵏⵚⵍⵉ",
        "ilsubmit": "ⵙⵉⴳⴳⵍ",
        "days": "{{PLURAL:$1|$1 ⵡⴰⵙⵙ|$1 ⵡⵓⵙⵙⴰⵏ}}",
        "exif-sensingmethod-2": "amfay n lon n tozmi ghyat tosa",
        "exif-sensingmethod-3": "amfay n lon n tozmi ghsnat tosatin",
        "exif-gaincontrol-0": "ⵡⴰⵍⵓ",
-       "exif-contrast-0": "normal",
+       "exif-contrast-0": "ⵏⵓⵔⵎⴰⵍ",
        "exif-contrast-1": "irtb",
        "exif-contrast-2": "ⴰⵇⵓⵔⴰⵔ",
        "exif-saturation-0": "ⴰⵎⴰⴳⵏⵓ",
        "exif-saturation-1": "imik ntmlli",
        "exif-saturation-2": "kigan ntmlli",
-       "exif-sharpness-0": "normal",
+       "exif-sharpness-0": "ⵏⵓⵔⵎⴰⵍ",
        "exif-sharpness-1": "irtb",
        "exif-sharpness-2": "iqor",
        "exif-subjectdistancerange-0": "ⴰⵔⵓⵙⵙⵉⵏ",
        "exif-subjectdistancerange-1": "ⵎⴰⴽⵔⵓ",
        "exif-subjectdistancerange-2": "tannayt iqrbn",
        "exif-gpslatitude-n": "dairat lard chamaliya",
-       "exif-gpsspeed-n": "Knots",
-       "exif-iimcategory-edu": "â´°âµ\99â´³âµ\8eâµ\89",
+       "exif-gpsspeed-n": "ⵜⵉⴽⵔⵓⵙⵉⵏ",
+       "exif-iimcategory-edu": "â´°âµ\99âµ\8dâµ\8eâ´·",
        "exif-iimcategory-hth": "ⵜⴰⴷⵓⵙⵉ",
        "exif-iimcategory-pol": "ⵜⴰⵙⵔⵜⵉⵜ",
        "namespacesall": "ⴰⴽⴽⵯ",
        "table_pager_first": "tawriqt tamzwarut",
        "table_pager_last": "tawriqt tamgrut",
        "table_pager_limit_submit": "ballak",
-       "table_pager_empty": "ornofa amya",
-       "watchlistedit-normal-submit": "hiyd lanawin",
-       "watchlistedit-raw-titles": "Azwl",
+       "table_pager_empty": "ⵡⴰⵍⵓ ⵜⵉⵢⴰⴼⵓⵜⵉⵏ",
+       "watchlistedit-normal-submit": "ⴽⴽⵙ ⵉⵣⵡⵉⵍⵏ",
+       "watchlistedit-raw-titles": "ⵉⵣⵡⵉⵍⵏ:",
        "watchlisttools-clear": "ⵙⴼⴹ ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵓⴹⴼⴼⵓⵔ",
        "watchlisttools-view": "Umuɣ n imtfrn",
        "watchlisttools-edit": "Ẓr tẓṛgt umuɣ lli tuytfarn",
        "fileduplicatesearch-submit": "ⵙⵉⴳⴳⵍ",
        "specialpages": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵥⵍⵉⵏⵉⵏ",
        "specialpages-group-other": "tiwriqin khassa yadnin",
-       "specialpages-group-login": "kchm/sjl",
+       "specialpages-group-login": "ⴽⵛⵎ / ⵙⵏⵓⵍⴼⵓ ⴰⵎⵉⴹⴰⵏ",
        "specialpages-group-changes": "tghyirat granin d sijilat",
        "specialpages-group-media": "taqarir n lmedia d upload",
        "specialpages-group-users": "imskhdamn d salahiyat",
        "specialpages-group-highuse": "tiwriqim li bahra skhdamn midn",
        "specialpages-group-pages": "lista n twriqin",
        "specialpages-group-pagetools": "ⵉⵎⴰⵙⵙⵏ ⵏ ⵜⴰⵙⵏⵉⵡⵉⵏ",
-       "specialpages-group-wiki": "wiki ladawat dlmalomat",
+       "specialpages-group-wiki": "ⵉⵙⴼⴽⴰ ⴷ ⵉⵎⴰⵙⵙⵏ",
        "specialpages-group-redirects": "sfhat tahwil gant khassa",
-       "specialpages-group-spam": "ladawat n spam",
-       "blankpage": "tawriqt orgiss walo",
+       "specialpages-group-spam": "ⵉⵎⴰⵙⵙⵏ ⵏ ⵓⵙⴲⴰⵎ",
+       "blankpage": "ⵜⴰⵙⵏⴰ ⵉⵅⵡⴰⵏ",
        "external_image_whitelist": "# Ajji aṣṭtar nna ɣiklli iga. <pre>\n# Ml igzman n tannayin (ɣir imi lli illan gr//) ɣ uzddar ɣid.\n# Rad tmiqqirn d tansiwin URL n tiwlaf n brra.\n# Tilli dis tmiqqirnin rad baynt zund tiwlaf, niɣd yan uzday s tawlaft arad ibayn.\n# Isṭṭarn lli ittizwirn s # rad gin zund iwnnan.\n# Tasna yad tfta d ugmmaḍ ad\n\n# Gatn igzman n iwnnan ɣ uflla n usṭṭar ad. Ajji yataṣṭṭar amggaru ɣiklli iga. </pre>",
        "tag-filter": "ⵜⴰⵙⵜⵜⴰⵢⵜ ⵏ [[Special:Tags|ⵜⵔⵛⴰⵎⵉⵏ]]:",
-       "tag-filter-submit": "Istayn",
+       "tag-filter-submit": "ⵜⴰⵙⵜⵜⴰⵢⵜ",
        "tags-title": "imarkiwn",
        "tags-source-header": "ⴰⵙⴰⴳⵎ",
        "tags-hitcount-header": "tghyiran markanin",
index 08193c1..b2281ae 100644 (file)
        "poolcounter-usage-error": "استعمال وچ خامی: $1",
        "aboutsite": "{{SITENAME}} دا تعارف",
        "aboutpage": "Project:تعارف",
+       "copyright": "مواد $1 دے تحت مل سڳدے، جے تائیں کوئی ٻئی ڳالھ نہ ہوسے۔",
        "copyrightpage": "{{ns:project}}:حقوق تصانیف",
        "currentevents": "حالیہ واقعات",
        "currentevents-url": "Project:حالیہ واقعات",
        "tooltip-n-portal": "ایں مںصوبے بارے، تساں کیا کر سڳدو، ، چیزاں کتھوں ڳولوں",
        "tooltip-n-currentevents": "موجودہ حالات وچ پچھلیاں معلومات ݙیکھو",
        "tooltip-n-recentchanges": "وکی تے نویاں تبدیلیاں۔",
-       "tooltip-n-randompage": "کوئی صفہ کھولو۔",
+       "tooltip-n-randompage": "کوئی ورقہ کھولو۔",
        "tooltip-n-help": "لبھݨ دی جاہ",
        "tooltip-t-whatlinkshere": "ایں نال جڑے سارے وکی ورقے۔",
        "tooltip-t-recentchangeslinked": "ایں ورقے توں جڑے ورقیاں وچ نویاں تبدیلیاں",
        "tooltip-t-specialpages": "سارے خاص ورقیاں دی تندیر",
        "tooltip-t-print": "ایں ورقے دا چھپݨ آلا انگ ݙیکھو",
        "tooltip-t-permalink": "ایں ورقے دی ایں رویژن دا پکا لنک جوڑ",
-       "tooltip-ca-nstab-main": "مواد آلا صفہ ݙیکھو",
+       "tooltip-ca-nstab-main": "مواد آلا ورقہ ݙیکھو",
        "tooltip-ca-nstab-user": "صارف دا ورقہ ݙیکھو",
        "tooltip-ca-nstab-special": "ایہ ہک خاص ورقہ ہے، اینکوں تبدیل نسے کرسڳدے",
        "tooltip-ca-nstab-project": "منصبے آلا ورقہ ݙیکھو",
        "imgmultigo": "ونڄو!",
        "imgmultigoto": "$1 تے ونڄو",
        "watchlisttools-clear": "زیرنظر فہرست دی صفائی",
-       "watchlisttools-view": "متعلقہ تبدیلیاں ݙیکو",
+       "watchlisttools-view": "متعلقہ تبدیلیاں ݙیکھو",
        "watchlisttools-edit": "زیرنظر فہرست  کوں ݙیکھو تے تبدیلی کرو",
        "watchlisttools-raw": "کچی زیرِنظرفہرست وچ تبدیلی کرو",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|تبادلۂ خیال]])",
        "logentry-delete-delete": "$1 {{GENDER:$2|مٹایا ڳیا}} ورقہ $3",
        "logentry-delete-restore": "$1 {{GENDER:$2|بحال تھی ڳیوہے}} page $3 ($4)",
        "revdelete-content-hid": "مواد لکیا",
-       "logentry-move-move": "$1 {{جنس:$2|پلٹی}} صفہ $3 توں $4",
+       "logentry-move-move": "$1 {{جنس:$2|پلٹی}} ورقہ $3 توں $4",
        "logentry-move-move_redir": "$1 نے رجوع مکرر ہٹا تے ورقہ $3 کوں $4 آلے پاسے {{GENDER:$2|منتقل کیتا}}",
        "logentry-newusers-create": "صارف کھاتہ $1 {{GENDER:$2|بݨایا ڳیا}}",
        "logentry-newusers-autocreate": "صارف کھاتہ $1 خودکار طور  {{GENDER:$2|تخلیق تھیا}}",
index 46e6a36..2593dad 100644 (file)
@@ -33,7 +33,8 @@
                        "Xð",
                        "Matma Rex",
                        "Zoranzoki21",
-                       "Obsuser"
+                       "Obsuser",
+                       "Prevodim"
                ]
        },
        "tog-underline": "Подвлачење веза:",
        "createacct-yourpasswordagain-ph": "Унесите лозинку још једном",
        "userlogin-remembermypassword": "Остави ме пријављеног/у",
        "userlogin-signwithsecure": "Користите сигурну конекцију",
+       "cannotlogin-title": "Пријава није могућа",
+       "cannotlogin-text": "Пријава није могућа",
+       "cannotloginnow-title": "Пријава тренутно није могућа",
+       "cannotloginnow-text": "Пријава није могућа коришћењем $1",
+       "cannotcreateaccount-title": "Отварање налога није могуће",
        "yourdomainname": "Домен:",
        "password-change-forbidden": "Не можете да промените лозинку на овом викију.",
        "externaldberror": "Дошло је до грешке при препознавању базе података или немате овлашћења да ажурирате свој спољни налог.",
        "createacct-reason-ph": "Зашто правите још један налог?",
        "createacct-submit": "Отвори налог",
        "createacct-another-submit": "Отвори налог",
+       "createacct-continue-submit": "Наставите отварање налога",
+       "createacct-another-continue-submit": "Наставите отварање налога",
        "createacct-benefit-heading": "{{SITENAME}} је пројекат који стварају људи попут Вас.",
        "createacct-benefit-body1": "{{PLURAL:$1|измена}}",
        "createacct-benefit-body2": "{{PLURAL:$1|страница|странице}}",
        "changepassword-throttled": "Превише пута сте покушали да се пријавите.\nМолимо вас да сачекате $1 пре него што покушате поново.",
        "botpasswords": "Лозинке ботова",
        "botpasswords-disabled": "Лозинке ботова су онемогућене.",
+       "botpasswords-existing": "Постојећа лозинка бота",
+       "botpasswords-createnew": "Направи нову лозинку за бота",
+       "botpasswords-editexisting": "Измени постојећу лозинку за бота",
        "botpasswords-label-appid": "Име бота:",
        "botpasswords-label-create": "Направи",
        "botpasswords-label-update": "Ажурирај",
        "botpasswords-label-cancel": "Откажи",
        "botpasswords-label-delete": "Обриши",
+       "botpasswords-label-resetpassword": "Ресетуј лозинку",
        "botpasswords-label-grants-column": "Одобрено",
+       "botpasswords-bad-appid": "\"$1\" није валидан назив бота",
+       "botpasswords-insert-failed": "Неуспешно додавање бота \"$1\". Да ли је већ додат?",
+       "botpasswords-created-title": "Направљена лозинка бота",
+       "botpasswords-created-body": "Лозинка за бота \"$1\" корисника \"$2\" је направљена.",
+       "botpasswords-updated-title": "Лозинка бота промењена",
+       "botpasswords-deleted-title": "Обрисана лозинка бота",
        "resetpass_forbidden": "Лозинка не може бити промењена",
+       "resetpass_forbidden-reason": "Лозинке није могуће променити: $1",
        "resetpass-no-info": "Морате бити пријављени да бисте приступили овој страници.",
        "resetpass-submit-loggedin": "Промени лозинку",
        "resetpass-submit-cancel": "Откажи",
        "passwordreset-emailelement": "Корисничко име: \n$1\n\nПривремена лозинка: \n$2",
        "passwordreset-emailsentemail": "Ако је ово имејл адреса повезана са Вашим налогом, подсетник о лозинци ће бити послат на имејл.",
        "passwordreset-emailsentusername": "Ако сте навели имејл адресу приликом регистрације, биће послат имејл за ресетовање лозинке.",
+       "passwordreset-nocaller": "Позивалац се мора навести",
+       "passwordreset-nosuchcaller": "Позивалац не постоји: $1",
+       "passwordreset-invalidemail": "Неисправна имејл адреса",
+       "passwordreset-nodata": "Корисничко име и адреса е-поште нису наведени",
        "changeemail": "Промени или уклони имејл адресу",
        "changeemail-header": "Попуните овај образац да би сте променили Вашу имејл адресу. Ако жели да ускратите приступ било којој имејл адреси Вашем налогу, оставите празно поље за нову имејл адресу приликом попуњавање обрасца.",
        "changeemail-no-info": "Морате бити пријављени да бисте приступили овој страници.",
        "previewnote": "<strong>Не заборавите да је ово само претпреглед.</strong>\nВаше измене још нису сачуване!",
        "continue-editing": "Иди на уређивачки оквир",
        "previewconflict": "Овај преглед осликава како ће текст у текстуалном оквиру изгледати.",
-       "session_fail_preview": "Извињавамо се! Нисмо могли да обрадимо Вашу измену због губитка података сесије.\n\nМожда сте одјављени. <strong>Проверите да ли сте пријављен и покушајте поново</strong>.\nАко и даље не ради, покушајте да се [[Special:UserLogout|одјавите]] и поново пријавите и проверите да ли су на Вашем претраживачу дозвољени колачићи са овог сајта.",
+       "session_fail_preview": "Извињавамо се! Нисмо могли да обрадимо Вашу измену због губитка података сесије.\n\nМожда сте одјављени. <strong>Проверите да ли сте пријављени и покушајте поново</strong>.\nАко и даље не ради, покушајте да се [[Special:UserLogout|одјавите]] и поново пријавите, те проверите да ли су на Вашем претраживачу дозвољени колачићи са овог сајта.",
        "session_fail_preview_html": "Нисмо могли да обрадимо вашу измену због губитка података сесије.\n\n<em>Будући да је на овом викију омогућен унос HTML ознака, преглед је сакривен као мера предострожности против напада преко јаваскрипта.</em>\n\n<strong>Ако сте покушали да направите праву измену, покушајте поново.<strong>\nАко и даље не ради, покушајте да се [[Special:UserLogout|одјавите]] и поново пријавите и проверите да ли Ваш претраживач дозвољава колачиће са овог сајта.",
        "token_suffix_mismatch": "'''Ваша измена је одбачена јер је ваш прегледач убацио знакове интерпункције у новчић уређивања.\nТо се понекад догађа када се користи неисправан посредник.'''",
        "edit_form_incomplete": "<strong>Неки делови обрасца за уређивање нису стигли до сервера. Проверите да ли су ваше измене непромењене и покушајте поново.</strong>",
        "mergehistory-empty": "Нема измена за спајање.",
        "mergehistory-done": "$3 {{PLURAL:$3|измена странице $1 је спојена|измене странице $1 су спојене|измена странице $1 је спојено}} у [[:$2]].",
        "mergehistory-fail": "Не могу да спојим историје. Проверите страницу и временске параметре.",
+       "mergehistory-fail-bad-timestamp": "Временска ознака није исправна.",
+       "mergehistory-fail-invalid-source": "Изворна страница није валидна.",
+       "mergehistory-fail-invalid-dest": "Одредишна страница није валидна.",
+       "mergehistory-fail-permission": "Немате овлашћење за спајање историје.",
+       "mergehistory-fail-self-merge": "Изворна и одредишна страница не могу бити исте.",
        "mergehistory-fail-toobig": "Није могуће спојити историје јер више од $1 {{PLURAL:$1|измене ће бити премештене|измена ће бити премештено}}.",
        "mergehistory-no-source": "Изворна страница $1 не постоји.",
        "mergehistory-no-destination": "Одредишна страница $1 не постоји.",
        "search-interwiki-caption": "Резултати са сестринских пројеката",
        "search-interwiki-default": "Резултати са $1:",
        "search-interwiki-more": "(више)",
+       "search-interwiki-more-results": "још резултата",
        "search-relatedarticle": "Повезано",
        "searchrelated": "повезано",
        "searchall": "све",
        "showingresultsinrange": "Испод {{PLURAL:$1|је приказан <strong>1</strong> резултат|су приказана <strong>$1</strong> резултата|је приказано <strong>$1</strong> резултата}}, у распону од <strong>$2</strong> до <strong>$3</strong>.",
        "search-showingresults": "{{PLURAL:$4|Резултат <strong>$1</strong> од <strong>$3</strong>|Резултати <strong>$1—$2</strong> од <strong>$3</strong>}}",
        "search-nonefound": "Нема поклапања.",
+       "search-nonefound-thiswiki": "Нема резултата на овом сајту који се поклапају са термином претраге.",
        "powersearch-legend": "Напредна претрага",
        "powersearch-ns": "Претрага по именским просторима:",
        "powersearch-togglelabel": "Изабери:",
        "search-external": "Спољна претрага",
        "searchdisabled": "Претрага је онемогућена.\nУ међувремену можете тражити преко Гугла.\nУпамтите да његови пописи овог викија могу бити застарели.",
        "search-error": "Дошло је до грешке приликом претраге: $1",
+       "search-warning": "Упозорење приликом претраге: $1",
        "preferences": "Подешавања",
        "mypreferences": "Подешавања",
        "prefs-edits": "Број измена:",
        "userrights-expiry": "Истиче:",
        "userrights-expiry-existing": "Постојеће вријеме истека: $3, $2",
        "userrights-expiry-othertime": "Друго вријеме:",
+       "userrights-expiry-options": "1 дан:1 day,1 недеља:1 week,1 месец:1 month,3 месеца:3 months,6 месеци:6 months,1 година:1 year",
        "userrights-cannot-shorten-expiry": "Не можете убрзати истек чланства у групи „$1”. Само корисници са дозволом да додају или уклоне ову групу могу да убрзају рок истека.",
        "userrights-conflict": "Сукоб промена корисничких права! Молимо проверите ваше измене.",
        "group": "Група:",
        "right-createpage": "прављење страница (изузев страница за разговор)",
        "right-createtalk": "прављење страница за разговор",
        "right-createaccount": "отварање нових корисничких налога",
+       "right-autocreateaccount": "Пријавите се аутоматски са екстерним корисничким налогом",
        "right-minoredit": "означавање измена мањим",
        "right-move": "Премештање страница",
        "right-move-subpages": "премештање страница с њиховим подстраницама",
        "recentchanges-legend-heading": "<strong>Легенда:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|списак нових страница]])",
        "recentchanges-submit": "Прикажи",
+       "rcfilters-tag-remove": "Обриши $1",
        "rcfilters-legend-heading": "<strong>Списак скраћеница:</strong>",
        "rcfilters-other-review-tools": "<strong>Остали алати за преглед</strong>",
        "rcfilters-grouping-title": "Груписање",
        "rcfilters-advancedfilters": "Напредни филтери",
        "rcfilters-limit-title": "Приказати измјена",
        "rcfilters-limit-shownum": "Прикажи посљедњих $1 измјена",
+       "rcfilters-days-title": "Претходних неколико дана",
+       "rcfilters-hours-title": "Претходних неколико сати",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|дан|дана}}",
        "rcfilters-days-show-hours": "$1 {{PLURAL:$1|сат|сата}}",
        "rcfilters-quickfilters": "Сачувани филтери",
        "rcfilters-show-new-changes": "Погледајте најновије измене",
        "rcfilters-search-placeholder": "Филтер скорашњих измјена (претражите или почните куцати)",
        "rcfilters-empty-filter": "Нема активних филтера. Сви доприноси су приказани.",
+       "rcfilters-filterlist-title": "Филтери",
+       "rcfilters-filterlist-whatsthis": "Како ово функционише?",
+       "rcfilters-filterlist-feedbacklink": "Дајте повратне информације о новим (бета) филтерима",
+       "rcfilters-highlightbutton-title": "Истакни резултате",
+       "rcfilters-highlightmenu-title": "Одабери боју",
+       "rcfilters-filterlist-noresults": "Нема пронађених филтера",
        "rcfilters-noresults-conflict": "Није пронађен ниједан резултат јер су критеријуми претраге сукобљени",
        "rcfilters-state-message-subset": "Овај филтер нема ефекта јер су његови резултати укључени са онима {{PLURAL:$2|следећег, ширег филтера|следећих, ширих филтера}} (покушајте са означавањем да бисте их распознали): $1",
        "rcfilters-state-message-fullcoverage": "Одабир свих филтера у групи је исто као и одабир ниједног, тако да овај филтер нема ефекта. Група укључује: $1",
        "rcfilters-filter-watchlist-watchednew-description": "Измене страница на списку надгледања које нисте посетили од када су направљене измене.",
        "rcfilters-filter-watchlist-notwatched-label": "Није на списку надгледања",
        "rcfilters-filter-watchlist-notwatched-description": "Све осим измена страница на Вашем списку надгледања.",
+       "rcfilters-filtergroup-changetype": "Тип измене",
        "rcfilters-filter-pageedits-label": "Измјене страница",
        "rcfilters-filter-pageedits-description": "Измјене вики садржаја, расправа, описа категорија…",
        "rcfilters-filter-newpages-label": "Стварање страница",
        "pageswithprop-legend": "Стране с особином стране",
        "pageswithprop-text": "Ова страна излистава стране које имају одређену особину",
        "pageswithprop-prop": "Име особине:",
+       "pageswithprop-reverse": "Сортирај у супротном редоследу",
+       "pageswithprop-sortbyvalue": "Сортирај према својствима",
        "pageswithprop-submit": "Иди",
        "doubleredirects": "Двострука преусмерења",
        "doubleredirectstext": "Ова страница приказује странице које преусмеравају на друга преусмерења.\nСваки ред садржи везе према првом и другом преусмерењу, као и одредишну страницу другог преусмерења која је обично „прави“ чланак на кога прво преусмерење треба да упућује.\n<del>Прецртани</del> уноси су већ решени.",
        "apihelp": "API помоћ",
        "apihelp-no-such-module": "Модул „$1“ није пронађен.",
        "apisandbox": "API песак",
+       "apisandbox-jsonly": "JavaScript је неопходан за коришћење API песка.",
        "apisandbox-api-disabled": "АПИ је онемогућен на овом сајту.",
+       "apisandbox-fullscreen": "Прошири панел",
+       "apisandbox-fullscreen-tooltip": "Прошири панел до величине прозора.",
        "apisandbox-unfullscreen": "Прикажи страницу",
-       "apisandbox-submit": "Постави захтев",
+       "apisandbox-unfullscreen-tooltip": "Смањи панел, како би навигациони линкови били доступни.",
+       "apisandbox-submit": "Пошаљи захтев",
        "apisandbox-reset": "Очисти",
        "apisandbox-retry": "Покушај поново",
+       "apisandbox-loading": "Учитавање информација за API модул \"$1\"",
+       "apisandbox-load-error": "Дошло је до грешке приликом учитавања информација за API модул \"$1\": $2",
+       "apisandbox-no-parameters": "Овај API модул нема параметре.",
+       "apisandbox-helpurls": "Линкови за помоћ",
+       "apisandbox-examples": "Примери",
+       "apisandbox-dynamic-parameters": "Додатни параметри",
+       "apisandbox-dynamic-parameters-add-label": "Додај параметар:",
+       "apisandbox-dynamic-parameters-add-placeholder": "Назив параметра",
+       "apisandbox-dynamic-error-exists": "Параметар под називом \"$1\" већ постоји.",
+       "apisandbox-deprecated-parameters": "Застарели параметри",
+       "apisandbox-fetch-token": "Аутоматски попуни токен",
+       "apisandbox-submit-invalid-fields-title": "Нека поља нису валидна",
+       "apisandbox-submit-invalid-fields-message": "Молимо Вас поправите означена поља и покушајте поново.",
        "apisandbox-results": "Резултати",
+       "apisandbox-sending-request": "Слање API захтева...",
+       "apisandbox-loading-results": "Пријем API резултата...",
+       "apisandbox-results-error": "Дошло је до грешке приликом учитавања резултата API упита: $1.",
        "apisandbox-request-url-label": "Адреса захтева:",
        "apisandbox-continue": "Настави",
        "apisandbox-continue-clear": "Очисти",
        "undelete-search-title": "Претрага обрисаних страница",
        "undelete-search-box": "Претражи обрисане странице",
        "undelete-search-prefix": "Прикажи странице које почињу са:",
+       "undelete-search-full": "Прикажи наслове који садрже:",
        "undelete-search-submit": "Претражи",
        "undelete-no-results": "Одговарајућа страница у дневнику брисања није пронађена.",
        "undelete-filename-mismatch": "Не могу да вратим измену датотеке од $1: назив датотеке се не поклапа",
index 13ebcb4..8f103a9 100644 (file)
        "previewnote": "<strong>Ne zaboravite da je ovo samo pretpregled.</strong>\nVaše izmene još nisu sačuvane!",
        "continue-editing": "Idi na uređivački okvir",
        "previewconflict": "Ovaj pregled oslikava kako će tekst u tekstualnom okviru izgledati.",
-       "session_fail_preview": "Izvinjavamo se! Nismo mogli da obradimo Vašu izmenu zbog gubitka podataka sesije.\n\nMožda ste odjavljeni. <strong>Proverite da li ste prijavljen i pokušajte ponovo</strong>.\nAko i dalje ne radi, pokušajte da se [[Special:UserLogout|odjavite]] i ponovo prijavite i proverite da li su na Vašem pretraživaču dozvoljeni kolačići sa ovog sajta.",
+       "session_fail_preview": "Izvinjavamo se! Nismo mogli da obradimo Vašu izmenu zbog gubitka podataka sesije.\n\nMožda ste odjavljeni. <strong>Proverite da li ste prijavljeni i pokušajte ponovo</strong>.\nAko i dalje ne radi, pokušajte da se [[Special:UserLogout|odjavite]] i ponovo prijavite, te proverite da li su na Vašem pretraživaču dozvoljeni kolačići sa ovog sajta.",
        "session_fail_preview_html": "'''Nismo mogli da obradimo vašu izmenu zbog gubitka podataka sesije.'''\n\n''Budući da je na ovom vikiju omogućen unos HTML oznaka, pregled je sakriven kao mera predostrožnosti protiv napada preko javaskripta.''\n\n'''Ako ste pokušali da napravite pravu izmenu, pokušajte ponovo.\nAko i dalje ne radi, pokušajte da se [[Special:UserLogout|odjavite]] i ponovo prijavite.'''",
        "token_suffix_mismatch": "'''Vaša izmena je odbačena jer je vaš pregledač ubacio znakove interpunkcije u novčić uređivanja.\nTo se ponekad događa kada se koristi neispravan posrednik.'''",
        "edit_form_incomplete": "<strong>Neki delovi obrasca za uređivanje nisu stigli do servera. Proverite da li su vaše izmene nepromenjene i pokušajte ponovo.</strong>",
index 666b335..e3d0271 100644 (file)
        "tags-edit-title": "Édit tag",
        "tags-edit-existing-tags-none": "<em>Taya</em>",
        "tags-edit-new-tags": "Tag anyar:",
+       "tags-edit-remove": "Pupus ieu tag-tag:",
        "tags-edit-reason": "Alesan:",
        "comparepages": "Bandinkeun kaca",
        "compare-page1": "Kaca 1",
        "expand_templates_output": "Hasil:",
        "expand_templates_xml_output": "Output XML",
        "expand_templates_ok": "Heug",
+       "expand_templates_remove_comments": "Pupus koméntar",
        "expand_templates_preview": "Pramidang",
        "pagelang-name": "Kaca",
        "pagelang-language": "Basa",
        "special-characters-group-khmer": "Khmer",
        "log-action-filter-all": "Sakumna",
        "log-action-filter-block-block": "Peungpeuk",
+       "removecredentials": "Pupus krédensial",
+       "removecredentials-success": "Krédensial Anda geus dipupus.",
        "gotointerwiki": "Ninggalkeun{{SITENAME}}",
        "gotointerwiki-invalid": "Judul spésipik henteu valid"
 }
index 0c75fc5..d921498 100644 (file)
@@ -22,7 +22,8 @@
                        "反共复国",
                        "姑苏小恐龙",
                        "飞舞回堂前",
-                       "Macofe"
+                       "Macofe",
+                       "Dcljr"
                ]
        },
        "tog-underline": "鏈接下橫線:",
        "anontalk": "讲张",
        "navigation": "导航",
        "and": "搭仔",
-       "qbfind": "尋",
-       "qbbrowse": "浏览",
-       "qbedit": "编辑",
-       "qbpageoptions": "箇頁",
-       "qbmyoptions": "我个页面",
        "faq": "FAQ",
-       "faqpage": "Project:FAQ",
        "actions": "动作",
        "namespaces": "名字空间",
        "variants": "变量",
        "edit-local": "编辑本地说明",
        "create": "创建",
        "create-local": "添加本地说明",
-       "editthispage": "编辑该只页面",
-       "create-this-page": "建箇頁",
        "delete": "删除",
-       "deletethispage": "刪箇頁",
-       "undeletethispage": "还原箇页",
        "undelete_short": "还原{{PLURAL:$1|一趟编辑|$1趟编辑}}",
        "viewdeleted_short": "望{{PLURAL:$1|一只删脱个编辑|$1只删脱个编辑}}",
        "protect": "保",
        "protect_change": "改",
-       "protectthispage": "保护该个页面",
        "unprotect": "更改保护",
-       "unprotectthispage": "更改此页个保护",
        "newpage": "新页",
-       "talkpage": "探討箇頁",
        "talkpagelinktext": "讲张",
        "specialpage": "特別頁",
        "personaltools": "私人家伙",
-       "articlepage": "望内容页",
        "talk": "讨论",
        "views": "望",
        "toolbox": "家生",
-       "userpage": "望用戶頁",
-       "projectpage": "望計劃頁",
        "imagepage": "望文件頁",
        "mediawikipage": "望信息頁",
        "templatepage": "望模板頁",
        "watchlist-options": "关注表选项",
        "watching": "监控……",
        "unwatching": "解除监控……",
+       "enotif_body_intro_deleted": "{{SITENAME}}页面$1已于$PAGEEDITDATE被$2{{GENDER:$2|删除}},请见<$3>。",
        "created": "建立哉",
        "changed": "改变哉",
        "deletepage": "删脱页面",
index ba1670e..c26fca0 100644 (file)
        "limitreport-expansiondepth": "最高扩展深度",
        "limitreport-expensivefunctioncount": "高开销解析函数数量",
        "expandtemplates": "展开模板",
-       "expand_templates_intro": "此特殊页面可以递归地展开所给文本中的模板。\n它同时还可展开诸如<nowiki>{{</nowiki>#language:...}}的解析器函数和诸如<nowiki>{{</nowiki>CURRENTDAY}}的变量。\n实际上,几乎所有在双重花括号中的内容都会被展开。",
+       "expand_templates_intro": "此特殊页面可以递归地展开所给文本中的模板。它同时还可展开像<code><nowiki>{{</nowiki>#language:…}}</code>这样的解析器函数和像<code><nowiki>{{</nowiki>CURRENTDAY}}</code>这样的变量。实际上,几乎所有在双重花括号中的内容都会被展开。",
        "expand_templates_title": "上下文标题,用于{{FULLPAGENAME}}等:",
        "expand_templates_input": "输入文本:",
        "expand_templates_output": "结果",
index 342ccef..2e0a247 100644 (file)
        "import-nonewrevisions": "未匯入任何修訂 (修訂已存在,或因錯誤跳過)。",
        "xml-error-string": "$1 於行 $2,欄 $3 ($4 位元組):$5",
        "import-upload": "上傳 XML 資料",
-       "import-token-mismatch": "連線階段資料遺失。\n\n您可能已被登出。<strong>請確認您是否仍在登入狀態並再試一次</strong>。\n若仍無法運作,請嘗試[[Special:UserLogout|登出]]再登入一次,並檢查您的瀏覽器是否允許本站使用 cookie。",
+       "import-token-mismatch": "連線階段資料遺失。\n\n您可能已被登出。'''請確認您是否仍在登入狀態並再試一次'''。\n若仍無法運作,請嘗試[[Special:UserLogout|登出]]再登入一次,並檢查您的瀏覽器是否允許本站使用 cookie。",
        "import-invalid-interwiki": "不能從指定的 Wiki 匯入。",
        "import-error-edit": "您沒有權限編輯頁面 \"$1\",無法匯入。",
        "import-error-create": "您沒有權限建立頁面 \"$1\",無法匯入。",
index fbc9816..bace9d0 100644 (file)
@@ -105,6 +105,11 @@ span.comment {
        clear: both;
 }
 
+/* Prevent editing textarea from jumping when toolbar is loaded */
+#toolbar {
+       height: 22px;
+}
+
 /* Edit font preference */
 /* TODO: for 'default' on non-textareas we could compute the default font of textarea in the client */
 .mw-editfont-default:not( textarea ) {
index d7042ff..0155a58 100644 (file)
@@ -79,9 +79,7 @@
        mw.rcfilters.dm.ChangesListViewModel.prototype.update = function ( changesListContent, $fieldset, isInitialDOM, separateOldAndNew ) {
                var from = this.nextFrom;
                this.valid = true;
-               if ( mw.rcfilters.featureFlags.liveUpdate ) {
-                       this.extractNextFrom( $fieldset );
-               }
+               this.extractNextFrom( $fieldset );
                this.checkForUnseenWatchedChanges( changesListContent );
                this.emit( 'update', changesListContent, $fieldset, isInitialDOM, separateOldAndNew ? from : null );
        };
         * @param {jQuery} $fieldset
         */
        mw.rcfilters.dm.ChangesListViewModel.prototype.extractNextFrom = function ( $fieldset ) {
-               this.nextFrom = $fieldset.find( '.rclistfrom > a' ).data( 'params' ).from;
+               var data = $fieldset.find( '.rclistfrom > a' ).data( 'params' );
+               this.nextFrom = data ? data.from : null;
        };
 
        /**
index 209e7c8..a0e60d5 100644 (file)
                        this.filtersModel
                );
 
-               try {
-                       parsedSavedQueries = JSON.parse( mw.user.options.get( this.savedQueriesPreferenceName ) || '{}' );
-               } catch ( err ) {
-                       parsedSavedQueries = {};
-               }
+               if ( !mw.user.isAnon() ) {
+                       try {
+                               parsedSavedQueries = JSON.parse( mw.user.options.get( this.savedQueriesPreferenceName ) || '{}' );
+                       } catch ( err ) {
+                               parsedSavedQueries = {};
+                       }
 
-               // The queries are saved in a minimized state, so we need
-               // to send over the base state so the saved queries model
-               // can normalize them per each query item
-               this.savedQueriesModel.initialize(
-                       parsedSavedQueries,
-                       this._getBaseFilterState(),
-                       // This is for backwards compatibility - delete all excluded filter states
-                       Object.keys( this.filtersModel.getExcludedFiltersState() )
-               );
+                       // The queries are saved in a minimized state, so we need
+                       // to send over the base state so the saved queries model
+                       // can normalize them per each query item
+                       this.savedQueriesModel.initialize(
+                               parsedSavedQueries,
+                               this._getBaseFilterState(),
+                               // This is for backwards compatibility - delete all excluded filter states
+                               Object.keys( this.filtersModel.getExcludedFiltersState() )
+                       );
+               }
 
                // Check whether we need to load defaults.
                // We do this by checking whether the current URI query
                // or on request
                this.initializing = true;
                if (
-                       this.savedQueriesModel.getDefault() &&
+                       !mw.user.isAnon() && this.savedQueriesModel.getDefault() &&
                        !this.uriProcessor.doesQueryContainRecognizedParams( uri.query )
                ) {
                        // We have defaults from a saved query.
                        !this.filtersModel.hasConflict() &&
                        !this.changesListModel.getNewChangesExist() &&
                        !this.updatingChangesList &&
-                       mw.rcfilters.featureFlags.liveUpdate;
+                       this.changesListModel.getNextFrom();
        };
 
        /**
                var data, queryHighlights,
                        savedParams = {},
                        savedHighlights = {},
-                       defaultSavedQueryItem = this.savedQueriesModel.getItemByID( this.savedQueriesModel.getDefault() );
+                       defaultSavedQueryItem = !mw.user.isAnon() && this.savedQueriesModel.getItemByID( this.savedQueriesModel.getDefault() );
 
                if ( defaultSavedQueryItem ) {
                        data = defaultSavedQueryItem.getData();
index d5528e1..c667bac 100644 (file)
@@ -31,8 +31,7 @@
        }
 
        .rcfilters-head {
-               min-height: 220px;
-               margin-top: 1em;
+               min-height: 200px;
 
                &:not( .mw-rcfilters-ui-ready ) {
                        opacity: 0.5;
index 3b90f06..5a885ec 100644 (file)
@@ -8,19 +8,18 @@
 }
 
 // This is a general mixin for a color circle
-.mw-rcfilters-mixin-circle( @color: white, @diameter: 2em, @padding: 0.5em, @border: false ) {
-       border-radius: 50%;
+.mw-rcfilters-mixin-circle( @color: #fff, @diameter: 2em, @padding: 0.5em, @border: false ) {
+       background-color: @color;
+       .box-sizing( border-box );
        min-width: @diameter;
        width: @diameter;
        min-height: @diameter;
        height: @diameter;
        margin: @padding;
-       .box-sizing( border-box );
-
-       background-color: @color;
+       border-radius: 50%;
 
-       & when (@border = true) {
-               border: 1px solid #565656;
+       & when ( @border = true ) {
+               border: 1px solid #54595d;
        }
 }
 
index 31f3f1d..dc7afab 100644 (file)
@@ -13,7 +13,7 @@
 
        &-newChanges {
                min-height: 34px;
-               margin: 10px 0;
+               margin: 8px 0 0 0;
                text-align: center;
        }
 
                }
        }
 
+       h4:first-of-type {
+               margin-top: 0;
+               padding-top: 0;
+       }
+
        ul {
                // Each li's margin-left should be the width of the highlights
                // element + the margin
index 964f27e..c09ca1e 100644 (file)
@@ -8,8 +8,7 @@
                padding: 0 0.75em;
                // Use a high specificity to override OOUI
                .oo-ui-optionWidget.oo-ui-labelElement &-title.oo-ui-labelElement-label {
-                       // TODO: Unify colors with official design palette
-                       color: #555a5d;
+                       color: #54595d;
                        .box-sizing( border-box );
                        display: inline-block;
                        line-height: normal;
index 076636c..f3e1351 100644 (file)
                                color: #222; // Base10
                                font-weight: bold;
                                margin-left: 1em;
+                               width: ~'calc( 100% - 10em )';
+                               overflow: hidden;
+                               text-overflow: ellipsis;
+                               white-space: nowrap;
                        }
                }
        }
index 87d09e0..a89b69c 100644 (file)
@@ -1,5 +1,4 @@
 .mw-rcfilters-ui-filterWrapperWidget {
-       margin-top: 1em;
        width: 100%;
        // Make sure this uses the interface direction, not the content direction
        direction: ltr;
index 667f528..0adec46 100644 (file)
@@ -38,7 +38,7 @@
 
                                .mw-rcfilters-mixin-circle( @highlight-none, 2em, 0.5em, true );
                                // Override border to dashed
-                               border: 1px dashed #565656;
+                               border: 1px dashed #54595d;
 
                                &.oo-ui-buttonOptionWidget.oo-ui-buttonElement-active,
                                &.oo-ui-buttonOptionWidget.oo-ui-optionWidget-pressed,
index 86bfafb..75ea061 100644 (file)
@@ -6,11 +6,11 @@
        .box-sizing( border-box );
 
        &:not( :last-child ) {
-               border-bottom: solid 1px #eaecf0; // Base 80 AAA
+               border-bottom: 1px solid #eaecf0; // Base80 AAA
        }
 
        &-view-namespaces {
-               border-top: 5px solid #ccc;
+               border-top: 5px solid #c8ccd1;
 
                &:first-child,
                &.mw-rcfilters-ui-itemMenuOptionWidget-identifier-subject + &.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk {
@@ -19,7 +19,7 @@
        }
 
        &:hover {
-               background-color: #fbfbfb;
+               background-color: #f8f9fa;
        }
 
        .mw-rcfilters-ui-table {
@@ -37,7 +37,7 @@
                        color: #222;
                }
                &-desc {
-                       color: #464a4f;
+                       color: #54595d;
                        white-space: normal;
                }
        }
index 8c54089..24e062e 100644 (file)
@@ -11,7 +11,7 @@
        &-noresults {
                display: none;
                padding: 0.5em;
-               color: #666;
+               color: #54595d;
 
                .oo-ui-menuSelectWidget-invisible & {
                        display: inline-block;
index 2daa76e..e7433e2 100644 (file)
                // then the icon needs to be slightly smaller as well, so that
                // when we toggle 'default' the icon doesn't bounce the option
                // height up a little
-               width: 1.7em;
-               height: 1.7em;
+               width: 1.2em;
+               height: 1.2em;
+               min-width: 16px;
+               min-height: 16px;
+               opacity: 0.5;
        }
 
        &-icon span {
index 1fb2fca..26ea64c 100644 (file)
@@ -2,7 +2,7 @@
 
 .mw-rcfilters-ui-tagItemWidget {
        // Background and color of the capsule widget need a bit
-       // more specificity to override ooui internals
+       // more specificity to override OOUI internals
        &.oo-ui-flaggedElement-muted.oo-ui-tagItemWidget.oo-ui-widget-enabled {
                // Muted state
                background-color: #eaecf0;
@@ -26,7 +26,7 @@
        // the white background
        // The specificity is fixed in the patch: https://gerrit.wikimedia.org/r/#/c/349525/
        // and will be available in the next OOUI release.
-       .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagMultiselectWidget-handle &-selected.oo-ui-tagItemWidget.oo-ui-widget-enabled {
+       .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined &-selected.oo-ui-tagItemWidget.oo-ui-widget-enabled {
                background-color: #eaf3ff;
                border-color: #36c;
        }
index 955e01d..a97ffe9 100644 (file)
@@ -48,9 +48,7 @@
                // Set up highlight containers
                this.setupHighlightContainers( this.$element );
 
-               if ( mw.rcfilters.featureFlags.liveUpdate ) {
-                       this.setupNewChangesButtonContainer( this.$element );
-               }
+               this.setupNewChangesButtonContainer( this.$element );
        };
 
        /* Initialization */
index 3aa7161..b15b034 100644 (file)
                        classes: [ 'mw-rcfilters-ui-filterTagMultiselectWidget-resetButton' ]
                } );
 
-               this.saveQueryButton = new mw.rcfilters.ui.SaveFiltersPopupButtonWidget(
-                       this.controller,
-                       this.queriesModel
-               );
+               if ( !mw.user.isAnon() ) {
+                       this.saveQueryButton = new mw.rcfilters.ui.SaveFiltersPopupButtonWidget(
+                               this.controller,
+                               this.queriesModel
+                       );
 
-               this.saveQueryButton.$element.on( 'mousedown', function ( e ) { e.stopPropagation(); } );
+                       this.saveQueryButton.$element.on( 'mousedown', function ( e ) { e.stopPropagation(); } );
 
-               this.saveQueryButton.connect( this, {
-                       click: 'onSaveQueryButtonClick',
-                       saveCurrent: 'setSavedQueryVisibility'
-               } );
+                       this.saveQueryButton.connect( this, {
+                               click: 'onSaveQueryButtonClick',
+                               saveCurrent: 'setSavedQueryVisibility'
+                       } );
+                       this.queriesModel.connect( this, { itemUpdate: 'onSavedQueriesItemUpdate' } );
+               }
 
                this.emptyFilterMessage = new OO.ui.LabelWidget( {
                        label: mw.msg( 'rcfilters-empty-filter' ),
                        highlightChange: 'onModelHighlightChange'
                } );
                this.input.connect( this, { change: 'onInputChange' } );
-               this.queriesModel.connect( this, { itemUpdate: 'onSavedQueriesItemUpdate' } );
 
                // The filter list and button should appear side by side regardless of how
                // wide the button is; the button also changes its width depending
                                        .addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-cell-filters' )
                        );
 
-               rcFiltersRow.append(
-                       $( '<div>' )
-                               .addClass( 'mw-rcfilters-ui-cell' )
-                               .addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-cell-save' )
-                               .append( this.saveQueryButton.$element )
-               );
+               if ( !mw.user.isAnon() ) {
+                       rcFiltersRow.append(
+                               $( '<div>' )
+                                       .addClass( 'mw-rcfilters-ui-cell' )
+                                       .addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-cell-save' )
+                                       .append( this.saveQueryButton.$element )
+                       );
+               }
 
                // Add a selector at the right of the input
                this.viewsSelectWidget = new OO.ui.ButtonSelectWidget( {
         * Set the visibility of the saved query button
         */
        mw.rcfilters.ui.FilterTagMultiselectWidget.prototype.setSavedQueryVisibility = function () {
+               if ( mw.user.isAnon() ) {
+                       return;
+               }
+
                this.matchingQuery = this.controller.findQueryMatchingCurrentState();
 
                this.savedQueryTitle.setLabel(
index c3af7c5..b57f5d7 100644 (file)
                                this.dateWidget.$element
                        );
 
-               this.savedLinksListWidget = new mw.rcfilters.ui.SavedLinksListWidget(
-                       this.controller,
-                       this.queriesModel,
-                       { $overlay: this.$overlay }
-               );
+               if ( !mw.user.isAnon() ) {
+                       this.savedLinksListWidget = new mw.rcfilters.ui.SavedLinksListWidget(
+                               this.controller,
+                               this.queriesModel,
+                               { $overlay: this.$overlay }
+                       );
 
-               this.$topRow.append(
-                       $( '<div>' )
-                               .addClass( 'mw-rcfilters-ui-cell' )
-                               .addClass( 'mw-rcfilters-ui-filterWrapperWidget-top-savedLinks' )
-                               .append( this.savedLinksListWidget.$element )
-               );
+                       this.$topRow.append(
+                               $( '<div>' )
+                                       .addClass( 'mw-rcfilters-ui-cell' )
+                                       .addClass( 'mw-rcfilters-ui-filterWrapperWidget-top-savedLinks' )
+                                       .append( this.savedLinksListWidget.$element )
+                       );
+               }
 
                if ( mw.rcfilters.featureFlags.liveUpdate ) {
                        $bottom.append( this.liveUpdateButton.$element );
index 5a64edd..ad99e22 100644 (file)
                        this.$element.find( '.cloption-submit' ).detach();
                }
 
-               if ( mw.rcfilters.featureFlags.liveUpdate ) {
-                       this.$element.find(
-                               '.rclistfrom, .rcnotefrom, .rcoptions-listfromreset'
-                       ).detach();
-               }
+               this.$element.find(
+                       '.rclistfrom, .rcnotefrom, .rcoptions-listfromreset'
+               ).detach();
 
                if ( this.$element.text().trim() === this.$element.find( 'legend' ).text() ) {
                        this.$element.detach();
index 3655c16..71e3b55 100644 (file)
@@ -93,6 +93,7 @@
                } );
                this.$element.on( { click: this.onClick.bind( this ) } );
                this.$label.on( { click: this.onClick.bind( this ) } );
+               this.$icon.on( { click: this.onDefaultIconClick.bind( this ) } );
                // Prevent propagation on mousedown for the save button
                // so the menu doesn't close
                this.saveButton.$element.on( { mousedown: function () { return false; } } );
                        this.emit( 'click' );
                }
        };
+
+       /**
+        * Respond to click on the 'default' icon. Open the submenu where the
+        * default state can be changed.
+        *
+        * @return {boolean} false
+        */
+       mw.rcfilters.ui.SavedLinksListItemWidget.prototype.onDefaultIconClick = function () {
+               this.menu.toggle();
+               return false;
+       };
+
        /**
         * Respond to popup button click event
         */
index 3dc7f20..654b655 100644 (file)
@@ -193,3 +193,36 @@ figure[typeof*='mw:Audio/Thumb'] {
                display: inline-block;
        }
 }
+
+/**
+ * Inline media items
+ */
+*:first-child {
+       > img,
+       > video {
+               .mw-valign-middle > & {
+                       vertical-align: middle;
+               }
+               .mw-valign-baseline > & {
+                       vertical-align: baseline;
+               }
+               .mw-valign-sub > & {
+                       vertical-align: sub;
+               }
+               .mw-valign-super > & {
+                       vertical-align: super;
+               }
+               .mw-valign-top > & {
+                       vertical-align: top;
+               }
+               .mw-valign-text-top > & {
+                       vertical-align: text-top;
+               }
+               .mw-valign-bottom > & {
+                       vertical-align: bottom;
+               }
+               .mw-valign-text-bottom > & {
+                       vertical-align: text-bottom;
+               }
+       }
+}
index 8c60ecf..1960351 100644 (file)
                // Properties
                this.textinput = new OO.ui.TextInputWidget( config.textinput );
                this.dropdowninput = new OO.ui.DropdownInputWidget( config.dropdowninput );
+               this.or = config.or;
 
-               if ( config.or === true ) {
-                       this.dropdowninput.on( 'change', this.onChange.bind( this ) );
-                       this.onChange();
-               }
+               // Events
+               this.dropdowninput.on( 'change', this.onChange.bind( this ) );
 
                // Parent constructor
                mw.widgets.SelectWithInputWidget.parent.call( this, config );
@@ -62,6 +61,7 @@
                                this.dropdowninput.$element,
                                this.textinput.$element
                        );
+               this.onChange();
        };
 
        /* Setup */
         * @inheritdoc
         */
        mw.widgets.SelectWithInputWidget.prototype.setDisabled = function ( disabled ) {
+               var textinputIsHidden = this.or && this.dropdowninput.getValue() !== 'other';
                mw.widgets.SelectWithInputWidget.parent.prototype.setDisabled.call( this, disabled );
-               this.textinput.setDisabled( disabled );
                this.dropdowninput.setDisabled( disabled );
+               // It is impossible to submit a form with hidden fields failing validation, e.g. one that
+               // is required. However, validity is not checked for disabled fields, as these are not
+               // submitted with the form. So we should also disable fields when hiding them.
+               this.textinput.setDisabled( textinputIsHidden || disabled );
        };
 
        /**
         * @private
         */
        mw.widgets.SelectWithInputWidget.prototype.onChange = function ( value ) {
-               value = value || this.dropdowninput.getValue();
-               this.textinput.$element.toggle( value === 'other' );
+               if ( this.or ) {
+                       value = value || this.dropdowninput.getValue();
+                       this.textinput.$element.toggle( value === 'other' );
+                       // It is impossible to submit a form with hidden fields failing validation, e.g. one that
+                       // is required. However, validity is not checked for disabled fields, as these are not
+                       // submitted with the form. So we should also disable fields when hiding them.
+                       this.textinput.setDisabled( value !== 'other' || this.isDisabled() );
+               }
        };
 
 }( jQuery, mediaWiki ) );
index 4a59dae..ea62075 100644 (file)
        > .oo-ui-indicatorElement-indicator,
        > .oo-ui-iconElement-icon {
                position: absolute;
+               top: 0;
+               height: 2.3em;
        }
 
        > .oo-ui-indicatorElement-indicator {
                right: 0;
-               top: 0;
                width: 0.9375em;
-               height: 2.3em;
                margin-right: 0.775em;
        }
 
        > .oo-ui-iconElement-icon {
-               top: 0;
                width: 1.875em;
-               height: 2.3em;
                margin-left: 0.5em;
-               left: 0;
        }
 
        &.oo-ui-widget-disabled {
                > .mw-widgets-stashedFileWidget-label {
                        position: relative;
 
-                       > .mw-widgets-stashedFileWidget-fileName {
-                               display: block;
-                               float: none;
-                       }
-
+                       > .mw-widgets-stashedFileWidget-fileName,
                        > .mw-widgets-stashedFileWidget-fileType {
                                display: block;
                                float: none;
index bbffe28..2ac5d45 100644 (file)
@@ -4,6 +4,7 @@
  * @copyright 2011-2015 MediaWiki Widgets Team and others; see AUTHORS.txt
  * @license The MIT License (MIT); see LICENSE.txt
  */
+@import 'mediawiki.mixins';
 
 .mw-widget-titleWidget-menu {
        .mw-widget-titleOptionWidget {
@@ -16,9 +17,7 @@
 
        &-withImages {
                .mw-widget-titleOptionWidget {
-                       -webkit-box-sizing: border-box;
-                       -moz-box-sizing: border-box;
-                       box-sizing: border-box;
+                       .box-sizing( border-box );
                        min-height: 3.75em;
                        padding-left: 4.75em;
 
diff --git a/tests/phpunit/includes/collation/CollationFaTest.php b/tests/phpunit/includes/collation/CollationFaTest.php
new file mode 100644 (file)
index 0000000..f230197
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+class CollationFaTest extends MediaWikiTestCase {
+
+       /*
+        * The ordering is a weird hack designed to work only with a very
+        * specific version of libicu, and as such can't really be unit tested
+        * against a random version of libicu
+        */
+
+       /**
+        * @dataProvider provideGetFirstLetter
+        */
+       public function testGetFirstLetter( $letter, $str ) {
+               $coll = new CollationFa;
+               $this->assertEquals( $letter, $coll->getFirstLetter( $str ), $str );
+       }
+
+       public function provideGetFirstLetter() {
+               return [
+                       [
+                               '۷',
+                               '۷'
+                       ],
+                       [
+                               'ا',
+                               'ا'
+                       ],
+                       [
+                               'ا',
+                               'ایران'
+                       ],
+                       [
+                               'ب',
+                               'برلین'
+                       ],
+                       [
+                               'و',
+                               'واو'
+                       ],
+                       [ "\xd8\xa7", "\xd8\xa7Foo" ],
+                       [ "\xd9\x88", "\xd9\x88Foo" ],
+                       [ "\xd9\xb2", "\xd9\xb2Foo" ],
+                       [ "\xd9\xb3", "\xd9\xb3Foo" ],
+               ];
+       }
+}
diff --git a/tests/phpunit/structure/ApiDocumentationTest.php b/tests/phpunit/structure/ApiDocumentationTest.php
deleted file mode 100644 (file)
index 83585af..0000000
+++ /dev/null
@@ -1,185 +0,0 @@
-<?php
-
-use Wikimedia\TestingAccessWrapper;
-
-/**
- * Checks that all API modules, core and extensions, have documentation i18n messages
- *
- * It won't catch everything since i18n messages can vary based on the wiki
- * configuration, but it should catch many cases for forgotten i18n.
- *
- * @group API
- */
-class ApiDocumentationTest extends MediaWikiTestCase {
-
-       /** @var ApiMain */
-       private static $main;
-
-       /** @var array Sets of globals to test. Each array element is input to HashConfig */
-       private static $testGlobals = [
-               [
-                       'MiserMode' => false,
-                       'AllowCategorizedRecentChanges' => false,
-               ],
-               [
-                       'MiserMode' => true,
-                       'AllowCategorizedRecentChanges' => true,
-               ],
-       ];
-
-       /**
-        * Initialize/fetch the ApiMain instance for testing
-        * @return ApiMain
-        */
-       private static function getMain() {
-               if ( !self::$main ) {
-                       self::$main = new ApiMain( RequestContext::getMain() );
-                       self::$main->getContext()->setLanguage( 'en' );
-                       self::$main->getContext()->setTitle(
-                               Title::makeTitle( NS_SPECIAL, 'Badtitle/dummy title for ApiDocumentationTest' )
-                       );
-               }
-               return self::$main;
-       }
-
-       /**
-        * Test a message
-        * @param Message $msg
-        * @param string $what Which message is being checked
-        */
-       private function checkMessage( $msg, $what ) {
-               $msg = ApiBase::makeMessage( $msg, self::getMain()->getContext() );
-               $this->assertInstanceOf( 'Message', $msg, "$what message" );
-               $this->assertTrue( $msg->exists(), "$what message {$msg->getKey()} exists" );
-       }
-
-       /**
-        * @dataProvider provideDocumentationExists
-        * @param string $path Module path
-        * @param array $globals Globals to set
-        */
-       public function testDocumentationExists( $path, array $globals ) {
-               $main = self::getMain();
-
-               // Set configuration variables
-               $main->getContext()->setConfig( new MultiConfig( [
-                       new HashConfig( $globals ),
-                       RequestContext::getMain()->getConfig(),
-               ] ) );
-               foreach ( $globals as $k => $v ) {
-                       $this->setMwGlobals( "wg$k", $v );
-               }
-
-               // Fetch module.
-               $module = TestingAccessWrapper::newFromObject( $main->getModuleFromPath( $path ) );
-
-               // Test messages for flags.
-               foreach ( $module->getHelpFlags() as $flag ) {
-                       $this->checkMessage( "api-help-flag-$flag", "Flag $flag" );
-               }
-
-               // Module description messages.
-               $this->checkMessage( $module->getSummaryMessage(), 'Module summary' );
-               $this->checkMessage( $module->getExtendedDescription(), 'Module help top text' );
-
-               // Parameters. Lots of messages in here.
-               $params = $module->getFinalParams( ApiBase::GET_VALUES_FOR_HELP );
-               $tags = [];
-               foreach ( $params as $name => $settings ) {
-                       if ( !is_array( $settings ) ) {
-                               $settings = [];
-                       }
-
-                       // Basic description message
-                       if ( isset( $settings[ApiBase::PARAM_HELP_MSG] ) ) {
-                               $msg = $settings[ApiBase::PARAM_HELP_MSG];
-                       } else {
-                               $msg = "apihelp-{$path}-param-{$name}";
-                       }
-                       $this->checkMessage( $msg, "Parameter $name description" );
-
-                       // If param-per-value is in use, each value's message
-                       if ( isset( $settings[ApiBase::PARAM_HELP_MSG_PER_VALUE] ) ) {
-                               $this->assertInternalType( 'array', $settings[ApiBase::PARAM_HELP_MSG_PER_VALUE],
-                                       "Parameter $name PARAM_HELP_MSG_PER_VALUE is array" );
-                               $this->assertInternalType( 'array', $settings[ApiBase::PARAM_TYPE],
-                                       "Parameter $name PARAM_TYPE is array for msg-per-value mode" );
-                               $valueMsgs = $settings[ApiBase::PARAM_HELP_MSG_PER_VALUE];
-                               foreach ( $settings[ApiBase::PARAM_TYPE] as $value ) {
-                                       if ( isset( $valueMsgs[$value] ) ) {
-                                               $msg = $valueMsgs[$value];
-                                       } else {
-                                               $msg = "apihelp-{$path}-paramvalue-{$name}-{$value}";
-                                       }
-                                       $this->checkMessage( $msg, "Parameter $name value $value" );
-                               }
-                       }
-
-                       // Appended messages (e.g. "disabled in miser mode")
-                       if ( isset( $settings[ApiBase::PARAM_HELP_MSG_APPEND] ) ) {
-                               $this->assertInternalType( 'array', $settings[ApiBase::PARAM_HELP_MSG_APPEND],
-                                       "Parameter $name PARAM_HELP_MSG_APPEND is array" );
-                               foreach ( $settings[ApiBase::PARAM_HELP_MSG_APPEND] as $i => $msg ) {
-                                       $this->checkMessage( $msg, "Parameter $name HELP_MSG_APPEND #$i" );
-                               }
-                       }
-
-                       // Info tags (e.g. "only usable in mode 1") are typically shared by
-                       // several parameters, so accumulate them and test them later.
-                       if ( !empty( $settings[ApiBase::PARAM_HELP_MSG_INFO] ) ) {
-                               foreach ( $settings[ApiBase::PARAM_HELP_MSG_INFO] as $i ) {
-                                       $tags[array_shift( $i )] = 1;
-                               }
-                       }
-               }
-
-               // Info tags (e.g. "only usable in mode 1") accumulated above
-               foreach ( $tags as $tag => $dummy ) {
-                       $this->checkMessage( "apihelp-{$path}-paraminfo-{$tag}", "HELP_MSG_INFO tag $tag" );
-               }
-
-               // Messages for examples.
-               foreach ( $module->getExamplesMessages() as $qs => $msg ) {
-                       $this->assertStringStartsNotWith( 'api.php?', $qs,
-                               "Query string must not begin with 'api.php?'" );
-                       $this->checkMessage( $msg, "Example $qs" );
-               }
-       }
-
-       public static function provideDocumentationExists() {
-               $main = self::getMain();
-               $paths = self::getSubModulePaths( $main->getModuleManager() );
-               array_unshift( $paths, $main->getModulePath() );
-
-               $ret = [];
-               foreach ( $paths as $path ) {
-                       foreach ( self::$testGlobals as $globals ) {
-                               $g = [];
-                               foreach ( $globals as $k => $v ) {
-                                       $g[] = "$k=" . var_export( $v, 1 );
-                               }
-                               $k = "Module $path with " . implode( ', ', $g );
-                               $ret[$k] = [ $path, $globals ];
-                       }
-               }
-               return $ret;
-       }
-
-       /**
-        * Return paths of all submodules in an ApiModuleManager, recursively
-        * @param ApiModuleManager $manager
-        * @return string[]
-        */
-       protected static function getSubModulePaths( ApiModuleManager $manager ) {
-               $paths = [];
-               foreach ( $manager->getNames() as $name ) {
-                       $module = $manager->getModule( $name );
-                       $paths[] = $module->getModulePath();
-                       $subManager = $module->getModuleManager();
-                       if ( $subManager ) {
-                               $paths = array_merge( $paths, self::getSubModulePaths( $subManager ) );
-                       }
-               }
-               return $paths;
-       }
-}
diff --git a/tests/phpunit/structure/ApiStructureTest.php b/tests/phpunit/structure/ApiStructureTest.php
new file mode 100644 (file)
index 0000000..7912f97
--- /dev/null
@@ -0,0 +1,238 @@
+<?php
+
+use Wikimedia\TestingAccessWrapper;
+
+/**
+ * Checks that all API modules, core and extensions, conform to the conventions:
+ * - have documentation i18n messages (the test won't catch everything since
+ *   i18n messages can vary based on the wiki configuration, but it should
+ *   catch many cases for forgotten i18n)
+ * - do not have inconsistencies in the parameter definitions
+ *
+ * @group API
+ */
+class ApiStructureTest extends MediaWikiTestCase {
+
+       /** @var ApiMain */
+       private static $main;
+
+       /** @var array Sets of globals to test. Each array element is input to HashConfig */
+       private static $testGlobals = [
+               [
+                       'MiserMode' => false,
+                       'AllowCategorizedRecentChanges' => false,
+               ],
+               [
+                       'MiserMode' => true,
+                       'AllowCategorizedRecentChanges' => true,
+               ],
+       ];
+
+       /**
+        * Initialize/fetch the ApiMain instance for testing
+        * @return ApiMain
+        */
+       private static function getMain() {
+               if ( !self::$main ) {
+                       self::$main = new ApiMain( RequestContext::getMain() );
+                       self::$main->getContext()->setLanguage( 'en' );
+                       self::$main->getContext()->setTitle(
+                               Title::makeTitle( NS_SPECIAL, 'Badtitle/dummy title for ApiStructureTest' )
+                       );
+               }
+               return self::$main;
+       }
+
+       /**
+        * Test a message
+        * @param Message $msg
+        * @param string $what Which message is being checked
+        */
+       private function checkMessage( $msg, $what ) {
+               $msg = ApiBase::makeMessage( $msg, self::getMain()->getContext() );
+               $this->assertInstanceOf( 'Message', $msg, "$what message" );
+               $this->assertTrue( $msg->exists(), "$what message {$msg->getKey()} exists" );
+       }
+
+       /**
+        * @dataProvider provideDocumentationExists
+        * @param string $path Module path
+        * @param array $globals Globals to set
+        */
+       public function testDocumentationExists( $path, array $globals ) {
+               $main = self::getMain();
+
+               // Set configuration variables
+               $main->getContext()->setConfig( new MultiConfig( [
+                       new HashConfig( $globals ),
+                       RequestContext::getMain()->getConfig(),
+               ] ) );
+               foreach ( $globals as $k => $v ) {
+                       $this->setMwGlobals( "wg$k", $v );
+               }
+
+               // Fetch module.
+               $module = TestingAccessWrapper::newFromObject( $main->getModuleFromPath( $path ) );
+
+               // Test messages for flags.
+               foreach ( $module->getHelpFlags() as $flag ) {
+                       $this->checkMessage( "api-help-flag-$flag", "Flag $flag" );
+               }
+
+               // Module description messages.
+               $this->checkMessage( $module->getSummaryMessage(), 'Module summary' );
+               $this->checkMessage( $module->getExtendedDescription(), 'Module help top text' );
+
+               // Parameters. Lots of messages in here.
+               $params = $module->getFinalParams( ApiBase::GET_VALUES_FOR_HELP );
+               $tags = [];
+               foreach ( $params as $name => $settings ) {
+                       if ( !is_array( $settings ) ) {
+                               $settings = [];
+                       }
+
+                       // Basic description message
+                       if ( isset( $settings[ApiBase::PARAM_HELP_MSG] ) ) {
+                               $msg = $settings[ApiBase::PARAM_HELP_MSG];
+                       } else {
+                               $msg = "apihelp-{$path}-param-{$name}";
+                       }
+                       $this->checkMessage( $msg, "Parameter $name description" );
+
+                       // If param-per-value is in use, each value's message
+                       if ( isset( $settings[ApiBase::PARAM_HELP_MSG_PER_VALUE] ) ) {
+                               $this->assertInternalType( 'array', $settings[ApiBase::PARAM_HELP_MSG_PER_VALUE],
+                                       "Parameter $name PARAM_HELP_MSG_PER_VALUE is array" );
+                               $this->assertInternalType( 'array', $settings[ApiBase::PARAM_TYPE],
+                                       "Parameter $name PARAM_TYPE is array for msg-per-value mode" );
+                               $valueMsgs = $settings[ApiBase::PARAM_HELP_MSG_PER_VALUE];
+                               foreach ( $settings[ApiBase::PARAM_TYPE] as $value ) {
+                                       if ( isset( $valueMsgs[$value] ) ) {
+                                               $msg = $valueMsgs[$value];
+                                       } else {
+                                               $msg = "apihelp-{$path}-paramvalue-{$name}-{$value}";
+                                       }
+                                       $this->checkMessage( $msg, "Parameter $name value $value" );
+                               }
+                       }
+
+                       // Appended messages (e.g. "disabled in miser mode")
+                       if ( isset( $settings[ApiBase::PARAM_HELP_MSG_APPEND] ) ) {
+                               $this->assertInternalType( 'array', $settings[ApiBase::PARAM_HELP_MSG_APPEND],
+                                       "Parameter $name PARAM_HELP_MSG_APPEND is array" );
+                               foreach ( $settings[ApiBase::PARAM_HELP_MSG_APPEND] as $i => $msg ) {
+                                       $this->checkMessage( $msg, "Parameter $name HELP_MSG_APPEND #$i" );
+                               }
+                       }
+
+                       // Info tags (e.g. "only usable in mode 1") are typically shared by
+                       // several parameters, so accumulate them and test them later.
+                       if ( !empty( $settings[ApiBase::PARAM_HELP_MSG_INFO] ) ) {
+                               foreach ( $settings[ApiBase::PARAM_HELP_MSG_INFO] as $i ) {
+                                       $tags[array_shift( $i )] = 1;
+                               }
+                       }
+               }
+
+               // Info tags (e.g. "only usable in mode 1") accumulated above
+               foreach ( $tags as $tag => $dummy ) {
+                       $this->checkMessage( "apihelp-{$path}-paraminfo-{$tag}", "HELP_MSG_INFO tag $tag" );
+               }
+
+               // Messages for examples.
+               foreach ( $module->getExamplesMessages() as $qs => $msg ) {
+                       $this->assertStringStartsNotWith( 'api.php?', $qs,
+                               "Query string must not begin with 'api.php?'" );
+                       $this->checkMessage( $msg, "Example $qs" );
+               }
+       }
+
+       public static function provideDocumentationExists() {
+               $main = self::getMain();
+               $paths = self::getSubModulePaths( $main->getModuleManager() );
+               array_unshift( $paths, $main->getModulePath() );
+
+               $ret = [];
+               foreach ( $paths as $path ) {
+                       foreach ( self::$testGlobals as $globals ) {
+                               $g = [];
+                               foreach ( $globals as $k => $v ) {
+                                       $g[] = "$k=" . var_export( $v, 1 );
+                               }
+                               $k = "Module $path with " . implode( ', ', $g );
+                               $ret[$k] = [ $path, $globals ];
+                       }
+               }
+               return $ret;
+       }
+
+       /**
+        * @dataProvider provideParameterConsistency
+        * @param string $path
+        */
+       public function testParameterConsistency( $path ) {
+               $main = self::getMain();
+               $module = TestingAccessWrapper::newFromObject( $main->getModuleFromPath( $path ) );
+
+               $paramsPlain = $module->getFinalParams();
+               $paramsForHelp = $module->getFinalParams( ApiBase::GET_VALUES_FOR_HELP );
+
+               // avoid warnings about empty tests when no parameter needs to be checked
+               $this->assertTrue( true );
+
+               foreach ( [ $paramsPlain, $paramsForHelp ] as $params ) {
+                       foreach ( $params as $param => $config ) {
+                               if (
+                                       isset( $config[ApiBase::PARAM_ISMULTI_LIMIT1] )
+                                       || isset( $config[ApiBase::PARAM_ISMULTI_LIMIT2] )
+                               ) {
+                                       $this->assertTrue( !empty( $config[ApiBase::PARAM_ISMULTI] ), $param
+                                               . ': PARAM_ISMULTI_LIMIT* only makes sense when PARAM_ISMULTI is true' );
+                                       $this->assertTrue( isset( $config[ApiBase::PARAM_ISMULTI_LIMIT1] )
+                                               && isset( $config[ApiBase::PARAM_ISMULTI_LIMIT2] ), $param
+                                               . ': PARAM_ISMULTI_LIMIT1 and PARAM_ISMULTI_LIMIT2 must be used together' );
+                                       $this->assertType( 'int', $config[ApiBase::PARAM_ISMULTI_LIMIT1], $param
+                                               . 'PARAM_ISMULTI_LIMIT1 must be an integer' );
+                                       $this->assertType( 'int', $config[ApiBase::PARAM_ISMULTI_LIMIT2], $param
+                                               . 'PARAM_ISMULTI_LIMIT2 must be an integer' );
+                                       $this->assertGreaterThanOrEqual( $config[ApiBase::PARAM_ISMULTI_LIMIT1],
+                                               $config[ApiBase::PARAM_ISMULTI_LIMIT2], $param
+                                               . 'PARAM_ISMULTI limit cannot be smaller for users with apihighlimits rights' );
+                               }
+                       }
+               }
+       }
+
+       /**
+        * @return array List of API module paths to test
+        */
+       public static function provideParameterConsistency() {
+               $main = self::getMain();
+               $paths = self::getSubModulePaths( $main->getModuleManager() );
+               array_unshift( $paths, $main->getModulePath() );
+
+               $ret = [];
+               foreach ( $paths as $path ) {
+                       $ret[] = [ $path ];
+               }
+               return $ret;
+       }
+
+       /**
+        * Return paths of all submodules in an ApiModuleManager, recursively
+        * @param ApiModuleManager $manager
+        * @return string[]
+        */
+       protected static function getSubModulePaths( ApiModuleManager $manager ) {
+               $paths = [];
+               foreach ( $manager->getNames() as $name ) {
+                       $module = $manager->getModule( $name );
+                       $paths[] = $module->getModulePath();
+                       $subManager = $module->getModuleManager();
+                       if ( $subManager ) {
+                               $paths = array_merge( $paths, self::getSubModulePaths( $subManager ) );
+                       }
+               }
+               return $paths;
+       }
+}