Merge "Enable deleteAutoPatrolLogs to delete pre-2011 autopatrol logs as well"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Wed, 23 May 2018 23:48:44 +0000 (23:48 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Wed, 23 May 2018 23:48:44 +0000 (23:48 +0000)
554 files changed:
.phpcs.xml
Gruntfile.js
INSTALL
RELEASE-NOTES-1.31
RELEASE-NOTES-1.32
autoload.php
composer.json
docs/extension.schema.v1.json
docs/extension.schema.v2.json
includes/AjaxDispatcher.php
includes/AutoLoader.php
includes/Block.php
includes/ContentSecurityPolicy.php
includes/EditPage.php
includes/GlobalFunctions.php
includes/Linker.php
includes/MediaWiki.php
includes/OutputPage.php
includes/Setup.php
includes/Title.php
includes/WebRequest.php
includes/Xml.php
includes/actions/FormAction.php
includes/actions/InfoAction.php
includes/actions/WatchAction.php
includes/api/ApiBase.php
includes/api/i18n/de.json
includes/api/i18n/en.json
includes/api/i18n/es.json
includes/api/i18n/fr.json
includes/api/i18n/gl.json
includes/api/i18n/he.json
includes/api/i18n/it.json
includes/api/i18n/ko.json
includes/api/i18n/pl.json
includes/api/i18n/pt-br.json
includes/api/i18n/pt.json
includes/api/i18n/qqq.json
includes/api/i18n/ru.json
includes/api/i18n/uk.json
includes/api/i18n/zh-hans.json
includes/changes/RCCacheEntryFactory.php
includes/collation/Collation.php
includes/collation/CollationFa.php [deleted file]
includes/compat/normal/UtfNormal.php
includes/htmlform/HTMLForm.php
includes/htmlform/OOUIHTMLForm.php
includes/http/Http.php
includes/http/HttpRequestFactory.php
includes/installer/Installer.php
includes/installer/MssqlUpdater.php
includes/installer/MysqlUpdater.php
includes/installer/OracleUpdater.php
includes/installer/PostgresUpdater.php
includes/installer/SqliteUpdater.php
includes/installer/WebInstallerLanguage.php
includes/installer/WebInstallerName.php
includes/installer/i18n/ar.json
includes/installer/i18n/ast.json
includes/installer/i18n/ba.json
includes/installer/i18n/be-tarask.json
includes/installer/i18n/bg.json
includes/installer/i18n/bn.json
includes/installer/i18n/br.json
includes/installer/i18n/bs.json
includes/installer/i18n/ca.json
includes/installer/i18n/ckb.json
includes/installer/i18n/cs.json
includes/installer/i18n/csb.json
includes/installer/i18n/de.json
includes/installer/i18n/el.json
includes/installer/i18n/en.json
includes/installer/i18n/eo.json
includes/installer/i18n/es.json
includes/installer/i18n/eu.json
includes/installer/i18n/fa.json
includes/installer/i18n/fi.json
includes/installer/i18n/fr.json
includes/installer/i18n/frp.json
includes/installer/i18n/gl.json
includes/installer/i18n/gsw.json
includes/installer/i18n/he.json
includes/installer/i18n/hi.json
includes/installer/i18n/hrx.json
includes/installer/i18n/hsb.json
includes/installer/i18n/hu.json
includes/installer/i18n/ia.json
includes/installer/i18n/id.json
includes/installer/i18n/is.json
includes/installer/i18n/it.json
includes/installer/i18n/ja.json
includes/installer/i18n/ka.json
includes/installer/i18n/ko.json
includes/installer/i18n/ksh.json
includes/installer/i18n/ku-latn.json
includes/installer/i18n/lb.json
includes/installer/i18n/lij.json
includes/installer/i18n/lt.json
includes/installer/i18n/lv.json
includes/installer/i18n/mk.json
includes/installer/i18n/ml.json
includes/installer/i18n/mr.json
includes/installer/i18n/ms.json
includes/installer/i18n/mzn.json
includes/installer/i18n/nap.json
includes/installer/i18n/nb.json
includes/installer/i18n/nl-informal.json
includes/installer/i18n/nl.json
includes/installer/i18n/oc.json
includes/installer/i18n/pl.json
includes/installer/i18n/pms.json
includes/installer/i18n/ps.json
includes/installer/i18n/pt-br.json
includes/installer/i18n/pt.json
includes/installer/i18n/ro.json
includes/installer/i18n/ru.json
includes/installer/i18n/sco.json
includes/installer/i18n/sl.json
includes/installer/i18n/sr-ec.json
includes/installer/i18n/sv.json
includes/installer/i18n/te.json
includes/installer/i18n/th.json
includes/installer/i18n/tl.json
includes/installer/i18n/tr.json
includes/installer/i18n/tt-cyrl.json
includes/installer/i18n/uk.json
includes/installer/i18n/vi.json
includes/installer/i18n/war.json
includes/installer/i18n/yi.json
includes/installer/i18n/zh-hans.json
includes/installer/i18n/zh-hant.json
includes/jobqueue/Job.php
includes/jobqueue/JobQueue.php
includes/jobqueue/JobQueueDB.php
includes/libs/CryptHKDF.php
includes/libs/MultiHttpClient.php
includes/libs/filebackend/FSFileBackend.php
includes/libs/filebackend/SwiftFileBackend.php
includes/libs/rdbms/ChronologyProtector.php
includes/libs/rdbms/lbfactory/ILBFactory.php
includes/libs/rdbms/lbfactory/LBFactory.php
includes/linkeddata/PageDataRequestHandler.php
includes/logging/LogPage.php
includes/mail/UserMailer.php
includes/parser/Parser.php
includes/parser/ParserOutput.php
includes/password/UserPasswordPolicy.php
includes/preferences/DefaultPreferencesFactory.php
includes/registration/ExtensionJsonValidator.php
includes/resourceloader/ResourceLoader.php
includes/resourceloader/ResourceLoaderClientHtml.php
includes/resourceloader/ResourceLoaderModule.php
includes/resourceloader/ResourceLoaderStartUpModule.php
includes/resourceloader/ResourceLoaderUserModule.php
includes/shell/Command.php
includes/specialpage/SpecialPageFactory.php
includes/specials/SpecialPageLanguage.php
includes/specials/SpecialPasswordPolicies.php [new file with mode: 0644]
includes/specials/SpecialPreferences.php
includes/specials/SpecialPrefixindex.php
includes/specials/SpecialTrackingCategories.php
includes/specials/SpecialVersion.php
includes/specials/SpecialWhatlinkshere.php
includes/specials/forms/PreferencesFormOOUI.php
includes/specials/pagers/UsersPager.php
includes/title/MediaWikiTitleCodec.php
includes/user/UserGroupMembership.php
includes/utils/MWCryptHKDF.php
jsduck.json
languages/Language.php
languages/LanguageConverter.php
languages/classes/LanguageCrh.php
languages/classes/LanguageKsh.php
languages/data/CrhExceptions.php
languages/data/Names.php
languages/data/plurals.xml
languages/i18n/abs.json
languages/i18n/ace.json
languages/i18n/ady-cyrl.json
languages/i18n/aeb-arab.json
languages/i18n/af.json
languages/i18n/ais.json
languages/i18n/aln.json
languages/i18n/am.json
languages/i18n/an.json
languages/i18n/ang.json
languages/i18n/anp.json
languages/i18n/ar.json
languages/i18n/arc.json
languages/i18n/arn.json
languages/i18n/arq.json
languages/i18n/ary.json
languages/i18n/arz.json
languages/i18n/as.json
languages/i18n/ast.json
languages/i18n/atj.json
languages/i18n/avk.json
languages/i18n/awa.json
languages/i18n/az.json
languages/i18n/azb.json
languages/i18n/ba.json
languages/i18n/bar.json
languages/i18n/bcc.json
languages/i18n/bcl.json
languages/i18n/be-tarask.json
languages/i18n/be.json
languages/i18n/bg.json
languages/i18n/bgn.json
languages/i18n/bho.json
languages/i18n/bjn.json
languages/i18n/bn.json
languages/i18n/bo.json
languages/i18n/bpy.json
languages/i18n/bqi.json
languages/i18n/br.json
languages/i18n/bs.json
languages/i18n/ca.json
languages/i18n/cdo.json
languages/i18n/ce.json
languages/i18n/ceb.json
languages/i18n/ch.json
languages/i18n/ckb.json
languages/i18n/co.json
languages/i18n/cps.json
languages/i18n/crh-cyrl.json
languages/i18n/crh-latn.json
languages/i18n/cs.json
languages/i18n/csb.json
languages/i18n/cu.json
languages/i18n/cv.json
languages/i18n/cy.json
languages/i18n/da.json
languages/i18n/de-ch.json
languages/i18n/de.json
languages/i18n/diq.json
languages/i18n/dsb.json
languages/i18n/dtp.json
languages/i18n/dty.json
languages/i18n/egl.json
languages/i18n/el.json
languages/i18n/en.json
languages/i18n/eo.json
languages/i18n/es.json
languages/i18n/et.json
languages/i18n/eu.json
languages/i18n/ext.json
languages/i18n/fa.json
languages/i18n/fi.json
languages/i18n/fo.json
languages/i18n/fr.json
languages/i18n/frp.json
languages/i18n/frr.json
languages/i18n/fur.json
languages/i18n/fy.json
languages/i18n/ga.json
languages/i18n/gag.json
languages/i18n/gan-hans.json
languages/i18n/gan-hant.json
languages/i18n/gcr.json
languages/i18n/gd.json
languages/i18n/gl.json
languages/i18n/glk.json
languages/i18n/gom-deva.json
languages/i18n/gom-latn.json
languages/i18n/gor.json
languages/i18n/got.json
languages/i18n/grc.json
languages/i18n/gsw.json
languages/i18n/gu.json
languages/i18n/gv.json
languages/i18n/ha.json
languages/i18n/hak.json
languages/i18n/haw.json
languages/i18n/he.json
languages/i18n/hi.json
languages/i18n/hif-latn.json
languages/i18n/hil.json
languages/i18n/hr.json
languages/i18n/hrx.json
languages/i18n/hsb.json
languages/i18n/ht.json
languages/i18n/hu.json
languages/i18n/hy.json
languages/i18n/ia.json
languages/i18n/id.json
languages/i18n/ie.json
languages/i18n/ig.json
languages/i18n/ilo.json
languages/i18n/inh.json
languages/i18n/io.json
languages/i18n/is.json
languages/i18n/it.json
languages/i18n/ja.json
languages/i18n/jam.json
languages/i18n/jut.json
languages/i18n/jv.json
languages/i18n/ka.json
languages/i18n/kaa.json
languages/i18n/kab.json
languages/i18n/kbd-cyrl.json
languages/i18n/kbp.json
languages/i18n/khw.json
languages/i18n/kiu.json
languages/i18n/kk-arab.json
languages/i18n/kk-cyrl.json
languages/i18n/kk-latn.json
languages/i18n/km.json
languages/i18n/kn.json
languages/i18n/ko.json
languages/i18n/krc.json
languages/i18n/krl.json
languages/i18n/ksh.json
languages/i18n/ku-latn.json
languages/i18n/kum.json
languages/i18n/kw.json
languages/i18n/ky.json
languages/i18n/la.json
languages/i18n/lad.json
languages/i18n/lb.json
languages/i18n/lez.json
languages/i18n/lfn.json
languages/i18n/lg.json
languages/i18n/li.json
languages/i18n/lij.json
languages/i18n/lki.json
languages/i18n/lmo.json
languages/i18n/lo.json
languages/i18n/loz.json
languages/i18n/lrc.json
languages/i18n/lt.json
languages/i18n/ltg.json
languages/i18n/lus.json
languages/i18n/luz.json
languages/i18n/lv.json
languages/i18n/lzh.json
languages/i18n/lzz.json
languages/i18n/mai.json
languages/i18n/map-bms.json
languages/i18n/mdf.json
languages/i18n/mg.json
languages/i18n/mhr.json
languages/i18n/min.json
languages/i18n/mk.json
languages/i18n/ml.json
languages/i18n/mn.json
languages/i18n/mr.json
languages/i18n/ms.json
languages/i18n/mt.json
languages/i18n/mwl.json
languages/i18n/my.json
languages/i18n/myv.json
languages/i18n/mzn.json
languages/i18n/nah.json
languages/i18n/nan.json
languages/i18n/nap.json
languages/i18n/nb.json
languages/i18n/nds-nl.json
languages/i18n/nds.json
languages/i18n/ne.json
languages/i18n/nl.json
languages/i18n/nn.json
languages/i18n/nso.json
languages/i18n/nys.json
languages/i18n/oc.json
languages/i18n/olo.json
languages/i18n/or.json
languages/i18n/os.json
languages/i18n/pa.json
languages/i18n/pam.json
languages/i18n/pcd.json
languages/i18n/pfl.json
languages/i18n/pl.json
languages/i18n/pms.json
languages/i18n/pnb.json
languages/i18n/pnt.json
languages/i18n/prg.json
languages/i18n/ps.json
languages/i18n/pt-br.json
languages/i18n/pt.json
languages/i18n/qqq.json
languages/i18n/qu.json
languages/i18n/qug.json
languages/i18n/rif.json
languages/i18n/rm.json
languages/i18n/ro.json
languages/i18n/roa-tara.json
languages/i18n/ru.json
languages/i18n/rue.json
languages/i18n/sa.json
languages/i18n/sah.json
languages/i18n/sat.json
languages/i18n/sc.json
languages/i18n/scn.json
languages/i18n/sco.json
languages/i18n/sd.json
languages/i18n/sdc.json
languages/i18n/sdh.json
languages/i18n/se.json
languages/i18n/ses.json
languages/i18n/sgs.json
languages/i18n/sh.json
languages/i18n/shi.json
languages/i18n/shn.json
languages/i18n/si.json
languages/i18n/sk.json
languages/i18n/skr-arab.json
languages/i18n/sl.json
languages/i18n/sli.json
languages/i18n/so.json
languages/i18n/sq.json
languages/i18n/sr-ec.json
languages/i18n/sr-el.json
languages/i18n/srn.json
languages/i18n/stq.json
languages/i18n/sty.json
languages/i18n/su.json
languages/i18n/sv.json
languages/i18n/sw.json
languages/i18n/szl.json
languages/i18n/ta.json
languages/i18n/tay.json
languages/i18n/tcy.json
languages/i18n/te.json
languages/i18n/tet.json
languages/i18n/tg-cyrl.json
languages/i18n/tg-latn.json
languages/i18n/th.json
languages/i18n/tk.json
languages/i18n/tl.json
languages/i18n/tly.json
languages/i18n/to.json
languages/i18n/tr.json
languages/i18n/tru.json
languages/i18n/ts.json
languages/i18n/tt-cyrl.json
languages/i18n/tt-latn.json
languages/i18n/tyv.json
languages/i18n/udm.json
languages/i18n/ug-arab.json
languages/i18n/uk.json
languages/i18n/ur.json
languages/i18n/uz.json
languages/i18n/vec.json
languages/i18n/vep.json
languages/i18n/vi.json
languages/i18n/vmf.json
languages/i18n/vo.json
languages/i18n/vot.json
languages/i18n/vro.json
languages/i18n/wa.json
languages/i18n/war.json
languages/i18n/wo.json
languages/i18n/wuu.json
languages/i18n/xal.json
languages/i18n/xmf.json
languages/i18n/yi.json
languages/i18n/yo.json
languages/i18n/yue.json
languages/i18n/zea.json
languages/i18n/zgh.json
languages/i18n/zh-hans.json
languages/i18n/zh-hant.json
languages/i18n/zh-hk.json
languages/messages/MessagesEn.php
languages/messages/MessagesEs.php
languages/messages/MessagesGor.php
languages/messages/MessagesShy_latn.php [new file with mode: 0644]
languages/messages/MessagesTet.php
maintenance/archives/patch-change_tag-tag_id.sql [new file with mode: 0644]
maintenance/language/generateCollationData.php
maintenance/language/generateNormalizerDataAr.php
maintenance/language/generateNormalizerDataMl.php
maintenance/language/zhtable/Makefile.py
maintenance/mssql/archives/patch-change_tag-tag_id.sql [new file with mode: 0644]
maintenance/mssql/tables.sql
maintenance/oracle/archives/patch-change_tag-tag_id.sql [new file with mode: 0644]
maintenance/oracle/tables.sql
maintenance/postgres/tables.sql
maintenance/storage/compressOld.php
maintenance/tables.sql
mw-config/config.js
opensearch_desc.php
resources/Resources.php
resources/src/jquery/images/marker.png [deleted file]
resources/src/jquery/images/mask.png [deleted file]
resources/src/jquery/images/wheel.png [deleted file]
resources/src/jquery/jquery.farbtastic.css [deleted file]
resources/src/jquery/jquery.farbtastic.js [deleted file]
resources/src/jquery/jquery.footHovzer.css [deleted file]
resources/src/jquery/jquery.footHovzer.js [deleted file]
resources/src/jquery/jquery.makeCollapsible.js
resources/src/jquery/jquery.tablesorter.styles.less
resources/src/mediawiki.Title/Title.js
resources/src/mediawiki.api.category.js [deleted file]
resources/src/mediawiki.api.edit.js [deleted file]
resources/src/mediawiki.api.js [deleted file]
resources/src/mediawiki.api.login.js [deleted file]
resources/src/mediawiki.api.messages.js [deleted file]
resources/src/mediawiki.api.options.js [deleted file]
resources/src/mediawiki.api.parse.js [deleted file]
resources/src/mediawiki.api.rollback.js [deleted file]
resources/src/mediawiki.api.upload.js [deleted file]
resources/src/mediawiki.api.user.js [deleted file]
resources/src/mediawiki.api.watch.js [deleted file]
resources/src/mediawiki.api/category.js [new file with mode: 0644]
resources/src/mediawiki.api/edit.js [new file with mode: 0644]
resources/src/mediawiki.api/index.js [new file with mode: 0644]
resources/src/mediawiki.api/login.js [new file with mode: 0644]
resources/src/mediawiki.api/messages.js [new file with mode: 0644]
resources/src/mediawiki.api/options.js [new file with mode: 0644]
resources/src/mediawiki.api/parse.js [new file with mode: 0644]
resources/src/mediawiki.api/rollback.js [new file with mode: 0644]
resources/src/mediawiki.api/upload.js [new file with mode: 0644]
resources/src/mediawiki.api/user.js [new file with mode: 0644]
resources/src/mediawiki.api/watch.js [new file with mode: 0644]
resources/src/mediawiki.debug/debug.js
resources/src/mediawiki.debug/jquery.footHovzer.css [new file with mode: 0644]
resources/src/mediawiki.debug/jquery.footHovzer.js [new file with mode: 0644]
resources/src/mediawiki.language/mediawiki.language.numbers.js
resources/src/mediawiki.page.gallery.js
resources/src/mediawiki.skinning/content.externallinks.css [deleted file]
resources/src/mediawiki.skinning/content.externallinks.less [new file with mode: 0644]
resources/src/mediawiki.special.preferences.ooui/tabs.js
resources/src/mediawiki.special.preferences.styles.ooui.css
resources/src/mediawiki.special/special.css
resources/src/mediawiki/mediawiki.js
serialized/Makefile
tests/parser/parserTests.txt
tests/phpunit/ResourceLoaderTestCase.php
tests/phpunit/data/less/module/dependency.less
tests/phpunit/data/less/module/use-import-dir.less [new file with mode: 0644]
tests/phpunit/data/registration/bad_url.json [new file with mode: 0644]
tests/phpunit/data/registration/bad_url2.json [new file with mode: 0644]
tests/phpunit/includes/ContentSecurityPolicyTest.php
tests/phpunit/includes/TestLogger.php
tests/phpunit/includes/actions/WatchActionTest.php [new file with mode: 0644]
tests/phpunit/includes/api/ApiBaseTest.php
tests/phpunit/includes/collation/CollationFaTest.php [deleted file]
tests/phpunit/includes/db/LBFactoryTest.php
tests/phpunit/includes/http/HttpTest.php
tests/phpunit/includes/password/PasswordPolicyChecksTest.php
tests/phpunit/includes/registration/ExtensionJsonValidatorTest.php
tests/phpunit/includes/resourceloader/ResourceLoaderClientHtmlTest.php
tests/phpunit/includes/resourceloader/ResourceLoaderStartUpModuleTest.php
tests/phpunit/includes/resourceloader/ResourceLoaderTest.php
tests/phpunit/includes/title/MediaWikiTitleCodecTest.php
tests/phpunit/languages/classes/LanguageCrhTest.php
tests/phpunit/languages/classes/LanguageSrTest.php
tests/qunit/QUnitTestResources.php
tests/qunit/data/load.mock.php
tests/qunit/data/styleTest.css.php
tests/qunit/suites/resources/jquery/jquery.tablesorter.test.js
tests/qunit/suites/resources/mediawiki/mediawiki.Title.test.js
thumb.php

index d43a281..440adaf 100644 (file)
                <exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.SingleSpaceBeforeSingleLineComment" />
                <exclude name="MediaWiki.Usage.DbrQueryUsage.DbrQueryFound" />
                <exclude name="MediaWiki.Usage.ExtendClassUsage.FunctionVarUsage" />
-               <exclude name="MediaWiki.Usage.SuperGlobalsUsage.SuperGlobals" />
                <exclude name="MediaWiki.Files.ClassMatchesFilename.WrongCase" />
                <exclude name="MediaWiki.Files.ClassMatchesFilename.NotMatch" />
-               <exclude name="Generic.Files.OneObjectStructurePerFile.MultipleFound" />
                <exclude name="MediaWiki.VariableAnalysis.ForbiddenGlobalVariables.ForbiddenGlobal$wgTitle" />
-               <exclude name="MediaWiki.Commenting.FunctionComment.SpacingDocStar" />
-               <exclude name="MediaWiki.Commenting.FunctionComment.SpacingDocTag" />
                <exclude name="Squiz.Scope.MethodScope.Missing" />
                <exclude name="Squiz.Scope.MemberVarScope.Missing" />
                <exclude name="MediaWiki.Commenting.MissingCovers.MissingCovers" />
-               <exclude name="MediaWiki.Usage.AssignmentInReturn.AssignmentInReturn" />
        </rule>
        <rule ref="MediaWiki.NamingConventions.PrefixedGlobalFunctions">
                <properties>
        <rule ref="Generic.Files.LineLength">
                <exclude-pattern>*/languages/messages/Messages*\.php</exclude-pattern>
        </rule>
+       <rule ref="Generic.Files.OneObjectStructurePerFile.MultipleFound">
+               <!--
+                       Whitelist existing violations, but enable the sniff to prevent
+                       any new occurrences.
+               -->
+               <exclude-pattern>*/includes/actions/HistoryAction\.php</exclude-pattern>
+               <exclude-pattern>*/includes/api/ApiErrorFormatter\.php</exclude-pattern>
+               <exclude-pattern>*/includes/api/ApiImport\.php</exclude-pattern>
+               <exclude-pattern>*/includes/api/ApiMessage\.php</exclude-pattern>
+               <exclude-pattern>*/includes/api/ApiOpenSearch\.php</exclude-pattern>
+               <exclude-pattern>*/includes/api/ApiRsd\.php</exclude-pattern>
+               <exclude-pattern>*/includes/api/ApiUsageException\.php</exclude-pattern>
+               <exclude-pattern>*/includes/auth/AuthManagerAuthPlugin\.php</exclude-pattern>
+               <exclude-pattern>*/includes/AuthPlugin\.php</exclude-pattern>
+               <exclude-pattern>*/includes/cache/CacheDependency\.php</exclude-pattern>
+               <exclude-pattern>*/includes/cache/CacheHelper\.php</exclude-pattern>
+               <exclude-pattern>*/includes/deferred/CdnCacheUpdate\.php</exclude-pattern>
+               <exclude-pattern>*/includes/diff/DairikiDiff\.php</exclude-pattern>
+               <exclude-pattern>*/includes/diff/DiffEngine\.php</exclude-pattern>
+               <exclude-pattern>*/includes/exception/LocalizedException\.php</exclude-pattern>
+               <exclude-pattern>*/includes/Feed\.php</exclude-pattern>
+               <exclude-pattern>*/includes/filerepo/file/LocalFile\.php</exclude-pattern>
+               <exclude-pattern>*/includes/gallery/PackedOverlayImageGallery\.php</exclude-pattern>
+               <exclude-pattern>*/includes/HistoryBlob\.php</exclude-pattern>
+               <exclude-pattern>*/includes/htmlform/HTMLFormElement\.php</exclude-pattern>
+               <exclude-pattern>*/includes/jobqueue/aggregator/JobQueueAggregator\.php</exclude-pattern>
+               <exclude-pattern>*/includes/jobqueue/JobQueue\.php</exclude-pattern>
+               <exclude-pattern>*/includes/jobqueue/JobSpecification\.php</exclude-pattern>
+               <exclude-pattern>*/includes/libs/filebackend/FileBackendStore\.php</exclude-pattern>
+               <exclude-pattern>*/includes/libs/filebackend/FSFileBackend\.php</exclude-pattern>
+               <exclude-pattern>*/includes/libs/filebackend/SwiftFileBackend\.php</exclude-pattern>
+               <exclude-pattern>*/includes/logging/LogEntry\.php</exclude-pattern>
+               <exclude-pattern>*/includes/logging/LogFormatter\.php</exclude-pattern>
+               <exclude-pattern>*/includes/media/MediaTransformOutput\.php</exclude-pattern>
+               <exclude-pattern>*/includes/media/SVGMetadataExtractor\.php</exclude-pattern>
+               <exclude-pattern>*/includes/parser/Preprocessor_DOM\.php</exclude-pattern>
+               <exclude-pattern>*/includes/parser/Preprocessor_Hash\.php</exclude-pattern>
+               <exclude-pattern>*/includes/parser/Preprocessor\.php</exclude-pattern>
+               <exclude-pattern>*/includes/PathRouter\.php</exclude-pattern>
+               <exclude-pattern>*/includes/poolcounter/PoolCounter\.php</exclude-pattern>
+               <exclude-pattern>*/includes/PrefixSearch\.php</exclude-pattern>
+               <exclude-pattern>*/includes/profiler/SectionProfiler\.php</exclude-pattern>
+               <exclude-pattern>*/includes/RevisionList\.php</exclude-pattern>
+               <exclude-pattern>*/includes/search/SearchEngine\.php</exclude-pattern>
+               <exclude-pattern>*/includes/specialpage/LoginSignupSpecialPage\.php</exclude-pattern>
+               <exclude-pattern>*/includes/specialpage/RedirectSpecialPage\.php</exclude-pattern>
+               <exclude-pattern>*/includes/specials/SpecialListusers\.php</exclude-pattern>
+               <exclude-pattern>*/includes/specials/SpecialMyRedirectPages\.php</exclude-pattern>
+               <exclude-pattern>*/includes/specials/SpecialUploadStash\.php</exclude-pattern>
+               <exclude-pattern>*/includes/StubObject\.php</exclude-pattern>
+               <exclude-pattern>*/includes/upload/UploadFromChunks\.php</exclude-pattern>
+               <exclude-pattern>*/includes/upload/UploadStash\.php</exclude-pattern>
+               <exclude-pattern>*/includes/utils/AutoloadGenerator\.php</exclude-pattern>
+               <exclude-pattern>*/includes/WebResponse\.php</exclude-pattern>
+               <exclude-pattern>*/maintenance/dumpIterator\.php</exclude-pattern>
+               <exclude-pattern>*/maintenance/Maintenance\.php</exclude-pattern>
+               <exclude-pattern>*/maintenance/findDeprecated\.php</exclude-pattern>
+               <exclude-pattern>*/maintenance/storage/recompressTracked\.php</exclude-pattern>
+               <exclude-pattern>*/maintenance/preprocessorFuzzTest\.php</exclude-pattern>
+               <exclude-pattern>*/maintenance/language/languages.inc</exclude-pattern>
+               <exclude-pattern>*/maintenance/language/StatOutputs\.php</exclude-pattern>
+               <exclude-pattern>*/maintenance/language/checkLanguage.inc</exclude-pattern>
+               <exclude-pattern>*/maintenance/language/generateCollationData\.php</exclude-pattern>
+               <exclude-pattern>*/maintenance/term/MWTerm\.php</exclude-pattern>
+               <!-- Language converters use the pattern of 2 classes in one file -->
+               <exclude-pattern>*/languages/*\.php</exclude-pattern>
+               <!-- We don't care that much about violations in tests -->
+               <exclude-pattern>*/tests/*\.php</exclude-pattern>
+       </rule>
        <rule ref="PSR2.Methods.MethodDeclaration.Underscore">
                <exclude-pattern>*/includes/StubObject\.php</exclude-pattern>
        </rule>
+       <rule ref="MediaWiki.Usage.AssignmentInReturn.AssignmentInReturn">
+               <exclude-pattern>*/tests/phpunit/*\.php</exclude-pattern>
+       </rule>
        <file>.</file>
        <arg name="encoding" value="UTF-8"/>
        <arg name="extensions" value="php,php5,inc,sample"/>
index 3687d28..8018212 100644 (file)
@@ -27,7 +27,6 @@ module.exports = function ( grunt ) {
                                '!node_modules/**',
                                '!resources/lib/**',
                                '!resources/src/jquery.tipsy/**',
-                               '!resources/src/jquery/jquery.farbtastic.js',
                                '!resources/src/mediawiki.libs.jpegmeta/**',
                                // Third-party code of PHPUnit coverage report
                                '!tests/coverage/**',
diff --git a/INSTALL b/INSTALL
index 3b93505..5cdbbf3 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -56,7 +56,7 @@ ie. /wiki/index.php/Article.
   |  will appear. It is common in this case to use w as the folder name and  |
   |  /wiki/ as the virtual article path where your articles pretend to be.   |
   |                                                                          |
-  |    See: https://www.mediawiki.org/wiki/Manual:Short_URL                  |
+  |  See: https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Short_URL |
   +--------------------------------------------------------------------------+
 
 Hop into your browser and surf into the wiki directory. It'll direct you into
index a702451..740535a 100644 (file)
@@ -101,6 +101,9 @@ production.
   discussion pages) now have a tooltip to indicate state, not just colour.
 
 === External library changes in 1.31 ===
+* pear/mail, pear/mail_mime and pear/mail_mime-decode have been moved from
+  suggested to required. These packages now must be installed via composer
+  and not via PEAR itself.
 
 ==== Upgraded external libraries ====
 * Updated jquery.chosen from v0.9.14 to v1.8.2.
index c06ba91..b474d15 100644 (file)
@@ -26,6 +26,8 @@ production.
 * (T112474) Generalized the ResourceLoader mechanism for overriding modules
   using a particular page during edit previews.
 * Added 'ApiParseMakeOutputPage' hook.
+* (T174313) Added checkbox on Special:ListUsers to display only users in temporary
+  user groups.
 
 === External library changes in 1.32 ===
 * …
@@ -52,6 +54,8 @@ production.
     from normal parameters. All parameter definitions now include an "index"
     key to allow clients to maintain parameter ordering when merging normal and
     templated parameters.
+* It is now an error to submit too many values for a multi-valued parameter.
+  This has generated a warning since MediaWiki 1.14.
 
 === Action API internal changes in 1.32 ===
 * Added 'ApiParseMakeOutputPage' hook.
@@ -64,6 +68,7 @@ Below only new and removed languages are listed, as well as changes to languages
 because of Phabricator reports.
 
 * (T193566) Added language support for Ambonese Malay (abs).
+* (T194047) Added language support for Shawiya, Latin script (shy-latn).
 
 === Breaking changes in 1.32 ===
 * $wgRequestTime, deprecated in 1.25, was removed. Use
@@ -95,6 +100,13 @@ because of Phabricator reports.
 * The Html5Internal and Html5Depurate tidy driver classes were removed, along with the
   Balancer tidy implementation. Both implementations were experimental, and were replaced
   by RemexHtml.
+* (T179624) Job::insert() and ::batchInsert(), deprecated in 1.21, were both
+  removed. Use JobQueueGroup::singleton()->push() instead.
+* The jquery.footHovzer module, for mediawiki.debug, was removed.
+* The es5-shim module, empty and deprecated since 1.29, was removed.
+* The mediawiki.widgets.visibleByteLimit module, deprecated in 1.32, was removed.
+  Use mediawiki.widgets.visibleLengthLimit instead.
+* The jquery.farbtastic module, unused since 1.18, was removed.
 
 === Deprecations in 1.32 ===
 * Use of a StartProfiler.php file is deprecated in favour of placing
@@ -109,8 +121,22 @@ because of Phabricator reports.
 * Overriding SearchEngine::{searchText,searchTitle,searchArchiveTitle}
   in extending classes is deprecated.  Extend related doSearch* methods
   instead.
+* CollationFa has been removed completely as it's not needed anymore
+* The following 'mediawiki.api' plugin modules were merged into mediawiki.api
+  and deprecated: mediawiki.api.category, mediawiki.api.edit,
+  mediawiki.api.login, mediawiki.api.options, mediawiki.api.parse,
+  mediawiki.api.upload, mediawiki.api.user, mediawiki.api.watch,
+  mediawiki.api.messages, and mediawiki.api.rollback.
+* ApiBase::truncateArray() is deprecated. No replacement, as nothing is known
+  to use it.
+* WatchAction::getUnwatchToken is deprecated. Use WatchAction::getWatchToken
+  with the 'unwatch' action parameter instead.
 
 === Other changes in 1.32 ===
+* Soft hyphens (U+00AD) are now automatically removed from titles; these
+  characters can accidentally end up in copy-and-pasted titles.
+* Strip Unicode 6.3.0 directional formatting characters (U+061C, U+2066,
+  U+2067, U+2068, U+2069) from the title.
 * …
 
 == Compatibility ==
index c55b931..40ded45 100644 (file)
@@ -280,7 +280,6 @@ $wgAutoloadLocalClasses = [
        'Collation' => __DIR__ . '/includes/collation/Collation.php',
        'CollationCkb' => __DIR__ . '/includes/collation/CollationCkb.php',
        'CollationEt' => __DIR__ . '/includes/collation/CollationEt.php',
-       'CollationFa' => __DIR__ . '/includes/collation/CollationFa.php',
        'CommandLineInc' => __DIR__ . '/maintenance/commandLine.inc',
        'CommandLineInstaller' => __DIR__ . '/maintenance/install.php',
        'CommentStore' => __DIR__ . '/includes/CommentStore.php',
@@ -1446,6 +1445,7 @@ $wgAutoloadLocalClasses = [
        'SpecialPageFactory' => __DIR__ . '/includes/specialpage/SpecialPageFactory.php',
        'SpecialPageLanguage' => __DIR__ . '/includes/specials/SpecialPageLanguage.php',
        'SpecialPagesWithProp' => __DIR__ . '/includes/specials/SpecialPagesWithProp.php',
+       'SpecialPasswordPolicies' => __DIR__ . '/includes/specials/SpecialPasswordPolicies.php',
        'SpecialPasswordReset' => __DIR__ . '/includes/specials/SpecialPasswordReset.php',
        'SpecialPermanentLink' => __DIR__ . '/includes/specials/SpecialPermanentLink.php',
        'SpecialPreferences' => __DIR__ . '/includes/specials/SpecialPreferences.php',
index 833e3bf..87653b1 100644 (file)
@@ -27,6 +27,9 @@
                "liuggio/statsd-php-client": "1.0.18",
                "oojs/oojs-ui": "0.27.0",
                "oyejorge/less.php": "1.7.0.14",
+               "pear/mail": "1.4.1",
+               "pear/mail_mime": "1.10.2",
+               "pear/mail_mime-decode": "1.5.5.2",
                "php": ">=5.5.9",
                "psr/log": "1.0.2",
                "wikimedia/assert": "0.2.2",
@@ -56,7 +59,7 @@
                "jakub-onderka/php-parallel-lint": "0.9.2",
                "jetbrains/phpstorm-stubs": "dev-master#1b9906084d6635456fcf3f3a01f0d7d5b99a578a",
                "justinrainbow/json-schema": "~5.2",
-               "mediawiki/mediawiki-codesniffer": "17.0.0",
+               "mediawiki/mediawiki-codesniffer": "18.0.0",
                "monolog/monolog": "~1.22.1",
                "nikic/php-parser": "3.1.3",
                "nmred/kafka-php": "0.1.5",
@@ -74,9 +77,6 @@
                "ext-wikidiff2": "Diff accelerator",
                "monolog/monolog": "Flexible debug logging system",
                "nmred/kafka-php": "Send debug log events to kafka",
-               "pear/mail": "Mail sending support",
-               "pear/mail_mime": "Mail sending support",
-               "pear/mail_mime-decode": "Mail sending support",
                "wikimedia/avro": "Binary serialization format used with kafka"
        },
        "autoload": {
index 0763e7d..bcfd2aa 100644 (file)
                },
                "AutoloadNamespaces": {
                        "type": "object",
-                       "description": "Mapping of PSR-4 compliant namespace to directory for autoloading"
+                       "description": "Mapping of PSR-4 compliant namespace to directory for autoloading",
+                       "patternProperties": {
+                               "^[A-Za-z0-9\\\\]+\\\\$": {
+                                       "type": "string"
+                               }
+                       },
+                       "additionalProperties": false
                },
                "AutoloadClasses": {
                        "type": "object"
index e13129b..31edbd0 100644 (file)
                },
                "AutoloadNamespaces": {
                        "type": "object",
-                       "description": "Mapping of PSR-4 compliant namespace to directory for autoloading"
+                       "description": "Mapping of PSR-4 compliant namespace to directory for autoloading",
+                       "patternProperties": {
+                               "^[A-Za-z0-9\\\\]+\\\\$": {
+                                       "type": "string"
+                               }
+                       },
+                       "additionalProperties": false
                },
                "AutoloadClasses": {
                        "type": "object"
index 75fcff3..35b556d 100644 (file)
@@ -23,6 +23,9 @@
 
 use MediaWiki\MediaWikiServices;
 
+// Use superglobals, but since it's deprecated, it's not worth fixing
+// phpcs:disable MediaWiki.Usage.SuperGlobalsUsage.SuperGlobals
+
 /**
  * @defgroup Ajax Ajax
  */
index 52410fe..6e77056 100644 (file)
@@ -82,7 +82,7 @@ class AutoLoader {
                                if ( isset( self::$psr4Namespaces[$prefix] ) ) {
                                        $relativeClass = substr( $className, $pos + 1 );
                                        // Build the expected filename, and see if it exists
-                                       $file = self::$psr4Namespaces[$prefix] .
+                                       $file = self::$psr4Namespaces[$prefix] . '/' .
                                                str_replace( '\\', '/', $relativeClass ) . '.php';
                                        if ( file_exists( $file ) ) {
                                                $filename = $file;
index 2bae13b..2ce1f3e 100644 (file)
@@ -521,7 +521,7 @@ class Block {
         *
         * @param IDatabase $dbw If you have one available
         * @return bool|array False on failure, assoc array on success:
-        *      ('id' => block ID, 'autoIds' => array of autoblock IDs)
+        *      ('id' => block ID, 'autoIds' => array of autoblock IDs)
         */
        public function insert( $dbw = null ) {
                global $wgBlockDisablesLogin;
index 21d7d57..66a3535 100644 (file)
@@ -326,7 +326,10 @@ class ContentSecurityPolicy {
                $reportUri = wfAppendQuery( wfScript( 'api' ), $apiArguments );
 
                // Per spec, ';' and ',' must be hex-escaped in report uri
-               $reportUri = $this->escapeUrlForCSP( $reportUri );
+               // Also add an & at the end of url to work around bug in hhvm
+               // with handling of POST parameters when always_decode_post_data
+               // is set to true. See https://github.com/facebook/hhvm/issues/6676
+               $reportUri = $this->escapeUrlForCSP( $reportUri ) . '&';
                return $reportUri;
        }
 
index 6d39e3a..67ce1f3 100644 (file)
@@ -938,7 +938,7 @@ class EditPage {
                        if ( $this->incompleteForm ) {
                                # If the form is incomplete, force to preview.
                                wfDebug( __METHOD__ . ": Form data appears to be incomplete\n" );
-                               wfDebug( "POST DATA: " . var_export( $_POST, true ) . "\n" );
+                               wfDebug( "POST DATA: " . var_export( $request->getPostValues(), true ) . "\n" );
                                $this->preview = true;
                        } else {
                                $this->preview = $request->getCheck( 'wpPreview' );
index 7e8df7e..659ac9d 100644 (file)
@@ -1089,7 +1089,8 @@ function wfIsDebugRawPage() {
        if ( $cache !== null ) {
                return $cache;
        }
-       # Check for raw action using $_GET not $wgRequest, since the latter might not be initialised yet
+       // Check for raw action using $_GET not $wgRequest, since the latter might not be initialised yet
+       // phpcs:ignore MediaWiki.Usage.SuperGlobalsUsage.SuperGlobals
        if ( ( isset( $_GET['action'] ) && $_GET['action'] == 'raw' )
                || (
                        isset( $_SERVER['SCRIPT_NAME'] )
@@ -3228,7 +3229,7 @@ function wfRunHooks( $event, array $args = [], $deprecatedVersion = null ) {
  * @param string $format The format string (See php's docs)
  * @param string $data A binary string of binary data
  * @param int|bool $length The minimum length of $data or false. This is to
- *     prevent reading beyond the end of $data. false to disable the check.
+ *     prevent reading beyond the end of $data. false to disable the check.
  *
  * Also be careful when using this function to read unsigned 32 bit integer
  * because php might make it negative.
index 5fc5eb1..5cdbfee 100644 (file)
@@ -1221,9 +1221,9 @@ class Linker {
         * @todo FIXME: Doesn't handle sub-links as in image thumb texts like the main parser
         *
         * @param string $comment Text to format links in. WARNING! Since the output of this
-        *      function is html, $comment must be sanitized for use as html. You probably want
-        *      to pass $comment through Sanitizer::escapeHtmlAllowEntities() before calling
-        *      this function.
+        *      function is html, $comment must be sanitized for use as html. You probably want
+        *      to pass $comment through Sanitizer::escapeHtmlAllowEntities() before calling
+        *      this function.
         * @param Title|null $title An optional title object used to links to sections
         * @param bool $local Whether section links should refer to local page
         * @param string|null $wikiId Id of the wiki to link to (if not the local wiki),
index e6dc0fe..459a7e1 100644 (file)
@@ -636,9 +636,11 @@ class MediaWiki {
 
                if ( $cpIndex > 0 ) {
                        if ( $allowHeaders ) {
-                               $expires = time() + ChronologyProtector::POSITION_TTL;
+                               $now = time();
+                               $expires = $now + ChronologyProtector::POSITION_COOKIE_TTL;
                                $options = [ 'prefix' => '' ];
-                               $request->response()->setCookie( 'cpPosIndex', $cpIndex, $expires, $options );
+                               $value = LBFactory::makeCookieValueFromCPIndex( $cpIndex, $now ); // T190082
+                               $request->response()->setCookie( 'cpPosIndex', $value, $expires, $options );
                        }
 
                        if ( $strategy === 'cookie+url' ) {
index 52dfc11..7f72d36 100644 (file)
@@ -463,24 +463,22 @@ class OutputPage extends ContextSource {
        }
 
        /**
-        * Add a JavaScript file out of skins/common, or a given relative path.
+        * Add a JavaScript file to be loaded as `<script>` on this page.
+        *
         * Internal use only. Use OutputPage::addModules() if possible.
         *
-        * @param string $file Filename in skins/common or complete on-server path
-        *              (/foo/bar.js)
-        * @param string $version Style version of the file. Defaults to $wgStyleVersion
+        * @param string $file URL to file (absolute path, protocol-relative, or full url)
+        * @param string $unused Previously used to change the cache-busting query parameter
         */
-       public function addScriptFile( $file, $version = null ) {
-               // See if $file parameter is an absolute URL or begins with a slash
-               if ( substr( $file, 0, 1 ) == '/' || preg_match( '#^[a-z]*://#i', $file ) ) {
-                       $path = $file;
-               } else {
-                       $path = $this->getConfig()->get( 'StylePath' ) . "/common/{$file}";
-               }
-               if ( is_null( $version ) ) {
-                       $version = $this->getConfig()->get( 'StyleVersion' );
+       public function addScriptFile( $file, $unused = null ) {
+               if ( substr( $file, 0, 1 ) !== '/' && !preg_match( '#^[a-z]*://#i', $file ) ) {
+                       // This is not an absolute path, protocol-relative url, or full scheme url,
+                       // presumed to be an old call intended to include a file from /w/skins/common,
+                       // which doesn't exist anymore as of MediaWiki 1.24 per T71277. Ignore.
+                       wfDeprecated( __METHOD__, '1.24' );
+                       return;
                }
-               $this->addScript( Html::linkedScript( wfAppendQuery( $path, $version ), $this->getCSPNonce() ) );
+               $this->addScript( Html::linkedScript( $file, $this->getCSPNonce() ) );
        }
 
        /**
@@ -2443,7 +2441,7 @@ class OutputPage extends ContextSource {
                if ( $this->mArticleBodyOnly ) {
                        echo $this->mBodytext;
                } else {
-                       // Enable safe mode if requested
+                       // Enable safe mode if requested (T152169)
                        if ( $this->getRequest()->getBool( 'safemode' ) ) {
                                $this->disallowUserJs();
                        }
@@ -2861,6 +2859,17 @@ class OutputPage extends ContextSource {
 
                        $rlClient = new ResourceLoaderClientHtml( $context, [
                                'target' => $this->getTarget(),
+                               'nonce' => $this->getCSPNonce(),
+                               // When 'safemode', disallowUserJs(), or reduceAllowedModules() is used
+                               // to only restrict modules to ORIGIN_CORE (ie. disallow ORIGIN_USER), the list of
+                               // modules enqueud for loading on this page is filtered to just those.
+                               // However, to make sure we also apply the restriction to dynamic dependencies and
+                               // lazy-loaded modules at run-time on the client-side, pass 'safemode' down to the
+                               // StartupModule so that the client-side registry will not contain any restricted
+                               // modules either. (T152169, T185303)
+                               'safemode' => ( $this->getAllowedModules( ResourceLoaderModule::TYPE_COMBINED )
+                                       <= ResourceLoaderModule::ORIGIN_CORE_INDIVIDUAL
+                               ) ? '1' : null,
                        ] );
                        $rlClient->setConfig( $this->getJSVars() );
                        $rlClient->setModules( $this->getModules( /*filter*/ true ) );
@@ -2907,7 +2916,7 @@ class OutputPage extends ContextSource {
                }
 
                $pieces[] = Html::element( 'title', null, $this->getHTMLTitle() );
-               $pieces[] = $this->getRlClient()->getHeadHtml( $this->getCSPNonce() );
+               $pieces[] = $this->getRlClient()->getHeadHtml();
                $pieces[] = $this->buildExemptModules();
                $pieces = array_merge( $pieces, array_values( $this->getHeadLinksArray() ) );
                $pieces = array_merge( $pieces, array_values( $this->mHeadItems ) );
@@ -3653,8 +3662,11 @@ class OutputPage extends ContextSource {
                        $url = $style;
                } else {
                        $config = $this->getConfig();
-                       $url = $config->get( 'StylePath' ) . '/' . $style . '?' .
-                               $config->get( 'StyleVersion' );
+                       // Append file hash as query parameter
+                       $url = self::transformResourcePath(
+                               $config,
+                               $config->get( 'StylePath' ) . '/' . $style
+                       );
                }
 
                $link = Html::linkedStyle( $url, $media );
index 5cc9a96..9d7a155 100644 (file)
@@ -24,6 +24,8 @@
  * @file
  */
 use MediaWiki\MediaWikiServices;
+use Wikimedia\Rdbms\LBFactory;
+use Wikimedia\Rdbms\ChronologyProtector;
 
 /**
  * This file is not a valid entry point, perform no further processing unless
@@ -627,8 +629,6 @@ MWExceptionHandler::installHandler();
 
 require_once "$IP/includes/compat/normal/UtfNormalUtil.php";
 
-$ps_validation = Profiler::instance()->scopedProfileIn( $fname . '-validation' );
-
 // T48998: Bail out early if $wgArticlePath is non-absolute
 foreach ( [ 'wgArticlePath', 'wgVariantArticlePath' ] as $varName ) {
        if ( $$varName && !preg_match( '/^(https?:\/\/|\/)/', $$varName ) ) {
@@ -641,8 +641,6 @@ foreach ( [ 'wgArticlePath', 'wgVariantArticlePath' ] as $varName ) {
        }
 }
 
-Profiler::instance()->scopedProfileOut( $ps_validation );
-
 $ps_default2 = Profiler::instance()->scopedProfileIn( $fname . '-defaults2' );
 
 if ( $wgCanonicalServer === false ) {
@@ -703,7 +701,7 @@ if ( $wgMainWANCache === false ) {
 
 Profiler::instance()->scopedProfileOut( $ps_default2 );
 
-$ps_misc = Profiler::instance()->scopedProfileIn( $fname . '-misc1' );
+$ps_misc = Profiler::instance()->scopedProfileIn( $fname . '-misc' );
 
 // Raise the memory limit if it's too low
 wfMemoryLimit();
@@ -738,9 +736,15 @@ MediaWikiServices::getInstance()->getDBLoadBalancerFactory()->setRequestInfo( [
        'IPAddress' => $wgRequest->getIP(),
        'UserAgent' => $wgRequest->getHeader( 'User-Agent' ),
        'ChronologyProtection' => $wgRequest->getHeader( 'ChronologyProtection' ),
-       // The cpPosIndex cookie has no prefix and is set by MediaWiki::preOutputCommit()
-       'ChronologyPositionIndex' =>
-               $wgRequest->getInt( 'cpPosIndex', (int)$wgRequest->getCookie( 'cpPosIndex', '' ) )
+       'ChronologyPositionIndex' => $wgRequest->getInt(
+               'cpPosIndex',
+               LBFactory::getCPIndexFromCookieValue(
+                       // The cookie has no prefix and is set by MediaWiki::preOutputCommit()
+                       $wgRequest->getCookie( 'cpPosIndex', '' ),
+                       // Mitigate broken client-side cookie expiration handling (T190082)
+                       time() - ChronologyProtector::POSITION_COOKIE_TTL
+               )
+       )
 ] );
 // Make sure that object caching does not undermine the ChronologyProtector improvements
 if ( $wgRequest->getCookie( 'UseDC', '' ) === 'master' ) {
@@ -766,9 +770,6 @@ if ( $wgCommandLineMode ) {
        wfDebug( $debug );
 }
 
-Profiler::instance()->scopedProfileOut( $ps_misc );
-$ps_memcached = Profiler::instance()->scopedProfileIn( $fname . '-memcached' );
-
 $wgMemc = wfGetMainCache();
 $messageMemc = wfGetMessageCacheStorage();
 
@@ -787,7 +788,7 @@ wfDebugLog( 'caches',
        ', session: ' . get_class( ObjectCache::getInstance( $wgSessionCacheType ) )
 );
 
-Profiler::instance()->scopedProfileOut( $ps_memcached );
+Profiler::instance()->scopedProfileOut( $ps_misc );
 
 // Most of the config is out, some might want to run hooks here.
 Hooks::run( 'SetupAfterCache' );
@@ -819,8 +820,6 @@ if ( $wgAuth && !$wgAuth instanceof MediaWiki\Auth\AuthManagerAuthPlugin ) {
        ], '$wgAuth is ' . get_class( $wgAuth ) );
 }
 
-// Set up the session
-$ps_session = Profiler::instance()->scopedProfileIn( $fname . '-session' );
 /**
  * @var MediaWiki\Session\SessionId|null $wgInitialSessionId The persistent
  * session ID (if any) loaded at startup
@@ -884,7 +883,6 @@ if ( !defined( 'MW_NO_SESSION' ) && !$wgCommandLineMode ) {
                );
        }
 }
-Profiler::instance()->scopedProfileOut( $ps_session );
 
 /**
  * @var User $wgUser
@@ -921,22 +919,7 @@ $ps_extensions = Profiler::instance()->scopedProfileIn( $fname . '-extensions' )
 // of the extension file. This allows the extension to perform
 // any necessary initialisation in the fully initialised environment
 foreach ( $wgExtensionFunctions as $func ) {
-       // Allow closures in PHP 5.3+
-       if ( is_object( $func ) && $func instanceof Closure ) {
-               $profName = $fname . '-extensions-closure';
-       } elseif ( is_array( $func ) ) {
-               if ( is_object( $func[0] ) ) {
-                       $profName = $fname . '-extensions-' . get_class( $func[0] ) . '::' . $func[1];
-               } else {
-                       $profName = $fname . '-extensions-' . implode( '::', $func );
-               }
-       } else {
-               $profName = $fname . '-extensions-' . strval( $func );
-       }
-
-       $ps_ext_func = Profiler::instance()->scopedProfileIn( $profName );
        call_user_func( $func );
-       Profiler::instance()->scopedProfileOut( $ps_ext_func );
 }
 
 // If the session user has a 0 id but a valid name, that means we need to
@@ -944,13 +927,11 @@ foreach ( $wgExtensionFunctions as $func ) {
 if ( !defined( 'MW_NO_SESSION' ) && !$wgCommandLineMode ) {
        $sessionUser = MediaWiki\Session\SessionManager::getGlobalSession()->getUser();
        if ( $sessionUser->getId() === 0 && User::isValidUserName( $sessionUser->getName() ) ) {
-               $ps_autocreate = Profiler::instance()->scopedProfileIn( $fname . '-autocreate' );
                $res = MediaWiki\Auth\AuthManager::singleton()->autoCreateUser(
                        $sessionUser,
                        MediaWiki\Auth\AuthManager::AUTOCREATE_SOURCE_SESSION,
                        true
                );
-               Profiler::instance()->scopedProfileOut( $ps_autocreate );
                \MediaWiki\Logger\LoggerFactory::getInstance( 'authevents' )->info( 'Autocreation attempt', [
                        'event' => 'autocreate',
                        'status' => $res,
index 7f0dbd7..fd7451c 100644 (file)
@@ -207,8 +207,8 @@ class Title implements LinkTarget {
         * Create a new Title from a prefixed DB key
         *
         * @param string $key The database key, which has underscores
-        *      instead of spaces, possibly including namespace and
-        *      interwiki prefixes
+        *      instead of spaces, possibly including namespace and
+        *      interwiki prefixes
         * @return Title|null Title, or null on an error
         */
        public static function newFromDBkey( $key ) {
index c6ddf81..e0b8de7 100644 (file)
@@ -28,6 +28,9 @@ use MediaWiki\Session\Session;
 use MediaWiki\Session\SessionId;
 use MediaWiki\Session\SessionManager;
 
+// The point of this class is to be a wrapper around super globals
+// phpcs:disable MediaWiki.Usage.SuperGlobalsUsage.SuperGlobals
+
 /**
  * The WebRequest class encapsulates getting at data passed in the
  * URL or via a POSTed form stripping illegal input characters and
@@ -654,6 +657,18 @@ class WebRequest {
                return $_GET;
        }
 
+       /**
+        * Get the values passed via POST.
+        * No transformation is performed on the values.
+        *
+        * @since 1.32
+        * @codeCoverageIgnore
+        * @return array
+        */
+       public function getPostValues() {
+               return $_POST;
+       }
+
        /**
         * Return the contents of the Query with no decoding. Use when you need to
         * know exactly what was sent, e.g. for an OAuth signature over the elements.
index 7dcd4a4..10d0d8b 100644 (file)
@@ -214,10 +214,10 @@ class Xml {
                // a custom language code might not have a defined name...
                if ( !array_key_exists( $wgLanguageCode, $languages ) ) {
                        $languages[$wgLanguageCode] = $wgLanguageCode;
+                       // Sort the array again
+                       ksort( $languages );
                }
 
-               ksort( $languages );
-
                /**
                 * If a bogus value is set, default to the content language.
                 * Otherwise, no default is selected and the user ends up
index 0141b9e..ec63910 100644 (file)
@@ -109,8 +109,13 @@ abstract class FormAction extends Action {
         *
         * If you don't want to do anything with the form, just return false here.
         *
+        * This method will be passed to the HTMLForm as a submit callback (see
+        * HTMLForm::setSubmitCallback) and must return as documented for HTMLForm::trySubmit.
+        *
+        * @see HTMLForm::setSubmitCallback()
+        * @see HTMLForm::trySubmit()
         * @param array $data
-        * @return bool|array True for success, false for didn't-try, array of errors on failure
+        * @return bool|string|array|Status Must return as documented for HTMLForm::trySubmit
         */
        abstract public function onSubmit( $data );
 
index 0988f73..0a4eae8 100644 (file)
@@ -195,9 +195,14 @@ class InfoAction extends FormlessAction {
        }
 
        /**
-        * Returns page information in an easily-manipulated format. Array keys are used so extensions
-        * may add additional information in arbitrary positions. Array values are arrays with one
-        * element to be rendered as a header, arrays with two elements to be rendered as a table row.
+        * Returns an array of info groups (will be rendered as tables), keyed by group ID.
+        * Group IDs are arbitrary and used so that extensions may add additional information in
+        * arbitrary positions (and as message keys for section headers for the tables, prefixed
+        * with 'pageinfo-').
+        * Each info group is a non-associative array of info items (rendered as table rows).
+        * Each info item is an array with two elements: the first describes the type of
+        * information, the second the value for the current page. Both can be strings (will be
+        * interpreted as raw HTML) or messages (will be interpreted as plain text and escaped).
         *
         * @return array
         */
index 528e0e2..aaccc0c 100644 (file)
@@ -40,9 +40,7 @@ class WatchAction extends FormAction {
        }
 
        public function onSubmit( $data ) {
-               self::doWatch( $this->getTitle(), $this->getUser() );
-
-               return true;
+               return self::doWatch( $this->getTitle(), $this->getUser() );
        }
 
        protected function checkCanExecute( User $user ) {
@@ -183,8 +181,10 @@ class WatchAction extends FormAction {
         * @param string $action Optionally override the action to 'watch'
         * @return string Token
         * @since 1.18
+        * @deprecated since 1.32 Use WatchAction::getWatchToken() with action 'unwatch' directly.
         */
        public static function getUnwatchToken( Title $title, User $user, $action = 'unwatch' ) {
+               wfDeprecated( __METHOD__, '1.32' );
                return self::getWatchToken( $title, $user, $action );
        }
 
index 0802e16..b18bf58 100644 (file)
@@ -1502,10 +1502,10 @@ abstract class ApiBase extends ContextSource {
                        return $allowedValues;
                }
 
-               if ( self::truncateArray( $valuesList, $sizeLimit ) ) {
-                       $this->addDeprecation(
-                               [ 'apiwarn-toomanyvalues', $valueName, $sizeLimit ],
-                               "too-many-$valueName-for-{$this->getModulePath()}"
+               if ( count( $valuesList ) > $sizeLimit ) {
+                       $this->dieWithError(
+                               [ 'apierror-toomanyvalues', $valueName, $sizeLimit ],
+                               "too-many-$valueName"
                        );
                }
 
@@ -1691,32 +1691,30 @@ abstract class ApiBase extends ContextSource {
                        return $value;
                }
 
-               $titleObj = Title::makeTitleSafe( NS_USER, $value );
-
-               if ( $titleObj ) {
-                       $value = $titleObj->getText();
+               $name = User::getCanonicalName( $value, 'valid' );
+               if ( $name !== false ) {
+                       return $name;
                }
 
                if (
-                       !User::isValidUserName( $value ) &&
                        // We allow ranges as well, for blocks.
-                       !IP::isIPAddress( $value ) &&
+                       IP::isIPAddress( $value ) ||
                        // See comment for User::isIP.  We don't just call that function
                        // here because it also returns true for things like
                        // 300.300.300.300 that are neither valid usernames nor valid IP
                        // addresses.
-                       !preg_match(
+                       preg_match(
                                '/^' . RE_IP_BYTE . '\.' . RE_IP_BYTE . '\.' . RE_IP_BYTE . '\.xxx$/',
                                $value
                        )
                ) {
-                       $this->dieWithError(
-                               [ 'apierror-baduser', $encParamName, wfEscapeWikiText( $value ) ],
-                               "baduser_{$encParamName}"
-                       );
+                       return IP::sanitizeIP( $value );
                }
 
-               return $value;
+               $this->dieWithError(
+                       [ 'apierror-baduser', $encParamName, wfEscapeWikiText( $value ) ],
+                       "baduser_{$encParamName}"
+               );
        }
 
        /**@}*/
@@ -1741,22 +1739,6 @@ abstract class ApiBase extends ContextSource {
                WatchAction::doWatchOrUnwatch( $value, $titleObj, $this->getUser() );
        }
 
-       /**
-        * Truncate an array to a certain length.
-        * @param array &$arr Array to truncate
-        * @param int $limit Maximum length
-        * @return bool True if the array was truncated, false otherwise
-        */
-       public static function truncateArray( &$arr, $limit ) {
-               $modified = false;
-               while ( count( $arr ) > $limit ) {
-                       array_pop( $arr );
-                       $modified = true;
-               }
-
-               return $modified;
-       }
-
        /**
         * Gets the user for whom to get the watchlist
         *
@@ -3041,6 +3023,24 @@ abstract class ApiBase extends ContextSource {
                ] ];
        }
 
+       /**
+        * Truncate an array to a certain length.
+        * @deprecated since 1.32, no replacement
+        * @param array &$arr Array to truncate
+        * @param int $limit Maximum length
+        * @return bool True if the array was truncated, false otherwise
+        */
+       public static function truncateArray( &$arr, $limit ) {
+               wfDeprecated( __METHOD__, '1.32' );
+               $modified = false;
+               while ( count( $arr ) > $limit ) {
+                       array_pop( $arr );
+                       $modified = true;
+               }
+
+               return $modified;
+       }
+
        /**@}*/
 }
 
index 86a22e6..4067704 100644 (file)
        "apierror-stashwrongowner": "Falscher Besitzer: $1",
        "apierror-systemblocked": "Du wurdest von MediaWiki automatisch gesperrt.",
        "apierror-timeout": "Der Server hat nicht innerhalb der erwarteten Zeit reagiert.",
+       "apierror-toomanyvalues": "Es wurden zu viele Werte für den Parameter <var>$1</var> angegeben. Die Obergrenze liegt bei $2.",
        "apierror-unknownerror-nocode": "Unbekannter Fehler.",
        "apierror-unknownerror": "Unbekannter Fehler: „$1“.",
        "apierror-unknownformat": "Nicht erkanntes Format „$1“.",
        "apiwarn-invalidtitle": "„$1“ ist kein gültiger Titel.",
        "apiwarn-notfile": "„$1“ ist keine Datei.",
        "apiwarn-parse-revidwithouttext": "<var>revid</var>, ohne <var>text</var> verwendet, und geparste Seiteneigenschaften wurden angefordert. Wolltest du <var>oldid</var> anstatt <var>revid</var> verwenden?",
-       "apiwarn-toomanyvalues": "Es wurden zu viele Werte für den Parameter <var>$1</var> angegeben. Die Obergrenze liegt bei $2.",
        "apiwarn-validationfailed-badpref": "Keine gültige Einstellung.",
        "apiwarn-validationfailed-cannotset": "Kann nicht von diesem Modul festgelegt werden.",
        "apiwarn-validationfailed-keytoolong": "Der Schlüssel ist zu lang. Es sind nicht mehr als $1 Bytes erlaubt.",
index 573d37c..68bf603 100644 (file)
        "apierror-templateexpansion-notwikitext": "Template expansion is only supported for wikitext content. $1 uses content model $2.",
        "apierror-timeout": "The server did not respond within the expected time.",
        "apierror-toofewexpiries": "$1 expiry {{PLURAL:$1|timestamp was|timestamps were}} provided where $2 {{PLURAL:$2|was|were}} needed.",
+       "apierror-toomanyvalues": "Too many values supplied for parameter <var>$1</var>. The limit is $2.",
        "apierror-unknownaction": "The action specified, <kbd>$1</kbd>, is not recognized.",
        "apierror-unknownerror-editpage": "Unknown EditPage error: $1.",
        "apierror-unknownerror-nocode": "Unknown error.",
        "apiwarn-redirectsandrevids": "Redirect resolution cannot be used together with the <var>revids</var> parameter. Any redirects the <var>revids</var> point to have not been resolved.",
        "apiwarn-tokennotallowed": "Action \"$1\" is not allowed for the current user.",
        "apiwarn-tokens-origin": "Tokens may not be obtained when the same-origin policy is not applied.",
-       "apiwarn-toomanyvalues": "Too many values supplied for parameter <var>$1</var>. The limit is $2.",
        "apiwarn-truncatedresult": "This result was truncated because it would otherwise be larger than the limit of $1 bytes.",
        "apiwarn-unclearnowtimestamp": "Passing \"$2\" for timestamp parameter <var>$1</var> has been deprecated. If for some reason you need to explicitly specify the current time without calculating it client-side, use <kbd>now</kbd>.",
        "apiwarn-unrecognizedvalues": "Unrecognized {{PLURAL:$3|value|values}} for parameter <var>$1</var>: $2.",
index 5be4703..5d0c27a 100644 (file)
        "apierror-badparameter": "Valor no válido para el parámetro <var>$1</var>.",
        "apierror-badquery": "La consulta no es válida.",
        "apierror-badtimestamp": "Valor no válido \"$2\" para el parámetro de marca de tiempo <var>$1</var>.",
+       "apierror-badtoken": "La ficha CSRF no es válida.",
        "apierror-badupload": "El parámetro de subida de archivo <var>$1</var> no es una subida de archivo. Asegúrate de usar <code>multipart/form-data</code> para tu POST e introduce un nombre de archivo en la cabecera <code>Content-Disposition</code>.",
        "apierror-badurl": "Valor no válido \"$2\" para el parámetro de URL <var>$1</var>.",
        "apierror-baduser": "Valor no válido \"$2\" para el parámetro de usuario <var>$1</var>.",
index ab3f430..1cf340a 100644 (file)
        "apierror-templateexpansion-notwikitext": "Le développement du modèle n'est effectif que sur un contenu wikitext. $1 utilise le modèle de contenu $2.",
        "apierror-timeout": "Le serveur n’a pas répondu dans le délai imparti.",
        "apierror-toofewexpiries": "$1 {{PLURAL:$1|horodatage d’expiration a été fourni|horodatages d’expiration ont été fournis}} alors que $2 {{PLURAL:$2|était attendu|étaient attendus}}.",
+       "apierror-toomanyvalues": "Trop de valeurs fournies pour le paramètre <var>$1</var>. La  limite est $2.",
        "apierror-unknownaction": "L'action spécifiée, <kbd>$1</kbd>, n'est pas reconnue.",
        "apierror-unknownerror-editpage": "Erreur inconnue EditPage: $1.",
        "apierror-unknownerror-nocode": "Erreur inconnue.",
        "apiwarn-redirectsandrevids": "La résolution de la redirection ne peut pas être utilisée avec le paramètre <var>revids</var>. Toutes les redirections vers lesquelles pointent <var>revids</var> n’ont pas été résolues.",
        "apiwarn-tokennotallowed": "L'action « $1 » n'est pas autorisée pour l'utilisateur actuel.",
        "apiwarn-tokens-origin": "Les jetons ne peuvent pas être obtenus quand la politique de même origine n’est pas appliquée.",
-       "apiwarn-toomanyvalues": "Trop de valeurs fournies pour le paramètre <var>$1</var>. La  limite est $2.",
        "apiwarn-truncatedresult": "Ce résultat a été tronqué parce que sinon, il dépasserait la limite de $1 octets.",
        "apiwarn-unclearnowtimestamp": "Passer « $2 » comme paramètre d’horodatage <var>$1</var> a été rendu désuet. Si, pour une raison quelconque, vous avez besoin de spécifier explicitement l’heure courante sans la recalculer du côté client, utilisez <kbd>now</kbd>.",
        "apiwarn-unrecognizedvalues": "{{PLURAL:$3|Valeur non reconnue|Valeurs non reconnues}} pour le paramètre <var>$1</var> : $2.",
index 1f2b028..1731323 100644 (file)
        "apierror-systemblocked": "Foi bloqueado automaticamente polo software MediaWiki.",
        "apierror-templateexpansion-notwikitext": "A expansión de modelos só é compatible co contido en wikitexto. $1 usa o modelo de contido $2.",
        "apierror-timeout": "O servidor non respondeu no tempo esperado.",
+       "apierror-toomanyvalues": "Demasiados valores para o parámetro <var>$1</var>. O límite é $2.",
        "apierror-unknownaction": "A acción especificada, <kbd>$1</kbd>, non está recoñecida.",
        "apierror-unknownerror-editpage": "Erro descoñecido EditPageː $1.",
        "apierror-unknownerror-nocode": "Erro descoñecido.",
        "apiwarn-notfile": "\"$1\" non é un ficheiro.",
        "apiwarn-parse-nocontentmodel": "Non se proporcionou <var>title</var> nin <var>contentmodel</var>, asúmese $1.",
        "apiwarn-tokennotallowed": "A acción \"$1\" non está permitida para o usuario actual.",
-       "apiwarn-toomanyvalues": "Demasiados valores para o parámetro <var>$1</var>. O límite é $2.",
        "apiwarn-truncatedresult": "Truncouse este resultado porque doutra maneira sobrepasaría o límite de $1 bytes.",
        "apiwarn-unrecognizedvalues": "{{PLURAL:$3|Valor non recoñecido|Valores non recoñecidos}} para o parámetro <var>$1</var>: $2.",
        "apiwarn-unsupportedarray": "O parámetro <var>$1</var> usa unha sintaxe PHP de matriz que non está soportada.",
index 911ac2f..b53c052 100644 (file)
        "apierror-templateexpansion-notwikitext": "הרחבת תבניות נתמכת רק בתוכן קוד ויקי (wikitext). $1 משתמש במודל התוכן $2.",
        "apierror-timeout": "השרת לא השיב בזמן המצופה.",
        "apierror-toofewexpiries": "{{PLURAL:$1|ניתן חותם זמן תפוגה אחד|ניתנו $1 חותמי זמן תפוגה}} כאשר {{PLURAL:$2|היה נחוץ אחד|היו נחוצים $1}}.",
+       "apierror-toomanyvalues": "יותר מדי ערכים סופקו לפרמטר <var>$1</var>. המגבלה היא $2.",
        "apierror-unknownaction": "הפעולה שניתנה, <kbd>$1</kbd>, אינה מוכרת.",
        "apierror-unknownerror-editpage": "שגיאת EditPage בלתי־ידועה: $1.",
        "apierror-unknownerror-nocode": "שגיאה בלתי־ידועה.",
        "apiwarn-redirectsandrevids": "פתרון הפניות לא יכול לשמש יחד עם הפרמטר <var>revids</var>. הפניות ש־<var>revids</var> מצביע אליהן לא נפתרו.",
        "apiwarn-tokennotallowed": "הפעולה \"$1\" אינה מותרת למשתמש הנוכחי.",
        "apiwarn-tokens-origin": "לא ניתן לקבל אסימונים כשמדיניות המקור הזהה אינה חלה.",
-       "apiwarn-toomanyvalues": "יותר מדי ערכים סופקו לפרמטר <var>$1</var>. המגבלה היא $2.",
        "apiwarn-truncatedresult": "התוצאה נחתכה כי אחרת היא הייתה ארוכה מהמגבלה של $1 בתים.",
        "apiwarn-unclearnowtimestamp": "העברת \"$2\" בתור פרמטר חותם־זמן <var>$1</var> הוצהרה בתור מיושנת. אם מסיבה כלשהי אתם צריכים להגדיר במפורש את הזמן הנוכחי ללא חישובו בצד הלקוח, יש להשתמש ב־<kbd>now</kbd>.",
        "apiwarn-unrecognizedvalues": "לפרמטר <var>$1</var> {{PLURAL:$3|ניתן ערך בלתי־ידוע|ניתנו ערכים בלתי־ידועים}}: $2.",
index 8811177..575715f 100644 (file)
        "apierror-maxchars": "Il parametro <var>$1</var> non può essere più lungo di $2 {{PLURAL:$2|carattere|caratteri}}",
        "apierror-nosuchuserid": "Non c'è alcun utente con ID $1.",
        "apierror-timeout": "Il server non ha risposto entro il tempo previsto.",
+       "apierror-toomanyvalues": "Troppi valori forniti per il parametro <var>$1</ var>. Il limite è $2.",
        "api-credits-header": "Crediti"
 }
index 79a33ae..222a20c 100644 (file)
        "api-help-parameters": "{{PLURAL:$1|변수}}:",
        "api-help-param-deprecated": "구식입니다.",
        "api-help-param-required": "이 변수는 필수 입력 사항입니다.",
+       "api-help-param-templated": "이것은 [[Special:ApiHelp/main#main/templatedparams|틀 변수]]입니다. 요청하실 때 $2.",
        "api-help-datatypes-header": "데이터 유형",
        "api-help-datatypes": "API 요청 내 몇몇 매개변수형에 대해 더 자세히 설명해보겠습니다:\n;boolean\n:Boolean 매개변수들은 HTML 체크박스처럼 동작합니다: 만약 매개변수가 지정되었다면, 값에 상관없이 참의 값으로 여겨집니다. 거짓값은 매개변수 전체를 생략하세요.\n;timestamp\n:타임스탬프들은 여러 형식으로 표현될 수 있으나 ISO 8601 날짜와 시간이 추천됩니다. 모든 시간은 UTC이어야 하며, 포함된 시간대는 모두 무시됩니다.\n:* ISO 8601 날짜와 시간, <kbd><var>2001</var>-<var>01</var>-<var>15</var>T<var>14</var>:<var>56</var>:<var>00</var>Z</kbd> (구두점과 <kbd>Z</kbd>는 선택입니다.)\n:* ISO 8601 날짜와 시간과 (무시되는) 소수 초, <kbd><var>2001</var>-<var>01</var>-<var>15</var>T<var>14</var>:<var>56</var>:<var>00</var>.<var>00001</var>Z</kbd> (대시, 콜론과 <kbd>Z</kbd>는 선택입니다.)\n:* 미디어위키 형식, <kbd><var>2001</var><var>01</var><var>15</var><var>14</var><var>56</var><var>00</var></kbd>\n:* 일반적인 수 형식 <kbd><var>2001</var>-<var>01</var>-<var>15</var> <var>14</var>:<var>56</var>:<var>00</var></kbd> (<kbd>GMT</kbd>, <kbd>+<var>##</var></kbd>, 또는 <kbd>-<var>##</var></kbd>와 같은 선택적 시간대는 무시됩니다)\n:*RFC 2822 형식 (시간대는 생략될 수 있음), <kbd><var>Mon</var>, <var>15</var> <var>Jan</var> <var>2001</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:* RFC 850 형식 (시간대는 생략될 수 있음), <kbd><var>Monday</var>, <var>15</var>-<var>Jan</var>-<var>2001</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:* C ctime 형식, <kbd><var>Mon</var> <var>Jan</var> <var>15</var> <var>14</var>:<var>56</var>:<var>00</var> <var>2001</var></kbd>\n:* 1부터 13자리까지의 숫자로 표현된 1970-01-01T00:00:00Z부터 흐른 시간(초) (<kbd>0</kbd>을 제외)\n:* 문자열 <kbd>now</kbd>",
        "api-help-templatedparams-header": "틀 변수",
        "apierror-stashwrongowner": "잘못된 소유자: $1",
        "apierror-systemblocked": "당신은 미디어위키에 의해서 자동으로 차단되었습니다.",
        "apierror-timeout": "서버가 예측된 시간 내에 응답하지 않았습니다.",
+       "apierror-toomanyvalues": "<var>$1</var> 변수에 너무 많은 값이 지정되었습니다. 제한은 $2입니다.",
        "apierror-unknownerror-editpage": "알 수 없는 EditPage 오류: $1.",
        "apierror-unknownerror-nocode": "알 수 없는 오류.",
        "apierror-unknownerror": "알 수 없는 오류: \"$1\"",
index 8591eba..9d43533 100644 (file)
        "apierror-specialpage-cantexecute": "Nie masz uprawnień, aby zobaczyć wyniki tej strony specjalnej.",
        "apierror-stashwrongowner": "Nieprawidłowy właściciel: $1",
        "apierror-timeout": "Serwer nie odpowiedział w spodziewanym czasie.",
+       "apierror-toomanyvalues": "Podano zbyt wiele wartości dla parametru <var>$1</var>. Ograniczenie do $2.",
        "apierror-unknownerror-nocode": "Nieznany błąd.",
        "apierror-unknownerror": "Nieznany błąd: „$1”.",
        "apierror-unknownformat": "Nierozpoznany format „$1”.",
        "apiwarn-invalidtitle": "„$1” nie jest poprawnym tytułem.",
        "apiwarn-notfile": "„$1” nie jest plikiem.",
        "apiwarn-tokennotallowed": "Działanie „$1” jest niedozwolone dla bieżącego użytkownika.",
-       "apiwarn-toomanyvalues": "Podano zbyt wiele wartości dla parametru <var>$1</var>. Ograniczenie do $2.",
        "apiwarn-validationfailed-keytoolong": "klucz zbyt długi (dozwolone nie więcej niż $1 bajtów).",
        "apiwarn-validationfailed": "Błąd walidacji dla <kbd>$1</kbd>: $2",
        "apiwarn-wgDebugAPI": "<strong>Ostrzeżenie o zabezpieczeniach</strong>: włączone jest <var>$wgDebugAPI</var>.",
index df7ea51..bfb0ecf 100644 (file)
        "apierror-templateexpansion-notwikitext": "A expansão da predefinição só é suportada pelo conteúdo do texto wiki. $1 usa o modelo de conteúdo $2.",
        "apierror-timeout": "O servidor não respondeu dentro do tempo esperado.",
        "apierror-toofewexpiries": "{{PLURAL:$1|Foi fornecida $1 data e hora|Foram fornecidas $1 datas e horas}} de expiração quando {{PLURAL:$2|era necessária|eram necessárias}} $2.",
+       "apierror-toomanyvalues": "Muitos valores são fornecidos para o parâmetro <var>$1</var>. O limite é de $2.",
        "apierror-unknownaction": "A ação especificada, <kbd>$1</kbd>, não é reconhecida.",
        "apierror-unknownerror-editpage": "Erro EditPage desconhecido: $1.",
        "apierror-unknownerror-nocode": "Erro desconhecido.",
        "apiwarn-redirectsandrevids": "A resolução de redirecionamento não pode ser usada em conjunto com o parâmetro <var>revids</var>. Qualquer redirecionamento <var>revids</var> apontando para não foi resolvido.",
        "apiwarn-tokennotallowed": "A ação \"$1\" não é permitida para o usuário atual.",
        "apiwarn-tokens-origin": "Os tokens não podem ser obtidos quando a política de origem não é aplicada.",
-       "apiwarn-toomanyvalues": "Muitos valores são fornecidos para o parâmetro <var>$1</var>. O limite é de $2.",
        "apiwarn-truncatedresult": "Esse resultado foi truncado porque, de outra forma, seria maior do que o limite de $1 bytes.",
        "apiwarn-unclearnowtimestamp": "Passar \"$2\" para o parâmetro timestamp <var>$1</var> está obsoleto. Se, por algum motivo, você precisa especificar explicitamente o tempo atual sem calcular o lado do cliente, use <kbd>now</kbd>.",
        "apiwarn-unrecognizedvalues": "{{PLURAL:$3|Valor não reconhecido para o parâmetro|Valores não reconhecidos para o parâmetro}} <var>$1</var>: $2.",
index 9adb8b9..b7e0e52 100644 (file)
        "apierror-templateexpansion-notwikitext": "A expansão de predefinições só é suportada para conteúdo em texto wiki. A página $1 usa o modelo de conteúdo $2.",
        "apierror-timeout": "O servidor não respondeu no prazo esperado.",
        "apierror-toofewexpiries": "{{PLURAL:$1|Foi fornecida $1 data e hora|Foram fornecidas $1 datas e horas}} de expiração quando {{PLURAL:$2|era necessária|eram necessárias}} $2.",
+       "apierror-toomanyvalues": "Foram fornecidos demasiados valores para o parâmetro <var>$1</var>. O limite é $2.",
        "apierror-unknownaction": "A operação especificada, <kbd>$1</kbd>, não é reconhecida.",
        "apierror-unknownerror-editpage": "Erro EditPage desconhecido: $1.",
        "apierror-unknownerror-nocode": "Erro desconhecido.",
        "apiwarn-redirectsandrevids": "Resolução de redirecionamentos não pode ser usada em conjunto com o parâmetro <var>revids</var>. Quaisquer redirecionamentos para os quais <var>revids</var> aponta não foram resolvidos.",
        "apiwarn-tokennotallowed": "A operação \"$1\" não é permitida para o utilizador atual.",
        "apiwarn-tokens-origin": "Não é possível obter chaves quando a norma da mesma origem não é aplicada.",
-       "apiwarn-toomanyvalues": "Foram fornecidos demasiados valores para o parâmetro <var>$1</var>. O limite é $2.",
        "apiwarn-truncatedresult": "Este resultado foi truncado porque ultrapassaria o limite de $1 bytes.",
        "apiwarn-unclearnowtimestamp": "A passagem de \"$2\" no parâmetro de data e hora <var>$1</var> foi tornada obsoleta. Se, por qualquer razão, precisa de especificar de forma explícita a hora atual sem a calcular no lado do cliente, use <kbd>now</kbd>.",
        "apiwarn-unrecognizedvalues": "{{PLURAL:$3|Valor não reconhecido|Valores não reconhecidos}} para o parâmetro <var>$1</var>: $2.",
index 086e74b..1ecb077 100644 (file)
        "apierror-templateexpansion-notwikitext": "{{doc-apierror}}\n\nParameters:\n* $1 - Page title.\n* $2 - Content model.",
        "apierror-timeout": "{{doc-apierror}}\nAPI error message that can be used for client side localisation of API errors.",
        "apierror-toofewexpiries": "{{doc-apierror}}\n\nParameters:\n* $1 - Number provided.\n* $2 - Number needed.",
+       "apierror-toomanyvalues": "{{doc-apierror}}\n\nParameters:\n* $1 - Parameter name.\n* $2 - Maximum number of values allowed.",
        "apierror-unknownaction": "{{doc-apierror}}\n\nParameters:\n* $1 - Action provided.",
        "apierror-unknownerror-editpage": "{{doc-apierror}}\n\nParameters:\n* $1 - Error code (an integer).",
        "apierror-unknownerror-nocode": "{{doc-apierror}}",
        "apiwarn-redirectsandrevids": "{{doc-apierror}}",
        "apiwarn-tokennotallowed": "{{doc-apierror}}\n\nParameters:\n* $1 - Token type being requested, typically named after the action requiring the token.",
        "apiwarn-tokens-origin": "{{doc-apierror}}",
-       "apiwarn-toomanyvalues": "{{doc-apierror}}\n\nParameters:\n* $1 - Parameter name.\n* $2 - Maximum number of values allowed.",
        "apiwarn-truncatedresult": "{{doc-apierror}}\n\nParameters:\n* $1 - Size limit in bytes.",
        "apiwarn-unclearnowtimestamp": "{{doc-apierror}}\n\nParameters:\n* $1 - Parameter name.\n* $2 - Supplied value.",
        "apiwarn-unrecognizedvalues": "{{doc-apierror}}\n\nParameters:\n* $1 - Parameter name.\n* $2 - List of unknown values supplied.\n* $3 - Number of unknown values.",
index db93d47..e442d61 100644 (file)
@@ -30,7 +30,8 @@
                        "Jack who built the house",
                        "Mouse21",
                        "Happy13241",
-                       "Ole Yves"
+                       "Ole Yves",
+                       "AttemptToCallNil"
                ]
        },
        "apihelp-main-extended-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:Special:MyLanguage/API:Main_page|Документация]]\n* [[mw:Special:MyLanguage/API:FAQ|ЧаВО]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Почтовая рассылка]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Новости API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Ошибки и запросы]\n</div>\n<strong>Статус:</strong> MediaWiki API — зрелый и стабильный интерфейс, активно поддерживаемый и улучшаемый. Мы стараемся избегать ломающих изменений, однако изредка они могут быть необходимы. Подпишитесь на [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ почтовую рассылку mediawiki-api-announce], чтобы быть в курсе обновлений.\n\n<strong>Ошибочные запросы:</strong> Если API получает запрос с ошибкой, вернётся заголовок HTTP с ключом «MediaWiki-API-Error», после чего значение заголовка и код ошибки будут отправлены обратно и установлены в то же значение. Более подробную информацию см. [[mw:Special:MyLanguage/API:Errors_and_warnings|API: Ошибки и предупреждения]].\n\n<p class=\"mw-apisandbox-link\"><strong>Тестирование:</strong> для удобства тестирования API-запросов, см. [[Special:ApiSandbox]].</p>",
@@ -45,7 +46,7 @@
        "apihelp-main-param-servedby": "Включить в результаты имя хоста, обработавшего запрос.",
        "apihelp-main-param-curtimestamp": "Включить в результат временную метку.",
        "apihelp-main-param-responselanginfo": "Включить языки, использованные для <var>uselang</var> и <var>errorlang</var>, в результат.",
-       "apihelp-main-param-origin": "Ð\9fÑ\80и Ð¾Ð±Ñ\80аÑ\89ении Ðº API Ñ\81 Ð¸Ñ\81полÑ\8cзованием ÐºÑ\80оÑ\81Ñ\81-доменного AJAX-запÑ\80оÑ\81а (CORS), Ð·Ð°Ð´Ð°Ð¹Ñ\82е Ð¿Ð°Ñ\80амеÑ\82Ñ\80Ñ\83 Ð·Ð½Ð°Ñ\87ение Ð¸Ñ\81Ñ\85одного Ð´Ð¾Ð¼ÐµÐ½Ð°. Ð\9eн должен быть включён в любой предварительный запрос и таким образом должен быть частью URI-запроса (не тела POST).\n\nДля аутентифицированных запросов он должен точно соответствовать одному из источников в заголовке <code>Origin</code>, так что он должен быть задан наподобие <kbd>https://ru.wikipedia.org</kbd> или <kbd>https://meta.wikimedia.org</kbd>. Если параметр не соответствует заголовку <code>Origin</code>, будет возвращён ответ с кодом ошибки 403. Если параметр соответствует заголовку <code>Origin</code>, и источник находится в белом списке, будут установлены заголовки <code>Access-Control-Allow-Origin</code> и <code>Access-Control-Allow-Credentials</code>.\n\nДля неаутентифицированных запросов укажите значение <kbd>*</kbd>. В результате заголовок <code>Access-Control-Allow-Origin</code> будет установлен, но <code>Access-Control-Allow-Credentials</code> примет значение <code>false</code> и все пользовательские данные будут ограничены.",
+       "apihelp-main-param-origin": "Ð\9fÑ\80и Ð¾Ð±Ñ\80аÑ\89ении Ðº API Ñ\81 Ð¸Ñ\81полÑ\8cзованием ÐºÑ\80оÑ\81Ñ\81-доменного AJAX-запÑ\80оÑ\81а (CORS), Ð·Ð°Ð´Ð°Ð¹Ñ\82е Ð¿Ð°Ñ\80амеÑ\82Ñ\80Ñ\83 Ð·Ð½Ð°Ñ\87ение Ð¸Ñ\81Ñ\85одного Ð´Ð¾Ð¼ÐµÐ½Ð°. Ð­Ñ\82оÑ\82 Ð¿Ð°Ñ\80амеÑ\82Ñ\80 должен быть включён в любой предварительный запрос и таким образом должен быть частью URI-запроса (не тела POST).\n\nДля аутентифицированных запросов он должен точно соответствовать одному из источников в заголовке <code>Origin</code>, так что он должен быть задан наподобие <kbd>https://ru.wikipedia.org</kbd> или <kbd>https://meta.wikimedia.org</kbd>. Если параметр не соответствует заголовку <code>Origin</code>, будет возвращён ответ с кодом ошибки 403. Если параметр соответствует заголовку <code>Origin</code>, и источник находится в белом списке, будут установлены заголовки <code>Access-Control-Allow-Origin</code> и <code>Access-Control-Allow-Credentials</code>.\n\nДля неаутентифицированных запросов укажите значение <kbd>*</kbd>. В результате заголовок <code>Access-Control-Allow-Origin</code> будет установлен, но <code>Access-Control-Allow-Credentials</code> примет значение <code>false</code> и все пользовательские данные будут ограничены.",
        "apihelp-main-param-uselang": "Язык, используемый для перевода сообщений. Запрос <kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd> с <kbd>siprop=languages</kbd> возвращает список кодов языков; укажите <kbd>user</kbd>, чтобы использовать текущие языковые настройки участника, или <kbd>content</kbd> для использования основного языка этой вики.",
        "apihelp-main-param-errorformat": "Формат, используемый для вывода текста предупреждений и ошибок.\n; plaintext: Вики-текст с удалёнными HTML-тегами и замещёнными мнемониками.\n; wikitext: Нераспарсенный вики-текст.\n; html: HTML.\n; raw: Ключ сообщения и параметры.\n; none: Без текстового вывода, только коды ошибок.\n; bc: Формат, используемый до MediaWiki 1.29. <var>errorlang</var> и <var>errorsuselocal</var> игнорируются.",
        "apihelp-main-param-errorlang": "Язык, используемый для вывода предупреждений и сообщений об ошибках. Запрос <kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd> с <kbd>siprop=languages</kbd> возвращает список кодов языков; укажите <kbd>content</kbd> для использования основного языка этой вики, или <kbd>uselang</kbd> для использования того же значения, что и в параметре <var>uselang</var>.",
        "apihelp-block-summary": "Блокировка участника.",
        "apihelp-block-param-user": "Имя участника, IP-адрес или диапазон IP-адресов, которые вы хотите заблокировать. Нельзя использовать вместе с <var>$1userid</var>",
        "apihelp-block-param-userid": "Идентификатор блокируемого участника. Нельзя использовать одновременно с <var>$1user</var>.",
-       "apihelp-block-param-expiry": "Время истечения срока действия. Может быть относительными (например, <kbd>5 months</kbd> или <kbd>2 weeks</kbd>) или абсолютными (например, <kbd>2014-09-18T12:34:56Z</kbd>). Если задано <kbd>infinite</kbd>, <kbd>indefinite</kbd>, или <kbd>never</kbd>, блок никогда не истечёт.",
+       "apihelp-block-param-expiry": "Время истечения срока действия. Может быть относительным (например, <kbd>5 months</kbd> или <kbd>2 weeks</kbd>) или абсолютным (например, <kbd>2014-09-18T12:34:56Z</kbd>). Если задано <kbd>infinite</kbd>, <kbd>indefinite</kbd> или <kbd>never</kbd>, блокировка никогда не истечёт.",
        "apihelp-block-param-reason": "Причина блокировки.",
        "apihelp-block-param-anononly": "Заблокировать только анонимных участников (т. е. запретить анонимные правки для этого IP-адреса).",
        "apihelp-block-param-nocreate": "Запретить создание учётных записей.",
        "apihelp-block-param-autoblock": "Автоматически блокировать последний использованный IP-адрес и все последующие, с которых будут совершаться попытки авторизации.",
        "apihelp-block-param-noemail": "Запретить участнику отправлять электронную почту через интерфейс вики. (Требуется право <code>blockemail</code>).",
        "apihelp-block-param-hidename": "Скрыть имя участника из журнала блокировок. (Требуется право <code>hideuser</code>).",
-       "apihelp-block-param-allowusertalk": "Ð\9fозволÑ\8fеÑ\82 Ñ\83Ñ\87аÑ\81Ñ\82никам Ñ\80едакÑ\82иÑ\80оваÑ\82Ñ\8c Ð¸Ñ\85 Ñ\81обÑ\81Ñ\82веннÑ\8bе Ñ\81Ñ\82Ñ\80аниÑ\86Ñ\8b обсуждения (зависит от <var>[[mw:Special:MyLanguage/Manual:$wgBlockAllowsUTEdit|$wgBlockAllowsUTEdit]]</var>).",
+       "apihelp-block-param-allowusertalk": "РазÑ\80еÑ\88иÑ\82Ñ\8c Ñ\83Ñ\87аÑ\81Ñ\82никÑ\83 Ñ\80едакÑ\82иÑ\80оваÑ\82Ñ\8c Ñ\81воÑ\8e Ñ\81Ñ\82Ñ\80аниÑ\86Ñ\83 обсуждения (зависит от <var>[[mw:Special:MyLanguage/Manual:$wgBlockAllowsUTEdit|$wgBlockAllowsUTEdit]]</var>).",
        "apihelp-block-param-reblock": "Если участник уже заблокирован, перезаписать существующую блокировку.",
-       "apihelp-block-param-watchuser": "Следить за страницей участника или IP-участника и страницей обсуждения.",
+       "apihelp-block-param-watchuser": "Следить за страницей участника и соответствующей страницей обсуждения, принадлежащей участнику или IP-адресу.",
        "apihelp-block-param-tags": "Изменить метки записи в журнале блокировок.",
-       "apihelp-block-example-ip-simple": "Заблокировать IP-адрес <kbd>192.0.2.5</kbd> на три дня с причиной <kbd>First strike</kbd>.",
+       "apihelp-block-example-ip-simple": "Заблокировать IP-адрес <kbd>192.0.2.5</kbd> на три дня по причине <kbd>First strike</kbd>.",
        "apihelp-block-example-user-complex": "Бессрочно заблокировать участника <kbd>Vandal</kbd> по причине <kbd>Vandalism</kbd> и предотвратить создание новых аккаунтов и отправку электронной почты.",
        "apihelp-changeauthenticationdata-summary": "Смена параметров аутентификации для текущего участника.",
        "apihelp-changeauthenticationdata-example-password": "Попытаться изменить текущий пароль участника на <kbd>ExamplePassword</kbd>.",
        "apihelp-clearhasmsg-example-1": "Очистить флаг <code>hasmsg</code> для текущего участника.",
        "apihelp-clientlogin-summary": "Вход в вики с помощью интерактивного потока.",
        "apihelp-clientlogin-example-login": "Начать вход в вики в качестве участника <kbd>Example</kbd> с паролем <kbd>ExamplePassword</kbd>.",
-       "apihelp-clientlogin-example-login2": "Продолжить вход после ответа <samp>UI</samp> для двухфакторной авторизации, предоставив <kbd>987654</kbd> в качестве токена <var>OATHToken</var>.",
+       "apihelp-clientlogin-example-login2": "Продолжить вход после ответа <samp>UI</samp> для двухфакторной аутентификации, предоставив <kbd>987654</kbd> в качестве токена <var>OATHToken</var>.",
        "apihelp-compare-summary": "Получение разницы между двумя страницами.",
        "apihelp-compare-extended-description": "Номер версии, заголовок страницы, её идентификатор, текст, или относительная сноска должна быть задана как для «from», так и для «to».",
        "apihelp-compare-param-fromtitle": "Заголовок первой сравниваемой страницы.",
        "apihelp-compare-param-fromid": "Идентификатор первой сравниваемой страницы.",
        "apihelp-compare-param-fromrev": "Первая сравниваемая версия.",
        "apihelp-compare-param-fromtext": "Используйте этот текст вместо содержимого версии, заданной <var>fromtitle</var>, <var>fromid</var> или <var>fromrev</var>.",
-       "apihelp-compare-param-fromsection": "Использовать только указанную секцию из содержимого 'from'.",
+       "apihelp-compare-param-fromsection": "Использовать только указанную секцию из содержимого «from».",
        "apihelp-compare-param-frompst": "Выполнить преобразование перед записью правки (PST) над <var>fromtext</var>.",
        "apihelp-compare-param-fromcontentmodel": "Модель содержимого <var>fromtext</var>. Если не задана, будет угадана по другим параметрам.",
        "apihelp-compare-param-fromcontentformat": "Формат сериализации содержимого <var>fromtext</var>.",
        "apihelp-compare-param-totitle": "Заголовок второй сравниваемой страницы.",
        "apihelp-compare-param-toid": "Идентификатор второй сравниваемой страницы.",
        "apihelp-compare-param-torev": "Вторая сравниваемая версия.",
-       "apihelp-compare-param-torelative": "Использовать версию, относящуюся к определённой<var>fromtitle</var>, <var>fromid</var> или <var>fromrev</var> Все другие опции 'to' будут проигнорированы.",
+       "apihelp-compare-param-torelative": "Использовать версию, относящуюся к определённой <var>fromtitle</var>, <var>fromid</var> или <var>fromrev</var>. Все другие опции 'to' будут проигнорированы.",
        "apihelp-compare-param-totext": "Используйте этот текст вместо содержимого версии, заданной <var>totitle</var>, <var>toid</var> или <var>torev</var>.",
-       "apihelp-compare-param-tosection": "Использовать только указанную секцию из содержимого 'to'.",
+       "apihelp-compare-param-tosection": "Использовать только указанную секцию из содержимого «to».",
        "apihelp-compare-param-topst": "Выполнить преобразование перед записью правки (PST) над <var>totext</var>.",
        "apihelp-compare-param-tocontentmodel": "Модель содержимого <var>totext</var>. Если не задана, будет угадана по другим параметрам.",
        "apihelp-compare-param-tocontentformat": "Формат сериализации содержимого <var>totext</var>.",
        "apihelp-compare-param-prop": "Какую информацию получить.",
-       "apihelp-compare-paramvalue-prop-diff": "HTML разницы.",
-       "apihelp-compare-paramvalue-prop-diffsize": "Размер HTML разницы в байтах.",
-       "apihelp-compare-paramvalue-prop-rel": "Идентификаторы предыдущей к 'from' и следующей за 'to' версий.",
-       "apihelp-compare-paramvalue-prop-ids": "Идентификаторы страниц и версий 'from' и 'to'.",
-       "apihelp-compare-paramvalue-prop-title": "Названия страниц для версий 'from' и 'to'.",
-       "apihelp-compare-paramvalue-prop-user": "Имя и идентификатор участника для версий 'from' и 'to'.",
-       "apihelp-compare-paramvalue-prop-comment": "Описания правок для версий 'from' и 'to'.",
-       "apihelp-compare-paramvalue-prop-parsedcomment": "Распарсенные описания правок для версий 'from' и 'to'.",
-       "apihelp-compare-paramvalue-prop-size": "Размер версий 'from' и 'to'.",
+       "apihelp-compare-paramvalue-prop-diff": "HTML-код разницы.",
+       "apihelp-compare-paramvalue-prop-diffsize": "Размер HTML-кода разницы в байтах.",
+       "apihelp-compare-paramvalue-prop-rel": "Идентификаторы предыдущей к «from» и следующей за «to» версий.",
+       "apihelp-compare-paramvalue-prop-ids": "Идентификаторы страниц и версий «from» и «to».",
+       "apihelp-compare-paramvalue-prop-title": "Названия страниц для версий «from» и «to».",
+       "apihelp-compare-paramvalue-prop-user": "Имя и идентификатор участника для версий «from» и «to».",
+       "apihelp-compare-paramvalue-prop-comment": "Описания правок для версий «from» и «to».",
+       "apihelp-compare-paramvalue-prop-parsedcomment": "Распарсенные описания правок для версий «from» и «to».",
+       "apihelp-compare-paramvalue-prop-size": "Размер версий «from» и «to».",
        "apihelp-compare-example-1": "Создать разницу между версиями 1 и 2.",
        "apihelp-createaccount-summary": "Создание новой учётной записи.",
        "apihelp-createaccount-param-preservestate": "Если запрос <kbd>[[Special:ApiHelp/query+authmanagerinfo|action=query&meta=authmanagerinfo]]</kbd> возвращает true для <samp>hasprimarypreservedstate</samp>, то запросы, отмеченные как <samp>primary-required</samp>, должны быть пропущены. Если запрос возвращает непустое значение поля <samp>preservedusername</samp>, то это значение должно быть использовано в параметре <samp>username</var>.",
        "apihelp-createaccount-example-mail": "Создать участника <kbd>testmailuser</kbd> и прислать на электронную почту случайно сгенерированный пароль.",
        "apihelp-cspreport-summary": "Используется браузерами, чтобы сообщать о нарушениях политики безопасности (CSP). Этот модуль никогда не должен использоваться, за исключением случаев автоматического использования совместимыми с CSP браузерами.",
        "apihelp-cspreport-param-reportonly": "Отметить как доклад от политики мониторинга, не от принудительной политики",
-       "apihelp-cspreport-param-source": "Что сгенерировало заголовок SCP, вызвавший этот доклад",
+       "apihelp-cspreport-param-source": "Что сгенерировало заголовок CSP, вызвавший этот доклад",
        "apihelp-delete-summary": "Удаление страницы.",
        "apihelp-delete-param-title": "Заголовок удаляемой страницы. Нельзя использовать одновременно с <var>$1pageid</var>.",
        "apihelp-delete-param-pageid": "Идентификатор удаляемой страницы. Нельзя использовать одновременно с <var>$1title</var>.",
        "apihelp-delete-param-unwatch": "Удалить страницу из списка наблюдения текущего участника.",
        "apihelp-delete-param-oldimage": "Название старого удаляемого изображения, предоставляемое [[Special:ApiHelp/query+imageinfo|action=query&prop=imageinfo&iiprop=archivename]].",
        "apihelp-delete-example-simple": "Удалить <kbd>Main Page</kbd>.",
-       "apihelp-delete-example-reason": "Удалить <kbd>Main Page</kbd> с причиной <kbd>Preparing for move</kbd>.",
-       "apihelp-disabled-summary": "Этот модуль был отключен.",
+       "apihelp-delete-example-reason": "Удалить <kbd>Main Page</kbd> по причине <kbd>Preparing for move</kbd>.",
+       "apihelp-disabled-summary": "Этот модуль был отключён.",
        "apihelp-edit-summary": "Создание и редактирование страниц.",
        "apihelp-edit-param-title": "Название редактируемой страницы. Нельзя использовать одновременно с <var>$1pageid</var>.",
        "apihelp-edit-param-pageid": "Идентификатор редактируемой страницы. Нельзя использовать одновременно с <var>$1title</var>.",
        "apihelp-edit-param-minor": "Малая правка.",
        "apihelp-edit-param-notminor": "Не малая правка.",
        "apihelp-edit-param-bot": "Пометить правку как сделанную ботом.",
-       "apihelp-edit-param-basetimestamp": "Ð\92Ñ\80еменнаÑ\8f Ð¼ÐµÑ\82ка редактируемой версии, используется для обнаружения конфликтов редактирования. Может быть получена посредством [[Special:ApiHelp/query+revisions|action=query&prop=revisions&rvprop=timestamp]].",
+       "apihelp-edit-param-basetimestamp": "Ð\9cеÑ\82ка Ð²Ñ\80емени редактируемой версии, используется для обнаружения конфликтов редактирования. Может быть получена посредством [[Special:ApiHelp/query+revisions|action=query&prop=revisions&rvprop=timestamp]].",
        "apihelp-edit-param-starttimestamp": "Метка времени начала редактирования, используется для обнаружения конфликтов редактирования. Необходимое значение может быть получено с помощью <var>[[Special:ApiHelp/main|curtimestamp]]</var> в начале редактирования (то есть, после загрузки содержимого редактируемой страницы).",
        "apihelp-edit-param-recreate": "Игнорировать предупреждение о том, что страница была удалена во время редактирования.",
        "apihelp-edit-param-createonly": "Не редактировать страницу, если она уже существует.",
        "apihelp-edit-param-watch": "Добавить страницу в список наблюдения текущего участника.",
        "apihelp-edit-param-unwatch": "Удалить страницу из списка наблюдения текущего участника.",
        "apihelp-edit-param-watchlist": "Безусловно добавить или удалить страницу из списка наблюдения текущего участника, использовать настройки или не менять наблюдение.",
-       "apihelp-edit-param-md5": "MD5-хеш параметра $1text, или конкатенации параметров $1prependtext и $1apendtext. Если задан, правка не будет выполнена, если хеш некорректен.",
+       "apihelp-edit-param-md5": "MD5-хеш параметра $1text, или конкатенации параметров $1prependtext и $1apendtext. Если задан, правка не будет выполнена при несовпадении хеша.",
        "apihelp-edit-param-prependtext": "Добавить этот текст в начало страницы. Переопределяет $1text.",
        "apihelp-edit-param-appendtext": "Добавить этот текст в конец страницы. Переопределяет $text.\n\nДля создания нового раздела, используйте $1section=new, а не этот параметр.",
        "apihelp-edit-param-undo": "Отменить это изменение. Переопределяет $text, $1prependtext и $1appendtext.",
        "apihelp-expandtemplates-paramvalue-prop-volatile": "Является ли вывод нестабильным и следует ли отказаться от его повторного использования где-либо на странице.",
        "apihelp-expandtemplates-paramvalue-prop-ttl": "Максимальное время, по прошествии которого кэш результата должен быть признан недействительным.",
        "apihelp-expandtemplates-paramvalue-prop-modules": "Любые модули ResourceLoader, запрашиваемые функциями парсера на добавление в результат. Одновременно с <kbd>modules</kbd> должен быть запрошен либо <kbd>jsconfigvars</kbd>, либо <kbd>encodedjsconfigvars</kbd>.",
-       "apihelp-expandtemplates-paramvalue-prop-jsconfigvars": "Возвращает переменные JavaScript с данными настроек для этой страницы",
-       "apihelp-expandtemplates-paramvalue-prop-encodedjsconfigvars": "Возвращает переменные JavaScript с данными настроек для этой страницы в виде JSON-строки.",
-       "apihelp-expandtemplates-paramvalue-prop-parsetree": "Дерево парсинга XML входных данных.",
+       "apihelp-expandtemplates-paramvalue-prop-jsconfigvars": "Возвращает переменные конфигурации JavaScript, свойственные именно этой странице.",
+       "apihelp-expandtemplates-paramvalue-prop-encodedjsconfigvars": "Возвращает переменные конфигурации JavaScript, свойственные именно этой странице, в виде JSON-строки.",
+       "apihelp-expandtemplates-paramvalue-prop-parsetree": "Дерево синтаксического разбора XML входных данных.",
        "apihelp-expandtemplates-param-includecomments": "Нужно ли включать комментарии HTML в результат.",
-       "apihelp-expandtemplates-param-generatexml": "Создать дерево парсинга XML (заменено $1prop=parsetree).",
+       "apihelp-expandtemplates-param-generatexml": "Создать дерево синтаксического разбора XML (заменено $1prop=parsetree).",
        "apihelp-expandtemplates-example-simple": "Развернуть вики-текст <kbd><nowiki>{{Project:Sandbox}}</nowiki></kbd>.",
        "apihelp-feedcontributions-summary": "Возвращает ленту с вкладом участников.",
        "apihelp-feedcontributions-param-feedformat": "Формат ленты.",
        "apihelp-feedrecentchanges-param-associated": "Включить связанное (обсуждения или основное) пространство имён.",
        "apihelp-feedrecentchanges-param-days": "Сколькими днями ограничить результат.",
        "apihelp-feedrecentchanges-param-limit": "Максимальное число возвращаемых результатов.",
-       "apihelp-feedrecentchanges-param-from": "Показать изменения с тех пор.",
+       "apihelp-feedrecentchanges-param-from": "Показать изменения, сделанные после этого момента.",
        "apihelp-feedrecentchanges-param-hideminor": "Скрыть малые правки.",
        "apihelp-feedrecentchanges-param-hidebots": "Скрыть правки ботов.",
        "apihelp-feedrecentchanges-param-hideanons": "Скрыть правки анонимных участников.",
        "apihelp-imagerotate-example-simple": "Повернуть <kbd>File:Example.png</kbd> на <kbd>90</kbd> градусов.",
        "apihelp-imagerotate-example-generator": "Повернуть все изображения в <kbd>Category:Flip</kbd> на <kbd>180</kbd> градусов.",
        "apihelp-import-summary": "Импорт страницы из другой вики или XML-файла.",
-       "apihelp-import-extended-description": "Обратите внимание, что HTTP POST-запрос должен быть осуществлён как загрузка файла (то есть, с использованием многотомных данных) при отправки файла через параметр <var>xml</var>.",
+       "apihelp-import-extended-description": "Обратите внимание, что HTTP POST-запрос должен быть осуществлён как загрузка файла (то есть с использованием многотомных данных <code>multipart/form-data</code>) при отправке файла через параметр <var>xml</var>.",
        "apihelp-import-param-summary": "Описание записи журнала импорта.",
        "apihelp-import-param-xml": "Загруженный XML-файл.",
        "apihelp-import-param-interwikiprefix": "Для загруженных импортов: префикс интервики для неизвестных имён участников (а также известных, если задан <var>$1assignknownusers</var>).",
        "apihelp-import-param-templates": "Для импорта из других вики: также импортировать все включённые шаблоны.",
        "apihelp-import-param-namespace": "Импортировать в это пространство имён. Не может быть использовано одновременно с <var>$1rootpage</var>.",
        "apihelp-import-param-rootpage": "Импортировать в качестве подстраницы данной страницы. Не может быть использовано одновременно с <var>$1namespace</var>.",
-       "apihelp-import-param-tags": "Ð\98змениÑ\82Ñ\8c Ð¼ÐµÑ\82ки Ð·Ð°Ð¿Ð¸Ñ\81и Ð² Ð¶Ñ\83Ñ\80нале Ð¸Ð¼Ð¿Ð¾Ñ\80Ñ\82а Ð¸ нулевой правки в импортируемых страницах.",
+       "apihelp-import-param-tags": "Ð\9cеÑ\82ки, ÐºÐ¾Ñ\82оÑ\80Ñ\8bе Ñ\81ледÑ\83еÑ\82 Ñ\83казаÑ\82Ñ\8c Ñ\83 Ð·Ð°Ð¿Ð¸Ñ\81и Ð² Ð¶Ñ\83Ñ\80нале Ð¸Ð¼Ð¿Ð¾Ñ\80Ñ\82а Ð¸ Ñ\83 нулевой правки в импортируемых страницах.",
        "apihelp-import-example-import": "Импортировать [[meta:Help:ParserFunctions]] с полной историей правок в пространство имён 100.",
        "apihelp-linkaccount-summary": "Связать аккаунт третьей стороны с текущим участником.",
        "apihelp-linkaccount-example-link": "Начать связывание аккаунта с <kbd>Example</kdb>.",
        "apihelp-login-param-domain": "Домен (необязательно).",
        "apihelp-login-param-token": "Токен входа, полученный при первом запросе.",
        "apihelp-login-example-gettoken": "Получить токен входа.",
-       "apihelp-login-example-login": "Войти",
+       "apihelp-login-example-login": "Войти.",
        "apihelp-logout-summary": "Выйти и очистить данные сессии.",
-       "apihelp-logout-example-logout": "Ð\92Ñ\8bйÑ\82и Ð¸Ð· Ñ\82екÑ\83Ñ\89его Ñ\83Ñ\87аÑ\81Ñ\82ника.",
+       "apihelp-logout-example-logout": "Ð\92Ñ\8bйÑ\82и Ð¸Ð· Ñ\82екÑ\83Ñ\89ей Ñ\83Ñ\87Ñ\91Ñ\82ной Ð·Ð°Ð¿Ð¸Ñ\81и.",
        "apihelp-managetags-summary": "Осуществление задач, связанных с изменением меток.",
        "apihelp-managetags-param-operation": "Какую операцию выполнить:\n;create: Создать новую метку для ручного использования.\n;delete: Удалить метку из базы данных, что включает в себя удаление метки со всех версий и записей журналов, где она использовалось.\n;activate: Активировать изменение метки, позволив участникам устанавливать её вручную.\n;deactivate: Деактивировать изменение метки, запретив участникам устанавливать её вручную.",
        "apihelp-managetags-param-tag": "Создаваемая, удаляемая, активируемая или деактивируемая метка. Создаваемая метка должна не существовать. Удаляемая метка должна существовать. Активируемая метка должна существовать и не быть использованной в каком-либо расширении. Деактивируемая метка должна существовать и быть заданной вручную.",
        "api-help-parameters": "Параметр{{PLURAL:$1||ы}}:",
        "api-help-param-deprecated": "Устарело.",
        "api-help-param-required": "Это обязательный параметр.",
+       "api-help-param-templated": "Это [[Special:ApiHelp/main#main/templatedparams|шаблонный параметр]]. При отправке запроса $2.",
+       "api-help-param-templated-var-first": "<var>&#x7B;$1&#x7D;</var> в названии параметра должно быть заменено значениями <var>$2</var>",
+       "api-help-param-templated-var": "<var>&#x7B;$1&#x7D;</var> — значениями <var>$2</var>",
        "api-help-datatypes-header": "Типы данных",
        "api-help-datatypes": "Ввод в MediaWiki должен быть NFC-нормализованным UTF-8. MediaWiki может попытаться преобразовать другой ввод, но это приведёт к провалу некоторых операций (таких, как [[Special:ApiHelp/edit|редактирование]] со сверкой MD5).\n\nНекоторые типы параметров в запросах API требуют дополнительных пояснений:\n;логический\n:Логические параметры работают как флажки (checkboxes) в HTML: если параметр задан, независимо от его значения, он воспринимается за истину. Для передачи ложного значения просто опустите параметр.\n;временные метки\n:Временные метки могут быть заданы в нескольких форматах. Рекомендуемым является дата и время ISO 8601. Всё время считается в UTC, любые включённые часовые пояса игнорируются.\n:* Дата и время ISO 8601: <kbd><var>2001</var>-<var>01</var>-<var>15</var>T<var>14</var>:<var>56</var>:<var>00</var>Z</kbd> (знаки препинания и <kbd>Z</kbd> необязательны)\n:* Дата и время ISO 8601 с (игнорируемой) дробной частью секунд: <kbd><var>2001</var>-<var>01</var>-<var>15</var>T<var>14</var>:<var>56</var>:<var>00</var>.<var>00001</var>Z</kbd> (дефисы, двоеточия и <kbd>Z</kbd> необязательны)\n:* Формат MediaWiki: <kbd><var>2001</var><var>01</var><var>15</var><var>14</var><var>56</var><var>00</var></kbd>\n:* Общий числовой формат: <kbd><var>2001</var>-<var>01</var>-<var>15</var> <var>14</var>:<var>56</var>:<var>00</var></kbd> (необязательный часовой пояс <kbd>GMT</kbd>, <kbd>+<var>##</var></kbd> или <kbd>-<var>##</var></kbd> игнорируется)\n:* Формат EXIF: <kbd><var>2001</var>:<var>01</var>:<var>15</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:* Формат RFC 2822 (часовой пояс может быть опущен): <kbd><var>Mon</var>, <var>15</var> <var>Jan</var> <var>2001</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:* Формат RFC 850 (часовой пояс может быть опущен): <kbd><var>Monday</var>, <var>15</var>-<var>Jan</var>-<var>2001</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:* Формат ctime языка программирования C: <kbd><var>Mon</var> <var>Jan</var> <var>15</var> <var>14</var>:<var>56</var>:<var>00</var> <var>2001</var></kbd>\n:* Количество секунд, прошедших с 1970-01-01T00:00:00Z, в виде челого числа с от 1 до 13 знаками (исключая <kbd>0</kbd>)\n:* Строка <kbd>now</kbd>\n;альтернативный разделитель значений\n:Параметры, принимающие несколько значений, обычно отправляются со значениями, разделёнными с помощью символа пайпа, например, <kbd>param=value1|value2</kbd> или <kbd>param=value1%7Cvalue2</kbd>. Если значение должно содержать символ пайпа, используйте U+001F (Unit Separator) в качестве разделителя ''и'' добавьте в начало значения U+001F, например, <kbd>param=%1Fvalue1%1Fvalue2</kbd>.",
+       "api-help-templatedparams-header": "Шаблонные параметры",
+       "api-help-templatedparams": "Шаблонные параметры используются в случаях, когда модулю API нужно получить по параметру со значением на каждое значение другого параметра. Например, если бы был модуль API, запрашивающий фрукты, у него мог бы быть параметр <var>фрукты</var>, указывающий, какие фрукты запрашиваются, и шаблонный параметр <var>{фрукт}-в-количестве</var>, указывающий, сколько фруктов каждого вида запросить. Клиент API, который хочет запросить 1 яблоко, 5 бананов и 20 апельсинов, мог бы тогда сделать запрос наподобие <kbd>фрукты=яблоки|бананы|апельсины&яблоки-в-количестве=1&бананы-в-количестве=5&апельсины-в-количестве=20</kbd>.",
        "api-help-param-type-limit": "Тип: целое число или <kbd>max</kbd>",
        "api-help-param-type-integer": "Тип: {{PLURAL:$1|1=целое число|2=список целых чисел}}",
        "api-help-param-type-boolean": "Тип: логический ([[Special:ApiHelp/main#main/datatypes|подробнее]])",
        "apierror-templateexpansion-notwikitext": "Раскрытие шаблонов разрешено только для вики-текстового содержимого. $1 использует модель содержимого $2.",
        "apierror-timeout": "Сервер не ответил за ожидаемое время.",
        "apierror-toofewexpiries": "Задано $1 {{PLURAL:$1|временная метка|временные метки|временных меток}} истечения, необходимо $2.",
+       "apierror-toomanyvalues": "Слишком много значений передано параметру <var>$1</var>. Максимальное число — $2.",
        "apierror-unknownaction": "Заданное действие, <kbd>$1</kbd>, не распознано.",
        "apierror-unknownerror-editpage": "Неизвестная ошибка EditPage: $1.",
        "apierror-unknownerror-nocode": "Неизвестная ошибка.",
        "apiwarn-difftohidden": "Невозможно сравнить с r$1: содержимое скрыто.",
        "apiwarn-errorprinterfailed": "Сборщик ошибок упал. Будет совершена повторная попытка без параметров.",
        "apiwarn-errorprinterfailed-ex": "Сборщик ошибок упал (будет совершена повторная попытка без параметров): $1",
+       "apiwarn-ignoring-invalid-templated-value": "При обработке шаблонных параметров значение <kbd>$2</kbd> параметра <var>$1</var> проигнорировано.",
        "apiwarn-invalidcategory": "«$1» не является категорией.",
        "apiwarn-invalidtitle": "«$1» не является некорректным заголовком.",
        "apiwarn-invalidxmlstylesheetext": "Таблицы стилей должны иметь расширение <code>.xsl</code>.",
        "apiwarn-redirectsandrevids": "Раскрытие перенаправлений не может быть использовано вместе с параметром <var>revids</var>. Все перенаправления на точку <var>revids</var> не должны быть раскрыты.",
        "apiwarn-tokennotallowed": "Действие «$1» не разрешено для текущего участника.",
        "apiwarn-tokens-origin": "Токены не могут быть получены, пока не применено правило ограничения домена.",
-       "apiwarn-toomanyvalues": "Слишком много значений передано параметру <var>$1</var>. Максимальное число — $2.",
        "apiwarn-truncatedresult": "Результат был усечён, поскольку в противном случае он был бы больше лимита в $1 {{PLURAL:$1|байт|байта|байт}}.",
        "apiwarn-unclearnowtimestamp": "Передача «$2» в качестве параметра временной метки <var>$1</var> устарело. Если по какой-то причине вы хотите прямо указать текущее время без вычисления его на стороне клиента, используйте <kbd>now</kbd>.",
        "apiwarn-unrecognizedvalues": "{{PLURAL:$3|Нераспознанное значение|Нераспознанные значения}} параметра <var>$1</var>: $2.",
index bc0b365..1d2e22a 100644 (file)
        "apierror-templateexpansion-notwikitext": "Розширення шаблонів підтримується лише для вмісту у форматі вікірозмітки. $1 використовує контентну модель $2.",
        "apierror-timeout": "Сервер не відповів протягом відведеного на це часу.",
        "apierror-toofewexpiries": "$1 {{PLURAL:$1|мітка часу завершення була надана|мітки часу завершення були надані|міток часу завершення було надано}}, тоді як {{PLURAL:$2|потрібна була $2 така мітка|потрібні були $2 таких мітки|потрібно було $2 таких міток}}.",
+       "apierror-toomanyvalues": "Надто багато значень задано для параметра <var>$1</var>. Ліміт становить $2.",
        "apierror-unknownaction": "Вказана дія, <kbd>$1</kbd>, нерозпізнана.",
        "apierror-unknownerror-editpage": "Невідома помилка EditPage: $1.",
        "apierror-unknownerror-nocode": "Невідома помилка.",
        "apiwarn-redirectsandrevids": "Вирішення перенаправлень не може використовуватись разом з параметром <var>revids</var>. Усі перенаправлення, на які вказує <var>revids</var>, не було вирішено.",
        "apiwarn-tokennotallowed": "Дія «$1» недозволена для поточного користувача.",
        "apiwarn-tokens-origin": "Токени не можна отримати, поки не застосована політика одного походження.",
-       "apiwarn-toomanyvalues": "Надто багато значень задано для параметра <var>$1</var>. Ліміт становить $2.",
        "apiwarn-truncatedresult": "Цей результат було скорочено, оскільки інакше він перевищив би ліміт у $1 байтів.",
        "apiwarn-unclearnowtimestamp": "Вказування «$2» для параметра мітки часу <var>$1</var> є застарілим. Якщо з якоїсь причини Вам треба чітко вказати поточний час без вираховування його з боку клієнта, використайте <kbd>now</kbd>.",
        "apiwarn-unrecognizedvalues": "{{PLURAL:$3|Нерозпізнане|Нерозпізнані}} значення для параметра <var>$1</var>: $2.",
index f335890..a58888b 100644 (file)
        "apierror-templateexpansion-notwikitext": "模板展开只支持wiki文本内容。$1使用内容模型$2。",
        "apierror-timeout": "服务器没有在预期时间内响应。",
        "apierror-toofewexpiries": "提供了$1个逾期{{PLURAL:$1|时间戳}},实际则需要$2个。",
+       "apierror-toomanyvalues": "为参数<var>$1</var>提供了太多值。限制为$2。",
        "apierror-unknownaction": "指定的操作<kbd>$1</kbd>不被承认。",
        "apierror-unknownerror-editpage": "未知的编辑页面错误:$1。",
        "apierror-unknownerror-nocode": "未知错误。",
        "apiwarn-redirectsandrevids": "重定向解决方案不能与<var>revids</var>参数一起使用。任何<var>revids</var>所指向的重定向都未被解决。",
        "apiwarn-tokennotallowed": "操作“$1”不允许当前用户使用。",
        "apiwarn-tokens-origin": "在未应用同来源方针时,令牌可能无法获得。",
-       "apiwarn-toomanyvalues": "参数<var>$1</var>指定了太多的值。上限为$2。",
        "apiwarn-truncatedresult": "此结果被缩短,否则其将大于$1字节的限制。",
        "apiwarn-unclearnowtimestamp": "为时间戳参数<var>$1</var>传递“$2”已被弃用。如因某些原因您需要明确指定当前时间而不计算客户端,请使用<kbd>now</kbd>。",
        "apiwarn-unrecognizedvalues": "参数<var>$1</var>有无法识别的{{PLURAL:$3|值}}:$2。",
index 8ce21f5..e8c3a99 100644 (file)
@@ -279,7 +279,8 @@ class RCCacheEntryFactory {
                } else {
                        $userLink = Linker::userLink(
                                $cacheEntry->mAttribs['rc_user'],
-                               $cacheEntry->mAttribs['rc_user_text']
+                               $cacheEntry->mAttribs['rc_user_text'],
+                               ExternalUserNames::getLocal( $cacheEntry->mAttribs['rc_user_text'] )
                        );
                }
 
index 30cae5a..f52dcae 100644 (file)
@@ -63,8 +63,6 @@ abstract class Collation {
                                return new CollationCkb;
                        case 'xx-uca-et':
                                return new CollationEt;
-                       case 'xx-uca-fa':
-                               return new CollationFa;
                        case 'uppercase-ab':
                                return new AbkhazUppercaseCollation;
                        case 'uppercase-ba':
diff --git a/includes/collation/CollationFa.php b/includes/collation/CollationFa.php
deleted file mode 100644 (file)
index 7410886..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-/**
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- * @file
- */
-
-/**
- * Temporary workaround for incorrect collation of Persian language ('fa') in ICU 52 (bug T139110).
- *
- * Replace with other letters that appear in an okish spot in the alphabet
- *
- *  - Characters 'و' 'ا' (often appear at the beginning of words)
- *  - Characters 'ٲ' 'ٳ' (may appear at the beginning of words in loanwords)
- *
- * @since 1.29
- */
-class CollationFa extends IcuCollation {
-
-       // Really hacky - replace with stuff from other blocks.
-       private $override = [
-               // U+0627 ARABIC LETTER ALEF => U+0623 ARABIC LETTER ALEF WITH HAMZA ABOVE
-               "\xd8\xa7" => "\xd8\xa3",
-               // U+0648 ARABIC LETTER WAW => U+0649 ARABIC LETTER ALEF MAKSURA
-               "\xd9\x88" => "\xd9\x89",
-               // U+0672 ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE => U+F3001 (private use area)
-               "\xd9\xb2" => "\xF3\xB3\x80\x81",
-               // U+0673 ARABIC LETTER ALEF WITH WAVY HAMZA BELOW => U+F3002 (private use area)
-               "\xd9\xb3" => "\xF3\xB3\x80\x82",
-       ];
-
-       public function __construct() {
-               parent::__construct( 'fa' );
-       }
-
-       public function getSortKey( $string ) {
-               $modified = strtr( $string, $this->override );
-               return parent::getSortKey( $modified );
-       }
-
-       public function getFirstLetter( $string ) {
-               if ( isset( $this->override[substr( $string, 0, 2 )] ) ) {
-                       return substr( $string, 0, 2 );
-               }
-               return parent::getFirstLetter( $string );
-       }
-}
index 9b35cad..308bef6 100644 (file)
@@ -40,7 +40,7 @@ use UtfNormal\Validator;
  *
  * All functions can be called static.
  *
- * See description of forms at http://www.unicode.org/reports/tr15/
+ * See description of forms at https://www.unicode.org/reports/tr15/
  *
  * @deprecated since 1.25, use UtfNormal\Validator directly
  * @ingroup UtfNormal
index ff6cfff..043e0f6 100644 (file)
@@ -50,6 +50,9 @@ use Wikimedia\ObjectFactory;
  *                             if 'class' is not specified, this is used as a map
  *                             through HTMLForm::$typeMappings to get the class name.
  *    'default'             -- default value when the form is displayed
+ *    'nodata'              -- if set (to any value, which casts to true), the data
+ *                             for this field will not be loaded from the actual request. Instead,
+ *                             always the default data is set as the value of this field.
  *    'id'                  -- HTML id attribute
  *    'cssclass'            -- CSS class
  *    'csshelpclass'        -- CSS class used to style help text
@@ -1604,9 +1607,10 @@ class HTMLForm extends ContextSource {
         * @param string $legend Legend text for the fieldset
         * @param string $section The section content in plain Html
         * @param array $attributes Additional attributes for the fieldset
+        * @param bool $isRoot Section is at the root of the tree
         * @return string The fieldset's Html
         */
-       protected function wrapFieldSetSection( $legend, $section, $attributes ) {
+       protected function wrapFieldSetSection( $legend, $section, $attributes, $isRoot ) {
                return Xml::fieldset( $legend, $section, $attributes ) . "\n";
        }
 
@@ -1689,7 +1693,9 @@ class HTMLForm extends ContextSource {
                                        if ( $fieldsetIDPrefix ) {
                                                $attributes['id'] = Sanitizer::escapeIdForAttribute( "$fieldsetIDPrefix$key" );
                                        }
-                                       $subsectionHtml .= $this->wrapFieldSetSection( $legend, $section, $attributes );
+                                       $subsectionHtml .= $this->wrapFieldSetSection(
+                                               $legend, $section, $attributes, $fields === $this->mFieldTree
+                                       );
                                } else {
                                        // Just return the inputs, nothing fancy.
                                        $subsectionHtml .= $section;
index ba36888..49cbdee 100644 (file)
@@ -145,7 +145,7 @@ class OOUIHTMLForm extends HTMLForm {
                        [ 'class' => 'mw-htmlform-submit-buttons' ], "\n$buttons" ) . "\n";
        }
 
-       protected function wrapFieldSetSection( $legend, $section, $attributes ) {
+       protected function wrapFieldSetSection( $legend, $section, $attributes, $isRoot ) {
                // to get a user visible effect, wrap the fieldset into a framed panel layout
                $layout = new OOUI\PanelLayout( [
                        'expanded' => false,
index 6eff6c9..c0005c5 100644 (file)
@@ -33,7 +33,7 @@ class Http {
         * @param string $method HTTP method. Usually GET/POST
         * @param string $url Full URL to act on. If protocol-relative, will be expanded to an http:// URL
         * @param array $options Options to pass to MWHttpRequest object.
-        *      Possible keys for the array:
+        *      Possible keys for the array:
         *    - timeout             Timeout length in seconds
         *    - connectTimeout      Timeout for connection, in seconds (curl only)
         *    - postData            An array of key-value pairs or a url-encoded form data
index 80f9b68..c5413b3 100644 (file)
@@ -45,8 +45,8 @@ class HttpRequestFactory {
                if ( !Http::$httpEngine ) {
                        Http::$httpEngine = function_exists( 'curl_init' ) ? 'curl' : 'php';
                } elseif ( Http::$httpEngine == 'curl' && !function_exists( 'curl_init' ) ) {
-                       throw new DomainException( __METHOD__ . ': curl (http://php.net/curl) is not installed, but' .
-                          ' Http::$httpEngine is set to "curl"' );
+                       throw new DomainException( __METHOD__ . ': curl (https://secure.php.net/curl) is not ' .
+                          'installed, but Http::$httpEngine is set to "curl"' );
                }
 
                if ( !isset( $options['logger'] ) ) {
@@ -61,7 +61,7 @@ class HttpRequestFactory {
                                        throw new DomainException( __METHOD__ . ': allow_url_fopen ' .
                                           'needs to be enabled for pure PHP http requests to ' .
                                           'work. If possible, curl should be used instead. See ' .
-                                          'http://php.net/curl.'
+                                          'https://secure.php.net/curl.'
                                        );
                                }
                                return new PhpHttpRequest( $url, $options, $caller, Profiler::instance() );
index 911e5d2..93da2c3 100644 (file)
@@ -1137,7 +1137,7 @@ abstract class Installer {
                /**
                 * This needs to be updated something that the latest libicu
                 * will properly normalize.  This normalization was found at
-                * http://www.unicode.org/versions/Unicode5.2.0/#Character_Additions
+                * https://www.unicode.org/versions/Unicode5.2.0/#Character_Additions
                 * Note that we use the hex representation to create the code
                 * points in order to avoid any Unicode-destroying during transit.
                 */
index cc48e2f..44b4e30 100644 (file)
@@ -135,6 +135,7 @@ class MssqlUpdater extends DatabaseUpdater {
                        [ 'modifyfield', 'externallinks', 'el_index_60',
                                'patch-externallinks-el_index_60-drop-default.sql' ],
                        [ 'runMaintenance', DeduplicateArchiveRevId::class, 'maintenance/deduplicateArchiveRevId.php' ],
+                       [ 'addField', 'change_tag', 'ct_tag_id', 'patch-change_tag-tag_id.sql' ],
                ];
        }
 
index 9365e98..d70edea 100644 (file)
@@ -355,6 +355,7 @@ class MysqlUpdater extends DatabaseUpdater {
                        [ 'modifyfield', 'externallinks', 'el_index_60',
                                'patch-externallinks-el_index_60-drop-default.sql' ],
                        [ 'runMaintenance', DeduplicateArchiveRevId::class, 'maintenance/deduplicateArchiveRevId.php' ],
+                       [ 'addField', 'change_tag', 'ct_tag_id', 'patch-change_tag-tag_id.sql' ],
                ];
        }
 
index 34d81a7..965187a 100644 (file)
@@ -152,6 +152,7 @@ class OracleUpdater extends DatabaseUpdater {
                        [ 'addTable', 'change_tag_def', 'patch-change_tag_def.sql' ],
                        [ 'populateExternallinksIndex60' ],
                        [ 'runMaintenance', DeduplicateArchiveRevId::class, 'maintenance/deduplicateArchiveRevId.php' ],
+                       [ 'addField', 'change_tag', 'ct_tag_id', 'patch-change_tag-tag_id.sql' ],
 
                        // KEEP THIS AT THE BOTTOM!!
                        [ 'doRebuildDuplicateFunction' ],
index 6263edb..49419ea 100644 (file)
@@ -575,6 +575,13 @@ class PostgresUpdater extends DatabaseUpdater {
                        [ 'populateExternallinksIndex60' ],
                        [ 'dropDefault', 'externallinks', 'el_index_60' ],
                        [ 'runMaintenance', DeduplicateArchiveRevId::class, 'maintenance/deduplicateArchiveRevId.php' ],
+                       [ 'addPgField', 'change_tag', 'ct_tag_id', 'INTEGER NULL' ],
+                       [
+                               'addPgIndex',
+                               'change_tag',
+                               'change_tag_tag_id_id',
+                               '( ct_tag_id, ct_rc_id, ct_rev_id, ct_log_id )'
+                       ],
                ];
        }
 
index 961cb84..2b27d37 100644 (file)
@@ -219,6 +219,7 @@ class SqliteUpdater extends DatabaseUpdater {
                        [ 'modifyfield', 'externallinks', 'el_index_60',
                                'patch-externallinks-el_index_60-drop-default.sql' ],
                        [ 'runMaintenance', DeduplicateArchiveRevId::class, 'maintenance/deduplicateArchiveRevId.php' ],
+                       [ 'addField', 'change_tag', 'ct_tag_id', 'patch-change_tag-tag_id.sql' ],
                ];
        }
 
index bce07d3..846be6c 100644 (file)
@@ -108,7 +108,6 @@ class WebInstallerLanguage extends WebInstallerPage {
                $unwantedLanguageCodes = $wgExtraLanguageCodes +
                        LanguageCode::getDeprecatedCodeMapping();
                $languages = Language::fetchLanguageNames();
-               ksort( $languages );
                foreach ( $languages as $code => $lang ) {
                        if ( isset( $unwantedLanguageCodes[$code] ) ) {
                                continue;
index 81a107d..50c88ae 100644 (file)
@@ -76,7 +76,7 @@ class WebInstallerName extends WebInstallerPage {
                        $this->parent->getTextBox( [
                                'var' => 'wgMetaNamespace',
                                'label' => '', // @todo Needs a label?
-                               'attribs' => [ 'readonly' => 'readonly', 'class' => 'enabledByOther' ]
+                               'attribs' => [ 'class' => 'enabledByOther' ]
                        ] ) .
                        $this->getFieldsetStart( 'config-admin-box' ) .
                        $this->parent->getTextBox( [
index 9d7d0af..dfac82e 100644 (file)
        "config-env-bad": "جرى التحقق من البيئة. لا يمكنك تنصيب ميدياويكي.",
        "config-env-php": "بي إتش بي $1 مثبت.",
        "config-env-hhvm": "نصبت HHVM $1.",
+       "config-unicode-using-intl": "باستخدام [https://pecl.php.net/intl امتداد intl PECL] لتسوية يونيكود.",
        "config-outdated-sqlite": "<strong>تحذير:</strong> لديك SQLite $1, which وهو أقل من الحد الأدنى المطلوب للنسخة $2. SQLite سوف يكون غير متوفر.",
-       "config-apc": "تثبيت [http://www.php.net/apc APC]",
-       "config-apcu": "تثبيت [http://www.php.net/apcu APCu]",
-       "config-wincache": "تثبيت [https://www.iis.net/download/WinCacheForPhp WinCache]",
+       "config-apc": "تثبيت [https://secure.php.net/apc APC]",
+       "config-apcu": "تثبيت [https://secure.php.net/apcu APCu]",
+       "config-wincache": "تثبيت [https://www.iis.net/downloads/microsoft/wincache-extension WinCache]",
        "config-diff3-bad": "جنو diff3 غير موجود.",
+       "config-git": "العثور على برنامج التحكم في إصدار جت <code>$1</code>.",
+       "config-git-bad": "برنامج التحكم في إصدار جت غير موجود.",
        "config-imagemagick": "تم العثور على ImageMagick: <code>$1</code>.\nسيتم تمكين تصغير الصور إذا قمت بتمكين التحميل.",
+       "config-gd": "وُجِدت مكتبة الرسومات GD المدمجة،\nسيتم تمكين الصورة المصغرة للصورة إذا قمت بتمكين المرفوعات.",
        "config-no-scaling": "لا يمكن أن تجد مكتبة GD أو ImageMagick; سيتم تعطيل تصغير الصور.",
        "config-no-uri": "<strong>خطأ:</strong>  لا يمكن أن تحدد URI الحالي.تم  إحباط التثبيت.",
+       "config-no-cli-uri": "<strong>تحذير:</strong> لم يتم تحديد <code>--scriptpath</code>، باستخدام الافتراضي: <code>$1</code>.",
        "config-using-server": "باستخدام اسم الخادم \"<nowiki>$1</nowiki\".",
        "config-using-uri": "باستخدام URL الخادم \"<nowiki>$1$2</nowiki>\".",
+       "config-using-32bit": "<strong>تحذير:</strong> يبدو أن نظامك يعمل مع الأعداد الصحيحة 32 بت، هذا [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:32-bit لا يُنصَح به].",
        "config-db-type": "نوع قاعدة البيانات:",
        "config-db-host": "مضيف قاعدة البيانات:",
        "config-db-host-oracle": "قاعدة بيانات TNS:",
        "config-header-mssql": "إعدادات خادم Microsoft SQL",
        "config-invalid-db-type": "نوع قاعدة بيانات غير صحيح",
        "config-missing-db-name": "يجب عليك إدخال قيمة ل\"{{int:config-db-name}}\".",
+       "config-missing-db-host": "يجب إدخال قيمة لـ\"{{int:config-db-host}}\".",
        "config-missing-db-server-oracle": "يجب عليك إدخال قيمة ل\"{{int:config-db-host-oracle}}\".",
        "config-connection-error": "$1.\nتحقق من المضيف، واسم المستخدم وكلمة المرور وحاول مرة أخرى.",
        "config-db-sys-create-oracle": "المثبت يعتمد باستخدام حساب SYSDBA فقط لإنشاء حساب جديد.",
        "config-postgres-old": "PostgreSQL $1 أو لاحق مطلوب. لديك $2.",
        "config-mssql-old": "خادم Microsoft SQL $1 أو لاحق مطلوب. لديك $2.",
        "config-sqlite-mkdir-error": "خطأ في إنشاء دليل البيانات \"$1\". تحقق من الموقع وحاول مرة أخرى.",
+       "config-sqlite-dir-unwritable": "غير قادر على الكتابة إلى الدليل \"$1\";\nغيِّر أذوناته حتى يتمكن خادم الويب من الكتابة إليه، وحاول مرة أخرى.",
        "config-sqlite-connection-error": "$1.\nتحقق من اسم دليل البيانات وقواعد البيانات أدناه وحاول مرة أخرى.",
        "config-sqlite-readonly": "الملف <code>$1</code> غير قابل للكتابة.",
        "config-sqlite-cant-create-db": "لا يمكن إنشاء ملف قاعدة البيانات <code>$1</code>.",
+       "config-sqlite-fts3-downgrade": "PHP يفتقد دعم FTS3، تخفيض الجداول.",
        "config-can-upgrade": "هناك جداول ميدياويكي في قاعدة البيانات هذه. للارتقاء بها إلى ميدياويكي $1; انقر على <strong>متابعة</strong>.",
+       "config-upgrade-done-no-regenerate": "اكتملت الترقية;\n\nيمكنك الآن [$1 بدء استخدام الويكي الخاص بك].",
        "config-regenerate": "إعادة تكوين LocalSettings.php ←",
        "config-show-table-status": "<code> إظهار جدول الحالة </code> فشل الاستعلام!",
        "config-unknown-collation": "<strong>تحذير:</strong> قاعدة بيانات يستخدم ترتيبا غير معروف.",
        "config-mssql-sqlauth": "مصادقة خادم SQL",
        "config-mssql-windowsauth": "مصادقة ويندوز",
        "config-site-name": "اسم الويكي:",
+       "config-site-name-help": "سيظهر هذا في شريط عنوان المتصفح وفي أماكن أخرى مختلفة.",
        "config-site-name-blank": "أدخل اسم موقع.",
        "config-project-namespace": "نطاق المشروع:",
        "config-ns-generic": "المشروع",
        "config-license-cc-choose": "اختر ترخيص مشاع إبداعي مخصص",
        "config-email-settings": "إعدادات البريد الإلكتروني",
        "config-enable-email": "تمكين البريد الإلكتروني الصادرة",
-       "config-enable-email-help": "إذا كنت تريد إرسال بريد إلكتروني إلى العمل، [http://www.php.net/manual/en/mail.configuration.php إعدات بريد PHP's] تحتاج لأن يتم تكوينها بشكل صحيح. إذا كنت لا تريد أيا من ميزات البريد الإلكتروني، يمكنك تعطيلها هنا.",
+       "config-enable-email-help": "إذا كنت تريد إرسال بريد إلكتروني إلى العمل، [Config-dbsupport-oracle/manual/en/mail.configuration.php إعدات بريد PHP's] تحتاج لأن يتم تكوينها بشكل صحيح. إذا كنت لا تريد أيا من ميزات البريد الإلكتروني، يمكنك تعطيلها هنا.",
        "config-email-user": "تفعيل البريد الإلكتروني من المستخدم إلى مستخدم آخر",
        "config-email-user-help": "يتيح لكل المستخدمين إرسال رسائل بريد إلكتروني إلى بعضهم البعض إذا فعَّلوا هذا الخيار في تفضيلاتهم.",
        "config-email-usertalk": "فعل إخطارات صفحات نقاش المستخدمين",
        "config-upload-settings": "الصور وتحميل الملفات",
        "config-upload-enable": "تمكين تحميل الملفات",
        "config-upload-deleted": "المجلد للملفات المحذوفة:",
+       "config-upload-deleted-help": "اختر دليلا لأرشفة الملفات المحذوفة،\nمن الناحية المثالية، لا يمكن الوصول إلى هذا من الويب.",
        "config-logo": "مسار الشعار:",
        "config-instantcommons": "تمكين الاستخدام الفوري لويكيميديا كومنز InstantCommons",
        "config-cc-error": "لم يعطِ منتقي رخصة المشاع الإبداعي أية نتيجة; أدخل اسم الترخيص يدويا.",
        "config-advanced-settings": "ضبط متقدم",
        "config-cache-options": "إعدادات التخزين المؤقت الكائن:",
        "config-cache-none": "لا يوجد تخزين مؤقت (هذا لا يزيل أية وظيفة، لكن قد تتأثر السرعة على مواقع الويكي الكبيرة)",
-       "config-cache-accel": "كائن التخزين المؤقت PHP (APC أو APCu أو  XCache أو WinCache)",
+       "config-cache-accel": "كائن التخزين المؤقت PHP (APC أو APCu أو  XCache أو XCache أو WinCache)",
        "config-cache-memcached": "استخدم Memcached (يتطلب إعدادت إضافية)",
        "config-memcached-servers": "خوادم Memcached:",
+       "config-memcached-help": "قائمة عناوين الآيبي لاستخدامها في Memcached،\nيجب تحديد واحد لكل سطر وتحديد المنفذ المراد استخدامه. على سبيل المثال:\n 127.0.0.1:11211\n 192.168.1.25:1234",
+       "config-memcache-needservers": "لقد حددت Memcached كنوع ذاكرة تخزين مؤقت ولكن لم تحدد أية خوادم.",
+       "config-memcache-badip": "لقد أدخلت عنوان آيبي غير صالح لـMemcached: $1.",
+       "config-memcache-noport": "لم تحدد منفذا لاستخدامه في خادم Memcached: $1،\nإذا كنت لا تعرف المنفذ، يكون الافتراضي هو 11211.",
+       "config-memcache-badport": "يجب أن تتراوح أرقام منافذ الذاكرة بين $1 و$2.",
        "config-extensions": "امتدادات",
        "config-extensions-help": "تم الكشف عن الملحقات المذكورة أعلاه في دليل <code>./ملحقاتك</code>، ويمكن أن يتطلب تكوينا إضافيا، ولكن يمكنك تمكينها الآن.",
        "config-skins": "الواجهات",
+       "config-skins-help": "تم اكتشاف المظاهر المدرجة أعلاه في دليل <code>./skins</code>، يجب عليك تمكين واحد على الأقل، واختيار الافتراضي.",
        "config-skins-use-as-default": "استخدم هذه الواجهة كافتراضية",
+       "config-skins-missing": "لم يتم العثور على مظاهر; سيستخدم ميدياويكي مظهرا متراجعا حتى تقوم بتركيب بعض المناسب منها.",
+       "config-skins-must-enable-some": "يجب عليك اختيار واحد على الأقل من المظاهر للتمكين.",
+       "config-skins-must-enable-default": "يجب تمكين المظهر المختار كإعداد افتراضي.",
        "config-install-alreadydone": "<strong>تحذير:</strong> يبدو أنك قد قمت بالفعل بتثبيت ميدياويكي وتحاول تثبيته مرة أخرى. الرجاء التوجه إلى الصفحة التالية.",
        "config-install-begin": "عن طريق الضغط على \"{{int:config-continue}}\"، سوف تبدأ تثبيت ميدياويكي. إذا كنت لا تزال ترغب في إجراء تغييرات، اضغط على \"{{int:config-back}}\".",
        "config-install-step-done": "تم بنجاح",
        "config-install-database": "إنشاء قاعدة البيانات",
        "config-install-schema": "إنشاء السكيما",
        "config-install-pg-schema-not-exist": "مخطط PostgreSQL غير موجود.",
+       "config-install-pg-schema-failed": "فشل إنشاء الجداول;\nتأكد من أن المستخدم \"$1\" يمكن أن يكتب إلى المخطط \"$2\".",
        "config-install-pg-commit": "تنفيذ التغييرات",
        "config-install-pg-plpgsql": "التحقق من لغة PL/pgSQL",
        "config-pg-no-plpgsql": "تحتاج إلى تثبيت لغة PL/pgSQL في قاعدة البيانات $1",
        "config-help-tooltip": "اضغط للتوسيع",
        "config-nofile": "لا يمكن العثور على الملف \"$1\". هل حُذف؟",
        "config-extension-link": "هل كنت تعلم أن الويكي الخاصة بك تدعم [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions الامتدادات]؟\n\nيمكنك تصفح [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category الامتدادات حسب التصنيف] أو [https://www.mediawiki.org/wiki/Extension_Matrix مصفوفة الامتدادت] لترى القائمة الكاملة للامتدادات.",
+       "config-skins-screenshots": "$1 (لقطات شاشة: $2)",
+       "config-extensions-requires": "$1 (يتطلب $2)",
        "config-screenshot": "لقطة شاشة",
        "mainpagetext": "<strong>تم تثبيت ميدياويكي بنجاح.</strong>",
-       "mainpagedocfooter": "استشر [https://meta.wikimedia.org/wiki/Help:Contents دليل المستخدم] لمعلومات حول استخدام برنامج الويكي.\n\n== البداية ==\n\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings قائمة إعدادات الضبط]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ أسئلة متكررة حول ميدياويكي]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce القائمة البريدية الخاصة بإصدار ميدياويكي]"
+       "mainpagedocfooter": "استشر [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents دليل المستخدم] لمعلومات حول استخدام برنامج الويكي.\n\n== البداية ==\n\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings قائمة إعدادات الضبط]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ أسئلة متكررة حول ميدياويكي]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce القائمة البريدية الخاصة بإصدار ميدياويكي]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam تعلم كيفية مكافحة السخام في الويكي الخاص بك]"
 }
index c449110..3e11263 100644 (file)
        "config-pcre-no-utf8": "<strong>Erru fatal:</strong> Paez que'l módulu PCRE de PHP foi compiláu ensin el soporte PCRE_UTF8.\nMediaWiki requier compatibilidá con UTF_8 pa furrular correutamente.",
        "config-memory-raised": "El parámetru <code>memory_limit</code> de PHP ye $1. Auméntase a $2.",
        "config-memory-bad": "<strong>Alvertencia:</strong>: el parámetru <code>memory_limit</code> de PHP ye $1.\nProbablemente sía demasiáu baxu.\n¡La instalación puede fallar!",
-       "config-apc": "[http://www.php.net/apc APC] ta instaláu",
-       "config-apcu": "[http://www.php.net/apcu APCu] ta instaláu",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] ta instaláu",
-       "config-no-cache-apcu": "<strong>Atención:</strong> Nun pudo alcontrase [http://www.php.net/apcu APCu] o [http://www.iis.net/download/WinCacheForPhp WinCache].\nLa caché d'oxetos nun ta activada.",
+       "config-apc": "[https://secure.php.net/apc APC] ta instaláu",
+       "config-apcu": "[https://secure.php.net/apcu APCu] ta instaláu",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] ta instaláu",
+       "config-no-cache-apcu": "<strong>Atención:</strong> Nun pudo alcontrase [https://secure.php.net/apcu APCu] o [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nLa caché d'oxetos nun ta activada.",
        "config-mod-security": "<strong>Alvertencia:</strong> El to servidor web tien activáu [https://modsecurity.org/mod_security]/mod_security2 .Munches de les sos configuraciones comunes pueden causar problemes a MediaWiki o otru software que dexe a los usuarios publicar conteníu arbitrario. De ser posible, tendríes de desactivalo. Si non, consulta la  [https://modsecurity.org/documentation/ mod_security documentation] o contacta col alministrador del to servidor si atopes erros aleatorios.",
        "config-diff3-bad": "Nun s'alcontró GNU diff3.",
        "config-git": "Alcontróse'l software de control de versiones Git: <code>$1</code>.",
        "config-type-mysql": "MySQL (o compatible)",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki ye compatible colos siguientes sistemes de bases de datos:\n\n$1\n\nSi nun atopes na llista el sistema de base de datos que tas intentando utilizar, sigue les instrucciones enllazaes enriba p'activar la compatibilidá.",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] ye un sistema comercial de base de datos empresariales pa Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Cómo compilar PHP con compatibilidá pa SQLSRV])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] ye un sistema comercial de base de datos empresariales pa Windows. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php Cómo compilar PHP con compatibilidá pa SQLSRV])",
        "config-header-mysql": "Configuración de MySQL",
        "config-header-postgres": "Configuración de PostgreSQL",
        "config-header-sqlite": "Configuración de SQLite",
        "config-license-cc-choose": "Escoyer una llicencia Creative Commons  personalizada",
        "config-email-settings": "Configuración de corréu electrónicu",
        "config-enable-email": "Activar el corréu electrónicu de salida",
-       "config-enable-email-help": "Si quies que'l corréu electrónicu funcione, les [http://www.php.net/manual/en/mail.configuration.php preferencies de corréu de PHP] tienen de tar configuraes correutamente.\nSi nun quies les funciones de corréu electrónicu, puedes desactivales equí.",
+       "config-enable-email-help": "Si quies que'l corréu electrónicu funcione, les [Config-dbsupport-oracle/manual/en/mail.configuration.php preferencies de corréu de PHP] tienen de tar configuraes correutamente.\nSi nun quies les funciones de corréu electrónicu, puedes desactivales equí.",
        "config-email-user": "Activar el corréu electrónicu ente usuarios",
        "config-logo": "URL del logo:",
        "config-instantcommons": "Activar Instant Commons",
index a9c2c7f..79c40ab 100644 (file)
@@ -67,9 +67,9 @@
        "config-pcre-no-utf8": "'''Фаталь хата'''. PHP өсөн PCRE модуле  PCRE_UTF8 менән яраҡлыштырылмаған.\nMediaWiki дөрөҫ эшләһен өсөн UTF-8 талап ителә.",
        "config-memory-raised": "Хәтер сикләнгән PHP  (<code>memory_limit</code>)  $1  $2 тиклем арттырылған.",
        "config-memory-bad": "'''Иғтибар:''' PHP күләме <code>memory_limit</code> $1 тәшкил итә.\nБәлки, был саманан тыш аҙҙыр. \nҠуйылыштың уңышһыҙлыҡҡа осрауы бар!",
-       "config-apc": "[http://www.php.net/apc APC] урынлаштырылды",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] урынлыштырылды",
-       "config-no-cache-apcu": "'''Иғтибар:'''  [http://www.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] табылманы йәки [http://www.iis.net/download/WinCacheForPhp WinCache].\nОбъекттарҙы кэшлау һүндереләсәк..",
+       "config-apc": "[https://secure.php.net/apc APC] урынлаштырылды",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] урынлыштырылды",
+       "config-no-cache-apcu": "'''Иғтибар:'''  [https://secure.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] табылманы йәки [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nОбъекттарҙы кэшлау һүндереләсәк..",
        "config-mod-security": "<strong>Иғтибар</strong>: һеҙҙең веб-серверығыҙҙа [https://modsecurity.org/ mod_security]/mod_security2 ҡабыҙылған. Уның күп кенә стандарт көйләүҙәре MediaWiki йәки бүтән ПО ҡулланыусыларға серверға ирекле контент ебәрегрә мөмкинлек буйынса проблемалар тыуҙырыуы мөмкин.\nКөтөлмәгән хаталарға тап булһағыҙ, ошонда [https://modsecurity.org/documentation/ документации mod_security]йәки үҙегеҙҙең хостинг-провайдерығыҙға мөрәжәғәт итегеҙ.",
        "config-diff3-bad": "GNU diff3 табылманы.",
        "config-git": "Git өлгөләрҙе контролләү системаһы табылды: <code>$1</code>.",
        "config-type-mysql": "MySQL (йәки тура килгән)",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki -ла түбәндәге СУБД бар:\n\n$1\n\nӘгәр мәғлүмәт һаҡлау системаһын исемлектә күрмәһәгеҙ, рөхсәт алыу өсөн өҫтәге һылтанмалағы инструкция буйынса эш итегеҙ.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] — MediaWiki-ҙың иҫ яҡшы эшләгән төп мәғлүмәттәр базаһы.  MediaWiki шулай уҡ MySQL-тап килгән [{{int:version-db-mariadb-url}} MariaDB] һәм [{{int:version-db-percona-url}} Percona Server] менән эшләй. ([http://www.php.net/manual/ru/mysql.installation.php MySQL-ярҙамында PHP туплау инструкцияһы])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] —  СУБД-ның популяр открыткаһы, MySQL өсөн альтернатива.\nТөҙәтелмәгән хаталар булыуы мөмкин, эш схемаһында ҡулланыу тәҡдим ителмәй. ([http://www.php.net/manual/ru/pgsql.installation.php  PostgreSQL рөхсәт ителгән РНР йыйыу инструкцияһы]).",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] — MediaWiki-ҙың иҫ яҡшы эшләгән төп мәғлүмәттәр базаһы.  MediaWiki шулай уҡ MySQL-тап килгән [{{int:version-db-mariadb-url}} MariaDB] һәм [{{int:version-db-percona-url}} Percona Server] менән эшләй. ([https://secure.php.net/manual/ru/mysql.installation.php MySQL-ярҙамында PHP туплау инструкцияһы])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] —  СУБД-ның популяр открыткаһы, MySQL өсөн альтернатива.\nТөҙәтелмәгән хаталар булыуы мөмкин, эш схемаһында ҡулланыу тәҡдим ителмәй. ([Config-dbsupport-oracle/manual/ru/pgsql.installation.php  PostgreSQL рөхсәт ителгән РНР йыйыу инструкцияһы]).",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] — яҡшы һәм еңел мәғлүмәт базаһы системаһы. ([http://www.php.net/manual/ru/pdo.installation.php  собрать PHP  SQLite]  PDO менән эшләй торған инструкция)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] — предприятие масштабындаға коммерция базыһы. ([http://www.php.net/manual/ru/oci8.installation.php OCI8 ярҙамындағы РНР нисек йыйырға])",
-       "config-dbsupport-mssql": "* [{{int:version-db-oracle-url}} Oracle] — предприятие масштабындаға Windows өсөн коммерция базыһы. ([http://www.php.net/manual/ru/oci8.installation.php OCI8 ярҙамындағы РНР нисек йыйырға])",
+       "config-dbsupport-mssql": "* [{{int:version-db-oracle-url}} Oracle] — предприятие масштабындаға Windows өсөн коммерция базыһы. ([Config-dbsupport-oracle/manual/ru/oci8.installation.php OCI8 ярҙамындағы РНР нисек йыйырға])",
        "config-header-mysql": "MySQL көйләү",
        "config-header-postgres": "PostgreSQL көйләү",
        "config-header-sqlite": "SQLite көйләү",
        "config-license-help": "Күпселек дөйөм ҡулланыуҙағы викиҙар үҙ материалдарын [https://freedomdefined.org/Definition/Ru ирекле лицензия] шарттарында файҙаланыуға рөхсәт бирә.\nБыл берҙәмлек тойғоһон булдыррыға ярҙам итә, ҡатнашыу ваҡытын оҙайтыуға дәртләндерә. Әммә шәхси йәки корпоратив викиҙар өсөн бындай ихтыяж юҡ. \n\nӘгәр һеҙ Википедия текстарын файҙаланырға йәки Википедияға үҙ викиғыҙҙан текстар күсереү мөмкинлеге булыуын теләһәгеҙ, \n<strong>{{int:config-license-cc-by-sa}}</strong> һайлағыҙ.\nВикипедия элек  GNU Free Documentation License лицензияһын файҙалана ине.\nGFDL файҙаланыла ала, әммә ул аңлау өсөн ҡатмарлы һәм материалдарҙы ҡабатлап ҡулланыуҙы ауырлаштыра.",
        "config-email-settings": "Электрон почта көйләүҙәре",
        "config-enable-email": "e-mail сығыусы почтаны рәхсәт итергә",
-       "config-enable-email-help": "Электрон почта эшләһен өсөн, [http://www.php.net/manual/ru/mail.configuration.php PHP көйләүҙәрен] башҡарырға кәрәк.\nӘгәр электрон почта мөмкинлектәре кәрәкмәһә, һүндерергә була.",
+       "config-enable-email-help": "Электрон почта эшләһен өсөн, [Config-dbsupport-oracle/manual/ru/mail.configuration.php PHP көйләүҙәрен] башҡарырға кәрәк.\nӘгәр электрон почта мөмкинлектәре кәрәкмәһә, һүндерергә була.",
        "config-email-user": "Ҡатнашыусынан ҡатнашыусыға почтаны рөхсәт итергә",
        "config-email-user-help": "Әгәр профилдә тейешле көйләү булһа, бөтә ҡатнашыусыларға электрон хат ебәрергә рөхсәт итергә.",
        "config-email-usertalk": "Ҡулланыусыларҙы уларҙың фекерләшеү битендәге хәбәрҙәр хаҡында белдереүҙәрҙе файҙаланыу",
index 19e1ea0..1f26359 100644 (file)
        "config-pcre-no-utf8": "'''Фатальная памылка''': модуль PCRE для PHP скампіляваны без падтрымкі PCRE_UTF8.\nMediaWiki патрабуе падтрымкі UTF-8 для слушнай працы.",
        "config-memory-raised": "Абмежаваньне на даступную для PHP памяць <code>memory_limit</code> было падвышанае з $1 да $2.",
        "config-memory-bad": "'''Папярэджаньне:''' памер PHP <code>memory_limit</code> складае $1.\nВерагодна, гэта вельмі мала.\nУсталяваньне можа быць няўдалым!",
-       "config-apc": "[http://www.php.net/apc APC] усталяваны",
-       "config-apcu": "[http://www.php.net/apcu APCu] ўсталяваны",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] усталяваны",
-       "config-no-cache-apcu": "<strong>Папярэджаньне:</strong> ня знойдзеныя [http://www.php.net/apcu APCu] ці [http://www.iis.net/download/WinCacheForPhp WinCache]. Кэшаваньне аб’ектаў адключанае.",
+       "config-apc": "[https://secure.php.net/apc APC] усталяваны",
+       "config-apcu": "[https://secure.php.net/apcu APCu] ўсталяваны",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] усталяваны",
+       "config-no-cache-apcu": "<strong>Папярэджаньне:</strong> ня знойдзеныя [https://secure.php.net/apcu APCu] ці [https://www.iis.net/downloads/microsoft/wincache-extension WinCache]. Кэшаваньне аб’ектаў адключанае.",
        "config-mod-security": "'''Папярэджаньне''': на Вашым ўэб-сэрверы ўключаны [https://modsecurity.org/ mod_security]. У выпадку няслушнай наладцы, ён можа стаць прычынай праблемаў для MediaWiki ці іншага праграмнага забесьпячэньня, якое дазваляе ўдзельнікам дасылаць на сэрвэр любы зьмест.\nГлядзіце [https://modsecurity.org/documentation/ дакумэнтацыю mod_security] ці зьвярніцеся ў падтрымку Вашага хосту, калі ў Вас узьнікаюць выпадковыя праблемы.",
        "config-diff3-bad": "GNU diff3 ня знойдзены.",
        "config-git": "Знойдзеная сыстэма канстролю вэрсіяў Git: <code>$1</code>",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki падтрымлівае наступныя сыстэмы базаў зьвестак:\n\n$1\n\nКалі Вы ня бачыце сыстэму базаў зьвестак, якую Вы спрабуеце выкарыстоўваць ў сьпісе ніжэй, перайдзіце па спасылцы інструкцыі, якая знаходзіцца ніжэй, каб уключыць падтрымку.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] зьяўляецца галоўнай мэтай MediaWiki і падтрымліваецца лепей за ўсё. MediaWiki таксама працуе з [{{int:version-db-mariadb-url}} MariaDB] і [{{int:version-db-percona-url}} Percona Server], якія сумяшчальныя з MySQL. ([http://www.php.net/manual/en/mysqli.installation.php Як скампіляваць PHP з падтрымкай MySQL])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] — папулярная сыстэма базы зьвестак з адкрытым кодам, якая зьяўляецца альтэрнатывай MySQL. ([http://www.php.net/manual/en/pgsql.installation.php Як кампіляваць PHP з падтрымкай PostgreSQL])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] зьяўляецца галоўнай мэтай MediaWiki і падтрымліваецца лепей за ўсё. MediaWiki таксама працуе з [{{int:version-db-mariadb-url}} MariaDB] і [{{int:version-db-percona-url}} Percona Server], якія сумяшчальныя з MySQL. ([https://secure.php.net/manual/en/mysqli.installation.php Як скампіляваць PHP з падтрымкай MySQL])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] — папулярная сыстэма базы зьвестак з адкрытым кодам, якая зьяўляецца альтэрнатывай MySQL. ([Config-dbsupport-oracle/manual/en/pgsql.installation.php Як кампіляваць PHP з падтрымкай PostgreSQL])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] — невялікая сыстэма базы зьвестак, якая мае вельмі добрую падтрымку. ([http://www.php.net/manual/en/pdo.installation.php Як кампіляваць PHP з падтрымкай SQLite], выкарыстоўвае PDO)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] зьяўляецца камэрцыйнай прафэсійнай базай зьвестак. ([http://www.php.net/manual/en/oci8.installation.php Як скампіляваць PHP з падтрымкай OCI8])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] — камэрцыйная база зьвестак для Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Як скампіляваць PHP з падтрымкай SQLSRV])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] — камэрцыйная база зьвестак для Windows. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php Як скампіляваць PHP з падтрымкай SQLSRV])",
        "config-header-mysql": "Налады MySQL",
        "config-header-postgres": "Налады PostgreSQL",
        "config-header-sqlite": "Налады SQLite",
        "config-license-help": "Шматлікія адкрытыя вікі публікуюць увесь унёсак у праект на ўмовах [https://freedomdefined.org/Definition вольнай ліцэнзіі].\nГэта дазваляе ствараць эфэкт супольнай уласнасьці і садзейнічае доўгатэрміноваму ўнёску.\nДля прыватных і карпаратыўных вікі гэта не зьяўляецца неабходнасьцю.\n\nКалі Вы жадаеце выкарыстоўваць тэкст зь Вікіпэдыі, і жадаеце, каб Вікіпэдыя магла прымаць тэксты, скапіяваныя з Вашай вікі, Вам неабходна выбраць ліцэнзію <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nРаней Вікіпэдыя выкарыстоўвала ліцэнзію GNU Free Documentation.\nЯна ўсё яшчэ дзейнічае, але яна ўтрымлівае некаторыя моманты, якія ўскладняюць паўторнае выкарыстаньне і інтэрпрэтацыю матэрыялаў.",
        "config-email-settings": "Налады электроннай пошты",
        "config-enable-email": "Дазволіць выходзячыя электронныя лісты",
-       "config-enable-email-help": "Калі Вы жадаеце, каб працавала электронная пошта, неабходна сканфігураваць PHP [http://www.php.net/manual/en/mail.configuration.php адпаведным чынам].\nКалі Вы не жадаеце выкарыстоўваць магчымасьці электроннай пошты, Вы можаце яе адключыць.",
+       "config-enable-email-help": "Калі Вы жадаеце, каб працавала электронная пошта, неабходна сканфігураваць PHP [Config-dbsupport-oracle/manual/en/mail.configuration.php адпаведным чынам].\nКалі Вы не жадаеце выкарыстоўваць магчымасьці электроннай пошты, Вы можаце яе адключыць.",
        "config-email-user": "Дазволіць электронную пошту для сувязі паміж удзельнікамі",
        "config-email-user-help": "Дазволіць усім удзельнікам дасылаць адзін аднаму электронныя лісты, калі ўключаная адпаведная магчымасьць ў іх наладах.",
        "config-email-usertalk": "Уключыць абвяшчэньні пра паведамленьні на старонцы абмеркаваньня",
index 44c673b..5c9bfd7 100644 (file)
        "config-pcre-no-utf8": "'''Фатално''': Модулът PCRE на PHP изглежда е компилиран без поддръжка на PCRE_UTF8.\nЗа да функционира правилно, МедияУики изисква поддръжка на UTF-8.",
        "config-memory-raised": "<code>memory_limit</code> на PHP е $1, увеличаване до $2.",
        "config-memory-bad": "<strong>Внимание:</strong> <code>memory_limit</code> на PHP е $1.\nСтойността вероятно е твърде ниска.\nВъзможно е инсталацията да се провали!",
-       "config-apc": "[http://www.php.net/apc APC] е инсталиран",
-       "config-apcu": "[http://www.php.net/apc APC] е инсталиран",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] е инсталиран",
-       "config-no-cache-apcu": "<strong>Внимание:</strong> [http://www.php.net/apcu APCu] и [http://www.iis.net/download/WinCacheForPhp WinCache] не могат да бъдат открити.\nКеширането на обекти не е активирано.",
+       "config-apc": "[https://secure.php.net/apc APC] е инсталиран",
+       "config-apcu": "[https://secure.php.net/apc APC] е инсталиран",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] е инсталиран",
+       "config-no-cache-apcu": "<strong>Внимание:</strong> [https://secure.php.net/apcu APCu] и [https://www.iis.net/downloads/microsoft/wincache-extension WinCache] не могат да бъдат открити.\nКеширането на обекти не е активирано.",
        "config-mod-security": "<strong>Предупреждение:</strong> [https://modsecurity.org/ mod_security]/mod_security2 е включено на вашия уеб сървър. Много от обичайните му конфигурации пораждат проблеми с МедияУики и друг софтуер, който позволява публикуване на произволно съдържание.\nАко е възможно, моля изключете го. В противен случай се обърнете към [https://modsecurity.org/documentation/ документацията на mod_security] или се свържете с поддръжката на хостинга си, ако се сблъскате със случайни грешки.",
        "config-diff3-bad": "GNU diff3 не беше намерен.",
        "config-git": "Налична е системата за контрол на версиите Git: <code>$1</code>.",
        "config-type-mysql": "MySQL (или съвместима)",
        "config-type-mssql": "Microsoft SQL сървър",
        "config-support-info": "МедияУики поддържа следните системи за бази от данни:\n\n$1\n\nАко не виждате желаната за използване система в списъка по-долу, следвайте инструкциите за активиране на поддръжка по-горе.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] е най-важна за МедияУики и се поддържа най-добре. МедияУики работи също така с [{{int:version-db-mariadb-url}} MariaDB] и [{{int:version-db-percona-url}} Percona Server], които са съвместими с MySQL.\n([http://www.php.net/manual/bg/mysqli.installation.php Как се компилира PHP с поддръжка на MySQL])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] е популярна система за управление на бази от данни, алтернатива на MySQL. ([http://www.php.net/manual/bg/pgsql.installation.php Как се компилира PHP с поддръжка на PostgreSQL])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] е най-важна за МедияУики и се поддържа най-добре. МедияУики работи също така с [{{int:version-db-mariadb-url}} MariaDB] и [{{int:version-db-percona-url}} Percona Server], които са съвместими с MySQL.\n([https://secure.php.net/manual/bg/mysqli.installation.php Как се компилира PHP с поддръжка на MySQL])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] е популярна система за управление на бази от данни, алтернатива на MySQL. ([https://secure.php.net/manual/bg/pgsql.installation.php Как се компилира PHP с поддръжка на PostgreSQL])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] е олекотена система за бази от данни, която е много добре поддържана. ([http://www.php.net/manual/bg/pdo.installation.php Как се компилира PHP с поддръжка на SQLite], използва PDO)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] е комерсиална корпоративна база от данни. ([http://www.php.net/manual/en/oci8.installation.php Как се компилира PHP с поддръжка на OCI8])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] е комерсиална корпоративна база от данни за Windows. ([http://www.php.net/manual/bg/sqlsrv.installation.php Как да се компилира PHP с поддръжка на SQLSRV])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] е комерсиална корпоративна база от данни за Windows. ([Config-dbsupport-oracle/manual/bg/sqlsrv.installation.php Как да се компилира PHP с поддръжка на SQLSRV])",
        "config-header-mysql": "Настройки за MySQL",
        "config-header-postgres": "Настройки за PostgreSQL",
        "config-header-sqlite": "Настройки за SQLite",
        "config-license-help": "Много публични уикита поставят всички приноси под [https://freedomdefined.org/Definition/Bg свободен лиценз].\nТова помага за създаването на усещане за общност и насърчава дългосрочните приноси. \nТова не е необходимо като цяло за частно или корпоративно уики.\n\nАко искате да използвате текстове от Уикипедия, и искате Уикипедия да може да приема текстове, копирани от вашето уики, трябва да изберете лиценз <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nЛицензът за свободна документация на GNU е старият лиценз на съдържанието на Уикипедия.\nТой все още е валиден лиценз, но някои негови условия са трудни за разбиране и правят по-сложни повторното използване и интерпретацията.",
        "config-email-settings": "Настройки за е-поща",
        "config-enable-email": "Разрешаване на изходящи е-писма",
-       "config-enable-email-help": "За да работят възможностите за използване на е-поща, необходимо е [http://www.php.net/manual/en/mail.configuration.php настройките за поща на PHP] да бъдат конфигурирани правилно.\nАко няма да се използват услугите за е-поща в уикито, те могат да бъдат изключени тук.",
+       "config-enable-email-help": "За да работят възможностите за използване на е-поща, необходимо е [Config-dbsupport-oracle/manual/en/mail.configuration.php настройките за поща на PHP] да бъдат конфигурирани правилно.\nАко няма да се използват услугите за е-поща в уикито, те могат да бъдат изключени тук.",
        "config-email-user": "Позволяване на потребителите да си изпращат е-писма през уикито",
        "config-email-user-help": "Позволяване на потребителите да си изпращат е-писма ако са разрешили това в настройките си.",
        "config-email-usertalk": "Оповестяване при промяна на потребителската беседа",
index 132a06d..b6bbebb 100644 (file)
@@ -44,8 +44,8 @@
        "config-env-php": "পিএইচপি $1 ইন্সটল করা হয়েছে।",
        "config-env-hhvm": "HHVM $1 ইনস্টল করা হয়েছে।",
        "config-memory-raised": "পিএইচপির <code>memory_limit</code> হচ্ছে $1, বৃদ্ধি পেয়ে $2 হয়েছে।",
-       "config-apc": "[http://www.php.net/apc এপিসি] ইনস্টল হয়েছে",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] ইনস্টল করা হয়েছে",
+       "config-apc": "[https://secure.php.net/apc এপিসি] ইনস্টল হয়েছে",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] ইনস্টল করা হয়েছে",
        "config-diff3-bad": "GNU diff3 পাওয়া যায়নি।",
        "config-git": "Git সংস্করণের নিয়ন্ত্রণ সফটওয়্যার পাওয়া গেছে: <code>$1</code>।",
        "config-git-bad": "Git সংস্করণের নিয়ন্ত্রণ সফটওয়্যার পাওয়া যায়নি।",
@@ -65,7 +65,7 @@
        "config-oracle-def-ts": "পূর্বনির্ধারিত টেবিলস্পেস",
        "config-oracle-temp-ts": "সাময়কি টেবিলস্পেস:",
        "config-type-mssql": "মাইক্রোসফট এসকিউএল সার্ভার",
-       "config-dbsupport-postgres": "* MySQL-এর বিকল্প হিসেবে [{{int:version-db-postgres-url}} PostgreSQL] হচ্ছে একটি জনপ্রিয় ওপেন সোর্স ডাটাবেস ব্যবস্থা। ([http://www.php.net/manual/en/pgsql.installation.php PostgreSQL সমর্থনসহ কিভাবে PHP সঙ্কলন করবেন])",
+       "config-dbsupport-postgres": "* MySQL-এর বিকল্প হিসেবে [{{int:version-db-postgres-url}} PostgreSQL] হচ্ছে একটি জনপ্রিয় ওপেন সোর্স ডাটাবেস ব্যবস্থা। ([Config-dbsupport-oracle/manual/en/pgsql.installation.php PostgreSQL সমর্থনসহ কিভাবে PHP সঙ্কলন করবেন])",
        "config-header-mysql": "মাইএসকিউএল সেটিংস",
        "config-header-postgres": "পোস্টগ্রেএসকিউএল সেটিংস",
        "config-header-sqlite": "এসকিউলাইট সেটিংস",
index f41ef23..58c4e1c 100644 (file)
        "config-pcre-no-utf8": "'''Fazi groñs ''': evit doare eo bet kempunet modulenn PCRE PHP hep ar skor PCRE_UTF8.\nEzhomm en deus MediaWiki eus UTF-8 evit mont plaen en-dro.",
        "config-memory-raised": "<code>memory_limit</code> ar PHP zo $1, kemmet e $2.",
        "config-memory-bad": "'''Diwallit :''' Da $1 emañ arventenn <code>memory_limit</code> PHP.\nRe izel eo moarvat.\nMarteze e c'hwito ar staliadenn !",
-       "config-apc": "Staliet eo [http://www.php.net/apc APC]",
-       "config-apcu": "Staliet eo [http://www.php.net/apcu APCu]",
-       "config-wincache": "Staliet eo [https://www.iis.net/download/WinCacheForPhp WinCache]",
-       "config-no-cache-apcu": "<strong>Taolit pled :</strong> N'eus ket bet gallet kavout [http://www.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] pe [http://www.iis.net/download/WinCacheForPhp WinCache].\nN'eo ket gweredekaet ar c'hrubuilhañ traezoù.",
+       "config-apc": "Staliet eo [https://secure.php.net/apc APC]",
+       "config-apcu": "Staliet eo [https://secure.php.net/apcu APCu]",
+       "config-wincache": "Staliet eo [https://www.iis.net/downloads/microsoft/wincache-extension WinCache]",
+       "config-no-cache-apcu": "<strong>Taolit pled :</strong> N'eus ket bet gallet kavout [https://secure.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] pe [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nN'eo ket gweredekaet ar c'hrubuilhañ traezoù.",
        "config-mod-security": "<strong>Taolit pled :</strong> Gweredekaet eo [https://modsecurity.org/ mod_security]/mod_security2 gant ho servijer web. Ma n'eo ket kfluniet mat e c'hall tegas trubuilhoù da MediaWiki ha meziantoù all a aotre implijerien da ouzhpennañ danvez evel ma karont.\nE kement ha m'eo posupl e tlefe bezañ diweredekaet. A-hend-all, sellit ouzh [https://modsecurity.org/documentation/ mod_security an teuliadur] pe kit e darempred gant skoazell ho herberc'hier m'en em gavit gant fazioù dargouezhek.",
        "config-diff3-bad": "N'eo ket bet kavet GNU diff3.",
        "config-git": "Kavet eo bet ar meziant kontrolliñ adstummoù Git : <code>$1</code>.",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "Skoret eo ar reizhiadoù diaz titouroù da-heul gant MediaWiki :\n\n$1\n\nMa ne welit ket amañ dindan ar reizhiad diaz titouroù a fell deoc'h ober ganti, heuilhit an titouroù a-us (s.o. al liammoù) evit gweredekaat ar skorañ.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] eo an dibab kentañ evit MediaWiki hag an hini skoret ar gwellañ. Mont a ra MediaWiki en-dro gant [{{int:version-db-mariadb-url}} MariaDB] ha [{{int:version-db-percona-url}} Percona Server] ivez, kenglotus o-daou gant MySQL. ([http://www.php.net/manual/en/mysqli.installation.php Penaos kempunañ PHP gant skor MySQL])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] zo anezhi ur reizhiad diaz roadennoù frank a wirioù brudet-mat a c'haller ober gantañ e plas MySQL. ([http://www.php.net/manual/en/pgsql.installation.php Penaos kempunañ PHP gant skor PostgreSQL])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] eo an dibab kentañ evit MediaWiki hag an hini skoret ar gwellañ. Mont a ra MediaWiki en-dro gant [{{int:version-db-mariadb-url}} MariaDB] ha [{{int:version-db-percona-url}} Percona Server] ivez, kenglotus o-daou gant MySQL. ([https://secure.php.net/manual/en/mysqli.installation.php Penaos kempunañ PHP gant skor MySQL])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] zo anezhi ur reizhiad diaz roadennoù frank a wirioù brudet-mat a c'haller ober gantañ e plas MySQL. ([https://secure.php.net/manual/en/pgsql.installation.php Penaos kempunañ PHP gant skor PostgreSQL])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] zo anezhi ur reizhiad diaz roadennoù skañv skoret eus ar c'hentañ. ([http://www.php.net/manual/en/pdo.installation.php Penaos kempunañ PHP gant skor SQLite], implijout a ra PDO)",
        "config-dbsupport-oracle": "* Un embregerezh kenwerzhel diaz roadennoù eo [{{int:version-db-oracle-url}} Oracle]. ([http://www.php.net/manual/en/oci8.installation.php Penaos kempunañ PHP gant skor OCI8])",
-       "config-dbsupport-mssql": "* Un embregerezh kenwerzhel diaz roadennoù evit Windows eo [{{int:version-db-mssql-url}} Microsoft SQL Server]. ([http://www.php.net/manual/en/sqlsrv.installation.php Penaos kempunañ PHP gant skor SQLSRV])",
+       "config-dbsupport-mssql": "* Un embregerezh kenwerzhel diaz roadennoù evit Windows eo [{{int:version-db-mssql-url}} Microsoft SQL Server]. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php Penaos kempunañ PHP gant skor SQLSRV])",
        "config-header-mysql": "Arventennoù MySQL",
        "config-header-postgres": "Arventennoù PostgreSQL",
        "config-header-sqlite": "Arventennoù SQLite",
        "config-license-cc-choose": "Dibabit un aotre-implijout Creative Commons personelaet",
        "config-email-settings": "Arventennoù ar postel",
        "config-enable-email": "Gweredekaat ar posteloù a ya kuit",
-       "config-enable-email-help": "Mar fell deoc'h ober gant ar posteler eo ret deoc'h [http://www.php.net/manual/en/mail.configuration.php kefluniañ arventennoù postel PHP] ervat.\nMar ne fell ket deoc'h ober gant ar servij posteloù e c'hall bezañ diweredekaet amañ.",
+       "config-enable-email-help": "Mar fell deoc'h ober gant ar posteler eo ret deoc'h [Config-dbsupport-oracle/manual/en/mail.configuration.php kefluniañ arventennoù postel PHP] ervat.\nMar ne fell ket deoc'h ober gant ar servij posteloù e c'hall bezañ diweredekaet amañ.",
        "config-email-user": "Gweredekaat ar posteloù a implijer da implijer",
        "config-email-user-help": "Aotren a ra an holl implijerien da gas posteloù an eil d'egile mard eo bet gweredekaet an arc'hwel ganto en ho penndibaboù.",
        "config-email-usertalk": "Gweredekaat kemennadur pajennoù kaozeal an implijerien",
index 07a0e2e..a70c981 100644 (file)
@@ -50,9 +50,9 @@
        "config-no-db": "Ne mogu pronaći pogodan upravljački program za bazu podataka! Morate ga instalirati za PHP-bazu.\n{{PLURAL:$2|Podržana je sljedeća vrsta|Podržane su sljedeće vrste}} baze podataka: $1.\n\nAko se sami kompajlirali PHP, omogućite klijent baze podataka u postavkama koristeći, naprimjer, <code>./configure --with-mysqli</code>.\nAko ste instalirali PHP iz paketa za Debian ili Ubuntu, onda također morate instalirati, naprimjer, paket <code>php5-mysql</code>.",
        "config-memory-raised": "<code>memory_limit</code> za PHP iznosi $1, povišen na $2.",
        "config-memory-bad": "<strong>Upozorenje:</strong> <code>memory_limit</code> za PHP iznosi $1.\nOvo je vjerovatno premalo.\nInstalacija možda neće uspjeti!",
-       "config-apc": "[http://www.php.net/apc APC] je instaliran",
-       "config-apcu": "[http://www.php.net/apcu APCu] je instaliran",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] je instaliran",
+       "config-apc": "[https://secure.php.net/apc APC] je instaliran",
+       "config-apcu": "[https://secure.php.net/apcu APCu] je instaliran",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] je instaliran",
        "config-diff3-bad": "GNU diff3 nije pronađen.",
        "config-git": "Pronađen je Git program za kontrolu verzija: <code>$1</code>.",
        "config-git-bad": "Nije pronađen Git program za kontrolu verzija.",
index 983c5c2..e03a737 100644 (file)
@@ -60,9 +60,9 @@
        "config-unicode-using-intl": "S'utilitza l'[https://pecl.php.net/intl extensió intl PECL] per a la normalització de l'Unicode.",
        "config-memory-raised": "El <code>memory_limit</code> del PHP és $1 i s'ha aixecat a $2.",
        "config-memory-bad": "<strong>Avís:</strong> El <code>memory_limit</code> del PHP és $1.\nAixò és probablement massa baix.\nLa instal·lació pot fallar!",
-       "config-apc": "L’[http://www.php.net/apc APC] està instal·lat",
-       "config-apcu": "[http://www.php.net/apcu APCu] està instal·lat",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] està instal·lat",
+       "config-apc": "L’[https://secure.php.net/apc APC] està instal·lat",
+       "config-apcu": "[https://secure.php.net/apcu APCu] està instal·lat",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] està instal·lat",
        "config-diff3-bad": "No s'ha trobat el GNU diff3.",
        "config-git": "S'ha trobat el programari de control de versions Git: <code>$1</code>.",
        "config-git-bad": "No s'ha trobat el programari de control de versions Git.",
index a53e470..33bce2f 100644 (file)
@@ -31,8 +31,8 @@
        "config-page-existingwiki": "ویکی پێشوو",
        "config-restart": "بەڵێ، دەستی پێ بکەرەوە",
        "config-env-php": "PHP $1 دامەزراوە.",
-       "config-apc": "[http://www.php.net/apc APC] دامەزراوە",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] دامەزراوە",
+       "config-apc": "[https://secure.php.net/apc APC] دامەزراوە",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] دامەزراوە",
        "config-db-type": "جۆری داتابەیس:",
        "config-db-host": "خانەخوێی داتابەیس:",
        "config-db-name": "ناوی بنکەدراوە:",
index 8ab7abe..fc61940 100644 (file)
        "config-pcre-no-utf8": "<strong>Kritická chyba:</strong> PHP modul PCRE byl zřejmě přeložen bez podpory PCRE_UTF8.\nMediaWiki vyžaduje ke správné funkci podporu UTF-8.",
        "config-memory-raised": "<code>memory_limit</code> v PHP byl nastaven na $1, zvýšen na $2.",
        "config-memory-bad": "<strong>Upozornění:</strong> <code>memory_limit</code> je v PHP nastaven na $1.\nTo je pravděpodobně příliš málo.\nInstalace může selhat!",
-       "config-apc": "Je nainstalováno [http://www.php.net/apc APC]",
-       "config-apcu": "Je nainstalováno [http://www.php.net/apcu APCu]",
-       "config-wincache": "Je nainstalováno [https://www.iis.net/download/WinCacheForPhp WinCache]",
-       "config-no-cache-apcu": "<strong>Upozornění:</strong> Nebylo nalezeno [http://www.php.net/apcu APCu], \nani [http://www.iis.net/download/WinCacheForPhp WinCache].\nCachování objektů není povoleno.",
+       "config-apc": "Je nainstalováno [https://secure.php.net/apc APC]",
+       "config-apcu": "Je nainstalováno [https://secure.php.net/apcu APCu]",
+       "config-wincache": "Je nainstalováno [https://www.iis.net/downloads/microsoft/wincache-extension WinCache]",
+       "config-no-cache-apcu": "<strong>Upozornění:</strong> Nebylo nalezeno [https://secure.php.net/apcu APCu], \nani [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nCachování objektů není povoleno.",
        "config-mod-security": "<strong>Upozornění:</strong> váš webový server má zapnuto [https://modsecurity.org/ mod_security]/mod_security2. Mnoho běžných konfigurací bude způsobovat potíže MediaWiki a dalším programům, které umožňují ukládat libovolný obsah.\nPokud je to možné, mělo by se to vypnout. Jinak se v případě, že narazíte na náhodné chyby, podívejte do [https://modsecurity.org/documentation/ dokumentace mod_security] nebo kontaktujte technickou podporu vašeho poskytovatele.",
        "config-diff3-bad": "Nebyl nalezen GNU diff3.",
        "config-git": "Nalezen software pro správu verzí Git: <code>$1</code>.",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki podporuje následující databázové systémy:\n\n$1\n\nPokud v nabídce níže nevidíte databázový systém, který chcete použít, musíte pro zapnutí podpory následovat instrukce odkázané výše.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] je pro MediaWiki hlavní platformou a je podporováno nejlépe. MediaWiki pracuje také s [{{int:version-db-mariadb-url}} MariaDB] a [{{int:version-db-percona-url}} Percona Server], které jsou s MySQL kompatibilní. ([http://www.php.net/manual/en/mysql.installation.php Jak zkompilovat PHP s podporou MySQL])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] je populární otevřený databázový systém používaný jako alternativa k MySQL. ([http://www.php.net/manual/en/pgsql.installation.php Jak přeložit PHP s podporou PostgreSQL])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] je pro MediaWiki hlavní platformou a je podporováno nejlépe. MediaWiki pracuje také s [{{int:version-db-mariadb-url}} MariaDB] a [{{int:version-db-percona-url}} Percona Server], které jsou s MySQL kompatibilní. ([https://secure.php.net/manual/en/mysql.installation.php Jak zkompilovat PHP s podporou MySQL])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] je populární otevřený databázový systém používaný jako alternativa k MySQL. ([https://secure.php.net/manual/en/pgsql.installation.php Jak přeložit PHP s podporou PostgreSQL])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] je velmi dobře podporovaný odlehčený databázový systém. ([http://www.php.net/manual/en/pdo.installation.php Jak přeložit PHP s podporou SQLite], používá PDO)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] je komerční podniková databáze. ([http://www.php.net/manual/en/oci8.installation.php Jak přeložit PHP s podporou OCI8])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] je komerční podniková databáze pro Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Jak přeložit PHP s podporou SQLSRV])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] je komerční podniková databáze pro Windows. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php Jak přeložit PHP s podporou SQLSRV])",
        "config-header-mysql": "Nastavení MySQL",
        "config-header-postgres": "Nastavení PostgreSQL",
        "config-header-sqlite": "Nastavení SQLite",
        "config-license-help": "Mnoho veřejných wiki všechny příspěvky zveřejňuje pod některou [https://freedomdefined.org/Definition/Cs svobodnou licencí].\nTo pomáhá vytvořit duch komunitního vlastnictví a povzbuzuje dlouhodobé přispívání.\nTo obecně není potřeba u soukromé nebo firemní wiki.\n\nPokud chcete být schopni používat text z Wikipedie a chcete, aby Wikipedie byla schopna přijímat text okopírovaný z vaší wiki, měli byste zvolit <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nDříve Wikipedie používala GNU Free Documentation License.\nGFDL je platná licence, ale složité jí porozumět.\nTaké je komplikované používat obsah licencovaný pod GFDL.",
        "config-email-settings": "Nastavení e-mailu",
        "config-enable-email": "Zapnout odchozí e-mail",
-       "config-enable-email-help": "Pokud chcete, aby e-mail fungoval, je potřeba správně nakonfigurovat [http://www.php.net/manual/en/mail.configuration.php e-mailová nastavení PHP].\nPokud nechcete žádné e-mailové funkce, můžete je zde vypnout.",
+       "config-enable-email-help": "Pokud chcete, aby e-mail fungoval, je potřeba správně nakonfigurovat [Config-dbsupport-oracle/manual/en/mail.configuration.php e-mailová nastavení PHP].\nPokud nechcete žádné e-mailové funkce, můžete je zde vypnout.",
        "config-email-user": "Umožnit vzájemné e-maily mezi uživateli",
        "config-email-user-help": "Umožní všem uživatelům posílat si navzájem e-maily, pokud si to zapnout v uživatelském nastavení.",
        "config-email-usertalk": "Umožnit notifikace k uživatelským diskusím",
index 34cf29f..ff52ec6 100644 (file)
@@ -35,8 +35,8 @@
        "config-env-hhvm": "HHVM $1 je wjinastalowóné",
        "config-memory-raised": "Paraméter PHP <code>memory_limit</code> $1 òstôł zwikszony do $2.",
        "config-apc": "[Http://www.php.net/apc APC] je wjinstalowóny",
-       "config-apcu": "[http://www.php.net/apcu APCu] je wjinstalowóny",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] je wjinstalowóny",
+       "config-apcu": "[https://secure.php.net/apcu APCu] je wjinstalowóny",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] je wjinstalowóny",
        "config-diff3-bad": "Felënk GNU diff3.",
        "config-mysql-innodb": "InnoDB",
        "config-mysql-myisam": "MyISAM",
index b20e1ed..4c39ac0 100644 (file)
        "config-pcre-no-utf8": "'''Fataler Fehler:''' Das PHP-Modul PCRE scheint ohne PCRE_UTF8-Unterstützung kompiliert worden zu sein.\nMediaWiki benötigt die UTF-8-Unterstützung, um fehlerfrei lauffähig zu sein.",
        "config-memory-raised": "Der PHP-Parameter <code>memory_limit</code> betrug $1 und wurde auf $2 erhöht.",
        "config-memory-bad": "'''Warnung:''' Der PHP-Parameter <code>memory_limit</code> beträgt $1.\nDieser Wert ist wahrscheinlich zu niedrig.\nDer Installationsvorgang könnte eventuell scheitern!",
-       "config-apc": "[http://www.php.net/apc APC] ist installiert",
-       "config-apcu": "[http://www.php.net/apcu APCu] ist installiert",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] ist installiert",
-       "config-no-cache-apcu": "<strong>Warnung:</strong> [http://www.php.net/apcu APCu] oder [http://www.iis.net/download/WinCacheForPhp WinCache] konnten nicht gefunden werden.\nDer Objektcache ist nicht aktiviert.",
+       "config-apc": "[https://secure.php.net/apc APC] ist installiert",
+       "config-apcu": "[https://secure.php.net/apcu APCu] ist installiert",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] ist installiert",
+       "config-no-cache-apcu": "<strong>Warnung:</strong> [https://secure.php.net/apcu APCu] oder [https://www.iis.net/downloads/microsoft/wincache-extension WinCache] konnten nicht gefunden werden.\nDer Objektcache ist nicht aktiviert.",
        "config-mod-security": "'''Warnung:''' Auf dem Webserver wurde [https://modsecurity.org/ ModSecurity] aktiviert. Sofern falsch konfiguriert, kann dies zu Problemen mit MediaWiki sowie anderer Software auf dem Server führen und es Benutzern ermöglichen, beliebige Inhalte im Wiki einzustellen.\nFür weitere Informationen empfehlen wir die [https://modsecurity.org/documentation/ Dokumentation zu ModSecurity] oder den Kontakt zum Hoster, sofern Fehler auftreten.",
        "config-diff3-bad": "GNU diff3 wurde nicht gefunden.",
        "config-git": "Die Versionsverwaltungssoftware „Git“ wurde gefunden: <code>$1</code>.",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki unterstützt die folgenden Datenbanksysteme:\n\n$1\n\nSofern unterhalb nicht das Datenbanksystem angezeigt wird, das verwendet werden soll, muss dieses noch verfügbar gemacht werden. Oben ist zu jedem unterstützten Datenbanksystem ein Link zur entsprechenden Anleitung vorhanden.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] ist das von MediaWiki primär unterstützte Datenbanksystem. MediaWiki funktioniert auch mit [{{int:version-db-mariadb-url}} MariaDB] und [{{int:version-db-percona-url}} Percona Server], die MySQL-kompatibel sind. ([https://www.php.net/manual/en/mysqli.installation.php Anleitung zur Kompilierung von PHP mit MySQL-Unterstützung])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] ist ein beliebtes Open-Source-Datenbanksystem und eine Alternative zu MySQL. ([https://www.php.net/manual/de/pgsql.installation.php Anleitung zur Kompilierung von PHP mit PostgreSQL-Unterstützung])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] ist das von MediaWiki primär unterstützte Datenbanksystem. MediaWiki funktioniert auch mit [{{int:version-db-mariadb-url}} MariaDB] und [{{int:version-db-percona-url}} Percona Server], die MySQL-kompatibel sind. ([https://secure.php.net/manual/en/mysqli.installation.php Anleitung zur Kompilierung von PHP mit MySQL-Unterstützung])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] ist ein beliebtes Open-Source-Datenbanksystem und eine Alternative zu MySQL. ([https://secure.php.net/manual/en/pgsql.installation.php Anleitung zur Kompilierung von PHP mit PostgreSQL-Unterstützung])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] ist ein verschlanktes Datenbanksystem, das auch gut unterstützt wird ([https://www.php.net/manual/de/pdo.installation.php Anleitung zur Kompilierung von PHP mit SQLite-Unterstützung], verwendet PHP Data Objects (PDO))",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] ist eine kommerzielle Unternehmensdatenbank ([https://www.php.net/manual/en/oci8.installation.php Anleitung zur Kompilierung von PHP mit OCI8-Unterstützung])",
        "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] ist eine gewerbliche Unternehmensdatenbank für Windows. ([https://www.php.net/manual/de/sqlsrv.installation.php Anleitung zur Kompilierung von PHP mit SQLSRV-Unterstützung])",
        "config-license-help": "Viele öffentliche Wikis publizieren alle Beiträge unter einer [https://freedomdefined.org/Definition/De freien Lizenz.]\nDies trägt dazu bei, ein Gefühl von Gemeinschaft zu schaffen, und ermutigt zu längerfristiger Mitarbeit.\nHingegen ist im Allgemeinen eine freie Lizenz auf geschlossenen Wikis nicht notwendig.\n\nSofern man Texte aus der Wikipedia verwenden möchte und umgekehrt, sollte die Lizenz {{int:config-license-cc-by-sa}} gewählt werden.\n\nDie Wikipedia nutzte vormals die GNU-Lizenz für freie Dokumentation (GFDL).\nDie GFDL ist eine gültige Lizenz, die allerdings schwer zu verstehen ist.\nEs ist zudem schwierig, gemäß dieser Lizenz lizenzierte Inhalte wiederzuverwenden.",
        "config-email-settings": "E-Mail-Einstellungen",
        "config-enable-email": "Ausgehende E-Mails ermöglichen",
-       "config-enable-email-help": "Sofern die E-Mail-Funktionen genutzt werden sollen, müssen die entsprechenden [http://www.php.net/manual/en/mail.configuration.php PHP-E-Mail-Einstellungen] richtig konfiguriert werden.\nFür den Fall, dass die E-Mail-Funktionen nicht benötigt werden, können sie hier deaktiviert werden.",
+       "config-enable-email-help": "Sofern die E-Mail-Funktionen genutzt werden sollen, müssen die entsprechenden [https://secure.php.net/manual/en/mail.configuration.php PHP-E-Mail-Einstellungen] richtig konfiguriert werden.\nFür den Fall, dass die E-Mail-Funktionen nicht benötigt werden, können sie hier deaktiviert werden.",
        "config-email-user": "E-Mail-Versand von Benutzer zu Benutzer aktivieren",
        "config-email-user-help": "Allen Benutzern ermöglichen, sich gegenseitig E-Mails zu schicken, sofern sie es in ihren Einstellungen aktiviert haben.",
        "config-email-usertalk": "Benachrichtigungen zu Änderungen an Benutzerdiskussionsseiten ermöglichen",
index 2350970..acea1ea 100644 (file)
        "config-pcre-no-utf8": "<strong>Κρίσιμο:</strong> Το PCRE module της PHP  φαίνεται να έχει μεταγλωττιστεί χωρίς υποστήριξη  PCRE_UTF8.\nΓια τη σωστή λειτουργία του MediaWiki απαιτείται υποστήριξη UTF-8.",
        "config-memory-raised": "Το  <code>memory_limit</code> της PHP είναι  $1 και αυξήθηκε σε  $2.",
        "config-memory-bad": "<strong>Προειδοποίηση:</strong> το <code>memory_limit</code> της PHP είναι $1.\nΑυτή η τιμή είναι πιθανώς πολύ χαμηλή.\n\nΗ εγκατάσταση ενδέχεται να αποτύχει!",
-       "config-apc": "Το [http://www.php.net/apc APC] είναι εγκατεστημένο",
-       "config-apcu": "Το [http://www.php.net/apcu APCu] είναι εγκατεστημένο",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp Το WinCache] είναι εγκατεστημένο",
-       "config-no-cache-apcu": "<strong>Προειδοποίηση:</strong> Αποτυχία εύρεσης του [http://www.php.net/apcu APCu] ή του [http://www.iis.net/download/WinCacheForPhp WinCache].\nΗ αρχειοθέτηση αντικειμένων δεν έχει ενεργοποιηθεί.",
+       "config-apc": "Το [https://secure.php.net/apc APC] είναι εγκατεστημένο",
+       "config-apcu": "Το [https://secure.php.net/apcu APCu] είναι εγκατεστημένο",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension Το WinCache] είναι εγκατεστημένο",
+       "config-no-cache-apcu": "<strong>Προειδοποίηση:</strong> Αποτυχία εύρεσης του [https://secure.php.net/apcu APCu] ή του [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nΗ αρχειοθέτηση αντικειμένων δεν έχει ενεργοποιηθεί.",
        "config-diff3-bad": "Το GNU diff3 δεν βρέθηκε.",
        "config-git": "Βρέθηκε το λογισμικό ελέγχου εκδόσεων Git: <code>$1</code>.",
        "config-git-bad": "Το λογισμικό ελέγχου εκδόσεων Git δεν βρέθηκε.",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "To MediaWiki υποστηρίζει τα ακόλουθα συστήματα βάσεων δεδομένων:\n\n$1\n\nΑν δεν εμφανίζεται παρακάτω το σύστημα βάσης δεδομένων που θέλετε να χρησιμοποιήσετε, τότε ακολουθήστε τις οδηγίες στον παραπάνω σύνδεσμο για να ενεργοποιήσετε την υποστήριξη.",
-       "config-dbsupport-mysql": "* Η [{{int:version-db-mysql-url}} MySQL] είναι ο πρωταρχικός στόχος για το MediaWiki και υποστηρίζεται καλύτερα. Το MediaWiki συνεργάζεται επίσης με τη [{{int:version-db-mariadb-url}} MariaDB] και το [{{int:version-db-percona-url}} διακομιστή Percona], που είναι όλα συμβατά με MySQL. ([http://www.php.net/manual/en/mysqli.installation.php Πώς να μεταγλωττίσετε την PHP με υποστήριξη MySQL])",
-       "config-dbsupport-postgres": "* Η [{{int:version-db-postgres-url}} PostgreSQL] είναι δημοφιλές σύστημα βάσης δεδομένων ανοικτού κώδικα ως εναλλακτική της MySQL. ([http://www.php.net/manual/en/pgsql.installation.php Πώς να μεταγλωττίσετε την PHP με υποστήριξη PostgreSQL])",
+       "config-dbsupport-mysql": "* Η [{{int:version-db-mysql-url}} MySQL] είναι ο πρωταρχικός στόχος για το MediaWiki και υποστηρίζεται καλύτερα. Το MediaWiki συνεργάζεται επίσης με τη [{{int:version-db-mariadb-url}} MariaDB] και το [{{int:version-db-percona-url}} διακομιστή Percona], που είναι όλα συμβατά με MySQL. ([https://secure.php.net/manual/en/mysqli.installation.php Πώς να μεταγλωττίσετε την PHP με υποστήριξη MySQL])",
+       "config-dbsupport-postgres": "* Η [{{int:version-db-postgres-url}} PostgreSQL] είναι δημοφιλές σύστημα βάσης δεδομένων ανοικτού κώδικα ως εναλλακτική της MySQL. ([https://secure.php.net/manual/en/pgsql.installation.php Πώς να μεταγλωττίσετε την PHP με υποστήριξη PostgreSQL])",
        "config-dbsupport-sqlite": "* Η [{{int:version-db-sqlite-url}} SQLite] είναι ένα ελαφρύ σύστημα βάσης δεδομένων που υποστηρίζεται πολύ καλά. ([http://www.php.net/manual/en/pdo.installation.php Πώς να μεταγλωττίσετε την PHP με υποστήριξη SQLite], χρησιμοποιεί PDO)",
        "config-dbsupport-oracle": "* Η [{{int:version-db-oracle-url}} Oracle] είναι εμπορική βάση δεδομένων για επιχειρήσεις. ([http://www.php.net/manual/en/oci8.installation.php Πώς να μεταγλωττίσετε την PHP με υποστήριξη OCI8])",
-       "config-dbsupport-mssql": "* Ο [{{int:version-db-mssql-url}} Microsoft SQL Server] είναι εμπορική βάση δεδομένων για επιχειρήσεις που λειτουργεί σε Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Πώς να μεταγλωττίσετε την PHP με υποστήριξη SQLSRV])",
+       "config-dbsupport-mssql": "* Ο [{{int:version-db-mssql-url}} Microsoft SQL Server] είναι εμπορική βάση δεδομένων για επιχειρήσεις που λειτουργεί σε Windows. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php Πώς να μεταγλωττίσετε την PHP με υποστήριξη SQLSRV])",
        "config-header-mysql": "Ρυθμίσεις MySQL",
        "config-header-postgres": "Ρυθμίσεις PostgreSQL",
        "config-header-sqlite": "Ρυθμίσεις SQLite",
        "config-license-help": "Πολλά δημόσια wiki βάζουν όλες τις συνεισφορές υπό [https://freedomdefined.org/Definition ελεύθερη άδεια].\nΑυτό βοηθά να δημιουργηθεί μια αίσθηση κοινοτικής ιδιοκτησίας και ενθαρρύνει τη μακροχρόνια συνεισφορά.\nΔεν είναι γενικά απαραίτητο για ένα ιδιωτικό ή εταιρικό wiki.\n\nΑν θέλετε να μπορείτε να χρησιμοποιείτε κείμενο από τη Βικιπαίδεια και αν θέλετε να μπορεί η Βικιπαίδεια να δεχτεί κείμενο που αντιγράφεται από το wiki σας, θα πρέπει να επιλέξετε <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nΗ Βικιπαίδεια χρησιμοποιούσε παλιά την Άδεια Ελεύθερης Τεκμηρίωσης GNU (GFDL).\nΗ GFDL είναι μια έγκυρη άδεια, αλλά είναι δύσκολο να κατανοηθεί.\nΕίναι επίσης δύσκολο να επαναχρησιμοποιηθεί το περιεχόμενο που έχει χορηγηθεί βάσει της GFDL.",
        "config-email-settings": "Ρυθμίσεις ηλεκτρονικού ταχυδρομείου",
        "config-enable-email": "Ενεργοποίηση εξερχόμενου ηλεκτρονικού ταχυδρομείου",
-       "config-enable-email-help": "Αν θέλετε να λειτουργήσει το ηλεκτρονικό ταχυδρομείο, οι [http://www.php.net/manual/en/mail.configuration.php ρυθμίσεις αλληλογραφίας της PHP] πρέπει να ρυθμιστούν σωστά.\nΑν δεν θέλετε καθόλου λειτουργίες ηλεκτρονικού ταχυδρομείου, μπορείτε να τις απενεργοποιήσετε εδώ.",
+       "config-enable-email-help": "Αν θέλετε να λειτουργήσει το ηλεκτρονικό ταχυδρομείο, οι [Config-dbsupport-oracle/manual/en/mail.configuration.php ρυθμίσεις αλληλογραφίας της PHP] πρέπει να ρυθμιστούν σωστά.\nΑν δεν θέλετε καθόλου λειτουργίες ηλεκτρονικού ταχυδρομείου, μπορείτε να τις απενεργοποιήσετε εδώ.",
        "config-email-user": "Ενεργοποίηση ηλεκτρονικού ταχυδρομείου από χρήστη σε χρήστη",
        "config-email-user-help": "Να επιτρέπεται σε όλους τους χρήστες να στέλνουν ο ένας στον άλλον μηνύματα ηλεκτρονικού ταχυδρομείου εάν το έχουν ενεργοποιήσει στις προτιμήσεις τους.",
        "config-email-usertalk": "Ενεργοποίηση ειδοποίησης σελίδας συζήτησης χρήστη",
index d1a3b83..412b405 100644 (file)
        "config-pcre-no-utf8": "<strong>Fatal:</strong> PHP's PCRE module seems to be compiled without PCRE_UTF8 support.\nMediaWiki requires UTF-8 support to function correctly.",
        "config-memory-raised": "PHP's <code>memory_limit</code> is $1, raised to $2.",
        "config-memory-bad": "<strong>Warning:</strong> PHP's <code>memory_limit</code> is $1.\nThis is probably too low.\nThe installation may fail!",
-       "config-apc": "[http://www.php.net/apc APC] is installed",
-       "config-apcu": "[http://www.php.net/apcu APCu] is installed",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] is installed",
-       "config-no-cache-apcu": "<strong>Warning:</strong> Could not find [http://www.php.net/apcu APCu] or [http://www.iis.net/download/WinCacheForPhp WinCache].\nObject caching is not enabled.",
+       "config-apc": "[https://secure.php.net/apc APC] is installed",
+       "config-apcu": "[https://secure.php.net/apcu APCu] is installed",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] is installed",
+       "config-no-cache-apcu": "<strong>Warning:</strong> Could not find [https://secure.php.net/apcu APCu] or [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nObject caching is not enabled.",
        "config-mod-security": "<strong>Warning:</strong> Your web server has [https://modsecurity.org/ mod_security]/mod_security2 enabled. Many common configurations of this will cause problems for MediaWiki and other software that allows users to post arbitrary content.\nIf possible, this should be disabled. Otherwise, refer to [https://modsecurity.org/documentation/ mod_security documentation] or contact your host's support if you encounter random errors.",
+
        "config-diff3-bad": "GNU diff3 not found.",
        "config-git": "Found the Git version control software: <code>$1</code>.",
        "config-git-bad": "Git version control software not found.",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki supports the following database systems:\n\n$1\n\nIf you do not see the database system you are trying to use listed below, then follow the instructions linked above to enable support.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] is the primary target for MediaWiki and is best supported. MediaWiki also works with [{{int:version-db-mariadb-url}} MariaDB] and [{{int:version-db-percona-url}} Percona Server], which are MySQL compatible. ([http://www.php.net/manual/en/mysqli.installation.php How to compile PHP with MySQL support])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] is a popular open source database system as an alternative to MySQL. ([http://www.php.net/manual/en/pgsql.installation.php How to compile PHP with PostgreSQL support])",
-       "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] is a lightweight database system that is very well supported. ([http://www.php.net/manual/en/pdo.installation.php How to compile PHP with SQLite support], uses PDO)",
-       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] is a commercial enterprise database. ([http://www.php.net/manual/en/oci8.installation.php How to compile PHP with OCI8 support])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] is a commercial enterprise database for Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php How to compile PHP with SQLSRV support])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] is the primary target for MediaWiki and is best supported. MediaWiki also works with [{{int:version-db-mariadb-url}} MariaDB] and [{{int:version-db-percona-url}} Percona Server], which are MySQL compatible. ([https://secure.php.net/manual/en/mysqli.installation.php How to compile PHP with MySQL support])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] is a popular open source database system as an alternative to MySQL. ([https://secure.php.net/manual/en/pgsql.installation.php How to compile PHP with PostgreSQL support])",
+       "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] is a lightweight database system that is very well supported. ([https://secure.php.net/manual/en/pdo.installation.php How to compile PHP with SQLite support], uses PDO)",
+       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] is a commercial enterprise database. ([https://secure.php.net/manual/en/oci8.installation.php How to compile PHP with OCI8 support])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] is a commercial enterprise database for Windows. ([https://secure.php.net/manual/en/sqlsrv.installation.php How to compile PHP with SQLSRV support])",
        "config-header-mysql": "MySQL settings",
        "config-header-postgres": "PostgreSQL settings",
        "config-header-sqlite": "SQLite settings",
        "config-license-help": "Many public wikis put all contributions under a [https://freedomdefined.org/Definition free license].\nThis helps to create a sense of community ownership and encourages long-term contribution.\nIt is not generally necessary for a private or corporate wiki.\n\nIf you want to be able to use text from Wikipedia, and you want Wikipedia to be able to accept text copied from your wiki, you should choose <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nWikipedia previously used the GNU Free Documentation License.\nThe GFDL is a valid license, but it is difficult to understand.\nIt is also difficult to reuse content licensed under the GFDL.",
        "config-email-settings": "Email settings",
        "config-enable-email": "Enable outbound email",
-       "config-enable-email-help": "If you want email to work, [http://www.php.net/manual/en/mail.configuration.php PHP's mail settings] need to be configured correctly.\nIf you do not want any email features, you can disable them here.",
+       "config-enable-email-help": "If you want email to work, [https://secure.php.net/manual/en/mail.configuration.php PHP's mail settings] need to be configured correctly.\nIf you do not want any email features, you can disable them here.",
        "config-email-user": "Enable user-to-user email",
        "config-email-user-help": "Allow all users to send each other email if they have enabled it in their preferences.",
        "config-email-usertalk": "Enable user talk page notification",
index c1c5edf..bf791f3 100644 (file)
@@ -37,8 +37,8 @@
        "config-env-bad": "La medio estis kontrolita.\nNe eblas instali MediaWiki.",
        "config-env-php": "PHP $1 estas instalita.",
        "config-env-hhvm": "HHVM $1 instalatas.",
-       "config-apc": "[http://www.php.net/apc APC] estas instalita",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] estas instalita",
+       "config-apc": "[https://secure.php.net/apc APC] estas instalita",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] estas instalita",
        "config-diff3-bad": "GNU diff3 ne estis trovita.",
        "config-db-type": "Tipo de datumbazo:",
        "config-db-wiki-settings": "Identigu ĉi tiun vikion",
index 8f9e592..1eb460a 100644 (file)
@@ -34,7 +34,8 @@
                        "Dgstranz",
                        "Irus",
                        "Tinss",
-                       "KATRINE1992"
+                       "KATRINE1992",
+                       "MarcoAurelio"
                ]
        },
        "config-desc": "El instalador de MediaWiki",
        "config-pcre-no-utf8": "'''Error fatal ''': Parece que el módulo PCRE de PHP fue compilado sin el soporte PCRE_UTF8.\nMediaWiki requiere compatibilidad con UTF-8 para funcionar correctamente.",
        "config-memory-raised": "El parámetro <code>memory_limit</code> de PHP es $1. Se aumenta a $2.",
        "config-memory-bad": "<strong>Advertencia:</strong> el parámetro <code>memory_limit</code> de PHP es $1.\nProbablemente sea demasiado bajo.\n¡La instalación puede fallar!",
-       "config-apc": "[http://www.php.net/apc APC] está instalado",
-       "config-apcu": "[http://www.php.net/apcu APCu] está instalado",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] está instalado",
-       "config-no-cache-apcu": "<strong>Advertencia:</strong> No se pudo encontrar [http://www.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] o [http://www.iis.net/download/WinCacheForPhp WinCache].\nEl caché de objetos no está activado.",
+       "config-apc": "[https://secure.php.net/apc APC] está instalado",
+       "config-apcu": "[https://secure.php.net/apcu APCu] está instalado",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] está instalado",
+       "config-no-cache-apcu": "<strong>Atención:</strong> no se pudo encontrar [https://secure.php.net/apcu APCu] o [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nEl almacenamiento en antememoria de objetos no está activado.",
        "config-mod-security": "<strong>Advertencia:</strong> tu servidor web tiene activado [https://modsecurity.org/ mod_security]/mod_security2. Muchas de sus configuraciones comunes pueden causar problemas a MediaWiki u otro software que permita a los usuarios publicar contenido arbitrario. De ser posible, deberías desactivarlo. Si no, consulta la [https://modsecurity.org/documentation/ documentación de mod_security] o contacta con el administrador de tu servidor si encuentras errores aleatorios.",
        "config-diff3-bad": "GNU diff3 no se encuentra.",
        "config-git": "Se encontró el software de control de versiones Git: <code>$1</code>.",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki es compatible con los siguientes sistemas de bases de datos:\n\n$1\n\nSi no encuentras en el listado el sistema de base de datos que estás intentando utilizar, sigue las instrucciones enlazadas arriba para activar la compatibilidad.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] es la base de datos mayoritaria para MediaWiki y la que goza de mayor compatibilidad. MediaWiki también funciona con [{{int:version-db-mariadb-url}} MariaDB] y [{{int:version-db-percona-url}} Percona Server], que son compatibles con MySQL. ([http://www.php.net/manual/es/mysql.installation.php Cómo compilar PHP con compatibilidad MySQL])",
-       "config-dbsupport-postgres": "[{{int:version-db-postgres-url}} PostgreSQL] es un sistema de base de datos popular de código abierto, alternativa a MySQL. ([http://www.php.net/manual/es/pgsql.installation.php Cómo compilar PHP con compatibilidad PostgreSQL]).",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] es la base de datos mayoritaria para MediaWiki y la que goza de mayor compatibilidad. MediaWiki también funciona con [{{int:version-db-mariadb-url}} MariaDB] y [{{int:version-db-percona-url}} Percona Server], que son compatibles con MySQL. ([https://secure.php.net/manual/es/mysql.installation.php Cómo compilar PHP con compatibilidad MySQL])",
+       "config-dbsupport-postgres": "[{{int:version-db-postgres-url}} PostgreSQL] es un sistema de base de datos popular de código abierto, alternativa a MySQL. ([https://secure.php.net/manual/es/pgsql.installation.php Cómo compilar PHP con compatibilidad PostgreSQL]).",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] es un sistema de base de datos ligero con gran compatibilidad con MediaWiki. ([http://www.php.net/manual/es/pdo.installation.php Cómo compilar PHP con compatibilidad SQLite], usando PDO)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] es una base de datos comercial a nivel empresarial. ([http://www.php.net/manual/es/oci8.installation.php Cómo compilar PHP con compatibilidad con OCI8])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] es un sistema comercial de base de datos empresariales para Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Cómo compilar PHP con compatibilidad con SQLSRV])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] es un sistema comercial de base de datos empresariales para Windows. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php Cómo compilar PHP con compatibilidad con SQLSRV])",
        "config-header-mysql": "Configuración de MySQL",
        "config-header-postgres": "Configuración de PostgreSQL",
        "config-header-sqlite": "Configuración de SQLite",
        "config-license-help": "Muchos wikis públicos ponen todas las contribuciones bajo una [https://freedomdefined.org/Definition licencia libre].\nEsto ayuda a crear un sentido de propiedad comunitaria y alienta la contribución a largo plazo.\nEsto no es generalmente necesario para un wiki privado o corporativo.\n\nSi deseas poder utilizar texto de Wikipedia, y deseas que Wikipedia pueda aceptar el texto copiado de tu wiki, debes elegir <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nWikipedia utilizaba anteriormente la licencia de documentación libre de GNU (GFDL).\nLa GFDL es una licencia válida, pero es difícil de entender.\nTambién es difícil reutilizar el contenido licenciado bajo la GFDL.",
        "config-email-settings": "Configuración de correo electrónico",
        "config-enable-email": "Activar el envío de correos electrónicos",
-       "config-enable-email-help": "Si quieres que el correo electrónico funcione, la [http://www.php.net/manual/en/mail.configuration.php configuración PHP de correo electrónico] debe ser la correcta.\nSi no quieres la funcionalidad de correo electrónico, puedes desactivarla aquí.",
+       "config-enable-email-help": "Si quieres que el correo electrónico funcione, la [Config-dbsupport-oracle/manual/en/mail.configuration.php configuración PHP de correo electrónico] debe ser la correcta.\nSi no quieres la funcionalidad de correo electrónico, puedes desactivarla aquí.",
        "config-email-user": "Activar correo electrónico entre usuarios",
        "config-email-user-help": "Permitir que todos los usuarios intercambien correos electrónicos si lo han activado en sus preferencias.",
        "config-email-usertalk": "Activar notificaciones de páginas de discusión de usuarios",
        "config-cache-options": "Configuración de la antememoria de objetos:",
        "config-cache-help": "El almacenamiento en caché de objetos se utiliza para mejorar la velocidad de MediaWiki mediante el almacenamiento en caché los datos usados más frecuentemente.\nA los sitios medianos y grandes se les recomienda que permitirlo. También es beneficioso para los sitios pequeños.",
        "config-cache-none": "Sin almacenamiento en caché (no se pierde ninguna funcionalidad, pero la velocidad puede resentirse en sitios grandes)",
-       "config-cache-accel": "Almacenamiento en caché de objetos PHP (APC, APCu, XCache o WinCache)",
+       "config-cache-accel": "Almacenamiento en antememoria de objetos PHP (APC, APCu o WinCache)",
        "config-cache-memcached": "Utilizar Memcached (necesita ser instalado y configurado aparte)",
        "config-memcached-servers": "Servidores Memcached:",
        "config-memcached-help": "Lista de direcciones IP que serán usadas por Memcached.\nDeben especificarse una por cada línea y especificar el puerto a utilizar. Por ejemplo:\n127.0.0.1:11211\n192.168.1.25:1234",
        "config-extension-link": "¿Sabías que tu wiki admite [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions extensiones]?\n\nPuedes navegar por las [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category categorías] o visitar el [https://www.mediawiki.org/wiki/Extension_Matrix centro de extensiones] para ver una lista completa.",
        "config-skins-screenshots": "$1 (capturas de pantalla: $2)",
        "config-skins-screenshot": "$1 ($2)",
+       "config-extensions-requires": "$1 (requiere $2)",
        "config-screenshot": "captura de pantalla",
        "mainpagetext": "<strong>MediaWiki se ha instalado.</strong>",
        "mainpagedocfooter": "Consulta la [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents guía] para obtener información sobre el uso del software wiki.\n\n== Primeros pasos ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista de ajustes de configuración]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Preguntas frecuentes sobre MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de correo de anuncios de publicación de MediaWiki]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traducir MediaWiki a tu idioma]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Aprende a combatir el spam en tu wiki]"
index 18c917e..2831396 100644 (file)
        "config-pcre-no-utf8": "<strong>Fatal:</strong> PHREko PCRE modulua PCRE_UTF8 ko laguntza gabe bildu da.\nMediaWiki-k UTF-8 euskarria behar du behar bezala funtziona dezan.",
        "config-memory-raised": "PHP-ko <code>memory_limit</code> $1 da, $2-ra igota.",
        "config-memory-bad": "<strong>Warning:</strong> PHPko <code>memory_limit</code> $1 da.\nZiurrenik hau oso baxua da.\nInstalazioa huts egin dezake!",
-       "config-apc": "[http://www.php.net/apc APC] instalatuta dago",
-       "config-apcu": "[http://www.php.net/apcu APCu] instalatuta dago",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] instalatuta dago",
-       "config-no-cache-apcu": "<strong>Warning:</strong> Ezin izan da [http://www.php.net/apcu APCu] edo [http://www.iis.net/download/WinCacheForPhp WinCache] aurkitu.\nObjektu katxea ez dago aktibatuta.",
+       "config-apc": "[https://secure.php.net/apc APC] instalatuta dago",
+       "config-apcu": "[https://secure.php.net/apcu APCu] instalatuta dago",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] instalatuta dago",
+       "config-no-cache-apcu": "<strong>Warning:</strong> Ezin izan da [https://secure.php.net/apcu APCu] edo [https://www.iis.net/downloads/microsoft/wincache-extension WinCache] aurkitu.\nObjektu katxea ez dago aktibatuta.",
        "config-mod-security": "<strong>Warning:</strong> Zure web zerbitzariak [https://modsecurity.org/mod_security] / mod_security2 aktibatu du. Honen konfigurazio komun asko sortu ahal dituzte arazoak MediaWikin  eta beste software batzuetan, hautazko edukia argitaratzeko aukera ematen dutenei erabiltzaileei.\nAhal izanez gero, desgaitu egin beharko litzateke. Bestela, kontsultatu [https://modsecurity.org/documentation/ mod_security documentation] edo jarri harremanetan zure ostalariarekin ausazko akatsak aurkitzen badituzu.",
        "config-diff3-bad": "GNU diff3 ez da aurkitu.",
        "config-git": "Git bertsio-kontrol software aurkitu da: <code>$1</code>",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki-k onartzen du hurrengo datu-base sistemak:\n\n$1\n\nListan ez baduzu ikusten erabili nahi duzun sistema, jarraitu goiko argibideak aktibatzeko.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] MediaWikiren lehenengoko helburua da eta primeran babesturik dago. MediaWikik ere [{{int:version-db-mariadb-url}} MariaDB]-rekin egiten du lan baita [{{int:version-db-percona-url}} Percona Server]-kin, MySQL-rekin balio dutenak. ([http://www.php.net/manual/en/mysqli.installation.php How to compile PHP with MySQL support])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] iturburu irekiko datu basea sistema famatua da MySQL-rako alternatiba bezala. ([http://www.php.net/manual/en/pgsql.installation.php How to compile PHP with PostgreSQL support])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] MediaWikiren lehenengoko helburua da eta primeran babesturik dago. MediaWikik ere [{{int:version-db-mariadb-url}} MariaDB]-rekin egiten du lan baita [{{int:version-db-percona-url}} Percona Server]-kin, MySQL-rekin balio dutenak. ([https://secure.php.net/manual/en/mysqli.installation.php How to compile PHP with MySQL support])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] iturburu irekiko datu basea sistema famatua da MySQL-rako alternatiba bezala. ([https://secure.php.net/manual/en/pgsql.installation.php How to compile PHP with PostgreSQL support])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] oso ondo onartzen duen datu-basearen sistema arina da.\n ([http://www.php.net/manual/en/pdo.installation.php How to compile PHP with SQLite support], uses PDO)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] enpresa komertzial baten datu-basea da. ([http://www.php.net/manual/en/oci8.installation.php How to compile PHP with OCI8 support])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] Windows-entzako enpresa komertzial baten datu-basea da.  ([http://www.php.net/manual/en/sqlsrv.installation.php How to compile PHP with SQLSRV support])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] Windows-entzako enpresa komertzial baten datu-basea da.  ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php How to compile PHP with SQLSRV support])",
        "config-header-mysql": "MySQL hobespenak",
        "config-header-postgres": "PostgreSQL hobespenak",
        "config-header-sqlite": "SQLite hobespenak",
        "config-license-help": "Wikilari publiko askok ekarpen guztiak jartzen dituzte [https://freedomdefined.org/Definition lizentzia aske] azpian.\nHonek komunitatearen jabetza zentzuaren kontzeptua sortzen laguntzen du eta epe luzerako ekarpena bultzatzen du.\nEz da, oro har, wiki pribatu edo korporatiborik behar.\n\nWikipediatik testua erabiltzeko aukera izan nahi baduzu eta Wikipediak zure wikietatik kopiatutako testua onartzeko gai izatea nahi baduzu,  <strong>{{int:config-license-cc-by-sa}}</strong> aukeratu beharko zenuke.\n\nWikipedia lehenago erabili izan du GNU Dokumentazio Librearen Lizentzia.\nGFDL baliozko lizentzia da, baina ulertzeko zaila da.\nGFDLren baimenarekin lotutako edukiak berrerabiltzea ere zaila da.",
        "config-email-settings": "E-posta hobespenak",
        "config-enable-email": "Aktibatu irteerako emaila.",
-       "config-enable-email-help": "Lan egiteko email-a nahi baduzu, [http://www.php.net/manual/en/mail.configuration.php PHP's mail settings] ondo konfiguratu egin behar da. Email ezaugarririk ez baduzu nahi, hemen kendu ditzakezu.",
+       "config-enable-email-help": "Lan egiteko email-a nahi baduzu, [Config-dbsupport-oracle/manual/en/mail.configuration.php PHP's mail settings] ondo konfiguratu egin behar da. Email ezaugarririk ez baduzu nahi, hemen kendu ditzakezu.",
        "config-email-user": "Aktibatu erabiltzaileen arteko emaila.",
        "config-email-user-help": "Baimena eman erabiltzaileei beraien artean emailak bidaltzeko, lehentasunetan aukera aktibatuta badaukate.",
        "config-email-usertalk": "Aktibatu erabiltzaileen eztabaida orrien jakinarazpena",
index d75b063..15bb39c 100644 (file)
        "config-pcre-no-utf8": "<strong>مخرب:</strong> به‌ نظر می‌رسد پودمان پی‌سی‌آراییِ پی‌اچ‌پی بدون پشتیبانی پی‌سی‌آرایی_یو‌تی‌اف۸ تهیه شده‌است.\nمدیاویکی برای درست عمل کردن نیازمند پشتیبانی یوتی‌اف-۸ است.",
        "config-memory-raised": "PHP's <code>memory_limit</code>, نسخهٔ $1 است، به نسخهٔ $2 ارتقاء داده شده‌است.",
        "config-memory-bad": "'''هشدار:''' PHP's <code>memory_limit</code> نسخهٔ $1 است.\nاین ممکن است خیلی پایین باشد.\nممکن است نصب با مشکل رو‌به‌رو شود.",
-       "config-apc": "[http://www.php.net/apc APC] نصب شده‌است.",
-       "config-apcu": "[http://www.php.net/apcu APCu] نصب شده‌است",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] نصب شده‌است.",
-       "config-no-cache-apcu": "<strong>هشدار:</strong> پیوند [http://www.php.net/apcu APCu] یا [http://www.iis.net/download/WinCacheForPhp WinCache] یافت نشد. ذخیره شی فعال نیست.",
+       "config-apc": "[https://secure.php.net/apc APC] نصب شده‌است.",
+       "config-apcu": "[https://secure.php.net/apcu APCu] نصب شده‌است",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] نصب شده‌است.",
+       "config-no-cache-apcu": "<strong>هشدار:</strong> پیوند [https://secure.php.net/apcu APCu] یا [https://www.iis.net/downloads/microsoft/wincache-extension WinCache] یافت نشد. ذخیره شی فعال نیست.",
        "config-mod-security": "'''هشدار:''' وب سرور شما [https://modsecurity.org/ mod_security] فعال است.اگر اشتباه پیکربندی شده‌‌ باشد،می تواند باعث ایجاد مشکلاتی برای مدیاویکی یا دیگر نرم‌افزاری شود که به کاربران اجازه می‌دهد پیام دلخواه ارسال کنند.\nبه [https://modsecurity.org/documentation/ mod_security documentation] مراجعه کنید یا اگر با خطاهای اتفاقی مواجه شدید با پشتیبانی میزبان خود در تماس باشید.",
        "config-diff3-bad": "جی‌ان‌یو دیف۳ پیدا نشد.",
        "config-git": "کنترل نسخهٔ نرم‌افزار گیت پیدا شد: <code>$1</code>.",
        "config-type-mysql": "مای‌اس‌کیو‌ال (یا سازگار)",
        "config-type-mssql": "سرور مایکروسافت اس‌کیو‌ال",
        "config-support-info": "مدیاویکی سامانه‌های پایگاه اطلاعاتی زیر را حمایت می‌کند:\n$1\nاگر متوجه سامانه پایگاه اطلاعاتی که سعی دارید از فهرست زیر استفاده کنید، نمی‌شوید، بنابراین دستورالعمل‌های مرتبط در بالا را برای فعال کردن پشتیبانی دنبال کنید.",
-       "config-dbsupport-mysql": "*[{{int:version-db-mysql-url}} MySQL] مهم‌ترین هدف برای مدیاویکی است و بهترین پشتیبانی. مدیاویکی همچنین کار می‌کند با [{{int:version-db-mariadb-url}} MariaDB] و [{{int:version-db-percona-url}} Percona Server] که با MySQL سازگار هستند.([http://www.php.net/manual/en/mysqli.installation.php چگونه php را با MySQL کامپایل کنیم])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} پستگرس‌کیوال] یک سامانه پایگاه اطلاعات متن‌باز پر‌طرفدار است که جایگزینی برای مای‌اس‌کیوال است. ([http://www.php.net/manual/en/pgsql.installation.php راهنمای تنظیم کردن پی‌اچ‌پی به همراه پستگرس‌کیوال])",
+       "config-dbsupport-mysql": "*[{{int:version-db-mysql-url}} MySQL] مهم‌ترین هدف برای مدیاویکی است و بهترین پشتیبانی. مدیاویکی همچنین کار می‌کند با [{{int:version-db-mariadb-url}} MariaDB] و [{{int:version-db-percona-url}} Percona Server] که با MySQL سازگار هستند.([https://secure.php.net/manual/en/mysqli.installation.php چگونه php را با MySQL کامپایل کنیم])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} پستگرس‌کیوال] یک سامانه پایگاه اطلاعات متن‌باز پر‌طرفدار است که جایگزینی برای مای‌اس‌کیوال است. ([Config-dbsupport-oracle/manual/en/pgsql.installation.php راهنمای تنظیم کردن پی‌اچ‌پی به همراه پستگرس‌کیوال])",
        "config-dbsupport-sqlite": "*[{{int:version-db-sqlite-url}} اس‌کیولایت] یک سامانه پایگاه اطلاعاتی کم حجمی است که بسیار خوب پشتیبانی شده‌است.\n([http://www.php.net/manual/en/pdo.installation.php چگونگی کامپایل پی‌اچ‌پی با اس‌کیولایت]، از PDO استفاده می‌کند)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] یک پایگاه اطلاعاتی کار تبلیغاتی است.\n([http://www.php.net/manual/en/oci8.installation.php How to compile PHP with OCI8 support])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] یک پایگاه اطلاعاتی موسسهٔ تبلیغاتی برای وینذوز است. ([http://www.php.net/manual/en/sqlsrv.installation.php How to compile PHP with SQLSRV support])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] یک پایگاه اطلاعاتی موسسهٔ تبلیغاتی برای وینذوز است. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php How to compile PHP with SQLSRV support])",
        "config-header-mysql": "تنظیمات مای‌اس‌کیو‌ال",
        "config-header-postgres": "تنظیمات پست‌گر‌اس‌کیو‌ال",
        "config-header-sqlite": "تنظیمات اس‌کیو‌لایت",
        "config-license-help": "بسیاری از وبگاه‌ها ویرایش‌های ها را با  [https://freedomdefined.org/Definition اجازه‌نامهٔ آزاد] منتشر می‌کنند.\nاین کار به داشتن حس مالکیت جمعی کمک می‌کند و ویرایش‌های طولانی مدت را اشاعه می‌دهد.\nاین برای ویکی‌های خصوصی یا سازمانی الزامی نیست.\n\nاگر شما می‌خواهید از متون ویکی‌پدیا استفاده کنید، یا اینکه به ویکی‌پدیا اجازه دهید از متون شما استفاده کند باید متون خود را با <strong>{{int:config-license-cc-by-sa}}</strong> منتشر کنید.\n\nویکی‌پدیا در گذشته از اجازه‌نامهٔ داده‌های آزاد گنو استفاده می‌کرد.\nاین اجازه‌نامه مورد قبول است، ولی فهم آن آسان نیست.\nهمچنین استفادهٔ دوباره از متون تحت اجازه‌نامهٔ داده‌های آزاد گنو به سختی انجام می‌گیرد.",
        "config-email-settings": "تنظیمات ایمیل",
        "config-enable-email": "فعال‌سازی ایمیل خروجی",
-       "config-enable-email-help": "اگر می‌خواهید ارسال ایمیل کار کند، [http://www.php.net/manual/en/mail.configuration.php PHP's mail settings] نیازمند پیکربندی صحیح است.\nاگر هیچ قابلیت ایمیلی نمی‌خواهید، می‌توانید آنها را اینجا غیر‌فعال کنید.",
+       "config-enable-email-help": "اگر می‌خواهید ارسال ایمیل کار کند، [Config-dbsupport-oracle/manual/en/mail.configuration.php PHP's mail settings] نیازمند پیکربندی صحیح است.\nاگر هیچ قابلیت ایمیلی نمی‌خواهید، می‌توانید آنها را اینجا غیر‌فعال کنید.",
        "config-email-user": "فعال کردن ایمیل کاربر به کاربر",
        "config-email-user-help": "به همهٔ کاربرانی که ارسال ایمیل را در ترجیحات خود فعال کرده‌اند، اجازه داده خواهد شد که به یکدیگر ایمیل ارسال کنند.",
        "config-email-usertalk": "فعال کردن اطلاع‌رسانی صفحهٔ بحث کاربر",
index 9bb5a85..2a9bc33 100644 (file)
@@ -74,9 +74,9 @@
        "config-pcre-old": "<strong>Tärkeää:</strong> PCRE $1 tai uudempi versio tarvitaan.\nPHP-binäärisi on linkitetty versiolla PCRE $2.\n[https://www.mediawiki.org/wiki/Manual:Errors_and_symptoms/PCRE Lisätietoja].",
        "config-memory-raised": "PHP:n <code>memory_limit</code> on $1, nostetaan arvoon $2.",
        "config-memory-bad": "'''Varoitus:''' PHP:n <code>memory_limit</code> on $1.\nTämä on luultavasti liian alhainen.\nAsennus saattaa epäonnistua!",
-       "config-apc": "[http://www.php.net/apc APC] on asennettu.",
-       "config-apcu": "[http://www.php.net/apcu APCu] on asennettu",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] on asennettu",
+       "config-apc": "[https://secure.php.net/apc APC] on asennettu.",
+       "config-apcu": "[https://secure.php.net/apcu APCu] on asennettu",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] on asennettu",
        "config-diff3-bad": "GNU diff3:a ei löytynyt.",
        "config-git": "Löydetty Git versionhallintaohjelmisto: <code>$1</code>",
        "config-git-bad": "Git versionhallintaohjelmistoa ei löydy.",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki tukee seuraavia tietokantajärjestelmiä:\n\n$1\n\nJos et näe tietokantajärjestelmää, jota yrität käyttää, listattuna alhaalla, seuraa yläpuolella olevia ohjeita tuen aktivoimiseksi.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] on MediaWikin ensisijainen kohde ja se on myös parhaiten tuettu. MediaWiki voi myös käyttää [{{int:version-db-mariadb-url}} MariaDB]- sekä [{{int:version-db-percona-url}} Percona Server]-järjestelmiä, jotka ovat MySQL-yhteensopivia. ([http://www.php.net/manual/en/mysqli.installation.php Miten käännetään PHP MySQL-tuella])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] on suosittu avoimen lähdekoodin tietokantajärjestelmä vaihtoehtona MySQL:lle. ([http://www.php.net/manual/en/pgsql.installation.php Kuinka käännetään PHP PostgreSQL-tuella])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] on MediaWikin ensisijainen kohde ja se on myös parhaiten tuettu. MediaWiki voi myös käyttää [{{int:version-db-mariadb-url}} MariaDB]- sekä [{{int:version-db-percona-url}} Percona Server]-järjestelmiä, jotka ovat MySQL-yhteensopivia. ([https://secure.php.net/manual/en/mysqli.installation.php Miten käännetään PHP MySQL-tuella])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] on suosittu avoimen lähdekoodin tietokantajärjestelmä vaihtoehtona MySQL:lle. ([Config-dbsupport-oracle/manual/en/pgsql.installation.php Kuinka käännetään PHP PostgreSQL-tuella])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] on kevyt tietokantajärjestelmä, jota tuetaan hyvin. ([http://www.php.net/manual/en/pdo.installation.php Miten käännetään PHP SQLite-tuella], käyttää PDO:ta)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] on kaupallinen yritystietokanta. ([http://www.php.net/manual/en/oci8.installation.php Kuinka käännetään PHP OCI8-tuella])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] on kaupallinen yritystietokanta Windowsille. ([http://www.php.net/manual/en/sqlsrv.installation.php Miten käännetään PHP SQLSRV-tuella])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] on kaupallinen yritystietokanta Windowsille. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php Miten käännetään PHP SQLSRV-tuella])",
        "config-header-mysql": "MySQL-asetukset",
        "config-header-postgres": "PostgreSQL-asetukset",
        "config-header-sqlite": "SQLite-asetukset",
        "config-license-help": "Monet julkiset wikit käyttävät muokkauksiin [https://freedomdefined.org/Definition vapaata lisenssiä].\nTämä auttaa luomaan yhteisöllisen omistajuuden tunteen ja kannustaa pitkäkestoiseen muokkaamiseen.\nSe ei ole yleensä tarpeen yksityiselle tai yrityksen wikille.\n\nJos haluat pystyä käyttämään tekstiä Wikipediasta, ja haluat Wikipedian pystyvän hyväksymään wikistäsi kopioitua tekstiä, sinun tulisi valita <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nWikipedia käytti aiemmin GNU Free Documentation Licenseä.\nGFDL on kelvollinen lisenssi, mutta vaikea ymmärtää.\nOn myös vaikeaa käyttää uudelleen GFDL-lisensöityä sisältöä.",
        "config-email-settings": "Sähköpostiasetukset",
        "config-enable-email": "Ota käyttöön sähköpostien lähetys",
-       "config-enable-email-help": "Jotta sähköposti toimii, [http://www.php.net/manual/en/mail.configuration.php PHP:n sähköpostiasetukset] täytyy asettaa oikein.\nJos et halua käyttää sähköpostiominaisuuksia, ne voi kytkeä pois päältä tästä.",
+       "config-enable-email-help": "Jotta sähköposti toimii, [Config-dbsupport-oracle/manual/en/mail.configuration.php PHP:n sähköpostiasetukset] täytyy asettaa oikein.\nJos et halua käyttää sähköpostiominaisuuksia, ne voi kytkeä pois päältä tästä.",
        "config-email-user": "Ota käyttöön käyttäjältä käyttäjälle sähköpostit",
        "config-email-user-help": "Salli käyttäjien lähettää sähköpostia toisilleen jos he ovat ottaneet käyttöön toiminnon asetuksissaan.",
        "config-email-usertalk": "Ota käyttöön käyttäjien keskustelusivusta ilmoittaminen",
index 3d801cc..39a1868 100644 (file)
        "config-pcre-no-utf8": "<strong>Erreur fatale :</strong> le module PCRE de PHP semble être compilé sans la prise en charge de PCRE_UTF8.\nMediaWiki a besoin de la gestion d’UTF-8 pour fonctionner correctement.",
        "config-memory-raised": "Le paramètre <code>memory_limit</code> de PHP était à $1, porté à $2.",
        "config-memory-bad": "<strong>Attention :</strong> Le paramètre <code>memory_limit</code> de PHP est à $1.\nCette valeur est probablement trop faible.\nIl est possible que l’installation échoue !",
-       "config-apc": "[http://www.php.net/apc APC] est installé",
-       "config-apcu": "[http://www.php.net/apcu APCu] est installé",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] est installé",
-       "config-no-cache-apcu": "<strong>Attention :</strong> impossible de trouver [http://www.php.net/apcu APCu] ou [http://www.iis.net/download/WinCacheForPhp WinCache].\nLa mise en cache d’objets n’est pas activée.",
+       "config-apc": "[https://secure.php.net/apc APC] est installé",
+       "config-apcu": "[https://secure.php.net/apcu APCu] est installé",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] est installé",
+       "config-no-cache-apcu": "<strong>Attention :</strong> impossible de trouver [https://secure.php.net/apcu APCu] ou [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nLa mise en cache d’objets n’est pas activée.",
        "config-mod-security": "<strong>Attention :</strong> votre serveur web a [https://modsecurity.org/ mod_security] activé. S’il est mal configuré, cela peut poser des problèmes à MediaWiki ou à d’autres applications qui permettent aux utilisateurs de publier un contenu quelconque. Si possible, ceci devrait être désactivé. Sinon, reportez-vous à [https://modsecurity.org/documentation/ la documentation de mod_security] ou contactez l’assistance de votre hébergeur si vous rencontrez des erreurs aléatoires.",
        "config-diff3-bad": "GNU diff3 introuvable.",
        "config-git": "Logiciel de contrôle de version Git trouvé : <code>$1</code>.",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki prend en charge ces systèmes de bases de données :\n\n$1\n\nSi vous ne voyez pas le système de base de données que vous essayez d’utiliser ci-dessous, alors suivez les instructions ci-dessus (voir liens) pour activer la prise en charge.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] est le premier choix pour MediaWiki et est le mieux pris en charge. MediaWiki fonctionne aussi avec [{{int:version-db-mariadb-url}} MariaDB] et [{{int:version-db-percona-url}} Percona Server], qui sont compatibles avec MySQL. ([http://www.php.net/manual/en/mysqli.installation.php Comment compiler PHP avec la prise en charge de MySQL])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] est un système de base de données populaire en ''source ouverte'' qui peut être une alternative à MySQL ([http://www.php.net/manual/en/pgsql.installation.php Comment compiler PHP avec la prise en charge de PostgreSQL]).",
-       "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] est un système de base de données léger bien pris en charge ([http://www.php.net/manual/fr/pdo.installation.php Comment compiler PHP avec la prise en charge de SQLite], en utilisant PDO).",
-       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] est un système commercial de gestion de base de données d’entreprise. ([http://www.php.net/manual/en/oci8.installation.php Comment compiler PHP avec la prise en charge d’OCI8])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] est une base de données commerciale d’entreprise pour Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Comment compiler PHP avec la prise en charge de SQLSRV])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] est le premier choix pour MediaWiki et est le mieux pris en charge. MediaWiki fonctionne aussi avec [{{int:version-db-mariadb-url}} MariaDB] et [{{int:version-db-percona-url}} Percona Server], qui sont compatibles avec MySQL. ([https://secure.php.net/manual/en/mysqli.installation.php Comment compiler PHP avec la prise en charge de MySQL])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] est un système de base de données populaire en ''source ouverte'' qui peut être une alternative à MySQL ([https://secure.php.net/manual/en/pgsql.installation.php Comment compiler PHP avec la prise en charge de PostgreSQL]).",
+       "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] est un système de base de données léger bien pris en charge ([https://secure.php.net/manual/en/pdo.installation.php Comment compiler PHP avec la prise en charge de SQLite], en utilisant PDO).",
+       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] est un système commercial de gestion de base de données d’entreprise. ([https://secure.php.net/manual/en/oci8.installation.php Comment compiler PHP avec la prise en charge d’OCI8])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] est une base de données commerciale d’entreprise pour Windows. ([https://secure.php.net/manual/en/sqlsrv.installation.php Comment compiler PHP avec la prise en charge de SQLSRV])",
        "config-header-mysql": "Paramètres de MySQL",
        "config-header-postgres": "Paramètres de PostgreSQL",
        "config-header-sqlite": "Paramètres de SQLite",
        "config-license-help": "Beaucoup de wikis publics mettent l’ensemble des contributions sous une [https://freedomdefined.org/Definition/Fr licence libre].\nCela contribue à créer un sentiment d’appartenance à une communauté et encourage les contributions sur le long terme.\nCe n’est généralement pas nécessaire pour un wiki privé ou d’entreprise.\n\nSi vous souhaitez utiliser des textes de Wikipédia, et souhaitez que Wikipédia puisse réutiliser des textes copiés depuis votre wiki, vous devriez choisir <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nWikipédia utilisait auparavant la Licence de Documentation Libre GNU (GFDL).\nC’est une licence valide, mais difficile à comprendre. \nIl est aussi difficile de réutiliser du contenu sous la licence GFDL.",
        "config-email-settings": "Paramètres de courriel",
        "config-enable-email": "Activer les courriels sortants",
-       "config-enable-email-help": "Si vous souhaitez utiliser le courriel, vous devez [http://www.php.net/manual/en/mail.configuration.php configurer des paramètres PHP] (texte en anglais).\nSi vous ne voulez pas du service de courriel, vous pouvez le désactiver ici.",
+       "config-enable-email-help": "Si vous souhaitez utiliser le courriel, vous devez avoir les [https://secure.php.net/manual/en/mail.configuration.php paramètres courriel de PHP] configurés correctement (texte en anglais).\nSi vous ne voulez pas du service de courriel, vous pouvez le désactiver ici.",
        "config-email-user": "Activer les courriers électroniques d'utilisateur à utilisateur",
        "config-email-user-help": "Permet à tous les utilisateurs d'envoyer des courriels à d'autres utilisateurs si cela est activé dans leurs préférences.",
        "config-email-usertalk": "Activer la notification des pages de discussion des utilisateurs",
index 7f943f2..6f6210e 100644 (file)
@@ -30,8 +30,8 @@
        "config-page-existingwiki": "Vouiqui ègzistent",
        "config-env-php": "PHP $1 est enstalâ.",
        "config-memory-raised": "Lo paramètre <code>memory_limit</code> de PHP ére a $1, portâ a $2.",
-       "config-apc": "[http://www.php.net/apc APC] est enstalâ",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] est enstalâ",
+       "config-apc": "[https://secure.php.net/apc APC] est enstalâ",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] est enstalâ",
        "config-diff3-bad": "GNU diff3 entrovâblo.",
        "config-db-type": "Tipo de bâsa de balyês :",
        "config-db-host": "Hôto de la bâsa de balyês :",
index 50b124e..f30914b 100644 (file)
        "config-pcre-no-utf8": "<strong>Erro fatal:</strong> Semella que o módulo PCRE do PHP foi compilado sen o soporte PCRE_UTF8.\nMediaWiki necesita soporte UTF-8 para funcionar correctamente.",
        "config-memory-raised": "O parámetro <code>memory_limit</code> do PHP é $1. Aumentado a $2.",
        "config-memory-bad": "<strong>Atención:<strong> O parámetro <code>memory_limit</code> do PHP é $1.\nProbablemente é un valor baixo de máis.\nA instalación pode fallar!",
-       "config-apc": "[http://www.php.net/apc APC] está instalado",
-       "config-apcu": "[http://www.php.net/apcu APCu] está instalado",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] está instalado",
-       "config-no-cache-apcu": "<strong>Advertencia:</strong> Non se puido atopar [http://www.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] ou [http://www.iis.net/download/WinCacheForPhp WinCache].\nA caché de obxectos non está activada.",
+       "config-apc": "[https://secure.php.net/apc APC] está instalado",
+       "config-apcu": "[https://secure.php.net/apcu APCu] está instalado",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] está instalado",
+       "config-no-cache-apcu": "<strong>Advertencia:</strong> Non se puido atopar [https://secure.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] ou [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nA caché de obxectos non está activada.",
        "config-mod-security": "<strong>Atención:</strong> O seu servidor web ten o [https://modsecurity.org/ mod_security] activado. Se estivese mal configurado, pode causar problemas a MediaWiki ou calquera outro software que permita aos usuarios publicar contidos arbitrarios.\nOlle a [https://modsecurity.org/documentation/ documentación do mod_security] ou póñase en contacto co soporte do seu servidor se atopa erros aleatorios.",
        "config-diff3-bad": "GNU diff3 non se atopou.",
        "config-git": "Atopouse o software de control da versión de Git: <code>$1</code>.",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki soporta os seguintes sistemas de bases de datos:\n\n$1\n\nSe non ve listado a continuación o sistema de base de datos que intenta usar, siga as instrucións ligadas enriba para activar o soporte.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] é o obxectivo principal para MediaWiki e está mellor soportado. MediaWiki tamén funciona con [{{int:version-db-mariadb-url}} MariaDB] e [{{int:version-db-percona-url}} Percona Server], que son compatibles con MySQL. ([http://www.php.net/manual/en/mysqli.installation.php  Como compilar PHP con compatibilidade MySQL])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] é un sistema de base de datos popular e de código aberto como alternativa a MySQL. ([http://www.php.net/manual/en/pgsql.installation.php Como compilar PHP con compatibilidade PostgreSQL])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] é o obxectivo principal para MediaWiki e está mellor soportado. MediaWiki tamén funciona con [{{int:version-db-mariadb-url}} MariaDB] e [{{int:version-db-percona-url}} Percona Server], que son compatibles con MySQL. ([https://secure.php.net/manual/en/mysqli.installation.php  Como compilar PHP con compatibilidade MySQL])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] é un sistema de base de datos popular e de código aberto como alternativa a MySQL. ([Config-dbsupport-oracle/manual/en/pgsql.installation.php Como compilar PHP con compatibilidade PostgreSQL])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] é un sistema de base de datos lixeiro moi ben soportado. ([http://www.php.net/manual/en/pdo.installation.php Como compilar o PHP con soporte SQLite], emprega PDO)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] é un sistema comercial de xestión de base de datos de nivel empresarial. ([http://www.php.net/manual/en/oci8.installation.php Como compilar o PHP con compatibilidade OCI8])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] é un sistema comercial de xestión de base de datos de nivel empresarial para Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Como compilar o PHP con compatibilidade SQLSRV])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] é un sistema comercial de xestión de base de datos de nivel empresarial para Windows. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php Como compilar o PHP con compatibilidade SQLSRV])",
        "config-header-mysql": "Configuración do MySQL",
        "config-header-postgres": "Configuración do PostgreSQL",
        "config-header-sqlite": "Configuración do SQLite",
        "config-license-help": "Moitos wikis públicos liberan todas as súas contribucións baixo unha [https://freedomdefined.org/Definition/Gl licenza libre].\nIsto axuda a crear un sentido de propiedade comunitaria e anima a seguir contribuíndo durante moito tempo.\nXeralmente, non é necesario nos wikis privados ou de empresas.\n\nSe quere poder empregar textos da Wikipedia, así como que a Wikipedia poida aceptar textos copiados do seu wiki, escolla a licenza <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nA licenza de documentación libre de GNU era a licenza anterior da Wikipedia.\nMalia aínda ser unha licenza válida, é difícil de entender.\nTamén é difícil reusar contidos baixo esta licenza.",
        "config-email-settings": "Configuración do correo electrónico",
        "config-enable-email": "Activar os correos electrónicos de saída",
-       "config-enable-email-help": "Se quere que o correo electrónico funcione, cómpre configurar os [http://www.php.net/manual/en/mail.configuration.php parámetros PHP] correctamente.\nSe non quere ningunha característica no correo, pode desactivalas aquí.",
+       "config-enable-email-help": "Se quere que o correo electrónico funcione, cómpre configurar os [Config-dbsupport-oracle/manual/en/mail.configuration.php parámetros PHP] correctamente.\nSe non quere ningunha característica no correo, pode desactivalas aquí.",
        "config-email-user": "Activar o intercambio de correos electrónicos entre usuarios",
        "config-email-user-help": "Permitir que todos os usuarios intercambien correos electrónicos, se o teñen activado nas súas preferencias.",
        "config-email-usertalk": "Activar a notificación da páxina de conversa de usuario",
index 44f5eb2..48dfbe3 100644 (file)
@@ -49,8 +49,8 @@
        "config-pcre-no-utf8": "'''Fatale Fähler: S PHP-Modul PCRE isch schyns ohni PCRE_UTF8-Unterstitzig kompiliert wore.'''\nMediaWiki brucht d UTF-8-Unterstitzi zum fählerfrej lauffähig syy.",
        "config-memory-raised": "Dr PHP-Parameter <code>memory_limit</code> lyt bi $1 un isch uf $2 uffegsetzt wore.",
        "config-memory-bad": "'''Warnig:''' Dr PHP-Parameter <code>memory_limit</code> lyt bi $1.\nDää Wärt isch wahrschyns z nider.\nDr Inschtallationsvorgang chennt wäge däm fählschlaa!",
-       "config-apc": "[http://www.php.net/apc APC] isch inschtalliert",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] isch inschtalliert",
+       "config-apc": "[https://secure.php.net/apc APC] isch inschtalliert",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] isch inschtalliert",
        "config-diff3-bad": "GNU diff3 isch nit gfunde wore.",
        "config-imagemagick": "ImageMagick isch gfunde wore: <code>$1</code>.\nMiniaturaasichte vu Bilder sin megli, sobald s Uffelade vu Dateie aktiviert isch.",
        "config-help": "Hilf",
index 72a4d7d..ea28b58 100644 (file)
        "config-pcre-no-utf8": "<strong>שגיאה סופנית</strong>: נראה שמודול PCRE של PHP מהודר ללא תמיכה ב־PCRE_UTF8.\nמדיה־ויקי דורשת תמיכה ב־UTF-8 לפעילות נכונה.",
        "config-memory-raised": "ערך האפשרות <code>memory_limit</code> של PHP הוא $1, הועלה ל־$2.",
        "config-memory-bad": "'''אזהרה:''' ערך האפשרות <code>memory_limit</code> של PHP הוא $1.\nזה כנראה נמוך מדי.\nההתקנה עשויה להיכשל!",
-       "config-apc": "[http://www.php.net/apc APC] מותקן",
-       "config-apcu": "[http://www.php.net/apcu APCu] מותקן",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] מותקן",
-       "config-no-cache-apcu": "<strong>אזהרה:</strong> לא נמצא [http://www.php.net/apcu APCu]‏ או [http://www.iis.net/download/WinCacheForPhp WinCache].\nמטמון עצמים לא מופעל.",
+       "config-apc": "[https://secure.php.net/apc APC] מותקן",
+       "config-apcu": "[https://secure.php.net/apcu APCu] מותקן",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] מותקן",
+       "config-no-cache-apcu": "<strong>אזהרה:</strong> לא נמצא [https://secure.php.net/apcu APCu]‏ או [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nמטמון עצמים לא מופעל.",
        "config-mod-security": "'''אזהרה''': בשרת הווב שלך מופעל [https://modsecurity.org/ mod_security]. אם הוא לא מוגדר טוב, זה יכול לגרום לבעיות במדיה־ויקי ובתכנה אחרת שמאפשרת למשתמשים לשלוח תוכן שרירותי.\nיש לקרוא את [https://modsecurity.org/documentation/ התיעוד של mod_security] או ליצור קשר עם אנשי התמיכה של שירותי האירוח שלכם אם מופיעות לך שגיאות אקראיות.",
        "config-diff3-bad": "GNU diff3 לא נמצא.",
        "config-git": "נמצאה Git, תכנת בקרת התצורה: <code dir=\"ltr\">$1</code>.",
        "config-type-mysql": "MySQL (או תואם)",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "מדיה־ויקי תומכת במערכות מסדי הנתונים הבאות:\n\n$1\n\nאם אינך רואה את מסד הנתונים שלך ברשימה, יש לעקוב אחר ההוראות המקושרות לעיל כדי להפעיל את התמיכה.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] הוא היעד העיקרי עבור מדיה־ויקי ולו התמיכה הטובה ביותר. מדיה־ויקי עובדת גם עם [{{int:version-db-mariadb-url}} MariaDB] ועם [{{int:version-db-percona-url}} Percona Server], שתואמים ל־MySQL. (ר׳ [http://www.php.net/manual/en/mysql.installation.php how to compile PHP with MySQL support])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] הוא מסד נתונים נפוץ בקוד פתוח והוא נפוץ בתור חלופה ל־MySQL. (ר׳ [http://www.php.net/manual/en/pgsql.installation.php how to compile PHP with PostgreSQL support]).",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] הוא היעד העיקרי עבור מדיה־ויקי ולו התמיכה הטובה ביותר. מדיה־ויקי עובדת גם עם [{{int:version-db-mariadb-url}} MariaDB] ועם [{{int:version-db-percona-url}} Percona Server], שתואמים ל־MySQL. (ר׳ [https://secure.php.net/manual/en/mysql.installation.php how to compile PHP with MySQL support])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] הוא מסד נתונים נפוץ בקוד פתוח והוא נפוץ בתור חלופה ל־MySQL. (ר׳ [Config-dbsupport-oracle/manual/en/pgsql.installation.php how to compile PHP with PostgreSQL support]).",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] הוא מסד נתונים קליל עם תמיכה טובה מאוד. (ר׳ [http://www.php.net/manual/en/pdo.installation.php How to compile PHP with SQLite support], משתמש ב־PDO)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] הוא מסד נתונים עסקי מסחרי. (ר׳ [http://www.php.net/manual/en/oci8.installation.php How to compile PHP with OCI8 support])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] הוא מסד נתונים עסקי מסחרי לחלונות. ([http://www.php.net/manual/en/sqlsrv.installation.php How to compile PHP with SQLSRV support])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] הוא מסד נתונים עסקי מסחרי לחלונות. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php How to compile PHP with SQLSRV support])",
        "config-header-mysql": "הגדרות MySQL",
        "config-header-postgres": "הגדרות PostgreSQL",
        "config-header-sqlite": "הגדרות SQLite",
        "config-license-help": "אתרי ויקי ציבוריים רבים מפרסמים את כל התרומות [https://freedomdefined.org/Definition ברישיון חופשי].\nזה עוזר ליצור תחושה של בעלות קהילתית ומעודד תרומה לאורך זמן.\nזה בדרך כלל לא נחוץ לאתר ויקי פרטי או אתר של חברה מסחרית.\n\nאם האפשרות להשתמש בטקסט מוויקיפדיה והאפשרות שוויקיפדיה תוכל תקבל עותקים של טקסטים מהוויקי שלך חשובות לך, כדאי לבחור ב<strong>{{int:config-license-cc-by-sa}}</strong>.\n\nויקיפדיה השתמשה בעבר ברישיון החופשי למסמכים של גנו (GNU FDL או GFDL).\nהוא עדיין רישיון תקין, אבל קשה להבנה.\nכמו־כן, קשה לעשות שימוש חוזר ביצירות שפורסמו לפי GFDL.",
        "config-email-settings": "הגדרות דוא״ל",
        "config-enable-email": "להפעיל דוא״ל יוצא",
-       "config-enable-email-help": "אם אתם רוצים שדוא״ל יעבוד, [http://www.php.net/manual/en/mail.configuration.php אפשרויות הדוא״ל של PHP] צריכות להיות מוגדרות נכון.\nאם אינכם רוצים להפעיל שום אפשרויות דוא״ל, כבו אותן כאן ועכשיו.",
+       "config-enable-email-help": "אם אתם רוצים שדוא״ל יעבוד, [Config-dbsupport-oracle/manual/en/mail.configuration.php אפשרויות הדוא״ל של PHP] צריכות להיות מוגדרות נכון.\nאם אינכם רוצים להפעיל שום אפשרויות דוא״ל, כבו אותן כאן ועכשיו.",
        "config-email-user": "להפעיל שליחת דוא״ל ממשתמש למשתמש",
        "config-email-user-help": "לאפשר לכל המשתמשים לשלוח אחד לשני דוא״ל אם הם הפעילו את זה בהעדפות שלהם.",
        "config-email-usertalk": "להפעיל הודעות על דף שיחת משתמש",
index 5e9e1e2..992ba29 100644 (file)
@@ -47,9 +47,9 @@
        "config-env-php": "PHP $1 स्थापित किया गया है।",
        "config-env-hhvm": "एचएचवीएम $1 स्थापित किया गया है।",
        "config-memory-raised": "पीएचपी की <code>memory_limit</code> सीमा $1 है, जो $2 तक बढ़ गई है।",
-       "config-apc": "[http://www.php.net/apc एपीसी] स्थापित है।",
-       "config-apcu": "[http://www.php.net/apcu एपीसीयू] स्थापित है।",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp विनकैश] स्थापित है।",
+       "config-apc": "[https://secure.php.net/apc एपीसी] स्थापित है।",
+       "config-apcu": "[https://secure.php.net/apcu एपीसीयू] स्थापित है।",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension विनकैश] स्थापित है।",
        "config-using-32bit": "<विशेष>चेतावनी:</विशेष> आपका सिस्टम 32-बिट पूर्णांक के साथ चल रहा है यह [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:32-bit विवेचित नहीं है]।",
        "config-db-type": "डेटाबेस प्रकार:",
        "config-db-host": "डेटाबेस होस्ट:",
index 343f50b..39c5353 100644 (file)
@@ -57,8 +57,8 @@
        "config-pcre-no-utf8": "'''Fataler Fehler:''' Das PHP-Modul PCRE scheint ohne PCRE_UTF8-Unterstützung kompiliert worre sin.\nMediaWiki benöticht die UTF-8-Unnerstützung, um fehlerfrei looffähich zu sin.",
        "config-memory-raised": "Der PHP-Parameter <code>memory_limit</code> betruch $1 und woard uff $2 erhöcht.",
        "config-memory-bad": "'''Warnung:''' Der PHP-Parameter <code>memory_limit</code> beträcht $1.\nDer Weart ist wahrscheinlich zu niedrich.\nDer Installationsvoargang könnt doher scheitre!",
-       "config-apc": "[http://www.php.net/apc APC] ist installiert",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] ist installiert",
+       "config-apc": "[https://secure.php.net/apc APC] ist installiert",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] ist installiert",
        "config-mod-security": "'''Warnung:''' Uff dem Webserver woard [https://modsecurity.org/ ModSecurity] aktiviert. Sofern falsch konfiguriert, kann das zu Probleme mit MediaWiki sowie annrer Software uff dem Server führe und es Benutzer ermöchliche beliebiche Inhalte im Wiki Renzustelle.\nFür weitre Informatione empfehle mir die [https://modsecurity.org/documentation/ Dokumentation zu ModSecurity] orrer den Kontakt zum Hoster, sofern Fehler ufftrete.",
        "config-diff3-bad": "GNU diff3 woard net gefund.",
        "config-git": "Die Versionsverwaltungssoftware „Git“ woard gefund: <code>$1</code>.",
        "config-type-mysql": "MySQL (orrer kompatible Datebanksysteme)",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki unnerstützt die follichenne Datebanksysteme:\n\n$1\n\nSoweit net das Datebanksystem oongezeicht weard, das verwennt werre soll, gebt das uwe en Link zu der Oonleitung mit Informatione, wie das aktiviert sin kann.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] ist das von MediaWiki primär unterstützte Datebanksystem. MediaWiki funktioniert ooch mit [{{int:version-db-mariadb-url}} MariaDB] und [{{int:version-db-percona-url}} Percona Server], die MySQL-kompatibel sind. ([http://www.php.net/manual/en/mysqli.installation.php Oonleitung zur Kompilierung von PHP mit MySQL-Unnerstützung] [englisch Sproch])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] ist en beliebtes Open-Source-Datebanksystem und ein Alternativ zu MySQL. Es gibt awer enche klenre Implementierungsfehler, so dass von der Nutzung in ener Produktivumgebung abgerat weard. ([http://www.php.net/manual/de/pgsql.installation.php Oonnleitung zur Kompilierung von PHP mit PostgreSQL-Unterstützung])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] ist das von MediaWiki primär unterstützte Datebanksystem. MediaWiki funktioniert ooch mit [{{int:version-db-mariadb-url}} MariaDB] und [{{int:version-db-percona-url}} Percona Server], die MySQL-kompatibel sind. ([https://secure.php.net/manual/en/mysqli.installation.php Oonleitung zur Kompilierung von PHP mit MySQL-Unnerstützung] [englisch Sproch])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] ist en beliebtes Open-Source-Datebanksystem und ein Alternativ zu MySQL. Es gibt awer enche klenre Implementierungsfehler, so dass von der Nutzung in ener Produktivumgebung abgerat weard. ([Config-dbsupport-oracle/manual/de/pgsql.installation.php Oonnleitung zur Kompilierung von PHP mit PostgreSQL-Unterstützung])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] ist en verschlanktes Datebanksystem, das ooch gut unnerstützt weard ([http://www.php.net/manual/de/pdo.installation.php Oonleitung zur Kompilierung von PHP mit SQLite-Unterstützung], verwennt PHP Data Objects (PDO))",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] ist en kommerzielle Unnernehmensdatebank ([http://www.php.net/manual/en/oci8.installation.php Oonleitung zur Kompilierung von PHP mit OCI8-Unnerstützung (en)])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] ist en gewerbliche Unnernehmensdatebank für Windows. ([http://www.php.net/manual/de/sqlsrv.installation.php Oonleitung zur Kompilierung von PHP mithilfe SQLSRV-Unnerstützung])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] ist en gewerbliche Unnernehmensdatebank für Windows. ([Config-dbsupport-oracle/manual/de/sqlsrv.installation.php Oonleitung zur Kompilierung von PHP mithilfe SQLSRV-Unnerstützung])",
        "config-header-mysql": "MySQL-Instellunge",
        "config-header-postgres": "PostgreSQL-Instellunge",
        "config-header-sqlite": "SQLite-Instellunge",
        "config-license-help": "Viele öffentliche Wikis publiziere all Beiträche unner en [https://freedomdefined.org/Definition/De freie Lizenz].\nDas träht dozu bei en Gefühl von Gemeinschaft zu schaffe und ermuticht zu längerfristicher Mitoorweit.\nDahinchege ist im Allgemeinen en freie Lizenz uff geschlossne Wikis net notwennich.\n\nSoweit man Texte aus der Wikipedia verwenne möcht und umgekehrt, sollt die Creative Commons-Lizenz \"Noomenennung, Weitergäb unner gleiche Bedingunge\" gewählt sin.\n\nDie Wikipedia nutzte voarmols die GNU-Lizenz für freie Dokumentation (GFDL).\nDie GFDL ist en gültiche Lizenz, wo awer schwear zu verstehn ist.\nEs ist zudem schwierich gemäss die Lizenz lizenziert Inhalte wiederzuverwenne.",
        "config-email-settings": "E-Mail-Instellunge",
        "config-enable-email": "Ausgehende E-Mails ermöchliche",
-       "config-enable-email-help": "Soweit die E-Mail-Funktione benutzt sin solle, müsse die entsprechende [http://www.php.net/manual/en/mail.configuration.php PHP-E-Mail-Einstellungen] richtich konfiguriert sin.\nFür den Fall, dass die E-Mail-Funktione net benöticht sin, könne die dohier deaktiviert sin.",
+       "config-enable-email-help": "Soweit die E-Mail-Funktione benutzt sin solle, müsse die entsprechende [Config-dbsupport-oracle/manual/en/mail.configuration.php PHP-E-Mail-Einstellungen] richtich konfiguriert sin.\nFür den Fall, dass die E-Mail-Funktione net benöticht sin, könne die dohier deaktiviert sin.",
        "config-email-user": "E-Mail-Versand von Benutzer zu Benutzer aktiviere",
        "config-email-user-help": "Alle Benutzer ermöchliche, sich gecheseitich E-Mails zu schicke, soweit die das in ehre Instellunge aktiviert hoon.",
        "config-email-usertalk": "Benachrichtigunge zu Ändrunge an Benutzerdiskussionsseite ermöchliche",
index 1544d21..8b7a124 100644 (file)
@@ -53,8 +53,8 @@
        "config-pcre-no-utf8": "'''Ćežki zmylk''': Zda so, zo PCRE-modul za PHP ma so bjez PCRE_UTF8-podpěry kompilować.\nMediaWiki trjeba UTF-8-podpěru, zo by korektnje fungował.",
        "config-memory-raised": "PHP-parameter <code>memory_limit</code> je $1, je so na hódnotu $2 zwyšił.",
        "config-memory-bad": "'''Warnowanje:''' PHP-parameter <code>memory_limit</code> ma hódnotu $1,\nTo je najskerje přeniske.\nInstalacija móhła so njeporadźić!",
-       "config-apc": "[http://www.php.net/apc APC] je instalowany",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] je instalowany",
+       "config-apc": "[https://secure.php.net/apc APC] je instalowany",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] je instalowany",
        "config-diff3-bad": "GNU diff3 njenamakany.",
        "config-no-uri": "'''Zmylk:''' Aktualny URI njeda so postajić.\nInstalacija bu přetorhnjena.",
        "config-no-cli-uri": "'''Warnowanje''': Žana skriptowa šćežka (<code>--scriptpath</code>) podata, standard so wužiwa: <code>$1</code>.",
@@ -87,8 +87,8 @@
        "config-type-postgres": "PostgreSQL",
        "config-type-sqlite": "SQLite",
        "config-type-oracle": "Oracle",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] je primarny cil za MediaWiki a podpěruje so najlěpje. MediaWiki funguje tež z [{{int:version-db-mariadb-url}} MariaDB] a [{{int:version-db-percona-url}} Percona Server], kotrejž stej kompatibelnej z MySQL. ([http://www.php.net/manual/en/mysqli.installation.php Nawod ke kompilowanju  PHP z  MySQL-podpěru])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] je popularny system datoweje banki zjawneho žórła jako alternatiwa k MySQL. Móhło hišće někotre zmylki eksistować, a njeporuča so jón w produktiwnej wokolinje wužiwać. ([http://www.php.net/manual/en/pgsql.installation.php Nawod za kompilowanje PHP z podpěru PostgreSQL])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] je primarny cil za MediaWiki a podpěruje so najlěpje. MediaWiki funguje tež z [{{int:version-db-mariadb-url}} MariaDB] a [{{int:version-db-percona-url}} Percona Server], kotrejž stej kompatibelnej z MySQL. ([https://secure.php.net/manual/en/mysqli.installation.php Nawod ke kompilowanju  PHP z  MySQL-podpěru])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] je popularny system datoweje banki zjawneho žórła jako alternatiwa k MySQL. Móhło hišće někotre zmylki eksistować, a njeporuča so jón w produktiwnej wokolinje wužiwać. ([Config-dbsupport-oracle/manual/en/pgsql.installation.php Nawod za kompilowanje PHP z podpěru PostgreSQL])",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] je komercielna předewzaćelska datowa banka. ([http://www.php.net/manual/en/oci8.installation.php Nawod za kompilowanje PHP z OCI8-podpěru])",
        "config-header-mysql": "Nastajenja MySQL",
        "config-header-postgres": "Nastajenja PostgreSQL",
        "config-license-cc-choose": "Swójsku licencu Creative Commons wubrać",
        "config-email-settings": "E-mejlowe nastajenja",
        "config-enable-email": "Wuchadźace e-mejlki zmóžnić",
-       "config-enable-email-help": "Jeli chceš e-mejl wužiwać, dyrbja so [http://www.php.net/manual/en/mail.configuration.php e-mejlowe nastajenja PHP] prawje konfigurować.\nJeli nochceš e-mejlowe funkcije wužiwać, móžeš je tu znjemóžnić.",
+       "config-enable-email-help": "Jeli chceš e-mejl wužiwać, dyrbja so [Config-dbsupport-oracle/manual/en/mail.configuration.php e-mejlowe nastajenja PHP] prawje konfigurować.\nJeli nochceš e-mejlowe funkcije wužiwać, móžeš je tu znjemóžnić.",
        "config-email-user": "E-mejl mjez wužiwarjemi zmóžnić",
        "config-email-user-help": "Wšěm wužiwarjam dowolić, jednomu druhemu e-mejlki pósłać, jeli su tutu funkciju w swojich nastajenjach zmóžnili.",
        "config-email-usertalk": "Zdźělenja za wužiwarske diskusijne strony zmóžnić",
index 9f5e286..3f8a00f 100644 (file)
        "config-pcre-no-utf8": "<strong>Kritikus hiba:</strong> Úgy tűnik, hogy a PHP PRCE modulja PRCE_UTF8 támogatás nélkül lett fordítva.\nA MediaWikinek UTF-8-támogatásra van szüksége a helyes működéshez.",
        "config-memory-raised": "A PHP <code>memory_limit</code> beállításának értéke: $1. Meg lett növelve a következő értékre: $2.",
        "config-memory-bad": "<strong>Figyelmeztetés:</strong> A PHP <code>memory_limit</code> beállításának értéke $1.\nEz az érték valószínűleg túl kevés, a telepítés sikertelen lehet.",
-       "config-apc": "Az [http://www.php.net/apc APC] telepítve van",
-       "config-apcu": "Az [http://www.php.net/apcu APCu] telepítve van",
-       "config-wincache": "A [https://www.iis.net/download/WinCacheForPhp WinCache] telepítve van",
-       "config-no-cache-apcu": "<strong>Figyelmeztetés:</strong> nem találhatók a következők: [http://www.php.net/apcu APCu] vagy [http://www.iis.net/download/WinCacheForPhp WinCache].\nAz objektum gyorsítótárazása nincs engedélyezve.",
+       "config-apc": "Az [https://secure.php.net/apc APC] telepítve van",
+       "config-apcu": "Az [https://secure.php.net/apcu APCu] telepítve van",
+       "config-wincache": "A [https://www.iis.net/downloads/microsoft/wincache-extension WinCache] telepítve van",
+       "config-no-cache-apcu": "<strong>Figyelmeztetés:</strong> nem találhatók a következők: [https://secure.php.net/apcu APCu] vagy [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nAz objektum gyorsítótárazása nincs engedélyezve.",
        "config-diff3-bad": "GNU diff3 nem található.",
        "config-git": "Megtaláltam a Git verziókezelő szoftvert: <code>$1</code>.",
        "config-git-bad": "A Git verziókezelő rendszer nem található.",
        "config-type-mysql": "MySQL (vagy kompatibilis)",
        "config-type-mssql": "Microsoft SQL Szerver",
        "config-support-info": "A MediaWiki a következő adatbázisrendszereket támogatja:\n\n$1\n\nHa az alábbi listán nem találod azt a rendszert, melyet használni szeretnél, a fenti linken található instrukciókat követve engedélyezheted a támogatását.",
-       "config-dbsupport-mysql": "* A [{{int:version-db-mysql-url}} MySQL] a MediaWiki elsődleges célpontja, így a legjobban támogatott. A MediaWiki elfut [{{int:version-db-mariadb-url}} MariaDB-n] és [{{int:version-db-percona-url}} Percona Serveren] is, mivel ezek MySQL-kompatibilisek. ([http://www.php.net/manual/en/mysql.installation.php Hogyan fordítható a PHP MySQL-támogatással])",
-       "config-dbsupport-postgres": "* A [{{int:version-db-postgres-url}} PostgreSQL] népszerű, nyílt forráskódú adatbázisrendszer, a MySQL alternatívája. ([http://www.php.net/manual/en/pgsql.installation.php Hogyan fordítható a PHP PostgreSQL-támogatással])",
+       "config-dbsupport-mysql": "* A [{{int:version-db-mysql-url}} MySQL] a MediaWiki elsődleges célpontja, így a legjobban támogatott. A MediaWiki elfut [{{int:version-db-mariadb-url}} MariaDB-n] és [{{int:version-db-percona-url}} Percona Serveren] is, mivel ezek MySQL-kompatibilisek. ([https://secure.php.net/manual/en/mysql.installation.php Hogyan fordítható a PHP MySQL-támogatással])",
+       "config-dbsupport-postgres": "* A [{{int:version-db-postgres-url}} PostgreSQL] népszerű, nyílt forráskódú adatbázisrendszer, a MySQL alternatívája. ([Config-dbsupport-oracle/manual/en/pgsql.installation.php Hogyan fordítható a PHP PostgreSQL-támogatással])",
        "config-dbsupport-sqlite": "* Az [{{int:version-db-sqlite-url}} SQLite] egy könnyű, nagyon jól támogatott adatbázisrendszer. ([http://www.php.net/manual/en/pdo.installation.php Hogyan fordítható a PHP SQLite-támogatással], PDO-t használ)",
        "config-dbsupport-oracle": "* Az [{{int:version-db-oracle-url}} Oracle] kereskedelmi, vállalati adatbázisrendszer. ([http://www.php.net/manual/en/oci8.installation.php Hogyan fordítható a PHP OCI8-támogatással])",
-       "config-dbsupport-mssql": "* A [{{int:version-db-mssql-url}} Microsoft SQL Server] kereskedelmi, vállalati adatbázisrendszer. ([http://www.php.net/manual/en/sqlsrv.installation.php Hogyan fordítható a PHP SQLSRV-támogatással])",
+       "config-dbsupport-mssql": "* A [{{int:version-db-mssql-url}} Microsoft SQL Server] kereskedelmi, vállalati adatbázisrendszer. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php Hogyan fordítható a PHP SQLSRV-támogatással])",
        "config-header-mysql": "MySQL-beállítások",
        "config-header-postgres": "PostgreSQL-beállítások",
        "config-header-sqlite": "SQLite-beállítások",
        "config-license-help": "A legtöbb wiki valamilyen [https://freedomdefined.org/Definition szabad licenc] alatt teszi közzé a szerkesztéseit.\nEz erősíti a közösségi tulajdon érzését, és elősegíti a hosszú távú közreműködők megjelenését.\nÁltalában nem szükséges magán- vagy vállalati wiki esetén.\n\nHa a Wikipédiáról szeretnél szövegeket másolni, és azt szeretnéd, hogy a Wikipédián felhasználhassák a wikidben található szöveget, akkor a <strong>{{int:config-license-cc-by-sa}}</strong> lehetőséget válaszd.\n\nA Wikipédia korábban a GNU Szabad Dokumentációs Licencet használta.\nEz a licenc még ma is használható, azonban nem könnyű megérteni,\ntovábbá a GFDL alatt közzétett tartalom újrafelhasználása nehézkes.",
        "config-email-settings": "E-mail beállítások",
        "config-enable-email": "Kimenő e-mailek engedélyezése",
-       "config-enable-email-help": "E-mailek küldéséhez [http://www.php.net/manual/en/mail.configuration.php a PHP mail beállításait] megfelelően meg kell adni.\nHa nem akarsz semmilyen e-mailes funkciót használni, itt tilthatod le őket.",
+       "config-enable-email-help": "E-mailek küldéséhez [Config-dbsupport-oracle/manual/en/mail.configuration.php a PHP mail beállításait] megfelelően meg kell adni.\nHa nem akarsz semmilyen e-mailes funkciót használni, itt tilthatod le őket.",
        "config-email-user": "A felhasználók küldhetnek egymásnak e-maileket",
        "config-email-user-help": "Bármelyik felhasználó küldhet másiknak e-mail üzenetet, amennyiben engedélyezték a lehetőséget a beállításaiknál.",
        "config-email-usertalk": "Vitalapi értesítések engedélyezése",
index a7ede0a..d9e2ad1 100644 (file)
        "config-pcre-no-utf8": "'''Fatal''': Le modulo PCRE de PHP pare haber essite compilate sin supporto de PCRE_UTF8.\nMediaWiki require supporto de UTF-8 pro functionar correctemente.",
        "config-memory-raised": "Le <code>memory_limit</code> de PHP es $1, elevate a $2.",
        "config-memory-bad": "'''Aviso:''' Le <code>memory_limit</code> de PHP es $1.\nIsto es probabilemente troppo basse.\nLe installation pote faller!",
-       "config-apc": "[http://www.php.net/apc APC] es installate",
-       "config-apcu": "[http://www.php.net/apcu APCu] es installate",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] es installate",
-       "config-no-cache-apcu": "<strong>Attention:</strong> Impossibile trovar [http://www.php.net/apcu APCu] o [http://www.iis.net/download/WinCacheForPhp WinCache].\nLe cache de objectos non es activate.",
+       "config-apc": "[https://secure.php.net/apc APC] es installate",
+       "config-apcu": "[https://secure.php.net/apcu APCu] es installate",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] es installate",
+       "config-no-cache-apcu": "<strong>Attention:</strong> Impossibile trovar [https://secure.php.net/apcu APCu] o [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nLe cache de objectos non es activate.",
        "config-mod-security": "<strong>Attention</strong>: [https://modsecurity.org/ mod_security]/mod_security2 es active in tu servitor web. Multe configurationes commun de isto causa problemas pro MediaWiki o altere software que permitte al usatores de publicar contento arbitrari. Si possibile, isto deberea esser disactivate.\nAlteremente, consulta le [https://modsecurity.org/documentation/ documentation de mod_security] o contacta le servicio de adjuta de tu servitor si tu incontra estranie errores.",
        "config-diff3-bad": "GNU diff3 non trovate.",
        "config-git": "Systema de controlo de version Git trovate: <code>$1</code>",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki supporta le sequente systemas de base de datos:\n\n$1\n\nSi tu non vide hic infra le systema de base de datos que tu tenta usar, alora seque le instructiones ligate hic supra pro activar le supporto.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] es le systema primari pro MediaWiki e le melio supportate. MediaWiki functiona anque con [{{int:version-db-mariadb-url}} MariaDB] e con [{{int:version-db-percona-url}} Percona Server], le quales es compatibile con MySQL. ([http://www.php.net/manual/en/mysqli.installation.php Como compilar PHP con supporto de MySQL])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] es un systema de base de datos popular e open source, alternativa a MySQL. ([http://www.php.net/manual/en/pgsql.installation.php Como compilar PHP con supporto de PostgreSQL])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] es le systema primari pro MediaWiki e le melio supportate. MediaWiki functiona anque con [{{int:version-db-mariadb-url}} MariaDB] e con [{{int:version-db-percona-url}} Percona Server], le quales es compatibile con MySQL. ([https://secure.php.net/manual/en/mysqli.installation.php Como compilar PHP con supporto de MySQL])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] es un systema de base de datos popular e open source, alternativa a MySQL. ([https://secure.php.net/manual/en/pgsql.installation.php Como compilar PHP con supporto de PostgreSQL])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] es un systema de base de datos legier que es multo ben supportate. ([http://www.php.net/manual/en/pdo.installation.php Como compilar PHP con supporto de SQLite], usa PDO)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] es un banca de datos commercial pro interprisas. ([http://www.php.net/manual/en/oci8.installation.php Como compilar PHP con supporto de OCI8])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] es un base de datos de interprisa commercial pro Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Como compilar PHP con supporto de SQLSRV])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] es un base de datos de interprisa commercial pro Windows. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php Como compilar PHP con supporto de SQLSRV])",
        "config-header-mysql": "Configuration de MySQL",
        "config-header-postgres": "Configuration de PostgreSQL",
        "config-header-sqlite": "Configuration de SQLite",
        "config-license-help": "Multe wikis public pone tote le contributiones sub un [https://freedomdefined.org/Definition/Ia?uselang=ia licentia libere].\nIsto adjuta a crear un senso de proprietate communitari e incoragia le contribution in longe termino.\nIsto non es generalmente necessari pro un wiki private o de interprisa.\n\nSi tu vole poter usar texto de Wikipedia, e si tu vole que Wikipedia pote acceptar texto copiate de tu wiki, tu debe seliger <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nWikipedia usava anteriormente le Licentia GNU pro Documentation Libere (GFDL).\nIste es un licentia valide, ma es difficile a comprender.\nIl es anque difficile reusar le contento licentiate sub GFDL.",
        "config-email-settings": "Configuration de e-mail",
        "config-enable-email": "Activar le e-mail sortiente",
-       "config-enable-email-help": "Si tu vole que e-mail functiona, [http://www.php.net/manual/en/mail.configuration.php le optiones de e-mail de PHP] debe esser configurate correctemente.\nSi tu non vole functiones de e-mail, tu pote disactivar los hic.",
+       "config-enable-email-help": "Si tu vole que e-mail functiona, [Config-dbsupport-oracle/manual/en/mail.configuration.php le optiones de e-mail de PHP] debe esser configurate correctemente.\nSi tu non vole functiones de e-mail, tu pote disactivar los hic.",
        "config-email-user": "Activar le e-mail de usator a usator",
        "config-email-user-help": "Permitter a tote le usatores de inviar e-mail inter se, si illes lo ha activate in lor preferentias.",
        "config-email-usertalk": "Activar notification de cambios in paginas de discussion de usatores",
index 6e1834f..786bdeb 100644 (file)
@@ -71,9 +71,9 @@
        "config-pcre-no-utf8": "'''Fatal''': Modul PCRE PHP tampaknya dikompilasi tanpa dukungan PCRE_UTF8.\nMediaWiki memerlukan dukungan UTF-8 untuk berfungsi dengan benar.",
        "config-memory-raised": "<code>memory_limit</code> PHP adalah $1, dinaikkan ke $2.",
        "config-memory-bad": "'''Peringatan:''' <code>memory_limit</code> PHP adalah $1.\nIni terlalu rendah.\nInstalasi terancam gagal!",
-       "config-apc": "[http://www.php.net/apc APC] telah diinstal",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] telah diinstal",
-       "config-no-cache-apcu": "<strong>Peringatan:</strong> Tidak dapat menemukan [http://www.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] atau [http://www.iis.net/download/WinCacheForPhp WinCache]. Singgahan obyek tidak diaktifkan.",
+       "config-apc": "[https://secure.php.net/apc APC] telah diinstal",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] telah diinstal",
+       "config-no-cache-apcu": "<strong>Peringatan:</strong> Tidak dapat menemukan [https://secure.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] atau [https://www.iis.net/downloads/microsoft/wincache-extension WinCache]. Singgahan obyek tidak diaktifkan.",
        "config-mod-security": "<strong>Peringatan:</strong> Server web Anda memiliki [https://modsecurity.org/ mod_security] yang diaktifkan. Jika salah dalam mengkonfigurasi, ini dapat menyebabkan masalah untuk MediaWiki atau perangkat lunak lain yang memungkinkan pengguna untuk mengirim sembarang konten.\nLihat [https://modsecurity.org/documentation/ dokumentasi mod_security] atau hubungi layanan host Anda jika Anda mengalami kesalahan acak.",
        "config-diff3-bad": "GNU diff3 tidak ditemukan.",
        "config-git": "Menemukan perangkat lunak kontrol versi Git: <code>$1</code>.",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki mendukung sistem basis data berikut:\n\n$1\n\nJika Anda tidak melihat sistem basis data yang Anda gunakan tercantum di bawah ini, ikuti petunjuk terkait di atas untuk mengaktifkan dukungan.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] adalah target utama MediaWiki dan memiliki dukungan terbaik. MediaWiki juga berjalan dengan [{{int:version-db-mariadb-url}} MariaDB] dan [{{int:version-db-percona-url}} Server Percona], yang kompatibel dengan MySQL. ([http://www.php.net/manual/en/mysql.installation.php Cara mengompilasi PHP dengan dukungan MySQL])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] adalah sistem basis data sumber terbuka populer sebagai alternatif MySQL.([http://www.php.net/manual/en/pgsql.installation.php Bagaimana mengompilasikan PHP dengan dukungan PostgreSQL])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] adalah target utama MediaWiki dan memiliki dukungan terbaik. MediaWiki juga berjalan dengan [{{int:version-db-mariadb-url}} MariaDB] dan [{{int:version-db-percona-url}} Server Percona], yang kompatibel dengan MySQL. ([https://secure.php.net/manual/en/mysql.installation.php Cara mengompilasi PHP dengan dukungan MySQL])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] adalah sistem basis data sumber terbuka populer sebagai alternatif MySQL.([Config-dbsupport-oracle/manual/en/pgsql.installation.php Bagaimana mengompilasikan PHP dengan dukungan PostgreSQL])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] adalah sistem basis data yang ringan yang sangat baik dukungannya. ([http://www.php.net/manual/en/pdo.installation.php cara mengompilasi PHP dengan dukungan SQLite], menggunakan PDO)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] adalah basis data komersial untuk perusahaan. ([http://www.php.net/manual/en/oci8.installation.php cara mengompilasi PHP dengan dukungan OCI8])",
-       "config-dbsupport-mssql": "[{{int:version-db-mssql-url}} Microsoft SQL Server] adalah database perusahaan komersial untuk Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Bagaimana cara mengkompilasi PHP dengan dukungan SQLSRV])",
+       "config-dbsupport-mssql": "[{{int:version-db-mssql-url}} Microsoft SQL Server] adalah database perusahaan komersial untuk Windows. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php Bagaimana cara mengkompilasi PHP dengan dukungan SQLSRV])",
        "config-header-mysql": "Pengaturan MySQL",
        "config-header-postgres": "Pengaturan PostgreSQL",
        "config-header-sqlite": "Pengaturan SQLite",
        "config-license-help": "Banyak wiki publik melisensikan semua kontribusi di bawah [https://freedomdefined.org/Definition lisensi bebas].\nHal ini membantu menciptakan rasa kepemilikan komunitas dan mendorong kontribusi jangka panjang.\nHal ini umumnya tidak diperlukan untuk wiki pribadi atau perusahaan.\n\nJika Anda ingin dapat menggunakan teks dari Wikipedia dan Anda ingin agar Wikipedia dapat menerima teks yang disalin dari wiki Anda, Anda harus memilih <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nWikipedia sebelumnya menggunakan GNU Free Documentation License.\nLisensi ini masih sah, namun sulit dipahami.\nSelain itu, sulit untuk menggunakan ulang konten yang dilisensikan di bawah GFDL.",
        "config-email-settings": "Pengaturan surel",
        "config-enable-email": "Aktifkan surel keluar",
-       "config-enable-email-help": "Jika Anda ingin mengaktifkan surel, [http://www.php.net/manual/en/mail.configuration.php setelah surel PHP] perlu dikonfigurasi dengan benar.\nJika Anda tidak perlu fitur surel, Anda dapat menonaktifkannya di sini.",
+       "config-enable-email-help": "Jika Anda ingin mengaktifkan surel, [Config-dbsupport-oracle/manual/en/mail.configuration.php setelah surel PHP] perlu dikonfigurasi dengan benar.\nJika Anda tidak perlu fitur surel, Anda dapat menonaktifkannya di sini.",
        "config-email-user": "Aktifkan surel antarpengguna",
        "config-email-user-help": "Memungkinkan semua pengguna untuk saling berkirim surel jika mereka mengaktifkan pilihan tersebut dalam preferensi mereka.",
        "config-email-usertalk": "Aktifkan pemberitahuan perubahan halaman pembicaraan pengguna",
index 78be96b..2f5826f 100644 (file)
@@ -34,8 +34,8 @@
        "config-copyright": "=== Höfundarréttur og skilmálar ===\n\n$1\n\nÞetta er frjáls hugbúnaður; þú mátt dreifa honum og/eða breyta samkvæmt skilmálum í almenna GNU GPL notkunarleyfinu eins og það er gefið út af Frjálsu hugbúnaðarstofnuninni; annaðhvort útgáfu 2 af GPL-leyfinu, eða (ef þér sýnist svo) einhverri nýrri útgáfu leyfisins.\n\nHugbúnaði þessum er dreift í þeirri von að hann geti verið gagnlegur, en <strong>ÁN ALLRAR ÁBYRGÐAR</strong>; einnig án þeirrar ábyrgðar sem gefin er í skyn með <strong>SELJANLEIKA</strong> eða <strong>EIGINLEIKUM TIL TILTEKINNA NOTA</strong>. Sjá almenna GNU GPL notkunarleyfið fyrir nánari upplýsingar.\n\nÞað ætti að hafa fylgt afrit af almenna <doclink href=Copying>GNU GPL notkunarleyfinu</doclink> með forritinu; ef ekki skrifið þá Fjálsu hugbúnarstofnuninni: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA, eða [https://www.gnu.org/copyleft/gpl.html lestu það á netinu].",
        "config-env-php": "PHP $1 er uppsett.",
        "config-env-hhvm": "HHVM $1 er uppsett.",
-       "config-apc": "[http://www.php.net/apc APC] er uppsett",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] er uppsett",
+       "config-apc": "[https://secure.php.net/apc APC] er uppsett",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] er uppsett",
        "config-diff3-bad": "GNU diff3 fannst ekki.",
        "config-using-server": "Nota \"<nowiki>$1</nowiki>\" sem heiti á þjóni.",
        "config-using-uri": "Nota \"<nowiki>$1$2</nowiki>\" sem slóð á þjón.",
index b9f0482..40bcff5 100644 (file)
        "config-pcre-no-utf8": "'''Errore''': Il modulo PCRE di PHP sembra essere stato compilato senza il supporto PCRE_UTF8, ma MediaWiki lo richiede per funzionare correttamente.",
        "config-memory-raised": "Il valore <code>memory_limit</code> di PHP è $1, aumentato a $2.",
        "config-memory-bad": "''Attenzione:''' Il valore di <code>memory_limit</code> di PHP è $1.\nProbabilmente è troppo basso.\nL'installazione potrebbe non riuscire!",
-       "config-apc": "[http://www.php.net/apc APC] è installato",
-       "config-apcu": "[http://www.php.net/apc APC] è installato",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] è installato",
-       "config-no-cache-apcu": "'''Attenzione:''' [http://www.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] o [http://www.iis.net/download/WinCacheForPhp WinCache] non sono stati trovati.\nLa caching degli oggetti non è attivata.",
+       "config-apc": "[https://secure.php.net/apc APC] è installato",
+       "config-apcu": "[https://secure.php.net/apc APC] è installato",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] è installato",
+       "config-no-cache-apcu": "'''Attenzione:''' [https://secure.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] o [https://www.iis.net/downloads/microsoft/wincache-extension WinCache] non sono stati trovati.\nLa caching degli oggetti non è attivata.",
        "config-mod-security": "<strong>Attenzione:</strong> Il tuo server web ha il [https://modsecurity.org/ mod_security] abilitato. Se non correttamente configurato, può creare problemi a MediaWiki o ad altro software che permette agli utenti di pubblicare contenuto.\nFai riferimento alla [https://modsecurity.org/documentation/ documentazione sul mod_security] o contatta il supporto tecnico del tuo provider di hosting se si verificano errori.",
        "config-diff3-bad": "GNU diff3 non trovato.",
        "config-git": "Trovato software di controllo della versione Git: <code>$1</code>.",
        "config-type-mysql": "MySQL (o compatibile)",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki supporta i seguenti sistemi di database:\n\n$1\n\nSe fra quelli elencati qui sotto non vedi il sistema di database che vorresti utilizzare, seguire le istruzioni linkate sopra per abilitare il supporto.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] è la configurazione preferibile per MediaWiki ed è quella meglio supportata. MediaWiki funziona anche con [{{int:version-db-mariadb-url}} MariaDB] e [{{int:version-db-percona-url}} Percona Server], che sono compatibili con MySQL.([http://www.php.net/manual/en/mysqli.installation.php Come compilare PHP con supporto MySQL])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] è un popolare sistema di database open source come alternativa a MySQL. ([http://www.php.net/manual/en/pgsql.installation.php Come compilare PHP con supporto PostgreSQL])",
-       "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite]  è un sistema di database leggero, che è supportato molto bene. ([http://www.php.net/manual/en/pdo.installation.php Come compilare PHP con supporto SQLite], utilizza PDO)",
-       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] è un database di un'impresa commerciale. ([http://www.php.net/manual/en/oci8.installation.php Come compilare PHP con supporto OCI8])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] è un database di un'impresa commerciale per Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Come compilare PHP con supporto SQLSRV])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] è la configurazione preferibile per MediaWiki ed è quella meglio supportata. MediaWiki funziona anche con [{{int:version-db-mariadb-url}} MariaDB] e [{{int:version-db-percona-url}} Percona Server], che sono compatibili con MySQL.([https://secure.php.net/manual/en/mysqli.installation.php Come compilare PHP con supporto MySQL])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] è un popolare sistema di database open source come alternativa a MySQL. ([Config-dbsupport-oracle/manual/en/pgsql.installation.php Come compilare PHP con supporto PostgreSQL])",
+       "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite]  è un sistema di database leggero, che è supportato molto bene. ([https://secure.php.net/manual/en/pdo.installation.php Come compilare PHP con supporto SQLite], utilizza PDO)",
+       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] è un database di un'impresa commerciale. ([https://secure.php.net/manual/en/oci8.installation.php Come compilare PHP con supporto OCI8])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] è un database di un'impresa commerciale per Windows. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php Come compilare PHP con supporto SQLSRV])",
        "config-header-mysql": "Impostazioni MySQL",
        "config-header-postgres": "Impostazioni PostgreSQL",
        "config-header-sqlite": "Impostazioni SQLite",
        "config-license-help": "Molti wiki pubblici rilasciano i loro contributi con una [https://freedomdefined.org/Definition licenza libera]. Questo aiuta a creare un senso di proprietà condivisa nella comunità e incoraggia a contribuire a lungo termine. Non è generalmente necessario per un wiki privato o aziendale.\n\nSe vuoi usare testi da Wikipedia, o desideri che Wikipedia possa essere in grado di accettare testi copiati dal tuo wiki, dovresti scegliere <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nIn precedenza Wikipedia ha utilizzato la GNU Free Documentation License. La GFDL è una licenza valida, ma è di difficile comprensione e complica il riutilizzo dei contenuti.",
        "config-email-settings": "Impostazioni email",
        "config-enable-email": "Abilita la posta elettronica in uscita",
-       "config-enable-email-help": "Se vuoi che funzionino le email, le [http://www.php.net/manual/en/mail.configuration.php PHP's impostazioni della posta] devono essere configurate correttamente.\nSe non si desidera alcuna funzionalità di posta elettronica, puoi disabilitarla qui.",
+       "config-enable-email-help": "Se vuoi che funzionino le email, le [https://secure.php.net/manual/en/mail.configuration.php impostazioni della posta] devono essere configurate correttamente.\nSe non si desidera alcuna funzionalità di posta elettronica, puoi disabilitarla qui.",
        "config-email-user": "Abilita invio email fra utenti",
        "config-email-user-help": "Consente a tutti gli utenti di inviarsi a vicenda email, se lo hanno abilitato nelle loro preferenze.",
        "config-email-usertalk": "Abilita le notifiche per le pagine di discussione utente",
index a784813..44fac37 100644 (file)
        "config-pcre-no-utf8": "<strong>致命的エラー:</strong> PHP の PCRE が PCRE_UTF8 対応なしでコンパイルされているようです。\nMediaWiki を正しく動作させるには、UTF-8 対応が必要です。",
        "config-memory-raised": "PHPの<code>memory_limit</code>は$1で、$2に引き上げられました。",
        "config-memory-bad": "<strong>警告:</strong> PHPの<code>memory_limit</code>に$1に設定されています。\nこの値はおそらく小さすぎます。\nインストールが失敗するおそれがあります!",
-       "config-apc": "[http://www.php.net/apc APC] がインストール済み",
-       "config-apcu": "[http://www.php.net/apcu APCu] がインストール済み",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] がインストール済み",
-       "config-no-cache-apcu": "<strong>警告:</strong> [http://www.php.net/apcu APCu]、 [http://www.iis.net/download/WinCacheForPhp WinCache] のいずれも見つかりませんでした。\nオブジェクトのキャッシュは有効化されません。",
+       "config-apc": "[https://secure.php.net/apc APC] がインストール済み",
+       "config-apcu": "[https://secure.php.net/apcu APCu] がインストール済み",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] がインストール済み",
+       "config-no-cache-apcu": "<strong>警告:</strong> [https://secure.php.net/apcu APCu]、 [https://www.iis.net/downloads/microsoft/wincache-extension WinCache] のいずれも見つかりませんでした。\nオブジェクトのキャッシュは有効化されません。",
        "config-mod-security": "<strong>警告:</strong> あなたのウェブサーバーでは [https://modsecurity.org/ mod_security] が有効になっています。正しく構成されていない場合は、MediaWiki や利用者にコンテンツの投稿を許可するその他のソフトウェアに問題が発生する場合があります。\n[https://modsecurity.org/documentation/ mod_security の説明文書]を確認するか、ランダムなエラーが発生した場合はあなたのホストのサポートにお問い合わせください。",
        "config-diff3-bad": "GNU diff3 が見つかりません。",
        "config-git": "バージョン管理ソフトウェア Git が見つかりました: <code>$1</code>",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "マイクロソフト SQL Server",
        "config-support-info": "MediaWiki は以下のデータベース システムに対応しています:\n\n$1\n\n使用しようとしているデータベース システムが下記の一覧にない場合は、上記リンク先の手順に従ってインストールしてください。",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL]はMediaWikiの主要な対象であり、最もよくサポートされています。MediaWikiはMySQLと互換性のある[{{int:version-db-mariadb-url}} MariaDB]、[{{int:version-db-percona-url}} Percona Server]でも動きます。 ([http://www.php.net/manual/ja/mysqli.installation.php PHPをMySQLサポート付きでコンパイルする方法])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] は、MySQLの代替として人気がある公開のデータベースシステムです。([http://www.php.net/manual/en/pgsql.installation.php PHPをPostgreSQLサポート付きでコンパイルする方法])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL]はMediaWikiの主要な対象であり、最もよくサポートされています。MediaWikiはMySQLと互換性のある[{{int:version-db-mariadb-url}} MariaDB]、[{{int:version-db-percona-url}} Percona Server]でも動きます。 ([https://secure.php.net/manual/ja/mysqli.installation.php PHPをMySQLサポート付きでコンパイルする方法])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] は、MySQLの代替として人気がある公開のデータベースシステムです。([Config-dbsupport-oracle/manual/en/pgsql.installation.php PHPをPostgreSQLサポート付きでコンパイルする方法])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite]は、良くサポートされている、軽量データベースシステムです。([http://www.php.net/manual/ja/pdo.installation.php SQLiteに対応したPHPをコンパイルする方法]、PDOを使用)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle]は商業企業のデータベースです。([http://www.php.net/manual/en/oci8.installation.php OCI8サポートなPHPをコンパイルする方法])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server]は商業企業のWindows用データベースです。([http://www.php.net/manual/en/sqlsrv.installation.php SQLSRVサポートなPHPをコンパイルする方法])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server]は商業企業のWindows用データベースです。([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php SQLSRVサポートなPHPをコンパイルする方法])",
        "config-header-mysql": "MySQL の設定",
        "config-header-postgres": "PostgreSQL の設定",
        "config-header-sqlite": "SQLite の設定",
        "config-license-help": "多くの公開ウィキでは、すべての寄稿物が[https://freedomdefined.org/Definition フリーライセンス]のもとに置かれています。\nこうすることにより、コミュニティによる共有の感覚が生まれ、長期的な寄稿が促されます。\n私的ウィキや企業のウィキでは、通常、フリーライセンスにする必要はありません。\n\nウィキペディアにあるテキストをあなたのウィキで利用し、逆にあなたのウィキにあるテキストをウィキペディアに複製することを許可したい場合には、<strong>{{int:config-license-cc-by-sa}}</strong>を選択するべきです。\n\nウィキペディアは以前、GNUフリー文書利用許諾契約書(GFDL)を使用していました。\nGFDLは有効なライセンスですが、内容を理解するのは困難です。\nまた、GFDLのもとに置かれているコンテンツの再利用も困難です。",
        "config-email-settings": "メールの設定",
        "config-enable-email": "メール送信を有効にする",
-       "config-enable-email-help": "メールを使用したい場合は、[http://www.php.net/manual/en/mail.configuration.php PHP のメール設定]が正しく設定されている必要があります。\nメールの機能を使用しない場合は、ここで無効にすることができます。",
+       "config-enable-email-help": "メールを使用したい場合は、[Config-dbsupport-oracle/manual/en/mail.configuration.php PHP のメール設定]が正しく設定されている必要があります。\nメールの機能を使用しない場合は、ここで無効にすることができます。",
        "config-email-user": "利用者間のメールを有効にする",
        "config-email-user-help": "設定で有効になっている場合、すべてのユーザーがお互いにメールのやりとりを行うことを許可する。",
        "config-email-usertalk": "ユーザーのトークページでの通知を有効にする",
index fb47fcd..2d12f47 100644 (file)
@@ -27,8 +27,8 @@
        "config-sidebar": "* [https://www.mediawiki.org მედიავიკის ვებ-გვერდი]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents/ka მომხმარებლების დახმარება]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Contents/ka ადმინისტრატორების დახმარება]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ/ka FAQ]\n----\n* <doclink href=Readme>წამიკითხე</doclink>\n* <doclink href=ReleaseNotes>ინფორმაცია გამოშვებაზე</doclink>\n* <doclink href=Copying>ლიცენზია</doclink>\n* <doclink href=UpgradeDoc>განახლება</doclink>",
        "config-env-php": "PHP $1 დაინსტალირებულია",
        "config-env-hhvm": "HHVM $1 დაინსტალირებულია.",
-       "config-apc": "[http://www.php.net/apc APC] დაყენდა",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] დაყენდა",
+       "config-apc": "[https://secure.php.net/apc APC] დაყენდა",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] დაყენდა",
        "config-diff3-bad": "GNU diff3 ვერ მოიძებნა.",
        "config-db-type": "მონაცემთა ბაზის ტიპი:",
        "config-db-host-oracle": "მონაცემთა ბაზის TNS:",
index 3e646bf..a376b61 100644 (file)
        "config-pcre-no-utf8": "<strong>치명:</strong> PHP의 PCRE 모듈은 RCRE_UTF8 지원 없이 컴파일된 것 같습니다.\n미디어위키가 올바르게 작동하려면 UTF-8을 지원해야 합니다.",
        "config-memory-raised": "PHP의 <code>memory_limit</code>는 $1이며 $2(으)로 늘렸습니다.",
        "config-memory-bad": "<strong>경고:</strong> PHP의 <code>memory_limit</code>는 $1입니다.\n아마도 너무 낮은 것 같습니다.\n설치가 실패할 수 있습니다!",
-       "config-apc": "[http://www.php.net/apc APC]가 설치되었습니다",
-       "config-apcu": "[http://www.php.net/apcu APCu]가 설치되었습니다",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache]가 설치되었습니다",
-       "config-no-cache-apcu": "<strong>경고:</strong> [http://www.php.net/apcu APCu] 또는 [http://www.iis.net/download/WinCacheForPhp WinCache]를 찾을 수 없습니다.",
+       "config-apc": "[https://secure.php.net/apc APC]가 설치되었습니다",
+       "config-apcu": "[https://secure.php.net/apcu APCu]가 설치되었습니다",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache]가 설치되었습니다",
+       "config-no-cache-apcu": "<strong>경고:</strong> [https://secure.php.net/apcu APCu] 또는 [https://www.iis.net/downloads/microsoft/wincache-extension WinCache]를 찾을 수 없습니다.",
        "config-mod-security": "<strong>경고:</strong> 웹 서버에 [https://modsecurity.org/ mod_security]가 허용되었습니다. 잘못 설정된 경우 미디어위키나 사용자가 임의의 내용을 게시할 수 있는 다른 소프트웨어에 대한 문제를 일으킬 수 있습니다.\n[https://modsecurity.org/documentation/ mod_security] 문서를 참고하거나 임의의 오류가 발생할 경우 호스트의 지원 요청에 문의하십시오.",
        "config-diff3-bad": "GNU diff3를 찾을 수 없습니다.",
        "config-git": "Git 버전 관리 소프트웨어를 찾았습니다: <code>$1</code>.",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL 서버",
        "config-support-info": "미디어위키는 다음의 데이터베이스 시스템을 지원합니다:\n\n$1\n\n데이터베이스 시스템이 표시되지 않을 때 아래에 나열된 다음 지원을 활성화하려면 위의 링크된 지시에 따라 설치해볼 수 있습니다.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL]은 미디어위키의 기본 대상이며 가장 잘 지원됩니다. 미디어위키는 또한 MySQL와 호환되는 [{{int:version-db-mariadb-url}} MariaDB]와 [{{int:version-db-percona-url}} Percona 서버]에서도 작동합니다. ([http://www.php.net/manual/en/mysql.installation.php MySQL 지원으로 PHP를 컴파일하는 방법])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL]은 MySQL의 대안으로서 인기 있는 오픈 소스 데이터베이스 시스템입니다. ([http://www.php.net/manual/en/pgsql.installation.php PostgreSQL 지원으로 PHP를 컴파일하는 방법])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL]은 미디어위키의 기본 대상이며 가장 잘 지원됩니다. 미디어위키는 또한 MySQL와 호환되는 [{{int:version-db-mariadb-url}} MariaDB]와 [{{int:version-db-percona-url}} Percona 서버]에서도 작동합니다. ([https://secure.php.net/manual/en/mysql.installation.php MySQL 지원으로 PHP를 컴파일하는 방법])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL]은 MySQL의 대안으로서 인기 있는 오픈 소스 데이터베이스 시스템입니다. ([https://secure.php.net/manual/en/pgsql.installation.php PostgreSQL 지원으로 PHP를 컴파일하는 방법])",
        "config-dbsupport-sqlite": "*  [{{int:version-db-sqlite-url}} SQLite]는 매우 잘 지원되고 가벼운 데이터베이스 시스템입니다. ([http://www.php.net/manual/en/pdo.installation.php SQLite 지원으로 PHP를 컴파일하는 방법], PDO 사용)",
        "config-dbsupport-oracle": "*  [{{int:version-db-oracle-url}} Oracle]은 상용 기업 데이터베이스입니다. ([http://www.php.net/manual/en/oci8.installation.php OCI8 지원으로 PHP를 컴파일하는 방법])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL 서버]는 Windows용 상용 기업 데이터베이스입니다. ([http://www.php.net/manual/en/sqlsrv.installation.php SQLSRV 지원으로 PHP를 컴파일하는 방법])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL 서버]는 Windows용 상용 기업 데이터베이스입니다. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php SQLSRV 지원으로 PHP를 컴파일하는 방법])",
        "config-header-mysql": "MySQL 설정",
        "config-header-postgres": "PostgreSQL 설정",
        "config-header-sqlite": "SQLite 설정",
        "config-license-help": "많은 공개 위키는 모든 기여를 [https://freedomdefined.org/Definition 자유 라이선스]에 따르도록 합니다.\n이렇게 하면 커뮤니티에 대한 소유권을 이해할 수 있도록 하고 장기적인 기여를 장려합니다.\n일반적으로 개인 또는 회사 위키에게는 필요하지 않습니다.\n\n위키백과의 텍스트를 사용할 수 있도록 하고 위키백과가 위키에서 복사한 텍스트를 사용할 수 있도록 원한다면 <strong>{{int:config-license-cc-by-sa}}</strong>으로 선택해야 합니다.\n\n위키백과는 이전에 GNU 자유 문서 사용 허가서(GFDL)를 사용했습니다.\nGFDL은 유효한 라이선스이지만 내용을 이해하기 어렵습니다.\nGFDL에 따라 사용이 허가된 내용을 재사용하는 것도 어렵습니다.",
        "config-email-settings": "이메일 설정",
        "config-enable-email": "발신 이메일 활성화",
-       "config-enable-email-help": "이메일을 작동하려면 [http://www.php.net/manual/en/mail.configuration.php PHP의 메일 설정]을 올바르게 설정해야 합니다.\n이메일 기능을 사용하지 않으려면 이를 비활성화할 수 있습니다.",
+       "config-enable-email-help": "이메일을 작동하려면 [Config-dbsupport-oracle/manual/en/mail.configuration.php PHP의 메일 설정]을 올바르게 설정해야 합니다.\n이메일 기능을 사용하지 않으려면 이를 비활성화할 수 있습니다.",
        "config-email-user": "사용자와 사용자 간 이메일 활성화",
        "config-email-user-help": "환경 설정에서 활성화한 경우 모든 사용자가 이메일을 서로 보내도록 활성화합니다.",
        "config-email-usertalk": "사용자 토론 문서 알림 활성화",
index 2ccf4e0..030cecf 100644 (file)
@@ -60,9 +60,9 @@
        "config-pcre-no-utf8": "'''Dä:''' Et PHP-Modul <i lang=\"en\">PCRE</i> schingk ohne de <i lang=\"en\">PCRE_UTF8</i>-Aandeile övversaz ze sin.\nMediaWiki bruch dä UTF-8-Krohm ävver, öm ohne Fähler loufe ze künne.",
        "config-memory-raised": "Der jrühzte zohjelasse Shpeisherbedarf vum PHP, et <code lang=\"en\">memory_limit</code>, shtund op $1 un es op $2 erop jesaz woode.",
        "config-memory-bad": "'''Opjepaß:''' Dem PHP singe Parameeter <code lang=\"en\">memory_limit</code> es $1.\nDat es wall ze winnisch.\nEt Enreeschte kunnt doh draan kappott jon!",
-       "config-apc": "Dä <code lang=\"en\">[http://www.php.net/apc APC]</code> es ennjeresht.",
-       "config-wincache": "Dä <code lang=\"en\">[https://www.iis.net/download/WinCacheForPhp WinCache]</code> es ennjeresht.",
-       "config-no-cache-apcu": "'''Opjepaß:''' Mer kunnte dä <code lang=\"en\" xml:lang=\"en\" dir=\"rtl\">[http://www.php.net/apcu APCu]</code>, dä <code lang=\"en\" xml:lang=\"en\" dir=\"rtl\">[http://xcache.lighttpd.net/ XCache]</code> udder dä <code lang=\"en\" xml:lang=\"en\" dir=\"rtl\">[http://www.iis.net/download/WinCacheForPhp WinCache]</code> nit fenge.\nEt <i lang=\"en\" xml:lang=\"en\" dir=\"rtl\">object caching</i> es nit müjjelesch un es ußjeschalldt.",
+       "config-apc": "Dä <code lang=\"en\">[https://secure.php.net/apc APC]</code> es ennjeresht.",
+       "config-wincache": "Dä <code lang=\"en\">[https://www.iis.net/downloads/microsoft/wincache-extension WinCache]</code> es ennjeresht.",
+       "config-no-cache-apcu": "'''Opjepaß:''' Mer kunnte dä <code lang=\"en\" xml:lang=\"en\" dir=\"rtl\">[https://secure.php.net/apcu APCu]</code>, dä <code lang=\"en\" xml:lang=\"en\" dir=\"rtl\">[http://xcache.lighttpd.net/ XCache]</code> udder dä <code lang=\"en\" xml:lang=\"en\" dir=\"rtl\">[https://www.iis.net/downloads/microsoft/wincache-extension WinCache]</code> nit fenge.\nEt <i lang=\"en\" xml:lang=\"en\" dir=\"rtl\">object caching</i> es nit müjjelesch un es ußjeschalldt.",
        "config-mod-security": "<strong>Opjepaß</strong>: Dinge Wäbßööver hät <code  lang=\"en\" xml:lang=\"en\" dir=\"ltr\">[https://modsecurity.org/ mod_security]</code> enjeschalldt. Jenohch schtandattmähßejje Enschtällonge heh em Wikki künne Problehme met MehdijaWikki un och met ander Projramme aanschtivvelle, di zohlohße, dat vun ußerhallef öhndsene Krohm op dä Webßööver jebraat wähde künnt.\nWann müjjelesch sullt mer dat affschallde. Söns beloor Der di Sigg <code  lang=\"en\" xml:lang=\"en\" dir=\"ltr\">[https://modsecurity.org/documentation/ mod_security documentation]</code> udder donn met dä Fachlück för Dinge Webßööver kalle, wann zohfälleje un koomijje Fähler bemärke deihß.",
        "config-diff3-bad": "Mer han <i lang=\"en\">GNU</i> <code lang=\"en\">diff3</code> nit jefonge.",
        "config-git": "Mer han de Väsjohn <code>$1</code> vun däm Väsjohnsverwalldongsprojamm <i lang=\"en\">Git</i> jefonge.",
        "config-type-oracle": "<i lang=\"en\">Oracle</i>",
        "config-type-mssql": "Dä <i lang=\"en\" xml:lang=\"en\">SQL</i>-ẞööver vun <i lang=\"en\" xml:lang=\"en\">Microsoft</i>",
        "config-support-info": "MediaWiki kann met heh dä Daatebangk_Süßteeme zosamme jonn:\n\n$1\n\nWann dat Daatebangk_Süßteem, wat De nämme wells, onge nit dobei es, dann donn desch aan di Aanleidonge hallde, di bovve verlengk sen, öm et op Dingem ẞööver singem Süßteem müjjelesh ze maache, se aan et Loufe ze krijje.",
-       "config-dbsupport-mysql": "* <i lang=\"en\" xml:lang=\"en\">[{{int:version-db-mysql-url}} MySQL]</i> es dat vum MediaWiki et eets un et bäß ongerschtöz Daatebangksüßtehm. Et leuf ävver och met <i lang=\"en\" xml:lang=\"en\">[{{int:version-db-mariadb-url}} MariaDB]</i> un <i lang=\"en\" xml:lang=\"en\">[{{int:version-db-percona-url}} Percona Server]</i>. Di sin kumpatihbel mem <i lang=\"en\" xml:lang=\"en\">MySQL</i>. ([http://www.php.net/manual/de/mysql.installation.php Aanleidung för et Övversäze un Enreeschte von <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"PHP Hypertext Preprocessor\">PHP</i> met <i lang=\"en\">MySQL</i> dobei, op Deutsch])",
-       "config-dbsupport-postgres": "* <i lang=\"en\">[{{int:version-db-postgres-url}} PostgreSQL]</i> es e bikannt Daatebangksüßtehm met offe Quälltäxde, un ed es och en Wahl nävve <i lang=\"en\">MySQL</i>. Et sinn_er ävver paa klein Fählersche bekannt, um mer künne et em Momang för et reschtijje Werke nit ämfähle. ([http://www.php.net/manual/de/pgsql.installation.php Aanleidung för et Övversäze un Enreeschte von PHP met <i lang=\"en\">PostgreSQL</i> dobei, op Deutsch])",
+       "config-dbsupport-mysql": "* <i lang=\"en\" xml:lang=\"en\">[{{int:version-db-mysql-url}} MySQL]</i> es dat vum MediaWiki et eets un et bäß ongerschtöz Daatebangksüßtehm. Et leuf ävver och met <i lang=\"en\" xml:lang=\"en\">[{{int:version-db-mariadb-url}} MariaDB]</i> un <i lang=\"en\" xml:lang=\"en\">[{{int:version-db-percona-url}} Percona Server]</i>. Di sin kumpatihbel mem <i lang=\"en\" xml:lang=\"en\">MySQL</i>. ([https://secure.php.net/manual/de/mysql.installation.php Aanleidung för et Övversäze un Enreeschte von <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"PHP Hypertext Preprocessor\">PHP</i> met <i lang=\"en\">MySQL</i> dobei, op Deutsch])",
+       "config-dbsupport-postgres": "* <i lang=\"en\">[{{int:version-db-postgres-url}} PostgreSQL]</i> es e bikannt Daatebangksüßtehm met offe Quälltäxde, un ed es och en Wahl nävve <i lang=\"en\">MySQL</i>. Et sinn_er ävver paa klein Fählersche bekannt, um mer künne et em Momang för et reschtijje Werke nit ämfähle. ([https://secure.php.net/manual/de/pgsql.installation.php Aanleidung för et Övversäze un Enreeschte von PHP met <i lang=\"en\">PostgreSQL</i> dobei, op Deutsch])",
        "config-dbsupport-sqlite": "* <i lang=\"en\">[{{int:version-db-sqlite-url}} SQLite]</i> es e eijfach Daatebangksüßtehm, wat joot en Schoß jehallde weed. ([http://www.php.net/manual/de/pdo.installation.php Aanleidong för et Övversäze un Enreeschte von PHP met <i lang=\"en\">SQLite</i> dobei, op Deutsch])",
        "config-dbsupport-oracle": "* <i lang=\"en\">[{{int:version-db-oracle-url}} Oracle]</i> es e jeschäfflesch Daatebangksüßtehm för Ferme. ([http://www.php.net/manual/de/oci8.installation.php Aanleidong för et Övversäze un Enreeschte von PHP met <i lang=\"en\" xml:lang=\"en\">OCI8</i> dobei, op Deutsch])",
-       "config-dbsupport-mssql": "* Dä <i lang=\"en\" xml:lang=\"en\">[{{int:version-db-mssql-url}} Microsoft SQL Server]</i> es e jeschäfflesch Dahtebangksüßtehm för Rääschner met <i lang=\"en\" xml:lang=\"en\">Windows</i>. ([http://www.php.net/manual/de/sqlsrv.installation.php Aanleidong för et Övversäze un Enreeschte von <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"PHP Hypertext Preprocessor\">PHP</i> met <i lang=\"en\" xml:lang=\"en\">SQLSRV </i> dobei, op Deutsch])",
+       "config-dbsupport-mssql": "* Dä <i lang=\"en\" xml:lang=\"en\">[{{int:version-db-mssql-url}} Microsoft SQL Server]</i> es e jeschäfflesch Dahtebangksüßtehm för Rääschner met <i lang=\"en\" xml:lang=\"en\">Windows</i>. ([Config-dbsupport-oracle/manual/de/sqlsrv.installation.php Aanleidong för et Övversäze un Enreeschte von <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"PHP Hypertext Preprocessor\">PHP</i> met <i lang=\"en\" xml:lang=\"en\">SQLSRV </i> dobei, op Deutsch])",
        "config-header-mysql": "De Enshtällunge för de <i lang=\"en\">MySQL</i> Daatebangk",
        "config-header-postgres": "De Enshtällunge för de <i lang=\"en\">PostgreSQL</i> Daatebangk",
        "config-header-sqlite": "De Enshtällunge för de <i lang=\"en\">SQLite</i> Daatebangk",
        "config-license-help": "Ättlijje öffentleje Wikis donn iehr Beidrääsch onger en [https://freedomdefined.org/Definition freije Lizänz] schtelle.\nDat hellef, e Jeföhl vun Jemeinsamkeid opzeboue, un op lange Seesch emmer wider Beidrääsch ze krijje.\nDat es nit onbedengk nüüdesh för e Jeschäffs- udder Privaat_Wiki.\n\nWä Stöcke uß de Wikipedia bruche well, un dröm han well, dat mer för Wikipedia uss_em eije Wiki jät övvernämme kann, sullt „'''<i lang=\"en\">Creative Commons</i>, dem Schriever singe Name moß jenannt wääde, un Wiggerjävve zoh dersellve Bedengunge es zohjelohße'''“ ußwähle.\n\nDe su jenannte '''<i lang=\"en\">GNU Free Documentation License</i>''' (de freije Lizänz för Dokemäntazjuhne vun dä GNU) sen de ahle Lizänzbedenonge vun de Wikipedia. Se es emmer noch in Odenong un jöltesch, ävver se es schwer ze verschtonn un et Wiggerjävve un widder Bruche es ens schwieerejer domet.",
        "config-email-settings": "Enschtellunge för de <i lang=\"en\">e-mail</i>",
        "config-enable-email": "De <i lang=\"en\">e-mail</i> noh druße zohlohße",
-       "config-enable-email-help": "Sulle \n<i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"„de eläktrohnesche Poß“\">e-mails</i> zohjelohße sin, moß mer, domet et noher flupp, dä Datteij <code lang=\"en\" xml:lang=\"en\" dir=\"ltr\">[http://www.php.net/manual/en/mail.configuration.php</code> Enschtällonge em PHP för de <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"„de eläktrohnesche Poß“\">e-mail</i>] zopaß jemaat han.\nWann kein <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"„de eläktrohnesche Poß“\">e-mails</i> nüüdesch sin, kam_mer se heh afschallde.",
+       "config-enable-email-help": "Sulle \n<i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"„de eläktrohnesche Poß“\">e-mails</i> zohjelohße sin, moß mer, domet et noher flupp, dä Datteij <code lang=\"en\" xml:lang=\"en\" dir=\"ltr\">[Config-dbsupport-oracle/manual/en/mail.configuration.php</code> Enschtällonge em PHP för de <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"„de eläktrohnesche Poß“\">e-mail</i>] zopaß jemaat han.\nWann kein <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"„de eläktrohnesche Poß“\">e-mails</i> nüüdesch sin, kam_mer se heh afschallde.",
        "config-email-user": "<i lang=\"en\">e-mails</i> zwesche de Metmaacher zohlohße",
        "config-email-user-help": "Määt et müjjelesch, dat sesch de Metmaacher jääjesiggesch \n<i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"„de eläktrohnesche Poß“\">e-mails</i> scheke künne, wann se dat en iehre eije Enschtällonge och enjeschalldt han.",
        "config-email-usertalk": "<i lang=\"en\">e-mails</i> mem Bescheid zohlohße, dat einem sing Klaafsigg verändert woodt",
index 6d40a10..ea8c6a6 100644 (file)
@@ -26,8 +26,8 @@
        "config-page-upgradedoc": "Bilindkirin",
        "config-page-existingwiki": "Wîkiya heye",
        "config-restart": "Erê, jinûve bide destpêkirin",
-       "config-apc": "[http://www.php.net/apc APC] hate avakirin",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] hate avakirin",
+       "config-apc": "[https://secure.php.net/apc APC] hate avakirin",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] hate avakirin",
        "config-diff3-bad": "GNU diff3 nehate dîtin.",
        "config-db-type": "Cureya danegehê:",
        "config-db-wiki-settings": "Vî wîkîyê bide danasîn",
index cc42c42..a2c250c 100644 (file)
@@ -49,9 +49,9 @@
        "config-no-db": "Et konnt kee passenden Datebank-Driver fonnt ginn! Dir musst een Datebank-Driver fir PHP installéieren.\n{{PLURAL:$2|Dësn Datebank-Typ gëtt|Dës Datebank-Type ginn}} ënnerstëtzt: $1.\n\nWann Dir PHP selwer compiléiert hutt, da rekonfiguréiert en mat dem ageschalten Datebank-Client, zum Beispill an deem Dir <code>./configure --with-mysqli</code> benotzt.\nWann Dir PHP vun engem Debian oder Ubuntu Package aus installéiert hutt, da musst Dir och den php5-mysql Modul installéieren.",
        "config-outdated-sqlite": "'''Warnung:''' SQLite $1 ass installéiert. Allerdengs brauch MediaWiki SQLite $2 oder méi nei. SQLite ass dofir net disponibel.",
        "config-memory-bad": "'''Opgepasst:''' De Parameter <code>memory_limit</code> vu PHP ass $1.\nDat ass wahrscheinlech ze niddreg.\nD'Installatioun kéint net funktionéieren.",
-       "config-apc": "[http://www.php.net/apc APC] ass installéiert",
-       "config-apcu": "[http://www.php.net/apcu APCu] ass installéiert.",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] ass installéiert",
+       "config-apc": "[https://secure.php.net/apc APC] ass installéiert",
+       "config-apcu": "[https://secure.php.net/apcu APCu] ass installéiert.",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] ass installéiert",
        "config-diff3-bad": "GNU diff3 gouf net fonnt.",
        "config-git": "D'Software Git fir d'Kontroll vu Versioune gouf fonnt: <code>$1</code>.",
        "config-git-bad": "D'Software fir d'Kontroll vun de Versiounen 'Git' gouf net fonnt.",
@@ -84,9 +84,9 @@
        "config-type-sqlite": "SQLite",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] ass e beléiften Open-Source-Datebanksystem an eng Alternativ zu MySQL. ([http://www.php.net/manual/de/pgsql.installation.php Uleedung fir d'Kompilatoun vu PHP mat PostgreSQL-Ënnerstëtzung])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] ass e beléiften Open-Source-Datebanksystem an eng Alternativ zu MySQL. ([Config-dbsupport-oracle/manual/de/pgsql.installation.php Uleedung fir d'Kompilatoun vu PHP mat PostgreSQL-Ënnerstëtzung])",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] ass eng kommerziell Datebank-Software. ([http://www.php.net/manual/en/oci8.installation.php How to compile PHP mat OCI8 Ënnerstëtzung])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] ass eng kommerziell Datebank-Software fir Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Wéi PHP mat SQLSRV Ënnerstëtzung kompiléieren])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] ass eng kommerziell Datebank-Software fir Windows. ([https://secure.php.net/manual/en/sqlsrv.installation.php Wéi PHP mat SQLSRV Ënnerstëtzung kompiléieren])",
        "config-header-mysql": "MySQL-Astellungen",
        "config-header-postgres": "PostgreSQL-Astellungen",
        "config-header-sqlite": "SQLite-Astellungen",
index 7a7ed57..01884d9 100644 (file)
        "config-pcre-no-utf8": "'''Fatale''': o modulo PCRE de PHP pâ ch'o segge stæto compilou sença o supporto PCRE_UTF8. A MediaWiki a-o richiede pe fonçionâ corettamente.",
        "config-memory-raised": "O valô <code>memory_limit</code> de PHP o l'è $1, aomentou a $2.",
        "config-memory-bad": "''Atençion:''' O valô de <code>memory_limit</code> do PHP o l'è $1.\nFoscia o l'è troppo basso.\nL'installaçion a porriæ fallî!",
-       "config-apc": "[http://www.php.net/apc APC] o l'è installou",
-       "config-apcu": "[http://www.php.net/apc APC] o l'è installou",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] o l'è installou",
-       "config-no-cache-apcu": "'''Atençion:''' [http://www.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] ò [http://www.iis.net/download/WinCacheForPhp WinCache] no son stæti trovæ.\nA caching di ogetti a no l'è attivâ.",
+       "config-apc": "[https://secure.php.net/apc APC] o l'è installou",
+       "config-apcu": "[https://secure.php.net/apc APC] o l'è installou",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] o l'è installou",
+       "config-no-cache-apcu": "'''Atençion:''' [https://secure.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] ò [https://www.iis.net/downloads/microsoft/wincache-extension WinCache] no son stæti trovæ.\nA caching di ogetti a no l'è attivâ.",
        "config-mod-security": "<strong>Atençion:</strong> O to serviou web o g'ha o [https://modsecurity.org/ mod_security] abilitou. Gh'è tante configuaçioin che crean di problemi a-a MediaWiki ò a atro software ch'o permette a-i utenti de pubbricâ quâ-se-segge contegnuo. Se poscibbile o doviæ ese disabilitou.\nFanni rifeimento a-a [https://modsecurity.org/documentation/ documentaçion insce-o mod_security] ò contatta o supporto tecnico do to provider de hosting se se veifica di erroî.",
        "config-diff3-bad": "GNU diff3 non trovou.",
        "config-git": "Trovou software de controllo da verscion Git: <code>$1</code>.",
        "config-type-mysql": "MySQL (ò compatibbile)",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki o supporta i seguenti scistemi de database:\n\n$1\n\nSe fra quelli elencæ chì de sotta no ti veddi o scistema de database che ti voriesci doeuviâ, segui e instruçioin inganciæ de d'ato pe abilitâ o supporto.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] a l'è a primma scelta pe MediaWiki e a l'è quella megio suportâ. MediaWiki a fonçion-a ascì con [{{int:version-db-mariadb-url}} MariaDB] e [{{int:version-db-percona-url}} Percona Server], che son compatibbili con MySQL.([http://www.php.net/manual/en/mysqli.installation.php Comme compilâ PHP con suporto MySQL])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] o l'è un popolare scistema de database open source comme alternativa a MySQL. ([http://www.php.net/manual/en/pgsql.installation.php Comme compilâ PHP con suporto PostgreSQL])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] a l'è a primma scelta pe MediaWiki e a l'è quella megio suportâ. MediaWiki a fonçion-a ascì con [{{int:version-db-mariadb-url}} MariaDB] e [{{int:version-db-percona-url}} Percona Server], che son compatibbili con MySQL.([https://secure.php.net/manual/en/mysqli.installation.php Comme compilâ PHP con suporto MySQL])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] o l'è un popolare scistema de database open source comme alternativa a MySQL. ([https://secure.php.net/manual/en/pgsql.installation.php Comme compilâ PHP con suporto PostgreSQL])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] o l'è un scistema de database leggio, ch'o l'è suportou molto ben. ([http://www.php.net/manual/en/pdo.installation.php Comme compilâ PHP con suporto SQLite], o l'utilizza PDO)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] o l'è un database de un'impreiza comerciâ. ([http://www.php.net/manual/en/oci8.installation.php Comme compilâ PHP con suporto OCI8])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] o l'è un database de un'impreiza commerciâ per Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Comme compilâ PHP con supporto SQLSRV])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] o l'è un database de un'impreiza commerciâ per Windows. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php Comme compilâ PHP con supporto SQLSRV])",
        "config-header-mysql": "Impostaçioin MySQL",
        "config-header-postgres": "Impostaçioin PostgreSQL",
        "config-header-sqlite": "Impostaçioin SQLite",
        "config-license-help": "Tante wiki pubbriche rilascian i so contributi co-ina [https://freedomdefined.org/Definition liçençia libbera]. Sto fæto o l'agiutta a creâ un senso de propietæ condivisa inta comunitæ e o l'incoragisce a contriboî a longo termine. O no l'è generalmente necessaio pe 'na wiki privâ ò aziendale.\n\nSe ti voeu doeuviâ di scriti da Wikipedia, ò ti dexiddei che a Wikipedia a posse vese in graddo de acetâ di scriti copiæ da-a to wiki, ti doviesci scellie <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nIn precedença a Wikipedia a l'ha doeuviou a GNU Free Documentation License. A GFDL a l'è 'na liçençia vallida, ma a l'è difiççile da capî e a complica o riutilizzo di contegnui.",
        "config-email-settings": "Impostaçioin e-mail",
        "config-enable-email": "Abillita a sciortia da posta elettronica",
-       "config-enable-email-help": "Se ti voeu che fonçion-e l'e-mail, e [http://www.php.net/manual/en/mail.configuration.php PHP's impostaçioin della posta] dev'esan configuæ corettamente.\nSe non ti dexiddei arcun-a fonçionalitæ de posta eletronnica, ti a poeu disabilitâ chie.",
+       "config-enable-email-help": "Se ti voeu che fonçion-e l'e-mail, e [Config-dbsupport-oracle/manual/en/mail.configuration.php PHP's impostaçioin della posta] dev'esan configuæ corettamente.\nSe non ti dexiddei arcun-a fonçionalitæ de posta eletronnica, ti a poeu disabilitâ chie.",
        "config-email-user": "Abillita e-mail fra utenti",
        "config-email-user-help": "Consente a tutti i utenti de inviâse l'un l'atro l'e-mail, se l'han abilitou inte so preferençe.",
        "config-email-usertalk": "Abillita e notiffiche pe-e paggine de discuscion utente",
index 4506139..5268510 100644 (file)
@@ -5,7 +5,8 @@
                        "Mantak111",
                        "Zygimantus",
                        "Hugo.arg",
-                       "Homo"
+                       "Homo",
+                       "Manvydasz"
                ]
        },
        "config-desc": "MediaWiki diegimas",
        "config-env-hhvm": "HHVM $1 yra įdiegtas.",
        "config-outdated-sqlite": "<strong>Įspėjimas:</strong> jūs turite SQLite $1, kuri yra mažesnė nei minimali reikalinga versija $2. SQLite nebus prieinama.",
        "config-memory-raised": "PHP <code>memory_limit</code> yra $1, padidintas iki $2.",
-       "config-apc": "[http://www.php.net/apc APC] yra įdiegtas",
-       "config-apcu": "[http://www.php.net/apcu APCu] yra įdiegtas",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] yra įdiegtas",
-       "config-no-cache-apcu": "<strong>Įspėjimas:</strong> Nepavyko rasti [http://www.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] or [http://www.iis.net/download/WinCacheForPhp WinCache].\nObjekto spartinimas neįjungtas.",
+       "config-apc": "[https://secure.php.net/apc APC] yra įdiegtas",
+       "config-apcu": "[https://secure.php.net/apcu APCu] yra įdiegtas",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] yra įdiegtas",
+       "config-no-cache-apcu": "<strong>Įspėjimas:</strong> Nepavyko rasti [https://secure.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] ar [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nObjekto spartinimas neįjungtas.",
        "config-diff3-bad": "GNU diff3 nerastas.",
        "config-git": "Rasta Git versijų kontrolės sistema: <code>$1</code>.",
        "config-imagemagick": "Rastas „ImageMagick“: <code>$1</code>.\nPaveikslėlių miniatiūrizavimas bus įjungtas, jeigu įgalinsite vaizdų įkėlimą.",
index 671d073..ccf733e 100644 (file)
@@ -27,7 +27,7 @@
        "config-restart": "Jā, restartēt",
        "config-env-php": "PHP $1 ir uzstādīts.",
        "config-env-hhvm": "HHVM $1 ir uzstādīts.",
-       "config-apcu": "[http://www.php.net/apcu APCu] ir uzstādīts",
+       "config-apcu": "[https://secure.php.net/apcu APCu] ir uzstādīts",
        "config-diff3-bad": "GNU diff3 nav atrasts.",
        "config-db-host-oracle": "Datubāzes TNS:",
        "config-db-name": "Datubāzes nosaukums:",
index 4598aa9..38b024c 100644 (file)
        "config-pcre-no-utf8": "<strong>Кобно</strong>: PCRE-модулот на PHP е срочен без поддршка за PCRE_UTF8.\nМедијаВики бара поддршка за UTF-8 за да може да работи правилно.",
        "config-memory-raised": "<code>memory_limit</code> за PHP изнесува $1, зголемен на $2.",
        "config-memory-bad": "<strong>Предупредување:</strong> <code>memory_limit</code> за PHP изнесува $1.\nОва е веројатно премалку.\nВоспоставката може да не успее!",
-       "config-apc": "[http://www.php.net/apc APC] е воспоставен",
-       "config-apcu": "[http://www.php.net/apcu APCu] е воспоставен",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] е воспоставен",
-       "config-no-cache-apcu": "<strong>Предупредување:</strong> Не можев да го најдам [http://www.php.net/apcu APCu] или [http://www.iis.net/download/WinCacheForPhp WinCache].",
+       "config-apc": "[https://secure.php.net/apc APC] е воспоставен",
+       "config-apcu": "[https://secure.php.net/apcu APCu] е воспоставен",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] е воспоставен",
+       "config-no-cache-apcu": "<strong>Предупредување:</strong> Не можев да го најдам [https://secure.php.net/apcu APCu] или [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].",
        "config-mod-security": "'''Предупредување''': на вашиот опслужувач има овозможено [https://modsecurity.org/ mod_security]. Ако не е поставено како што треба, ова може да предизвика проблеми кај МедијаВики и други програми што им овозможуваат на корисниците да објавуваат произволни содржини.\nПогледнете ја [https://modsecurity.org/documentation/ mod_security документацијата] или обратете се кај домаќинот ако наидете на случајни грешки.",
        "config-diff3-bad": "GNU diff3 не е пронајден.",
        "config-git": "Го пронајдов Git програмот за контрола на верзии: <code>$1</code>.",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "МедијаВики ги поддржува следниве системи на бази на податоци:\n\n$1\n\nАко системот што сакате да го користите не е наведен подолу, тогаш проследете ја горенаведената врска со инструкции за да овозможите поддршка за тој систем.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] е главната цел на МедијаВики и најдобро е поддржан. МедијаВики работи и со [{{int:version-db-mariadb-url}} MariaDB] и [{{int:version-db-percona-url}} Percona], кои се складни со MySQL. ([http://www.php.net/manual/en/mysqli.installation.php Како да срочите PHP со поддршка за MySQL])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] е популарен систем на бази на податоци со отворен код кој претставува алтернатива на MySQL ([http://www.php.net/manual/en/pgsql.installation.php како да составите PHP со поддршка за PostgreSQL]). ([http://www.php.net/manual/en/pgsql.installation.php Како да срочите PHP со поддршка за PostgreSQL])",
-       "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] е лесен систем за бази на податоци кој е многу добро поддржан. ([http://www.php.net/manual/en/pdo.installation.php Како да составите PHP со поддршка за SQLite], користи PDO)",
-       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] е база на податоци на комерцијално претпријатие. ([http://www.php.net/manual/en/oci8.installation.php Како да составите PHP со поддршка за OCI8])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server]  е база на податоци на комерцијално претпријатиe за Windows ([http://www.php.net/manual/en/sqlsrv.installation.php How to compile PHP with SQLSRV поддршка])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] е главната цел на МедијаВики и најдобро е поддржан. МедијаВики работи и со [{{int:version-db-mariadb-url}} MariaDB] и [{{int:version-db-percona-url}} Percona], кои се складни со MySQL. ([https://secure.php.net/manual/en/mysqli.installation.php Како да срочите PHP со поддршка за MySQL])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] е популарен систем на бази на податоци со отворен код кој претставува алтернатива на MySQL ([Config-dbsupport-oracle/manual/en/pgsql.installation.php како да составите PHP со поддршка за PostgreSQL]). ([Config-dbsupport-oracle/manual/en/pgsql.installation.php Како да срочите PHP со поддршка за PostgreSQL])",
+       "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] е лесен систем за бази на податоци кој е многу добро поддржан. ([https://secure.php.net/manual/en/pdo.installation.php Како да составите PHP со поддршка за SQLite], користи PDO)",
+       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] е база на податоци на комерцијално претпријатие. ([https://secure.php.net/manual/en/oci8.installation.php Како да составите PHP со поддршка за OCI8])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server]  е база на податоци на комерцијално претпријатиe за Windows ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php How to compile PHP with SQLSRV поддршка])",
        "config-header-mysql": "Нагодувања на MySQL",
        "config-header-postgres": "Нагодувања на PostgreSQL",
        "config-header-sqlite": "Нагодувања на SQLite",
        "config-license-help": "Многу јавни викија ги ставаат сите придонеси под [https://freedomdefined.org/Definition слободна лиценца].\nСо ова се создава атмосфера на општа сопственост и поттикнува долгорочно учество.\nОва не е неопходно за викија на поединечни физички или правни лица.\n\nАко сакате да користите текст од Википедија, и сакате Википедија да прифаќа текст прекопиран од вашето вики, тогаш треба да ја одберете лиценцата <strong>{{int:config-license-cc-by-sa}}</strong>..\n\nГНУ-овата лиценца за слободна документација (ГЛСД) е старата лиценца на Википедија.\nОваа лиценца сè уште важи, но е тешка за разбирање.\nИсто така треба да се има на ум дека пренамената на содржините под ГЛСД не е лесна.",
        "config-email-settings": "Нагодувања за е-пошта",
        "config-enable-email": "Овозможи излезна е-пошта",
-       "config-enable-email-help": "Ако сакате да работи е-поштата, [http://www.php.net/manual/en/mail.configuration.php поштенските нагодувања на PHP] треба да се правилно наместени.\nАко воопшто не сакате никакви функции за е-пошта, тогаш можете да ги оневозможите тука.",
+       "config-enable-email-help": "Ако сакате да работи е-поштата, [Config-dbsupport-oracle/manual/en/mail.configuration.php поштенските нагодувања на PHP] треба да се правилно наместени.\nАко воопшто не сакате никакви функции за е-пошта, тогаш можете да ги оневозможите тука.",
        "config-email-user": "Овозможи е-пошта од корисник до корисник",
        "config-email-user-help": "Дозволи сите корисници да можат да си праќаат е-пошта ако ја имаат овозможено во нагодувањата.",
        "config-email-usertalk": "Овозможи известувања за промени во кориснички страници за разговор",
index 4f158f9..79fd490 100644 (file)
@@ -91,7 +91,7 @@
        "config-license-cc-by-nc-sa": "ക്രിയേറ്റീവ് കോമൺസ് ആട്രിബ്യൂഷൻ നോൺ-കൊമേഴ്സ്യൽ ഷെയർ എലൈക്",
        "config-license-pd": "പൊതുസഞ്ചയം",
        "config-email-settings": "ഇമെയിൽ സജ്ജീകരണങ്ങൾ",
-       "config-enable-email-help": "ഇമെയിൽ പ്രവർത്തിക്കണമെങ്കിൽ, [http://www.php.net/manual/en/mail.configuration.php PHP's മെയിൽ സജ്ജീകരണങ്ങൾ] ശരിയായി ക്രമീകരിക്കേണ്ടതുണ്ട്.\nഇമെയിൽ സൗകര്യം ആവശ്യമില്ലെങ്കിൽ, ഇവിടെത്തന്നെ അത് നിർജ്ജീവമാക്കാം.",
+       "config-enable-email-help": "ഇമെയിൽ പ്രവർത്തിക്കണമെങ്കിൽ, [Config-dbsupport-oracle/manual/en/mail.configuration.php PHP's മെയിൽ സജ്ജീകരണങ്ങൾ] ശരിയായി ക്രമീകരിക്കേണ്ടതുണ്ട്.\nഇമെയിൽ സൗകര്യം ആവശ്യമില്ലെങ്കിൽ, ഇവിടെത്തന്നെ അത് നിർജ്ജീവമാക്കാം.",
        "config-email-user": "ഉപയോക്താക്കൾ തമ്മിലുള്ള ഇമെയിൽ പ്രവർത്തനസജ്ജമാക്കുക",
        "config-email-user-help": "സ്വന്തം ക്രമീകരണങ്ങളിൽ ഇമെയിൽ സജ്ജമാക്കിയിട്ടുണ്ടെങ്കിൽ ഉപയോക്താക്കളെ മറ്റുള്ളവർക്ക് ഇമെയിൽ അയയ്ക്കാൻ അനുവദിക്കുക.",
        "config-email-usertalk": "ഉപയോക്തൃസംവാദം താളിൽ മാറ്റങ്ങളുണ്ടായാൽ അറിയിക്കുക",
index 8e7cbee..c00382d 100644 (file)
@@ -52,8 +52,8 @@
        "config-outdated-sqlite": "<strong>इशारा:</strong> आपणापाशी SQLite $1 आहे, जी किमान आवश्यक आवृत्ती $2 पेक्षा, निम्न आहे. SQLite अनुपलब्ध राहील.",
        "config-memory-raised": "पीएचपीची <code>memory_limit</code> ही $1 आहे, त्यास $2 ला वाढविली.",
        "config-memory-bad": "पीएचपीची <code>memory_limit</code> ही $1 आहे.\nही बरीच खालच्या स्तरावरची आहे.\nउभारणी अयशस्वी होऊ शकते!",
-       "config-apc": "[http://www.php.net/apc APC] उभारली आहे",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] उभारली आहे",
+       "config-apc": "[https://secure.php.net/apc APC] उभारली आहे",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] उभारली आहे",
        "config-diff3-bad": "GNU diff3 सापडली नाही.",
        "config-git-bad": "गीट आवृत्ती नियमन संचेतन सापडली नाही.",
        "config-db-type": "डाटाबेसचा प्रकार:",
index c848c42..41e678c 100644 (file)
@@ -58,8 +58,8 @@
        "config-no-fts3": "<strong>Amaran:</strong> SQLite disusun tanpa [//sqlite.org/fts3.html modil FTS3], maka ciri-ciri pencarian tidak akan disediakan pada backend ini.",
        "config-pcre-old": "<strong>Amaran keras:</strong> PCRE $1 ke atas diperlukan.\nBinari PHP anda berpaut dengan PCRE $2.\n[https://www.mediawiki.org/wiki/Manual:Errors_and_symptoms/PCRE Keterangan lanjut].",
        "config-memory-bad": "<strong>Amaran:</strong> <code>memory_limit</code> (Had memori) PHP ialah $1.\nIni mungkin terlalu rendah.\nPemasangan mungkin akan gagal!",
-       "config-apc": "[http://www.php.net/apc APC] dipasang",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] dipasang",
+       "config-apc": "[https://secure.php.net/apc APC] dipasang",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] dipasang",
        "config-mod-security": "<strong>Amaran:</strong> Pelayan web anda dihidupkan [https://modsecurity.org/ mod_security]/mod_security2. Kebanyakan konfigurasinya yang umum boleh menimbulkan kesulitan untuk MediaWiki dan perisian-perisian lain yang membolehkan pengguna untuk mengeposkan kandungan yang sewenang-wenang.\nJika boleh, ciri-ciri ini harus dimatikan. Jika tidak, rujuki [https://modsecurity.org/documentation/ dokumentasi mod_security] atau hubungi bantuan hos anda jika anda menghadapi ralat sembarangan.",
        "config-diff3-bad": "GNU diff3 tidak dijumpai.",
        "config-git": "Perisian kawalan versi Git dijumpai: <code>$1</code>.",
index 1763fcd..f7cc024 100644 (file)
@@ -31,9 +31,9 @@
        "config-env-hhvm": "اچ‌اچ‌وی‌ام $1 نصب بیه.",
        "config-unicode-using-intl": "عادی یونیکد وسه [https://pecl.php.net/intl افزونهٔ intl برای PECL] جه استفاده هاکن.",
        "config-memory-raised": "PHP's <code>memory_limit</code>, نسخهٔ $1 هسته، ونه نسخهٔ $2 ره بَیری آپگریت هاکنی.",
-       "config-apc": "[http://www.php.net/apc APC] نصب بیه.",
-       "config-apcu": "[http://www.php.net/apcu APCu] نصب بیه.",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] نصب بیه.",
+       "config-apc": "[https://secure.php.net/apc APC] نصب بیه.",
+       "config-apcu": "[https://secure.php.net/apcu APCu] نصب بیه.",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] نصب بیه.",
        "config-diff3-bad": "GNU diff3 پیدا نیه.",
        "config-mysql-binary": "باینری",
        "config-mysql-utf8": "UTF-8",
index fa41257..377056f 100644 (file)
@@ -59,9 +59,9 @@
        "config-pcre-no-utf8": "<strong>Fatale:</strong> 'E module PCRE d' 'o PHP pare ca se so' compilate senza PCRE_UTF8 supporto.\nA MediaWiki serve nu supporto UTF-8 pe' putè funziunà apposto.",
        "config-memory-raised": "'O valore 'e PHP <code>memory_limit</code> è $1, aumentato a $2.",
        "config-memory-bad": "<strong>Attenziò:</strong> 'o valore 'e PHP <code>memory_limit</code> è $1.\nProbabbilmente troppo basso.\n'A installazione se putesse scassà!",
-       "config-apc": "[http://www.php.net/apc APC] è installato",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] è installato",
-       "config-no-cache-apcu": "<strong>Attenziò:</strong> [http://www.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] o [http://www.iis.net/download/WinCacheForPhp WinCache] nun so' state truvate.\n'A funziona caching 'e ll'oggette non è apicciata.",
+       "config-apc": "[https://secure.php.net/apc APC] è installato",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] è installato",
+       "config-no-cache-apcu": "<strong>Attenziò:</strong> [https://secure.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] o [https://www.iis.net/downloads/microsoft/wincache-extension WinCache] nun so' state truvate.\n'A funziona caching 'e ll'oggette non è apicciata.",
        "config-mod-security": "<strong>Attenziò:</strong> 'O servitore web vuosto téne [https://modsecurity.org/ mod_security]/mod_security2 appicciato. Ce stanno tante mpustaziune commune ca 'o facessero causà prubbleme a MediaWiki e ll'ati software ca permettessero ll'utente 'e pubbrecà cuntenute.\nSi putite, stutate sta funziona. Sinò, riferite 'a [https://modsecurity.org/documentation/ documentaziona ncopp' 'o mod_security] o cuntattate 'o host vuosto pe' ve dà supporto quanno se scummogliasse cocch'errore.",
        "config-diff3-bad": "GNU diff3 nun truvato.",
        "config-git": "Truvato software 'e cuntrollo d' 'a verziona Git: <code>$1</code>.",
        "config-type-mysql": "MySQL (o compatibbele)",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki supporta 'e sisteme 'e database ccà abbascio:\n\n$1\n\nSi nfra chiste ccà nun vedite 'o sistema 'e database ca vulite ausà, allora avite liegge 'e instruziune ccà ncoppa pe' ne dà supporto.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] è 'a configurazione cchiù mmeglio p' 'o MediaWiki e è chilla meglio suppurtata. MediaWiki può faticà pure cu' [{{int:version-db-mariadb-url}} MariaDB] e [{{int:version-db-percona-url}} Percona Server], ca fossero MySQL cumpatibbele. ([http://www.php.net/manual/en/mysqli.installation.php Comme s'adda fà pe' cumpilà PHP cu suppuorto MySQL])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] è nu sistema canusciuto 'e database open source ca fosse n'alternativa a MySQL. Putess'avé cocch'errore p'arricettà, e nun è cunzigliato 'e ll'ausà dint'a n'ambiente 'e produziona. ([http://www.php.net/manual/en/pgsql.installation.php Comme s'avess'a cumpilà PHP cu suppuorto PostgreSQL])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] è 'a configurazione cchiù mmeglio p' 'o MediaWiki e è chilla meglio suppurtata. MediaWiki può faticà pure cu' [{{int:version-db-mariadb-url}} MariaDB] e [{{int:version-db-percona-url}} Percona Server], ca fossero MySQL cumpatibbele. ([https://secure.php.net/manual/en/mysqli.installation.php Comme s'adda fà pe' cumpilà PHP cu suppuorto MySQL])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] è nu sistema canusciuto 'e database open source ca fosse n'alternativa a MySQL. Putess'avé cocch'errore p'arricettà, e nun è cunzigliato 'e ll'ausà dint'a n'ambiente 'e produziona. ([https://secure.php.net/manual/en/pgsql.installation.php Comme s'avess'a cumpilà PHP cu suppuorto PostgreSQL])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite]  è nu sistema 'e database leggero, ca fosse assaje buono suppurtato. ([http://www.php.net/manual/en/pdo.installation.php Comme cumpilà PHP cu suppuorto SQLite], aùsa PDO)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] è nu database 'e na fraveca commerciale. ([http://www.php.net/manual/en/oci8.installation.php Comme cumpilà PHP cu suppuorto OCI8])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] è nu database 'e na fraveca commerciale p' 'o Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Comme cumpilà PHP cu suppuorto SQLSRV])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] è nu database 'e na fraveca commerciale p' 'o Windows. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php Comme cumpilà PHP cu suppuorto SQLSRV])",
        "config-header-mysql": "Mpustaziune MySQL",
        "config-header-postgres": "Mpustaziune PostgreSQL",
        "config-header-sqlite": "Mpustaziune SQLite",
        "config-license-help": "Nu cuofeno 'e wiki pubbrece lassano 'e cuntribbute lloro cu na [https://freedomdefined.org/Definition licienza libbera]. Chesto aiutasse a crià nu senso 'e pruprietà spartuta dint'a communità e ncuraggiasse a cuntribbuiì a nu tèrmene luongo. Nun è generalmente necessario pe' nu wiki privato o aziendale.\n\nSi vulite ausà testi 'a Wikipedia, o vulite ca Wikipedia se pozza miette 'n grado d'accettà teste cupiate d' 'o wiki vuosto, avissev'a scegiere <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nApprimma Wikipedia aveva ausato 'a GNU Free Documentation License. 'A GFDL è una licienza valida, ma è di difficile comprensiona e complica 'o riutilizzo 'e cuntenute.",
        "config-email-settings": "Mpustaziune email",
        "config-enable-email": "Premmette mmasciate elettroniche r'asciuta",
-       "config-enable-email-help": "Si vulite ca 'o sistema 'e mmasciate mail funziunasse, [http://www.php.net/manual/en/mail.configuration.php 'e mpustaziune PHP] s'avesser'a ffà bbuone.\nSi nun vulite 'a funziona mmasciata e-mail, allora stutate chiste llàn.",
+       "config-enable-email-help": "Si vulite ca 'o sistema 'e mmasciate mail funziunasse, [Config-dbsupport-oracle/manual/en/mail.configuration.php 'e mpustaziune PHP] s'avesser'a ffà bbuone.\nSi nun vulite 'a funziona mmasciata e-mail, allora stutate chiste llàn.",
        "config-email-user": "Premmette email utente-utente",
        "config-email-user-help": "Cunzente a ll'utente 'e mannà uno a ll'ato le mail si 'e teneno appicciate dint' 'e preferenze lloro.",
        "config-email-usertalk": "Premmette notifiche p' 'e paggene 'e chiacchiera utente",
index c00cf18..479c3f5 100644 (file)
        "config-pcre-no-utf8": "'''Fatal''': PHPs PCRE modul ser ut til å være kompilert uten PCRE_UTF8-støtte.\nMediaWiki krever UTF-8-støtte for å fungere riktig.",
        "config-memory-raised": "PHPs <code>memory_limit</code> er $1, økt til $2.",
        "config-memory-bad": "'''Advarsel:''' PHPs <code>memory_limit</code> er $1.\nDette er sannsynligvis for lavt.\nInstallasjonen kan mislykkes!",
-       "config-apc": "[http://www.php.net/apc APC] er installert",
-       "config-apcu": "[http://www.php.net/apcu APCu] er installert",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] er installert",
-       "config-no-cache-apcu": "<strong>Advarsel:</strong> Kunne ikke finne [http://www.php.net/apcu APCu] eller [http://www.iis.net/download/WinCacheForPhp WinCache].\nObjekthurtiglagring er ikke aktivert.",
+       "config-apc": "[https://secure.php.net/apc APC] er installert",
+       "config-apcu": "[https://secure.php.net/apcu APCu] er installert",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] er installert",
+       "config-no-cache-apcu": "<strong>Advarsel:</strong> Kunne ikke finne [https://secure.php.net/apcu APCu] eller [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nObjekthurtiglagring er ikke aktivert.",
        "config-mod-security": "'''Advarsel''': Din web-tjener har [https://modsecurity.org/ mod_security] påslått. Hvis denne er feilinnstilt, kan det gi problemer for MediaWiki eller annen programvare som tillater brukere å poste vilkårlig innhold.\nSjekk [https://modsecurity.org/documentation/ mod_security-dokumentasjonen] eller ta kontakt med din nettleverandør hvis du opplever tilfeldige feil.",
        "config-diff3-bad": "GNU diff3 ikke funnet.",
        "config-git": "Har funnet Git version control software: <code>$1</code>.",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQLServer",
        "config-support-info": "MediaWiki støtter følgende databasesystem:\n\n$1\n\nHvis du ikke ser databasesystemet du prøver å bruke i listen nedenfor, følg instruksjonene det er lenket til over for å aktivere støtte.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] er den prefererte databasen for MediaWiki og er derfor best støttet.  MediaWiki fungerer også med [{{int:version-db-mariadb-url}} MariaDB] og [{{int:version-db-percona-url}} Percona Server], som begge er MySQL-kompatible. ([http://www.php.net/manual/en/mysqli.installation.php Hvordan kompilere med PHP med MySQL-støtte])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] er et populært åpen kildekode-databasesystem og et alternativ til MySQL.  ([http://www.php.net/manual/en/pgsql.installation.php Hvordan kompilere PHP med PostgreSQL-støtte])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] er den foretrukne databasetypen for MediaWiki og har best støtte.  MediaWiki fungerer også med [{{int:version-db-mariadb-url}} MariaDB] og [{{int:version-db-percona-url}} Percona Server], som begge er MySQL-kompatible. ([https://secure.php.net/manual/en/mysqli.installation.php Hvordan kompilere PHP med MySQL-støtte])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] er et populært åpen kildekode-databasesystem og et alternativ til MySQL.  ([https://secure.php.net/manual/en/pgsql.installation.php Hvordan kompilere PHP med PostgreSQL-støtte])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] er et lettvekts-databasesystem som har veldig god støtte. ([http://www.php.net/manual/en/pdo.installation.php Hvordan kompilere PHP med SQLite-støtte], bruker PDO)",
-       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] er en kommersiell database for bedrifter. ([http://www.php.net/manual/en/oci8.installation.php Hvordan kompilere PHP med OCI8-støtte])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQLServer] er en kommersiell enterprise-database for Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Hvordan kompilere PHP med SQLSRV-støtte])",
+       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] er en kommersiell database for bedrifter. ([https://secure.php.net/manual/en/oci8.installation.php Hvordan kompilere PHP med OCI8-støtte])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] er et kommersielt databasesystem under Windows for bedrifter. ([https://secure.php.net/manual/en/sqlsrv.installation.php Hvordan kompilere PHP med SQLSRV-støtte])",
        "config-header-mysql": "MySQL-innstillinger",
        "config-header-postgres": "PostgreSQL-innstillinger",
        "config-header-sqlite": "SQLite-innstillinger",
        "config-license-help": "Mange åpne wikier legger alle bidrag under en [https://freedomdefined.org/Definition gratislisens].\nDette gir en følelse av felleseie og stimulerer til langvarige bidrag.\nDette er normalt unødvendig for en privat eller virksomhetsbegrenset wiki.\n\nHvis du ønsker å kunne bruke tekst fra Wikipedia, og at Wikipedia skal kunne ta i mot tekst kopiert fra din wiki, bør du velge <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nWikipedia brukte tidligere GNU Free Documentation License.\nGFDL er en grei lisens, med vanskelig å forstå.\nDet er også vanskelig å gjenbruke innhold lisensiert under GFDL.",
        "config-email-settings": "E-postinnstillinger",
        "config-enable-email": "Aktiver utgående e-post",
-       "config-enable-email-help": "Hvis du vil at e-post skal virke må [http://www.php.net/manual/en/mail.configuration.php PHPs e-postinnstillinger] bli konfigurert riktig.\nHvis du ikke ønsker noen e-postfunksjoner kan du deaktivere dem her.",
+       "config-enable-email-help": "Hvis du vil at e-post skal virke, må [https://secure.php.net/manual/en/mail.configuration.php PHPs e-post-innstillinger] konfigureres riktig.\nHvis du ikke ønsker noen e-postfunksjoner, kan du deaktivere dem her.",
        "config-email-user": "Aktiver e-post mellom brukere",
        "config-email-user-help": "Tillat alle brukere å sende hverandre e-post hvis de har aktivert det i deres innstillinger.",
        "config-email-usertalk": "Aktiver brukerdiskusjonssidevarsler",
index 566f72a..dcee489 100644 (file)
@@ -56,7 +56,7 @@
        "config-almost-done": "Je bent bijna klaar!\nAls je wilt kan je de overige instellingen overslaan en de wiki nu installeren.",
        "config-profile-help": "Wiki's werken het beste als ze door zoveel mogelijk gebruikers worden bewerkt.\nIn MediaWiki is het eenvoudig om de recente wijzigingen te controleren en eventuele foutieve of kwaadwillende bewerkingen terug te draaien.\n\nDaarnaast vinden velen MediaWiki goed inzetbaar in vele andere rollen, en soms is het niet handig om helemaal \"op de wikimanier\" te werken.\nDaarom biedt dit installatieprogramma je de volgende keuzes voor de basisinstelling van gebruikersvrijheden:\n\nEen '''{{int:config-profile-wiki}}''' staat iedereen toe te bewerken, zonder zelfs aan te melden.\nEen wiki met '''{{int:config-profile-no-anon}}\" biedt extra verantwoordelijkheid, maar kan afschrikken toevallige gebruikers afschrikken.\n\nHet scenario '''{{int:config-profile-fishbowl}}''' laat gebruikers waarvoor dat is ingesteld bewerkt, maar andere gebruikers kunnen alleen pagina's bekijken, inclusief de bewerkingsgeschiedenis.\nIn een '''{{int:config-profile-private}}''' kunnen alleen goedgekeurde gebruikers pagina's bekijken en bewerken.\n\nMeer complexe instellingen voor gebruikersrechten zijn te maken na de installatie; hierover is meer te lezen in de [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:User_rights handleiding].",
        "config-license-help": "In veel openbare wiki's zijn alle bijdragen beschikbaar onder een [https://freedomdefined.org/Definition vrije licentie].\nDit helpt bij het creëren van een gevoel van gemeenschappelijk eigendom en stimuleert bijdragen op lange termijn.\nDit is over het algemeen niet nodig is voor een particuliere of zakelijke wiki.\n\nAls je teksten uit Wikipedia wilt kunnen gebruiken en je wilt het mogelijk maken teksten uit je wiki naar Wikipedia te kopiëren, kies dan de licentie '''Creative Commons Naamsvermelding-Gelijk delen'''.\n\nDe GNU Free Documentation License is de oude licentie voor inhoud uit Wikipedia.\nDit is nog steeds een geldige licentie, maar deze licentie is lastig te begrijpen.\nHet is ook lastig inhoud te hergebruiken onder de GFDL.",
-       "config-enable-email-help": "Als je wilt dat e-mailen mogelijk is, dan moeten de [http://www.php.net/manual/en/mail.configuration.php e-mailinstellingen van PHP] correct zijn.\nAls je niet wilt dat e-mailen mogelijk is, dan kan je de instellingen hier uitschakelen.",
+       "config-enable-email-help": "Als je wilt dat e-mailen mogelijk is, dan moeten de [Config-dbsupport-oracle/manual/en/mail.configuration.php e-mailinstellingen van PHP] correct zijn.\nAls je niet wilt dat e-mailen mogelijk is, dan kan je de instellingen hier uitschakelen.",
        "config-upload-help": "Het toestaan van het uploaden van bestanden stelt je server mogelijk bloot aan beveiligingsrisico's.\nEr is meer [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Security informatie over beveiliging] beschikbaar in de handleiding.\n\nOm het bestandsuploads mogelijk te maken kan je de rechten op de submap <code>images</code> onder de hoofdmap van MediaWiki aanpassen, zodat de webserver erin kan schrijven.\nDaarmee wordt deze functie ingeschakeld.",
        "config-logo-help": "Het standaarduiterlijk van MediaWiki bevat ruimte voor een logo van 135x160 pixels boven het menu.\nUpload een afbeelding met de juiste afmetingen en voer de URL hier in.\n\nAls je geen logo wilt gebruiken, kan je dit veld leeg laten.",
        "config-cc-not-chosen": "Kies de Creative Commonslicentie die je wilt gebruiken en klik op \"proceed\".",
index 81416cc..c5ebb88 100644 (file)
        "config-pcre-no-utf8": "<strong>Onherstelbare fout:</strong> de module PRCE van PHP lijkt te zijn gecompileerd zonder ondersteuning voor PCRE_UTF8.\nMediaWiki heeft ondersteuning voor UTF-8 nodig om correct te kunnen werken.",
        "config-memory-raised": "PHP's <code>memory_limit</code> is $1 en is verhoogd tot $2.",
        "config-memory-bad": "'''Waarschuwing:''' PHP's <code>memory_limit</code> is $1.\nDit is waarschijnlijk te laag.\nDe installatie kan mislukken!",
-       "config-apc": "[http://www.php.net/apc APC] is op dit moment geïnstalleerd",
-       "config-apcu": "[http://www.php.net/apcu APCu] is geïnstalleerd",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] is op dit moment geïnstalleerd",
-       "config-no-cache-apcu": "<strong>Waarschuwing:</strong> [http://www.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] of [http://www.iis.net/download/WinCacheForPhp WinCache] is niet aangetroffen.\nHet cachen van objecten is niet ingeschakeld.",
+       "config-apc": "[https://secure.php.net/apc APC] is op dit moment geïnstalleerd",
+       "config-apcu": "[https://secure.php.net/apcu APCu] is geïnstalleerd",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] is op dit moment geïnstalleerd",
+       "config-no-cache-apcu": "<strong>Waarschuwing:</strong> [https://secure.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] of [https://www.iis.net/downloads/microsoft/wincache-extension WinCache] is niet aangetroffen.\nHet cachen van objecten is niet ingeschakeld.",
        "config-mod-security": "<strong>Waarschuwing:</strong> Uw webserver heeft de module [https://modsecurity.org/ mod_security]/mod_security2 ingeschakeld. Veel standaard instellingen hiervan zorgen voor problemen in combinatie met MediaWiki en andere software die gebruikers in staat stelt willekeurige inhoud te posten.\nIndien mogelijk, zou deze moeten worden uitgeschakeld. Lees anders de [https://modsecurity.org/documentation/ documentatie over mod_security] of neem contact op met de helpdesk van uw provider als u tegen problemen aanloopt.",
        "config-diff3-bad": "GNU diff3 niet aangetroffen.",
        "config-git": "Versiecontrolesoftware git is aangetroffen: <code>$1</code>",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki ondersteunt de volgende databasesystemen:\n\n$1\n\nAls u het databasesysteem dat u wilt gebruiken niet in de lijst terugvindt, volg dan de handleiding waarnaar hierboven wordt verwezen om ondersteuning toe te voegen.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] is de primaire database voor MediaWiki en wordt het best ondersteund. MediaWiki werkt ook met [{{int:version-db-mariadb-url}} MariaDB] en [{{int:version-db-percona-url}} Percona Server], die MySQL compatibel zijn ([http://www.php.net/manual/en/mysqli.installation.php hoe PHP te compileren met MySQL-ondersteuning]).",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] is een populair open source databasesysteem als alternatief voor MySQL.([http://www.php.net/manual/en/pgsql.installation.php Hoe u PHP kunt compileren met ondersteuning voor PostgreSQL])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] is de primaire database voor MediaWiki en wordt het best ondersteund. MediaWiki werkt ook met [{{int:version-db-mariadb-url}} MariaDB] en [{{int:version-db-percona-url}} Percona Server], die MySQL compatibel zijn ([https://secure.php.net/manual/en/mysqli.installation.php hoe PHP te compileren met MySQL-ondersteuning]).",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] is een populair open source databasesysteem als alternatief voor MySQL.([https://secure.php.net/manual/en/pgsql.installation.php Hoe u PHP kunt compileren met ondersteuning voor PostgreSQL])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] is een zeer goed ondersteund lichtgewicht databasesysteem ([http://www.php.net/manual/en/pdo.installation.php hoe PHP gecompileerd moet zijn met ondersteuning voor SQLite]; gebruikt PDO).",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] is een commerciële database voor grote bedrijven ([http://www.php.net/manual/en/oci8.installation.php PHP compileren met ondersteuning voor OCI8]).",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] is een commerciële enterprisedatabase voor Windows ([http://www.php.net/manual/en/sqlsrv.installation.php PHP compileren met ondersteuning voor SQLSRV]).",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] is een commerciële enterprisedatabase voor Windows ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php PHP compileren met ondersteuning voor SQLSRV]).",
        "config-header-mysql": "MySQL-instellingen",
        "config-header-postgres": "PostgreSQL-instellingen",
        "config-header-sqlite": "SQLite-instellingen",
        "config-license-help": "In veel openbare wiki's zijn alle bijdragen beschikbaar onder een [https://freedomdefined.org/Definition vrije licentie].\nDit helpt bij het creëren van een gevoel van gemeenschappelijk eigendom en stimuleert bijdragen op lange termijn.\nDit is over het algemeen niet nodig is voor een particuliere of zakelijke wiki.\n\nAls u teksten uit Wikipedia wilt kunnen gebruiken en u wilt het mogelijk maken teksten uit uw wiki naar Wikipedia te kopiëren, kies dan de licentie <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nDe GNU Free Documentation License is de oude licentie voor inhoud uit Wikipedia.\nDit is nog steeds een geldige licentie, maar deze licentie is lastig te begrijpen.\nHet is ook lastig inhoud te hergebruiken onder de GFDL.",
        "config-email-settings": "E-mailinstellingen",
        "config-enable-email": "Uitgaande e-mail inschakelen",
-       "config-enable-email-help": "Als u wilt dat e-mailen mogelijk is, dan moeten de [http://www.php.net/manual/en/mail.configuration.php e-mailinstellingen van PHP] correct zijn.\nAls u niet wilt dat e-mailen mogelijk is, dan kunt u de instellingen hier uitschakelen.",
+       "config-enable-email-help": "Als u wilt dat e-mailen mogelijk is, dan moeten de [Config-dbsupport-oracle/manual/en/mail.configuration.php e-mailinstellingen van PHP] correct zijn.\nAls u niet wilt dat e-mailen mogelijk is, dan kunt u de instellingen hier uitschakelen.",
        "config-email-user": "E-mail tussen gebruikers inschakelen",
        "config-email-user-help": "Gebruikers toestaan e-mail aan elkaar te verzenden als dit in de voorkeuren is ingesteld.",
        "config-email-usertalk": "Gebruikersoverlegmeldingen inschakelen",
index 7ac065b..c099895 100644 (file)
@@ -41,8 +41,8 @@
        "config-env-hhvm": "HHVM $1 es installat.",
        "config-unicode-using-intl": "Utilizacion de [https://pecl.php.net/intl l'extension PECL intl] per la normalizacion Unicode.",
        "config-memory-raised": "Lo paramètre <code>memory_limit</code> de PHP èra a $1, portat a $2.",
-       "config-apc": "[http://www.php.net/apc APC] es installat",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] es installat",
+       "config-apc": "[https://secure.php.net/apc APC] es installat",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] es installat",
        "config-diff3-bad": "GNU diff3 pas trobat.",
        "config-git": "Logicial de contraròtle de version Git trobat : <code>$1</code>.",
        "config-git-bad": "Logicial de contraròtle de version Git pas trobat.",
index 5b4718c..c4cb8a6 100644 (file)
@@ -81,9 +81,9 @@
        "config-memory-raised": "PHP <code>memory_limit</code> było ustawione na $1, zostanie zwiększone do $2.",
        "config-memory-bad": "'''Uwaga:''' PHP <code>memory_limit</code> jest ustawione na $1.\nTo jest prawdopodobnie zbyt mało.\nInstalacja może się nie udać!",
        "config-apc": "[Http://www.php.net/apc APC] jest zainstalowany",
-       "config-apcu": "[http://www.php.net/apcu APCu] jest zainstalowany",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] jest zainstalowany",
-       "config-no-cache-apcu": "<strong>Ostrzeżenie:</strong> Nie można było znaleźć [http://www.php.net/apcu APCu] ani [http://www.iis.net/download/WinCacheForPhp WinCache].\nPamięć podręczna obiektów nie została włączona.",
+       "config-apcu": "[https://secure.php.net/apcu APCu] jest zainstalowany",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] jest zainstalowany",
+       "config-no-cache-apcu": "<strong>Ostrzeżenie:</strong> Nie można było znaleźć [https://secure.php.net/apcu APCu] ani [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nPamięć podręczna obiektów nie została włączona.",
        "config-mod-security": "''' Ostrzeżenie ''': Serwer sieci web ma włączone [https://modsecurity.org/ mod_security]. Jeśli jest niepoprawnie skonfigurowane, może być przyczyną problemów MediaWiki lub innego oprogramowania, które pozwala użytkownikom na wysyłanie dowolnej zawartości.\nSprawdź w [https://modsecurity.org/documentation/ dokumentacji mod_security] lub skontaktuj się z obsługa hosta, jeśli wystąpią losowe błędy.",
        "config-diff3-bad": "Nie znaleziono GNU diff3.",
        "config-git": "Znaleziono oprogramowanie kontroli wersji Git: <code>$1</code>.",
        "config-type-mysql": "MySQL (lub kompatybilna)",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki może współpracować z następującymi systemami baz danych:\n\n$1\n\nPoniżej wyświetlone są systemy baz danych gotowe do użycia. Jeżeli poniżej brakuje bazy danych, z której chcesz skorzystać, oznacza to, że brakuje odpowiedniego oprogramowania lub zostało ono niepoprawnie skonfigurowane. Powyżej znajdziesz odnośniki do dokumentacji, która pomoże w konfiguracji odpowiednich komponentów.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] jest bazą danych, na której rozwijane jest oprogramowanie MediaWiki. MediaWiki działa również z [{{int:version-db-mariadb-url}} MariaDB] i [{{int:version-db-percona-url}} Percona Server], które są zgodne z MySQL. ([http://www.php.net/manual/en/mysqli.installation.php Zobacz, jak skompilować PHP ze wsparciem dla MySQL])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] jest popularnym systemem baz danych, często stosowanym zamiast MySQL. ([http://www.php.net/manual/pl/pgsql.installation.php Zobacz, jak skompilować PHP z obsługą PostgreSQL])",
-       "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] jest niewielkim systemem bazy danych, z którym MediaWiki bardzo dobrze współpracuje. ([http://www.php.net/manual/en/pdo.installation.php Zobacz, jak skompilować PHP ze wsparciem dla SQLite], korzystając z PDO)",
-       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] jest komercyjną profesjonalną bazą danych. ([http://www.php.net/manual/en/oci8.installation.php Jak skompilować PHP ze wsparciem dla OCI8])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] jest komercyjną profesjonalną bazą danych. ([http://www.php.net/manual/pl/sqlsrv.installation.php Jak skompilować PHP ze wsparciem dla SQLSRV])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] jest bazą danych, na której rozwijane jest oprogramowanie MediaWiki. MediaWiki działa również z [{{int:version-db-mariadb-url}} MariaDB] i [{{int:version-db-percona-url}} Percona Server], które są zgodne z MySQL. ([https://secure.php.net/manual/en/mysqli.installation.php Zobacz, jak skompilować PHP ze wsparciem dla MySQL])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] jest popularnym systemem baz danych, często stosowanym zamiast MySQL. ([https://secure.php.net/manual/pl/pgsql.installation.php Zobacz, jak skompilować PHP z obsługą PostgreSQL])",
+       "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] jest niewielkim systemem bazy danych, z którym MediaWiki bardzo dobrze współpracuje. ([https://secure.php.net/manual/pl/pdo.installation.php Zobacz, jak skompilować PHP ze wsparciem dla SQLite], korzystając z PDO)",
+       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] jest komercyjną profesjonalną bazą danych. ([https://secure.php.net/manual/pl/oci8.installation.php Jak skompilować PHP ze wsparciem dla OCI8])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] jest komercyjną profesjonalną bazą danych. ([https://secure.php.net/manual/pl/sqlsrv.installation.php Jak skompilować PHP ze wsparciem dla SQLSRV])",
        "config-header-mysql": "Ustawienia MySQL",
        "config-header-postgres": "Ustawienia PostgreSQL",
        "config-header-sqlite": "Ustawienia SQLite",
        "config-license-help": "Wiele publicznych wiki umieszcza wszystkie dopisane treści na [https://freedomdefined.org/Definition wolnej licencji].\nPomaga to tworzyć poczucie wspólnoty i zachęca do długoterminowego wkładu.\nNie jest to zazwyczaj konieczne w prywatnych lub firmowych wiki.\n\nJeśli chcesz móc użyć tekstu z Wikipedii i chcesz Wikipedia mogła zaakceptować tekst skopiowany z twojej wiki, należy wybrać <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nWikipedia używała poprzednio GNU Free Documentation License.\nGFDL jest poprawną licencję, ale trudno ją zrozumieć.\nTrudno także ponowne użyć zawartości na licencji GFDL.",
        "config-email-settings": "Ustawienia e-maili",
        "config-enable-email": "Włącz wychodzące wiadomości e–mail",
-       "config-enable-email-help": "Jeśli chcesz, aby działał e-mail, [http://www.php.net/manual/en/mail.configuration.php Ustawienia poczty PHP] muszą być poprawnie wprowadzone.\nJeśli nie chcesz jakichś funkcji poczty e-mail, można je wyłączyć tutaj.",
+       "config-enable-email-help": "Jeśli chcesz, aby działał e-mail, [https://secure.php.net/manual/pl/mail.configuration.php Ustawienia poczty PHP] muszą być poprawnie wprowadzone.\nJeśli nie chcesz jakichś funkcji poczty e-mail, można je wyłączyć tutaj.",
        "config-email-user": "Włącz możliwość przesyłania e‐maili pomiędzy użytkownikami",
        "config-email-user-help": "Zezwalaj użytkownikom na wysyłanie wzajemnie e‐maili, jeśli będą mieć włączoną tę funkcję w swoich preferencjach.",
        "config-email-usertalk": "Włącz powiadamianie o zmianach na stronie dyskusji użytkownika",
index e89b5db..f397942 100644 (file)
@@ -62,8 +62,8 @@
        "config-pcre-no-utf8": "'''Fatal''': ël mòdul PCRE ëd PHP a smija esse compilà sensa l'apògg PCRE_UTF8.\nMediaWiki a ciama l'apògg d'UTF8 për marcé për da bin.",
        "config-memory-raised": "<code>memory_limit</code> ëd PHP a l'é $1, aussà a $2.",
        "config-memory-bad": "'''Avis:''' <code>memory_limit</code> ëd PHP a l'é $1.\nSossì a l'é probabilment tròp bass.\nL'instalassion a peul falì!",
-       "config-apc": "[http://www.php.net/apc APC] a l'é instalà",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache]  a l'é instalà",
+       "config-apc": "[https://secure.php.net/apc APC] a l'é instalà",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache]  a l'é instalà",
        "config-mod-security": "'''Avis''': Sò servent për l'aragnà a l'ha [https://modsecurity.org/ mod_security] abilità. Se mal configurà, a peul causé dij problema për MediaWiki o d'àutri programa ch'a përmëtto a j'utent dë spedì un contnù qualsëssìa.\nCh'a fasa arferiment a la [https://modsecurity.org/documentation/ mod_security documentassion] o ch'a contata l'echip ëd sò servissi s'a-j rivo dj'eror casuaj.",
        "config-diff3-bad": "GNU diff3 pa trovà.",
        "config-imagemagick": "Trovà ImageMagick: <code>$1</code>.\nLa miniaturisassion ëd figure a sarà abilità s'it abìlite le carie.",
        "config-oracle-def-ts": "Spassi dla tàula dë stàndard:",
        "config-oracle-temp-ts": "Spassi dla tàula temporani:",
        "config-support-info": "MediaWiki a manten ij sistema ëd base ëd dàit sì-dapress:\n\n$1\n\nS'a vëd pa listà sì-sota ël sistema ëd base ëd dàit ch'a preuva a dovré, antlora va andaré a j'istrussion dl'anliura sì-dzora për abilité ël manteniment.",
-       "config-dbsupport-mysql": "* $1 e l'é l'obietiv primari për MediaWiki e a l'é mej mantnù ([http://www.php.net/manual/en/mysql.installation.php com compilé PHP con ël manteniment MySQL])",
-       "config-dbsupport-postgres": "* $1 e l'é un sistema ëd base ëd dàit popolar a sorgiss duverta com alternativa a MySQL ([http://www.php.net/manual/en/pgsql.installation.php com compilé PHP con ël manteniment ëd PostgreSQL]). A peulo ess-ie chèich cit bigat, e a l'é nen arcomandà ëd dovrelo an n'ambient ëd produssion.",
+       "config-dbsupport-mysql": "* $1 e l'é l'obietiv primari për MediaWiki e a l'é mej mantnù ([https://secure.php.net/manual/en/mysql.installation.php com compilé PHP con ël manteniment MySQL])",
+       "config-dbsupport-postgres": "* $1 e l'é un sistema ëd base ëd dàit popolar a sorgiss duverta com alternativa a MySQL ([https://secure.php.net/manual/en/pgsql.installation.php com compilé PHP con ël manteniment ëd PostgreSQL]). A peulo ess-ie chèich cit bigat, e a l'é nen arcomandà ëd dovrelo an n'ambient ëd produssion.",
        "config-dbsupport-sqlite": "* $1 e l'é un sistema ëd base ëd dàit leger che a l'é motobin bin mantnù ([http://www.php.net/manual/en/pdo.installation.php com compilé PHP con ël manteniment ëd SQLite], a deuvra PDO)",
        "config-dbsupport-oracle": "* $1 a l'é na base ëd dàit comersial për j'amprèise. ([http://www.php.net/manual/en/oci8.installation.php Com compilé PHP con ël manteniment OCI8])",
        "config-header-mysql": "Ampostassion MySQL",
        "config-license-help": "Vàire wiki pùbliche a buto tute le contribussion sota na [https://freedomdefined.org/Definition licensa lìbera]. Sòn a giuta a creé un sens d'apartenensa a la comunità e a ancoragia ëd contribussion ëd longa durà.\nA l'é generalment nen necessari për na wiki privà o d'asienda.\n\nS'a veul podèj dovré dij test da Wikipedia, e a veul che Wikipedia a aceta dij test copià da soa wiki, a dovrìa serne '''Creative Commons Attribution Share Alike'''.\n\nWikipedia prima a dovrava la GNU Free Documentation License.\nLa GDFL a l'é anco' na licensa bon-a, ma a l'é complicà capila.\nA l'é ëdcò mal fé riutilisé dël contnù licensià sota la GDFL.",
        "config-email-settings": "Ampostassion ëd pòsta eletrònica",
        "config-enable-email": "Abilité ij mëssagi ëd pòsta eletrònica an surtìa",
-       "config-enable-email-help": "S'a veul che la pòsta eletrònica a marcia, j'[http://www.php.net/manual/en/mail.configuration.php ampostassion ëd pòsta eletrònica PHP] a devo esse configurà për da bin.\nS'a veul pa 'd funsion ëd pòsta eletrònica, a dev disabiliteje ambelessì.",
+       "config-enable-email-help": "S'a veul che la pòsta eletrònica a marcia, j'[Config-dbsupport-oracle/manual/en/mail.configuration.php ampostassion ëd pòsta eletrònica PHP] a devo esse configurà për da bin.\nS'a veul pa 'd funsion ëd pòsta eletrònica, a dev disabiliteje ambelessì.",
        "config-email-user": "Abilité ij mëssagi ëd pòsta eletrònica da utent a utent",
        "config-email-user-help": "A përmët a tùit j'utent ëd mandesse ëd mëssagi ëd pòsta eletrònica se lor a l'han abilità sòn an soe preferense.",
        "config-email-usertalk": "Abilité notìfica dle pàgine ëd discussion dj'utent",
index 68c2376..cad2822 100644 (file)
@@ -30,8 +30,8 @@
        "config-restart": "هو، سر له نوي يې پيل کړه",
        "config-env-php": "د $1 PHP نصب شو.",
        "config-env-hhvm": "HHVM $1 نصب شو.",
-       "config-apc": "[http://www.php.net/apc APC] نصب شو",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] نصب شو",
+       "config-apc": "[https://secure.php.net/apc APC] نصب شو",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] نصب شو",
        "config-diff3-bad": "جي ان يو ډيف3 و نه موندل شو.",
        "config-using-server": "د پالنگر نوم \"<nowiki>$1</nowiki>\" کارېږي.",
        "config-using-uri": "د پالنگر URL \"<nowiki>$1$2</nowiki>\" کارېږي.",
index 723b25e..03bcf64 100644 (file)
        "config-pcre-no-utf8": "<strong>Erro fatal:</strong> O módulo PCRE do PHP parece ser compilado sem suporte a PCRE_UTF8.\nO MediaWiki requer suporte a UTF-8 para funcionar corretamente.",
        "config-memory-raised": "A configuração <code>memory_limit</code> do PHP era $1; foi aumentada para $2.",
        "config-memory-bad": "<strong>Aviso:</strong> A configuração <code>memory_limit</code> do PHP é $1.\nIsso provavelmente é muito baixo.\nA instalação pode falhar!",
-       "config-apc": "[http://www.php.net/apc APC] está instalado",
-       "config-apcu": "[http://www.php.net/apcu APCu] está instalado",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] está instalado",
-       "config-no-cache-apcu": "<strong>Aviso:</strong> Não foram encontrados o [http://www.php.net/apcu APCu], ou o [http://www.iis.net/download/WinCacheForPhp WinCache].\nA cache de objetos não está ativa.",
+       "config-apc": "[https://secure.php.net/apc APC] está instalado",
+       "config-apcu": "[https://secure.php.net/apcu APCu] está instalado",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] está instalado",
+       "config-no-cache-apcu": "<strong>Aviso:</strong> Não foram encontrados o [https://secure.php.net/apcu APCu], ou o [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nA cache de objetos não está ativa.",
        "config-mod-security": "<strong>Aviso:</strong> Seu servidor web tem [https://modsecurity.org/ mod_security2] habilitado. Muitas configurações comuns de módulo podem causar problemas para o MediaWiki ou outro software que permite aos usuários postar conteúdo arbitrário.\nSe possível, ele dever ser desativad. Consulte a [https://modsecurity.org/documentation/ documentação do mod_security] ou entre em contato com o suporte do seu host se você encontrar erros aleatórios.",
        "config-diff3-bad": "O GNU diff3 não foi encontrado.",
        "config-git": "Foi encontrado o software de controle de versão Git: <code>$1</code>.",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "O MediaWiki suporta os sistemas de banco de dados a seguir:\n\n$1\n\nSe você não vê o sistema de banco de dados que você está tentando usar listados abaixo, siga as instruções relacionadas acima, para ativar o suporte.",
        "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] é o principal alvo para o MediaWiki e é melhor suportado. O MediaWiki também funciona com [{{int:version-db-mariadb-url}} MariaDB] e [{{int:version-db-percona-url}} Percona Server], que são compatíveis com MySQL. ([Http://www.php.net/manual/en/mysqli.installation.php Como compilar PHP com suporte a MySQL])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] é um popular sistema de banco de dados de código aberto como uma alternativa para o MySQL. ([http://www.php.net/manual/en/pgsql.installation.php Como compilar o PHP com suporte PostgreSQL])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] é um popular sistema de banco de dados de código aberto como uma alternativa para o MySQL. ([https://secure.php.net/manual/en/pgsql.installation.php Como compilar o PHP com suporte PostgreSQL])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] é um sistema de banco de dados leve que é muito bem suportado. ([http://www.php.net/manual/en/pdo.installation.php como compilar o PHP com suporte a SQLite], usa DOP)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] é um banco de dados comercial de empresas. ([http://www.php.net/manual/en/oci8.installation.php Como compilar o PHP com suporte OCI8])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] é uma banco de dados comercial do Windows para empresas. ([http://www.php.net/manual/en/sqlsrv.installation.php Como compilar o PHP com suporte SQLSRV])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] é uma banco de dados comercial do Windows para empresas. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php Como compilar o PHP com suporte SQLSRV])",
        "config-header-mysql": "Configurações MySQL",
        "config-header-postgres": "Configurações PostgreSQL",
        "config-header-sqlite": "Configurações SQLite",
        "config-license-help": "Muitas wikis públicas colocam todas as contribuições sob uma [https://freedomdefined.org/Definition licença livre].\nIsso ajuda a criar um senso de propriedade da comunidade e incentiva a contribuição de longo prazo.\nGeralmente não é necessário para uma empresa privada ou wiki corporativa.\nSe você quiser poder usar o texto da Wikipédia e quiser que a Wikipédia possa aceitar o texto copiado da sua wiki, você deve escolher <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nA Wikipédia usou anteriormente a Licença de Documentação Livre GNU.\n A GFDL é uma licença válida, mas é difícil de entender.\nTambém é difícil reutilizar conteúdo licenciado sob o GFDL.",
        "config-email-settings": "Configurações de e-mail",
        "config-enable-email": "Ativar envio de e-mail",
-       "config-enable-email-help": "Se você quer que o e-mail funcione, estas [http://www.php.net/manual/en/mail.configuration.php configurações de e-mail PHP] precisam ser configuradas corretamente.\nSe você não quiser usar nenhuma das funcionalidades, você pode desabilitá-las aqui.",
+       "config-enable-email-help": "Se você quer que o e-mail funcione, estas [Config-dbsupport-oracle/manual/en/mail.configuration.php configurações de e-mail PHP] precisam ser configuradas corretamente.\nSe você não quiser usar nenhuma das funcionalidades, você pode desabilitá-las aqui.",
        "config-email-user": "Ativar e-mails entre usuários",
        "config-email-user-help": "Permitir que todos os usuários enviem e-mail entre si se eles tiverem habilitado este recurso em suas preferências.",
        "config-email-usertalk": "Ativar notificação de alterações em páginas de discussão de usuário",
index 11f0255..dcf39b0 100644 (file)
        "config-pcre-no-utf8": "'''Erro fatal''': O módulo PCRE do PHP parece ter sido compilado sem suporte PCRE_UTF8.\nO MediaWiki necessita do suporte UTF-8 para funcionar corretamente.",
        "config-memory-raised": "A configuração <code>memory_limit</code> do PHP era $1; foi aumentada para $2.",
        "config-memory-bad": "<strong>Aviso:</strong> A configuração <code>memory_limit</code> do PHP é $1.\nIsto é provavelmente demasiado baixo.\nA instalação poderá falhar!",
-       "config-apc": "[http://www.php.net/apc APC] instalada",
-       "config-apcu": "[http://www.php.net/apcu APCu] instalado",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] instalada",
-       "config-no-cache-apcu": "<strong>Aviso:</strong> Não foi encontrado o [http://www.php.net/apcu APCu] nem o [http://www.iis.net/download/WinCacheForPhp WinCache].\nA cache de objetos não está ativa.",
+       "config-apc": "[https://secure.php.net/apc APC] instalada",
+       "config-apcu": "[https://secure.php.net/apcu APCu] instalado",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] instalada",
+       "config-no-cache-apcu": "<strong>Aviso:</strong> Não foi encontrado o [https://secure.php.net/apcu APCu] nem o [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nA cache de objetos não está ativa.",
        "config-mod-security": "<strong>Aviso:</strong> O seu servidor de Internet tem o [https://modsecurity.org/ mod_security]/mod_security2 ativado. Muitas das suas configurações normais podem causar problemas ao MediaWiki e a outros programas, permitindo que os utilizadores publiquem conteúdos arbitrários.\nSe possível, isto deve ser desativado. Se não, consulte a [https://modsecurity.org/documentation/ mod_security documentação] ou peça apoio ao fornecedor do alojamento do seu servidor se encontrar erros aleatórios.",
        "config-diff3-bad": "O GNU diff3 não foi encontrado.",
        "config-git": "Foi encontrado o software de controlo de versões Git: <code>$1</code>.",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "O MediaWiki suporta as seguintes plataformas de base de dados:\n\n$1\n\nSe a plataforma que pretende usar não está listada abaixo, siga as instruções nas hiperligações acima para ativar o suporte.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] é a plataforma primária do MediaWiki e é a melhor suportada. O MediaWiki também trabalha com [{{int:version-db-mariadb-url}} MariaDB] e [{{int:version-db-percona-url}} Percona Server], que são compatíveis com MySQL. ([http://www.php.net/manual/en/mysql.installation.php Como compilar PHP com suporte a MySQL])",
-       "config-dbsupport-postgres": "* O [{{int:version-db-postgres-url}} PostgreSQL] é uma plataforma popular de base de dados de código aberto, alternativa ao MySQL. ([http://www.php.net/manual/en/pgsql.installation.php Como compilar o PHP com suporte PostgreSQL])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] é a plataforma primária do MediaWiki e é a melhor suportada. O MediaWiki também trabalha com [{{int:version-db-mariadb-url}} MariaDB] e [{{int:version-db-percona-url}} Percona Server], que são compatíveis com MySQL. ([https://secure.php.net/manual/en/mysql.installation.php Como compilar PHP com suporte a MySQL])",
+       "config-dbsupport-postgres": "* O [{{int:version-db-postgres-url}} PostgreSQL] é uma plataforma popular de base de dados de código aberto, alternativa ao MySQL. ([https://secure.php.net/manual/en/pgsql.installation.php Como compilar o PHP com suporte PostgreSQL])",
        "config-dbsupport-sqlite": "* O [{{int:version-db-sqlite-url}} SQLite] é uma plataforma de base de dados ligeira muito bem suportada. ([http://www.php.net/manual/en/pdo.installation.php Como compilar o PHP com suporte SQLite], usa PDO)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] é uma base de dados comercial para empresas. ([http://www.php.net/manual/en/oci8.installation.php Como compilar o PHP com suporte OCI8])",
-       "config-dbsupport-mssql": "* O [{{int:version-db-mssql-url}} Microsoft SQL Server] é uma base de dados comercial do Windows para empresas. ([http://www.php.net/manual/en/sqlsrv.installation.php Como compilar o PHP com suporte SQLSRV])",
+       "config-dbsupport-mssql": "* O [{{int:version-db-mssql-url}} Microsoft SQL Server] é uma base de dados comercial do Windows para empresas. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php Como compilar o PHP com suporte SQLSRV])",
        "config-header-mysql": "Definições MySQL",
        "config-header-postgres": "Definições PostgreSQL",
        "config-header-sqlite": "Definições SQLite",
        "config-license-help": "Muitas wikis de acesso público licenciam todas as colaborações com uma [https://freedomdefined.org/Definition licença livre].\nIsto ajuda a criar um sentido de propriedade da comunidade e encoraja as colaborações a longo prazo.\nTal não é geralmente necessário nas wikis privadas ou corporativas.\n\nSe pretende que seja possível usar textos da Wikipédia na sua wiki e que seja possível a Wikipédia aceitar textos copiados da sua wiki, deve escolher a licença <strong>{{int:config-license-cc-by-sa}}</strong>..\n\nA licença anterior da Wikipédia era a licença GNU Free Documentation License.\nA GFDL é uma licença válida, mas de difícil compreensão.\nTambém é difícil reutilizar conteúdos licenciados com a GFDL.",
        "config-email-settings": "Definições do correio eletrónico",
        "config-enable-email": "Ativar mensagens eletrónicas de saída",
-       "config-enable-email-help": "Se quer que o correio eletrónico funcione, as [http://www.php.net/manual/en/mail.configuration.php definições de correio eletrónico do PHP] têm de estar configuradas corretamente.\nSe não pretende viabilizar qualquer funcionalidade de correio eletrónico, pode desativá-lo aqui.",
+       "config-enable-email-help": "Se quer que o correio eletrónico funcione, as [Config-dbsupport-oracle/manual/en/mail.configuration.php definições de correio eletrónico do PHP] têm de estar configuradas corretamente.\nSe não pretende viabilizar qualquer funcionalidade de correio eletrónico, pode desativá-lo aqui.",
        "config-email-user": "Ativar mensagens eletrónicas entre utilizadores",
        "config-email-user-help": "Permitir que todos os utilizadores troquem entre si mensagens de correio eletrónico, se tiverem ativado esta funcionalidade nas suas preferências.",
        "config-email-usertalk": "Ativar notificações de alterações à página de discussão dos utilizadores",
index 0d3f312..f5b2ced 100644 (file)
@@ -47,8 +47,8 @@
        "config-env-bad": "Verificarea mediului a fost efectuată.\nNu puteți instala MediaWiki.",
        "config-env-php": "PHP $1 este instalat.",
        "config-env-hhvm": "HHVM $1 este instalat.",
-       "config-apc": "[http://www.php.net/apc APC] este instalat",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] este instalat",
+       "config-apc": "[https://secure.php.net/apc APC] este instalat",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] este instalat",
        "config-diff3-bad": "GNU diff3 nu a fost găsit.",
        "config-no-uri": "<strong>Eroare:</strong> Nu pot determina URI-ul curent.\nInstalare întreruptă.",
        "config-db-type": "Tipul bazei de date:",
index 58637f8..2c262ab 100644 (file)
        "config-pcre-no-utf8": "'''Фатальная ошибка'''. Модуль PCRE для PHP, похоже, собран без поддержки PCRE_UTF8.\nMediaWiki требует поддержки UTF-8 для корректной работы.",
        "config-memory-raised": "Ограничение на доступную PHP память (<code>memory_limit</code>) поднято с $1 до $2.",
        "config-memory-bad": "'''Внимание:''' размер PHP <code>memory_limit</code> составляет $1.\nВероятно, этого слишком мало.\nУстановка может потерпеть неудачу!",
-       "config-apc": "[http://www.php.net/apc APC] установлен",
-       "config-apcu": "[http://www.php.net/apcu APCu] установлен",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] установлен",
-       "config-no-cache-apcu": "<strong>Внимание:</strong> Не найдены [http://www.php.net/apcu APCu] или [http://www.iis.net/download/WinCacheForPhp WinCache].\nКэширование объектов будет отключено.",
+       "config-apc": "[https://secure.php.net/apc APC] установлен",
+       "config-apcu": "[https://secure.php.net/apcu APCu] установлен",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] установлен",
+       "config-no-cache-apcu": "<strong>Внимание:</strong> Не найдены [https://secure.php.net/apcu APCu] или [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nКэширование объектов будет отключено.",
        "config-mod-security": "<strong>Внимание</strong>: На вашем веб-сервере включён [https://modsecurity.org/ mod_security]/mod_security2. Многие его стандартные настройки могут вызывать проблемы для MediaWiki или другого ПО, позволяющего пользователям отправлять на сервер произвольный контент.\nПо возможности он должен быть отключён. Обратитесь к [https://modsecurity.org/documentation/ документации mod_security] или в службу поддержки вашего хостинг-провайдера, если вы сталкиваетесь со случайными ошибками.",
        "config-diff3-bad": "GNU diff3 не найден.",
        "config-git": "Найдена система контроля версий Git: <code>$1</code>.",
        "config-type-oracle": "Oracle",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki поддерживает следующие СУБД:\n\n$1\n\nЕсли вы не видите своей системы хранения данных в этом списке, следуйте инструкциям, на которые есть ссылка выше, чтобы получить поддержку.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] — основная база данных для MediaWiki, которая поддерживается лучше всего. MediaWiki также работает с [{{int:version-db-mariadb-url}} MariaDB] и [{{int:version-db-percona-url}} Percona Server], которые являются MySQL-совместимым. ([http://www.php.net/manual/ru/mysql.installation.php инструкция, как собрать PHP с поддержкой MySQL])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] â\80\94 Ð¿Ð¾Ð¿Ñ\83лÑ\8fÑ\80наÑ\8f Ð¾Ñ\82кÑ\80Ñ\8bÑ\82аÑ\8f Ð¡Ð£Ð\91Ð\94, Ð°Ð»Ñ\8cÑ\82еÑ\80наÑ\82ива MySQL. ([http://www.php.net/manual/ru/pgsql.installation.php Ð¸Ð½Ñ\81Ñ\82Ñ\80Ñ\83кÑ\86иÑ\8f, Ðºак собрать PHP с поддержкой PostgreSQL]).",
-       "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] — это легковесная система баз данных, имеющая очень хорошую поддержку. ([http://www.php.net/manual/ru/pdo.installation.php инструкция, как собрать PHP с поддержкой SQLite], работающей посредством PDO)",
-       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] â\80\94 Ñ\8dÑ\82о ÐºÐ¾Ð¼Ð¼ÐµÑ\80Ñ\87еÑ\81каÑ\8f Ð±Ð°Ð·Ð° Ð´Ð°Ð½Ð½Ñ\8bÑ\85 Ð¼Ð°Ñ\81Ñ\88Ñ\82аба Ð¿Ñ\80едпÑ\80иÑ\8fÑ\82иÑ\8f. ([http://www.php.net/manual/ru/oci8.installation.php Как собрать PHP с поддержкой OCI8])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] â\80\94 Ñ\8dÑ\82о ÐºÐ¾Ð¼Ð¼ÐµÑ\80Ñ\87еÑ\81кое Ð±Ð°Ð·Ð° Ð´Ð°Ð½Ð½Ñ\8bÑ\85 Ð±Ð°Ð·Ð° Ð´Ð°Ð½Ð½Ñ\8bÑ\85 Ð´Ð»Ñ\8f Windows Ð¼Ð°Ñ\81Ñ\88Ñ\82аба Ð¿Ñ\80едпÑ\80иÑ\8fÑ\82иÑ\8f. ([http://www.php.net/manual/ru/sqlsrv.installation.php Как собрать PHP с поддержкой SQLSRV])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] — основная база данных для MediaWiki, которая поддерживается лучше всего. MediaWiki также работает с [{{int:version-db-mariadb-url}} MariaDB] и [{{int:version-db-percona-url}} Percona Server], которые являются MySQL-совместимыми. (См.[https://secure.php.net/manual/ru/mysql.installation.php Как собрать PHP с поддержкой MySQL])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] â\80\94 Ð¿Ð¾Ð¿Ñ\83лÑ\8fÑ\80наÑ\8f Ð¡Ð£Ð\91Ð\94 Ñ\81 Ð¾Ñ\82кÑ\80Ñ\8bÑ\82Ñ\8bм Ð¸Ñ\81Ñ\85однÑ\8bм ÐºÐ¾Ð´Ð¾Ð¼, Ð°Ð»Ñ\8cÑ\82еÑ\80наÑ\82ива MySQL. ([https://secure.php.net/manual/ru/pgsql.installation.php Ð\9aак собрать PHP с поддержкой PostgreSQL]).",
+       "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] — это легковесная система баз данных, имеющая очень хорошую поддержку. ([https://secure.php.net/manual/ru/pdo.installation.php Как собрать PHP с поддержкой SQLite], работающей посредством PDO)",
+       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] â\80\94 Ñ\8dÑ\82о ÐºÐ¾Ð¼Ð¼ÐµÑ\80Ñ\87еÑ\81каÑ\8f ÐºÐ¾Ñ\80поÑ\80аÑ\82ивнаÑ\8f Ð±Ð°Ð·Ð° Ð´Ð°Ð½Ð½Ñ\8bÑ\85. ([https://secure.php.net/manual/ru/oci8.installation.php Как собрать PHP с поддержкой OCI8])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] â\80\94 Ñ\8dÑ\82о ÐºÐ¾Ð¼Ð¼ÐµÑ\80Ñ\87еÑ\81каÑ\8f ÐºÐ¾Ñ\80поÑ\80аÑ\82ивнаÑ\8f Ð±Ð°Ð·Ð° Ð´Ð°Ð½Ð½Ñ\8bÑ\85 Ð´Ð»Ñ\8f Windows. ([https://secure.php.net/manual/ru/sqlsrv.installation.php Как собрать PHP с поддержкой SQLSRV])",
        "config-header-mysql": "Настройки MySQL",
        "config-header-postgres": "Настройки PostgreSQL",
        "config-header-sqlite": "Настройки SQLite",
        "config-license-help": "Многие общедоступные вики разрешают использовать свои материалы на условиях [https://freedomdefined.org/Definition/Ru свободных лицензий].\nЭто помогает созданию чувства общности, стимулирует долгосрочное участие.\nНо в этом нет необходимости для частных или корпоративных вики.\n\nЕсли вы хотите использовать тексты из Википедии или хотите, что в Википедию можно было копировать тексты из вашей вики, вам следует выбрать <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nВикипедия ранее использовала лицензию GNU Free Documentation License.\nGFDL может быть использована, но она сложна для понимания и осложняет повторное использование материалов.",
        "config-email-settings": "Настройки электронной почты",
        "config-enable-email": "Включить исходящие e-mail",
-       "config-enable-email-help": "Ð\95Ñ\81ли Ð²Ñ\8b Ñ\85оÑ\82иÑ\82е, Ñ\87Ñ\82обÑ\8b Ñ\8dлекÑ\82Ñ\80оннаÑ\8f Ð¿Ð¾Ñ\87Ñ\82а Ñ\80абоÑ\82ала, Ð½ÐµÐ¾Ð±Ñ\85одимо Ð²Ñ\8bполниÑ\82Ñ\8c [http://www.php.net/manual/ru/mail.configuration.php Ñ\81ооÑ\82веÑ\82Ñ\81Ñ\82вÑ\83Ñ\8eÑ\89ие Ð½Ð°Ñ\81Ñ\82Ñ\80ойки PHP].\nÐ\95Ñ\81ли Ð²Ñ\8b Ð½Ðµ Ñ\85оÑ\82иÑ\82е Ð¸Ñ\81полÑ\8cзоваÑ\82Ñ\8c Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñ\81Ñ\82и Ñ\8dлекÑ\82Ñ\80онной Ð¿Ð¾Ñ\87Ñ\82Ñ\8b Ð² Ð²Ð¸ÐºÐ¸, Ð²Ñ\8b Ð¼Ð¾Ð¶ÐµÑ\82е ÐµÑ\91 отключить.",
+       "config-enable-email-help": "Ð\95Ñ\81ли Ð²Ñ\8b Ñ\85оÑ\82иÑ\82е, Ñ\87Ñ\82обÑ\8b Ñ\8dлекÑ\82Ñ\80оннаÑ\8f Ð¿Ð¾Ñ\87Ñ\82а Ñ\80абоÑ\82ала, Ð½ÐµÐ¾Ð±Ñ\85одимо Ð¿Ñ\80авилÑ\8cно Ð½Ð°Ñ\81Ñ\82Ñ\80оиÑ\82Ñ\8c [https://secure.php.net/manual/ru/mail.configuration.php Ñ\80абоÑ\82Ñ\83 Ð¿Ð¾Ñ\87Ñ\82Ñ\8b Ð² PHP].\nÐ\95Ñ\81ли Ð²Ñ\8b Ð½Ðµ Ñ\85оÑ\82иÑ\82е Ð¸Ñ\81полÑ\8cзоваÑ\82Ñ\8c Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñ\81Ñ\82и Ñ\8dлекÑ\82Ñ\80онной Ð¿Ð¾Ñ\87Ñ\82Ñ\8b, Ð²Ñ\8b Ð¼Ð¾Ð¶ÐµÑ\82е ÐµÑ\91 Ð·Ð´ÐµÑ\81Ñ\8c отключить.",
        "config-email-user": "Включить электронную почту от участника к участнику",
        "config-email-user-help": "Разрешить всем пользователям отправлять друг другу электронные письма, если выставлена соответствующая настройка в профиле.",
        "config-email-usertalk": "Включить уведомления пользователей о сообщениях на их странице обсуждения",
index 292e636..89a72d4 100644 (file)
@@ -61,9 +61,9 @@
        "config-pcre-no-utf8": "<strong>Fatal:</strong> PHP's PCRE module seems tae be compiled wioot PCRE_UTF8 support.\nMediaWiki requires UTF-8 support tae function correctly.",
        "config-memory-raised": "PHP's <code>memerie_limit</code> is $1, raised til $2.",
        "config-memory-bad": "<strong>Warnishment:</strong> PHP's <code>memerie_limit</code> is $1.\nThis is proably ower low.\nThe installation micht fail!",
-       "config-apc": "[http://www.php.net/apc APC] is installed.",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] is instawed.",
-       "config-no-cache-apcu": "<strong>Wairnin:</strong> Could nae find [http://www.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] or [http://www.iis.net/download/WinCacheForPhp WinCache].\nObject cachin isna enabled.",
+       "config-apc": "[https://secure.php.net/apc APC] is installed.",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] is instawed.",
+       "config-no-cache-apcu": "<strong>Wairnin:</strong> Could nae find [https://secure.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] or [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nObject cachin isna enabled.",
        "config-mod-security": "<strong>Warnishment:</strong> Yer wab server haes [https://modsecurity.org/ mod_security] enabled. Gif misconfeegured, it can cause problems fer MediaWiki or ither saffware that allous uisers tae post arbitrie content.\nRefer til [https://modsecurity.org/documentation/ mod_security documentation] or contact yer host's support gif ye encounter random mistaks.",
        "config-diff3-bad": "GNU diff3 naw foond.",
        "config-git": "Foond the Git version control saffware: <code>$1</code>.",
        "config-type-mysql": "MaSQL (or compâtible)",
        "config-type-mssql": "Micræsaff SQL Server",
        "config-support-info": "MediaWiki supports the follaein database systems:\n\n$1\n\nGif ye dinna see the database system ye'r tryin tae uise listed ablow, than follae the instructions linked abuin tae enable support.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] is the primarie tairget fer MediaWiki n is best supported. MediaWiki warks forby wi [{{int:version-db-mariadb-url}} MariaDB] n [{{int:version-db-percona-url}} Percona Server], thir ar MySQL compatible. ([http://www.php.net/manual/en/mysqli.installation.php Hou tae compile PHP wi MySQL support])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] is ae popular apen soorce database system aes aen alternative til MySQL. Thaur micht be some wee bugs still hingin roond, n it's na recommendit fer uiss in ae production environment. ([http://www.php.net/manual/en/pgsql.installation.php Hou tae compile PHP wi PostgreSQL support])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] is the primarie tairget fer MediaWiki n is best supported. MediaWiki warks forby wi [{{int:version-db-mariadb-url}} MariaDB] n [{{int:version-db-percona-url}} Percona Server], thir ar MySQL compatible. ([https://secure.php.net/manual/en/mysqli.installation.php Hou tae compile PHP wi MySQL support])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] is ae popular apen soorce database system aes aen alternative til MySQL. Thaur micht be some wee bugs still hingin roond, n it's na recommendit fer uiss in ae production environment. ([Config-dbsupport-oracle/manual/en/pgsql.installation.php Hou tae compile PHP wi PostgreSQL support])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] is ae lichtweicht database system that is ver weel supportit. ([http://www.php.net/manual/en/pdo.installation.php Hou tae compile PHP wi SQLite support], uises PDO)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] is ae commercial enterprise database. ([http://www.php.net/manual/en/oci8.installation.php Hou tae compile PHP wi OCI8 support])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] is ae commercial enterprise database fer Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Hou tae compile PHP wi SQLSRV support])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] is ae commercial enterprise database fer Windows. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php Hou tae compile PHP wi SQLSRV support])",
        "config-header-mysql": "MaSQL settins",
        "config-header-postgres": "PostgreSQL settins",
        "config-header-sqlite": "SQLite settins",
        "config-license-help": "Monie publeec wikis pit aw contreebutions unner ae [https://freedomdefined.org/Defineetion free license].\nThis heelps tae creaut ae sense o communitie ainership n encoorages lang-term contreebution.\nIt's naw generallie necessair fer ae preevate or corporate wiki.\n\nGif ye wish tae be able tae uise tex fae Wikipædia, n ye want Wikipædia tae be able tae accept tex copied fae yer wiki, than ye shid chuise <strong>Creative Commons Attribution Shair Alike</strong>.\n\nWikipædia preeveeooslie uised the GNU Free Documentation License.\nThe GFDL is ae valid license, but it's difficult tae unnerstaunn.\nMairower, it's difficult tae reuise content licensed unner the GFDL.",
        "config-email-settings": "Wab-mail settins",
        "config-enable-email": "Enable ootboond wab-mail",
-       "config-enable-email-help": "Gif ye want wab-mail tae wark, [http://www.php.net/manual/en/mail.configuration.php PHP's mail settins] need tae be confeegured jyst richt.\nGif ye dinna want oni wab-mail features, ye can disable theim here.",
+       "config-enable-email-help": "Gif ye want wab-mail tae wark, [Config-dbsupport-oracle/manual/en/mail.configuration.php PHP's mail settins] need tae be confeegured jyst richt.\nGif ye dinna want oni wab-mail features, ye can disable theim here.",
        "config-email-user": "Enable uiser-til-uiser wab-mail",
        "config-email-user-help": "Permit aw uisers tae send each ither wab-mail gif they'v enabled it in their preferences.",
        "config-email-usertalk": "Enable uiser tauk page notifeecâtion",
index 0bd079b..7e110c2 100644 (file)
@@ -51,8 +51,8 @@
        "config-env-hhvm": "HHVM $1 je nameščen.",
        "config-unicode-using-intl": "Uporaba [https://pecl.php.net/intl razširitve PECL intl] za normalizacijo unikoda.",
        "config-memory-raised": "PHP-jev <code>memory_limit</code> je $1, dvignjen na $2.",
-       "config-apc": "[http://www.php.net/apc APC] je nameščen",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] je nameščen",
+       "config-apc": "[https://secure.php.net/apc APC] je nameščen",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] je nameščen",
        "config-diff3-bad": "GNU diff3 ni bilo mogoče najti.",
        "config-using-server": "Uporabljam ime strežnika \"<nowiki>$1</nowiki>\".",
        "config-using-uri": "Uporabljam URL strežnika \"<nowiki>$1$2</nowiki>\".",
index 30e2b9a..015b6ff 100644 (file)
@@ -47,8 +47,8 @@
        "config-env-bad": "Окружење је проверено.\nНе можете инсталирати Медијавики.",
        "config-env-php": "PHP $1 је инсталиран.",
        "config-env-hhvm": "HHVM $1 је инсталиран.",
-       "config-apc": "[http://www.php.net/apc APC] је инсталиран",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] је инсталиран",
+       "config-apc": "[https://secure.php.net/apc APC] је инсталиран",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] је инсталиран",
        "config-db-type": "Тип базе података:",
        "config-db-host": "Хост базе података",
        "config-db-wiki-settings": "Идентификуј овај вики",
index ba2822c..04e96d0 100644 (file)
        "config-pcre-no-utf8": "'''Kritiskt:''' PHP:s PCRE-modul verkar vara kompilerat utan PCRE_UTF8-stöd.\nMediaWiki kräver stöd för UTF-8 för att fungera korrekt.",
        "config-memory-raised": "PHPs <code>memory_limit</code> är $1, ökad till $2.",
        "config-memory-bad": "''' Varning:''' PHP:s <code>memory_limit</code> är $1.\nDetta är förmodligen för lågt.\nInstallationen kan misslyckas!",
-       "config-apc": "[http://www.php.net/apc APC] är installerat",
-       "config-apcu": "[http://www.php.net/apcu APCu] är installerat",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] är installerat",
-       "config-no-cache-apcu": "<strong>Varning:</strong> Kunde inte hitta [http://www.php.net/apcu APCu] eller [http://www.iis.net/download/WinCacheForPhp WinCache].\nCachelagring av objekt är inte aktiverat.",
+       "config-apc": "[https://secure.php.net/apc APC] är installerat",
+       "config-apcu": "[https://secure.php.net/apcu APCu] är installerat",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] är installerat",
+       "config-no-cache-apcu": "<strong>Varning:</strong> Kunde inte hitta [https://secure.php.net/apcu APCu] eller [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nCachelagring av objekt är inte aktiverat.",
        "config-mod-security": "'''Varning:''' Din webbserver har [https://modsecurity.org/ mod_security] aktiverat. Om felaktigt konfigurerat kan den skapa problem för MediaWiki eller annan programvara som tillåter användaren att posta godtyckligt innehåll.\nTitta på [https://modsecurity.org/documentation/ mod_security-dokumentationen] eller kontakta din värd om du påträffar slumpmässiga fel.",
        "config-diff3-bad": "GNU diff3 hittades inte.",
        "config-git": "Hittade Git-mjukvara för versionskontroll: <code>$1</code>.",
        "config-type-mysql": "MySQL (eller kompatibelt)",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki stöder följande databassystem:\n\n$1\n\nOm du inte ser det databassystem som du försöker använda nedanstående, följ då instruktionerna länkade ovan för aktivera stöd för det.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] är det primära målet för MediaWiki och det stöds bäst. MediaWiki fungerar även med [{{int:version-db-mariadb-url}} MariaDB] och [{{int:version-db-percona-url}} Percona Server], som är kompatibla med MySQL. ([http://www.php.net/manual/en/mysqli.installation.php Hur man kompilerar PHP med stöd för MySQL])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] är ett populärt databassystem med öppen källkod som ett alternativ till MySQL. ([http://www.php.net/manual/en/pgsql.installation.php Hur man kompilerar PHP med PostgreSQL stöd])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] är det primära målet för MediaWiki och det stöds bäst. MediaWiki fungerar även med [{{int:version-db-mariadb-url}} MariaDB] och [{{int:version-db-percona-url}} Percona Server], som är kompatibla med MySQL. ([https://secure.php.net/manual/en/mysqli.installation.php Hur man kompilerar PHP med stöd för MySQL])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] är ett populärt databassystem med öppen källkod som ett alternativ till MySQL. ([Config-dbsupport-oracle/manual/en/pgsql.installation.php Hur man kompilerar PHP med PostgreSQL stöd])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] är en lättviktsdatabassystem med väldigt bra stöd. ([http://www.php.net/manual/en/pdo.installation.php Hur man kompilerar PHP med SQLite stöd], använder PDO)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] är en kommersiellt databas för företag. ([http://www.php.net/manual/en/oci8.installation.php Hur man kompilerar PHP med OCI8 stöd])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] är en kommersiellt databas för företag för Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Hur man kompilerar PHP med SQLSRV stöd])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] är en kommersiellt databas för företag för Windows. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php Hur man kompilerar PHP med SQLSRV stöd])",
        "config-header-mysql": "MySQL-inställningar",
        "config-header-postgres": "PostgreSQL-inställningar",
        "config-header-sqlite": "SQLite-inställningar",
        "config-license-help": "Många publika wikis släpper alla bidrag under en  [https://freedomdefined.org/Definition fri licens].\nDetta bidrar till en känsla av gemensamt ägandeskap och uppmuntrar till långsiktiga bidrag.\nDet är i allmänhet inte nödvändigt för en privat eller företagswiki.\n\nOm du vill kunna använda text från Wikipedia, och du vill att Wikipedia ska kunna acceptera text kopierad ifrån din wiki bör du välja <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nWikipedia använde tidigare  GNU Free Documentation License.\nGFDL är en giltig licens, men svår att förstå.\nDet är även svårt att återanvända innehåll som licensierats under GFDL.",
        "config-email-settings": "E-postinställningar",
        "config-enable-email": "Aktivera utgående e-post",
-       "config-enable-email-help": "Om du vill att e-post ska fungera behöver,[http://www.php.net/manual/en/mail.configuration.php PHPs e-postinställningar] vara konfigurerad på rätt sätt.\nOm du inte vill ha några e-postfunktioner, kan du inaktivera dem här.",
+       "config-enable-email-help": "Om du vill att e-post ska fungera behöver,[Config-dbsupport-oracle/manual/en/mail.configuration.php PHPs e-postinställningar] vara konfigurerad på rätt sätt.\nOm du inte vill ha några e-postfunktioner, kan du inaktivera dem här.",
        "config-email-user": "Aktivera e-post mellan användare",
        "config-email-user-help": "Tillåta alla användare att skicka e-post till varandra om de har aktiverat det i sina inställningar.",
        "config-email-usertalk": "Aktivera meddelanden för användardiskussionssidor",
index 9f7c531..ce949d1 100644 (file)
@@ -53,8 +53,8 @@
        "config-outdated-sqlite": "<strong>హెచ్చరిక:</strong> మీ వద్ద SQLite $1 ఉంది. అదికావలసిన వెర్షను $2 కంటే దిగువది. SQLite అందుబాటులో ఉండదు.",
        "config-memory-raised": "PHP యొక్క <code>memory_limit</code> $1, దాన్ని $2 కి పెంచాం.",
        "config-memory-bad": "<strong>హెచ్చరిక:</strong> PHP యొక్క <code>memory_limit</code> $1.\nబహుశా ఇది మరీ తక్కువ.\nస్థాపన విఫలం కావచ్చు!",
-       "config-apc": "[http://www.php.net/apc APC] స్థాపించబడింది",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] స్థాపించబడింది",
+       "config-apc": "[https://secure.php.net/apc APC] స్థాపించబడింది",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] స్థాపించబడింది",
        "config-diff3-bad": "GNU diff3 కనబడలేదు.",
        "config-no-uri": "<strong>లోపం:</strong> ప్రస్తుత URI ఏమిటో నిర్ధారించలేకపోయాం.\nస్థాపన ఆగిపోయింది.",
        "config-using-server": "సర్వరు పేరు \"<nowiki>$1</nowiki>\" ను వాడుతున్నాం.",
@@ -89,7 +89,7 @@
        "config-type-mysql": "MySQL (లేదా సరిపోయేది)",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki కింది డేటాబేసు వ్యవస్థలకు అనుకూలిస్తుంది:\n\n$1\n\nమీరు వాడదలచిన డేటాబేసు వ్యవస్ కింది జాబితాలో లేకపోతే, పైన లింకు ద్వారా ఇచ్చిన సూచనలను పాటించి, అనుకూలతలను సాధించండి.",
-       "config-dbsupport-postgres": "* MySQL కు ప్రత్యామ్నాయంగా [{{int:version-db-postgres-url}} PostgreSQL] ప్రజామోదం పొందిన ఓపెన్‍సోర్సు డేటాబేసు వ్యవస్థ. దానిలో చిన్న చితకా లోపాలుండే అవకాశం ఉంది. అందుచేత దాన్ని ఉత్పాదక రంగంలో వాడవచ్చని చెప్పలేం.  ([http://www.php.net/manual/en/pgsql.installation.php How to compile PHP with PostgreSQL support])",
+       "config-dbsupport-postgres": "* MySQL కు ప్రత్యామ్నాయంగా [{{int:version-db-postgres-url}} PostgreSQL] ప్రజామోదం పొందిన ఓపెన్‍సోర్సు డేటాబేసు వ్యవస్థ. దానిలో చిన్న చితకా లోపాలుండే అవకాశం ఉంది. అందుచేత దాన్ని ఉత్పాదక రంగంలో వాడవచ్చని చెప్పలేం.  ([https://secure.php.net/manual/en/pgsql.installation.php How to compile PHP with PostgreSQL support])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] ఓ తేలికైన డేటాబేసు వ్యవస్థ. దానికి చక్కటి అనుకూలతలున్నాయి. ([http://www.php.net/manual/en/pdo.installation.php How to compile PHP with SQLite support], uses PDO)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] ఒక వాణిజ్యపరంగా సంస్థాగతంగా వాడదగ్గ డేటాబేసు. ([http://www.php.net/manual/en/oci8.installation.php How to compile PHP with OCI8 support])",
        "config-header-mysql": "MySQL అమరికలు",
index ba398e5..bdd1ff8 100644 (file)
        "config-pcre-no-utf8": "<strong>ข้อผิดพลาดร้ายแรง:</strong> โมดูล PCRE ของ PHP ดูเหมือนจะถูกคอมไพล์โดยไม่มีการรองรับ PCRE_UTF8\nMediaWiki ต้องการการรองรับ UTF-8 เพื่อให้ทำงานได้อย่างถูกต้อง",
        "config-memory-raised": "<code>memory_limit</code> ของ PHP คือ $1 ได้เพิ่มเป็น $2",
        "config-memory-bad": "<strong>คำเตือน:</strong> <code>memory_limit</code> ของ PHP คือ $1.\nเป็นไปได้ว่ามันอาจต่ำเกินไป\nการติดตั้งอาจล้มเหลวได้!",
-       "config-apc": "มี [http://www.php.net/apc APC] ติดตั้งอยู่",
-       "config-apcu": "มี [http://www.php.net/apcu APCu] ติดตั้งอยู่",
-       "config-wincache": "มี [https://www.iis.net/download/WinCacheForPhp WinCache] ติดตั้งอยู่",
-       "config-no-cache-apcu": "<strong>คำเตือน:</strong> ไม่พบ [http://www.php.net/apcu APCu] [http://xcache.lighttpd.net/ XCache] หรือ [http://www.iis.net/download/WinCacheForPhp WinCache]\nการแคชวัตถุไม่ได้ถูกเปิดใช้งาน",
+       "config-apc": "มี [https://secure.php.net/apc APC] ติดตั้งอยู่",
+       "config-apcu": "มี [https://secure.php.net/apcu APCu] ติดตั้งอยู่",
+       "config-wincache": "มี [https://www.iis.net/downloads/microsoft/wincache-extension WinCache] ติดตั้งอยู่",
+       "config-no-cache-apcu": "<strong>คำเตือน:</strong> ไม่พบ [https://secure.php.net/apcu APCu] [http://xcache.lighttpd.net/ XCache] หรือ [https://www.iis.net/downloads/microsoft/wincache-extension WinCache]\nการแคชวัตถุไม่ได้ถูกเปิดใช้งาน",
        "config-mod-security": "<strong>คำเตือน:</strong> เว็บเซิร์ฟเวอร์ของคุณมี [https://modsecurity.org/ mod_security]/mod_security2 เปิดใช้งานอยู่ การตั้งค่าทั่วไปหลายอย่างของสิ่งนี้จะก่อให้เกิดปัญหาสำหรับ MediaWiki และซอฟต์แวร์อื่นที่อนุญาตให้ผู้ใช้สามารถโพสต์เนื้อหาได้ตามที่ผู้ใช้\nหากเป็นไปได้ ควรปิดใช้งานคุณลักษณะนี้ หรือมิฉะนั้นก็ อ้างไปยัง[https://modsecurity.org/documentation/ เอกสารกำกับการใช้งาน mod_security] หรือติดต่อการสนับสนุนจากโฮสต์ของคุณ ถ้าคุณพบข้อผิดพลาดโดยสุ่ม",
        "config-diff3-bad": "ไม่พบ GNU diff3",
        "config-git": "พบซอฟต์แวร์ควบคุมรุ่น Git: <code>$1</code>",
        "config-type-mysql": "MySQL (หรือที่เข้ากันได้)",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki สนับสนุนระบบฐานข้อมูลต่อไปนี้:\n\n$1\n\nถ้าคุณไม่พบระบบฐานข้อมูลที่คุณกำลังพยายามใช้ในรายการด้านล่างนี้ ให้ทำตามคำแนะนำที่เชื่อมโยงด้านบนเพื่อเปิดใช้งานการสนับสนุน",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] คือเป้าหมายหลักสำหรับ MediaWiki และได้รับการสนับสนุนดีที่สุด MediaWiki ยังคงสามารถใช้ได้ร่วมกับ [{{int:version-db-mariadb-url}} MariaDB] และ [{{int:version-db-percona-url}} Percona Server] ซึ่งเข้ากันได้กับ MySQL ([http://www.php.net/manual/en/mysqli.installation.php วิธีการคอมไพล์ PHP ด้วยการสนับสนุน MySQL])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] คือระบบฐานข้อมูลแบบโอเพนซอร์สที่ได้รับความนิยมสูงที่สามารถใช้แทน MySQL ได้ ([http://www.php.net/manual/en/pgsql.installation.php วิธีการคอมไพล์ PHP ด้วยการสนับสนุน PostgreSQL])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] คือเป้าหมายหลักสำหรับ MediaWiki และได้รับการสนับสนุนดีที่สุด MediaWiki ยังคงสามารถใช้ได้ร่วมกับ [{{int:version-db-mariadb-url}} MariaDB] และ [{{int:version-db-percona-url}} Percona Server] ซึ่งเข้ากันได้กับ MySQL ([https://secure.php.net/manual/en/mysqli.installation.php วิธีการคอมไพล์ PHP ด้วยการสนับสนุน MySQL])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] คือระบบฐานข้อมูลแบบโอเพนซอร์สที่ได้รับความนิยมสูงที่สามารถใช้แทน MySQL ได้ ([https://secure.php.net/manual/en/pgsql.installation.php วิธีการคอมไพล์ PHP ด้วยการสนับสนุน PostgreSQL])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] คือระบบฐานข้อมูลขนาดเล็กที่ได้รับการสนับสนุนดีมาก ([http://www.php.net/manual/en/pdo.installation.php วิธีการคอมไพล์ PHP ด้วยการสนับสนุน SQLite], ใช้ PDO)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] คือฐานข้อมูลสำหรับองค์กรพาณิชย์ ([http://www.php.net/manual/en/oci8.installation.php วิธีการคอมไพล์ PHP ด้วยการสนับสนุน OCI8])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] คือฐานข้อมูลสำหรับองค์กรพาณิชย์สำหรับ Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php วิธีการคอมไพล์ PHP ด้วยการสนับสนุน SQLSRV])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] คือฐานข้อมูลสำหรับองค์กรพาณิชย์สำหรับ Windows. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php วิธีการคอมไพล์ PHP ด้วยการสนับสนุน SQLSRV])",
        "config-header-mysql": "การตั้งค่า MySQL",
        "config-header-postgres": "การตั้งค่า PostgreSQL",
        "config-header-sqlite": "การตั้งค่า SQLite",
index 54a2016..ab6632f 100644 (file)
@@ -63,8 +63,8 @@
        "config-pcre-no-utf8": "'''Malubha''': Tila tinipon ang modyul na PCRE ng PHP na wala ang suporta ng PCRE_UTF8.\nNangangailangan ang MediaWiki ng suporta ng UTF-8 upang maging tama ang pag-andar.",
        "config-memory-raised": "Ang <code>hangganan_ng_alaala</code> ng PHP ay $1, itinaas sa $2.",
        "config-memory-bad": "'''Babala:''' Ang <code>hangganan_ng_alaala</code> ng PHP ay $1.\nIto ay maaaring napakababa.\nMaaaring mabigo ang pagluluklok!",
-       "config-apc": "Ininstala na ang [http://www.php.net/apc APC]",
-       "config-wincache": "Ininstala na ang [https://www.iis.net/download/WinCacheForPhp WinCache]",
+       "config-apc": "Ininstala na ang [https://secure.php.net/apc APC]",
+       "config-wincache": "Ininstala na ang [https://www.iis.net/downloads/microsoft/wincache-extension WinCache]",
        "config-mod-security": "'''Babala''': Ang tagapaghain mo ng sangkasaputan ay pinagana na mayroong [https://modsecurity.org/ mod_security]. Kung mali ang kaayusan, makapagdurulot ito ng mga suliranin para sa MediaWiki o ibang mga sopwer na nagpapahintulot sa mga tagagamit na magpaskil ng hindi makatwirang nilalaman.\nSumangguni sa [https://modsecurity.org/documentation/ mod_security kasulatan] o makipag-ugnayan sa suporta ng iyong tagapagpasinaya kapag nakatagpo ng alin mang mga kamalian.",
        "config-diff3-bad": "Hindi natagpuan ang GNU diff3.",
        "config-imagemagick": "Natagpuan ang ImageMagick: <code>$1</code>.\nPapaganahin ang pagkakagyat ng larawan kapag pinagana mo ang mga pagkakargang paitaas.",
        "config-type-sqlite": "SQLite",
        "config-type-oracle": "Oracle",
        "config-support-info": "Sinusuportahan ng MediaWiki ang sumusunod na mga sistema ng kalipunan ng dato:\n\n$1\n\nKung hindi mo makita ang sistema ng kalipunan ng dato na sinusubukan mong gamitin na nakatala sa ibaba, kung gayon ay sundi ang mga tagubilin na nakakawing sa itaas upang mapagana ang suporta,",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] ang pangunahing puntirya para sa MediaWiki at ang pinaka sinusuportahan. Gumagana rin ang MediaWiki [{{int:version-db-mariadb-url}} MariaDB] at sa [{{int:version-db-percona-url}} Percona Server], na tugma sa MySQL.  ([http://www.php.net/manual/en/mysql.installation.php Paano magtipon ng PHP na mayroong suporta ng MySQL])",
-       "config-dbsupport-postgres": "* Ang [{{int:version-db-postgres-url}} PostgreSQL] ay isang bantog na sistema ng kalipunan ng dato na bukas ang pinagmulan na panghalili sa MySQL. ([http://www.php.net/manual/en/pgsql.installation.php Paano magtipon ng PHP na mayroong suporta ng PostgreSQL]).",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] ang pangunahing puntirya para sa MediaWiki at ang pinaka sinusuportahan. Gumagana rin ang MediaWiki [{{int:version-db-mariadb-url}} MariaDB] at sa [{{int:version-db-percona-url}} Percona Server], na tugma sa MySQL.  ([https://secure.php.net/manual/en/mysql.installation.php Paano magtipon ng PHP na mayroong suporta ng MySQL])",
+       "config-dbsupport-postgres": "* Ang [{{int:version-db-postgres-url}} PostgreSQL] ay isang bantog na sistema ng kalipunan ng dato na bukas ang pinagmulan na panghalili sa MySQL. ([https://secure.php.net/manual/en/pgsql.installation.php Paano magtipon ng PHP na mayroong suporta ng PostgreSQL]).",
        "config-dbsupport-sqlite": "* Ang [{{int:version-db-sqlite-url}} SQLite] ay isang magaan ang timbang na sistema ng kalipunan ng dato na sinusuportahan nang napaka mainam. ([http://www.php.net/manual/en/pdo.installation.php Paano magtipon ng PHP na mayroong suporta ng SQLite], gumagamit ng PDO)",
        "config-dbsupport-oracle": "* Ang [{{int:version-db-oracle-url}} Oracle] ay isang kalipunan ng dato ng kasigasigang pangkalakal. ([http://www.php.net/manual/en/oci8.installation.php Paano magtipunan ng PHP na mayroong suporta ng OCI8])",
        "config-header-mysql": "Mga katakdaan ng MySQL",
        "config-license-help": "Maraming mga pangmadlang wiki ang naglalagay ng lahat ng mga ambag sa ilalim ng [https://freedomdefined.org/Definition lisensiyang malaya].\nNakakatulong ito sa paglikha ng isang diwa ng pagmamay-ari ng pamayanan at nakapanghihikayat ng ambag na pangmahabang panahon.\nSa pangkalahatan, hindi kailangan ang isang wiking pribado o pangsamahan.\n\nKung nais mong magamit ang teksto magmula sa Wikipedia, at nais mong makatanggap ang Wikipedia ng tekstong kinopya magmula sa wiki mo, dapat mong piliin ang <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nDating ginamit ng Wikipedia ang Lisensiya ng Kasulatang Malaya ng GNU (GNU Free Documentation License o GFDL).\nIsang katanggap-tanggap na lisensiya ang GFDL, subalit mahirap itong maunawaan.\nMahirap din ang paggamit na muli ng nilalaman na nasa ilalim ng GFDL.",
        "config-email-settings": "Mga katakdaan ng e-liham",
        "config-enable-email": "Paganahin ang palabas na e-liham",
-       "config-enable-email-help": "Kung nais mong gumana ang e-liham, ang mga katakdaan ng liham ng [http://www.php.net/manual/en/mail.configuration.php PHP] ay kailangang maging wasto ang pagkakaayos.\nKung ayaw mo nang anumang mga katampukan ng e-liham, maaari mong huwag paganahin ang mga ito rito.",
+       "config-enable-email-help": "Kung nais mong gumana ang e-liham, ang mga katakdaan ng liham ng [Config-dbsupport-oracle/manual/en/mail.configuration.php PHP] ay kailangang maging wasto ang pagkakaayos.\nKung ayaw mo nang anumang mga katampukan ng e-liham, maaari mong huwag paganahin ang mga ito rito.",
        "config-email-user": "Paganahin ang tagagamit-sa-tagagamit na e-liham",
        "config-email-user-help": "Payagan ang lahat ng mga tagagamit na magpadala ng e-liham sa bawat isa kapag pinagana nila ito sa kanilang mga nais.",
        "config-email-usertalk": "Paganahin ang pabatid na pampahina ng usapan ng tagagamit",
index 6d94297..9f63ba8 100644 (file)
        "config-pcre-no-utf8": "<strong>Önemli hata:</strong> PHP'nin PCRE modülü PCRE_UTF8 desteği olmadan derlenmiş gözüküyor.\nMediaWiki'nin doğru çalışabilmesi için UTF-8 desteği gereklidir.",
        "config-memory-raised": "PHP'nin <code>memory_limit</code> (hafıza sınırı) değeri $1, $2'ye yükseltildi.",
        "config-memory-bad": "<strong>Uyarı:</strong> PHP'nin <code>memory_limit</code> (hafıza sınırı) değeri $1.\nBu büyük ihtimalle çok düşük.\nKurulum başarısız olabilir!",
-       "config-apc": "[http://www.php.net/apc APC] kurulu",
-       "config-apcu": "[http://www.php.net/apcu APCu] yüklendi",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] kurulu",
-       "config-no-cache-apcu": "<strong>Uyarı:</strong> [http://www.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] ya da [http://www.iis.net/download/WinCacheForPhp WinCache] kurulumu bulunamadı.\nNesne önbellekleme etkin değil.",
+       "config-apc": "[https://secure.php.net/apc APC] kurulu",
+       "config-apcu": "[https://secure.php.net/apcu APCu] yüklendi",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] kurulu",
+       "config-no-cache-apcu": "<strong>Uyarı:</strong> [https://secure.php.net/apcu APCu] ya da [https://www.iis.net/downloads/microsoft/wincache-extension WinCache] kurulumu bulunamadı.\nNesne önbellekleme etkin değil.",
        "config-mod-security": "<strong>'''Uyarı:'''</strong> Web sunucunuz [https://modsecurity.org/mod_security2 mod_security] etkin. Bunun birçok yaygın yapılandırması bulunur ve eğer yanlış yapılandırılmış ise, bu MediaWiki ve kullanıcılara isteğe bağlı içerik göndermesine izin veren diğer yazılımlar için sorun oluşturabilir.\nMümkünse bu devre dışı bırakılmalıdır. Aksi takdirde rastgele hatalar alırsanız [https://modsecurity.org/documentation/ mod_security belgelemesine] bakın ya da sunucunuzun desteğine başvurun.",
        "config-diff3-bad": "GNU diff3 bulunamadı.",
        "config-git": "Sürüm kontrol yazılımı Git bulundu: <code>$1</code>.",
index acd1281..391e8ae 100644 (file)
@@ -27,8 +27,8 @@
        "config-page-upgradedoc": "Яңарту",
        "config-page-existingwiki": "Хәзерге вики",
        "config-restart": "Әйе, яңадан башларга",
-       "config-apc": "[http://www.php.net/apc APC] куелды",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] куелды",
+       "config-apc": "[https://secure.php.net/apc APC] куелды",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] куелды",
        "config-diff3-bad": "GNU diff3 табылмады.",
        "config-git": "Git юрамалар идарә итү системасы табылды: <code>$1</code>.",
        "config-db-type": "Мәгълүмат базасы төре:",
index f57bcd1..4caa2ff 100644 (file)
        "config-pcre-no-utf8": "'''Помилка''': PCRE-модуть PHP, вочевидь, було зібрано без підтримки PCRE_UTF8.\nMediaWiki вимагає підтримку UTF-8 для коректної роботи.",
        "config-memory-raised": "Обмеження пам'яті PHP (<code>memory_limit</code>) $1, піднято до $2.",
        "config-memory-bad": "'''Увага:''' Розмір пам'яті PHP (<code>memory_limit</code>) становить $1.\nІмовірно, це замало.\nВстановлення може не вдатись!",
-       "config-apc": "[http://www.php.net/apc APC] встановлено",
-       "config-apcu": "[http://www.php.net/apcu APCu] встановлено",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] встановлено",
-       "config-no-cache-apcu": "<strong>Увага:</strong> Не вдалося знайти [http://www.php.net/apcu APCu] чи [http://www.iis.net/download/WinCacheForPhp WinCache].\nКешування об'єктів не ввімкнено.",
+       "config-apc": "[https://secure.php.net/apc APC] встановлено",
+       "config-apcu": "[https://secure.php.net/apcu APCu] встановлено",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] встановлено",
+       "config-no-cache-apcu": "<strong>Увага:</strong> Не вдалося знайти [https://secure.php.net/apcu APCu] чи [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nКешування об'єктів не ввімкнено.",
        "config-mod-security": "'''Увага''': на Вашому веб-сервері увімкнено [https://modsecurity.org/ mod_security]. У разі неправильних налаштувать, він може викликати проблеми MediaWiki або іншого ПЗ, яке дозволяє користувачам надсилати довільний вміст.\nЗверніться до [https://modsecurity.org/documentation/ документації mod_security] або підтримки Вашого хостера, якщо під час роботи виникають незрозумілі помилки.",
        "config-diff3-bad": "GNU diff3 не знайдено.",
        "config-git": "Знайшов програму управління версіями Git: <code>$1</code>.",
        "config-type-mysql": "MySQL (або сумісний)",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki підтримує такі системи баз даних:\n\n$1\n\nЯкщо Ви не бачите серед перерахованих систему баз даних, яку використовуєте, виконайте вказівки, вказані вище, щоб увімкнути підтримку.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] є основною для MediaWiki і найкраще підтримується.  MediaWiki також працює із [{{int:version-db-mariadb-url}} MariaDB] та [{{int:version-db-percona-url}} Percona Server], які сумісні з MySQL.  ([http://www.php.net/manual/en/mysqli.installation.php як зібрати PHP з допомогою MySQL])",
-       "config-dbsupport-postgres": "*  [{{int:version-db-postgres-url}} PostgreSQL] — популярна відкрита СУБД, альтернатива MySQL. ([http://www.php.net/manual/en/pgsql.installation.php як зібрати PHP з допомогою PostgreSQL]).",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] є основною для MediaWiki і найкраще підтримується.  MediaWiki також працює із [{{int:version-db-mariadb-url}} MariaDB] та [{{int:version-db-percona-url}} Percona Server], які сумісні з MySQL.  ([https://secure.php.net/manual/en/mysqli.installation.php як зібрати PHP з допомогою MySQL])",
+       "config-dbsupport-postgres": "*  [{{int:version-db-postgres-url}} PostgreSQL] — популярна відкрита СУБД, альтернатива MySQL. ([Config-dbsupport-oracle/manual/en/pgsql.installation.php як зібрати PHP з допомогою PostgreSQL]).",
        "config-dbsupport-sqlite": "*  [{{int:version-db-sqlite-url}} SQLite] — легка система баз даних, яка дуже добре підтримується. ([http://www.php.net/manual/en/pdo.installation.php Як зібрати PHP з допомогою SQLite], що використовує PDO)",
        "config-dbsupport-oracle": "*  [{{int:version-db-oracle-url}} Oracle] — комерційна база даних масштабу підприємства. ([http://www.php.net/manual/en/oci8.installation.php Як зібрати PHP з підтримкою OCI8])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] — це комерційна база даних для Windows масштабу підприємства. ([http://www.php.net/manual/ru/sqlsrv.installation.php Як зібрати PHP з підтримкою SQLSRV])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] — це комерційна база даних для Windows масштабу підприємства. ([Config-dbsupport-oracle/manual/ru/sqlsrv.installation.php Як зібрати PHP з підтримкою SQLSRV])",
        "config-header-mysql": "Налаштування MySQL",
        "config-header-postgres": "Налаштування PostgreSQL",
        "config-header-sqlite": "Налаштування SQLite",
        "config-license-help": "Чимало загальнодоступних вікі публікують увесь свій вміст під [https://freedomdefined.org/Definition вільною ліцензією]. Це розвиває відчуття спільної власності і заохочує довготривалу участь. У загальному випадку для приватної чи корпоративної вікі у цьому немає необхідності.\n\nЯкщо Ви хочете мати змогу використовувати текст з Вікіпедії і дати Вікіпедії змогу використовувати текст, скопійований з Вашої вікі, вам необхідно обрати <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nРаніше Вікіпедія використовувала GNU Free Documentation License.\nGFDL — допустима ліцензія, але у ній важко розібратися, а контент під GFDL важко використовувати повторно.",
        "config-email-settings": "Налаштування електронної пошти",
        "config-enable-email": "Увімкнути вихідну електронну пошту",
-       "config-enable-email-help": "Якщо Ви хочете, що електронна пошта працювала, необхідно виставити коректні [http://www.php.net/manual/en/mail.configuration.php налаштування пошти у PHP].\nЯкщо Вам не потрібні жодні можливості електронної пошти у вікі, можете тут їх відключити.",
+       "config-enable-email-help": "Якщо Ви хочете, що електронна пошта працювала, необхідно виставити коректні [Config-dbsupport-oracle/manual/en/mail.configuration.php налаштування пошти у PHP].\nЯкщо Вам не потрібні жодні можливості електронної пошти у вікі, можете тут їх відключити.",
        "config-email-user": "Увімкнути електронну пошту користувач-користувачеві",
        "config-email-user-help": "Дозволити усім користувачам надсилати один одному електронну пошту, якщо вони увімкнули цю можливість у своїх налаштуваннях.",
        "config-email-usertalk": "Увімкнути сповіщення про повідомлення на сторінці обговорення користувача",
index 4b9da0e..29ce143 100644 (file)
@@ -6,7 +6,8 @@
                        "Withoutaname",
                        "Dinhxuanduyet",
                        "Nguyên Lê",
-                       "Macofe"
+                       "Macofe",
+                       "Leducthn"
                ]
        },
        "config-desc": "Trình cài đặt MediaWiki",
        "config-pcre-no-utf8": "<strong>Lỗi chí tử:</strong> Mô đun PCRE của PHP dường như được biên dịch mà không có hỗ trợ PCRE_UTF8.\nMediaWiki yêu cầu phải có hỗ trợ UTF-8 để hoạt động chính xác.",
        "config-memory-raised": "<code>memory_limit</code> của PHP là $1, tăng lên $2.",
        "config-memory-bad": "<strong>Cảnh báo:</strong> <code>memory_limit</code> của PHP là $1.\nGiá trị này có lẽ quá thấp.\nCài đặt có thể bị thất bại!",
-       "config-apc": "[http://www.php.net/apc APC] đã được cài đặt",
-       "config-apcu": "[http://www.php.net/apcu APCu] đã được cài đặt",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] đã được cài đặt",
-       "config-no-cache-apcu": "<strong>Cảnh báo:</strong> Không tìm thấy [http://www.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache], hoặc [http://www.iis.net/download/WinCacheForPhp WinCache].\nVùng nhớ đệm đối tượng không được kích hoạt.",
+       "config-apc": "[https://secure.php.net/apc APC] đã được cài đặt",
+       "config-apcu": "[https://secure.php.net/apcu APCu] đã được cài đặt",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] đã được cài đặt",
+       "config-no-cache-apcu": "<strong>Cảnh báo:</strong> Không tìm thấy [https://secure.php.net/apcu APCu] hoặc [https://www.iis.net/downloads/microsoft/wincache-extension WinCache].\nVùng nhớ đệm đối tượng không được kích hoạt.",
        "config-mod-security": "<strong>Cảnh báo:</strong> [https://modsecurity.org/ mod_security]/mod_security2 đã được kích hoạt trên máy chủ Web của bạn. Nhiều cấu hình phổ biến của phần mềm này sẽ gây vấn đề cho MediaWiki và những phần mềm khác cho phép người dùng đăng các nội dung tùy tiện.\nNếu có thể, bạn nên vô hiệu nó. Còn không, tra cứu [https://modsecurity.org/documentation/ tài liệu mod_security] hoặc liên hệ với nhà cung cấp hỗ trợ cho máy chủ nếu bạn gặp những lỗi ngẫu nhiên nào đó.",
        "config-diff3-bad": "Không tìm thấy GNU diff3.",
        "config-git": "Đã tìm thấy phần mềm điều khiển phiên bản Git: <code>$1</code>.",
        "config-type-mysql": "MySQL (hoặc tương hợp)",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki hỗ trợ các hệ thống cơ sở dữ liệu sau đây:\n\n$1\n\nNếu bạn không thấy hệ thống cơ sở dữ liệu mà bạn đang muốn sử dụng được liệt kê dưới đây, thì hãy theo chỉ dẫn được liên kết ở trên để kích hoạt tính năng hỗ trợ.",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] là mục tiêu chính cho MediaWiki và được hỗ trợ tốt nhất. MediaWiki cũng làm việc với [{{int:version-db-mariadb-url}} MariaDB] và [{{int:version-db-percona-url}} Percona Server], là những cơ sở dữ liệu tương thích với MySQL. ([http://www.php.net/manual/en/mysqli.installation.php Làm thế nào để biên dịch PHP với sự hỗ trợ của MySQL])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] là một hệ thống cơ sở dữ liệu mã nguồn mở phổ biến như là một thay thế cho MySQL. ([http://www.php.net/manual/en/pgsql.installation.php Làm thế nào để biên dịch PHP với sự hỗ trợ của PostgreSQL])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] là mục tiêu chính cho MediaWiki và được hỗ trợ tốt nhất. MediaWiki cũng làm việc với [{{int:version-db-mariadb-url}} MariaDB] và [{{int:version-db-percona-url}} Percona Server], là những cơ sở dữ liệu tương thích với MySQL. ([https://secure.php.net/manual/en/mysqli.installation.php Làm thế nào để biên dịch PHP với sự hỗ trợ của MySQL])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] là một hệ thống cơ sở dữ liệu mã nguồn mở phổ biến như là một thay thế cho MySQL. ([Config-dbsupport-oracle/manual/en/pgsql.installation.php Làm thế nào để biên dịch PHP với sự hỗ trợ của PostgreSQL])",
        "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] là một hệ thống cơ sở dữ liệu dung lượng nhẹ được hỗ trợ rất tốt. ([http://www.php.net/manual/en/pdo.installation.php Làm thế nào để biên dịch PHP với sự hỗ trợ của SQLite], sử dụng PDO)",
        "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] là một cơ sở dữ liệu doanh nghiệp thương mại. ([http://www.php.net/manual/en/oci8.installation.php Làm thế nào để biên dịch PHP với sự hỗ trợ của OCI8])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] là một cơ sở dữ liệu doanh nghiệp thương mại cho Windows. ([http://www.php.net/manual/en/sqlsrv.installation.php Làm thế nào để biên dịch PHP với sự hỗ trợ của SQLSRV])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] là một cơ sở dữ liệu doanh nghiệp thương mại cho Windows. ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php Làm thế nào để biên dịch PHP với sự hỗ trợ của SQLSRV])",
        "config-header-mysql": "Thiết lập MySQL",
        "config-header-postgres": "Thiết lập PostgreSQL",
        "config-header-sqlite": "Thiết lập SQLite",
        "config-license-help": "Nhiều wiki công khai phát hành tất cả các đóng góp theo một [https://freedomdefined.org/Definition/Vi?uselang=vi giấy phép tự do].\nĐiều này giúp tạo nên thái độ cộng đồng sở hữu và ủng hộ sự đóng góp lâu dài.\nNói chung, một wiki riêng tư hoặc của công ty không nhất thiết phải sử dụng một giấy phép tự do.\n\nNếu bạn muốn được phép sử dụng văn bản từ Wikipedia và muốn Wikipedia nhận được những văn bản được sao chép từ wiki của bạn, bạn nên chọn <strong>{{int:config-license-cc-by-sa}}</strong>.\n\nWikipedia từng sử dụng Giấy phép Tài liệu Tự do GNU.\nGFDL là một giấy phép hợp lệ nhưng khó hiểu trên thực tế.\nNội dung được phát hành theo GFDL cũng khó tái sử dụng.",
        "config-email-settings": "Thiết lập thư điện tử",
        "config-enable-email": "Cho phép gửi thư điện tử đi",
-       "config-enable-email-help": "Nếu bạn muốn khả năng gửi thư điện tử, [http://www.php.net/manual/en/mail.configuration.php thiết lập mail của PHP] cần phải được cấu hình đúng.\nNếu bạn không muốn sử dụng bất kỳ tính năng thư điện tử nào, bạn có thể vô hiệu chúng ở đây.",
+       "config-enable-email-help": "Nếu bạn muốn khả năng gửi thư điện tử, [Config-dbsupport-oracle/manual/en/mail.configuration.php thiết lập mail của PHP] cần phải được cấu hình đúng.\nNếu bạn không muốn sử dụng bất kỳ tính năng thư điện tử nào, bạn có thể vô hiệu chúng ở đây.",
        "config-email-user": "Cho phép người dùng gửi thư điện tử cho người dùng khác",
        "config-email-user-help": "Cho phép tất cả người dùng gửi thư điện tử cho nhau, nếu họ đã kích hoạt nó trong cài đặt tùy chọn của họ.",
        "config-email-usertalk": "Gửi thư thông báo về tin nhắn mới",
index 75d2350..c598a0b 100644 (file)
@@ -83,7 +83,7 @@
        "config-profile-fishbowl": "Otorisado nga mga editor la",
        "config-profile-private": "Pribado nga wiki",
        "config-license-pd": "Dominyo Publiko",
-       "config-enable-email-help": "Kun naruruyag ka nga gumana an email, an [http://www.php.net/manual/en/mail.configuration.php PHP's mail settings] in kinahanglan nga mai-configure hin asya.\nKun diri ka naruruyag hin bisan ano nga mga email feature, puydi nim igparong dinhi.",
+       "config-enable-email-help": "Kun naruruyag ka nga gumana an email, an [Config-dbsupport-oracle/manual/en/mail.configuration.php PHP's mail settings] in kinahanglan nga mai-configure hin asya.\nKun diri ka naruruyag hin bisan ano nga mga email feature, puydi nim igparong dinhi.",
        "config-email-user": "Igpaandar an gumaramit-ha-gumaramit nga email",
        "config-email-user-help": "Igtugot an ngatanan nga mga gumaramit nga magpadangat hin email ha tagsa-tagsa kun ira ginpaandar ini ha ira karuyagon.",
        "config-email-usertalk": "Igpaandar an pagpasabot ha pakli han hiruhimangraw han gumaramit",
index fe32b22..f85ef6e 100644 (file)
@@ -39,8 +39,8 @@
        "config-env-bad": "מ'האט קאנטראלירט די סביבה.\nאיר קענט נישט אינסטאלירן מעדיעוויקי.",
        "config-env-php": "PHP $1 איז אינצטאלירט.",
        "config-env-hhvm": "HHVM $1 איז אינסטאלירט.",
-       "config-apc": "[http://www.php.net/apc APC] איז אינסטאלירט",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] איז אינסטאלירט",
+       "config-apc": "[https://secure.php.net/apc APC] איז אינסטאלירט",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] איז אינסטאלירט",
        "config-diff3-bad": "GNU diff3 נישט געטראפן.",
        "config-using-server": "באניצן סארווער־נאמען \"<nowiki>$1</nowiki>\".",
        "config-using-uri": "באניצן סארווער־אדרעס \"<nowiki>$1$2</nowiki>\".",
index f3a4321..01eeba1 100644 (file)
        "config-pcre-no-utf8": "<strong>致命错误:</strong>PHP的PCRE模块在编译时可能没有包含PCRE_UTF8支持。\nMediaWiki需要UTF-8支持才能正常工作。",
        "config-memory-raised": "PHP的内存使用上限<code>memory_limit</code>为$1,自动提升到$2。",
        "config-memory-bad": "<strong>警告:</strong>PHP的内存使用上限<code>memory_limit</code>为$1。\n该设定可能过低,并导致安装失败!",
-       "config-apc": "[http://www.php.net/apc APC]已安装",
-       "config-apcu": "已安装[http://www.php.net/apcu APCu]",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache]已安装",
-       "config-no-cache-apcu": "<strong>警告:</strong>找不到[http://www.php.net/apcu APCu]或[http://www.iis.net/download/WinCacheForPhp WinCache]。对象缓存未启用。",
+       "config-apc": "[https://secure.php.net/apc APC]已安装",
+       "config-apcu": "已安装[https://secure.php.net/apcu APCu]",
+       "config-wincache": "已安装[https://www.iis.net/downloads/microsoft/wincache-extension WinCache]",
+       "config-no-cache-apcu": "<strong>警告:</strong>找不到[https://secure.php.net/apcu APCu]或[https://www.iis.net/downloads/microsoft/wincache-extension WinCache]。对象缓存未启用。",
        "config-mod-security": "<strong>警告:</strong>您的web服务器已启用[https://modsecurity.org/ mod_security]/mod_security2。它的很多常见配置可能导致MediaWiki及其他软件允许用户发布任意内容的问题。如果可能,这应当被禁用。否则,当您遭遇随机错误时,请参考[https://modsecurity.org/documentation/ mod_security 文档]或联络您的主机支持。",
        "config-diff3-bad": "找不到GNU diff3。",
        "config-git": "发现Git版本控制软件:<code>$1</code>",
        "config-type-mysql": "MySQL(或兼容程序)",
        "config-type-mssql": "微软SQL服务器",
        "config-support-info": "MediaWiki支持以下数据库系统:\n\n$1\n\n如果您在下面列出的数据库系统中没有找到您希望使用的系统,请根据上方链向的指引启用支持。",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL]是MediaWiki的首选数据库,对它的支持最为完备。MediaWiki也可以在[{{int:version-db-mariadb-url}} MariaDB]和[{{int:version-db-percona-url}} Percona Server]下工作,它们与MySQL兼容。([http://www.php.net/manual/en/mysql.installation.php 如何将对MySQL的支持编译进PHP中])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL]是一种流行的开源数据库系统,可作为MySQL的替代([http://www.php.net/manual/en/pgsql.installation.php 如何将对PostgreSQL的支持编译进PHP中])",
-       "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite]是一种轻量级的数据库系统,能被良好地支持。([http://www.php.net/manual/en/pdo.installation.php 如何将对SQLite的支持编译进PHP中],须使用PDO)",
-       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle]是一种商用企业级的数据库。([http://www.php.net/manual/en/oci8.installation.php 如何将对OCI8的支持编译进PHP中])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server]是一个适用于Windows的商业性企业数据库。([http://www.php.net/manual/en/sqlsrv.installation.php 如何编译带有SQLSRV支持的PHP])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL]是MediaWiki的首选数据库,对它的支持最为完备。MediaWiki也可以在[{{int:version-db-mariadb-url}} MariaDB]和[{{int:version-db-percona-url}} Percona Server]下工作,它们与MySQL兼容。([https://secure.php.net/manual/en/mysqli.installation.php 如何将对MySQL的支持编译进PHP中])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL]是一种流行的开源数据库系统,可作为MySQL的替代。([https://secure.php.net/manual/en/pgsql.installation.php 如何将对PostgreSQL的支持编译进PHP中])",
+       "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite]是一种轻量级的数据库系统,能被良好地支持。([https://secure.php.net/manual/en/pdo.installation.php 如何将对SQLite的支持编译进PHP中],须使用PDO)",
+       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle]是一种商用企业级的数据库。([https://secure.php.net/manual/en/oci8.installation.php 如何将对OCI8的支持编译进PHP中])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server]是一个适用于Windows的商业性企业数据库。([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php 如何编译带有SQLSRV支持的PHP])",
        "config-header-mysql": "MySQL设置",
        "config-header-postgres": "PostgreSQL设置",
        "config-header-sqlite": "SQLite设置",
        "config-license-help": "许多公共wiki将所有用户贡献置于[https://freedomdefined.org/Definition 自由许可证]之下。这有助于构建社区的主人翁意识,并鼓励长期贡献。对于非公共wiki或公司wiki,这并非必要条件。\n\n如果您希望使用来自维基百科的内容,并希望维基百科能接受复制自您的wiki的内容,您应当选择<strong>{{int:config-license-cc-by-sa}}</strong>。\n\nGNU自由文档许可证是维基百科曾经使用过的许可证,并迄今有效。然而,该许可证难以理解,并会增加重用内容的难度。",
        "config-email-settings": "电子邮件设置",
        "config-enable-email": "启用出站电子邮件",
-       "config-enable-email-help": "如果您希望使用电子邮件功能,请正确配置[http://www.php.net/manual/en/mail.configuration.php PHP的邮件设定]。如果您不需要任何电子邮件功能,请在此处禁用它。",
+       "config-enable-email-help": "如果您希望使用电子邮件功能,请正确配置[https://secure.php.net/manual/en/mail.configuration.php PHP的邮件设定]。如果您不需要任何电子邮件功能,请在此处禁用它。",
        "config-email-user": "启用用户到用户的电子邮件",
        "config-email-user-help": "允许所有用户互发邮件,假若他们启用了该功能。",
        "config-email-usertalk": "启用用户讨论页面通知",
index 93c042e..cebd383 100644 (file)
        "config-pcre-no-utf8": "<strong>嚴重:</strong> PHP 的 PCRE 模組在編譯時未包含 PCRE_UTF8 支援。\nMediaWiki 需要支援 UTF-8 才可正常運作。",
        "config-memory-raised": "PHP 的記憶體使用上限 <code>memory_limit</code> 目前為 $1,自動提高到 $2。",
        "config-memory-bad": "<strong>警告:</strong>PHP 的記憶體使用上限 <code>memory_limit</code> 為 $1。\n該設定值可能過低。\n這可能導致後續的安裝失敗!",
-       "config-apc": "[http://www.php.net/apc APC] 已安裝",
-       "config-apcu": "已安裝[http://www.php.net/apcu APCu]",
-       "config-wincache": "[https://www.iis.net/download/WinCacheForPhp WinCache] 已安裝",
-       "config-no-cache-apcu": "<strong>警告:</strong>找不到[http://www.php.net/apcu APCu]或[http://www.iis.net/download/WinCacheForPhp WinCache]。未開啟物件快取。",
+       "config-apc": "[https://secure.php.net/apc APC] 已安裝",
+       "config-apcu": "已安裝[https://secure.php.net/apcu APCu]",
+       "config-wincache": "[https://www.iis.net/downloads/microsoft/wincache-extension WinCache] 已安裝",
+       "config-no-cache-apcu": "<strong>警告:</strong>找不到[https://secure.php.net/apcu APCu]或[https://www.iis.net/downloads/microsoft/wincache-extension WinCache]。未開啟物件快取。",
        "config-mod-security": "<strong>警告:</strong>您的網頁伺服器已開啟 [https://modsecurity.org/ mod_security] 模組,如果設定不恰當會導致使用者可在 MediaWiki 或其他應用程式發佈任意的內容。\n若您遇到任何問題,請參考 [https://modsecurity.org/documentation/ mod_security 文件] 或聯繫您的伺服器技術支援人員。",
        "config-diff3-bad": "找不到 GNU diff3。",
        "config-git": "找到 Git 版本控制軟體:<code>$1</code>。",
        "config-type-mysql": "MySQL (或與其相容的程式)",
        "config-type-mssql": "Microsoft SQL Server",
        "config-support-info": "MediaWiki 支援以下資料庫系統:\n\n$1\n\n如果您下方沒有看到您要使用的資料庫系統,請根據上方連結指示開啟資料庫的支援。",
-       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] 是 MediaWiki 主要支援的資料庫系統。MediaWiki 也同時可運作與於 [{{int:version-db-mariadb-url}} MariaDB] 和[{{int:version-db-percona-url}} Percona 伺服器],上述這些與 MySQL 相容的資料庫系統。([http://www.php.net/manual/en/mysqli.installation.php 如何編譯支援 MySQL 的 PHP])",
-       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL]是一套受歡迎的開源資料庫系統,可用來替代 MySQL。([http://www.php.net/manual/en/pgsql.installation.php 如何編譯支援PostgreSQL的PHP])。",
-       "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] 是一套輕量級的資料庫系統,MediaWiki 可在此資料庫系統上良好的運作。([http://www.php.net/manual/en/pdo.installation.php 如何編譯支援 SQLite 的 PHP],須透過 PDO)",
-       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] 是一套商用企業級的資料庫。([http://www.php.net/manual/en/oci8.installation.php 如何編譯支援 OCI8 的 PHP])",
-       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] 是一套 Windows 專用的商用企業級的資料庫。 ([http://www.php.net/manual/en/sqlsrv.installation.php 如何編譯支援 SQLSRV 的 PHP])",
+       "config-dbsupport-mysql": "* [{{int:version-db-mysql-url}} MySQL] 是 MediaWiki 主要支援的資料庫系統。MediaWiki 也同時可運作與於 [{{int:version-db-mariadb-url}} MariaDB] 和 [{{int:version-db-percona-url}} Percona 伺服器],上述這些與 MySQL 相容的資料庫系統。([https://secure.php.net/manual/en/mysqli.installation.php 如何編譯支援 MySQL 的 PHP])",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] 是一套受歡迎的開源資料庫系統,可用來替代 MySQL。([https://secure.php.net/manual/en/pgsql.installation.php 如何編譯支援 PostgreSQL 的 PHP])。",
+       "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] 是一套輕量級的資料庫系統,MediaWiki 可在此資料庫系統上良好的運作。([https://secure.php.net/manual/en/pdo.installation.php 如何編譯支援 SQLite 的 PHP],須透過 PDO)",
+       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] 是一套商用企業級的資料庫。([https://secure.php.net/manual/en/oci8.installation.php 如何編譯支援 OCI8 的 PHP])",
+       "config-dbsupport-mssql": "* [{{int:version-db-mssql-url}} Microsoft SQL Server] 是一套 Windows 專用的商用企業級的資料庫。 ([Config-dbsupport-oracle/manual/en/sqlsrv.installation.php 如何編譯支援 SQLSRV 的 PHP])",
        "config-header-mysql": "MySQL 設定",
        "config-header-postgres": "PostgreSQL 設定",
        "config-header-sqlite": "SQLite 設定",
        "config-license-help": "許多開放式 Wiki 會以 [https://freedomdefined.org/Definition 自由授權條款] 的方式釋放出編者的所有貢獻,這有助於構建社群的所有權,並且能鼓勵長期貢獻。對於封閉式的 Wiki 或公司 Wiki 則是非必要的。\n\n如果您希望使用來自維基百科(Wikipedia)的內容,並希望維基百科能接受您的 Wiki 內容,請應選擇 <strong>{{int:config-license-cc-by-sa}}</strong> 授權條款。\n\n維基百科(Wikipedia)先前是使用 GNU 自由文件授權條款,\n但該授權條款的內容較難理解,因此較難再利用在該條款底下的內容。",
        "config-email-settings": "E-mail 設定",
        "config-enable-email": "開啟外寄電子郵件",
-       "config-enable-email-help": "如果您要使用電子郵件功能,請正確設定 [http://www.php.net/manual/en/mail.configuration.php PHP 的郵件設定]。\n如果您不需要使用電子郵件功能,請在此處關閉。",
+       "config-enable-email-help": "如果您要使用電子郵件功能,請正確設定 [https://secure.php.net/manual/en/mail.configuration.php PHP 的郵件設定]。\n如果您不需要使用電子郵件功能,請在此處關閉。",
        "config-email-user": "開啟使用者對使用者間的電子郵件互通",
        "config-email-user-help": "若使用者在個人偏好設定開啟了此功能,則可允許使用者間相互傳送郵件。",
        "config-email-usertalk": "開啟使用者討論頁面通知",
index f9c416f..b16cfa3 100644 (file)
@@ -23,8 +23,7 @@
 
 /**
  * Class to both describe a background job and handle jobs.
- * The queue aspects of this class are now deprecated.
- * Using the class to push jobs onto queues is deprecated (use JobSpecification).
+ * To push jobs onto queues, use JobQueueGroup::singleton()->push();
  *
  * @ingroup JobQueue
  */
@@ -123,23 +122,6 @@ abstract class Job implements IJobSpecification {
                return ( $this->executionFlags && $flag ) === $flag;
        }
 
-       /**
-        * Batch-insert a group of jobs into the queue.
-        * This will be wrapped in a transaction with a forced commit.
-        *
-        * This may add duplicate at insert time, but they will be
-        * removed later on, when the first one is popped.
-        *
-        * @param Job[] $jobs Array of Job objects
-        * @return bool
-        * @deprecated since 1.21
-        */
-       public static function batchInsert( $jobs ) {
-               wfDeprecated( __METHOD__, '1.21' );
-               JobQueueGroup::singleton()->push( $jobs );
-               return true;
-       }
-
        /**
         * @return string
         */
@@ -346,17 +328,6 @@ abstract class Job implements IJobSpecification {
                }
        }
 
-       /**
-        * Insert a single job into the queue.
-        * @return bool True on success
-        * @deprecated since 1.21
-        */
-       public function insert() {
-               wfDeprecated( __METHOD__, '1.21' );
-               JobQueueGroup::singleton()->push( $this );
-               return true;
-       }
-
        /**
         * @return string
         */
index 1f4f179..d2446ab 100644 (file)
@@ -472,7 +472,7 @@ abstract class JobQueue {
                $params = $job->getRootJobParams();
 
                $key = $this->getRootJobCacheKey( $params['rootJobSignature'] );
-               // Callers should call batchInsert() and then this function so that if the insert
+               // Callers should call JobQueueGroup::push() before this method so that if the insert
                // fails, the de-duplication registration will be aborted. Since the insert is
                // deferred till "transaction idle", do the same here, so that the ordering is
                // maintained. Having only the de-duplication registration succeed would cause
index c13f539..a082d64 100644 (file)
@@ -500,7 +500,7 @@ class JobQueueDB extends JobQueue {
                        throw new MWException( "Cannot register root job; missing 'rootJobTimestamp'." );
                }
                $key = $this->getRootJobCacheKey( $params['rootJobSignature'] );
-               // Callers should call batchInsert() and then this function so that if the insert
+               // Callers should call JobQueueGroup::push() before this method so that if the insert
                // fails, the de-duplication registration will be aborted. Since the insert is
                // deferred till "transaction idle", do the same here, so that the ordering is
                // maintained. Having only the de-duplication registration succeed would cause
index 6b3e4a7..c41aab3 100644 (file)
@@ -217,7 +217,7 @@ class CryptHKDF {
         * @param string $ikm The input keying material
         * @param string $salt The salt to add to the ikm, to get the prk
         * @param string $info Optional context (change the output without affecting
-        *      the randomness properties of the output)
+        *      the randomness properties of the output)
         * @param int $L Number of bytes to return
         * @return string Cryptographically secure pseudorandom binary string
         */
index 053a5ff..654b189 100644 (file)
@@ -107,7 +107,7 @@ class MultiHttpClient implements LoggerAwareInterface {
         *   - error     : Any cURL error string
         * The map also stores integer-indexed copies of these values. This lets callers do:
         * @code
-        *              list( $rcode, $rdesc, $rhdrs, $rbody, $rerr ) = $http->run( $req );
+        *              list( $rcode, $rdesc, $rhdrs, $rbody, $rerr ) = $http->run( $req );
         * @endcode
         * @param array $req HTTP request array
         * @param array $opts
index b257e27..d60e768 100644 (file)
@@ -101,7 +101,7 @@ class FSFileBackend extends FileBackendStore {
        public function getFeatures() {
                if ( $this->isWindows && version_compare( PHP_VERSION, '7.1', 'lt' ) ) {
                        // PHP before 7.1 used 8-bit code page for filesystem paths on Windows;
-                       // See http://php.net/manual/en/migration71.windows-support.php
+                       // See https://secure.php.net/manual/en/migration71.windows-support.php
                        return 0;
                } else {
                        return FileBackend::ATTR_UNICODE_PATHS;
index 5695d82..997974e 100644 (file)
@@ -1811,7 +1811,7 @@ class SwiftFileBackend extends FileBackendStore {
                if ( $code == 401 ) { // possibly a stale token
                        $this->srvCache->delete( $this->getCredsCacheKey( $this->swiftUser ) );
                }
-               $msg = "HTTP {code} ({desc}) in '{func}' (given '{params}')";
+               $msg = "HTTP {code} ({desc}) in '{func}' (given '{req_params}')";
                $msgParams = [
                        'code'   => $code,
                        'desc'   => $desc,
index 186014b..8b21ede 100644 (file)
@@ -63,6 +63,8 @@ class ChronologyProtector implements LoggerAwareInterface {
 
        /** @var int Seconds to store positions */
        const POSITION_TTL = 60;
+       /** @var int Seconds to store position write index cookies (safely less than POSITION_TTL) */
+       const POSITION_COOKIE_TTL = 60;
        /** @var int Max time to wait for positions to appear */
        const POS_STORE_WAIT_TIMEOUT = 5;
 
index 45e7cbb..16d0e31 100644 (file)
@@ -321,10 +321,10 @@ interface ILBFactory {
         * Note that unlike cookies, this works accross domains
         *
         * @param string $url
-        * @param float $time UNIX timestamp just before shutdown() was called
+        * @param int $index Write counter index
         * @return string
         */
-       public function appendShutdownCPIndexAsQuery( $url, $time );
+       public function appendShutdownCPIndexAsQuery( $url, $index );
 
        /**
         * @param array $info Map of fields, including:
index 955c28d..7f5990d 100644 (file)
@@ -139,6 +139,7 @@ abstract class LBFactory implements ILBFactory {
                        'IPAddress' => isset( $_SERVER[ 'REMOTE_ADDR' ] ) ? $_SERVER[ 'REMOTE_ADDR' ] : '',
                        'UserAgent' => isset( $_SERVER['HTTP_USER_AGENT'] ) ? $_SERVER['HTTP_USER_AGENT'] : '',
                        'ChronologyProtection' => 'true',
+                       // phpcs:ignore MediaWiki.Usage.SuperGlobalsUsage.SuperGlobals -- library can't use $wgRequest
                        'ChronologyPositionIndex' => isset( $_GET['cpPosIndex'] ) ? $_GET['cpPosIndex'] : null
                ];
 
@@ -640,6 +641,36 @@ abstract class LBFactory implements ILBFactory {
                return strpos( $url, '?' ) === false ? "$url?cpPosIndex=$index" : "$url&cpPosIndex=$index";
        }
 
+       /**
+        * @param int $index Write index
+        * @param int $time UNIX timestamp
+        * @return string Timestamp-qualified write index of the form "<index>.<timestamp>"
+        * @since 1.32
+        */
+       public static function makeCookieValueFromCPIndex( $index, $time ) {
+               return $index . '@' . $time;
+       }
+
+       /**
+        * @param string $value String possibly of the form "<index>" or "<index>@<timestamp>"
+        * @param int $minTimestamp Lowest UNIX timestamp of non-expired values (if present)
+        * @return int|null Write index or null if $value is empty or expired
+        * @since 1.32
+        */
+       public static function getCPIndexFromCookieValue( $value, $minTimestamp ) {
+               if ( !preg_match( '/^(\d+)(?:@(\d+))?$/', $value, $m ) ) {
+                       return null;
+               }
+
+               $index = (int)$m[1];
+
+               if ( isset( $m[2] ) && $m[2] !== '' && (int)$m[2] < $minTimestamp ) {
+                       return null; // expired
+               }
+
+               return ( $index > 0 ) ? $index : null;
+       }
+
        public function setRequestInfo( array $info ) {
                if ( $this->chronProt ) {
                        throw new LogicException( 'ChronologyProtector already initialized.' );
index 03ab8ea..c8d111d 100644 (file)
@@ -132,10 +132,10 @@ class PageDataRequestHandler {
                $contentHandler = ContentHandler::getForTitle( $title );
                $mimeTypes = $contentHandler->getSupportedFormats();
 
-               $headers = $request->getAllHeaders();
-               if ( isset( $headers['ACCEPT'] ) ) {
+               $acceptHeader = $request->getHeader( 'Accept' );
+               if ( $acceptHeader !== false ) {
                        $parser = new HttpAcceptParser();
-                       $accept = $parser->parseWeights( $headers['ACCEPT'] );
+                       $accept = $parser->parseWeights( $acceptHeader );
                } else {
                        // anything goes
                        $accept = [
index 28c1a87..9f34264 100644 (file)
@@ -23,6 +23,8 @@
  * @file
  */
 
+use MediaWiki\MediaWikiServices;
+
 /**
  * Class to simplify the use of log pages.
  * The logs are now kept in a table which is easier to manage and trim
@@ -292,22 +294,23 @@ class LogPage {
                        return $title->getPrefixedText();
                }
 
+               $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
                if ( $title->isSpecialPage() ) {
                        list( $name, $par ) = SpecialPageFactory::resolveAlias( $title->getDBkey() );
 
                        # Use the language name for log titles, rather than Log/X
                        if ( $name == 'Log' ) {
                                $logPage = new LogPage( $par );
-                               $titleLink = Linker::link( $title, $logPage->getName()->escaped() );
+                               $titleLink = $linkRenderer->makeLink( $title, $logPage->getName()->text() );
                                $titleLink = wfMessage( 'parentheses' )
                                        ->inLanguage( $lang )
                                        ->rawParams( $titleLink )
                                        ->escaped();
                        } else {
-                               $titleLink = Linker::link( $title );
+                               $titleLink = $linkRenderer->makeLink( $title );
                        }
                } else {
-                       $titleLink = Linker::link( $title );
+                       $titleLink = $linkRenderer->makeLink( $title );
                }
 
                return $titleLink;
index 7b48ad0..bdd4f44 100644 (file)
@@ -198,14 +198,8 @@ class UserMailer {
        private static function isMailMimeUsable() {
                static $usable = null;
                if ( $usable === null ) {
-                       // If the class is not already loaded, and it's in the include path,
-                       // try requiring it.
-                       if ( !class_exists( 'Mail_mime' ) && stream_resolve_include_path( 'Mail/mime.php' ) ) {
-                               require_once 'Mail/mime.php';
-                       }
                        $usable = class_exists( 'Mail_mime' );
                }
-
                return $usable;
        }
 
@@ -218,11 +212,6 @@ class UserMailer {
        private static function isMailUsable() {
                static $usable = null;
                if ( $usable === null ) {
-                       // If the class is not already loaded, and it's in the include path,
-                       // try requiring it.
-                       if ( !class_exists( 'Mail' ) && stream_resolve_include_path( 'Mail.php' ) ) {
-                               require_once 'Mail.php';
-                       }
                        $usable = class_exists( 'Mail' );
                }
 
@@ -396,7 +385,7 @@ class UserMailer {
                        Wikimedia\suppressWarnings();
 
                        // Create the mail object using the Mail::factory method
-                       $mail_object =& Mail::factory( 'smtp', $wgSMTP );
+                       $mail_object = Mail::factory( 'smtp', $wgSMTP );
                        if ( PEAR::isError( $mail_object ) ) {
                                wfDebug( "PEAR::Mail factory failed: " . $mail_object->getMessage() . "\n" );
                                Wikimedia\restoreWarnings();
index ac20b6a..4e39537 100644 (file)
@@ -138,6 +138,9 @@ class Parser {
        const TOC_START = '<mw:toc>';
        const TOC_END = '</mw:toc>';
 
+       /** @var int Assume that no output will later be saved this many seconds after parsing */
+       const MAX_TTS = 900;
+
        # Persistent:
        public $mTagHooks = [];
        public $mTransparentTagHooks = [];
@@ -2652,39 +2655,19 @@ class Parser {
                                }
                                break;
                        case 'revisionday':
-                               # Let the edit saving system know we should parse the page
-                               # *after* a revision ID has been assigned. This is for null edits.
-                               $this->mOutput->setFlag( 'vary-revision' );
-                               wfDebug( __METHOD__ . ": {{REVISIONDAY}} used, setting vary-revision...\n" );
-                               $value = intval( substr( $this->getRevisionTimestamp(), 6, 2 ) );
+                               $value = (int)$this->getRevisionTimestampSubstring( 6, 2, self::MAX_TTS, $index );
                                break;
                        case 'revisionday2':
-                               # Let the edit saving system know we should parse the page
-                               # *after* a revision ID has been assigned. This is for null edits.
-                               $this->mOutput->setFlag( 'vary-revision' );
-                               wfDebug( __METHOD__ . ": {{REVISIONDAY2}} used, setting vary-revision...\n" );
-                               $value = substr( $this->getRevisionTimestamp(), 6, 2 );
+                               $value = $this->getRevisionTimestampSubstring( 6, 2, self::MAX_TTS, $index );
                                break;
                        case 'revisionmonth':
-                               # Let the edit saving system know we should parse the page
-                               # *after* a revision ID has been assigned. This is for null edits.
-                               $this->mOutput->setFlag( 'vary-revision' );
-                               wfDebug( __METHOD__ . ": {{REVISIONMONTH}} used, setting vary-revision...\n" );
-                               $value = substr( $this->getRevisionTimestamp(), 4, 2 );
+                               $value = $this->getRevisionTimestampSubstring( 4, 2, self::MAX_TTS, $index );
                                break;
                        case 'revisionmonth1':
-                               # Let the edit saving system know we should parse the page
-                               # *after* a revision ID has been assigned. This is for null edits.
-                               $this->mOutput->setFlag( 'vary-revision' );
-                               wfDebug( __METHOD__ . ": {{REVISIONMONTH1}} used, setting vary-revision...\n" );
-                               $value = intval( substr( $this->getRevisionTimestamp(), 4, 2 ) );
+                               $value = (int)$this->getRevisionTimestampSubstring( 4, 2, self::MAX_TTS, $index );
                                break;
                        case 'revisionyear':
-                               # Let the edit saving system know we should parse the page
-                               # *after* a revision ID has been assigned. This is for null edits.
-                               $this->mOutput->setFlag( 'vary-revision' );
-                               wfDebug( __METHOD__ . ": {{REVISIONYEAR}} used, setting vary-revision...\n" );
-                               $value = substr( $this->getRevisionTimestamp(), 0, 4 );
+                               $value = $this->getRevisionTimestampSubstring( 0, 4, self::MAX_TTS, $index );
                                break;
                        case 'revisiontimestamp':
                                # Let the edit saving system know we should parse the page
@@ -2842,6 +2825,38 @@ class Parser {
                return $value;
        }
 
+       /**
+        * @param int $start
+        * @param int $len
+        * @param int $mtts Max time-till-save; sets vary-revision if result might change by then
+        * @param string $variable Parser variable name
+        * @return string
+        */
+       private function getRevisionTimestampSubstring( $start, $len, $mtts, $variable ) {
+               global $wgContLang;
+
+               # Get the timezone-adjusted timestamp to be used for this revision
+               $resNow = substr( $this->getRevisionTimestamp(), $start, $len );
+               # Possibly set vary-revision if there is not yet an associated revision
+               if ( !$this->getRevisionObject() ) {
+                       # Get the timezone-adjusted timestamp $mtts seconds in the future
+                       $resThen = substr(
+                               $wgContLang->userAdjust( wfTimestamp( TS_MW, time() + $mtts ), '' ),
+                               $start,
+                               $len
+                       );
+
+                       if ( $resNow !== $resThen ) {
+                               # Let the edit saving system know we should parse the page
+                               # *after* a revision ID has been assigned. This is for null edits.
+                               $this->mOutput->setFlag( 'vary-revision' );
+                               wfDebug( __METHOD__ . ": $variable used, setting vary-revision...\n" );
+                       }
+               }
+
+               return $resNow;
+       }
+
        /**
         * initialise the magic variables (like CURRENTMONTHNAME) and substitution modifiers
         *
@@ -2997,7 +3012,7 @@ class Parser {
         *       'expansion-depth-exceeded-category')
         * @param string|int|null $current Current value
         * @param string|int|null $max Maximum allowed, when an explicit limit has been
-        *       exceeded, provide the values (optional)
+        *       exceeded, provide the values (optional)
         */
        public function limitationWarn( $limitationType, $current = '', $max = '' ) {
                # does no harm if $current and $max are present but are unnecessary for the message
index aa015a6..fc36659 100644 (file)
@@ -906,8 +906,7 @@ class ParserOutput extends CacheTime {
         *   * To implement hidden categories, hiding pages from category listings
         *     by storing a property.
         *
-        *   * Overriding the displayed article title.
-        *   @see ParserOutput::setDisplayTitle()
+        *   * Overriding the displayed article title (ParserOutput::setDisplayTitle()).
         *
         *   * To implement image tagging, for example displaying an icon on an
         *     image thumbnail to indicate that it is listed for deletion on
index bf1f8ac..0c52354 100644 (file)
@@ -68,7 +68,7 @@ class UserPasswordPolicy {
         * @param User $user who's policy we are checking
         * @param string $password the password to check
         * @return Status error to indicate the password didn't meet the policy, or fatal to
-        *      indicate the user shouldn't be allowed to login.
+        *      indicate the user shouldn't be allowed to login.
         */
        public function checkUserPassword( User $user, $password ) {
                $effectivePolicy = $this->getPoliciesForUser( $user );
@@ -88,7 +88,7 @@ class UserPasswordPolicy {
         * @param string $password the password to check
         * @param array $groups list of groups to which we assume the user belongs
         * @return Status error to indicate the password didn't meet the policy, or fatal to
-        *      indicate the user shouldn't be allowed to login.
+        *      indicate the user shouldn't be allowed to login.
         */
        public function checkUserPasswordForGroups( User $user, $password, array $groups ) {
                $effectivePolicy = self::getPoliciesForGroups(
index 2d7d73f..d5a706a 100644 (file)
@@ -413,8 +413,9 @@ class DefaultPreferencesFactory implements PreferencesFactory {
                $languageCode = $this->config->get( 'LanguageCode' );
                if ( !array_key_exists( $languageCode, $languages ) ) {
                        $languages[$languageCode] = $languageCode;
+                       // Sort the array again
+                       ksort( $languages );
                }
-               ksort( $languages );
 
                $options = [];
                foreach ( $languages as $code => $name ) {
index 7e3afaa..564ea6b 100644 (file)
@@ -89,20 +89,34 @@ class ExtensionJsonValidator {
                        );
                }
 
-               $licenseError = false;
+               $extraErrors = [];
                // Check if it's a string, if not, schema validation will display an error
                if ( isset( $data->{'license-name'} ) && is_string( $data->{'license-name'} ) ) {
                        $licenses = new SpdxLicenses();
                        $valid = $licenses->validate( $data->{'license-name'} );
                        if ( !$valid ) {
-                               $licenseError = '[license-name] Invalid SPDX license identifier, '
+                               $extraErrors[] = '[license-name] Invalid SPDX license identifier, '
                                        . 'see <https://spdx.org/licenses/>';
                        }
                }
+               if ( isset( $data->url ) && is_string( $data->url ) ) {
+                       $parsed = wfParseUrl( $data->url );
+                       $mwoUrl = false;
+                       if ( $parsed['host'] === 'www.mediawiki.org' ) {
+                               $mwoUrl = true;
+                       } elseif ( $parsed['host'] === 'mediawiki.org' ) {
+                               $mwoUrl = true;
+                               $extraErrors[] = '[url] Should use www.mediawiki.org domain';
+                       }
+
+                       if ( $mwoUrl && $parsed['scheme'] !== 'https' ) {
+                               $extraErrors[] = '[url] Should use HTTPS for www.mediawiki.org URLs';
+                       }
+               }
 
                $validator = new Validator;
                $validator->check( $data, (object)[ '$ref' => 'file://' . $schemaPath ] );
-               if ( $validator->isValid() && !$licenseError ) {
+               if ( $validator->isValid() && !$extraErrors ) {
                        // All good.
                        return true;
                } else {
@@ -110,8 +124,8 @@ class ExtensionJsonValidator {
                        foreach ( $validator->getErrors() as $error ) {
                                $out .= "[{$error['property']}] {$error['message']}\n";
                        }
-                       if ( $licenseError ) {
-                               $out .= "$licenseError\n";
+                       if ( $extraErrors ) {
+                               $out .= implode( "\n", $extraErrors ) . "\n";
                        }
                        throw new ExtensionJsonValidationError( $out );
                }
index bee3d0c..2274793 100644 (file)
@@ -1503,7 +1503,7 @@ MESSAGE;
         * startup module if the client has adequate support for MediaWiki JavaScript code.
         *
         * @param string $script JavaScript code
-        * @param string $nonce Content-security-policy nonce, from OutputPage::getCSPNonce()
+        * @param string $nonce [optional] Content-Security-Policy nonce (from OutputPage::getCSPNonce)
         * @return WrappedString HTML
         */
        public static function makeInlineScript( $script, $nonce = null ) {
index d0a9c42..3ba63cf 100644 (file)
@@ -57,12 +57,18 @@ class ResourceLoaderClientHtml {
        /**
         * @param ResourceLoaderContext $context
         * @param array $options [optional] Array of options
-        *  - 'target': Custom parameter passed to StartupModule.
+        *  - 'target': Parameter for modules=startup request, see ResourceLoaderStartUpModule.
+        *  - 'safemode': Parameter for modules=startup request, see ResourceLoaderStartUpModule.
+        *  - 'nonce': From OutputPage::getCSPNonce().
         */
        public function __construct( ResourceLoaderContext $context, array $options = [] ) {
                $this->context = $context;
                $this->resourceLoader = $context->getResourceLoader();
-               $this->options = $options;
+               $this->options = $options + [
+                       'target' => null,
+                       'safemode' => null,
+                       'nonce' => null,
+               ];
        }
 
        /**
@@ -139,7 +145,8 @@ class ResourceLoaderClientHtml {
                                'styles' => [],
                                'general' => [],
                        ],
-
+                       // Deprecations for style-only modules
+                       'styledeprecations' => [],
                ];
 
                foreach ( $this->modules as $name ) {
@@ -204,6 +211,10 @@ class ResourceLoaderClientHtml {
                                        $data['styles'][] = $name;
                                }
                        }
+                       $deprecation = $module->getDeprecationInformation();
+                       if ( $deprecation ) {
+                               $data['styledeprecations'][] = $deprecation;
+                       }
                }
 
                foreach ( $this->moduleScripts as $name ) {
@@ -248,10 +259,10 @@ class ResourceLoaderClientHtml {
         * - Inline scripts can't be asynchronous.
         * - For styles, earlier is better.
         *
-        * @param string $nonce From OutputPage::getCSPNonce()
         * @return string|WrappedStringList HTML
         */
-       public function getHeadHtml( $nonce ) {
+       public function getHeadHtml() {
+               $nonce = $this->options['nonce'];
                $data = $this->getData();
                $chunks = [];
 
@@ -307,7 +318,15 @@ class ResourceLoaderClientHtml {
                        );
                }
 
-               // External stylesheets
+               // Deprecations for only=styles modules
+               if ( $data['styledeprecations'] ) {
+                       $chunks[] = ResourceLoader::makeInlineScript(
+                               implode( '', $data['styledeprecations'] ),
+                               $nonce
+                       );
+               }
+
+               // External stylesheets (only=styles)
                if ( $data['styles'] ) {
                        $chunks[] = $this->getLoad(
                                $data['styles'],
@@ -327,9 +346,12 @@ class ResourceLoaderClientHtml {
 
                // Async scripts. Once the startup is loaded, inline RLQ scripts will run.
                // Pass-through a custom 'target' from OutputPage (T143066).
-               $startupQuery = isset( $this->options['target'] )
-                       ? [ 'target' => (string)$this->options['target'] ]
-                       : [];
+               $startupQuery = [];
+               foreach ( [ 'target', 'safemode' ] as $param ) {
+                       if ( $this->options[$param] !== null ) {
+                               $startupQuery[$param] = (string)$this->options[$param];
+                       }
+               }
                $chunks[] = $this->getLoad(
                        'startup',
                        ResourceLoaderModule::TYPE_SCRIPTS,
@@ -379,12 +401,12 @@ class ResourceLoaderClientHtml {
         * @param ResourceLoaderContext $mainContext
         * @param array $modules One or more module names
         * @param string $only ResourceLoaderModule TYPE_ class constant
-        * @param array $extraQuery Array with extra query parameters for the request
-        * @param string $nonce See OutputPage::getCSPNonce() [Since 1.32]
+        * @param array $extraQuery [optional] Array with extra query parameters for the request
+        * @param string $nonce [optional] Content-Security-Policy nonce (from OutputPage::getCSPNonce)
         * @return string|WrappedStringList HTML
         */
        public static function makeLoad( ResourceLoaderContext $mainContext, array $modules, $only,
-               array $extraQuery, $nonce
+               array $extraQuery = [], $nonce = null
        ) {
                $rl = $mainContext->getResourceLoader();
                $chunks = [];
index 6d1529b..a0a4e58 100644 (file)
@@ -139,7 +139,7 @@ abstract class ResourceLoaderModule implements LoggerAwareInterface {
         *
         * @return string JavaScript code
         */
-       protected function getDeprecationInformation() {
+       public function getDeprecationInformation() {
                $deprecationInfo = $this->deprecated;
                if ( $deprecationInfo ) {
                        $name = $this->getName();
@@ -318,9 +318,9 @@ abstract class ResourceLoaderModule implements LoggerAwareInterface {
        }
 
        /**
-        * Get the origin of this module. Should only be overridden for foreign modules.
+        * Get the source of this module. Should only be overridden for foreign modules.
         *
-        * @return string Origin name, 'local' for local modules
+        * @return string Source name, 'local' for local modules
         */
        public function getSource() {
                // Stub, override expected
index 2e3c6fc..0416c85 100644 (file)
  * the ability to vary based extra query parameters, in addition to those
  * from ResourceLoaderContext:
  *
- * - target: Only register modules in the client allowed within this target.
+ * - target: Only register modules in the client intended for this target.
  *   Default: "desktop".
  *   See also: OutputPage::setTarget(), ResourceLoaderModule::getTargets().
+ *
+ * - safemode: Only register modules that have ORIGIN_CORE as their origin.
+ *   This effectively disables ORIGIN_USER modules. (T185303)
+ *   See also: OutputPage::disallowUserJs()
  */
 class ResourceLoaderStartUpModule extends ResourceLoaderModule {
 
@@ -171,10 +175,10 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
         * Optimize the dependency tree in $this->modules.
         *
         * The optimization basically works like this:
-        *      Given we have module A with the dependencies B and C
-        *              and module B with the dependency C.
-        *      Now we don't have to tell the client to explicitly fetch module
-        *              C as that's already included in module B.
+        *      Given we have module A with the dependencies B and C
+        *              and module B with the dependency C.
+        *      Now we don't have to tell the client to explicitly fetch module
+        *              C as that's already included in module B.
         *
         * This way we can reasonably reduce the amount of module registration
         * data send to the client.
@@ -208,6 +212,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
                // Future developers: Use WebRequest::getRawVal() instead getVal().
                // The getVal() method performs slow Language+UTF logic. (f303bb9360)
                $target = $context->getRequest()->getRawVal( 'target', 'desktop' );
+               $safemode = $context->getRequest()->getRawVal( 'safemode' ) === '1';
                // Bypass target filter if this request is Special:JavaScriptTest.
                // To prevent misuse in production, this is only allowed if testing is enabled server-side.
                $byPassTargetFilter = $this->getConfig()->get( 'EnableJavaScriptTest' ) && $target === 'test';
@@ -220,7 +225,10 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
                foreach ( $resourceLoader->getModuleNames() as $name ) {
                        $module = $resourceLoader->getModule( $name );
                        $moduleTargets = $module->getTargets();
-                       if ( !$byPassTargetFilter && !in_array( $target, $moduleTargets ) ) {
+                       if (
+                               ( !$byPassTargetFilter && !in_array( $target, $moduleTargets ) )
+                               || ( $safemode && $module->getOrigin() > ResourceLoaderModule::ORIGIN_CORE_INDIVIDUAL )
+                       ) {
                                continue;
                        }
 
index e747373..026cea1 100644 (file)
@@ -77,12 +77,4 @@ class ResourceLoaderUserModule extends ResourceLoaderWikiModule {
        public function getGroup() {
                return 'user';
        }
-
-       /**
-        * @param ResourceLoaderContext|null $context
-        * @return array
-        */
-       public function getDependencies( ResourceLoaderContext $context = null ) {
-               return [ 'user.styles' ];
-       }
 }
index d9fa82d..8ae517e 100644 (file)
@@ -429,7 +429,7 @@ class Command {
                        }
 
                        // clear get_last_error without actually raising an error
-                       // from http://php.net/manual/en/function.error-get-last.php#113518
+                       // from https://secure.php.net/manual/en/function.error-get-last.php#113518
                        // TODO replace with clear_last_error when requirements are bumped to PHP7
                        set_error_handler( function () {
                        }, 0 );
index fdf4d52..b3cb806 100644 (file)
@@ -112,6 +112,7 @@ class SpecialPageFactory {
                'Listbots' => SpecialListBots::class,
                'Userrights' => UserrightsPage::class,
                'EditWatchlist' => SpecialEditWatchlist::class,
+               'PasswordPolicies' => SpecialPasswordPolicies::class,
 
                // Recent changes and logs
                'Newimages' => SpecialNewFiles::class,
index a68f08f..e3485ff 100644 (file)
@@ -82,7 +82,6 @@ class SpecialPageLanguage extends FormSpecialPage {
                // Building a language selector
                $userLang = $this->getLanguage()->getCode();
                $languages = Language::fetchLanguageNames( $userLang, 'mwfile' );
-               ksort( $languages );
                $options = [];
                foreach ( $languages as $code => $name ) {
                        $options["$code - $name"] = $code;
diff --git a/includes/specials/SpecialPasswordPolicies.php b/includes/specials/SpecialPasswordPolicies.php
new file mode 100644 (file)
index 0000000..415f973
--- /dev/null
@@ -0,0 +1,163 @@
+<?php
+/**
+ * Implements Special:PasswordPolicies
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup SpecialPage
+ */
+
+/**
+ * This special page lists the defined password policies for user groups.
+ * See also @ref $wgPasswordPolicy.
+ *
+ * @ingroup SpecialPage
+ * @since 1.32
+ */
+class SpecialPasswordPolicies extends SpecialPage {
+       public function __construct() {
+               parent::__construct( 'PasswordPolicies' );
+       }
+
+       /**
+        * Show the special page
+        * @param string|null $par
+        */
+       public function execute( $par ) {
+               $this->setHeaders();
+               $this->outputHeader();
+
+               $out = $this->getOutput();
+               $out->addModuleStyles( 'mediawiki.special' );
+
+               $this->addHelpLink( 'Help:Password policies' );
+
+               $out->addHTML(
+                       Xml::openElement( 'table', [ 'class' => 'wikitable mw-passwordpolicies-table' ] ) .
+                               '<tr>' .
+                               Xml::element( 'th', null, $this->msg( 'passwordpolicies-group' )->text() ) .
+                               Xml::element( 'th', null, $this->msg( 'passwordpolicies-policies' )->text() ) .
+                               '</tr>'
+               );
+
+               $config = $this->getConfig();
+               $policies = $config->get( 'PasswordPolicy' );
+
+               $groupPermissions = $config->get( 'GroupPermissions' );
+               $revokePermissions = $config->get( 'RevokePermissions' );
+               $addGroups = $config->get( 'AddGroups' );
+               $removeGroups = $config->get( 'RemoveGroups' );
+               $groupsAddToSelf = $config->get( 'GroupsAddToSelf' );
+               $groupsRemoveFromSelf = $config->get( 'GroupsRemoveFromSelf' );
+               $allGroups = array_unique( array_merge(
+                       array_keys( $groupPermissions ),
+                       array_keys( $revokePermissions ),
+                       array_keys( $addGroups ),
+                       array_keys( $removeGroups ),
+                       array_keys( $groupsAddToSelf ),
+                       array_keys( $groupsRemoveFromSelf )
+               ) );
+               asort( $allGroups );
+
+               $linkRenderer = $this->getLinkRenderer();
+
+               foreach ( $allGroups as $group ) {
+                       if ( $group == '*' ) {
+                               continue;
+                       }
+
+                       $groupnameLocalized = UserGroupMembership::getGroupName( $group );
+
+                       $grouppageLocalizedTitle = UserGroupMembership::getGroupPage( $group )
+                               ?: Title::newFromText( MWNamespace::getCanonicalName( NS_PROJECT ) . ':' . $group );
+
+                       $grouppage = $linkRenderer->makeLink(
+                               $grouppageLocalizedTitle,
+                               $groupnameLocalized
+                       );
+
+                       if ( $group === 'user' ) {
+                               // Link to Special:listusers for implicit group 'user'
+                               $grouplink = '<br />' . $linkRenderer->makeKnownLink(
+                                       SpecialPage::getTitleFor( 'Listusers' ),
+                                       $this->msg( 'listgrouprights-members' )->text()
+                               );
+                       } elseif ( !in_array( $group, $config->get( 'ImplicitGroups' ) ) ) {
+                               $grouplink = '<br />' . $linkRenderer->makeKnownLink(
+                                       SpecialPage::getTitleFor( 'Listusers' ),
+                                       $this->msg( 'listgrouprights-members' )->text(),
+                                       [],
+                                       [ 'group' => $group ]
+                               );
+                       } else {
+                               // No link to Special:listusers for other implicit groups as they are unlistable
+                               $grouplink = '';
+                       }
+
+                       $out->addHTML( Html::rawElement( 'tr', [ 'id' => Sanitizer::escapeIdForAttribute( $group ) ], "
+                               <td>$grouppage$grouplink</td>
+                               <td>" . $this->formatPolicies( $policies, $group ) . '</td>
+                               '
+                       ) );
+
+               }
+
+               $out->addHTML( Xml::closeElement( 'table' ) );
+       }
+
+       /**
+        * Create a HTML list of password policies for $group
+        *
+        * @param array $policies Original $wgPasswordPolicy array
+        * @param array $group Group to format password policies for
+        *
+        * @return string HTML list of all applied password policies
+        */
+       private function formatPolicies( $policies, $group ) {
+               $groupPolicies = UserPasswordPolicy::getPoliciesForGroups(
+                       $policies['policies'],
+                       [ $group ],
+                       $policies['policies']['default']
+               );
+
+               $ret = [];
+               foreach ( $groupPolicies as $gp => $val ) {
+                       if ( $val === false ) {
+                               // Policy isn't enabled, so no need to dislpay it
+                               continue;
+                       } elseif ( $val === true ) {
+                               $msg = $this->msg( 'passwordpolicies-policy-' . strtolower( $gp ) );
+                       } else {
+                               $msg = $this->msg( 'passwordpolicies-policy-' . strtolower( $gp ) )->numParams( $val );
+                       }
+                       $ret[] = $this->msg(
+                               'passwordpolicies-policy-display',
+                               $msg,
+                               '<span class="mw-passwordpolicies-policy-name">' . $gp . '</span>'
+                       )->parse();
+               }
+               if ( !count( $ret ) ) {
+                       return '';
+               } else {
+                       return '<ul><li>' . implode( "</li>\n<li>", $ret ) . '</li></ul>';
+               }
+       }
+
+       protected function getGroupName() {
+               return 'users';
+       }
+}
index 1cfcffa..7a4cde9 100644 (file)
@@ -73,6 +73,7 @@ class SpecialPreferences extends SpecialPage {
                if ( $this->oouiEnabled ) {
                        $out->addModules( 'mediawiki.special.preferences.ooui' );
                        $out->addModuleStyles( 'mediawiki.special.preferences.styles.ooui' );
+                       $out->addModuleStyles( 'oojs-ui-widgets.styles' );
                } else {
                        $out->addModules( 'mediawiki.special.preferences' );
                        $out->addModuleStyles( 'mediawiki.special.preferences.styles' );
@@ -118,9 +119,6 @@ class SpecialPreferences extends SpecialPage {
                                ];
                        }
                        $out->addJsConfigVars( 'wgPreferencesTabs', $prefTabs );
-
-                       // TODO: Render fake tabs here to avoid FOUC.
-                       // $out->addHTML( $fakeTabs );
                } else {
 
                        $prefTabs = '';
index 2f285c9..3ca3a85 100644 (file)
@@ -128,7 +128,7 @@ class SpecialPrefixindex extends SpecialAllPages {
                ];
                $context = new DerivativeContext( $this->getContext() );
                $context->setTitle( $this->getPageTitle() ); // Remove subpage
-               $htmlForm = new HTMLForm( $formDescriptor, $context );
+               $htmlForm = HTMLForm::factory( 'ooui', $formDescriptor, $context );
                $htmlForm
                        ->setMethod( 'get' )
                        ->setWrapperLegendMsg( 'prefixindex' )
index e503d92..3ee7cea 100644 (file)
@@ -41,7 +41,7 @@ class SpecialTrackingCategories extends SpecialPage {
                $this->outputHeader();
                $this->getOutput()->allowClickjacking();
                $this->getOutput()->addHTML(
-                       Html::openElement( 'table', [ 'class' => 'mw-datatable',
+                       Html::openElement( 'table', [ 'class' => 'mw-datatable sortable',
                                'id' => 'mw-trackingcategories-table' ] ) . "\n" .
                        "<thead><tr>
                        <th>" .
index 6590756..48728a3 100644 (file)
@@ -227,7 +227,7 @@ class SpecialVersion extends SpecialPage {
                $software = [];
                $software['[https://www.mediawiki.org/ MediaWiki]'] = self::getVersionLinked();
                if ( wfIsHHVM() ) {
-                       $software['[http://hhvm.com/ HHVM]'] = HHVM_VERSION . " (" . PHP_SAPI . ")";
+                       $software['[https://hhvm.com/ HHVM]'] = HHVM_VERSION . " (" . PHP_SAPI . ")";
                } else {
                        $software['[https://php.net/ PHP]'] = PHP_VERSION . " (" . PHP_SAPI . ")";
                }
index 3080fbf..5677ac8 100644 (file)
@@ -208,8 +208,16 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
                                        if ( $hidelinks || $hidetrans || $hideredirs || $hideimages ) {
                                                $out->addHTML( $this->getFilterPanel() );
                                        }
-                                       $errMsg = is_int( $namespace ) ? 'nolinkshere-ns' : 'nolinkshere';
-                                       $out->addWikiMsg( $errMsg, $this->target->getPrefixedText() );
+                                       $msgKey = is_int( $namespace ) ? 'nolinkshere-ns-2' : 'nolinkshere-2';
+                                       $link = $this->getLinkRenderer()->makeKnownLink(
+                                               $this->target,
+                                               null,
+                                               [],
+                                               $this->target->isRedirect() ? [ 'redirect' => 'no' ] : []
+                                       );
+
+                                       $errMsg = $this->msg( $msgKey )->rawParams( $link )->parseAsBlock();
+                                       $out->addHTML( $errMsg );
                                        $out->setStatusCode( 404 );
                                }
                        }
@@ -273,7 +281,16 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
                        if ( !$this->including() ) {
                                $out->addHTML( $this->whatlinkshereForm() );
                                $out->addHTML( $this->getFilterPanel() );
-                               $out->addWikiMsg( 'linkshere', $this->target->getPrefixedText() );
+
+                               $link = $this->getLinkRenderer()->makeKnownLink(
+                                       $this->target,
+                                       null,
+                                       [],
+                                       $this->target->isRedirect() ? [ 'redirect' => 'no' ] : []
+                               );
+
+                               $msg = $this->msg( 'linkshere-2' )->rawParams( $link )->parseAsBlock();
+                               $out->addHTML( $msg );
 
                                $prevnext = $this->getPrevNext( $prevId, $nextId );
                                $out->addHTML( $prevnext );
index a781254..3a5adbb 100644 (file)
@@ -114,12 +114,108 @@ class PreferencesFormOOUI extends OOUIHTMLForm implements PreferencesForm {
                return $data;
        }
 
+       protected function wrapFieldSetSection( $legend, $section, $attributes, $isRoot ) {
+               // to get a user visible effect, wrap the fieldset into a framed panel layout
+               if ( $isRoot ) {
+                       // Mimic TabPanelLayout
+                       $wrapper = new OOUI\PanelLayout( [
+                               'expanded' => false,
+                               'scrollable' => true,
+                               // Framed and padded for no-JS, frame hidden with CSS
+                               'framed' => true,
+                               'infusable' => false,
+                               'classes' => [ 'oo-ui-stackLayout oo-ui-indexLayout-stackLayout' ]
+                       ] );
+                       $layout = new OOUI\PanelLayout( [
+                               'expanded' => false,
+                               'scrollable' => true,
+                               'infusable' => false,
+                               'classes' => [ 'oo-ui-tabPanelLayout' ]
+                       ] );
+                       $wrapper->appendContent( $layout );
+               } else {
+                       $wrapper = $layout = new OOUI\PanelLayout( [
+                               'expanded' => false,
+                               'padded' => true,
+                               'framed' => true,
+                               'infusable' => false,
+                       ] );
+               }
+
+               $layout->appendContent(
+                       new OOUI\FieldsetLayout( [
+                               'label' => $legend,
+                               'infusable' => false,
+                               'items' => [
+                                       new OOUI\Widget( [
+                                               'content' => new OOUI\HtmlSnippet( $section )
+                                       ] ),
+                               ],
+                       ] + $attributes )
+               );
+               return $wrapper;
+       }
+
        /**
         * Get the whole body of the form.
         * @return string
         */
        function getBody() {
-               return $this->displaySection( $this->mFieldTree, '', 'mw-prefsection-' );
+               // Construct fake tabs to avoid FOUC. The structure mimics OOUI's tabPanelLayout.
+               // TODO: Consider creating an infusable TabPanelLayout in OOUI-PHP.
+               $fakeTabs = [];
+               foreach ( $this->getPreferenceSections() as $i => $key ) {
+                       $fakeTabs[] =
+                               Html::rawElement(
+                                       'div',
+                                       [
+                                               'class' =>
+                                                       'oo-ui-widget oo-ui-widget-enabled oo-ui-optionWidget '.
+                                                       'oo-ui-tabOptionWidget oo-ui-labelElement' .
+                                                       ( $i === 0 ? ' oo-ui-optionWidget-selected' : '' )
+                                       ],
+                                       Html::element(
+                                               'a',
+                                               [
+                                                       'class' => 'oo-ui-labelElement-label',
+                                                       // Make this a usable link instead of a span so the tabs
+                                                       // can be used before JS runs
+                                                       'href' => '#mw-prefsection-' . $key
+                                               ],
+                                               $this->getLegend( $key )
+                                       )
+                               );
+               }
+               $fakeTabsHtml = Html::rawElement(
+                       'div',
+                       [ 'class' => 'oo-ui-layout oo-ui-panelLayout oo-ui-indexLayout-tabPanel' ],
+                       Html::rawElement(
+                               'div',
+                               [ 'class' => 'oo-ui-widget oo-ui-widget-enabled oo-ui-selectWidget '.
+                                       'oo-ui-selectWidget-depressed oo-ui-tabSelectWidget' ],
+                               implode( $fakeTabs )
+                       )
+               );
+
+               return Html::rawElement(
+                       'div',
+                       [ 'class' => 'oo-ui-layout oo-ui-panelLayout oo-ui-panelLayout-framed mw-prefs-faketabs' ],
+                       Html::rawElement(
+                               'div',
+                               [ 'class' => 'oo-ui-layout oo-ui-menuLayout oo-ui-menuLayout-static ' .
+                                       'oo-ui-menuLayout-top oo-ui-menuLayout-showMenu oo-ui-indexLayout' ],
+                               Html::rawElement(
+                                       'div',
+                                       [ 'class' => 'oo-ui-menuLayout-menu' ],
+                                       $fakeTabsHtml
+                               ) .
+                               Html::rawElement(
+                                       'div',
+                                       [ 'class' => 'oo-ui-menuLayout-content' ],
+                                       $this->displaySection( $this->mFieldTree, '', 'mw-prefsection-' )
+                               )
+                       )
+               );
        }
 
        /**
index 09d4b5e..d17332f 100644 (file)
@@ -70,6 +70,7 @@ class UsersPager extends AlphabeticPager {
                        $this->requestedGroup = '';
                }
                $this->editsOnly = $request->getBool( 'editsOnly' );
+               $this->temporaryGroupsOnly = $request->getBool( 'temporaryGroupsOnly' );
                $this->creationSort = $request->getBool( 'creationSort' );
                $this->including = $including;
                $this->mDefaultDirection = $request->getBool( 'desc' )
@@ -110,9 +111,13 @@ class UsersPager extends AlphabeticPager {
 
                $options = [];
 
+               if ( $this->requestedGroup != '' || $this->temporaryGroupsOnly ) {
+                       $conds[] = 'ug_expiry >= ' . $dbr->addQuotes( $dbr->timestamp() ) .
+                       ( !$this->temporaryGroupsOnly ? ' OR ug_expiry IS NULL' : '' );
+               }
+
                if ( $this->requestedGroup != '' ) {
                        $conds['ug_group'] = $this->requestedGroup;
-                       $conds[] = 'ug_expiry IS NULL OR ug_expiry >= ' . $dbr->addQuotes( $dbr->timestamp() );
                }
 
                if ( $this->requestedUser != '' ) {
@@ -296,6 +301,13 @@ class UsersPager extends AlphabeticPager {
                                'id' => 'editsOnly',
                                'default' => $this->editsOnly
                        ],
+                       'temporaryGroupsOnly' => [
+                               'type' => 'check',
+                               'label' => $this->msg( 'listusers-temporarygroupsonly' )->text(),
+                               'name' => 'temporaryGroupsOnly',
+                               'id' => 'temporaryGroupsOnly',
+                               'default' => $this->temporaryGroupsOnly
+                       ],
                        'creationSort' => [
                                'type' => 'check',
                                'label' => $this->msg( 'listusers-creationsort' )->text(),
index 890a870..7c2d393 100644 (file)
@@ -275,10 +275,15 @@ class MediaWikiTitleCodec implements TitleFormatter, TitleParser {
                        'user_case_dbkey' => $dbkey,
                ];
 
-               # Strip Unicode bidi override characters.
+               # Strip soft hyphens (U+00AD) and Unicode directional formatting characters (U+061C, U+200E,
+               # U+200F, U+202A. U+202B, U+202C, U+202D, U+202E, U+2066, U+2067, U+2068, U+2069).
                # Sometimes they slip into cut-n-pasted page titles, where the
-               # override chars get included in list displays.
-               $dbkey = preg_replace( '/\xE2\x80[\x8E\x8F\xAA-\xAE]/S', '', $dbkey );
+               # soft hyphens or override chars get included in list displays.
+               $dbkey = preg_replace(
+                       '/\xC2\xAD|\xD8\x9C|\xE2\x80[\x8E\x8F\xAA-\xAE]|\xE2\x81[\xA6-\xA9]/S',
+                       '',
+                       $dbkey
+               );
 
                # Clean up whitespace
                # Note: use of the /u option on preg_replace here will cause
index 9da0370..89cdc5f 100644 (file)
@@ -230,9 +230,8 @@ class UserGroupMembership {
        public function isExpired() {
                if ( !$this->expiry ) {
                        return false;
-               } else {
-                       return wfTimestampNow() > $this->expiry;
                }
+               return wfTimestampNow() > $this->expiry;
        }
 
        /**
@@ -354,9 +353,8 @@ class UserGroupMembership {
                $ugm = self::newFromRow( $row );
                if ( !$ugm->isExpired() ) {
                        return $ugm;
-               } else {
-                       return false;
                }
+               return false;
        }
 
        /**
@@ -419,9 +417,8 @@ class UserGroupMembership {
                        }
                        return $context->msg( 'group-membership-link-with-expiry' )
                                ->params( $groupLink, $expiryDT, $expiryD, $expiryT )->text();
-               } else {
-                       return $groupLink;
                }
+               return $groupLink;
        }
 
        /**
index 1c8d486..d0fe6cc 100644 (file)
@@ -67,7 +67,7 @@ class MWCryptHKDF {
         * @param string $ikm The input keying material
         * @param string $salt The salt to add to the ikm, to get the prk
         * @param string $info Optional context (change the output without affecting
-        *      the randomness properties of the output)
+        *      the randomness properties of the output)
         * @param int $L Number of bytes to return
         * @return string Cryptographically secure pseudorandom binary string
         */
index 18d514f..e61303d 100644 (file)
@@ -14,8 +14,6 @@
                "resources/src/jquery.tipsy",
                "resources/src/jquery/jquery.color.js",
                "resources/src/jquery/jquery.expandableField.js",
-               "resources/src/jquery/jquery.farbtastic.css",
-               "resources/src/jquery/jquery.farbtastic.js",
                "resources/src/jquery/jquery.highlightText.js",
                "resources/src/jquery/jquery.mw-jump.js",
                "resources/src/mediawiki.legacy",
index d750f7d..be0c037 100644 (file)
@@ -273,7 +273,7 @@ class Language {
         * language, script or variant codes actually exist in the repositories.
         *
         * Based on regexes by Mark Davis of the Unicode Consortium:
-        * http://unicode.org/repos/cldr/trunk/tools/java/org/unicode/cldr/util/data/langtagRegex.txt
+        * https://www.unicode.org/repos/cldr/trunk/tools/java/org/unicode/cldr/util/data/langtagRegex.txt
         *
         * @param string $code
         * @param bool $lenient Whether to allow '_' as separator. The default is only '-'.
@@ -792,12 +792,12 @@ class Language {
        /**
         * Get an array of language names, indexed by code.
         * @param null|string $inLanguage Code of language in which to return the names
-        *              Use null for autonyms (native names)
+        *              Use null for autonyms (native names)
         * @param string $include One of:
-        *              'all' all available languages
-        *              'mw' only if the language is defined in MediaWiki or wgExtraLanguageNames (default)
-        *              'mwfile' only if the language is in 'mw' *and* has a message file
-        * @return array Language code => language name
+        *              'all' all available languages
+        *              'mw' only if the language is defined in MediaWiki or wgExtraLanguageNames (default)
+        *              'mwfile' only if the language is in 'mw' *and* has a message file
+        * @return array Language code => language name (sorted by key)
         * @since 1.20
         */
        public static function fetchLanguageNames( $inLanguage = null, $include = 'mw' ) {
@@ -823,7 +823,7 @@ class Language {
         *              'all' all available languages
         *              'mw' only if the language is defined in MediaWiki or wgExtraLanguageNames (default)
         *              'mwfile' only if the language is in 'mw' *and* has a message file
-        * @return array Language code => language name
+        * @return array Language code => language name (sorted by key)
         */
        private static function fetchLanguageNamesUncached( $inLanguage = null, $include = 'mw' ) {
                global $wgExtraLanguageNames, $wgUsePigLatinVariant;
@@ -1951,8 +1951,8 @@ class Language {
         * Gets directionality of the first strongly directional codepoint, for embedBidi()
         *
         * This is the rule the BIDI algorithm uses to determine the directionality of
-        * paragraphs ( http://unicode.org/reports/tr9/#The_Paragraph_Level ) and
-        * FSI isolates ( http://unicode.org/reports/tr9/#Explicit_Directional_Isolates ).
+        * paragraphs ( https://www.unicode.org/reports/tr9/#The_Paragraph_Level ) and
+        * FSI isolates ( https://www.unicode.org/reports/tr9/#Explicit_Directional_Isolates ).
         *
         * TODO: Does not handle BIDI control characters inside the text.
         * TODO: Does not handle unallocated characters.
@@ -3485,7 +3485,7 @@ class Language {
         * @param int $length Maximum length (including ellipsis)
         * @param string $ellipsis String to append to the truncated text
         * @param bool $adjustLength Subtract length of ellipsis from $length.
-        *      $adjustLength was introduced in 1.18, before that behaved as if false.
+        *      $adjustLength was introduced in 1.18, before that behaved as if false.
         * @return string
         */
        function truncate( $string, $length, $ellipsis = '...', $adjustLength = true ) {
index f611358..d11838a 100644 (file)
@@ -967,11 +967,11 @@ class LanguageConverter {
         * Parse the conversion table stored in the cache.
         *
         * The tables should be in blocks of the following form:
-        *              -{
-        *                      word => word ;
-        *                      word => word ;
-        *                      ...
-        *              }-
+        *              -{
+        *                      word => word ;
+        *                      word => word ;
+        *                      ...
+        *              }-
         *
         * To make the tables more manageable, subpages are allowed
         * and will be parsed recursively if $recursive == true.
index 1698b9f..e652a52 100644 (file)
@@ -189,7 +189,7 @@ class CrhConverter extends LanguageConverter {
 
        /**
         *  It translates text into variant, specials:
-        *    - ommiting roman numbers
+        *    - omitting roman numbers
         *
         * @param string $text
         * @param bool $toVariant
index 0185a03..2269009 100644 (file)
@@ -52,28 +52,28 @@ class LanguageKsh extends Language {
         * Word order is irrelevant.
         *
         * Possible values specifying the grammatical case are:
-        *      1, Nominative
-        *      2, Genitive
-        *      3, Dative
-        *      4, Accusative, -omitted-
+        *      1, Nominative
+        *      2, Genitive
+        *      3, Dative
+        *      4, Accusative, -omitted-
         *
         * Possible values specifying the article type are:
-        *      Betoont               focussed or stressed article
-        *      -omitted-             unstressed or unfocussed article
+        *      Betoont               focussed or stressed article
+        *      -omitted-             unstressed or unfocussed article
         *
         * Possible values for the type of genitive are:
-        *      Sing, Iehr            prepositioned genitive = possessive dative
-        *      Vun, Fon, -omitted-   postpositioned genitive = preposition "vun" with dative
+        *      Sing, Iehr            prepositioned genitive = possessive dative
+        *      Vun, Fon, -omitted-   postpositioned genitive = preposition "vun" with dative
         *
         * Values of case overrides & prepositions, in the order of preceedence:
-        *      Sing, Iehr            possessive dative = prepositioned genitive
-        *      Vun, Fon              preposition "vun" with dative = postpositioned genitive
-        *      En, em                preposition "en" with dative
+        *      Sing, Iehr            possessive dative = prepositioned genitive
+        *      Vun, Fon              preposition "vun" with dative = postpositioned genitive
+        *      En, em                preposition "en" with dative
         *
         * Values for object gender specifiers of the possessive dative, or
         * prepositioned genitive, evaluated with "Sing, Iehr" of above only:
-        *      Male                  a singular male object follows
-        *      -omitted-             a non-male or plural object follows
+        *      Male                  a singular male object follows
+        *      -omitted-             a non-male or plural object follows
         *
         * We currently handle definite articles of the singular only.
         * There is a full set of test cases at:
index e3bb156..c759220 100644 (file)
@@ -13,6 +13,8 @@ use CrhConverter as Crh;
 
 class CrhExceptions {
 
+       const WB = '\b'; # default word boundary; may be updated in the future
+
        function __construct() {
                $this->loadRegs();
        }
@@ -102,9 +104,9 @@ class CrhExceptions {
 
                # load C2L and L2C bidirectional affix mappings
                $this->addMappings( $this->prefixMapping,
-                       $this->Cyrl2LatnPatterns, $this->Latn2CyrlPatterns, false, '/\b', '/u' );
+                       $this->Cyrl2LatnPatterns, $this->Latn2CyrlPatterns, false, '/'.self::WB, '/u' );
                $this->addMappings( $this->suffixMapping,
-                       $this->Cyrl2LatnPatterns, $this->Latn2CyrlPatterns, false, '/', '\b/u' );
+                       $this->Cyrl2LatnPatterns, $this->Latn2CyrlPatterns, false, '/', self::WB.'/u' );
 
                # tack on one-way mappings to the ends of the prefix and suffix patterns
                $this->Cyrl2LatnPatterns += $this->Cyrl2LatnRegexes;
@@ -124,6 +126,7 @@ class CrhExceptions {
                'beyude' => 'бейуде', 'beyüde' => 'бейуде',
                'curat' => 'джурьат', 'cürat' => 'джурьат',
                'mesul' => 'месуль', 'mesül' => 'месуль',
+               'yetsin' => 'етсин', 'etsin' => 'етсин',
        ];
 
        # map Cyrillic to Latin and back, simple string match only (no regex)
@@ -211,7 +214,6 @@ class CrhExceptions {
                'оригинал' => 'original', 'оригиналь' => 'original',
                'пускю' => 'püskü', 'пуськю' => 'püskü',
                'къарагоз' => 'qaragöz', 'къарагозь' => 'qaragöz',
-               'етсин' => 'yetsin', 'етсин' => 'etsin',
 
                #### Latin to Cyrillic (deduped from above)
 
@@ -284,7 +286,13 @@ class CrhExceptions {
                'доцент' => 'dotsent', 'фармацевт' => 'farmatsevt', 'глицер' => 'glitser',
                'люцерна' => 'lütserna', 'лицей' => 'litsey', 'меццо' => 'metstso', 'наци' => 'natsi',
                'проце' => 'protse', 'рецеп' => 'retsep', 'реценз' => 'retsenz', 'теплица' => 'teplitsa',
-               'вице' => 'vitse', 'швейцар' => 'şveytsar',
+               'вице' => 'vitse', 'швейцар' => 'şveytsar', 'богородиц' => 'bogorodits',
+               'бруцел' => 'brutsel', 'дацюк' => 'datsük', 'доницетти' => 'donitsetti',
+               'драцена' => 'dratsena', 'контрацеп' => 'kontratsep', 'коцюб' => 'kotsüb',
+               'меценат' => 'metsenat', 'мицел' => 'mitsel', 'моцарт' => 'motsart', 'плац' => 'plats',
+               'плацен' => 'platsen', 'прецедент' => 'pretsedent', 'прецес' => 'pretses',
+               'прицеп' => 'pritsep', 'спец' => 'spets', 'троиц' => 'troits', 'шприц' => 'şprits',
+               'эпицентр' => 'epitsentr', 'яценюк' => 'yatsenük',
 
                # слова с тс
                # words with тс
@@ -403,76 +411,76 @@ class CrhExceptions {
                        // TODO: refactor upper/lower/first capital whole words without
                        // regexes into simpler list
 
-                       '/\bКъЮШ\b/u' => 'QYŞ',
-                       '/\bЮШ\b/u' => 'YŞ',
-
-                       '/\bкок\b/u' => 'kök',
-                       '/\bКок\b/u' => 'Kök',
-                       '/\bКОК\b/u' => 'KÖK',
-                       '/\bком-кок\b/u' => 'köm-kök',
-                       '/\bКом-кок\b/u' => 'Köm-kök',
-                       '/\bКОМ-КОК\b/u' => 'KÖM-KÖK',
-
-                       '/\bкоп\b/u' => 'köp',
-                       '/\bКоп\b/u' => 'Köp',
-                       '/\bКОП\b/u' => 'KÖP',
-
-                       '/\bкурк\b/u' => 'kürk',
-                       '/\bКурк\b/u' => 'Kürk',
-                       '/\bКУРК\b/u' => 'KÜRK',
-
-                       '/\bог\b/u' => 'ög',
-                       '/\bОг\b/u' => 'Ög',
-                       '/\bОГ\b/u' => 'ÖG',
-
-                       '/\bюрип\b/u' => 'yürip',
-                       '/\bЮрип\b/u' => 'Yürip',
-                       '/\bЮРИП\b/u' => 'YÜRİP',
-
-                       '/\bюз\b/u' => 'yüz',
-                       '/\bЮз\b/u' => 'Yüz',
-                       '/\bЮЗ\b/u' => 'YÜZ',
-
-                       '/\bюк\b/u' => 'yük',
-                       '/\bЮк\b/u' => 'Yük',
-                       '/\bЮК\b/u' => 'YÜK',
-
-                       '/\bбуюп\b/u' => 'büyüp',
-                       '/\bБуюп\b/u' => 'Büyüp',
-                       '/\bБУЮП\b/u' => 'BÜYÜP',
-
-                       '/\bбуюк\b/u' => 'büyük',
-                       '/\bБуюк\b/u' => 'Büyük',
-                       '/\bБУЮК\b/u' => 'BÜYÜK',
-
-                       '/\bджонк\b/u' => 'cönk',
-                       '/\bДжонк\b/u' => 'Cönk',
-                       '/\bДЖОНК\b/u' => 'CÖNK',
-                       '/\bджонкю\b/u' => 'cönkü',
-                       '/\bДжонкю\b/u' => 'Cönkü',
-                       '/\bДЖОНКЮ\b/u' => 'CÖNKÜ',
-
-                       '/\bустке\b/u' => 'üstke',
-                       '/\bУстке\b/u' => 'Üstke',
-                       '/\bУСТКЕ\b/u' => 'ÜSTKE',
-                       '/\bустте\b/u' => 'üstte',
-                       '/\bУстте\b/u' => 'Üstte',
-                       '/\bУСТТЕ\b/u' => 'ÜSTTE',
-                       '/\bусттен\b/u' => 'üstten',
-                       '/\bУсттен\b/u' => 'Üstten',
-                       '/\bУСТТЕН\b/u' => 'ÜSTTEN',
+                       '/'.self::WB.'КъЮШ'.self::WB.'/u' => 'QYŞ',
+                       '/'.self::WB.'ЮШ'.self::WB.'/u' => 'YŞ',
+
+                       '/'.self::WB.'кок'.self::WB.'/u' => 'kök',
+                       '/'.self::WB.'Кок'.self::WB.'/u' => 'Kök',
+                       '/'.self::WB.'КОК'.self::WB.'/u' => 'KÖK',
+                       '/'.self::WB.'ком-кок'.self::WB.'/u' => 'köm-kök',
+                       '/'.self::WB.'Ком-кок'.self::WB.'/u' => 'Köm-kök',
+                       '/'.self::WB.'КОМ-КОК'.self::WB.'/u' => 'KÖM-KÖK',
+
+                       '/'.self::WB.'коп'.self::WB.'/u' => 'köp',
+                       '/'.self::WB.'Коп'.self::WB.'/u' => 'Köp',
+                       '/'.self::WB.'КОП'.self::WB.'/u' => 'KÖP',
+
+                       '/'.self::WB.'курк'.self::WB.'/u' => 'kürk',
+                       '/'.self::WB.'Курк'.self::WB.'/u' => 'Kürk',
+                       '/'.self::WB.'КУРК'.self::WB.'/u' => 'KÜRK',
+
+                       '/'.self::WB.'ог'.self::WB.'/u' => 'ög',
+                       '/'.self::WB.'Ог'.self::WB.'/u' => 'Ög',
+                       '/'.self::WB.'ОГ'.self::WB.'/u' => 'ÖG',
+
+                       '/'.self::WB.'юрип'.self::WB.'/u' => 'yürip',
+                       '/'.self::WB.'Юрип'.self::WB.'/u' => 'Yürip',
+                       '/'.self::WB.'ЮРИП'.self::WB.'/u' => 'YÜRİP',
+
+                       '/'.self::WB.'юз'.self::WB.'/u' => 'yüz',
+                       '/'.self::WB.'Юз'.self::WB.'/u' => 'Yüz',
+                       '/'.self::WB.'ЮЗ'.self::WB.'/u' => 'YÜZ',
+
+                       '/'.self::WB.'юк'.self::WB.'/u' => 'yük',
+                       '/'.self::WB.'Юк'.self::WB.'/u' => 'Yük',
+                       '/'.self::WB.'ЮК'.self::WB.'/u' => 'YÜK',
+
+                       '/'.self::WB.'буюп'.self::WB.'/u' => 'büyüp',
+                       '/'.self::WB.'Буюп'.self::WB.'/u' => 'Büyüp',
+                       '/'.self::WB.'БУЮП'.self::WB.'/u' => 'BÜYÜP',
+
+                       '/'.self::WB.'буюк'.self::WB.'/u' => 'büyük',
+                       '/'.self::WB.'Буюк'.self::WB.'/u' => 'Büyük',
+                       '/'.self::WB.'БУЮК'.self::WB.'/u' => 'BÜYÜK',
+
+                       '/'.self::WB.'джонк'.self::WB.'/u' => 'cönk',
+                       '/'.self::WB.'Джонк'.self::WB.'/u' => 'Cönk',
+                       '/'.self::WB.'ДЖОНК'.self::WB.'/u' => 'CÖNK',
+                       '/'.self::WB.'джонкю'.self::WB.'/u' => 'cönkü',
+                       '/'.self::WB.'Джонкю'.self::WB.'/u' => 'Cönkü',
+                       '/'.self::WB.'ДЖОНКЮ'.self::WB.'/u' => 'CÖNKÜ',
+
+                       '/'.self::WB.'устке'.self::WB.'/u' => 'üstke',
+                       '/'.self::WB.'Устке'.self::WB.'/u' => 'Üstke',
+                       '/'.self::WB.'УСТКЕ'.self::WB.'/u' => 'ÜSTKE',
+                       '/'.self::WB.'устте'.self::WB.'/u' => 'üstte',
+                       '/'.self::WB.'Устте'.self::WB.'/u' => 'Üstte',
+                       '/'.self::WB.'УСТТЕ'.self::WB.'/u' => 'ÜSTTE',
+                       '/'.self::WB.'усттен'.self::WB.'/u' => 'üstten',
+                       '/'.self::WB.'Усттен'.self::WB.'/u' => 'Üstten',
+                       '/'.self::WB.'УСТТЕН'.self::WB.'/u' => 'ÜSTTEN',
 
                        # отдельно стоящие Ё и Я
                        # stand-alone Ё and Я
-                       '/\bЯ\b/u' => 'Ya',
-                       '/\bЁ\b/u' => 'Yo',
+                       '/'.self::WB.'Я'.self::WB.'/u' => 'Ya',
+                       '/'.self::WB.'Ё'.self::WB.'/u' => 'Yo',
 
                        ############################
                        # относятся к началу слова #
                        # word prefixes            #
                        ############################
-                       '/\bКъЮШн/u' => 'QYŞn',
-                       '/\bЮШн/u' => 'YŞn',
+                       '/'.self::WB.'КъЮШн/u' => 'QYŞn',
+                       '/'.self::WB.'ЮШн/u' => 'YŞn',
 
                        # need to convert digraphs (гъ, къ, нъ, дж) now to match patterns
                        '/гъ/u' => 'ğ',
@@ -485,58 +493,63 @@ class CrhExceptions {
                        '/Д[жЖ]/u' => 'C',
 
                        # о => ö
-                       '/\b(['.Crh::C_M_CONS.'])о(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьü])/u' => '$1ö$2$3$4',
-                       '/\bо(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьü])/u' => 'ö$1$2$3',
-                       '/\b(['.Crh::C_M_CONS.'])О(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьüЕИЭЮЬÜ])/u' =>
-                               '$1Ö$2$3$4',
-                       '/\bО(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьüЕИЭЮЬÜ])/u' => 'Ö$1$2$3',
-
-                       '/\b(['.Crh::C_M_CONS.'])о(['.Crh::C_CONS.'])([еиэюьü])/u' => '$1ö$2$3',
-                       '/\bо(['.Crh::C_CONS.'])([еиэюьü])/u' => 'ö$1$2',
-                       '/\b(['.Crh::C_M_CONS.'])О(['.Crh::C_CONS.'])([еиэюьüЕИЭЮЬÜ])/u' => '$1Ö$2$3',
-                       '/\bО(['.Crh::C_CONS.'])([еиэюьüЕИЭЮЬÜ])/u' => 'Ö$1$2',
+                       '/'.self::WB.'(['.Crh::C_M_CONS.'])о(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьü])/u'
+                               => '$1ö$2$3$4',
+                       '/'.self::WB.'о(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьü])/u' => 'ö$1$2$3',
+                       '/'.self::WB.'(['.Crh::C_M_CONS.'])О(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьüЕИЭЮЬÜ])/u'
+                               => '$1Ö$2$3$4',
+                       '/'.self::WB.'О(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьüЕИЭЮЬÜ])/u' => 'Ö$1$2$3',
+
+                       '/'.self::WB.'(['.Crh::C_M_CONS.'])о(['.Crh::C_CONS.'])([еиэюьü])/u' => '$1ö$2$3',
+                       '/'.self::WB.'о(['.Crh::C_CONS.'])([еиэюьü])/u' => 'ö$1$2',
+                       '/'.self::WB.'(['.Crh::C_M_CONS.'])О(['.Crh::C_CONS.'])([еиэюьüЕИЭЮЬÜ])/u' => '$1Ö$2$3',
+                       '/'.self::WB.'О(['.Crh::C_CONS.'])([еиэюьüЕИЭЮЬÜ])/u' => 'Ö$1$2',
 
                        # ё => yö
-                       '/\bё(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([ьеюü])/u' => 'yö$1$2$3',
-                       '/\bЁ(['.Crh::C_CONS_LC.'])(['.Crh::C_CONS_LC.'])([ьеюü])/u' => 'Yö$1$2$3',
-                       '/\bЁ(['.Crh::C_CONS_UC.'])(['.Crh::C_CONS_UC.'])([ЬЕЮÜ])/u' => 'YÖ$1$2$3',
-                       '/\bё(['.Crh::C_CONS.'])([ьеюü])/u' => 'yö$1$2',
-                       '/\bЁ(['.Crh::C_CONS_LC.'])([ьеюü])/u' => 'Yö$1$2',
-                       '/\bЁ(['.Crh::C_CONS_UC.'])([ЬЕЮÜ])/u' => 'YÖ$1$2',
+                       '/'.self::WB.'ё(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([ьеюü])/u' => 'yö$1$2$3',
+                       '/'.self::WB.'Ё(['.Crh::C_CONS_LC.'])(['.Crh::C_CONS_LC.'])([ьеюü])/u' => 'Yö$1$2$3',
+                       '/'.self::WB.'Ё(['.Crh::C_CONS_UC.'])(['.Crh::C_CONS_UC.'])([ЬЕЮÜ])/u' => 'YÖ$1$2$3',
+                       '/'.self::WB.'ё(['.Crh::C_CONS.'])([ьеюü])/u' => 'yö$1$2',
+                       '/'.self::WB.'Ё(['.Crh::C_CONS_LC.'])([ьеюü])/u' => 'Yö$1$2',
+                       '/'.self::WB.'Ё(['.Crh::C_CONS_UC.'])([ЬЕЮÜ])/u' => 'YÖ$1$2',
 
                        # у => ü, ую => üyü
-                       '/\b(['.Crh::C_M_CONS.'])у(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьü])/u' => '$1ü$2$3$4',
-                       '/\bу(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьü])/u' => 'ü$1$2$3',
-                       '/\bую(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьü])/u' => 'üyü$1$2$3',
-                       '/\b(['.Crh::C_M_CONS.'])У(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьüЕИЭЮЬÜ])/u' =>
-                               '$1Ü$2$3$4',
-                       '/\bУ(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьüЕИЭЮЬÜ])/u' => 'Ü$1$2$3',
-                       '/\bУю(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьü])/u' => 'Üyü$1$2$2',
-                       '/\bУЮ(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьü])/u' => 'ÜYÜ$1$2$3',
-
-                       '/\b(['.Crh::C_M_CONS.'])у(['.Crh::C_CONS.'])([еиэюьü])/u' => '$1ü$2$3',
-                       '/\bу(['.Crh::C_CONS.'])([еиэюьü])/u' => 'ü$1$2',
-                       '/\bую(['.Crh::C_CONS.'])([еиэюьü])/u' => 'üyü$1$2',
-                       '/\b(['.Crh::C_M_CONS.'])У(['.Crh::C_CONS.'])([еиэюьüЕИЭЮЬÜ])/u' => '$1Ü$2$3',
-                       '/\bУ(['.Crh::C_CONS.'])([еиэюьüЕИЭЮЬÜ])/u' => 'Ü$1$2',
-                       '/\bУю(['.Crh::C_CONS.'])([еиэюьü])/u' => 'Üyü$1$2',
-                       '/\bУЮ(['.Crh::C_CONS.'])([еиэюьü])/u' => 'ÜYÜ$1$2',
+                       '/'.self::WB.'(['.Crh::C_M_CONS.'])у(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьü])/u'
+                               => '$1ü$2$3$4',
+                       '/'.self::WB.'у(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьü])/u' => 'ü$1$2$3',
+                       '/'.self::WB.'ую(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьü])/u' => 'üyü$1$2$3',
+                       '/'.self::WB.'(['.Crh::C_M_CONS.'])У(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьüЕИЭЮЬÜ])/u'
+                               => '$1Ü$2$3$4',
+                       '/'.self::WB.'У(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьüЕИЭЮЬÜ])/u' => 'Ü$1$2$3',
+                       '/'.self::WB.'Ую(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьü])/u' => 'Üyü$1$2$3',
+                       '/'.self::WB.'УЮ(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([еиэюьü])/u' => 'ÜYÜ$1$2$3',
+
+                       '/'.self::WB.'(['.Crh::C_M_CONS.'])у(['.Crh::C_CONS.'])([еиэюьü])/u' => '$1ü$2$3',
+                       '/'.self::WB.'у(['.Crh::C_CONS.'])([еиэюьü])/u' => 'ü$1$2',
+                       '/'.self::WB.'ую(['.Crh::C_CONS.'])([еиэюьü])/u' => 'üyü$1$2',
+                       '/'.self::WB.'(['.Crh::C_M_CONS.'])У(['.Crh::C_CONS.'])([еиэюьüЕИЭЮЬÜ])/u' => '$1Ü$2$3',
+                       '/'.self::WB.'У(['.Crh::C_CONS.'])([еиэюьüЕИЭЮЬÜ])/u' => 'Ü$1$2',
+                       '/'.self::WB.'Ую(['.Crh::C_CONS.'])([еиэюьü])/u' => 'Üyü$1$2',
+                       '/'.self::WB.'УЮ(['.Crh::C_CONS.'])([еиэюьü])/u' => 'ÜYÜ$1$2',
 
                        # ю => yü
-                       '/\b([аыоуеиёюАЫОУЕИЁЮ]?)ю(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([ьеюü])/u' => '$1yü$2$3$4',
-                       '/\b([АЫОУЕИЁЮ]?)Ю(['.Crh::C_CONS_LC.'])(['.Crh::C_CONS_LC.'])([ьеюü])/u' => '$1Yü$2$3$4',
-                       '/\b([АЫОУЕИЁЮ]?)Ю(['.Crh::C_CONS_UC.'])(['.Crh::C_CONS_UC.'])([ЬЕЮÜ])/u' => '$1YÜ$2$3$4',
-                       '/\b([аыоуеиёюАЫОУЕИЁЮ]?)ю(['.Crh::C_CONS.'])([ьеюü])/u' => '$1yü$2$3',
-                       '/\b([АЫОУЕИЁЮ]?)Ю(['.Crh::C_CONS_LC.'])([ьеюü])/u' => '$1Yü$2$3',
-                       '/\b([АЫОУЕИЁЮ]?)Ю(['.Crh::C_CONS_UC.'])([ЬЕЮÜ])/u' => '$1YÜ$2$3',
+                       '/'.self::WB.'([аыоуеиёюАЫОУЕИЁЮ]?)ю(['.Crh::C_CONS.'])(['.Crh::C_CONS.'])([ьеюü])/u'
+                               => '$1yü$2$3$4',
+                       '/'.self::WB.'([АЫОУЕИЁЮ]?)Ю(['.Crh::C_CONS_LC.'])(['.Crh::C_CONS_LC.'])([ьеюü])/u'
+                               => '$1Yü$2$3$4',
+                       '/'.self::WB.'([АЫОУЕИЁЮ]?)Ю(['.Crh::C_CONS_UC.'])(['.Crh::C_CONS_UC.'])([ЬЕЮÜ])/u'
+                               => '$1YÜ$2$3$4',
+                       '/'.self::WB.'([аыоуеиёюАЫОУЕИЁЮ]?)ю(['.Crh::C_CONS.'])([ьеюü])/u' => '$1yü$2$3',
+                       '/'.self::WB.'([АЫОУЕИЁЮ]?)Ю(['.Crh::C_CONS_LC.'])([ьеюü])/u' => '$1Yü$2$3',
+                       '/'.self::WB.'([АЫОУЕИЁЮ]?)Ю(['.Crh::C_CONS_UC.'])([ЬЕЮÜ])/u' => '$1YÜ$2$3',
 
                        # e => ye, я => ya
-                       '/\bе/u' => 'ye',
-                       '/\bЕ(['.Crh::C_LC.'cğñqöü])/u' => 'Ye$1',
-                       '/\bЕ(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'YE$1',
-                       '/\bя/u' => 'ya',
-                       '/\bЯ(['.Crh::C_LC.'cğñqöü])/u' => 'Ya$1',
-                       '/\bЯ(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'YA$1',
+                       '/'.self::WB.'е/u' => 'ye',
+                       '/'.self::WB.'Е(['.Crh::C_LC.'cğñqöü])/u' => 'Ye$1',
+                       '/'.self::WB.'Е(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'YE$1',
+                       '/'.self::WB.'я/u' => 'ya',
+                       '/'.self::WB.'Я(['.Crh::C_LC.'cğñqöü])/u' => 'Ya$1',
+                       '/'.self::WB.'Я(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'YA$1',
                        '/([аеёиоуыэюяйьъaeöüАЕЁИОУЫЭЮЯЙЬЪAEÖÜ])е/u' => '$1ye',
                        '/([аеёиоуыэюяйьъaeöüАЕЁИОУЫЭЮЯЙЬЪAEÖÜ])Е(['.Crh::C_LC.'cğñqöü])/u' => '$1Ye$2',
                        '/([аеёиоуыэюяйьъaeöüАЕЁИОУЫЭЮЯЙЬЪAEÖÜ])Е(['.Crh::C_UC.'CĞÑQÖÜ])/u' => '$1YE$2',
@@ -567,12 +580,12 @@ class CrhExceptions {
 
                        # остальные вхождения о, у, ё, ю
                        # other occurences of о, у, ё, ю
-                       '/Ё(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'YO$2',
-                       '/Ю(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'YU$2',
+                       '/Ё(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'YO$1',
+                       '/Ю(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'YU$1',
 
                        # Ц & Щ
-                       '/Ц(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'TS$2',
-                       '/Щ(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'ŞÇ$2',
+                       '/Ц(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'TS$1',
+                       '/Щ(['.Crh::C_UC.'CĞÑQÖÜ])/u' => 'ŞÇ$1',
                ];
 
                $this->Latn2CyrlRegexes = [
@@ -580,97 +593,103 @@ class CrhExceptions {
                        // TODO: refactor upper/lower/first capital whole words without
                        // regexes into simpler list
 
-                       '/\ban\b/u' => 'ань',
-                       '/\bAn\b/u' => 'Ань',
-                       '/\bAN\b/u' => 'АНЬ',
-                       '/\bange\b/u' => 'аньге',
-                       '/\bAnge\b/u' => 'Аньге',
-                       '/\bANGE\b/u' => 'АНЬГЕ',
-                       '/\bande\b/u' => 'аньде',
-                       '/\bAnde\b/u' => 'Аньде',
-                       '/\bANDE\b/u' => 'АНЬДЕ',
-                       '/\banki\b/u' => 'аньки',
-                       '/\bAnki\b/u' => 'Аньки',
-                       '/\bANKİ\b/u' => 'АНЬКИ',
-                       '/\bderal\b/u' => 'деръал',
-                       '/\bDeral\b/u' => 'Деръал',
-                       '/\bDERAL\b/u' => 'ДЕРЪАЛ',
-                       '/\bkör\b/u' => 'кёр',
-                       '/\bKör\b/u' => 'Кёр',
-                       '/\bKÖR\b/u' => 'КЁР',
-                       '/\bmer\b/u' => 'мэр',
-                       '/\bMer\b/u' => 'Мэр',
-                       '/\bMER\b/u' => 'МЭР',
-
-                       '/\bджонк/u' => 'cönk',
-                       '/\bДжонк/u' => 'Cönk',
-                       '/\bДЖОНК/u' => 'CÖNK',
-
-                       '/\bкуркчи/u' => 'kürkçi',
-                       '/\bКуркчи/u' => 'Kürkçi',
-                       '/\bКУРКЧИ/u' => 'KÜRKÇI',
+                       '/'.self::WB.'an'.self::WB.'/u' => 'ань',
+                       '/'.self::WB.'An'.self::WB.'/u' => 'Ань',
+                       '/'.self::WB.'AN'.self::WB.'/u' => 'АНЬ',
+                       '/'.self::WB.'ange'.self::WB.'/u' => 'аньге',
+                       '/'.self::WB.'Ange'.self::WB.'/u' => 'Аньге',
+                       '/'.self::WB.'ANGE'.self::WB.'/u' => 'АНЬГЕ',
+                       '/'.self::WB.'ande'.self::WB.'/u' => 'аньде',
+                       '/'.self::WB.'Ande'.self::WB.'/u' => 'Аньде',
+                       '/'.self::WB.'ANDE'.self::WB.'/u' => 'АНЬДЕ',
+                       '/'.self::WB.'anki'.self::WB.'/u' => 'аньки',
+                       '/'.self::WB.'Anki'.self::WB.'/u' => 'Аньки',
+                       '/'.self::WB.'ANKİ'.self::WB.'/u' => 'АНЬКИ',
+                       '/'.self::WB.'deral'.self::WB.'/u' => 'деръал',
+                       '/'.self::WB.'Deral'.self::WB.'/u' => 'Деръал',
+                       '/'.self::WB.'DERAL'.self::WB.'/u' => 'ДЕРЪАЛ',
+                       '/'.self::WB.'kör'.self::WB.'/u' => 'кёр',
+                       '/'.self::WB.'Kör'.self::WB.'/u' => 'Кёр',
+                       '/'.self::WB.'KÖR'.self::WB.'/u' => 'КЁР',
+                       '/'.self::WB.'mer'.self::WB.'/u' => 'мэр',
+                       '/'.self::WB.'Mer'.self::WB.'/u' => 'Мэр',
+                       '/'.self::WB.'MER'.self::WB.'/u' => 'МЭР',
+
+                       '/'.self::WB.'джонк/u' => 'cönk',
+                       '/'.self::WB.'Джонк/u' => 'Cönk',
+                       '/'.self::WB.'ДЖОНК/u' => 'CÖNK',
+
+                       '/'.self::WB.'куркчи/u' => 'kürkçi',
+                       '/'.self::WB.'Куркчи/u' => 'Kürkçi',
+                       '/'.self::WB.'КУРКЧИ/u' => 'KÜRKÇI',
 
                        # буква Ё - первый заход
                        # расставляем Ь после согласных
-                       '/\b([yY])ö(['.Crh::L_N_CONS.'])([aAuU'.Crh::L_CONS.']|\b)/u' => '$1ö$2ь$3',
-                       '/\b([yY])Ö(['.Crh::L_N_CONS.'])([aAuU'.Crh::L_CONS.']|\b)/u' => '$1Ö$2Ь$3',
-                       '/\bAQŞ([^AEI]|\b)/u' => 'АКъШ$1',
+                       '/'.self::WB.'([yY])ö(['.Crh::L_N_CONS.'])([aAuU'.Crh::L_CONS.']|'.self::WB.')/u' => '$1ö$2ь$3',
+                       '/'.self::WB.'([yY])Ö(['.Crh::L_N_CONS.'])([aAuU'.Crh::L_CONS.']|'.self::WB.')/u' => '$1Ö$2Ь$3',
+                       '/'.self::WB.'AQŞ([^AEI]|'.self::WB.')/u' => 'АКъШ$1',
 
                        # буква Ю - первый заход
                        # расставляем Ь после согласных
-                       '/\b([yY])ü(['.Crh::L_N_CONS.'])([aAuU'.Crh::L_CONS.']|\b)/u' => '$1ü$2ь$3',
-                       '/\b([yY])Ü(['.Crh::L_N_CONS.'])([aAuU'.Crh::L_CONS.']|\b)/u' => '$1Ü$2Ь$3',
-
-                       '/\b([bcgkpşBCGKPŞ])ö(['.Crh::L_N_CONS.'])(['.Crh::L_CONS.']|\b)/u' => '$1ö$2ь$3',
-                       '/\b([bcgkpşBCGKPŞ])Ö(['.Crh::L_N_CONS.'])(['.Crh::L_CONS.']|\b)/u' => '$1Ö$2Ь$3',
-                       '/\b([bcgkpşBCGKPŞ])Ö(['.Crh::L_N_CONS.'])(['.Crh::L_CONS.']|\b)/u' => '$1Ö$2Ь$3',
-                       '/\b([bcgkpşBCGKPŞ])ü(['.Crh::L_N_CONS.'])(['.Crh::L_CONS.']|\b)/u' => '$1ü$2ь$3',
-                       '/\b([bcgkpşBCGKPŞ])Ü(['.Crh::L_N_CONS.'])(['.Crh::L_CONS.']|\b)/u' => '$1Ü$2Ь$3',
-                       '/\b([bcgkpşBCGKPŞ])Ü(['.Crh::L_N_CONS.'])(['.Crh::L_CONS.']|\b)/u' => '$1Ü$2Ь$3',
+                       '/'.self::WB.'([yY])ü(['.Crh::L_N_CONS.'])([aAuU'.Crh::L_CONS.']|'.self::WB.')/u' => '$1ü$2ь$3',
+                       '/'.self::WB.'([yY])Ü(['.Crh::L_N_CONS.'])([aAuU'.Crh::L_CONS.']|'.self::WB.')/u' => '$1Ü$2Ь$3',
+
+                       '/'.self::WB.'([bcgkpşBCGKPŞ])ö(['.Crh::L_N_CONS.'])(['.Crh::L_CONS.']|'.self::WB.')/u'
+                               => '$1ö$2ь$3',
+                       '/'.self::WB.'([bcgkpşBCGKPŞ])Ö(['.Crh::L_N_CONS.'])(['.Crh::L_CONS.']|'.self::WB.')/u'
+                               => '$1Ö$2Ь$3',
+                       '/'.self::WB.'([bcgkpşBCGKPŞ])Ö(['.Crh::L_N_CONS.'])(['.Crh::L_CONS.']|'.self::WB.')/u'
+                               => '$1Ö$2Ь$3',
+                       '/'.self::WB.'([bcgkpşBCGKPŞ])ü(['.Crh::L_N_CONS.'])(['.Crh::L_CONS.']|'.self::WB.')/u'
+                               => '$1ü$2ь$3',
+                       '/'.self::WB.'([bcgkpşBCGKPŞ])Ü(['.Crh::L_N_CONS.'])(['.Crh::L_CONS.']|'.self::WB.')/u'
+                               => '$1Ü$2Ь$3',
+                       '/'.self::WB.'([bcgkpşBCGKPŞ])Ü(['.Crh::L_N_CONS.'])(['.Crh::L_CONS.']|'.self::WB.')/u'
+                               => '$1Ü$2Ь$3',
 
                         # ö и ü в начале слова
                         # случаи, когда нужен Ь
-                       '/\bö(['.Crh::L_N_CONS.'pP])(['.Crh::L_CONS.']|\b)/u' => 'ö$1ь$2',
-                       '/\bÖ(['.Crh::L_N_CONS_LC.'p])(['.Crh::L_CONS.']|\b)/u' => 'Ö$1ь$2',
-                       '/\bÖ(['.Crh::L_N_CONS_UC.'P])(['.Crh::L_CONS.']|\b)/u' => 'Ö$1Ь$2',
-                       '/\bü(['.Crh::L_N_CONS.'])(['.Crh::L_CONS.']|\b)/u' => 'ü$1ь$2',
-                       '/\bÜ(['.Crh::L_N_CONS_LC.'])(['.Crh::L_CONS.']|\b)/u' => 'Ü$1ь$2',
-                       '/\bÜ(['.Crh::L_N_CONS_UC.'])(['.Crh::L_CONS.']|\b)/u' => 'Ü$1Ь$2',
-
-                       '/ts\b/u' => 'ц',
-                       '/şç\b/u' => 'щ',
-                       '/Ş[çÇ]\b/u' => 'Щ',
-                       '/T[sS]\b/u' => 'Ц',
+                       '/'.self::WB.'ö(['.Crh::L_N_CONS.'pP])(['.Crh::L_CONS.']|'.self::WB.')/u' => 'ö$1ь$2',
+                       '/'.self::WB.'Ö(['.Crh::L_N_CONS_LC.'p])(['.Crh::L_CONS.']|'.self::WB.')/u' => 'Ö$1ь$2',
+                       '/'.self::WB.'Ö(['.Crh::L_N_CONS_UC.'P])(['.Crh::L_CONS.']|'.self::WB.')/u' => 'Ö$1Ь$2',
+                       '/'.self::WB.'ü(['.Crh::L_N_CONS.'])(['.Crh::L_CONS.']|'.self::WB.')/u' => 'ü$1ь$2',
+                       '/'.self::WB.'Ü(['.Crh::L_N_CONS_LC.'])(['.Crh::L_CONS.']|'.self::WB.')/u' => 'Ü$1ь$2',
+                       '/'.self::WB.'Ü(['.Crh::L_N_CONS_UC.'])(['.Crh::L_CONS.']|'.self::WB.')/u' => 'Ü$1Ь$2',
+
+                       '/ts'.self::WB.'/u' => 'ц',
+                       '/şç'.self::WB.'/u' => 'щ',
+                       '/Ş[çÇ]'.self::WB.'/u' => 'Щ',
+                       '/T[sS]'.self::WB.'/u' => 'Ц',
 
                        # Ь после Л
                        # add Ь after Л
-                       '/(['.Crh::L_F.'])l(['.Crh::L_CONS_LC.']|\b)/u' => '$1ль$2',
-                       '/(['.Crh::L_F_UC.'])L(['.Crh::L_CONS.']|\b)/u' => '$1ЛЬ$2',
+                       '/(['.Crh::L_F.'])l(['.Crh::L_CONS_LC.']|'.self::WB.')/u' => '$1ль$2',
+                       '/(['.Crh::L_F_UC.'])L(['.Crh::L_CONS.']|'.self::WB.')/u' => '$1ЛЬ$2',
 
-                       '/etsin\b/u' => 'етсин',
-                       '/Etsin\b/u' => 'Етсин',
-                       '/ETSİN\b/u' => 'ЕТСИН',
+                       '/etsin'.self::WB.'/u' => 'етсин',
+                       '/Etsin'.self::WB.'/u' => 'Етсин',
+                       '/ETSİN'.self::WB.'/u' => 'ЕТСИН',
 
                        # относятся к началу слова
-                       '/\bts/u' => 'ц',
-                       '/\bT[sS]/u' => 'Ц',
+                       '/'.self::WB.'ts/u' => 'ц',
+                       '/'.self::WB.'T[sS]/u' => 'Ц',
 
-                       '/\bşç/u' => 'щ',
-                       '/\bŞ[çÇ]/u' => 'Щ',
+                       '/'.self::WB.'şç/u' => 'щ',
+                       '/'.self::WB.'Ş[çÇ]/u' => 'Щ',
 
                        # Э
-                       '/(\b|['.Crh::L_VOW.'аеэяАЕЭЯ])e/u' => '$1э',
-                       '/(\b|['.Crh::L_VOW_UC.'АЕЭЯ])E/u' => '$1Э',
+                       '/('.self::WB.'|['.Crh::L_VOW.'аеэяАЕЭЯ])e/u' => '$1э',
+                       '/('.self::WB.'|['.Crh::L_VOW_UC.'АЕЭЯ])E/u' => '$1Э',
 
-                       '/\b(['.Crh::L_M_CONS.'])ö/u' => '$1о',
-                       '/\b(['.Crh::L_M_CONS.'])Ö/u' => '$1О',
-                       '/\b(['.Crh::L_M_CONS.'])ü/u' => '$1у',
-                       '/\b(['.Crh::L_M_CONS.'])Ü/u' => '$1У',
+                       '/'.self::WB.'(['.Crh::L_M_CONS.'])ö/u' => '$1о',
+                       '/'.self::WB.'(['.Crh::L_M_CONS.'])Ö/u' => '$1О',
+                       '/'.self::WB.'(['.Crh::L_M_CONS.'])ü/u' => '$1у',
+                       '/'.self::WB.'(['.Crh::L_M_CONS.'])Ü/u' => '$1У',
 
-                       '/\bö/u' => 'о',
-                       '/\bÖ/u' => 'О',
-                       '/\bü/u' => 'у',
-                       '/\bÜ/u' => 'У',
+                       '/'.self::WB.'ö/u' => 'о',
+                       '/'.self::WB.'Ö/u' => 'О',
+                       '/'.self::WB.'ü/u' => 'у',
+                       '/'.self::WB.'Ü/u' => 'У',
 
                        # некоторые исключения
                        # some exceptions
@@ -685,7 +704,7 @@ class CrhExceptions {
                        '/KÖZ([^EÜ])/u' => 'КОЗЬ$1',
 
                        # Punctuation
-                       '/#|No\./' => '№',
+                       '/#|No\./u' => '№',
 
                        # некоторые случаи употребления Ц
                        '/tsi([^zñ])/u' => 'ци$1',
index 9943212..737c20f 100644 (file)
@@ -271,7 +271,7 @@ class Names {
                'li' => 'Limburgs', # Limburgian
                'lij' => 'Ligure', # Ligurian
                'liv' => 'Līvõ kēļ', # Livonian
-               'lki' => 'لەکی', # Laki
+               'lki' => 'لەکی', # Laki
                'lmo' => 'lumbaart', # Lombard
                'ln' => 'lingála', # Lingala
                'lo' => 'ລາວ', # Laotian
@@ -386,6 +386,7 @@ class Names {
                'shi-tfng' => 'ⵜⴰⵛⵍⵃⵉⵜ', # Tachelhit (Tifinagh script)
                'shi-latn' => 'Tašlḥiyt', # Tachelhit (Latin script)
                'shn' => 'ၽႃႇသႃႇတႆး ', # Shan
+               'shy-latn' => 'tachawit', # Shawiya (Latin script) - T194047
                'si' => 'සිංහල', # Sinhalese
                'simple' => 'Simple English', # Simple English
                'sk' => 'slovenčina', # Slovak
index e364f1b..78bfa83 100644 (file)
@@ -2,8 +2,8 @@
 <!DOCTYPE supplementalData SYSTEM "../../common/dtd/ldmlSupplemental.dtd">
 <!--
 Copyright © 1991-2013 Unicode, Inc.
-CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
-For terms of use, see http://www.unicode.org/copyright.html
+CLDR data files are interpreted according to the LDML specification (https://unicode.org/reports/tr35/)
+For terms of use, see https://www.unicode.org/copyright.html
 -->
 <supplementalData>
     <version number="$Revision: 10807 $"/>
index f3ff0f8..eb17346 100644 (file)
        "sp-contributions-submit": "Cari",
        "whatlinkshere-title": "Kintal yang ada pranala ka \"$1\"",
        "whatlinkshere-page": "Kintal",
-       "nolinkshere": "Seng ada halaman yang taika par <strong>[[:$1]]</strong>.",
+       "nolinkshere-2": "Seng ada halaman yang taika par <strong>$1</strong>.",
        "isredirect": "kintal voor pengalihan",
        "istemplate": "tranklusi",
        "whatlinkshere-prev": "{{PLURAL:$1|sabalong $1}}",
index b08ae3a..52d4caf 100644 (file)
        "whatlinkshere": "Peunawôt balék",
        "whatlinkshere-title": "Laman nyang mupawôt u $1",
        "whatlinkshere-page": "Miëng:",
-       "linkshere": "Laman-laman nyoë meupawôt u '''[[:$1]]''':",
-       "nolinkshere": "Hana halaman nyang teukaw'et u '''[[:$1]]'''.",
+       "linkshere-2": "Laman-laman nyoë meupawôt u '''$1''':",
+       "nolinkshere-2": "Hana halaman nyang teukaw'et u '''$1'''.",
        "isredirect": "laman peuninah",
        "istemplate": "ngön seunaleuëk",
        "isimage": "peunawôt beureukaih",
        "redirect-file": "Nan beureukaih",
        "fileduplicatesearch-submit": "Mita",
        "specialpages": "Miëng kusuih",
+       "specialpages-note-restricted": "* Laman kusuih biasa.\n* <span class=\"mw-specialpagerestricted\">Laman kusuih geutheun.</span>",
        "specialpages-group-maintenance": "Beuneuri thèë plara",
        "specialpages-group-other": "La'én-la'én",
        "specialpages-group-login": "Tamöng / dapeuta",
index 264a16d..0cd04d9 100644 (file)
        "whatlinkshere": "Мы нэкӀубгъом къэзыщэрэ зэпыщэхэр",
        "whatlinkshere-title": "\"$1\"-м къэзыщэрэ нэкӀубгъохэр",
        "whatlinkshere-page": "НэкӀубгъо:",
-       "linkshere": "Мы нэкӀубгъомэ зэпыщэр мыщ къащэ <strong>[[:$1]]</strong>:",
+       "linkshere-2": "Мы нэкӀубгъомэ зэпыщэр мыщ къащэ <strong>$1</strong>:",
        "isredirect": "езгъэкӀокӀырэ нэкӀубгъо",
        "istemplate": "хэлъхьаныгъэ",
        "isimage": "файл зэпыщэ",
index ece84d8..2ab8104 100644 (file)
        "sp-contributions-toponly": "أظهر أعلى المراجعات فقط",
        "whatlinkshere-title": "الصفحات التي تصل إلى \"$1\"",
        "whatlinkshere-page": "الپاج:",
-       "linkshere": "الصفحات التالية تصل إلى '''[[:$1]]''':",
-       "nolinkshere": "لا توجد صفحات تصل إلى '''[[:$1]]'''.",
+       "linkshere-2": "الصفحات التالية تصل إلى '''$1''':",
+       "nolinkshere-2": "لا توجد صفحات تصل إلى '''$1'''.",
        "isredirect": "صفحة تحويل",
        "istemplate": "مضمن",
        "isimage": "وصلة ملف",
index 43c9a62..0c3c6a7 100644 (file)
        "whatlinkshere": "Skakels hierheen",
        "whatlinkshere-title": "Bladsye wat na \"$1\" skakel",
        "whatlinkshere-page": "Bladsy:",
-       "linkshere": "Die volgende bladsye skakel na '''[[:$1]]''':",
-       "nolinkshere": "Geen bladsye skakel na '''[[:$1]]'''.",
-       "nolinkshere-ns": "Geen bladsye skakel na '''[[:$1]]''' in die verkose naamruimte nie.",
+       "linkshere-2": "Die volgende bladsye skakel na '''$1''':",
+       "nolinkshere-2": "Geen bladsye skakel na '''$1'''.",
+       "nolinkshere-ns-2": "Geen bladsye skakel na '''$1''' in die verkose naamruimte nie.",
        "isredirect": "aanstuurblad",
        "istemplate": "insluiting",
        "isimage": "lêerskakel",
        "fileduplicatesearch-noresults": "Daar is nie 'n lêer met die naam \"$1\" nie.",
        "specialpages": "Spesiale bladsye",
        "specialpages-note-top": "Sleutel",
+       "specialpages-note-restricted": "* Normale spesiale bladsye.\n* <span class=\"mw-specialpagerestricted\">Spesiale bladsye met beperkte toegang.</span>\n* <span class=\"mw-specialpagecached\">Spesiale bladsye met gegewens uit die kas (kan verouderd wees).</span>",
        "specialpages-group-maintenance": "Onderhoud verslae",
        "specialpages-group-other": "Ander spesiale bladsye",
        "specialpages-group-login": "Meld aan / registreer",
index e008069..57fd482 100644 (file)
        "whatlinkshere": "masasiket katukuh uyniyay a kasabelih",
        "whatlinkshere-title": "masasiket tayza \"$1\" a kasabelih",
        "whatlinkshere-page": "Kasabelih:",
-       "linkshere": "isasaay a kasabelih masasiket tazuma tu <strong>[[:$1]]</strong>:",
-       "nolinkshere": "No pages link to <strong>[[:$1]]</strong>.",
-       "nolinkshere-ns": "mapili’ay a pangangananay a salaedan inayi’ kasabelih  masasiket tu [[:$1]].",
+       "linkshere-2": "isasaay a kasabelih masasiket tazuma tu <strong>$1</strong>:",
+       "nolinkshere-2": "No pages link to <strong>$1</strong>.",
+       "nolinkshere-ns-2": "mapili’ay a pangangananay a salaedan inayi’ kasabelih  masasiket tu $1.",
        "isredirect": "miliyaw patatuzu’",
        "istemplate": "palaculen tu kasabelih",
        "isimage": "tangan-tangan misiket",
index 9b570e5..4989c5d 100644 (file)
        "whatlinkshere": "Vegzat me këtu",
        "whatlinkshere-title": "Faqe që lidhen me \"$1\"",
        "whatlinkshere-page": "Faqja:",
-       "linkshere": "Faqet e mâposhtme lidhen në '''[[:$1]]''':",
+       "linkshere-2": "Faqet e mâposhtme lidhen në '''$1''':",
        "isredirect": "faqe përcjellëse",
        "istemplate": "përfshirë",
        "isimage": "vegëz në figurë",
index 65159b8..f9f475d 100644 (file)
        "whatlinkshere": "ወዲህ የሚያያዝ",
        "whatlinkshere-title": "ከ «$1» ጋር የሚያያዙ ገጾች",
        "whatlinkshere-page": "ለገጽ (አርዕስት)፦",
-       "linkshere": "የሚከተሉት ገጾች ወደ '''[[:$1]]''' ተያይዘዋል።",
-       "nolinkshere": "ወደ '''[[:$1]]''' የተያያዘ ገጽ የለም።",
-       "nolinkshere-ns": "ባመለከቱት ክፍለ-ዊኪ ወደ '''[[:$1]]''' የተያያዘ ገጽ የለም።",
+       "linkshere-2": "የሚከተሉት ገጾች ወደ '''$1''' ተያይዘዋል።",
+       "nolinkshere-2": "ወደ '''$1''' የተያያዘ ገጽ የለም።",
+       "nolinkshere-ns-2": "ባመለከቱት ክፍለ-ዊኪ ወደ '''$1''' የተያያዘ ገጽ የለም።",
        "isredirect": "መምሪያ መንገድ",
        "istemplate": "የተሰካ",
        "isimage": "የምስል ማያያዣ",
index 88ab47a..3e54a4a 100644 (file)
        "whatlinkshere": "Pachinas que enlazan con ista",
        "whatlinkshere-title": "Pachinas que tienen vinclos ta $1",
        "whatlinkshere-page": "Pachina:",
-       "linkshere": "As siguients pachinas tienen vinclos enta '''[[:$1]]''':",
-       "nolinkshere": "Garra pachina tiene vinclos ta '''[[:$1]]'''.",
-       "nolinkshere-ns": "Garra pachina d'o espacio de nombres trigato tiene vinclos ta '''[[:$1]]'''.",
+       "linkshere-2": "As siguients pachinas tienen vinclos enta '''$1''':",
+       "nolinkshere-2": "Garra pachina tiene vinclos ta '''$1'''.",
+       "nolinkshere-ns-2": "Garra pachina d'o espacio de nombres trigato tiene vinclos ta '''$1'''.",
        "isredirect": "pachina reendrezata",
        "istemplate": "incluyida",
        "isimage": "Vinclo ta un fichero",
        "fileduplicatesearch-result-n": "O fichero \"$1\" tiene {{PLURAL:$2|1 duplicau identico|$2 duplicaus identicos}}.",
        "fileduplicatesearch-noresults": "No s'ha trobau garra fichero con o nombre «$1».",
        "specialpages": "Pachinas especials",
+       "specialpages-note-restricted": "* Pachinas especials normals.\n* <strong class=\"mw-specialpagerestricted\">Pachinas especials restrinchitas.</strong>",
        "specialpages-group-maintenance": "Informes de mantenimiento",
        "specialpages-group-other": "Atras pachinas especials",
        "specialpages-group-login": "Inicio de sesión / rechistro",
index 84eaa79..e833c1b 100644 (file)
        "whatlinkshere": "Hwæt hæfþ hlencan hider",
        "whatlinkshere-title": "Trametas þā habbaþ hlencan tō \"$1\"",
        "whatlinkshere-page": "Tramet:",
-       "linkshere": "Þā folgiendan trametas habbaþ hlencan tō: '''[[:$1]]'''",
-       "nolinkshere": "Nǣnge trametas habbaþ hlencan tō '''[[:$1]]'''.",
+       "linkshere-2": "Þā folgiendan trametas habbaþ hlencan tō: '''$1'''",
+       "nolinkshere-2": "Nǣnge trametas habbaþ hlencan tō '''$1'''.",
        "isredirect": "edlǣdunge tramet",
        "istemplate": "bysene nytt",
        "isimage": "ymelan hlenca",
index 2958327..8382f17 100644 (file)
        "whatlinkshere": "एन्जां की जुड़तै",
        "whatlinkshere-title": "$1 सं॑ जुड़लऽ पन्ना",
        "whatlinkshere-page": "पन्ना:",
-       "linkshere": "नीचे के सब पन्ना '''[[:$1]]''' स॑ जुड़लऽ:",
-       "nolinkshere": "<strong>[[:$1]]</strong> स॑ कोय भी पन्ना नै जुड़लऽ छै।",
+       "linkshere-2": "नीचे के सब पन्ना '''$1''' स॑ जुड़लऽ:",
+       "nolinkshere-2": "<strong>$1</strong> स॑ कोय भी पन्ना नै जुड़लऽ छै।",
        "isredirect": "पुन: निर्दिष्ट पन्ना",
        "istemplate": "मिलाबऽ",
        "isimage": "फाइल लिंक",
index 6dc121f..97b37ff 100644 (file)
        "botpasswords-existing": "كلمات مرور البوت الموجودة",
        "botpasswords-createnew": "إنشاء كلمة مرور جديدة للبوت",
        "botpasswords-editexisting": "تعديل كلمة مرور موجودة للبوت",
+       "botpasswords-label-needsreset": "(تحتاج كلمة المرور إلى إعادة الضبط)",
        "botpasswords-label-appid": "اسم البوت:",
        "botpasswords-label-create": "أنشأ",
        "botpasswords-label-update": "حدث",
        "botpasswords-restriction-failed": "قيود كلمة مرور البوت تمنع هذا الولوج.",
        "botpasswords-invalid-name": "اسم المستخدم الموفر لا يحتوي على فاصل كلمة سر البوت (\"$1\").",
        "botpasswords-not-exist": "المستخدم \"$1\" لا يمتلك كلمة سر بوت بالاسم \"$2\".",
+       "botpasswords-needs-reset": "يجب إعادة تعيين كلمة مرور البوت لاسم بوت \"$2\" {{GENDER:$1|المستخدم|المستخدم}}\".",
        "resetpass_forbidden": "كلمات السر لا يمكن تغييرها",
        "resetpass_forbidden-reason": "لا يمكن تغيير كلمة المرور: $1",
        "resetpass-no-info": "يجب أن تكون مسجل الدخول للوصول إلى هذه الصفحة مباشرة.",
        "subject-preview": "معاينة الموضوع:",
        "previewerrortext": "حدث خطأ أثناء محاولة معاينة تغييراتك.",
        "blockedtitle": "المستخدم ممنوع",
-       "blockedtext": "'''اسم المستخدم أو عنوان الأيبي الخاص بك تم منعه.'''\n\nقام بالمنع $1.\nسبب المنع هو: ''$2''.\n\n* بداية المنع: $8\n* انتهاء المنع: $6\n* الممنوع المقصود: $7\n\nيمكنك الاتصال ب$1 أو مع أحد [[{{MediaWiki:Grouppage-sysop}}|الإداريين]] للنقاش حول المنع.\nلا يمكنك استخدام خاصية 'مراسلة هذا المستخدم' إلا إذا كنت قد وضعت عنوان بريدي صحيح في [[Special:Preferences|تفضيلات حسابك]] ولم يتم منعك من استخدامها.\nعنوان الأيبي الخاص بك حاليا هو $3، ورقم المنع هو #$5.\nمن فضلك اذكر كل التفاصيل بالأعلى في أي استعلامات تقوم بها.",
-       "autoblockedtext": "مُنِع عنوان آيبيك تلقائيا لأن مستخدما آخرا منعه $1 استخدمه.\nالسبب المعطى هو التالي:\n\n:''$2''\n\n* بداية المنع: $8\n* انتهاء المنع: $6\n* الممنوع المقصود: $7\n\nيمكنك أن تتصل ب $1 أو أحد [[{{MediaWiki:Grouppage-sysop}}|الإداريين]] الآخرين لمناقشة المنع.\n\nلاحظ أنه لا يمكنك استخدام خاصية \"إرسال رسالة لهذا المستخدم\" إلا لو كان لديك عنوان بريد إلكتروني صحيح مسجل في [[Special:Preferences|تفضيلاتك]] ولم يتم منعك من استخدامه.\n\nعنوان آيبيك الحالي $3، ورقم المنع #$5.\nمن فضلك اذكر كل التفاصيل بالأعلى في أي استعلامات تقوم بها.",
+       "blockedtext": "'''اسم المستخدم أو عنوان الأيبي الخاص بك تم منعه.'''\n\nقام بالمنع $1.\nسبب المنع هو: ''$2''.\n\n* بداية المنع: $8\n* انتهاء المنع: $6\n* الممنوع المقصود: $7\n\nيمكنك الاتصال ب$1 أو أحد [[{{MediaWiki:Grouppage-sysop}}|الإداريين]] للنقاش حول المنع.\nلا يمكنك استخدام خاصية \"{{int:emailuser}}\" إلا إذا كنت قد وضعت عنوان بريدي صحيح في [[Special:Preferences|تفضيلات حسابك]] ولم يتم منعك من استخدامها.\nعنوان الأيبي الخاص بك حاليا هو $3، ورقم المنع هو #$5.\nمن فضلك اذكر كل التفاصيل بالأعلى في أي استعلامات تقوم بها.",
+       "autoblockedtext": "مُنِع عنوان آيبيك تلقائيا لأن مستخدما آخرا منعه $1 استخدمه.\nالسبب المعطى هو التالي:\n\n:<em>$2</em>\n\n* بداية المنع: $8\n* انتهاء المنع: $6\n* الممنوع المقصود: $7\n\nيمكنك أن تتصل ب $1 أو أحد [[{{MediaWiki:Grouppage-sysop}}|الإداريين]] الآخرين لمناقشة المنع.\n\nلاحظ أنه لا يمكنك استخدام خاصية \"إرسال رسالة لهذا المستخدم\" إلا لو كان لديك عنوان بريد إلكتروني صحيح مسجل في [[Special:Preferences|تفضيلاتك]] ولم يتم منعك من استخدامه.\n\nعنوان آيبيك الحالي $3، ورقم المنع #$5.\nمن فضلك اذكر كل التفاصيل بالأعلى في أي استعلامات تقوم بها.",
        "systemblockedtext": "اسم المستخدم أو عنوان الأيبي الخاص بك تم منعه تلقائيا بواسطة ميدياويكي.\nالسبب المعطى هو:\n\n:<em>$2</em>\n\n* بداية المنع: $8\n* نهاية المنع: $6\n* المقصود بالمنع: $7\n\nعنوان الأيبي الحالي الخاص بك هو $3.\nمن فضلك ضمن كل التفاصيل بالأعلى في أي استعلام تقوم به.",
        "blockednoreason": "لا سبب معطى",
        "whitelistedittext": "يجب عليك $1 لتتمكن من تعديل الصفحات.",
        "prefs-watchlist-edits": "عدد التعديلات التي تعرض في قائمة المراقبة:",
        "prefs-watchlist-edits-max": "العدد الأقصى: 1000",
        "prefs-watchlist-token": "مفتاح قائمة المراقبة:",
-       "prefs-watchlist-managetokens": "اÙ\84تحÙ\83Ù\85 Ø¨Ø§Ù\84تÙ\88Ù\83Ù\86ات",
+       "prefs-watchlist-managetokens": "إدارة Ø§Ù\84رÙ\85Ù\88ز",
        "prefs-misc": "متفرقات",
        "prefs-resetpass": "غير كلمة السر",
        "prefs-changeemail": "تغيير أو إزالة عنوان البريد الإلكتروني",
        "recentchangescount": "عدد التعديلات للعرض في أحدث التغييرات وتواريخ الصفحات، والسجلات، افتراضيا:",
        "prefs-help-recentchangescount": "العدد الأقصى: 1000",
        "prefs-help-watchlist-token2": "هذا هو المفتاح السري لتغذية الويب لقائمة مراقبتك.\nيمكن لأي شخص يعرفه أن يقرأ قائمة مراقبتك، ولذا لا تتشاركه مع أحد.\nإذا احتجت، [[Special:ResetTokens|يمكنك إعادة ضبطه]].",
-       "prefs-help-tokenmanagement": "أنت يمكنك رؤية وإعادة ضبط المفتاح السري لحسابك الذي يمكنه الوصول لتلقيم الويب لقائمة مراقبتك. أي شخص يعرف المفتاح سيمكنه قراءة قائمة مراقبتك، لذا فلا تشاركه.",
+       "prefs-help-tokenmanagement": "أنت يمكنك رؤية وإعادة ضبط المفتاح السري لحسابك الذي يمكنه الوصول لتلقيم الويب لقائمة مراقبتك، أي شخص يعرف المفتاح سيمكنه قراءة قائمة مراقبتك; لذا فلا تشاركه.",
        "savedprefs": "تم حفظ تفضيلاتك.",
        "savedrights": "حُفظت المجموعات الجديدة {{GENDER:$1|للمستخدم|للمستخدمة}} $1.",
        "timezonelegend": "المنطقة الزمنية:",
        "recentchangeslinked-feed": "تغييرات ذات علاقة",
        "recentchangeslinked-toolbox": "تغييرات ذات علاقة",
        "recentchangeslinked-title": "التغييرات المرتبطة بصفحة «$1»",
-       "recentchangeslinked-summary": "أدخل اسم صفحة لرؤية التغييرات في الصفحات الموصولة من أو إلى تلك الصفحة. (لرؤية أعضاء تصنيف، أدخل تصنيف:الاسم الخاص بالتصنيف). التغييرات في الصفحات في [[Special:Watchlist|قائمة مراقبتك]] <strong>عريضة</strong>.",
+       "recentchangeslinked-summary": "أدخل اسم صفحة لرؤية التغييرات في الصفحات الموصولة من أو إلى تلك الصفحة. (لرؤية أعضاء تصنيف، أدخل {{ns:category}}:الاسم الخاص بالتصنيف). التغييرات في الصفحات في [[Special:Watchlist|قائمة مراقبتك]] <strong>عريضة</strong>.",
        "recentchangeslinked-page": "اسم الصفحة:",
        "recentchangeslinked-to": "أظهر التغييرات للصفحات الموصولة للصفحة المعطاة عوضاً عن ذلك",
        "recentchanges-page-added-to-category": "[[:$1]] أضيفت إلى التصنيف",
        "protectedtitles-submit": "لعرض العناوين",
        "listusers": "قائمة الأعضاء",
        "listusers-editsonly": "اعرض المستخدمين الذين أجروا تعديلات فقط",
+       "listusers-temporarygroupsonly": "عرض المستخدمين في مجموعات المستخدمين المؤقتة فقط",
        "listusers-creationsort": "رتب حسب تاريخ الإنشاء",
        "listusers-desc": "رتب تنازليا",
        "usereditcount": "{{PLURAL:$1|لا تعديلات|تعديل واحد|تعديلان|$1 تعديلات|$1 تعديلًا|$1 تعديل}}",
        "apisandbox-dynamic-parameters-add-label": "أضف مُعاملا:",
        "apisandbox-dynamic-parameters-add-placeholder": "اسم المعامل",
        "apisandbox-dynamic-error-exists": "يوجد بالفعل معامل باسم \"$1\".",
+       "apisandbox-templated-parameter-reason": "يتم تقديم [[Special:ApiHelp/main#main/templatedparams|templated parameter]]  استنادا إلى {{PLURAL:$1|قيمة|قيم}} $2.",
        "apisandbox-deprecated-parameters": "معاملات مهملة",
        "apisandbox-fetch-token": "املأ التوكين تلقائيا",
        "apisandbox-add-multi": "إضافة",
        "whatlinkshere": "ماذا يصل هنا",
        "whatlinkshere-title": "الصفحات التي تصل إلى \"$1\"",
        "whatlinkshere-page": "الصفحة:",
-       "linkshere": "الصفحات التالية تصل إلى '''[[:$1]]''':",
-       "nolinkshere": "لا توجد صفحات تصل إلى '''[[:$1]]'''.",
-       "nolinkshere-ns": "لا تصل أي صفحة إلى '''[[:$1]]''' في النطاق المختار.",
+       "linkshere-2": "الصفحات التالية تصل إلى '''$1''':",
+       "nolinkshere-2": "لا توجد صفحات تصل إلى '''$1'''.",
+       "nolinkshere-ns-2": "لا تصل أي صفحة إلى '''$1''' في النطاق المختار.",
        "isredirect": "صفحة تحويل",
        "istemplate": "مضمن",
        "isimage": "وصلة ملف",
        "pagedata-title": "بيانات الصفحة",
        "pagedata-text": "هذه الصفحة توفر واجهة بيانات للصفحات. من فضلك وفر عنوان الصفحة في المسار، باستخدام صيغة الصفحات الفرعية.\n* تفاوض المحتوى يطبق بناء على الAccept header الخاص بعميلك. هذا يعني أن بيانات الصفحة سيتم توفيرها بالصيغة المفضلة لعميلك.",
        "pagedata-not-acceptable": "لم يتم العثور على هيئة مطابقة. أنماط MIME المدعومة: $1",
-       "pagedata-bad-title": "عنوان خاطئ: $1."
+       "pagedata-bad-title": "عنوان خاطئ: $1.",
+       "unregistered-user-config": "لأسباب تتعلق بالأمان; لا يمكن تحميل الصفحات الفرعية JavaScript وCSS وJSON للمستخدمين غير المسجلين.",
+       "passwordpolicies": "سياسات كلمة المرور",
+       "passwordpolicies-summary": "هذه قائمة بسياسات كلمة المرور الفعالة لمجموعات المستخدمين المعرفة في هذا الويكي.",
+       "passwordpolicies-group": "المجموعة",
+       "passwordpolicies-policies": "السياسات",
+       "passwordpolicies-policy-minimalpasswordlength": "يجب أن يكون طول كلمة المرور على الأقل $1 {{PLURAL:$1|حرف|أحرف}}",
+       "passwordpolicies-policy-minimumpasswordlengthtologin": "يجب أن يكون طول كلمة المرور على الأقل $1 {{PLURAL:$1|حرف|أحرف}} لتتمكن من تسجيل الدخول",
+       "passwordpolicies-policy-passwordcannotmatchusername": "لا يمكن أن تكون كلمة المرور هي نفس اسم المستخدم",
+       "passwordpolicies-policy-passwordcannotmatchblacklist": "لا يمكن أن تتطابق كلمة المرور مع كلمات المرور المدرجة على القائمة السوداء تحديدا",
+       "passwordpolicies-policy-maximalpasswordlength": "يجب أن يكون طول كلمة المرور أقل من $1 {{PLURAL:$1|حرف|أحرف}}",
+       "passwordpolicies-policy-passwordcannotbepopular": "لا يمكن أن تكون كلمة المرور {{PLURAL:$1|كلمة المرور الشائعة|في قائمة كلمات المرور الشائعة الـ$1}}"
 }
index 1997c9a..15b1e3e 100644 (file)
        "whatlinkshere": "ܡܐ ܐܣܪ ܠܗܪܟܐ",
        "whatlinkshere-title": "ܦܐܬܬ̈ܐ ܕܐܣܝܪܝܢ ܥܡ \"$1\"",
        "whatlinkshere-page": "ܦܐܬܐ:",
-       "linkshere": "ܦܐܬܬ̈ܐ ܗܠܝܢ ܐܣܝܪܝܢ ܥܡ '''[[:$1]]''':",
-       "nolinkshere": "ܠܝܬ ܦܐܬܬ̈ܐ ܐܣܪܝܢ ܥܡ '''[[:$1]]'''.",
-       "nolinkshere-ns": "ܠܝܬ ܦܐܬܬ̈ܐ ܐܣܪܝܢ ܥܡ '''[[:$1]]''' ܒܚܩܠܐ ܓܒܝܐ.",
+       "linkshere-2": "ܦܐܬܬ̈ܐ ܗܠܝܢ ܐܣܝܪܝܢ ܥܡ '''$1''':",
+       "nolinkshere-2": "ܠܝܬ ܦܐܬܬ̈ܐ ܐܣܪܝܢ ܥܡ '''$1'''.",
+       "nolinkshere-ns-2": "ܠܝܬ ܦܐܬܬ̈ܐ ܐܣܪܝܢ ܥܡ '''$1''' ܒܚܩܠܐ ܓܒܝܐ.",
        "isredirect": "ܦܐܬܐ ܕܨܘܝܒܐ",
        "istemplate": "ܚܒܝܫܬܐ",
        "isimage": "ܐܣܘܪܐ ܕܠܦܦܐ",
        "fileduplicatesearch-submit": "ܒܨܝ",
        "fileduplicatesearch-info": "$1 × $2 ܦܩܣܠ<br /> ܥܓܪܐ ܕܠܦܦܐ: $3<br /> ܐܕܫܐ ܕ MIME: $4",
        "specialpages": "ܦܐܬܬ̈ܐ ܕ̈ܝܠܢܝܬܐ",
+       "specialpages-note-restricted": "* ܦܐܬܬ̈ܐ ܕ̈ܝܠܢܝܬܐ ܥܝܕ̈ܝܬܐ.\n* <span class=\"mw-specialpagerestricted\">ܦܐܬܬ̈ܐ ܕ̈ܝܠܢܝܬܐ ܕܩܝܘܡ̈ܐ.</span>",
        "specialpages-group-maintenance": "ܬܫܪܪ̈ܐ ܕܚܕܬܘܬܐ",
        "specialpages-group-other": "ܦܐܬܬ̈ܐ ܕ̈ܝܠܢܝܬܐ ܐܚܪ̈ܢܝܬܐ",
        "specialpages-group-login": "ܥܘܠ / ܒܪܝ ܚܘܫܒܢܐ",
index 41d8dce..1ca78c1 100644 (file)
        "whatlinkshere": "Lasulu faw püle",
        "whatlinkshere-title": "Wülngiñ nülkükawlelu \"$1\"",
        "whatlinkshere-page": "Pakina:",
-       "linkshere": "Tüfachi wülngiñ nülkükawley '''[[:$1]]''':",
-       "nolinkshere": "Chem wülngiñ no rume nülkükawlelu '''[[:$1]]'''.",
+       "linkshere-2": "Tüfachi wülngiñ nülkükawley '''$1''':",
+       "nolinkshere-2": "Chem wülngiñ no rume nülkükawlelu '''$1'''.",
        "isredirect": "wüñongünen wülngiñ",
        "istemplate": "yomtukudungu",
        "isimage": "Adentun lasun",
index df8fa58..0367678 100644 (file)
        "whatlinkshere": "شنوّ يوصّل ل هنا",
        "whatlinkshere-title": "الباجات اللي تقين في \"$1\"",
        "whatlinkshere-page": "الباجه:",
-       "linkshere": "هاذ الباجات يوصلو إلى '''[[:$1]]''':",
-       "nolinkshere": "ما كانش  باجه فيها وصيله ل'''[[:$1]]'''.",
+       "linkshere-2": "هاذ الباجات يوصلو إلى '''$1''':",
+       "nolinkshere-2": "ما كانش  باجه فيها وصيله ل'''$1'''.",
        "isredirect": "باجت تحويل",
        "istemplate": "تضمين",
        "isimage": "وصيلة ملف",
index 6e82115..c412556 100644 (file)
        "hidetoc": "Ḫebbi",
        "collapsible-collapse": "twi",
        "collapsible-expand": "wsseĝ",
+       "confirmable-no": "لا",
        "thisisdeleted": "nĊof onstarjaa $1?",
        "viewdeleted": "nchof $1?",
        "restorelink": "{{PLURAL:$1|wahd taadil tmsh|$1 taadilat tmshat}}",
        "whatlinkshere": "Ṣefḫaṫ mlaqyin",
        "whatlinkshere-title": "Ṣ-Ṣefḫaṫ li mlaqyin mĝa \"$1\"",
        "whatlinkshere-page": "ṣfḫa:",
-       "linkshere": "Had ṣ-ṣefḫaṫ kayddiw le '''[[:$1]]''':",
-       "nolinkshere": "ḫṫa ċi ṣfḫa ma ka-twṣṣel l-'''[[:$1]]'''.",
-       "nolinkshere-ns": "ḫṫṫĝ ṣfḫa ma ka-twṣṣal l-'''[[:$1]]''' f-nnitaq lli ĥṫariṫi",
+       "linkshere-2": "Had ṣ-ṣefḫaṫ kayddiw le '''$1''':",
+       "nolinkshere-2": "ḫṫa ċi ṣfḫa ma ka-twṣṣel l-'''$1'''.",
+       "nolinkshere-ns-2": "ḫṫṫĝ ṣfḫa ma ka-twṣṣal l-'''$1''' f-nnitaq lli ĥṫariṫi",
        "isredirect": "Ṫeḫwil ṣ-ṣefḫa",
        "istemplate": "Daĥel",
        "isimage": "wṣlṫ l-milef",
index 841b6e8..c392c6a 100644 (file)
        "whatlinkshere": "ايه بيوصل هنا",
        "whatlinkshere-title": "الصفحات اللى بتوصل لـ \"$1\"",
        "whatlinkshere-page": "الصفحة:",
-       "linkshere": "الصفحات دى فيها وصله ل '''[[:$1]]''':",
-       "nolinkshere": "مافيش صفحات بتوصل ل '''[[:$1]]'''.",
-       "nolinkshere-ns": "مافيش صفحات بتوصل لـ '''[[:$1]]''' فى النطاق اللى انت اختارته.",
+       "linkshere-2": "الصفحات دى فيها وصله ل '''$1''':",
+       "nolinkshere-2": "مافيش صفحات بتوصل ل '''$1'''.",
+       "nolinkshere-ns-2": "مافيش صفحات بتوصل لـ '''$1''' فى النطاق اللى انت اختارته.",
        "isredirect": "صفحة تحويل",
        "istemplate": "متضمن",
        "isimage": "وصلة ملف",
        "fileduplicatesearch-result-1": "الملف \"$1\" ما لهو ش تكرار متطابق.",
        "fileduplicatesearch-result-n": "الملف \"$1\" فيه {{PLURAL:$2|1 تكرار متطابق|$2 تكرار متطابق}}.",
        "specialpages": "صفح مخصوصه",
+       "specialpages-note-restricted": "* صفحات خاصة عادية.\n* <strong class=\"mw-specialpagerestricted\">صفحات خاصة للناس اللى مسموح لهم.</strong>",
        "specialpages-group-maintenance": "تقارير الصيانة",
        "specialpages-group-other": "صفحات خاصه تا نيه",
        "specialpages-group-login": "ادخل / سجل",
index e118a0c..031fa94 100644 (file)
        "recentchanges-legend-plusminus": "(''±১২৩'')",
        "rcfilters-legend-heading": "<strong>সংক্ষিপ্ত ৰূপৰ তালিকা:</strong>",
        "rcfilters-other-review-tools": "আন পুনৰীক্ষণ সঁজুলি",
+       "rcfilters-search-placeholder": "পৰিৱৰ্তনসমূহ ছেকক (ছেকনীৰ নামৰ বাবে মেন্যু বা সন্ধান ব্যৱহাৰ কৰক)",
        "rcfilters-filter-humans-label": "মানুহ (ব'ট নহয়)",
+       "rcfilters-filter-pageedits-label": "পৃষ্ঠা সম্পাদনা",
+       "rcfilters-filter-newpages-label": "পৃষ্ঠা সৃষ্টি",
+       "rcfilters-filter-logactions-label": "নথিভুক্ত কাম",
+       "rcfilters-liveupdates-button": "পোনপটীয়া উন্নীতকৰণ",
        "rcnotefrom": "<strong>$2</strong>ৰ পৰা হোৱা পৰিৱৰ্তনসমূহ (সৰ্বোচ্চ <strong>$1টা</strong> দেখুৱা হৈছে)।",
        "rclistfrom": "$3 $2ৰ পৰা নতুন সালসলনি দেখুৱাওক",
        "rcshowhideminor": "$1 -সংখ্যক নগণ্য সম্পাদনা",
        "recentchangeslinked-feed": "প্ৰাসংগিক সালসলনিসমূহ",
        "recentchangeslinked-toolbox": "প্ৰাসংগিক সালসলনিসমূহ",
        "recentchangeslinked-title": "\"$1\"ৰ লগত জড়িত সাল-সলনি",
-       "recentchangeslinked-summary": "à¦\8fà¦\96ন à¦¨à¦¿à§°à§\8dদিষà§\8dà¦\9f à¦ªà§\83ষà§\8dঠাৰ à¦²à¦\97ত à¦¸à¦\82যà§\81à¦\95à§\8dত à¦ªà§\83ষà§\8dঠাসমà§\82হৰ( à¦¬à¦¾ à¦\8fà¦\9fা à¦¨à¦¿à§°à§\8dদিষà§\8dà¦\9f à¦¶à§\8dৰà§\87ণà§\80ৰ à¦¸à¦¦à¦¸à§\8dযসমà§\82হৰ) à¦¶à§\87হতà§\80য়া à¦¸à¦¾à¦²à¦¸à¦²à¦¨à¦¿à§° à¦¤à¦¾à¦²à¦¿à¦\95া à¦¤à¦²à¦¤ à¦¦à¦¿à¦¯à¦¼à¦¾ à¦¹à§\88à¦\9bà§\87 à¥¤\n[[Special:Watchlist|à¦\86পà§\81নি à¦\9aà¦\95à§\81 à§°à¦\96া à¦ªà§\83ষà§\8dঠাসমà§\82হৰ à¦¤à¦¾à¦²à¦¿à¦\95া]] à¦¤ à¦¥à¦\95া à¦ªà§\83ষà§\8dঠাসমà§\82হ '''à¦\97াঢ়''' à¦¦à§\87à¦\96া à¦ªà¦¾à¦¬ ।",
+       "recentchangeslinked-summary": "à¦\95à§\8bনà§\8b à¦ªà§\83ষà§\8dঠালà§\88 à¦¬à¦¾ à¦\87য়াৰ à¦ªà§°à¦¾ à¦¸à¦\82যà§\81à¦\95à§\8dত à¦ªà§\83ষà§\8dঠাবà§\8bৰৰ à¦¸à¦¾à¦²à¦¸à¦²à¦¨à¦¿ à¦\9aাবলà§\88 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8bৰ à¦¨à¦¾à¦® à¦²à¦¿à¦\96à¦\95। (à¦\95à§\8bনà§\8b à¦¶à§\8dৰà§\87ণà§\80ৰ à¦¨à¦¾à¦®à¦¬à§\8bৰ à¦\9aাবলà§\88 {{ns:category}}:শà§\8dৰà§\87ণà§\80à¦\9fà§\8bৰ à¦¨à¦¾à¦®) à¦²à¦¿à¦\96à¦\95। [[Special:Watchlist|à¦\86পà§\8bনাৰ à¦²à¦\95à§\8dষà§\8dয-তালিà¦\95া]]ৰ à¦ªà§\83ষà§\8dঠাবà§\8bৰৰ à¦ªà§°à¦¿à§±à§°à§\8dতন <strong>à¦\97াঢ়</strong> à¦\86à¦\96ৰত à¦¦à§\87à¦\96া à¦ªà¦¾à¦¬।",
        "recentchangeslinked-page": "পৃষ্ঠাৰ নাম:",
        "recentchangeslinked-to": "অন্যথা নিৰ্দিষ্ট পৃষ্ঠাৰ লগত সংযুক্ত পৃষ্ঠাসমূহৰ সালসলনি দেখুৱাওক",
        "recentchanges-page-added-to-category": "শ্ৰেণীত [[:$1]] যোগ কৰা হৈছে",
        "whatlinkshere": "ইয়ালৈ থকা সংযোগসমূহ",
        "whatlinkshere-title": "\"$1\"লৈ সংযোজিত পৃষ্ঠাসমূহ",
        "whatlinkshere-page": "পৃষ্ঠা:",
-       "linkshere": "এই পৃষ্ঠাটো '''[[:$1]]''' ৰ লগত সংযোজিত:",
-       "nolinkshere": "'''[[:$1]]''' ৰ লগত কোনো পৃষ্ঠা সংযোজিত নহয়।",
-       "nolinkshere-ns": "নিৰ্বাচিত নামস্থানৰ কোনো পৃষ্ঠাৰ পৰা [[:$1]]লৈ সংযোগ নাই ।",
+       "linkshere-2": "এই পৃষ্ঠাটো '''$1''' ৰ লগত সংযোজিত:",
+       "nolinkshere-2": "'''$1''' ৰ লগত কোনো পৃষ্ঠা সংযোজিত নহয়।",
+       "nolinkshere-ns-2": "নিৰ্বাচিত নামস্থানৰ কোনো পৃষ্ঠাৰ পৰা $1লৈ সংযোগ নাই ।",
        "isredirect": "পুনঃনিৰ্দেশনা পৃষ্ঠা",
        "istemplate": "অন্তৰ্ভুক্ত কৰক",
        "isimage": "নথিৰ সংযোগ",
        "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": "প্ৰৱেশ/একাউণ্ট সৃষ্টি কৰক",
index 911a627..1a15227 100644 (file)
        "apisandbox-dynamic-parameters-add-label": "Amestar parámetru:",
        "apisandbox-dynamic-parameters-add-placeholder": "Nome del parámetru",
        "apisandbox-dynamic-error-exists": "Yá existe un parámetru llamáu «$1».",
+       "apisandbox-templated-parameter-reason": "Esti [[Special:ApiHelp/main#main/templatedparams|parámetru dende plantía]] úfrese basándose {{PLURAL:$1|nel valor|nos valores}} de $2.",
        "apisandbox-deprecated-parameters": "Parámetros anticuaos",
        "apisandbox-fetch-token": "Rellenu automáticu del pase",
        "apisandbox-add-multi": "Amestar",
        "whatlinkshere": "Lo qu'enllaza equí",
        "whatlinkshere-title": "Páxines qu’enllacien a «$1»",
        "whatlinkshere-page": "Páxina:",
-       "linkshere": "Les páxines siguientes enllacien a '''[[:$1]]''':",
-       "nolinkshere": "Nenguna páxina enllaza a '''[[:$1]]'''.",
-       "nolinkshere-ns": "Nenguna páxina enllaza con <strong>[[:$1]]</strong> nel espaciu de nomes escoyíu.",
+       "linkshere-2": "Les páxines siguientes enllacien a '''$1''':",
+       "nolinkshere-2": "Nenguna páxina enllaza a '''$1'''.",
+       "nolinkshere-ns-2": "Nenguna páxina enllaza con <strong>$1</strong> nel espaciu de nomes escoyíu.",
        "isredirect": "páxina de redireición",
        "istemplate": "tresclusión",
        "isimage": "enllaz al ficheru",
index 578221c..185574b 100644 (file)
        "whatlinkshere": "Kaskina ickwemakina ka witci acteki",
        "whatlinkshere-title": "Masinahikan nte mia ka ici tapitik \"$1\"",
        "whatlinkshere-page": "Masinahikan:",
-       "linkshere": "Masinhikan ka ici tapitik <strong>[[:$1]]</strong>:",
+       "linkshere-2": "Masinhikan ka ici tapitik <strong>$1</strong>:",
        "isredirect": "masinhikan ke kweskiticohemikok",
        "istemplate": "ka ki acotcipitcikatek",
        "isimage": "e ici tapitik masinahikaniwoc",
index 39b2b30..92939aa 100644 (file)
        "whatlinkshere": "Gluyarakiraf bueem",
        "whatlinkshere-title": "Bu gluyasu va \"$1\"",
        "whatlinkshere-page": "Bu :",
-       "linkshere": "Van batu bu vlevef bueem va gluyasiki ruldar : '''[[:$1]]'''",
-       "nolinkshere": "Van batu bu nedoyu bu va gluyasiki ruldar : '''[[:$1]]'''",
-       "nolinkshere-ns": "Koe kiblayano yoltxo meku bu gluyasikikirafu gu '''[[:$1]]'''.",
+       "linkshere-2": "Van batu bu vlevef bueem va gluyasiki ruldar : '''$1'''",
+       "nolinkshere-2": "Van batu bu nedoyu bu va gluyasiki ruldar : '''$1'''",
+       "nolinkshere-ns-2": "Koe kiblayano yoltxo meku bu gluyasikikirafu gu '''$1'''.",
        "isredirect": "graskarabu",
        "istemplate": "kodoplekura",
        "isimage": "skedasiki va ewava",
index ddcfbc4..db933ef 100644 (file)
        "whatlinkshere": "हिँया का जोडान अहै",
        "whatlinkshere-title": "$1 से जोडान पन्ना",
        "whatlinkshere-page": "पन्ना:",
-       "linkshere": "नीचे दिहा पन्ना '''[[:$1]]''' से जोडान है:",
-       "nolinkshere": "'''[[:$1]]''' से कुछ नाइ जोडान् है।",
-       "nolinkshere-ns": "चुनल नामस्थानसे '''[[:$1]]''' से कवनो पन्ना नाइ जोडान् है।",
+       "linkshere-2": "नीचे दिहा पन्ना '''$1''' से जोडान है:",
+       "nolinkshere-2": "'''$1''' से कुछ नाइ जोडान् है।",
+       "nolinkshere-ns-2": "चुनल नामस्थानसे '''$1''' से कवनो पन्ना नाइ जोडान् है।",
        "isredirect": "पुनर्निर्देशन पन्ना",
        "istemplate": "मिलावा जाय",
        "isimage": "फ़ाइल कय कड़ी",
        "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": "लाग इन / खाता खोला जाय",
index 1b15090..c7afe94 100644 (file)
        "whatlinkshere": "Bu səhifəyə bağlantılar",
        "whatlinkshere-title": "\"$1\" məqaləsinə keçid verən səhifələr",
        "whatlinkshere-page": "Səhifə:",
-       "linkshere": "'''[[:$1]]''' səhifəsinə keçid verən səhifələr:",
-       "nolinkshere": "<strong>[[:$1]]</strong> səhifəsinə keçid verən səhifə yoxdur.",
-       "nolinkshere-ns": "Seçilmiş ad aralığında heç bir səhifə '''[[:$1]]''' səhifəsinə keçid vermir.",
+       "linkshere-2": "'''$1''' səhifəsinə keçid verən səhifələr:",
+       "nolinkshere-2": "<strong>$1</strong> səhifəsinə keçid verən səhifə yoxdur.",
+       "nolinkshere-ns-2": "Seçilmiş ad aralığında heç bir səhifə '''$1''' səhifəsinə keçid vermir.",
        "isredirect": "İstiqamətləndirmə səhifəsi",
        "istemplate": "daxil olmuş",
        "isimage": "şəkil üçün keçid",
index d6fb716..4ec9935 100644 (file)
        "whatlinkshere": "بۇ صفحه‌‌يه باغلانتیلار",
        "whatlinkshere-title": "«$1»-ه باغلانان صفحه‌لر",
        "whatlinkshere-page": "صفحه:",
-       "linkshere": "آشاغیداکی صفحه‌لر '''[[:$1]]'''-ه باغلانیب:",
-       "nolinkshere": "<strong>[[:$1]]</strong>-ه هئچ بیر صفحه باغلانماییب‌دیر.",
-       "nolinkshere-ns": "سئچیلمیش آدفضاسیندا، هئچ صحیفه '''[[:$1]]'''-ه باغلانتی‌سی یوخدور.",
+       "linkshere-2": "آشاغیداکی صفحه‌لر '''$1'''-ه باغلانیب:",
+       "nolinkshere-2": "<strong>$1</strong>-ه هئچ بیر صفحه باغلانماییب‌دیر.",
+       "nolinkshere-ns-2": "سئچیلمیش آدفضاسیندا، هئچ صحیفه '''$1'''-ه باغلانتی‌سی یوخدور.",
        "isredirect": "یوللاندیرما صفحه‌سی",
        "istemplate": "داخیل اولموش",
        "isimage": "فایلا باغلانتی",
        "fileduplicatesearch-result-n": "«$1» فایلینین، {{PLURAL:$2|بیر|$2}} عینی کوپیسی واردیر.",
        "fileduplicatesearch-noresults": "\"$1\" آدیندا فایل تاپیلمادی.",
        "specialpages": "اؤزل صفحه‌لر",
+       "specialpages-note-restricted": "* نورمال اؤزل صفحه‌لر.\n* <span class=\"mw-specialpagerestricted\">محدودلاشدیریلمیش اؤزل صفحه‌لر.</span>",
        "specialpages-group-maintenance": "ساخلانیش گوزاریشلری",
        "specialpages-group-other": "آیری اؤزل صفحه‌لر",
        "specialpages-group-login": "گیریش / حساب یارات",
index 00540ea..033c601 100644 (file)
        "whatlinkshere": "Бында һылтанмалар",
        "whatlinkshere-title": "«$1» битенә һылтанған биттәр",
        "whatlinkshere-page": "Бит:",
-       "linkshere": "'''[[:$1]]''' битенә киләһе биттәр һылтана:",
-       "nolinkshere": "'''[[:$1]]''' битенә бер бит тә һылтанмай.",
-       "nolinkshere-ns": "'''[[:$1]]''' битенә һайланған исемдәр арауығынан бер бит тә һылтанмай.",
+       "linkshere-2": "'''$1''' битенә киләһе биттәр һылтана:",
+       "nolinkshere-2": "'''$1''' битенә бер бит тә һылтанмай.",
+       "nolinkshere-ns-2": "'''$1''' битенә һайланған исемдәр арауығынан бер бит тә һылтанмай.",
        "isredirect": "йүнәлтеү бите",
        "istemplate": "ҡушылған",
        "isimage": "файл һылтанмаһы",
index 143531c..4ca49b6 100644 (file)
        "whatlinkshere": "Links af de Seitn",
        "whatlinkshere-title": "Seitn, wo af „$1“ valinka",
        "whatlinkshere-page": "Seitn:",
-       "linkshere": "De foigandn Seitn valinka af '''„[[:$1]]“''':",
-       "nolinkshere": "Koa Seitn valinkt af '''„[[:$1]]“'''.",
+       "linkshere-2": "De foigandn Seitn valinka af '''„$1“''':",
+       "nolinkshere-2": "Koa Seitn valinkt af '''„$1“'''.",
        "isredirect": "Weidaloatungsseitn",
        "istemplate": "Vorlogneinbindung",
        "isimage": "Dateilink",
        "fileduplicatesearch-info": "$1 × $2 Pixel<br />Daateigress: $3<br />MIME-Typ: $4",
        "fileduplicatesearch-result-1": "Dé Daatei „$1“ hod koane identischen Duplikaate.",
        "specialpages": "Spezialseitn",
+       "specialpages-note-restricted": "* Reguläre Speziaalseiten\n* <span class=\"mw-specialpagerestricted\">Zuagrifsbschränkde Speziaalseiten</span>\n* <span class=\"mw-specialpagecached\">Cachegenerrirde Speziaalseiten (Da Inhoid is méglicherweis vaoiterd)</span>",
        "specialpages-group-maintenance": "Wartungslisten",
        "specialpages-group-other": "Åndre Speziaalseiten",
        "specialpages-group-login": "Åmöden",
index e1037ac..a15010d 100644 (file)
        "whatlinkshere": "ای لینکی که ادا هست",
        "whatlinkshere-title": "صفحاتی که لینگ بوتگنت په \"$1\"",
        "whatlinkshere-page": "صفحه:",
-       "linkshere": "جهلیگی صفحات لینک بوت '''[[:$1]]''':",
-       "nolinkshere": "هچ لینک صفحه ای په '''[[:$1]]'''.",
-       "nolinkshere-ns": "هج صفحه ای لینک نهنت په '''[[:$1]]''' ته ای انتخابی نام فضا",
+       "linkshere-2": "جهلیگی صفحات لینک بوت '''$1''':",
+       "nolinkshere-2": "هچ لینک صفحه ای په '''$1'''.",
+       "nolinkshere-ns-2": "هج صفحه ای لینک نهنت په '''$1''' ته ای انتخابی نام فضا",
        "isredirect": "صفحه غیر مستقیم",
        "istemplate": "همراهی",
        "isimage": "لینک عکس",
        "fileduplicatesearch-result-1": " \"$1\" فایل هچ مشحصین دوبلی نیست.",
        "fileduplicatesearch-result-n": "فایل \"$1\" has {{PLURAL:$2|1 identical duplication|$2 مشخصین کپی بوتن}}.",
        "specialpages": "حاصین صفحات",
+       "specialpages-note-restricted": "* نرمال صفحات حاص.\n*  <strong class=\"mw-specialpagerestricted\">محدودین صفحات حاص.</strong>",
        "specialpages-group-maintenance": "گزارشات دارگ",
        "specialpages-group-other": "دگر حاصین صفحات",
        "specialpages-group-login": "ورود/ثبت نام",
index 427ccdb..a839c35 100644 (file)
        "whatlinkshere": "Ano an mga makasugpon digde",
        "whatlinkshere-title": "Mga pahina na nakasugpon sa \"$1\"",
        "whatlinkshere-page": "Pahina:",
-       "linkshere": "An mga minasunod na pahina isinusugpon sa '''[[:$1]]''':",
-       "nolinkshere": "Mayong mga pahinang kasugpon sa '''[[:$1]]'''.",
-       "nolinkshere-ns": "Mayong pahina na nakatakod sa '''[[:$1]]''' sa piniling ngaran-espacio.",
+       "linkshere-2": "An mga minasunod na pahina isinusugpon sa '''$1''':",
+       "nolinkshere-2": "Mayong mga pahinang kasugpon sa '''$1'''.",
+       "nolinkshere-ns-2": "Mayong pahina na nakatakod sa '''$1''' sa piniling ngaran-espacio.",
        "isredirect": "palikwaton an pahina",
        "istemplate": "pinagkabalihan",
        "isimage": "kasugpon nin sagunson",
        "fileduplicatesearch-noresults": "Mayong sagunson na pinagngaranan na \"$1\" an nanagboan.",
        "specialpages": "Mga espesyal na pahina",
        "specialpages-note-top": "Balaynan",
+       "specialpages-note-restricted": "* Normal sa espesyal na mga pahina.\n* <span class=\"mw-specialpagerestricted\"> Restriktadong espesyal na mga pahina.</span>",
        "specialpages-group-maintenance": "Mga talaan nin pagpangataman",
        "specialpages-group-other": "Iba pang mga espesyal na pahina",
        "specialpages-group-login": "Maglaog / magmukna nin panindog",
index d6730e8..4d3626b 100644 (file)
        "filesource": "Крыніца:",
        "ignorewarning": "Праігнараваць папярэджаньне і захаваць файл",
        "ignorewarnings": "Ігнараваць усе папярэджаньні",
-       "minlength1": "Назва файла павінна ўтрымліваць хаця б адзін сымбаль.",
-       "illegalfilename": "Назва файла «$1» зьмяшчае сымбалі, якія нельга выкарыстоўваць у назвах старонак. Калі ласка, зьмяніце назву файла і паспрабуйце загрузіць яго зноў.",
+       "minlength1": "Назва файлу павінна ўтрымліваць хаця б адну літару.",
+       "illegalfilename": "Назва файлу «$1» зьмяшчае сымбалі, якія нельга выкарыстоўваць у назвах старонак. Калі ласка, зьмяніце назву файлу і паспрабуйце загрузіць яго зноў.",
        "filename-toolong": "Назвы файлаў ня могуць быць даўжэй 240 байтаў.",
        "badfilename": "Назва файла была зьмененая на «$1».",
        "filetype-mime-mismatch": "Пашырэньне файла «.$1» не адпавядае выяўленаму MIME-тыпу файла ($2).",
        "protectedtitles-submit": "Паказаць загалоўкі",
        "listusers": "Сьпіс удзельнікаў і ўдзельніц",
        "listusers-editsonly": "Паказаць толькі ўдзельнікаў, якія маюць рэдагаваньні",
+       "listusers-temporarygroupsonly": "Паказваць толькі ўдзельнікаў у часовых групах удзельнікаў",
        "listusers-creationsort": "Адсартаваць па даце стварэньня",
        "listusers-desc": "Сартаваць па зьмяншэньні",
        "usereditcount": "$1 {{PLURAL:$1|рэдагаваньне|рэдагаваньні|рэдагаваньняў}}",
        "whatlinkshere": "Спасылкі на старонку",
        "whatlinkshere-title": "Старонкі, якія спасылаюцца на $1",
        "whatlinkshere-page": "Старонка:",
-       "linkshere": "Наступныя старонкі спасылаюцца на <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Ніводная старонка не спасылаецца на <strong>[[:$1]]</strong>.",
-       "nolinkshere-ns": "Ніводная старонка не спасылаецца на '''[[:$1]]''' з выбранай прасторы назваў.",
+       "linkshere-2": "Наступныя старонкі спасылаюцца на <strong>$1</strong>:",
+       "nolinkshere-2": "Ніводная старонка не спасылаецца на <strong>$1</strong>.",
+       "nolinkshere-ns-2": "Ніводная старонка не спасылаецца на '''$1''' з выбранай прасторы назваў.",
        "isredirect": "старонка-перанакіраваньне",
        "istemplate": "уключэньне",
        "isimage": "спасылка на файл",
        "pagedata-text": "Гэтая старонка забясьпечвае інтэрфэйс зьвестак для старонак. Калі ласка, увядзіце назву старонкі ў URL-адрас з дапамогай сынтаксысу падстаронак.\n* Узгадненьне зьместу засноўваецца на загалоўку Accept вашага кліенту. Гэта значыць, што зьвесткі старонкі будуць пададзеныя ў фармаце, найлепшым для вашага кліенту.",
        "pagedata-not-acceptable": "Ня знойдзены адпаведны фармат. Падтрымліваюцца MIME-тыпы: $1",
        "pagedata-bad-title": "Няслушная назва: $1.",
-       "unregistered-user-config": "З прычынаў бясьпекі JavaScript, CSS і JSON-падстаронкі ўдзельніка ня могуць быць загружаныя для незарэгістраваных удзельнікаў."
+       "unregistered-user-config": "З прычынаў бясьпекі JavaScript, CSS і JSON-падстаронкі ўдзельніка ня могуць быць загружаныя для незарэгістраваных удзельнікаў.",
+       "passwordpolicies": "Палітыка пароляў",
+       "passwordpolicies-summary": "Гэта сьпіс дзейных палітыкаў пароляў для групаў удзельнікаў, вызначаных у гэтай вікі.",
+       "passwordpolicies-group": "Група",
+       "passwordpolicies-policies": "Палітыкі"
 }
index c7d9bf6..71c2d94 100644 (file)
        "whatlinkshere": "Сюды спасылаюцца",
        "whatlinkshere-title": "Старонкі, якія спасылаюцца на \"$1\"",
        "whatlinkshere-page": "Старонка:",
-       "linkshere": "Наступныя старонкі спасылаюцца на <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Няма старонак, якія б спасылаліся на '''[[:$1]]'''.",
-       "nolinkshere-ns": "Няма старонак, якія б спасылаліся на '''[[:$1]]''' у гэтай прасторы назваў.",
+       "linkshere-2": "Наступныя старонкі спасылаюцца на <strong>$1</strong>:",
+       "nolinkshere-2": "Няма старонак, якія б спасылаліся на '''$1'''.",
+       "nolinkshere-ns-2": "Няма старонак, якія б спасылаліся на '''$1''' у гэтай прасторы назваў.",
        "isredirect": "старонка-перасылка",
        "istemplate": "уключэнне",
        "isimage": "Спасылка на выяву",
        "fileduplicatesearch-noresults": "Не знойдзены файл з іменем «$1».",
        "specialpages": "Адмысловыя старонкі",
        "specialpages-note-top": "Легенда",
+       "specialpages-note-restricted": "* Звычайныя адмысловыя старонкі.\n* <span class=\"mw-specialpagerestricted\">Адмысловыя старонкі з абмежаваным доступам.</span>\n* <span class=\"mw-specialpagecached\">Закэшаваныя адмысловыя старонкі (могуць быць састарэлымі).</span>",
        "specialpages-group-maintenance": "Звесткі аб працы",
        "specialpages-group-other": "Іншыя адмысловыя старонкі",
        "specialpages-group-login": "Прадстаўленне / рэгістрацыя",
index 4fc42bc..40b3be4 100644 (file)
        "whatlinkshere": "Какво сочи насам",
        "whatlinkshere-title": "Страници, които сочат към „$1“",
        "whatlinkshere-page": "Страница:",
-       "linkshere": "Следните страници сочат към <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Няма страници, сочещи към <strong>[[:$1]]</strong>.",
-       "nolinkshere-ns": "Няма страници, сочещи към [[:$1]] в избраното именно пространство.",
+       "linkshere-2": "Следните страници сочат към <strong>$1</strong>:",
+       "nolinkshere-2": "Няма страници, сочещи към <strong>$1</strong>.",
+       "nolinkshere-ns-2": "Няма страници, сочещи към $1 в избраното именно пространство.",
        "isredirect": "пренасочваща страница",
        "istemplate": "включване",
        "isimage": "препратка към файла",
index 6c17aac..bbf7078 100644 (file)
        "whatlinkshere": "لینک په ای تاکدیما",
        "whatlinkshere-title": "تاکدیمان که گو  «$1» لینک دارنت",
        "whatlinkshere-page": "تاکدیم:",
-       "linkshere": "جهلگین دیم بئ  '''[[:$1]]''' ئا لینک داریت:",
-       "nolinkshere": "هیچ دیمی بئ  '''[[:$1]]''' ئا لینک نه داریت.",
-       "nolinkshere-ns": "هیچ دیمی شه انتخاب بوته ئین نامی فضائان بئ  '''[[:$1]]''' ئا لینک نداریت.",
+       "linkshere-2": "جهلگین دیم بئ  '''$1''' ئا لینک داریت:",
+       "nolinkshere-2": "هیچ دیمی بئ  '''$1''' ئا لینک نه داریت.",
+       "nolinkshere-ns-2": "هیچ دیمی شه انتخاب بوته ئین نامی فضائان بئ  '''$1''' ئا لینک نداریت.",
        "isredirect": "تاکدیمی تغییرمسیر داتین",
        "istemplate": "تراگنجانش‌هان",
        "isimage": "فایل لینک",
        "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": "داخل بوتین  / حسابي جوڑ کورتین",
index 5f90062..0468272 100644 (file)
        "whatlinkshere": "इहाँ का जुड़ल बा",
        "whatlinkshere-title": "पन्ना जेवन \"$1\" से जुड़ल बा",
        "whatlinkshere-page": "पन्ना:",
-       "linkshere": "<strong>[[:$1]]</strong> से नीचे दिहल पन्ना जुड़ल बाने:",
-       "nolinkshere": "'''[[:$1]]''' से कौनो पन्ना नइखे जुड़ल।",
-       "nolinkshere-ns": "चुनल गईल सन्दर्भ में '''[[:$1]]''' से कौनो पन्ना ना जुड़ेला।",
+       "linkshere-2": "<strong>$1</strong> से नीचे दिहल पन्ना जुड़ल बाने:",
+       "nolinkshere-2": "'''$1''' से कौनो पन्ना नइखे जुड़ल।",
+       "nolinkshere-ns-2": "चुनल गईल सन्दर्भ में '''$1''' से कौनो पन्ना ना जुड़ेला।",
        "isredirect": "अनुप्रेषित पन्ना",
        "istemplate": "ट्रांस्क्लूजन",
        "isimage": "फाइल कड़ी",
index 2615119..1e3d606 100644 (file)
        "whatlinkshere": "Tautan apa di sia",
        "whatlinkshere-title": "Tungkaran-tungkaran nang batautan ka ''$1''",
        "whatlinkshere-page": "Tungkaran:",
-       "linkshere": "Tungkaran-tungkaran barikut batautan ka '''[[:$1]]''':",
-       "nolinkshere": "Kadada tutungkaran tataut ka '''[[:$1]]'''.",
-       "nolinkshere-ns": "Kadada tutungkaran tataut ka '''[[:$1]]''' dalam ruang-ngaran nang dipilih.",
+       "linkshere-2": "Tungkaran-tungkaran barikut batautan ka '''$1''':",
+       "nolinkshere-2": "Kadada tutungkaran tataut ka '''$1'''.",
+       "nolinkshere-ns-2": "Kadada tutungkaran tataut ka '''$1''' dalam ruang-ngaran nang dipilih.",
        "isredirect": "tungkaran paugahan",
        "istemplate": "transklusi",
        "isimage": "tautan barakas",
        "fileduplicatesearch-result-n": "Barakas ''$1'' baisi {{PLURAL:$2|1 panggandaan parsis|$2 papanggandaan parsis}}.",
        "fileduplicatesearch-noresults": "Kadada barakas bangaran ''$1'' taugai.",
        "specialpages": "Tungkaran istimiwa",
+       "specialpages-note-restricted": "* Tutungkaran istimiwa normal\n* <span class=\"mw-specialpagerestricted\">Tutungkaran istimiwa tabatas.</span>\n* <span class=\"mw-specialpagecached\">Tutungkaran istimiwa timbuluk (pinanya bakulat).</span>",
        "specialpages-group-maintenance": "Lapuran pamaliharaan",
        "specialpages-group-other": "Tungkaran istimiwa lainnya",
        "specialpages-group-login": "Babuat log / mandaptar",
index ccb1fb2..5f2c954 100644 (file)
        "whatlinkshere": "সংযোগকারী পাতাসমূহ",
        "whatlinkshere-title": "যে পাতাগুলি থেকে \"$1\"-এর প্রতি সংযোগ আছে",
        "whatlinkshere-page": "পাতা:",
-       "linkshere": "নিচের পাতাসমূহ '''[[:$1]]''' পাতায় সংযুক্ত আছে:",
-       "nolinkshere": "কোনো পাতা থেকে '''[[:$1]]''' পাতায় সংযোগ নেই।",
-       "nolinkshere-ns": "নির্বাচিত নামস্থানে '''[[:$1]]'''-এর প্রতি কোন পাতা থেকে সংযোগ নেই।",
+       "linkshere-2": "নিচের পাতাসমূহ '''$1''' পাতায় সংযুক্ত আছে:",
+       "nolinkshere-2": "কোনো পাতা থেকে '''$1''' পাতায় সংযোগ নেই।",
+       "nolinkshere-ns-2": "নির্বাচিত নামস্থানে '''$1'''-এর প্রতি কোন পাতা থেকে সংযোগ নেই।",
        "isredirect": "পুনর্নির্দেশ",
        "istemplate": "অন্তর্ভুক্তি",
        "isimage": "ফাইল সংযোগ",
index 33a3f39..97cbed7 100644 (file)
        "whatlinkshere": "གང་དང་སྦྲེལ་བ།",
        "whatlinkshere-title": "\"$1\" ལ སྦྲེལ་ཡོད་པའི་ཤོག་ངོས།",
        "whatlinkshere-page": "ཤོག་ངོས།",
-       "linkshere": "གཤམ་གྱི་ཤོག་ངོས་རྣམས་ '''[[:$1]]''': ལ་སྦྲེལ་ཡོད།",
-       "nolinkshere": "<strong>[[:$1]]</strong> ཤོག་ངོས་གཅིག་ཀྱང་སྦྲེལ་མཐུད་མི་འདུག།",
+       "linkshere-2": "གཤམ་གྱི་ཤོག་ངོས་རྣམས་ '''$1''': ལ་སྦྲེལ་ཡོད།",
+       "nolinkshere-2": "<strong>$1</strong> ཤོག་ངོས་གཅིག་ཀྱང་སྦྲེལ་མཐུད་མི་འདུག།",
        "isimage": "ཡིག་རིས་སྦྲེལ་མཐུད།",
        "whatlinkshere-links": "← སྦྲེལ་མཐུད།",
        "whatlinkshere-hideredirs": "$1 ཁ་ཕྱོགས་བསྐྱར་སྟོན།",
index 476c3a2..f048f56 100644 (file)
        "whatlinkshere": "যে পাতাহানিত্ত এহানাত মিলাপ আসে",
        "whatlinkshere-title": "পাতাহানি $1 -ত মিলাপ আসে",
        "whatlinkshere-page": "পাতা:",
-       "linkshere": "থাঙনার পাতাহানি '''[[:$1]]'''র লগে মিলাপ আসে:",
-       "nolinkshere": "পাতা '''[[:$1]]'''হানাত কোন মিলাপ নেই।",
+       "linkshere-2": "থাঙনার পাতাহানি '''$1'''র লগে মিলাপ আসে:",
+       "nolinkshere-2": "পাতা '''$1'''হানাত কোন মিলাপ নেই।",
        "isredirect": "বুলনদের পাতা",
        "istemplate": "বরানি",
        "isimage": "ফাইল মিলাপ",
index 9fcfa2f..c59dffa 100644 (file)
        "whatlinkshere": "لینک های ای صفحه",
        "whatlinkshere-title": "صفحات آن لینک به \"$1\"",
        "whatlinkshere-page": "بألگە",
-       "linkshere": "لینک صفحات ذیل الذکر به '''[[:$1]]''':",
-       "nolinkshere": "هیچ صفحه ای پیوند نداردبه '''[[:$1]]'''.",
+       "linkshere-2": "لینک صفحات ذیل الذکر به '''$1''':",
+       "nolinkshere-2": "هیچ صفحه ای پیوند نداردبه '''$1'''.",
        "isredirect": "صفحه تغییر مسیر",
        "istemplate": "استفاده‌ وابیده داخل صفحه",
        "isimage": "جانیا هوم پیوند",
index a935884..48547d4 100644 (file)
        "whatlinkshere": "Pajennoù liammet",
        "whatlinkshere-title": "Pajennoù liammet ouzh \"$1\"",
        "whatlinkshere-page": "Pajenn :",
-       "linkshere": "Ar pajennoù a-is zo enno ul liamm a gas war-du '''[[:$1]]''':",
-       "nolinkshere": "N'eus pajenn ebet enni ul liamm war-du '''[[:$1]]'''.",
-       "nolinkshere-ns": "Pajenn ebet n'eo liammet ouzh '''[[:$1]]''' en esaouenn anv dibabet.",
+       "linkshere-2": "Ar pajennoù a-is zo enno ul liamm a gas war-du '''$1''':",
+       "nolinkshere-2": "N'eus pajenn ebet enni ul liamm war-du '''$1'''.",
+       "nolinkshere-ns-2": "Pajenn ebet n'eo liammet ouzh '''$1''' en esaouenn anv dibabet.",
        "isredirect": "pajenn adkas",
        "istemplate": "enframmet",
        "isimage": "Liamm war-zu ar restr",
        "fileduplicatesearch-noresults": "N'eus bet kavet restr ebet anvet \"$1\".",
        "specialpages": "Pajennoù dibar",
        "specialpages-note-top": "Alc'hwez",
+       "specialpages-note-restricted": "* Pajennoù dibar ordinal.\n* <span class=\"mw-specialpagerestricted\">Pajennoù dibar miret strizh.</span>",
        "specialpages-group-maintenance": "Rentaoù-kont trezalc'h",
        "specialpages-group-other": "Pajennoù dibar all",
        "specialpages-group-login": "Kevreañ / krouiñ ur gont",
index 125e3cb..f97f35a 100644 (file)
        "whatlinkshere": "Šta vodi ovamo",
        "whatlinkshere-title": "Stranice koje vode na \"$1\"",
        "whatlinkshere-page": "Stranica:",
-       "linkshere": "Sljedeće stranice vode na <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Nijedna stranica nije povezana sa <strong>[[:$1]]</strong>.",
-       "nolinkshere-ns": "Nijedna stranica nije povezana sa <strong>[[:$1]]</strong> u izabranom imenskom prostoru.",
+       "linkshere-2": "Sljedeće stranice vode na <strong>$1</strong>:",
+       "nolinkshere-2": "Nijedna stranica nije povezana sa <strong>$1</strong>.",
+       "nolinkshere-ns-2": "Nijedna stranica nije povezana sa <strong>$1</strong> u izabranom imenskom prostoru.",
        "isredirect": "preusmjerenje",
        "istemplate": "uključivanje",
        "isimage": "veza na datoteku",
        "fileduplicatesearch-noresults": "Nije pronađena datoteka s imenom \"$1\".",
        "specialpages": "Posebne stranice",
        "specialpages-note-top": "Legenda",
+       "specialpages-note-restricted": "* Normalne posebne stranice.\n* <strong class=\"mw-specialpagerestricted\">Zaštićene posebne stranice.</strong>",
        "specialpages-group-maintenance": "Izvještaji za održavanje",
        "specialpages-group-other": "Ostale posebne stranice",
        "specialpages-group-login": "Prijava / otvaranje računa",
index a8a60d5..fb10a20 100644 (file)
@@ -58,7 +58,8 @@
                        "Syum90",
                        "Xð",
                        "Abella",
-                       "Pierpao"
+                       "Pierpao",
+                       "Amire80"
                ]
        },
        "tog-underline": "Subratlla els enllaços:",
        "prefs-watchlist-edits": "Nombre màxim de modificacions a mostrar en la llista de seguiment:",
        "prefs-watchlist-edits-max": "Nombre màxim: 1000",
        "prefs-watchlist-token": "Testimoni de llista de seguiment:",
+       "prefs-watchlist-managetokens": "Dirigeix testimonis",
        "prefs-misc": "Altres preferències",
        "prefs-resetpass": "Canvia la contrasenya",
        "prefs-changeemail": "Canvia o elimina l’adreça electrònica",
        "whatlinkshere": "Què hi enllaça",
        "whatlinkshere-title": "Pàgines que enllacen amb «$1»",
        "whatlinkshere-page": "Pàgina:",
-       "linkshere": "Les següents pàgines enllacen amb '''[[:$1]]''':",
-       "nolinkshere": "Cap pàgina no enllaça amb '''[[:$1]]'''.",
-       "nolinkshere-ns": "No s'enllaça cap pàgina a '''[[:$1]]''' en l'espai de noms triat.",
+       "linkshere-2": "Les següents pàgines enllacen amb '''$1''':",
+       "nolinkshere-2": "Cap pàgina no enllaça amb '''$1'''.",
+       "nolinkshere-ns-2": "No s'enllaça cap pàgina a '''$1''' en l'espai de noms triat.",
        "isredirect": "pàgina redirigida",
        "istemplate": "inclusió",
        "isimage": "enllaç a fitxer",
index c14d9f5..8ae463f 100644 (file)
        "undelete-search-submit": "尋討",
        "namespace": "Miàng-kŭng-găng:",
        "invert": "Huāng-sōng",
-       "blanknamespace": "(cuō-iéu)",
+       "blanknamespace": "(ciō-iéu)",
        "contributions": "{{GENDER:$1|User}}用戶貢獻",
        "contributions-title": "$1其用戶貢獻",
        "mycontris": "我其貢獻",
        "whatlinkshere": "Diē-nē̤ lièng gáu cē̤-nē̤",
        "whatlinkshere-title": "鏈接遘$1其頁面",
        "whatlinkshere-page": "頁面:",
-       "linkshere": "下底其頁面鏈接遘'''[[:$1]]''':",
-       "nolinkshere": "無頁鏈接遘'''[[:$1]]'''。",
+       "linkshere-2": "下底其頁面鏈接遘'''$1''':",
+       "nolinkshere-2": "無頁鏈接遘'''$1'''。",
        "isredirect": "重定向頁面",
        "isimage": "文件鏈接",
        "whatlinkshere-prev": "{{PLURAL:$1|前|前$1}}",
index 3de2d00..0a9db04 100644 (file)
        "whatlinkshere": "Кхуза хьажоргаш",
        "whatlinkshere-title": "«$1» тӀе хьажоргаш йолу агӀонаш",
        "whatlinkshere-page": "АгӀо:",
-       "linkshere": "ТӀаьхьайогӀу агӀонаш оцу '''[[:$1]]''': хьажоргца ю",
-       "nolinkshere": "ХӀокху '''[[:$1]]''' агӀона тӀе кхечу агӀонашкахь хьажоргаш яц.",
-       "nolinkshere-ns": "Хаьржинчу меттигехь яц '''[[:$1]]''' цӀе йолу агӀонаш",
+       "linkshere-2": "ТӀаьхьайогӀу агӀонаш оцу '''$1''': хьажоргца ю",
+       "nolinkshere-2": "ХӀокху '''$1''' агӀона тӀе кхечу агӀонашкахь хьажоргаш яц.",
+       "nolinkshere-ns-2": "Хаьржинчу меттигехь яц '''$1''' цӀе йолу агӀонаш",
        "isredirect": "агӀо-дӀасахьажорг",
        "istemplate": "юкъаялийнарш",
        "isimage": "Файлан хьажорг",
index 519f21e..415ae14 100644 (file)
        "whatlinkshere": "Unsay mga misumpay dinhi",
        "whatlinkshere-title": "Mga panid nga misumpay ngadto sa \"$1\"",
        "whatlinkshere-page": "Panid:",
-       "linkshere": "Ang mosunod nga mga panid misumpay sa '''[[:$1]]''':",
+       "linkshere-2": "Ang mosunod nga mga panid misumpay sa '''$1''':",
        "isredirect": "panid sa redirekta",
        "istemplate": "transklusyon",
        "isimage": "sumpay sa payl",
index 21c7ea1..138554b 100644 (file)
        "whatlinkshere": "Håfa ha na'chetton guini",
        "whatlinkshere-title": "I påhina siha ni mana'chetton yan \"$1\"",
        "whatlinkshere-page": "Påhina:",
-       "linkshere": "Umachetton i sigienten påhina siha yan '''[[:$1]]''':",
-       "nolinkshere": "Taya' umachetton yan '''[[:$1]]'''.",
+       "linkshere-2": "Umachetton i sigienten påhina siha yan '''$1''':",
+       "nolinkshere-2": "Taya' umachetton yan '''$1'''.",
        "isredirect": "dirihi i påhina",
        "istemplate": "sinaonao",
        "whatlinkshere-prev": "{{PLURAL:$1|ni må'pos|$1 ni manmå'pos}}",
index b23fbab..c0f78de 100644 (file)
        "whatlinkshere": "بەستەرەکان بە ئێرەوە",
        "whatlinkshere-title": "ئەو پەڕانەی بەستەریان ھەیە بۆ «$1»",
        "whatlinkshere-page": "پەڕە:",
-       "linkshere": "پەڕەکانی ژێرەوە بەستەر دراون بۆ <strong>[[:$1]]</strong>:",
-       "nolinkshere": "ھیچ پەڕەیەک بەستەری نییە بۆ <strong>[[:$1]]</strong>.",
-       "nolinkshere-ns": "ھیچ پەڕەیەک بەستەری نییە بۆ <strong>[[:$1]]</strong> لە بۆشایی ناوی هەڵبژێرراودا.",
+       "linkshere-2": "پەڕەکانی ژێرەوە بەستەر دراون بۆ <strong>$1</strong>:",
+       "nolinkshere-2": "ھیچ پەڕەیەک بەستەری نییە بۆ <strong>$1</strong>.",
+       "nolinkshere-ns-2": "ھیچ پەڕەیەک بەستەری نییە بۆ <strong>$1</strong> لە بۆشایی ناوی هەڵبژێرراودا.",
        "isredirect": "پەڕەی ڕەوانەکەر",
        "istemplate": "بەکارھێنراو",
        "isimage": "بەستەری پەڕگە",
        "fileduplicatesearch-result-n": "پەڕگەی «$1» {{PLURAL:$2|١ دووپاتکراوەی کوتوموتی|$2 دووپاتکراوەی کوتوموتی}} ھەیە.",
        "fileduplicatesearch-noresults": "پەڕگەیەک بە ناوی «$1» نەدۆزرایەوە.",
        "specialpages": "پەڕە تایبەتەکان",
+       "specialpages-note-restricted": "* پەڕە تایبەتە ئاساییەکان.\n* <span class=\"mw-specialpagerestricted\">پەڕە تایبەتە بەرگریلێکراوەکان.</span>",
        "specialpages-group-maintenance": "ڕاپۆرتەکانی چاکسازی",
        "specialpages-group-other": "پەڕە تایبەتەکانی دیکە",
        "specialpages-group-login": "چوونەژوورەوە / دروستکردنی ھەژمار",
index 56d36cd..360b865 100644 (file)
        "sp-contributions-submit": "Circà",
        "whatlinkshere": "Pagine chì leganu quì",
        "whatlinkshere-title": "Pagine ligate à \"$1\"",
-       "linkshere": "E seguente pagine sò culligate à '''[[:$1]]''':",
+       "linkshere-2": "E seguente pagine sò culligate à '''$1''':",
        "istemplate": "inclusione",
        "whatlinkshere-prev": "{{PLURAL:$1|precidente|precidenti $1}}",
        "whatlinkshere-next": "{{PLURAL:$1|seguente|seguenti $1}}",
index 5e568a8..214edc4 100644 (file)
        "whatlinkshere": "Ang nagatabid diri",
        "whatlinkshere-title": "Mga pahina nga naga-link sa $1",
        "whatlinkshere-page": "Pahina:",
-       "linkshere": "Ang mga gasunod nga pahina ga-link sa '''[[:$1]]''':",
+       "linkshere-2": "Ang mga gasunod nga pahina ga-link sa '''$1''':",
        "isredirect": "pahina pangdirekta",
        "istemplate": "transklusyon",
        "isimage": "Link sang litrato",
index df4f8fd..27ff8ba 100644 (file)
        "whatlinkshere": "Бу саифеге багълантылар",
        "whatlinkshere-title": "«$1» саифесине багъланты олгъан саифелер",
        "whatlinkshere-page": "Саифе:",
-       "linkshere": "'''[[:$1]]''' саифесине багъланты берген саифелер:",
-       "nolinkshere": "'''[[:$1]]''' саифесине багъланты берген саифе ёкъ.",
-       "nolinkshere-ns": "Сайлангъан исим фезасында '''[[:$1]]''' саифесине багълангъан саифе ёкътыр.",
+       "linkshere-2": "'''$1''' саифесине багъланты берген саифелер:",
+       "nolinkshere-2": "'''$1''' саифесине багъланты берген саифе ёкъ.",
+       "nolinkshere-ns-2": "Сайлангъан исим фезасында '''$1''' саифесине багълангъан саифе ёкътыр.",
        "isredirect": "Ёллама саифеси",
        "istemplate": "кирсетильме",
        "isimage": "файл багълантысы",
index 7db085b..cd350ed 100644 (file)
        "whatlinkshere": "Bu saifege bağlantılar",
        "whatlinkshere-title": "“$1” saifesine bağlantı bergen saifeler",
        "whatlinkshere-page": "Saife:",
-       "linkshere": "'''[[:$1]]''' saifesine bağlantı bergen saifeler:",
-       "nolinkshere": "'''[[:$1]]''' saifesine bağlantı bergen saife yoq.",
-       "nolinkshere-ns": "Saylanğan isim fezasında '''[[:$1]]''' saifesine bağlanğan saife yoqtır.",
+       "linkshere-2": "'''$1''' saifesine bağlantı bergen saifeler:",
+       "nolinkshere-2": "'''$1''' saifesine bağlantı bergen saife yoq.",
+       "nolinkshere-ns-2": "Saylanğan isim fezasında '''$1''' saifesine bağlanğan saife yoqtır.",
        "isredirect": "Yollama saifesi",
        "istemplate": "kirsetilme",
        "isimage": "fayl bağlantısı",
index 113a994..160fc43 100644 (file)
        "protectedtitles-submit": "Zobrazit názvy",
        "listusers": "Uživatelé",
        "listusers-editsonly": "Zobrazit pouze uživatele s editacemi",
+       "listusers-temporarygroupsonly": "Zobrazit pouze uživatele v dočasných uživatelských skupinách",
        "listusers-creationsort": "Seřadit podle data registrace",
        "listusers-desc": "Řadit sestupně",
        "usereditcount": "$1 {{PLURAL:$1|editace|editace|editací}}",
        "whatlinkshere": "Odkazuje sem",
        "whatlinkshere-title": "Stránky odkazující na „$1“",
        "whatlinkshere-page": "Strana:",
-       "linkshere": "Na '''[[:$1]]''' odkazují tyto stránky:",
-       "nolinkshere": "Žádná stránka na '''[[:$1]]''' neodkazuje.",
-       "nolinkshere-ns": "Ve zvoleném jmenném prostoru na '''[[:$1]]''' neodkazuje žádná stránka.",
+       "linkshere-2": "Na <strong>$1</strong> odkazují tyto stránky:",
+       "nolinkshere-2": "Žádná stránka na <strong>$1</strong> neodkazuje.",
+       "nolinkshere-ns-2": "Ve zvoleném jmenném prostoru na <strong>$1</strong> neodkazuje žádná stránka.",
        "isredirect": "přesměrování",
        "istemplate": "vložení",
        "isimage": "vložení souboru",
index d441b53..3620a0b 100644 (file)
        "whatlinkshere": "Lënkùjącé",
        "whatlinkshere-title": "Starnë lënkùjącé do \"$1\"",
        "whatlinkshere-page": "Starna:",
-       "linkshere": "Do '''[[:$1]]''' lënkùją hewòtné starnë:",
-       "nolinkshere": "Niżódnô starna nie lënkùje do '''[[:$1]]'''.",
+       "linkshere-2": "Do '''$1''' lënkùją hewòtné starnë:",
+       "nolinkshere-2": "Niżódnô starna nie lënkùje do '''$1'''.",
        "isredirect": "starna przeczerowaniô",
        "istemplate": "doparłãczony",
        "isimage": "lënk do lopka",
index 4343b61..c490c2a 100644 (file)
        "whatlinkshere": "дос҄ьдєщьнѩ съвѧꙁиѥ",
        "whatlinkshere-title": "страницѧ ижє съ ⁖ $1 ⁖ съвѧꙁи имѫтъ",
        "whatlinkshere-page": "страница :",
-       "linkshere": "сѩ страницѧ съ <strong>[[:$1]]</strong> съвѧꙁи имѫтъ :",
+       "linkshere-2": "сѩ страницѧ съ <strong>$1</strong> съвѧꙁи имѫтъ :",
        "isredirect": "прѣнаправлѥниѥ",
        "istemplate": "внѫтри страницѧ",
        "isimage": "дѣла съвѧꙁь",
index 4de9d8c..18fd2f6 100644 (file)
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (пăхăр [[Special:NewPages|çĕнĕ страницăсен списокĕ]])",
        "recentchanges-legend-plusminus": "(<em>±123</em>)",
        "recentchanges-submit": "Кăтарт",
+       "rcfilters-legend-heading": "<strong>Кĕскетнисем:</strong>",
        "rcfilters-filter-user-experience-level-newcomer-label": "Çĕнĕ хутшăнакансем",
        "rclistfrom": "$2, $3 тытăнса çĕнĕ улăшăнисене кăтартни",
        "rcshowhideminor": "пĕчĕк тӳрлетнисене $1",
        "sp-contributions-submit": "Шыра",
        "whatlinkshere": "Кунта каçаканнисем",
        "whatlinkshere-title": "\"$1\" çине каçакан страницăсем",
-       "linkshere": "<strong>[[:$1]]</strong> çине каçакан страницăсем:",
-       "nolinkshere": "'''[[:$1]]''' страница çине ытти страницăсенчен килме пулмасть.",
+       "linkshere-2": "<strong>$1</strong> çине каçакан страницăсем:",
+       "nolinkshere-2": "'''$1''' страница çине ытти страницăсенчен килме пулмасть.",
        "whatlinkshere-prev": "{{PLURAL:$1|унчченхи|унчченхи $1}}",
        "whatlinkshere-next": "{{PLURAL:$1|урăххи|урăххисем $1}}",
        "whatlinkshere-links": "← каçаканнисем",
index d6fb2bf..fc7cf59 100644 (file)
        "whatlinkshere": "Beth sy'n cysylltu yma",
        "whatlinkshere-title": "Tudalennau sy'n cysylltu â \"$1\"",
        "whatlinkshere-page": "Tudalen:",
-       "linkshere": "Mae'r tudalennau isod yn cysylltu â '''[[:$1]]''':",
-       "nolinkshere": "Nid oes cyswllt ar unrhyw dudalen arall syn arwain at '''[[:$1]]'''.",
-       "nolinkshere-ns": "Nid oes cyswllt ar unrhyw dudalen yn y parth dewisedig sy'n arwain at '''[[:$1]]'''.",
+       "linkshere-2": "Mae'r tudalennau isod yn cysylltu â '''$1''':",
+       "nolinkshere-2": "Nid oes cyswllt ar unrhyw dudalen arall syn arwain at '''$1'''.",
+       "nolinkshere-ns-2": "Nid oes cyswllt ar unrhyw dudalen yn y parth dewisedig sy'n arwain at '''$1'''.",
        "isredirect": "tudalen ailgyfeirio",
        "istemplate": "cynhwysiad",
        "isimage": "cyswllt ffeil",
index 652e426..067c6fc 100644 (file)
        "whatlinkshere": "Hvad henviser hertil",
        "whatlinkshere-title": "Sider der linker til \"$1\"",
        "whatlinkshere-page": "Side:",
-       "linkshere": "De følgende sider henviser til '''„[[:$1]]“''':",
-       "nolinkshere": "Ingen sider henviser til '''„[[:$1]]“'''.",
-       "nolinkshere-ns": "Ingen side henviser til '''„[[:$1]]“''' i det valgte navnerum.",
+       "linkshere-2": "De følgende sider henviser til '''„$1“''':",
+       "nolinkshere-2": "Ingen sider henviser til '''„$1“'''.",
+       "nolinkshere-ns-2": "Ingen side henviser til '''„$1“''' i det valgte navnerum.",
        "isredirect": "omdirigeringsside",
        "istemplate": "indlejring",
        "isimage": "filhenvisning",
        "fileduplicatesearch-noresults": "Ingen fil med navnet \"$1\" blev fundet.",
        "specialpages": "Specialsider",
        "specialpages-note-top": "Forklaring",
+       "specialpages-note-restricted": "* Normale specialsider.\n* <span class=\"mw-specialpagerestricted\">Specialsider med begrænset adgang.</span>",
        "specialpages-group-maintenance": "Vedligeholdelsesside",
        "specialpages-group-other": "Andre specialsider",
        "specialpages-group-login": "Log på / opret bruger",
index 98438c2..2718774 100644 (file)
        "blanknamespace": "(Seiten)",
        "contributions-title": "Benutzerbeiträge von «$1»",
        "whatlinkshere-title": "Seiten, die auf «$1» verlinken",
-       "linkshere": "Die folgenden Seiten verlinken auf '''«[[:$1]]»''':",
-       "nolinkshere": "Keine Seite verlinkt auf '''«[[:$1]]»'''.",
-       "nolinkshere-ns": "Keine Seite verlinkt auf '''«[[:$1]]»''' im gewählten Namensraum.",
+       "linkshere-2": "Die folgenden Seiten verlinken auf '''«$1»''':",
+       "nolinkshere-2": "Keine Seite verlinkt auf '''«$1»'''.",
+       "nolinkshere-ns-2": "Keine Seite verlinkt auf '''«$1»''' im gewählten Namensraum.",
        "ipb-confirmhideuser": "Du bist gerade dabei, einen Benutzer im Modus «Benutzer verstecken» zu sperren. Dies führt dazu, dass der Benutzername in allen Listen und Logbüchern unterdrückt wird. Möchtest du das wirklich tun?",
        "ipb-unblock-addr": "«$1» freigeben",
        "ipb-blocklist-contribs": "Benutzerbeiträge von «$1»",
index 6b212c9..bbc8a08 100644 (file)
        "protectedtitles-submit": "Titel anzeigen",
        "listusers": "Benutzerverzeichnis",
        "listusers-editsonly": "Zeige nur Benutzer mit Beiträgen",
+       "listusers-temporarygroupsonly": "Nur Benutzer in temporären Benutzergruppen anzeigen",
        "listusers-creationsort": "Nach Erstelldatum sortieren",
        "listusers-desc": "In absteigender Reihenfolge sortieren",
        "usereditcount": "$1 {{PLURAL:$1|Bearbeitung|Bearbeitungen}}",
        "whatlinkshere": "Links auf diese Seite",
        "whatlinkshere-title": "Seiten, die auf „$1“ verlinken",
        "whatlinkshere-page": "Seite:",
-       "linkshere": "Die folgenden Seiten verlinken auf <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Keine Seite verlinkt auf '''„[[:$1]]“'''.",
-       "nolinkshere-ns": "Keine Seite verlinkt auf '''„[[:$1]]“''' im gewählten Namensraum.",
+       "linkshere-2": "Die folgenden Seiten verlinken auf <strong>$1</strong>:",
+       "nolinkshere-2": "Keine Seite verlinkt auf '''„$1“'''.",
+       "nolinkshere-ns-2": "Keine Seite verlinkt auf '''„$1“''' im gewählten Namensraum.",
        "isredirect": "Weiterleitungsseite",
        "istemplate": "Vorlageneinbindung",
        "isimage": "Dateilink",
        "pagedata-text": "Diese Seite stellt eine Datenschnittstelle für Seiten zur Verfügung. Bitte gib mithilfe der Unterseitensyntax den Seitentitel in der URL an.\n* Übertragungen von Inhalten werden basierend auf dem Accept-Header deines Clients ausgeführt. Das bedeutet, dass die Seitendaten in dem Format zur Verfügung gestellt werden, das von deinem Client bevorzugt wird.",
        "pagedata-not-acceptable": "Kein passendes Format gefunden. Unterstützte MIME-Typen: $1",
        "pagedata-bad-title": "Ungültiger Titel: $1.",
-       "unregistered-user-config": "Aus Sicherheitsgründen können JavaScript-, CSS- und JSON-Benutzerunterseiten nicht für unangemeldete Benutzer geladen werden."
+       "unregistered-user-config": "Aus Sicherheitsgründen können JavaScript-, CSS- und JSON-Benutzerunterseiten nicht für unangemeldete Benutzer geladen werden.",
+       "passwordpolicies": "Passwortrichtlinien",
+       "passwordpolicies-summary": "Dies ist eine Liste der wirksamen Passwortrichtlinien für die in diesem Wiki definierten Benutzergruppen.",
+       "passwordpolicies-group": "Gruppe",
+       "passwordpolicies-policies": "Richtlinien",
+       "passwordpolicies-policy-minimalpasswordlength": "Ein Passwort muss mindestens {{PLURAL:$1|ein|$1}} Zeichen lang sein",
+       "passwordpolicies-policy-minimumpasswordlengthtologin": "Ein Passwort muss mindestens {{PLURAL:$1|ein|$1}} Zeichen zur Anmeldung lang sein",
+       "passwordpolicies-policy-passwordcannotmatchusername": "Ein Passwort kann nicht mit dem Benutzernamen identisch sein",
+       "passwordpolicies-policy-passwordcannotmatchblacklist": "Ein Passwort kann nicht mit speziellen schwarzgelisteten Passwörtern übereinstimmen",
+       "passwordpolicies-policy-maximalpasswordlength": "Ein Passwort muss weniger als {{PLURAL:$1|ein|$1}} Zeichen lang sein",
+       "passwordpolicies-policy-passwordcannotbepopular": "Ein Passwort kann nicht {{PLURAL:$1|das beliebteste Passwort|in der Liste der $1 beliebtesten Passwörter}} sein"
 }
index 1a80395..f80e87f 100644 (file)
        "whatlinkshere": "Linkê tedeestey",
        "whatlinkshere-title": "Wesiqe da \"$1\" rê gıre dayen perri",
        "whatlinkshere-page": "Pele:",
-       "linkshere": "Pera <strong>[[:$1]]</strong> rê gıre dayen perri",
-       "nolinkshere": "Per da '''[[:$1]]''' rê pera ke gıre dana çıniya.",
-       "nolinkshere-ns": "Cayo ke namey rê weçinayo de qet perre '''[[:$1]]''' rê link nêbena.",
+       "linkshere-2": "Pera <strong>$1</strong> rê gıre dayen perri",
+       "nolinkshere-2": "Per da '''$1''' rê pera ke gıre dana çıniya.",
+       "nolinkshere-ns-2": "Cayo ke namey rê weçinayo de qet perre '''$1''' rê link nêbena.",
        "isredirect": "pera hetenayışi",
        "istemplate": "Açarnayene",
        "isimage": "gırey dosye",
        "fileduplicatesearch-noresults": "Ebe namey \"$1\" ra dosya nêdiyayê.",
        "specialpages": "Perrê xısusiy",
        "specialpages-note-top": "Kıtabek",
+       "specialpages-note-restricted": "* Pelê xasê normali.\n* <span class=\"mw-specialpagerestricted\">Pelê xasê nımıtey.</span>",
        "specialpages-group-maintenance": "Raporê pawıtışi",
        "specialpages-group-other": "Pelê xısusiyê bini",
        "specialpages-group-login": "Dekew / hesab vıraz",
index 1cffbde..2b8e205 100644 (file)
        "whatlinkshere": "Wótkaze na toś ten bok",
        "whatlinkshere-title": "Boki, kótarež wótkazuju na \"$1\"",
        "whatlinkshere-page": "bok:",
-       "linkshere": "Toś te boki wótkazuju na '''„[[:$1]]“''':",
-       "nolinkshere": "Žedne boki njewótkazuju na '''[[:$1]]'''.",
-       "nolinkshere-ns": "Žedne boki we wubranem mjenjowem rumje njewótkazuju na '''[[:$1]]'''.",
+       "linkshere-2": "Toś te boki wótkazuju na '''„$1“''':",
+       "nolinkshere-2": "Žedne boki njewótkazuju na '''$1'''.",
+       "nolinkshere-ns-2": "Žedne boki we wubranem mjenjowem rumje njewótkazuju na '''$1'''.",
        "isredirect": "dalejpósrědnjujucy bok",
        "istemplate": "zawězanje pśedłogi",
        "isimage": "datajowy wótkaz",
        "fileduplicatesearch-noresults": "Žedna dataja z mjenim \"$1\" namakana.",
        "specialpages": "Specialne boki",
        "specialpages-note-top": "Legenda",
+       "specialpages-note-restricted": "* Normalne specialne boki.\n* <span class=\"mw-specialpagerestricted\">Specialne boki z wobgranicowanym pśistupom.</span>",
        "specialpages-group-maintenance": "Wótwardowańske lisćiny",
        "specialpages-group-other": "Druge specialne boki",
        "specialpages-group-login": "Pśizjawiś/Konto załožyś",
index 64052ed..00b5f14 100644 (file)
        "whatlinkshere": "Nunu poingoput hiti",
        "whatlinkshere-title": "Bolikon di poingoput id \"$1\"",
        "whatlinkshere-page": "Bolikon:",
-       "linkshere": "Bolikon diti poingoput kumaa id  '''[[:$1]]''':",
-       "nolinkshere": "Ingaa bolikon poingoput id '''[[:$1]]'''.",
+       "linkshere-2": "Bolikon diti poingoput kumaa id  '''$1''':",
+       "nolinkshere-2": "Ingaa bolikon poingoput id '''$1'''.",
        "isredirect": "bolikon pinotilombus",
        "istemplate": "alanai",
        "isimage": "noputan do upa",
index b1ed3d9..99021a1 100644 (file)
        "whatlinkshere": "याँखाइ कि जोणीन्छ",
        "whatlinkshere-title": "$1 सित जोडियाऽ पन्नाअन",
        "whatlinkshere-page": "पानो",
-       "linkshere": "निम्न पानाहरू '''[[:$1]]''' मी जुडन्छ :",
-       "nolinkshere-ns": "चुनियाको नामस्थानमी '''[[:$1]]''' सित जुड्न्या पानाहरू नाइथिन्।",
+       "linkshere-2": "निम्न पानाहरू '''$1''' मी जुडन्छ :",
+       "nolinkshere-ns-2": "चुनियाको नामस्थानमी '''$1''' सित जुड्न्या पानाहरू नाइथिन्।",
        "isredirect": "अनुप्रेषित पानो",
        "istemplate": "पारदर्शिता",
        "isimage": "फाइल लिङ्क",
        "redirect-revision": "पन्ना संशोधन",
        "redirect-file": "फाइलनाउँ",
        "specialpages": "खास पन्नाअन",
+       "specialpages-note-restricted": "* साधारण खास पानाहरू।\n* <span class=\"mw-specialpagerestricted\">निषेधित खास पानाहरू।</span>",
        "specialpages-group-changes": "अल्लैका परिवर्तन लगहरू",
        "tags": "मान्य परिवर्तन ट्यागहरू",
        "tag-filter": "[[Special:Tags|पुछड]] छानिन्या",
index 2e187cc..e8cbc3f 100644 (file)
        "whatlinkshere": "A pûnten ché",
        "whatlinkshere-title": "Pàgini che pûnten a \"$1\"",
        "whatlinkshere-page": "Pàgina:",
-       "linkshere": "Al pàgini segvèinti a gh'àn di colegamèint a '''[[:$1]]'''.",
-       "nolinkshere": "Nisóna pàgina la gh'à dèinter colegamèint che pûnten a '''[[:$1]]'''.",
+       "linkshere-2": "Al pàgini segvèinti a gh'àn di colegamèint a '''$1'''.",
+       "nolinkshere-2": "Nisóna pàgina la gh'à dèinter colegamèint che pûnten a '''$1'''.",
        "isredirect": "Pàgina redirect",
        "istemplate": "uniòun",
        "isimage": "Colegamèint vêrs al file",
index f54ef28..ec816d5 100644 (file)
        "subject-preview": "Προεπισκόπηση θέματος:",
        "previewerrortext": "Παρουσιάστηκε σφάλμα κατά την προσπάθεια για να κάνετε προεπισκόπηση των αλλαγών σας.",
        "blockedtitle": "Ο χρήστης έχει υποστεί φραγή.",
-       "blockedtext": "'''Το όνομα χρήστη σας ή η διεύθυνση IP σας έχει υποστεί φραγή.'''\n\nΗ φραγή έγινε από τον/την $1.\nΗ αιτιολογία που δόθηκε είναι: ''$2''.\n\n* Έναρξη φραγής: $8\n* Λήξη φραγής: $6\n* Η φραγή προορίζεται για το χρήστη: $7\n\nΜπορείτε να απευθυνθείτε στον/στην $1 ή σε κάποιον άλλον [[{{MediaWiki:Grouppage-sysop}}|διαχειριστή]] για να συζητήσετε τη φραγή.\nΔεν μπορείτε να χρησιμοποιήσετε την δυνατότητα «αποστολή e-mail σε αυτό το χρήστη» εκτός αν μια έγκυρη ηλεκτρονική διεύθυνση έχει οριστεί στις [[Special:Preferences|προτιμήσεις χρήστη]] σας.\nΗ τρέχουσα διεύθυνση IP σας είναι $3, και ο αριθμός αναγνώρισης της φραγής είναι #$5.\nΠαρακαλούμε περιλαμβάνετε οποιοδήποτε ή και τα δύο από αυτά σε οποιαδήποτε ερωτήματα σας.",
+       "blockedtext": "<strong>Το όνομα χρήστη σας ή η διεύθυνση IP σας έχει υποστεί φραγή.</strong>\n\nΗ φραγή έγινε από τον/την $1.\nΗ αιτιολογία που δόθηκε είναι: <em>$2</em>.\n\n* Έναρξη φραγής: $8\n* Λήξη φραγής: $6\n* Η φραγή προορίζεται για το χρήστη: $7\n\nΜπορείτε να απευθυνθείτε στον/στην $1 ή σε κάποιον άλλον [[{{MediaWiki:Grouppage-sysop}}|διαχειριστή]] για να συζητήσετε τη φραγή.\nΔεν μπορείτε να χρησιμοποιήσετε την δυνατότητα \"{{int:emailuser}}\" εκτός αν μια έγκυρη ηλεκτρονική διεύθυνση έχει οριστεί στις [[Special:Preferences|προτιμήσεις χρήστη]] σας.\nΗ τρέχουσα διεύθυνση IP σας είναι $3, και ο αριθμός αναγνώρισης της φραγής είναι #$5.\nΠαρακαλούμε περιλαμβάνετε οποιοδήποτε ή και τα δύο από αυτά σε οποιαδήποτε ερωτήματα σας.",
        "autoblockedtext": "Η διεύθυνση IP σας έχει υποστεί φραγή αυτόματα επειδή χρησιμοποιήθηκε από έναν άλλο χρήστη, ο οποίος και αποκλείστηκε από τον/την $1.\nΗ αιτιολόγηση που δόθηκε είναι η εξής:\n\n:<em>$2</em>\n\n* Έναρξη φραγής: $8\n* Λήξη φραγής: $6\n* Επιδιωκόμενος αποκλεισμένος: $7\n\nΜπορείτε να επικοινωνήσετε με τον/την $1 ή με κάποιον από τους άλλους [[{{MediaWiki:Grouppage-sysop}}|διαχειριστές]] για να συζητήσετε τη φραγή.\n\nΝα σημειωθεί ότι δεν μπορείτε να χρησιμοποιήσετε τη λειτουργία «αποστολή μηνύματος ηλεκτρονικού ταχυδρομείου σε αυτόν τον χρήστη» εκτός αν έχετε μια έγκυρη διεύθυνση ηλεκτρονικού ταχυδρομείου καταχωρισμένη στις [[Special:Preferences|προτιμήσεις χρήστη]] σας.\n\nΗ τρέχουσα διεύθυνση IP σας είναι $3 και το αναγνωριστικό της φραγής σας είναι #$5. Παρακαλούμε συμπεριλάβετε τις παραπάνω λεπτομέρειες σε όποια ερωτήματα κάνετε.",
        "systemblockedtext": "Το όνομα χρήστη σας ή η διεύθυνση IP έχει αποκλειστεί αυτόματα από το MediaWiki.\nΗ αιτία που δόθηκε είναι:\n\n:<em>$2</em>\n\n* Έναρξη φραγής: $8\n* Λήξη φραγής: $6\n* Στόχος φραγής: $7\n\nΗ τρέχουσα διεύθυνση IP σας είναι $3.\nΠαρακαλούμε να συμπεριλάβετε όλα τα παραπάνω στοιχεία σε τυχόν απορίες σας.",
        "blockednoreason": "δεν δόθηκε λόγος",
        "sp-deletedcontributions-contribs": "συνεισφορές",
        "linksearch": "Αναζήτηση εξωτερικών συνδέσμων",
        "linksearch-pat": "Μοτίβο αναζήτησης:",
-       "linksearch-ns": "ΠεÏ\81ιοÏ\87ή:",
+       "linksearch-ns": "Î\9fνομαÏ\84οÏ\87Ï\8eÏ\81οÏ\82:",
        "linksearch-ok": "Αναζήτηση",
        "linksearch-text": "Μπορούν να χρησιμοποιηθούν χαρακτήρες μπαλαντέρ όπως \"*.wikipedia.org\". \nΧρειάζεται τουλάχιστον μια κατάληξη ανωτάτου επιπέδου, για παράδειγμα \"*.org\".<br />\n{{PLURAL:$2|Υποστηριζόμενο πρωτόκολλο|Υποστηριζόμενα πρωτόκολλα}}: $1 (αν δεν οριστεί πρωτόκολλο η προεπιλογή είναι http://).",
        "linksearch-line": "Η σελίδα $1 συνδέεται από την $2",
        "whatlinkshere": "Τι συνδέει εδώ",
        "whatlinkshere-title": "Σελίδες που συνδέουν στη σελίδα «$1»",
        "whatlinkshere-page": "Σελίδα:",
-       "linkshere": "Οι ακόλουθες σελίδες συνδέουν στη σελίδα '''[[:$1]]''':",
-       "nolinkshere": "Δεν υπάρχουν σελίδες που να συνδέουν στη σελίδα '''[[:$1]]'''.",
-       "nolinkshere-ns": "Καμία σελίδα δεν συνδέει στο '''[[:$1]]''' στον επιλεγμένο ονοματοχώρο.",
+       "linkshere-2": "Οι ακόλουθες σελίδες συνδέουν στη σελίδα '''$1''':",
+       "nolinkshere-2": "Δεν υπάρχουν σελίδες που να συνδέουν στη σελίδα '''$1'''.",
+       "nolinkshere-ns-2": "Καμία σελίδα δεν συνδέει στο '''$1''' στον επιλεγμένο ονοματοχώρο.",
        "isredirect": "σελίδα ανακατεύθυνσης",
        "istemplate": "ενσωμάτωση",
        "isimage": "σύνδεσμος αρχείου",
        "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": "Σύνδεση / δημιουργία λογαριασμού",
index 236d6e5..f36c8ed 100644 (file)
        "listusers": "User list",
        "listusers-summary": "",
        "listusers-editsonly": "Show only users with edits",
+       "listusers-temporarygroupsonly": "Show only users in temporary user groups",
        "listusers-creationsort": "Sort by creation date",
        "listusers-desc": "Sort in descending order",
        "usereditcount": "$1 {{PLURAL:$1|edit|edits}}",
        "whatlinkshere-title": "Pages that link to \"$1\"",
        "whatlinkshere-summary": "",
        "whatlinkshere-page": "Page:",
-       "linkshere": "The following pages link to <strong>[[:$1]]</strong>:",
-       "nolinkshere": "No pages link to <strong>[[:$1]]</strong>.",
-       "nolinkshere-ns": "No pages link to <strong>[[:$1]]</strong> in the chosen namespace.",
+       "linkshere-2": "The following pages link to <strong>$1</strong>:",
+       "nolinkshere-2": "No pages link to <strong>$1</strong>.",
+       "nolinkshere-ns-2": "No pages link to <strong>$1</strong> in the chosen namespace.",
        "isredirect": "redirect page",
        "istemplate": "transclusion",
        "isimage": "file link",
        "pagedata-text": "This page provides a data interface to pages. Please provide the page title in the URL, using subpage syntax.\n* Content negotiation applies based on your client's Accept header. This means that the page data will be provided in the format preferred by your client.",
        "pagedata-not-acceptable": "No matching format found. Supported MIME types: $1",
        "pagedata-bad-title": "Invalid title: $1.",
-       "unregistered-user-config": "For security reasons JavaScript, CSS and JSON user subpages cannot be loaded for unregistered users."
+       "unregistered-user-config": "For security reasons JavaScript, CSS and JSON user subpages cannot be loaded for unregistered users.",
+       "passwordpolicies": "Password policies",
+       "passwordpolicies-summary": "This is a list of the effective password policies for the user groups defined in this wiki.",
+       "passwordpolicies-helppage": "Manual:$wgPasswordPolicy",
+       "passwordpolicies-group": "Group",
+       "passwordpolicies-policies": "Policies",
+       "passwordpolicies-policy-display": "<span class=\"passwordpolicies-policy\">$1 <code>($2)</code></span>",
+       "passwordpolicies-policy-minimalpasswordlength": "Password must be at least $1 {{PLURAL:$1|character|characters}} long",
+       "passwordpolicies-policy-minimumpasswordlengthtologin": "Password must be at least $1 {{PLURAL:$1|character|characters}} long to be able to login",
+       "passwordpolicies-policy-passwordcannotmatchusername": "Password cannot be the same as username",
+       "passwordpolicies-policy-passwordcannotmatchblacklist": "Password cannot match specifically blacklisted passwords",
+       "passwordpolicies-policy-maximalpasswordlength": "Password must be less than $1 {{PLURAL:$1|character|characters}} long",
+       "passwordpolicies-policy-passwordcannotbepopular": "Password cannot be {{PLURAL:$1|the popular password|in the list of $1 popular passwords}}"
 }
index 58cf7dd..cebd18b 100644 (file)
        "subject-preview": "Antaŭrigardo de temo:",
        "previewerrortext": "Dum provo antaŭrigardi viajn ŝanĝojn okazis eraro.",
        "blockedtitle": "La uzanto estas forbarita.",
-       "blockedtext": "'''Via konto aŭ IP-adreso estis forbarita'''\n\nLa forbaro estis farita de $1.\nLa skribita kialo estas ''$2''.\n\n* Komenco de forbaro: $8\n* Findato de forbarado: $6\n* Intencita forbarito: $7\n\nVi rajtas kontakti $1 aŭ alian [[{{MediaWiki:Grouppage-sysop}}|administranton]] por pridiskuti la forbaradon.\nVi ne povas uzi la 'retpoŝtan' funkcion, escepte se vi indikis validan retpoŝtan adreson en viaj [[Special:Preferences|kontaj agordoj]] kaj vi ne estas blokita uzi ĝin.\nVia IP-adreso estas $3 kaj la ID de la forbarado estas $5.\nBonvolu mencii jenajn indikojn en viaj ĉi-temaj kontaktoj.",
+       "blockedtext": "'''Via konto aŭ IP-adreso estis blokita'''\n\nLa bloko estis farita de $1.\nLa skribita kialo estas ''$2''.\n\n* Komenco de forbaro: $8\n* Findato de forbarado: $6\n* Intencita forbarito: $7\n\nVi rajtas kontakti $1 aŭ alian [[{{MediaWiki:Grouppage-sysop}}|administranton]] por pridiskuti la forbaradon.\nVi ne povas uzi la funkcion “{{int:emailuser}}”, escepte se vi indikis validan retpoŝtan adreson en viaj [[Special:Preferences|kontaj agordoj]] kaj vi ne estas blokita uzi ĝin.\nVia IP-adreso estas $3 kaj la ID de la forbarado estas $5.\nBonvolu mencii jenajn indikojn en viaj ĉi-temaj kontaktoj.",
        "autoblockedtext": "Via IP-adreso estas aŭtomate forbarita, ĉar uzis ĝin alia uzanto, kiun baris $1.\nLa donita kialo estas:\n\n:''$2''\n\n*Komenco de forbaro: $8\n*Limdato de la blokado: $6\n*Intencis forbari uzanton: $7\n\nVi povas kontakti $1 aŭ iun ajn el la aliaj [[{{MediaWiki:Grouppage-sysop}}|administrantojn]] por diskuti la blokon.\n\nNotu, ke vi ne povas uzi la servon \"Retpoŝtu ĉi tiu uzanton\" krom se vi havas validan retpoŝt-adreson registritan en viaj [[Special:Preferences|preferojn]], kaj vi estas ne blokita kontraŭ ĝia uzado.\n\nVia nuna IP-adreso estas $3, kaj la forbaro-identigo estas $5.\nBonvolu inkluzivi tiujn detalojn en iuj ajn demandoj kiun vi farus.",
        "systemblockedtext": "Via salutnomo aŭ IPa adreso estis aŭtomate forbarita de MediaWiki.\nLa kialo donita estas:\n\n:<em>$2</em>\n\n* Komenco de forbaro: $8\n* Eksvalidiĝo de forbaro: $6\n* Intenca forbarulo: $7\n\nVia nuna IPa adreso estas $3.\nBonvolu inkluzivi ĉiuj supraj detaloj en ajnaj demandoj vi faras.",
        "blockednoreason": "neniu kialo estis donita",
        "recentchangeslinked-feed": "Rilataj paĝoj",
        "recentchangeslinked-toolbox": "Rilataj ŝanĝoj",
        "recentchangeslinked-title": "Ŝanĝoj rilataj al \"$1\"",
-       "recentchangeslinked-summary": "Entajpu nomon de paĝo por vidi ŝanĝojn sur paĝoj ligitaj el aŭ al tiu ĉi paĝo. (Por vidi anojn de kategorio, entajpu Category:nomo de kategorio). Ŝanĝoj sur paĝoj en [[Special:Watchlist|via atentaro]] markiĝas <strong>grase</strong>.",
+       "recentchangeslinked-summary": "Entajpu nomon de paĝo por vidi ŝanĝojn sur paĝoj ligitaj el aŭ al tiu ĉi paĝo. (Por vidi anojn de kategorio, entajpu {{ns:category}}:nomon de kategorio). Ŝanĝoj sur paĝoj en [[Special:Watchlist|via atentaro]] markiĝas <strong>grase</strong>.",
        "recentchangeslinked-page": "Nomo de paĝo:",
        "recentchangeslinked-to": "Montru ŝanĝojn al paĝoj ligitaj al la specifa paĝo anstataŭe.",
        "recentchanges-page-added-to-category": "[[:$1]] aldonita al la kategorio",
        "whatlinkshere": "Ligiloj ĉi tien",
        "whatlinkshere-title": "Paĝoj ligantaj al \"$1\"",
        "whatlinkshere-page": "Paĝo:",
-       "linkshere": "La jenaj paĝoj ligas al '''[[:$1]]''':",
-       "nolinkshere": "Neniu paĝo ligas al '''[[:$1]]'''.",
-       "nolinkshere-ns": "Neniuj paĝoj ligas al '''[[:$1]]''' en la elektita nomspaco.",
+       "linkshere-2": "La jenaj paĝoj ligas al '''$1''':",
+       "nolinkshere-2": "Neniu paĝo ligas al '''$1'''.",
+       "nolinkshere-ns-2": "Neniuj paĝoj ligas al '''$1''' en la elektita nomspaco.",
        "isredirect": "alidirektilo",
        "istemplate": "inkludo",
        "isimage": "ligilo al dosiero",
        "fileduplicatesearch-noresults": "Neniu dosiero nomita \"$1\" troviĝis.",
        "specialpages": "Specialaj paĝoj",
        "specialpages-note-top": "Klarigo",
+       "specialpages-note-restricted": "* Normaj specialaj paĝoj.\n* <span class=\"mw-specialpagerestricted\">Limigitaj specialaj paĝoj.</span>",
        "specialpages-group-maintenance": "Raportoj pri prizorgado",
        "specialpages-group-other": "Aliaj specialaj paĝoj",
        "specialpages-group-login": "Ensaluti /  registriĝi",
index 8360c61..a500fa5 100644 (file)
        "tog-watchlisthideminor": "Ocultar las ediciones menores de la lista de seguimiento",
        "tog-watchlisthideliu": "Ocultar las ediciones de los usuarios registrados de la lista de seguimiento",
        "tog-watchlistreloadautomatically": "Recargar la lista de seguimiento automáticamente cuando se modifica un filtro (requiere JavaScript)",
-       "tog-watchlistunwatchlinks": "Añadir enlaces directos para seguir o dejar de seguir las entradas de la lista de seguimiento (se requiere JavaScript para utilizar esta funcionalidad)",
+       "tog-watchlistunwatchlinks": "Añadir enlaces directos ({{int:Watchlist-unwatch}}/{{int:Watchlist-unwatch-undo}}) para seguir o dejar de seguir las entradas de la lista de seguimiento (se requiere JavaScript para utilizar esta funcionalidad)",
        "tog-watchlisthideanons": "Ocultar las ediciones de los usuarios anónimos de la lista de seguimiento",
        "tog-watchlisthidepatrolled": "Ocultar las ediciones verificadas de la lista de seguimiento",
        "tog-watchlisthidecategorization": "Ocultar la categorización de páginas",
        "cascadeprotected": "Esta página ha sido protegida contra edición porque está transcluida en {{PLURAL:$1|la siguiente página protegida|las siguientes páginas protegidas}} con la opción de «cascada» activa:\n$2",
        "namespaceprotected": "No tienes permiso para editar las páginas del espacio de nombres <strong>$1</strong>.",
        "customcssprotected": "No tienes permiso para editar esta página CSS, porque contiene configuraciones personales de otro usuario.",
+       "customjsonprotected": "No tienes permiso para editar esta página JSON porque contiene configuraciones personales de otro usuario.",
        "customjsprotected": "No tienes permiso para editar esta página JavaScript, porque contiene configuraciones personales de otro usuario.",
        "mycustomcssprotected": "No tienes permiso para editar esta página CSS.",
        "mycustomjsonprotected": "No tienes permiso para editar esta página JSON.",
        "subject-preview": "Previsualización del asunto:",
        "previewerrortext": "Se ha producido un error al intentar la vista previa de los cambios.",
        "blockedtitle": "El usuario está bloqueado",
-       "blockedtext": "<strong>Tu nombre de usuario o dirección IP ha sido bloqueada.</strong>\n\nEl bloqueo lo hizo $1.\nLa razón dada es <em>$2</em>.\n\n* Inicio del bloqueo: $8\n* Caducidad del bloqueo: $6\n* Bloqueo destinado a: $7\n\nPuedes contactar a $1 o con otro de los [[{{MediaWiki:Grouppage-sysop}}|administradores]] para discutir el bloqueo.\nNo puedes utilizar la función «enviar correo electrónico a este usuario» a menos que tengas una dirección de correo electrónico válida registrada en tus [[Special:Preferences|preferencias de usuario]] y la función no haya sido también bloqueada.\n\nTu dirección IP actual es $3, y el identificador del bloqueo es #$5.\nIncluye todos los datos aquí mostrados en cualquier consulta que hagas.",
+       "blockedtext": "<strong>Tu nombre de usuario o dirección IP ha sido bloqueada.</strong>\n\nEl bloqueo fue realizado por $1.\nLa razón dada es <em>$2</em>.\n\n* Inicio del bloqueo: $8\n* Caducidad del bloqueo: $6\n* Bloqueo destinado a: $7\n\nPuedes contactar a $1 o con otro de los [[{{MediaWiki:Grouppage-sysop}}|administradores]] para discutir el bloqueo.\nNo puedes utilizar la función «{{int:emailuser}}» a menos que tengas una dirección de correo electrónico válida registrada en tus [[Special:Preferences|preferencias de usuario]] y el bloqueo no haya deshabilitado también esta posibilidad.\nTu dirección IP actual es $3, y el identificador del bloqueo es #$5.\nIncluye todos los datos aquí mostrados en cualquier consulta que hagas.",
        "autoblockedtext": "Tu dirección IP ha sido bloqueada automáticamente porque fue utilizada por otro usuario, que resultó bloqueado por $1.\nEl motivo dado es el siguiente:\n\n:<em>$2</em>\n\n* Inicio del bloqueo: $8\n* Caducidad del bloqueo: $6\n* Bloqueo destinado a: $7\n\nPuedes contactar con $1 o con otro de los [[{{MediaWiki:Grouppage-sysop}}|administradores]] para discutir el bloqueo.\n\nObserva que no puedes utilizar la función «{{int:emailuser}}» a menos que hayas registrado una dirección de correo electrónico válida en tus [[Special:Preferences|preferencias de usuario]] y la función no haya sido también bloqueada.\n\nTu dirección IP actual es $3, y el identificador del bloqueo es n.º $5.\nIncluye todos los datos aquí mostrados en cualquier consulta que hagas.",
        "systemblockedtext": "Tu nombre de usuario o dirección IP ha sido bloqueado automáticamente por el software MediaWiki.\nLa razón dada es:\n\n:<em>$2</em>\n\n* Inicio del bloqueo: $8\n* Caducidad de bloqueo: $6\n* Destinatario del bloqueo: $7\n\nTu dirección IP actual es $3.\nPor favor, incluye todos los datos aquí mostrados en cualquier consulta que hagas.",
        "blockednoreason": "no se ha especificado el motivo",
        "userjsonyoucanpreview": "<strong>Consejo:</strong> usa el botón «{{int:showpreview}}» para probar el código JSON nuevo antes de guardarlo.",
        "userjsyoucanpreview": "<strong>Consejo:</strong> usa el botón «{{int:showpreview}}» para probar el código JavaScript nuevo antes de guardarlo.",
        "usercsspreview": "<strong>Recuerda que solo estás previsualizando tu CSS de usuario.\n¡Aún no se ha guardado!</strong>",
+       "userjsonpreview": "<strong>Recuerda que solo estas previsualizando tu configuración JSON de usuario. ¡Aún no se ha guardado!</strong>",
        "userjspreview": "<strong>¡Recuerda que solo estás previsualizando tu JavaScript de usuario.\n¡Aún no se ha guardado!</strong>",
        "sitecsspreview": "<strong>Recuerda que solo estás previsualizando este CSS.\n¡Aún no se ha guardado!</strong>",
+       "sitejsonpreview": "<strong>Recuerda que solo estas previsualizando esta configuración JSON. ¡Aún no se ha guardado!</strong>",
        "sitejspreview": "<strong>Recuerda que solo estás previsualizando este código JavaScript.\n¡Aún no se ha guardado!</strong>",
        "userinvalidconfigtitle": "<strong>Atención:</strong> no existe la apariencia «$1».\nLas páginas de archivos .css, .json y .js personalizados comienzan por minúscula; p. ej., se usa «{{ns:user}}:Ejemplo/vector.css» en vez de «{{ns:user}}:Ejemplo/Vector.css».",
        "updated": "(Actualizado)",
        "longpageerror": "<strong>Error: el texto que has enviado ocupa {{PLURAL:$1|un kilobyte|$1 kilobytes}}, que supera el máximo de {{PLURAL:$2|un kilobyte|$2 kilobytes}}.</strong>\nPor tanto, no lo podemos guardar.",
        "readonlywarning": "<strong>Advertencia: La base de datos ha sido bloqueada por labores de mantenimiento, así que en este momento no puedes guardar tus ediciones.</strong>\nQuizás quieras copiar y pegar tu texto en un archivo de texto y guardarlo para después.\n\nEl administrador que la bloqueó ha dado esta explicación: $1",
        "protectedpagewarning": "<strong>Advertencia: Esta página ha sido protegida para que solo puedan editarla los usuarios con permisos de administrador.</strong>\nA continuación se muestra la última entrada de registro para más información:",
-       "semiprotectedpagewarning": "<strong>Nota:</strong> Esta página ha sido protegida para que solo puedan editarla los usuarios registrados.\nA continuación se muestra la última entrada de registro para más información:",
+       "semiprotectedpagewarning": "<strong>Nota:</strong> Esta página ha sido protegida para que solo puedan editarla usuarios autoconfirmados.\nA continuación se muestra la última entrada de registro para más información:",
        "cascadeprotectedwarning": "<strong>Aviso:</strong> esta página está protegida y solo pueden editarla usuarios con [[Special:ListGroupRights|permisos específicos]] porque está transcluida en {{PLURAL:$1|la siguiente página protegida|las siguientes páginas protegidas}} en cascada:",
        "titleprotectedwarning": "<strong>Aviso: esta página está protegida de modo que se necesitan [[Special:ListGroupRights|permisos específicos]] para crearla.</strong>\nA continuación se muestra la última entrada del registro como referencia:",
        "templatesused": "{{PLURAL:$1|Plantilla usada|Plantillas usadas}} en esta página:",
        "prefs-watchlist-edits": "Número máximo de ediciones a mostrar en la lista de seguimiento:",
        "prefs-watchlist-edits-max": "Cantidad máxima: 1000",
        "prefs-watchlist-token": "Clave de lista de seguimiento:",
+       "prefs-watchlist-managetokens": "Administrar tokens",
        "prefs-misc": "Varias",
        "prefs-resetpass": "Cambiar contraseña",
        "prefs-changeemail": "Cambiar o eliminar la dirección de correo electrónico",
        "recentchangescount": "Número de ediciones que mostrar de manera predeterminada en Cambios recientes, los historiales de las páginas y en los registros:",
        "prefs-help-recentchangescount": "Número máximo: 1000",
        "prefs-help-watchlist-token2": "Esta es la clave secreta del suministro web de tu lista de seguimiento.\nCualquiera que la conozca podrá consultar la lista, así que no la compartas.\n[[Special:ResetTokens|Puedes restablecerla si lo necesitas]].",
+       "prefs-help-tokenmanagement": "Puedes ver y reiniciar la clave secreta que te permite ver tu lista de seguimiento vía Web. Cualquier persona que conozca dicha clave podrá ver tu lista de seguimiento. No la compartas.",
        "savedprefs": "Se han guardado tus preferencias.",
        "savedrights": "Se han guardado los grupos de {{GENDER:$1|usuario|usuaria}} de $1.",
        "timezonelegend": "Huso horario:",
        "right-edituserjson": "Editar archivos JSON de otros usuarios",
        "right-edituserjs": "Editar las páginas de JavaScript de otros usuarios",
        "right-editmyusercss": "Editar tus archivos CSS",
+       "right-editmyuserjson": "Editar tus propias páginas en formato JSON",
        "right-editmyuserjs": "Editar tus archivos JavaScript",
        "right-viewmywatchlist": "Ver su propia lista de seguimiento",
        "right-editmywatchlist": "Editar su propia lista de seguimiento (algunas acciones seguirán añadiendo páginas aun sin este permiso).",
        "grant-createaccount": "Crear cuentas",
        "grant-createeditmovepage": "Crear, editar y trasladar páginas",
        "grant-delete": "Borrar páginas, revisiones y entradas del registro",
-       "grant-editinterface": "Editar el espacio de nombres MediaWiki y el CSS/JavaScript de usuarios",
+       "grant-editinterface": "Editar el espacio de nombres MediaWiki y el CSS/JSON/JavaScript de los usuarios",
        "grant-editmycssjs": "Editar tu CSS/JSON/JavaScript",
        "grant-editmyoptions": "Editar tus preferencias de usuario",
        "grant-editmywatchlist": "Editar tu lista de seguimiento",
        "rcfilters-filter-humans-label": "Ser humano (no robot)",
        "rcfilters-filter-humans-description": "Ediciones realizadas por editores humanos.",
        "rcfilters-filtergroup-reviewstatus": "Estado de revisión",
+       "rcfilters-filter-reviewstatus-unpatrolled-description": "Ediciones no marcadas como revisadas manual o automáticamente.",
        "rcfilters-filter-reviewstatus-unpatrolled-label": "No patrulladas",
+       "rcfilters-filter-reviewstatus-manual-description": "Ediciones manualmente marcadas como revisadas.",
        "rcfilters-filter-reviewstatus-manual-label": "Verificado manualmente",
        "rcfilters-filter-reviewstatus-auto-description": "Ediciones por usuarios avanzados cuyo trabajo se marca automáticamente como verificado.",
        "rcfilters-filter-reviewstatus-auto-label": "Autoverificado",
        "recentchangeslinked-feed": "Cambios relacionados",
        "recentchangeslinked-toolbox": "Cambios relacionados",
        "recentchangeslinked-title": "Cambios relacionados con «$1»",
-       "recentchangeslinked-summary": "Escribe el nombre de una página para ver cambios realizados en páginas con enlaces entrantes o salientes a esa página. (Para ver lo que pertenece a una categoría, escribe «Categoría:Nombre de la categoría»). Los cambios en páginas de tu [[Special:Watchlist|lista de seguimiento]] aparecen en <strong>negrita</strong>.",
+       "recentchangeslinked-summary": "Introduce el nombre de una página para ver los cambios en las páginas enlazadas. (Para ver miembros de una categoría, introduce {{ns:category}}:Nombre de la categoría). Los cambios realizados a la páginas que tengas en tu [[Special:Watchlist|lista de seguimiento]] se resaltarán en <strong>negritas</strong>.",
        "recentchangeslinked-page": "Nombre de la página:",
        "recentchangeslinked-to": "Mostrar los cambios en páginas enlazadas con la página seleccionada",
        "recentchanges-page-added-to-category": "[[:$1]] añadida a la categoría",
        "protectedpages-params": "Parámetros de protección",
        "protectedpages-reason": "Motivo",
        "protectedpages-submit": "Mostrar páginas",
-       "protectedpages-unknown-timestamp": "Desconocido",
+       "protectedpages-unknown-timestamp": "Desconocidas",
        "protectedpages-unknown-performer": "Usuario desconocido",
        "protectedtitles": "Títulos protegidos",
        "protectedtitles-summary": "Esta página enumera títulos que actualmente están protegidos desde su creación. Para una lista de las páginas existentes que están protegidas, véase [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].",
        "protectedtitles-submit": "Mostrar títulos",
        "listusers": "Lista de usuarios",
        "listusers-editsonly": "Muestra sólo usuarios con ediciones",
+       "listusers-temporarygroupsonly": "Mostrar solo usuarios en grupos de usuario temporales",
        "listusers-creationsort": "Ordenado por fecha de creación",
        "listusers-desc": "Ordenar de forma descendente",
        "usereditcount": "$1 {{PLURAL:$1|edición|ediciones}}",
        "apisandbox-dynamic-parameters-add-placeholder": "Nombre del parámetro",
        "apisandbox-dynamic-error-exists": "Ya existe un parámetro llamado \"$1\".",
        "apisandbox-deprecated-parameters": "Parámetros desaconsejados",
-       "apisandbox-fetch-token": "Auto-llenar el token",
+       "apisandbox-fetch-token": "Rellenar la ficha automáticamente",
        "apisandbox-add-multi": "Añadir",
        "apisandbox-submit-invalid-fields-title": "Algunos campos no son válidos",
        "apisandbox-submit-invalid-fields-message": "Corrige los campos señalados e inténtalo de nuevo.",
        "restriction-move": "Trasladar",
        "restriction-create": "Crear",
        "restriction-upload": "Subir",
-       "restriction-level-sysop": "completamente protegida",
-       "restriction-level-autoconfirmed": "semiprotegida",
+       "restriction-level-sysop": "protección completa",
+       "restriction-level-autoconfirmed": "semiprotección",
        "restriction-level-all": "cualquier nivel",
        "undelete": "Ver páginas borradas",
        "undeletepage": "Ver y restaurar páginas borradas",
        "whatlinkshere": "Lo que enlaza aquí",
        "whatlinkshere-title": "Páginas que enlazan con «$1»",
        "whatlinkshere-page": "Página:",
-       "linkshere": "Las siguientes páginas enlazan a <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Ninguna página enlaza con <strong>[[:$1]]</strong>.",
-       "nolinkshere-ns": "Ninguna página enlaza con <strong>[[:$1]]</strong> en el espacio de nombres elegido.",
+       "linkshere-2": "Las siguientes páginas enlazan a <strong>$1</strong>:",
+       "nolinkshere-2": "Ninguna página enlaza con <strong>$1</strong>.",
+       "nolinkshere-ns-2": "Ninguna página enlaza con <strong>$1</strong> en el espacio de nombres elegido.",
        "isredirect": "página redirigida",
        "istemplate": "inclusión",
        "isimage": "enlace de archivo",
        "group-bot.css": "/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios del grupo Robots */",
        "group-sysop.css": "/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios del grupo Administradores */",
        "group-bureaucrat.css": "/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios del grupo Burócratas */",
+       "common.json": "/* Cualquier esquema JSON escrito aquí se cargará para todos los usuarios en cada carga de página. */",
        "common.js": "/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */",
        "group-autoconfirmed.js": "/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios del grupo Usuarios autoconfirmados */",
        "group-user.js": "/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios registrados */",
        "authform-nosession-login": "La autenticación fue exitosa, pero tu navegador no «recuerda» haber accedido a la cuenta.\n\n$1",
        "authform-nosession-signup": "Se ha creado la cuenta, pero tu navegador no «recuerda» haber accedido a ella.\n\n$1",
        "authform-newtoken": "Falta token. $1",
-       "authform-notoken": "Falta token",
-       "authform-wrongtoken": "Token incorrecto",
+       "authform-notoken": "Falta la ficha",
+       "authform-wrongtoken": "Ficha incorrecta",
        "specialpage-securitylevel-not-allowed-title": "No está permitido",
        "specialpage-securitylevel-not-allowed": "No puedes utilizar esta página porque no se pudo verificar tu identidad.",
        "authpage-cannot-login": "No se puede iniciar la sesión.",
        "pagedata-title": "Datos de la página",
        "pagedata-text": "Esta página provee una interfaz de datos a otras páginas. Por favor proporcione el título de la página en la URL usando la sintaxis de subpáginas.\n* La negociación del contenido se aplica en base a la cabecera Accept de su cliente. Esto significa que los datos de la página se proporcionarán en su formato de preferencia.",
        "pagedata-not-acceptable": "No se ha encontrado un formato coincidente. Tipos MIME admitidos: $1",
-       "pagedata-bad-title": "El título «$1» no es válido."
+       "pagedata-bad-title": "El título «$1» no es válido.",
+       "unregistered-user-config": "Por razones de seguridad, no se pueden cargar los códigos JavaScript, CSS o JSON localizados en subpáginas de usuarios no registrados.",
+       "passwordpolicies": "Normativas para contraseñas",
+       "passwordpolicies-summary": "Esta es una lista de políticas de contraseñas efectivas para cada grupo de usuarios definidos en este wiki.",
+       "passwordpolicies-group": "Grupo",
+       "passwordpolicies-policies": "Normativas",
+       "passwordpolicies-policy-minimalpasswordlength": "La contraseña debe tener al menos $1 {{PLURAL:$1|carácter|caracteres}}",
+       "passwordpolicies-policy-minimumpasswordlengthtologin": "La contraseña debe tener al menos $1 {{PLURAL:$1|carácter|caracteres}} para poder iniciar sesión",
+       "passwordpolicies-policy-passwordcannotmatchusername": "La contraseña no puede ser la misma que el nombre de usuario",
+       "passwordpolicies-policy-passwordcannotmatchblacklist": "La contraseña no puede coincidir con la lista de contraseñas específicamente prohibidas",
+       "passwordpolicies-policy-maximalpasswordlength": "La contraseña no puede tener más de $1 {{PLURAL:$1|caracter|caracteres}}",
+       "passwordpolicies-policy-passwordcannotbepopular": "La contraseña no puede encontrarse {{PLURAL:$1|en la lista|en las $1 listas}} de contraseñas populares"
 }
index 9969926..abffdb9 100644 (file)
        "whatlinkshere": "Lingid siia",
        "whatlinkshere-title": "Leheküljed, mis viitavad lehele \"$1\"",
        "whatlinkshere-page": "Lehekülg:",
-       "linkshere": "Lehele '''[[:$1]]''' viitavad järgmised leheküljed:",
-       "nolinkshere": "Lehele '''[[:$1]]''' ei viita ükski lehekülg.",
-       "nolinkshere-ns": "Leheküljele <strong>[[:$1]]</strong> ei ole valitud nimeruumis linke.",
+       "linkshere-2": "Lehele '''$1''' viitavad järgmised leheküljed:",
+       "nolinkshere-2": "Lehele '''$1''' ei viita ükski lehekülg.",
+       "nolinkshere-ns-2": "Leheküljele <strong>$1</strong> ei ole valitud nimeruumis linke.",
        "isredirect": "ümbersuunamislehekülg",
        "istemplate": "kasutamine mallina",
        "isimage": "faililink",
index 3933655..2a01b48 100644 (file)
        "whatlinkshere": "Honanzko lotura duten orriak",
        "whatlinkshere-title": "$1(e)ra lotura duten orriak",
        "whatlinkshere-page": "Orria:",
-       "linkshere": "Hauek dute '''[[:$1]]''' orrialderako lotura:",
-       "nolinkshere": "Ez dago '''[[:$1]]''' lotura duen orrialderik.",
-       "nolinkshere-ns": "Hautatutako izen-tartean ez dago '''[[:$1]]''' orrialderako lotura duenik.",
+       "linkshere-2": "Hauek dute '''$1''' orrialderako lotura:",
+       "nolinkshere-2": "Ez dago '''$1''' lotura duen orrialderik.",
+       "nolinkshere-ns-2": "Hautatutako izen-tartean ez dago '''$1''' orrialderako lotura duenik.",
        "isredirect": "birbideratze orrialdea",
        "istemplate": "erabilpena",
        "isimage": "fitxategi lotura",
index 59a32c5..73086be 100644 (file)
        "whatlinkshere": "Lo que atija aquina",
        "whatlinkshere-title": "Páhinas que atihan a $1",
        "whatlinkshere-page": "Páhina:",
-       "linkshere": "Las siguientis páhinas atihan a '''[[:$1]]''':",
-       "nolinkshere": "Denguna páhina atiha a '''[[:$1]]'''.",
-       "nolinkshere-ns": "Nu ai denguna páhina qu´atihi a '''[[:$1]]''' nel espaciu e nombris lihiu.",
+       "linkshere-2": "Las siguientis páhinas atihan a '''$1''':",
+       "nolinkshere-2": "Denguna páhina atiha a '''$1'''.",
+       "nolinkshere-ns-2": "Nu ai denguna páhina qu´atihi a '''$1''' nel espaciu e nombris lihiu.",
        "isredirect": "Rederihil páhina",
        "istemplate": "inclusión",
        "isimage": "atihu la imahin",
index 9a3dee6..1d17909 100644 (file)
        "whatlinkshere": "پیوندها به این صفحه",
        "whatlinkshere-title": "صفحه‌هایی که به «$1» پیوند دارند",
        "whatlinkshere-page": "صفحه:",
-       "linkshere": "صفحه‌های زیر به '''[[:$1]]''' پیوند دارند:",
-       "nolinkshere": "هیچ صفحه‌ای به '''[[:$1]]''' پیوند ندارد.",
-       "nolinkshere-ns": "هیچ صفحه‌ای از فضای نام انتخاب شده به '''[[:$1]]''' پیوند ندارد.",
+       "linkshere-2": "صفحه‌های زیر به '''$1''' پیوند دارند:",
+       "nolinkshere-2": "هیچ صفحه‌ای به '''$1''' پیوند ندارد.",
+       "nolinkshere-ns-2": "هیچ صفحه‌ای از فضای نام انتخاب شده به '''$1''' پیوند ندارد.",
        "isredirect": "صفحهٔ تغییرمسیر",
        "istemplate": "تراگنجانش‌ها",
        "isimage": "پیوند به پرونده",
index 7a24fe7..182e853 100644 (file)
        "botpasswords-existing": "Olemassaolevat bottisalasanat",
        "botpasswords-createnew": "Luo uusi bottisalasana",
        "botpasswords-editexisting": "Muokkaa olemassaolevaa bottisalasanaa",
+       "botpasswords-label-needsreset": "(salasanat täytyy nollata)",
        "botpasswords-label-appid": "Botin nimi:",
        "botpasswords-label-create": "Luo",
        "botpasswords-label-update": "Päivitä",
        "botpasswords-restriction-failed": "Bottisalasanan rajoitukset estävät tämän sisäänkirjautumisen.",
        "botpasswords-invalid-name": "Annetussa käyttäjätunnuksessa ei ole bottisalasanan erotinta (\"$1\").",
        "botpasswords-not-exist": "Käyttäjällä \"$1\" ei ole bottisalasanaa nimellä \"$2\".",
+       "botpasswords-needs-reset": "Bottisalasana {{GENDER:$1|käyttäjän}} \"$1\" bottinimelle \"$2\" täytyy nollata.",
        "resetpass_forbidden": "Salasanoja ei voi vaihtaa.",
        "resetpass_forbidden-reason": "Salasanoja ei voi muuttaa: $1",
        "resetpass-no-info": "Et voi nähdä tätä sivua kirjautumatta sisään.",
        "blocked-notice-logextract": "Tämä käyttäjä on tällä hetkellä estetty.\nAlla on viimeisin estolokin tapahtuma:",
        "clearyourcache": "<strong>Huomautus:</strong> Selaimen välimuisti pitää tyhjentää asetusten tallentamisen jälkeen, jotta muutokset tulisivat voimaan.\n* <strong>Firefox ja Safari:</strong> Napsauta <em>Shift</em>-näppäin pohjassa <em>Päivitä</em>, tai paina <em>Ctrl-F5</em> tai <em>Ctrl-R</em> (<em>⌘-R</em> Macilla)\n* <strong>Google Chrome:</strong> Paina <em>Ctrl-Shift-R</em> (<em>⌘-Shift-R</em> Macilla)\n* <strong>Internet Explorer:</strong> Napsauta <em>Ctrl</em>-näppäin pohjassa <em>Päivitä</em> tai paina <em>Ctrl-F5</em>\n* <strong>Opera:</strong> <em>Menu → Settings</em> (<em>Opera → Preferences</em> Macilla) ja sitten <em>Privacy & security → Clear browsing data → Cached images and files</em>.",
        "usercssyoucanpreview": "Voit testata uutta CSS:ää ennen tallennusta käyttämällä painiketta ”{{int:showpreview}}”.",
+       "userjsonyoucanpreview": "<strong>Vihje:</strong> Käytä \"{{int:showpreview}}\" painiketta testataksesi uutta JSON:iasi ennen tallentamista.",
        "userjsyoucanpreview": "Voit testata uutta JavaScriptiä ennen tallennusta käyttämällä painiketta ”{{int:showpreview}}”.",
        "usercsspreview": "'''Tämä on CSS:n esikatselu. Muutoksia ei ole vielä tallennettu.'''",
        "userjspreview": "'''Tämä on JavaScriptin esikatselu.'''",
        "protectedtitles-submit": "Hae sivunimet",
        "listusers": "Käyttäjien luettelo",
        "listusers-editsonly": "Näytä vain käyttäjät, joilla on muokkauksia",
+       "listusers-temporarygroupsonly": "Näytä vain väliaikaisten käyttäjäryhmien käyttäjät",
        "listusers-creationsort": "Lajittele tunnuksen luontipäivämäärän mukaan",
        "listusers-desc": "Lajittele alenevassa järjestyksessä",
        "usereditcount": "$1 {{PLURAL:$1|muokkaus|muokkausta}}",
        "whatlinkshere": "Tänne viittaavat sivut",
        "whatlinkshere-title": "Sivut, jotka viittaavat sivulle $1",
        "whatlinkshere-page": "Sivu:",
-       "linkshere": "Seuraavilta sivuilta on linkki sivulle <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Sivulle <strong>[[:$1]]</strong> ei ole linkkejä.",
-       "nolinkshere-ns": "Sivulle <strong>[[:$1]]</strong> ei ole linkkejä valitussa nimiavaruudessa.",
+       "linkshere-2": "Seuraavilta sivuilta on linkki sivulle <strong>$1</strong>:",
+       "nolinkshere-2": "Sivulle <strong>$1</strong> ei ole linkkejä.",
+       "nolinkshere-ns-2": "Sivulle <strong>$1</strong> ei ole linkkejä valitussa nimiavaruudessa.",
        "isredirect": "ohjaussivu",
        "istemplate": "sisällytetty",
        "isimage": "tiedostolinkki",
        "undelete-cantcreate": "Et voi palauttaa tätä sivua, koska tällä nimellä ei ole olemassaolevaa sivua eikä sinulla ole oikeutta luoda tätä sivua.",
        "pagedata-title": "Sivudata",
        "pagedata-not-acceptable": "Vastaavaa muotoa ei löytynyt. Tuetut MIME-tyypit: $1",
-       "pagedata-bad-title": "Virheellinen otsikko: $1."
+       "pagedata-bad-title": "Virheellinen otsikko: $1.",
+       "passwordpolicies": "Salasanakäytännöt",
+       "passwordpolicies-group": "Ryhmä",
+       "passwordpolicies-policies": "Käytännöt",
+       "passwordpolicies-policy-minimalpasswordlength": "Salasanan on oltava ainakin $1 {{PLURAL:$1|merkki|merkkiä}} pitkä",
+       "passwordpolicies-policy-passwordcannotmatchusername": "Salasana ei voi olla sama kuin käyttäjänimi",
+       "passwordpolicies-policy-maximalpasswordlength": "Salasanan on oltava vähemmän kuin $1 {{PLURAL:$1|merkki|merkkiä}} pitkä"
 }
index 9c39499..34b3a95 100644 (file)
        "whatlinkshere": "Hvat slóðar higar",
        "whatlinkshere-title": "Síður sum slóða til \"$1\"",
        "whatlinkshere-page": "Síða:",
-       "linkshere": "Hesar síður slóða til '''[[:$1]]''':",
-       "nolinkshere": "Ongar síður slóða til '''[[:$1]]'''.",
-       "nolinkshere-ns": "Ongar síður slóða til '''[[:$1]]''' í tí valda navnarúminum.",
+       "linkshere-2": "Hesar síður slóða til '''$1''':",
+       "nolinkshere-2": "Ongar síður slóða til '''$1'''.",
+       "nolinkshere-ns-2": "Ongar síður slóða til '''$1''' í tí valda navnarúminum.",
        "isredirect": "ávísingarsíða",
        "istemplate": "leggjast innan í",
        "isimage": "fílu slóð",
index cd80060..80ee461 100644 (file)
        "protectedtitles-submit": "Afficher les titres",
        "listusers": "Liste des utilisateurs",
        "listusers-editsonly": "Ne montrer que les utilisateurs ayant fait des modifications.",
+       "listusers-temporarygroupsonly": "N'afficher que les utilisateurs des groupes d'utilisateurs temporaires",
        "listusers-creationsort": "Trier par date de création",
        "listusers-desc": "Trier par ordre décroissant",
        "usereditcount": "$1 modification{{PLURAL:$1||s}}",
        "whatlinkshere": "Pages liées",
        "whatlinkshere-title": "Pages qui pointent vers « $1 »",
        "whatlinkshere-page": "Page :",
-       "linkshere": "Les pages ci-dessous contiennent un lien vers <strong>[[:$1]]</strong> :",
-       "nolinkshere": "Aucune page ne contient de lien vers <strong>[[:$1]]</strong>.",
-       "nolinkshere-ns": "Aucune page ne contient de lien vers <strong>[[:$1]]</strong> dans l'espace de noms choisi.",
+       "linkshere-2": "Les pages ci-dessous contiennent un lien vers <strong>$1</strong> :",
+       "nolinkshere-2": "Aucune page ne contient de lien vers <strong>$1</strong>.",
+       "nolinkshere-ns-2": "Aucune page ne contient de lien vers <strong>$1</strong> dans l'espace de noms choisi.",
        "isredirect": "page de redirection",
        "istemplate": "inclusion",
        "isimage": "lien vers le fichier",
        "pagedata-text": "Cette page fournit une interface de données aux pages. Veuillez fournir le titre de la page dans l’URL en utilisant la syntaxe de sous-page.\n* La négociation de contenu s’applique d’après l’entête Accept de votre client. Cela veut dire que les données de la page seront fournies dans le format préféré par votre client.",
        "pagedata-not-acceptable": "Aucun format correspondant trouvé. Types MIME pris en charge : $1",
        "pagedata-bad-title": "Titre non valide : $1.",
-       "unregistered-user-config": "Pour des raisons de sécurité, les sous-pages utilisateur JavaScript, CSS et JSON ne peuvent pas être chargées pour des utilisateurs non inscrits."
+       "unregistered-user-config": "Pour des raisons de sécurité, les sous-pages utilisateur JavaScript, CSS et JSON ne peuvent pas être chargées pour les utilisateurs non inscrits.",
+       "passwordpolicies": "Règles concernant le mot de passe",
+       "passwordpolicies-summary": "Voici une liste des politiques des mots de passe effectifs pour les groupes d'utilisateurs de ce wiki.",
+       "passwordpolicies-group": "Groupe",
+       "passwordpolicies-policies": "Politiques",
+       "passwordpolicies-policy-minimalpasswordlength": "Les mots de passe doivent avoir au moins $1 caractère{{PLURAL:$1||s}} de long",
+       "passwordpolicies-policy-minimumpasswordlengthtologin": "Les mots de passe doivent avoir au moins $1 caractère{{PLURAL:$1||s}} de long pour autoriser la connextion",
+       "passwordpolicies-policy-passwordcannotmatchusername": "Le mot de passe ne peut pas être le même que le nom d'utilisateur",
+       "passwordpolicies-policy-passwordcannotmatchblacklist": "Les mots de passe ne peuvent pas être identiques à ceux qui sont dans la liste noire.",
+       "passwordpolicies-policy-maximalpasswordlength": "Les mots de passe doivent avoir moins de $1 caractère{{PLURAL:$1||s}} de long",
+       "passwordpolicies-policy-passwordcannotbepopular": "Le mot de passe ne peut pas être {{PLURAL:$1|le mot de passe populaire|dans la liste des $1 mots de passe populaires}}"
 }
index 3794fb1..9607106 100644 (file)
        "whatlinkshere": "Pâges liyêes",
        "whatlinkshere-title": "Pâges que pouentont vers « $1 »",
        "whatlinkshere-page": "Pâge :",
-       "linkshere": "Cetes pâges contegnont un lim de vers <strong>[[:$1]]</strong> :",
-       "nolinkshere": "Niona pâge contint de lim de vers <strong>[[:$1]]</strong>.",
-       "nolinkshere-ns": "Niona pâge contint de lim de vers <strong>[[:$1]]</strong> dedens l’èspâço de noms chouèsi.",
+       "linkshere-2": "Cetes pâges contegnont un lim de vers <strong>$1</strong> :",
+       "nolinkshere-2": "Niona pâge contint de lim de vers <strong>$1</strong>.",
+       "nolinkshere-ns-2": "Niona pâge contint de lim de vers <strong>$1</strong> dedens l’èspâço de noms chouèsi.",
        "isredirect": "pâge de redirèccion",
        "istemplate": "transcllusion",
        "isimage": "lim de vers lo fichiér",
        "fileduplicatesearch-noresults": "Nion fichiér apelâ « $1 » est étâ trovâ.",
        "specialpages": "Pâges spèciâles",
        "specialpages-note-top": "Lègenda",
+       "specialpages-note-restricted": "* Pâges spèciâles normales.\n* <span class=\"mw-specialpagerestricted\">Pâges spèciâles rètrentes.</span>",
        "specialpages-group-maintenance": "Rapôrts d’entretin",
        "specialpages-group-other": "Ôtres pâges spèciâles",
        "specialpages-group-login": "Sè branchiér / fâre un comptio",
index 467b8dd..f4b889d 100644 (file)
        "whatlinkshere": "Ferwisangen üüb detdiar sidj",
        "whatlinkshere-title": "Sidjen, diar üüb \"$1\" ferwise",
        "whatlinkshere-page": "Sidj:",
-       "linkshere": "Jodiar sidjen ferwise üüb '''„[[:$1]]“''':",
-       "nolinkshere": "Nian sidj ferwiset üüb [[:$1]]",
-       "nolinkshere-ns": "Nian sidj ferwiset üüb '''„[[:$1]]“''' uun di ütjsoocht nöömrüm.",
+       "linkshere-2": "Jodiar sidjen ferwise üüb '''„$1“''':",
+       "nolinkshere-2": "Nian sidj ferwiset üüb $1",
+       "nolinkshere-ns-2": "Nian sidj ferwiset üüb '''„$1“''' uun di ütjsoocht nöömrüm.",
        "isredirect": "widjerfeerang",
        "istemplate": "iinbünjen föörlaagen",
        "isimage": "Dateilink",
        "fileduplicatesearch-noresults": "Nian datei mä di nööm „$1“ fünjen.",
        "specialpages": "Spezial-sidjen",
        "specialpages-note-top": "Legend",
+       "specialpages-note-restricted": "* Normool spezial-sidjen\n* <span class=\"mw-specialpagerestricted\">Spezial-sidjen mä tugripsrochten</span>",
        "specialpages-group-maintenance": "Werksteedsidjen",
        "specialpages-group-other": "Ööder spezial-sidjen",
        "specialpages-group-login": "Melde di uun of skriiw di iin",
index e0f5aea..92e11bf 100644 (file)
        "whatlinkshere": "Leams a cheste vôs",
        "whatlinkshere-title": "Pagjinis che a son leadis a \"$1\"",
        "whatlinkshere-page": "Pagjine:",
-       "linkshere": "Lis pagjinis ca sot a son leadis a '''[[:$1]]''':",
-       "nolinkshere": "Nissune pagjine e à leams a '''[[:$1]]'''.",
-       "nolinkshere-ns": "No son pagjine leadis a '''[[:$1]]''' intal spazi dai nons sielt.",
+       "linkshere-2": "Lis pagjinis ca sot a son leadis a '''$1''':",
+       "nolinkshere-2": "Nissune pagjine e à leams a '''$1'''.",
+       "nolinkshere-ns-2": "No son pagjine leadis a '''$1''' intal spazi dai nons sielt.",
        "isredirect": "pagjine di reindirizament",
        "istemplate": "includude",
        "isimage": "leam a figure",
        "fileduplicatesearch-filename": "Non dal file:",
        "fileduplicatesearch-submit": "Cîr",
        "specialpages": "Pagjinis speciâls",
+       "specialpages-note-restricted": "* Pagjinis speciâls no riservadis.\n* <strong class=\"mw-specialpagerestricted\">Pagjinis speciâls a ciertis categoriis di utents.</strong>",
        "specialpages-group-maintenance": "Rapuarts di manutenzion",
        "specialpages-group-other": "Altris pagjinis speciâls",
        "specialpages-group-login": "Jentrade / regjistrazion",
index e7fae5e..648cf63 100644 (file)
        "whatlinkshere": "Wat is hjirmei keppele?",
        "whatlinkshere-title": "Siden dy't keppele binne mei \"$1\"",
        "whatlinkshere-page": "Side:",
-       "linkshere": "Dizze siden binne keppele oan '''[[:$1]]''':",
-       "nolinkshere": "Der binne gjin siden oan '''[[:$1]]''' keppele.",
-       "nolinkshere-ns": "Gjin siden yn de keazen nammeromte keppelje nei '''[[:$1]]'''.",
+       "linkshere-2": "Dizze siden binne keppele oan '''$1''':",
+       "nolinkshere-2": "Der binne gjin siden oan '''$1''' keppele.",
+       "nolinkshere-ns-2": "Gjin siden yn de keazen nammeromte keppelje nei '''$1'''.",
        "isredirect": "synonym",
        "istemplate": "opnaam",
        "isimage": "triemkeppeling",
        "fileduplicatesearch-result-n": "De triem \"$1\" hat {{PLURAL:$2|1 duplikaat|$2 duplikaten}}.",
        "specialpages": "Bysûndere siden",
        "specialpages-note-top": "Leginda",
+       "specialpages-note-restricted": "* Normale bysûndere siden.\n* <strong class=\"mw-specialpagerestricted\">Beheinde bysûndere siden.</strong>",
        "specialpages-group-maintenance": "Underhâld siden",
        "specialpages-group-other": "Oare bysûndere siden",
        "specialpages-group-login": "Oanmelde / registrearje",
index ea20a63..f59930b 100644 (file)
        "whatlinkshere": "Naisc leis an lch seo",
        "whatlinkshere-title": "Naisc le $1",
        "whatlinkshere-page": "Leathanach:",
-       "linkshere": "Tá nasc chuig '''[[:$1]]''' ar na leathanaigh seo a leanas:",
-       "nolinkshere": "Níl leathanach ar bith ann a bhfuil nasc chuig '''[[:$1]]''' air.",
-       "nolinkshere-ns": "Níl leathanach ar bith ann san ainmspás roghnaithe a bhfuil nasc chuig '''[[:$1]]''' air.",
+       "linkshere-2": "Tá nasc chuig '''$1''' ar na leathanaigh seo a leanas:",
+       "nolinkshere-2": "Níl leathanach ar bith ann a bhfuil nasc chuig '''$1''' air.",
+       "nolinkshere-ns-2": "Níl leathanach ar bith ann san ainmspás roghnaithe a bhfuil nasc chuig '''$1''' air.",
        "isredirect": "Leathanach athsheolaidh",
        "istemplate": "iniamh",
        "isimage": "nasc comhad",
index 2998314..00bf854 100644 (file)
        "whatlinkshere": "Baalantılar sayfaa",
        "whatlinkshere-title": "$1 baalantısı olan sayfalar",
        "whatlinkshere-page": "Yaprak:",
-       "linkshere": "Buraya baalantısı var olan sayfalar '''[[:$1]]''':",
-       "nolinkshere": "Yok buraya baalanan sayfa '''[[:$1]]'''.",
+       "linkshere-2": "Buraya baalantısı var olan sayfalar '''$1''':",
+       "nolinkshere-2": "Yok buraya baalanan sayfa '''$1'''.",
        "isredirect": "yönnendirmäk sayfası",
        "istemplate": "eklemää",
        "isimage": "fayl baalantısı",
index 86c5fa0..64ddae7 100644 (file)
        "whatlinkshere": "有什哩连到个首",
        "whatlinkshere-title": "连到 $1 𠮶页面",
        "whatlinkshere-page": "页面:",
-       "linkshere": "下底𠮶页面链接到[[:$1]]:",
-       "nolinkshere": "冇页面链接到[[:$1]]。",
-       "nolinkshere-ns": "选正𠮶空间名内冇页面链接到[[:$1]]。",
+       "linkshere-2": "下底𠮶页面链接到$1:",
+       "nolinkshere-2": "冇页面链接到$1。",
+       "nolinkshere-ns-2": "选正𠮶空间名内冇页面链接到$1。",
        "isredirect": "重定向页面",
        "istemplate": "含到",
        "isimage": "档案连结",
index 96da964..944d037 100644 (file)
        "whatlinkshere": "有什哩連到箇首",
        "whatlinkshere-title": "連到 $1 嗰頁面",
        "whatlinkshere-page": "頁面:",
-       "linkshere": "下底嗰頁面連結到[[:$1]]:",
-       "nolinkshere": "冇頁面連結到[[:$1]]。",
-       "nolinkshere-ns": "選正嗰空間名內冇頁面連結到[[:$1]]。",
+       "linkshere-2": "下底嗰頁面連結到$1:",
+       "nolinkshere-2": "冇頁面連結到$1。",
+       "nolinkshere-ns-2": "選正嗰空間名內冇頁面連結到$1。",
        "isredirect": "重定向頁",
        "istemplate": "含到",
        "isimage": "檔案連結",
index 3fb3cb6..89f046e 100644 (file)
        "tooltip-namespace_association": "Koché sa kaz pou enklir égalman lèspas di non di diskisyon ou di sijè, asosyé à lèspas di non sélèksyoné",
        "blanknamespace": "(Prensipal)",
        "contributions": "Kontribisyon di {{GENDER:$1|itilizatò|itilizatris}}",
-       "contributions-title": "Lis kontribisyon-yan di itiliza{{GENDER:$1|ò|ris}} $1",
+       "contributions-title": "Lis di kontribisyon-yan di itiliza{{GENDER:$1|ò|ris}}-a $1",
        "mycontris": "Kontribisyon",
        "anoncontribs": "Kontribisyon",
        "contribsub2": "Pou {{GENDER:$3|$1}} ($2)",
        "whatlinkshere": "Paj lyé",
        "whatlinkshere-title": "Paj ki ka pwenté bò'd « $1 »",
        "whatlinkshere-page": "Paj :",
-       "linkshere": "Paj-ya ki anba ka kontni roun lyen vèr <strong>[[:$1]]</strong> :",
-       "nolinkshere": "Pyès paj pa gen kontni dé lyen vèr <strong>[[:$1]]</strong>.",
+       "linkshere-2": "Paj-ya ki anba ka kontni roun lyen vèr <strong>$1</strong> :",
+       "nolinkshere-2": "Pyès paj pa gen kontni dé lyen vèr <strong>$1</strong>.",
        "isredirect": "paj di roudirèksyon",
        "istemplate": "enklizyon",
        "isimage": "Lyen vèr fiché-a",
index 8d345f0..e5a0161 100644 (file)
        "whatlinkshere": "Na tha a' ceangal a-nall an-seo",
        "whatlinkshere-title": "Duilleagan a tha a' ceangal ri \"$1\"",
        "whatlinkshere-page": "Duilleag:",
-       "linkshere": "Tha na duilleagan a leanas a' ceangal ri <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Chan eil ceangal air duilleag sam bith a tha a' dol gu <strong>[[:$1]]</strong>.",
-       "nolinkshere-ns": "Chan eil ceangal gu <strong>[[:$1]]</strong> ann an duilleag sam bith san ainm-spàs a thagh thu.",
+       "linkshere-2": "Tha na duilleagan a leanas a' ceangal ri <strong>$1</strong>:",
+       "nolinkshere-2": "Chan eil ceangal air duilleag sam bith a tha a' dol gu <strong>$1</strong>.",
+       "nolinkshere-ns-2": "Chan eil ceangal gu <strong>$1</strong> ann an duilleag sam bith san ainm-spàs a thagh thu.",
        "isredirect": "duilleag ath-sheòlaidh",
        "istemplate": "transclusion",
        "isimage": "ceangal faidhle",
        "fileduplicatesearch-noresults": "Cha deach faidhle air a bheil \"$1\" a lorg.",
        "specialpages": "Duilleagan sònraichte",
        "specialpages-note-top": "Treòir",
+       "specialpages-note-restricted": "* Duilleagan sònraichte coitcheann.\n* <span class=\"mw-specialpagerestricted\">Duilleagan sònraichte cuingichte.</span>",
        "specialpages-group-maintenance": "Aithrisean na h-obrach-glèidhidh",
        "specialpages-group-other": "Duilleagan sònraichte eile",
        "specialpages-group-login": "Log a-steach / cruthaich cunntas",
index 4fb87e7..f584af6 100644 (file)
        "whatlinkshere": "Páxinas que ligan con esta",
        "whatlinkshere-title": "Páxinas que ligan con \"$1\"",
        "whatlinkshere-page": "Páxina:",
-       "linkshere": "As seguintes páxinas ligan con \"'''[[:$1]]'''\":",
-       "nolinkshere": "Ningunha páxina liga con \"'''[[:$1]]'''\".",
-       "nolinkshere-ns": "Ningunha páxina liga con \"'''[[:$1]]'''\" no espazo de nomes elixido.",
+       "linkshere-2": "As seguintes páxinas ligan con \"'''$1'''\":",
+       "nolinkshere-2": "Ningunha páxina liga con \"'''$1'''\".",
+       "nolinkshere-ns-2": "Ningunha páxina liga con \"'''$1'''\" no espazo de nomes elixido.",
        "isredirect": "páxina redirixida",
        "istemplate": "inclusión",
        "isimage": "ligazón ao ficheiro",
index 1981d76..f65948d 100644 (file)
        "whatlinkshere": "هرچي خال ببؤ ائره",
        "whatlinkshere-title": "ولگؤني گه «$1»ˇ أمرأ خال دأنن",
        "whatlinkshere-page": "ولگ:",
-       "linkshere": "جيري ولگؤن '''[[:$1]]'''ˇ أمرأ خال دأنن:",
+       "linkshere-2": "جيري ولگؤن '''$1'''ˇ أمرأ خال دأنن:",
        "isredirect": "تغييرمسيرˇ ولگ",
        "isimage": "فاىلˇ خال",
        "whatlinkshere-prev": "{{PLURAL:$1|قبلي|$1 قبلي مؤرد}}",
index beecd23..8b89f81 100644 (file)
        "whatlinkshere": "हाका कितें जुळटा",
        "whatlinkshere-title": " \"$1\" हाका जोडणी आशिल्लीं पानां",
        "whatlinkshere-page": "पान:",
-       "linkshere": "मुखावेली पानां '''[[:$1]]''': हाका जोडणी करतात",
-       "nolinkshere": "$1हाका खंयच्याच पानाची जोडणी ना",
+       "linkshere-2": "मुखावेली पानां '''$1''': हाका जोडणी करतात",
+       "nolinkshere-2": "$1हाका खंयच्याच पानाची जोडणी ना",
        "isredirect": "पुनर्निर्देशन पान",
        "istemplate": "$1 दूसरात-समावेस",
        "isimage": "फायलीचो दुवो",
index 976847b..ff45698 100644 (file)
        "whatlinkshere": "Hanga kitem zoddta",
        "whatlinkshere-title": "\"$1\" haka zoddlelim panam",
        "whatlinkshere-page": "Pan:",
-       "linkshere": "Sokoilim panam <strong>[[:$1]]</strong> ak zoddtat:",
-       "nolinkshere": "Khoincheim pan '''[[:$1]]''' ak zoddna.",
+       "linkshere-2": "Sokoilim panam <strong>$1</strong> ak zoddtat:",
+       "nolinkshere-2": "Khoincheim pan '''$1''' ak zoddna.",
        "isredirect": "punornirdexon pan",
        "istemplate": "Durasth-somaves",
        "isimage": "failichem zoddop",
index 26a1a0d..e69303e 100644 (file)
        "whatlinkshere": "Wumbuta",
        "whatlinkshere-title": "Halaman botiye o wumbuta ode \"$1\"",
        "whatlinkshere-page": "Halaman",
-       "linkshere": "Halaman botiye woluwo wumbuta ode <strong>[[:$1]]<strong>:",
-       "nolinkshere": "Diya'a halaman wumbuta ode <strong>[[:$1]]</strong>",
+       "linkshere-2": "Halaman botiye woluwo wumbuta ode <strong>$1<strong>:",
+       "nolinkshere-2": "Diya'a halaman wumbuta ode <strong>$1</strong>",
        "isredirect": "halaman pilobaleyalo",
        "istemplate": "tranklusi",
        "isimage": "wumbuta lo berkas",
index 7ec44a0..d1d4424 100644 (file)
        "whatlinkshere": "𐌰𐌻𐌻𐌰𐌹 𐌻𐌰𐌿𐌱𐍉𐍃 𐌸𐌰𐌹𐌴𐌹 𐌱𐍂𐌹𐌲𐌲𐌰𐌽𐌳 𐌸𐌿𐌺 𐌷𐌹𐌳𐍂𐌴",
        "whatlinkshere-title": "𐌻𐌰𐌿𐌱𐍉𐍃 𐌸𐌰𐌹𐌴𐌹 𐍄𐌰𐌹𐌺𐌽𐌾𐌰𐌽𐌳 𐌳𐌿 \"$1\"",
        "whatlinkshere-page": "𐌻𐌰𐌿𐍆𐍃:",
-       "linkshere": "𐌹𐍆𐍄𐌿𐌼𐌰𐌹 𐌻𐌰𐌿𐌱𐍉𐍃 𐌱𐍂𐌹𐌲𐌲𐌰𐌽𐌳 𐌸𐌿𐌺  <strong>[[:$1]]</strong>:",
+       "linkshere-2": "𐌹𐍆𐍄𐌿𐌼𐌰𐌹 𐌻𐌰𐌿𐌱𐍉𐍃 𐌱𐍂𐌹𐌲𐌲𐌰𐌽𐌳 𐌸𐌿𐌺  <strong>$1</strong>:",
        "isredirect": "𐌰𐌻𐌾𐌰𐍂 𐌱𐍂𐌹𐌲𐌲𐌰𐌽𐌳𐍃 𐌻𐌰𐌿𐍆𐍃",
        "istemplate": "𐍄𐍂𐌰𐌽𐍃𐌺𐌻𐌿𐍃𐌾𐍉",
        "whatlinkshere-prev": "{{PLURAL:$1|𐌰𐍆𐍄𐌿𐌼𐌹𐍃𐍄𐌰|𐌰𐍆𐍄𐌿𐌼𐌹𐍃𐍄𐌰𐌽𐍃 $1}}",
index fe9f276..1bd6255 100644 (file)
        "whatlinkshere": "Τὰ ἐνθάδε ἄγοντα",
        "whatlinkshere-title": "Δέλτοι συνεζευγμέναι μετὰ τοῦ \"$1\"",
        "whatlinkshere-page": "Δέλτος:",
-       "linkshere": "Τάδε ἄγουσι πρὸς '''[[:$1]]''':",
-       "nolinkshere": "Οὐδένα ἄγουσι πρὸς '''[[:$1]]'''.",
-       "nolinkshere-ns": "Οὐδεμία δέλτος συνδέεται τῇ '''[[:$1]]''' ἐν τῷ ἐπιλεγμένῳ ὀνοματείῳ.",
+       "linkshere-2": "Τάδε ἄγουσι πρὸς '''$1''':",
+       "nolinkshere-2": "Οὐδένα ἄγουσι πρὸς '''$1'''.",
+       "nolinkshere-ns-2": "Οὐδεμία δέλτος συνδέεται τῇ '''$1''' ἐν τῷ ἐπιλεγμένῳ ὀνοματείῳ.",
        "isredirect": "ἀναδιευθύνειν δέλτον",
        "istemplate": "περίκλεισις",
        "isimage": "σύνδεσμος ἀρχείου",
        "fileduplicatesearch-result-1": "Τὸ ἀρχεῖον \"$1\" οὐκ ἔχει ταυτοτικὴν διπλοτυπίαν.",
        "fileduplicatesearch-result-n": "Τὸ ἀρχεῖον \"$1\" ἔχει {{PLURAL:$2|1 ταυτοτικὴν διπλοτυπίαν|$2 ταυτοτικὰς διπλοτυπίας}}.",
        "specialpages": "Εἰδικαὶ δέλτοι",
+       "specialpages-note-restricted": "* Κανονικαὶ εἰδικαὶ δέλτοι.\n* <strong class=\"mw-specialpagerestricted\">Περιωρισμέναι εἰδικαὶ δἐλτοι.</strong>\n* <span class=\"mw-specialpagecached\">Μόναι δέλτοι ἀποτεταμιευμέναι.</span>",
        "specialpages-group-maintenance": "Ἀναφοραὶ συντηρήσεως",
        "specialpages-group-other": "Ἕτεραι εἰδικαὶ δέλτοι",
        "specialpages-group-login": "Συνδεῖσθαι/λογισμὸν ποιεῖν",
index 1a09c5a..924d5f8 100644 (file)
        "whatlinkshere": "Was verwyst do druff?",
        "whatlinkshere-title": "Sytene, wo uf „$1“ verlinke",
        "whatlinkshere-page": "Syte:",
-       "linkshere": "Die Sytene hen e Link, wu zu '''„[[:$1]]“''' fiere:",
-       "nolinkshere": "Kei Artikel verwyyst uf '''„[[:$1]]“'''.",
-       "nolinkshere-ns": "Kei Syte verwyyst uf '''„[[:$1]]“''' im gwehlte Namensruum.",
+       "linkshere-2": "Die Sytene hen e Link, wu zu '''„$1“''' fiere:",
+       "nolinkshere-2": "Kei Artikel verwyyst uf '''„$1“'''.",
+       "nolinkshere-ns-2": "Kei Syte verwyyst uf '''„$1“''' im gwehlte Namensruum.",
        "isredirect": "Wyterleitigssyte",
        "istemplate": "Vorlageybindig",
        "isimage": "Dateigleich",
        "fileduplicatesearch-noresults": "S isch kei Datei mit em Name „$1“ gfunde wore.",
        "specialpages": "Spezialsytene",
        "specialpages-note-top": "Zeichenerklärig:",
+       "specialpages-note-restricted": "* Normali Spezialsyte.\n* <span class=\"mw-specialpagerestricted\">Spezialsyte mit bschränktem Zuegang.</span>",
        "specialpages-group-maintenance": "Wartigslischte",
        "specialpages-group-other": "Andri Spezialsyte",
        "specialpages-group-login": "Aamälde/Konto aalege",
index 38217d3..5a66693 100644 (file)
        "index-category": "અનુક્રમણિકા બનાવેલા પાનાં",
        "noindex-category": "અનુક્રમણિકા નહીં બનાવેલા પાનાં",
        "broken-file-category": "ફાઇલોની ત્રૂટક કડીઓવાળાં પાનાં",
+       "categoryviewer-pagedlinks": "($1) ($2)",
+       "category-header-numerals": "$1–$2",
        "about": "વિષે",
        "article": "લેખનું પાનું",
        "newwindow": "(નવા પાનામાં ખુલશે)",
        "versionrequired": "મીડીયાવિકિનું $1 સંસ્કરણ જરૂરી",
        "versionrequiredtext": "આ પાનાના વપરાશ માટે મીડિયાવિકિનું $1 સંસ્કરણ જરૂરી.\n\nજુઓ [[Special:Version|સંસ્કરણ પાનું]].",
        "ok": "મંજૂર",
+       "pagetitle": "$1 - {{SITENAME}}",
+       "pagetitle-view-mainpage": "{{SITENAME}}",
+       "backlinksubtitle": "← $1",
        "retrievedfrom": "\"$1\" થી મેળવેલ",
        "youhavenewmessages": "{{PLURAL:$3|તમારી પાસે}} $1 ($2).",
        "youhavenewmessagesfromusers": "{{PLURAL:$4|આપ}}ને માટે {{PLURAL:$3|અન્ય સભ્ય|$3 અન્ય સભ્યો}} તરફથી $1 છે. ($2).",
        "site-atom-feed": "$1 એટમ ફીડ",
        "page-rss-feed": "\"$1\" RSS ફીડ",
        "page-atom-feed": "\"$1\" એટમ ફીડ",
+       "feed-atom": "ઍટમ",
+       "feed-rss": "RSS",
        "red-link-title": "$1 (પાનું અસ્તિત્વમાં નથી)",
        "sort-descending": "ઉતરતા ક્રમમાં ગોઠવો",
        "sort-ascending": "ચડતા ક્રમમાં ગોઠવો",
        "nosuchusershort": "\"$1\" નામનો કોઇ સભ્ય નથી, તમારી જોડણી તપાસો.",
        "nouserspecified": "તમારે સભ્ય નામ દર્શાવવાની જરૂર છે.",
        "login-userblocked": "આ યુઝર પ્રતિબંધિત છે. પ્રવેશ વર્જીત.",
-       "wrongpassword": "તમà«\87 àª²àª\96à«\87લà«\80 àª\97à«\81પà«\8dત àª¸àª\82àª\9cà«\8dàª\9eા àª\96à«\8bàª\9fà«\80 છે.\nફરીથી પ્રયત્ન કરો.",
+       "wrongpassword": "àª\96à«\8bàª\9fà«\81àª\82 àª¸àª­à«\8dયનામ àª\85થવા àª\97à«\81પà«\8dત àª¸àª\82àª\9cà«\8dàª\9eા (પાસવરà«\8dડâ\80\8c) àª¦àª¾àª\96લ àª\95રà«\87 છે.\nફરીથી પ્રયત્ન કરો.",
        "wrongpasswordempty": "તમે ગુપ્ત સંજ્ઞા લખવાનું ભુલી ગયા લાગો છો.\nફરીથી પ્રયત્ન કરો.",
        "passwordtooshort": "ગુપ્ત સંજ્ઞામાં ઓછામાં {{PLURAL:$1|ઓછો એક અક્ષર હોવો |ઓછા $1 અક્ષર હોવા}} જોઇએ.",
+       "passwordtoolong": "ગુપ્ત સંજ્ઞા (પાસવર્ડ) {{PLURAL:$1|1 અક્ષર|$1 અક્ષરો}} કરતા લાંબો રાખી શકાતો નથી.",
        "password-name-match": "તમારી ગુપ્તસંજ્ઞા તમારા સભ્યનામ કરતાં અલગ જ હોવી જોઇએ.",
        "password-login-forbidden": "આ સભ્યનામ અને ગુપ્તસંજ્ઞા વાપરવા પર પ્રતિબંધ છે.",
        "mailmypassword": "પાસવર્ડ ફરી ગોઠવો",
        "ancientpages": "સૌથી જૂનાં પાનાં",
        "move": "નામ બદલો",
        "movethispage": "આ પાનું ખસેડો",
-       "unusedimagestext": "નà«\80àª\9aà«\87નà«\80 àª«àª¾àª\87લà«\8b àª\85સà«\8dતિતà«\8dવમાàª\82 àª¤à«\8b àª\9bà«\87 àªªàª£ àª\95à«\8bàª\87 àªªàª¾àª¨àª¾ àªªàª° àª¤à«\87નà«\8b àª\89પયà«\8bàª\97 àª¥àª¯à«\87લ àª¨àª¥à«\80.\nàª\95à«\8dરà«\8dપયા àª¨à«\8bàª\82ધ àª²à«\87àª\96à«\8b àª\95à«\87 àª\86 àª«àª¾àª\87લનà«\87 àª\85નà«\8dય àªµà«\87બસાàª\87àª\9fà«\8b àª¸à«\80ધા URL àª¨àª¾ àª®àª¾àª§à«\8dયમ àª¦à«\8dવારા àªµàª¾àªªàª°à«\80 àª¶àª\95à«\87 àª\9bà«\87 àª\85નà«\87 àª\95à«\8bàª\87 àªªàª£ àª\89પયà«\8bàª\97 àª¸àª¿àªµàª¾àª¯ àª\98ણà«\80 àª«àª¾àª\87લà«\8b àª\85હà«\80àª\82 àª¯àª¾àª¦àª¿માં હોઇ શકે.",
+       "unusedimagestext": "નà«\80àª\9aà«\87નà«\80 àª«àª¾àª\87લà«\8b àª\85સà«\8dતિતà«\8dવમાàª\82 àª\9bà«\87 àªªàª°àª\82તà«\81 àª\95à«\8bàª\87 àªªàª¾àª¨àª¾àª\82 àªªàª° àª¤à«\87નà«\8b àª\89પયà«\8bàª\97 àª¥àª¯à«\87લ àª¨àª¥à«\80.\nàª\95à«\83પા àª\95રà«\80 àª¨à«\8bàª\82ધ àª²à«\87શà«\8b àª\95à«\87 àª\86 àª«àª¾àª\87લનà«\87 àª\85નà«\8dય àªµà«\87બસાàª\87àª\9fà«\8b àª¸à«\80ધા URLના àª®àª¾àª§à«\8dયમ àª¦à«\8dવારા àªµàª¾àªªàª°à«\80 àª¶àª\95à«\87 àª\9bà«\87 àª\85નà«\87 àª\95à«\8bàª\87 àªªàª£ àª\89પયà«\8bàª\97 àª¸àª¿àªµàª¾àª¯ àª\98ણà«\80 àª«àª¾àª\87લà«\8b àª\85હà«\80àª\82 àª¯àª¾àª¦à«\80માં હોઇ શકે.",
        "unusedcategoriestext": "નીચેના શ્રેણી પાના છે પણા કોઈ લેખ આનો ઉપયોગ કરતાં નથી",
        "notargettitle": "કોઇ લક્ષ્ય નથી",
        "notargettext": "આ ક્રિયા જેના પર કરવાની છે તે સભ્ય કે પાનાની માહિતી તમે પૂરી પાડી નથી",
        "whatlinkshere": "અહી શું જોડાય છે",
        "whatlinkshere-title": "\"$1\" ને જોડતા પાનાં",
        "whatlinkshere-page": "પાનું:",
-       "linkshere": "નીચેના પાનાઓ '''[[:$1]]''' સાથે જોડાય છે:",
-       "nolinkshere": "'''[[:$1]]'''ની સાથે કોઇ પાના જોડાતા નથી.",
-       "nolinkshere-ns": "પસંદ કરેલ નામ સ્થળમાં કોઇ પાના '''[[:$1]]'''  સાથે જોડાયેલ નથી.",
+       "linkshere-2": "નીચેના પાનાઓ '''$1''' સાથે જોડાય છે:",
+       "nolinkshere-2": "'''$1'''ની સાથે કોઇ પાના જોડાતા નથી.",
+       "nolinkshere-ns-2": "પસંદ કરેલ નામ સ્થળમાં કોઇ પાના '''$1'''  સાથે જોડાયેલ નથી.",
        "isredirect": "દિશાનિર્દેશ કરેલ પાનું",
        "istemplate": "સમાવેશ",
        "isimage": "ફાઇલની કડી",
        "fileduplicatesearch-result-n": "\"$1\" ફાઇલની તેની સમાન {{PLURAL:$2|1 નકલ |$2 નકલો }} છે.",
        "fileduplicatesearch-noresults": " \"$1\" નામ ધરાવતી કોઇ ફાઇલ ન મળી",
        "specialpages": "ખાસ પાનાંઓ",
+       "specialpages-note-restricted": "* નિયમિત ખાસ પાનાં.\n* <span class=\"mw-specialpagerestricted\">પ્રતિબંધિત ખાસ પાનાં.</span>",
        "specialpages-group-maintenance": "સમારકામ અહેવાલ",
        "specialpages-group-other": "અન્ય ખાસ પાનાઓ",
        "specialpages-group-login": "પ્રવેશ / ખાતુ બનાવો",
index c80216e..701507a 100644 (file)
        "whatlinkshere": "Cre ta kiangley rish shoh",
        "whatlinkshere-title": "Duillagyn ta kianglt rish $1",
        "whatlinkshere-page": "Duillag:",
-       "linkshere": "Ta ny duillagyn shoh kianglt rish '''[[:$1]]''':",
-       "nolinkshere": "Cha nel duillag erbee kianglt rish '''[[:$1]]'''.",
+       "linkshere-2": "Ta ny duillagyn shoh kianglt rish '''$1''':",
+       "nolinkshere-2": "Cha nel duillag erbee kianglt rish '''$1'''.",
        "isredirect": "duillag aa-enmyssit",
        "istemplate": "goaill stiagh",
        "isimage": "kiangley coadan",
index 408d8c9..5ca721e 100644 (file)
        "whatlinkshere": "Mahaɗan wannan shafi",
        "whatlinkshere-title": "Shafuna masu mahaɗi da \"$1\"",
        "whatlinkshere-page": "Shafi:",
-       "linkshere": "Waɗannan shafuna sun haɗu da '''[[:$1]]''':",
+       "linkshere-2": "Waɗannan shafuna sun haɗu da '''$1''':",
        "isredirect": "shafin turawa",
        "istemplate": "gami",
        "isimage": "majigi shigagge",
index 26e605d..9f97204 100644 (file)
        "whatlinkshere": "Nâi-têu lièn to liá-têu",
        "whatlinkshere-title": "Lièn-chiap to \"$1\" ke ya̍p-mien",
        "whatlinkshere-page": "Ya̍p-mien:",
-       "linkshere": "Hâ-poi ya̍p-mien lièn-chiap to <strong>[[:$1]]</strong>:",
-       "nolinkshere": "無頁面鏈接到'''[[:$1]]'''。",
-       "nolinkshere-ns": "Chhai só-sién ke miàng-sṳ khûng-kiên tú mò ya̍p-mien lièn-chiap to [[:$1]].",
+       "linkshere-2": "Hâ-poi ya̍p-mien lièn-chiap to <strong>$1</strong>:",
+       "nolinkshere-2": "無頁面鏈接到'''$1'''。",
+       "nolinkshere-ns-2": "Chhai só-sién ke miàng-sṳ khûng-kiên tú mò ya̍p-mien lièn-chiap to $1.",
        "isredirect": "chhùng-thin-hiong ya̍p",
        "istemplate": "pâu-hàm",
        "isimage": "vùn-khien lièn-chiap",
index b0d1643..bc55341 100644 (file)
        "whatlinkshere": "He aha ka mea e loulou iho ai",
        "whatlinkshere-title": "Nā ʻAoʻao e loulou iā \"$1\"",
        "whatlinkshere-page": "‘Ao‘ao:",
-       "linkshere": "Loulou kēia mau ʻaoʻao iā <strong>[[:$1]]</strong>:",
-       "nolinkshere": "ʻAʻohe ‘ao‘ao e loulou iā '''[[:$1]]'''.",
+       "linkshere-2": "Loulou kēia mau ʻaoʻao iā <strong>$1</strong>:",
+       "nolinkshere-2": "ʻAʻohe ‘ao‘ao e loulou iā '''$1'''.",
        "isredirect": "ʻaoʻao kia hou",
        "istemplate": "kumo",
        "isimage": "loulou waihona",
index 31b7caa..505e254 100644 (file)
        "right-sendemail": "שליחת דואר אלקטרוני למשתמשים אחרים",
        "right-managechangetags": "יצירה, הפעלה וביטול של [[Special:Tags|תגיות]]",
        "right-applychangetags": "החלת [[Special:Tags|תגיות]] יחד עם שינויים",
-       "right-changetags": "×\94×\95ספ×\94 ×\95×\94סר×\94 ×©×\9c [[Special:Tags|ת×\92×\99×\95ת]] ×\9c×\92רס×\90×\95ת ×\95×\9cרש×\95×\9e×\95ת ×\99×\95×\9eן",
+       "right-changetags": "×\94×\95ספת [[Special:Tags|ת×\92×\99×\95ת]] ×\9c×\92רס×\90×\95ת ×\95×\9cרש×\95×\9e×\95ת ×\99×\95×\9e×\9f ×\90×\95 ×\94סרת ×ª×\92×\99×\95ת ×\9e×\94ן",
        "right-deletechangetags": "מחיקת [[Special:Tags|תגיות]] מבסיס הנתונים",
        "grant-generic": "חבילת ההרשאות \"$1\"",
        "grant-group-page-interaction": "אינטראקציה עם דפים",
        "zip-wrong-format": "הקובץ שצוין אינו קובץ ZIP.",
        "zip-bad": "הקובץ הוא קובץ ZIP פגום או בלתי קריא מסיבה אחרת.\nלא ניתן לבצע עליו בדיקת אבטחה כנדרש.",
        "zip-unsupported": "קובץ זה הוא קובץ ZIP המשתמש בתכונות ZIP שאינן נתמכות על ידי מדיה־ויקי.\nלא ניתן לבצע עליו בדיקת אבטחה כנדרש.",
-       "uploadstash": "ס×\9c×\99ק העלאות",
+       "uploadstash": "×\9e×\90×\92ר העלאות",
        "uploadstash-summary": "דף זה מאפשר גישה לקבצים שהועלו (או נמצאים בתהליך העלאה), אך טרם פורסמו באתר הוויקי. קבצים אלה אינם גלויים לאיש מלבד המשתמש שהעלה אותם.",
-       "uploadstash-clear": "×\9e×\97×\99קת ×\94ק×\91צ×\99×\9d ×\91ס×\9c×\99ק",
-       "uploadstash-nofiles": "×\90×\99×\9f ×\9c×\9a ×§×\91צ×\99×\9d ×\91ס×\9c×\99ק.",
+       "uploadstash-clear": "×\9e×\97×\99קת ×\94ק×\91צ×\99×\9d ×\91×\9e×\90×\92ר",
+       "uploadstash-nofiles": "×\90×\99×\9f ×\9c×\9a ×§×\91צ×\99×\9d ×\91×\9e×\90×\92ר.",
        "uploadstash-badtoken": "ביצוע הפעולה נכשל, אולי בגלל פקיעת תוקפו של אסימון העריכה שלך. נא לנסות שוב.",
        "uploadstash-errclear": "מחיקת הקבצים נכשלה.",
        "uploadstash-refresh": "רענון רשימת הקבצים",
        "uploadstash-thumbnail": "הצגת תמונה ממוזערת",
-       "uploadstash-exception": "×\9c×\90 × ×\99ת×\9f ×\9c×\90×\97ס×\9f ×\90ת ×\94×\94×¢×\9c×\90×\94 ×\91ס×\9c×\99ק ($1): \"$2\".",
+       "uploadstash-exception": "×\9c×\90 × ×\99ת×\9f ×\9c×\90×\97ס×\9f ×\90ת ×\94×\94×¢×\9c×\90×\94 ×\91×\9e×\90×\92ר ($1): \"$2\".",
        "uploadstash-bad-path": "הנתיב אינו קיים.",
        "uploadstash-bad-path-invalid": "הנתיב אינו תקין.",
        "uploadstash-bad-path-unknown-type": "הסוג \"$1\" אינו מוכר.",
        "uploadstash-bad-path-unrecognized-thumb-name": "שם הקובץ הממוזער אינו מוכר.",
        "uploadstash-bad-path-no-handler": "לא נמצא רכיב המטפל ב־MIME מסוג $1 המתאים לקובץ $2.",
        "uploadstash-bad-path-bad-format": "המפתח \"$1\" אינו בפורמט המתאים.",
-       "uploadstash-file-not-found": "×\94×\9eפת×\97 \"$1\" ×\9c×\90 × ×\9eצ×\90 ×\91ס×\9c×\99ק הקבצים.",
+       "uploadstash-file-not-found": "×\94×\9eפת×\97 \"$1\" ×\9c×\90 × ×\9eצ×\90 ×\91×\9e×\90×\92ר הקבצים.",
        "uploadstash-file-not-found-no-thumb": "לא ניתן לייצר קובץ ממוזער.",
        "uploadstash-file-not-found-no-local-path": "אין נתיב מקומי לפריט בגודל שונה.",
        "uploadstash-file-not-found-no-object": "לא ניתן היה לייצר אובייקט של קובץ מקומי עבור הקובץ הממוזער.",
        "protectedtitles-submit": "הצגת הדפים",
        "listusers": "רשימת משתמשים",
        "listusers-editsonly": "הצגת משתמשים עם עריכות בלבד",
+       "listusers-temporarygroupsonly": "הצגת משתמשים בקבוצות משתמש זמניות בלבד",
        "listusers-creationsort": "מיון לפי תאריך היצירה של החשבון",
        "listusers-desc": "מיון בסדר יורד",
        "usereditcount": "{{PLURAL:$1|עריכה אחת|$1 עריכות}}",
        "enotif_subject_restored": "הדף \"$1\" ב{{grammar:תחילית|{{SITENAME}}}} שוחזר על־ידי $2",
        "enotif_subject_changed": "הדף \"$1\" ב{{grammar:תחילית|{{SITENAME}}}} שוּנה על־ידי $2",
        "enotif_body_intro_deleted": "הדף \"$1\" באתר {{SITENAME}} נמחק ב־$PAGEEDITDATE על־ידי $2; להלן הקישור לדף: $3.",
-       "enotif_body_intro_created": "×\94×\93×£ \"$1\" ×\91×\90תר {{SITENAME}} × ×\95צר ×\91Ö¾$PAGEEDITDATE ×¢×\9cÖ¾×\99×\93×\99 $2; ×¨×\90×\95 $3 ×\9c×\92רס×\94 ×\94× ×\95×\9b×\97×\99ת ×©×\9c ×\94×\93×£.",
-       "enotif_body_intro_moved": "×\94×\93×£ \"$1\" ×\91×\90תר {{SITENAME}} ×\94×\95×¢×\91ר ×\91Ö¾$PAGEEDITDATE ×¢×\9cÖ¾×\99×\93×\99 $2; ×¨×\90×\95 $3 ×\9c×\92רס×\94 ×\94× ×\95×\9b×\97×\99ת ×©×\9c ×\94×\93×£.",
-       "enotif_body_intro_restored": "×\94×\93×£ \"$1\" ×\91×\90תר {{SITENAME}} ×©×\95×\97×\96ר ×\91Ö¾$PAGEEDITDATE ×¢×\9cÖ¾×\99×\93×\99 $2; ×¨×\90×\95 $3 ×\9c×\92רס×\94 ×\94× ×\95×\9b×\97×\99ת ×©×\9c ×\94×\93×£.",
-       "enotif_body_intro_changed": "×\94×\93×£ \"$1\" ×\91×\90תר {{SITENAME}} ×©×\95Ö¼× ×\94 ×\91Ö¾$PAGEEDITDATE ×¢×\9cÖ¾×\99×\93×\99 $2; ×¨×\90×\95 $3 ×\9c×\92רס×\94 ×\94× ×\95×\9b×\97×\99ת ×©×\9c ×\94×\93×£.",
-       "enotif_lastvisited": "×\9c×\9b×\9c ×\94ש×\99× ×\95×\99×\99×\9d ×\9e×\90×\96 ×\91×\99ק×\95ר×\9b×\9d האחרון בדף, ר' $1",
+       "enotif_body_intro_created": "×\94×\93×£ \"$1\" ×\91×\90תר {{SITENAME}} × ×\95צר ×\91Ö¾$PAGEEDITDATE ×¢×\9cÖ¾×\99×\93×\99 $2; ×\9c×\94×\9c×\9f ×§×\99ש×\95ר ×\9c×\92רס×\94 ×\94× ×\95×\9b×\97×\99ת ×©×\9c ×\94×\93×£: $3.",
+       "enotif_body_intro_moved": "×\94×\93×£ \"$1\" ×\91×\90תר {{SITENAME}} ×\94×\95×¢×\91ר ×\91Ö¾$PAGEEDITDATE ×¢×\9cÖ¾×\99×\93×\99 $2; ×\9c×\94×\9c×\9f ×§×\99ש×\95ר ×\9c×\92רס×\94 ×\94× ×\95×\9b×\97×\99ת ×©×\9c ×\94×\93×£: $3.",
+       "enotif_body_intro_restored": "×\94×\93×£ \"$1\" ×\91×\90תר {{SITENAME}} ×©×\95×\97×\96ר ×\91Ö¾$PAGEEDITDATE ×¢×\9cÖ¾×\99×\93×\99 $2; ×\9c×\94×\9c×\9f ×§×\99ש×\95ר ×\9c×\92רס×\94 ×\94× ×\95×\9b×\97×\99ת ×©×\9c ×\94×\93×£: $3.",
+       "enotif_body_intro_changed": "×\94×\93×£ \"$1\" ×\91×\90תר {{SITENAME}} ×©×\95Ö¼× ×\94 ×\91Ö¾$PAGEEDITDATE ×¢×\9cÖ¾×\99×\93×\99 $2; ×\9c×\94×\9c×\9f ×§×\99ש×\95ר ×\9c×\92רס×\94 ×\94× ×\95×\9b×\97×\99ת ×©×\9c ×\94×\93×£: $3.",
+       "enotif_lastvisited": "×\9cצפ×\99×\99×\94 ×\91×\9b×\9c ×\94ש×\99× ×\95×\99×\99×\9d ×\9e×\90×\96 ×\91×\99ק×\95ר×\9a האחרון בדף, ר' $1",
        "enotif_lastdiff": "לצפייה בשינוי זה, ר' $1",
        "enotif_anon_editor": "משתמש אנונימי $1",
-       "enotif_body": "×\9c×\9b×\91×\95×\93 $WATCHINGUSERNAME,\n\n$PAGEINTRO $NEWPAGE\n\nתקצ×\99ר ×\94ער×\99×\9b×\94: $PAGESUMMARY $PAGEMINOREDIT\n\n×\91×\90פשר×\95ת×\9b×\9d ×\9c×\99צ×\95ר ×§×©×¨ ×¢×\9d ×\94×¢×\95ר×\9a:\n×\91×\93×\95×\90ר ×\90×\9cק×\98ר×\95× ×\99: $PAGEEDITOR_EMAIL\n×\91×\90תר: $PAGEEDITOR_WIKI\n\n×\9c×\90 ×ª×§×\91×\9c×\95 ×\94×\95×\93×¢×\95ת ×¢×\9c ×¤×¢×\95×\9c×\95ת × ×\95ספ×\95ת ×¢×\93 ×©×ª×\91קר×\95 ×\91×\93×£ ×\94×\96×\94 ×\9bש×\90ת×\9d ×\9e×\97×\95×\91ר×\99×\9d ×\9c×\97ש×\91×\95×\9f. ×\91×\90פשר×\95ת×\9b×\9d ×\92×\9d ×\9c×\90פס ×\90ת ×\93×\92×\9c×\99 ×\94×\94×\95×\93×¢×\95ת ×¢×\91×\95ר ×\9b×\9c ×\94×\93פ×\99×\9d ×©×\91רש×\99×\9eת ×\94×\9eעק×\91 ×©×\9c×\9b×\9d.\n\n×\91×\91ר×\9b×\94, ×\9eער×\9bת ×\94×\94×\95×\93×¢×\95ת ×©×\9c {{SITENAME}}.\n\n--\n×\9b×\93×\99 ×\9cשנ×\95ת ×\90ת ×\94×\94×\92×\93ר×\95ת ×©×\9c ×\94×\95×\93×¢×\95ת ×\94×\93×\95×\90\"×\9c ×\94נש×\9c×\97×\95ת ×\90×\9c×\99×\9b×\9d, ×\91קר×\95 ×\91×\93×£:\n{{canonicalurl:{{#special:Preferences}}}}\n\n×\9b×\93×\99 ×\9cשנ×\95ת ×\90ת ×\94×\94×\92×\93ר×\95ת ×©×\9c ×¨×©×\99×\9eת ×\94×\9eעק×\91 ×©×\9c×\9b×\9d, ×\91קר×\95 ×\91×\93×£:\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\n×\9b×\93×\99 ×\9c×\94ס×\99ר ×\90ת ×\94×\93×£ ×\94×\96×\94 ×\9eרש×\99×\9eת ×\94×\9eעק×\91 ×©×\9c×\9b×\9d, ×\91קר×\95 בדף:\n$UNWATCHURL\n\nלמשוב ולעזרה נוספת:\n$HELPPAGE",
+       "enotif_body": "×\9c×\9b×\91×\95×\93 $WATCHINGUSERNAME,\n\n$PAGEINTRO $NEWPAGE\n\nתקצ×\99ר ×\94ער×\99×\9b×\94: $PAGESUMMARY $PAGEMINOREDIT\n\n×\91×\90פשר×\95ת×\9a ×\9c×\99צ×\95ר ×§×©×¨ ×¢×\9d ×\94×¢×\95ר×\9a:\n×\91×\93×\95×\90ר ×\90×\9cק×\98ר×\95× ×\99: $PAGEEDITOR_EMAIL\n×\91×\90תר: $PAGEEDITOR_WIKI\n\n×\9c×\90 ×ª×\94×\99×\99× ×\94 ×\94×\95×\93×¢×\95ת ×¢×\9c ×¤×¢×\95×\9c×\95ת × ×\95ספ×\95ת ×¢×\93 ×\9c×\91×\99ק×\95ר×\9a ×\91×\93×£ ×\94×\96×\94 ×\9e×\94×\97ש×\91×\95×\9f ×©×\9c×\9a. ×\91×\90פשר×\95ת×\9a ×\92×\9d ×\9c×\90פס ×\90ת ×\93×\92×\9c×\99 ×\94×\94×\95×\93×¢×\95ת ×¢×\91×\95ר ×\9b×\9c ×\94×\93פ×\99×\9d ×©×\91רש×\99×\9eת ×\94×\9eעק×\91 ×©×\9c×\9a.\n\n×\91×\91ר×\9b×\94, ×\9eער×\9bת ×\94×\94×\95×\93×¢×\95ת ×©×\9c {{SITENAME}}.\n\n--\n×\9b×\93×\99 ×\9cשנ×\95ת ×\90ת ×\94×\94×\92×\93ר×\95ת ×©×\9c ×\94×\95×\93×¢×\95ת ×\94×\93×\95×\90\"×\9c, ×\91×\90פשר×\95ת×\9a ×\9c×\91קר ×\91×\93×£:\n{{canonicalurl:{{#special:Preferences}}}}\n\n×\9b×\93×\99 ×\9cשנ×\95ת ×\90ת ×\94×\94×\92×\93ר×\95ת ×©×\9c ×¨×©×\99×\9eת ×\94×\9eעק×\91 ×©×\9c×\9a, ×\91×\90פשר×\95ת×\9a ×\9c×\91קר ×\91×\93×£:\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\n×\9b×\93×\99 ×\9c×\94ס×\99ר ×\90ת ×\94×\93×£ ×\94×\96×\94 ×\9eרש×\99×\9eת ×\94×\9eעק×\91 ×©×\9c×\9a, ×\91×\90פשר×\95ת×\9a ×\9c×\91קר בדף:\n$UNWATCHURL\n\nלמשוב ולעזרה נוספת:\n$HELPPAGE",
        "enotif_minoredit": "זוהי עריכה משנית",
        "created": "נוצר",
        "changed": "שוּנה",
        "exbeforeblank": "התוכן לפני שרוקן היה: \"$1\"",
        "delete-confirm": "מחיקת הדף \"$1\"",
        "delete-legend": "מחיקה",
-       "historywarning": "<strong>אזהרה:</strong> לדף ש{{GENDER:|אתה עומד|את עומדת|אתם עומדים}} למחוק יש היסטוריית שינויים של {{PLURAL:$1|גרסה אחת|$1 גרסאות}}:",
+       "historywarning": "<strong>אזהרה:</strong> לדף שעומד להימחק יש היסטוריית שינויים של {{PLURAL:$1|גרסה אחת|$1 גרסאות}}:",
        "historyaction-submit": "הצגה",
-       "confirmdeletetext": "×\90ת×\9d ×¢×\95×\9e×\93×\99×\9d ×\9c×\9e×\97×\95ק ×\93×£ ×\99×\97×\93 ×¢×\9d ×\9b×\9c ×\94×\94×\99ס×\98×\95ר×\99×\94 ×©×\9c×\95.\n\n×\90× ×\90 ×\90שר×\95 ×©×\96×\94 ×\90×\9b×\9f ×\9e×\94 ×©×\90ת×\9d ×\9eת×\9b×\95×\95× ×\99×\9d ×\9cעש×\95ת, ×©×\90ת×\9d ×\9e×\91×\99× ×\99×\9d ×\90ת ×\94ת×\95צ×\90×\95ת ×©×\9c ×\9eעש×\94 ×\9b×\96×\94, ושהמעשה מבוצע בהתאם ל[[{{MediaWiki:Policy-url}}|נוהלי האתר]].",
+       "confirmdeletetext": "× ×\99ת×\9f ×\9c×\94שת×\9eש ×\91×\98×\95פס ×©×\9c×\94×\9c×\9f ×\9b×\93×\99 ×\9c×\9e×\97×\95ק ×\93×£ ×\99×\97×\93 ×¢×\9d ×\9b×\9c ×\94×\94×\99ס×\98×\95ר×\99×\94 ×©×\9c×\95.\n× ×\90 ×\9c×\90שר ×©×\96×\94 ×\90×\9b×\9f ×\9e×\94 ×©×\94ת×\9b×\95×\95נת ×\9cעש×\95ת, ×©×\94ת×\95צ×\90×\95ת ×©×\9c ×\94פע×\95×\9c×\94 ×\94×\96×\95 ×\99×\93×\95×¢×\95ת ×\9c×\9a, ושהמעשה מבוצע בהתאם ל[[{{MediaWiki:Policy-url}}|נוהלי האתר]].",
        "actioncomplete": "הפעולה בוצעה",
        "actionfailed": "הפעולה נכשלה",
-       "deletedtext": "\"$1\" נמחק.\nראו $2 לרשימת המחיקות האחרונות.",
+       "deletedtext": "הדף \"$1\" נמחק.\nרשימת המחיקות האחרונות מופיעה ב$2.",
        "dellogpage": "יומן מחיקות",
        "dellogpagetext": "להלן רשימה של המחיקות האחרונות שבוצעו.",
-       "deletionlog": "יומן מחיקות",
+       "deletionlog": "×\99×\95×\9e×\9f ×\94×\9e×\97×\99ק×\95ת",
        "reverted": "שוחזר לגרסה קודמת",
        "deletecomment": "סיבה:",
        "deleteotherreason": "סיבה אחרת/נוספת:",
        "deletereason-dropdown": "* סיבות מחיקה נפוצות\n** ספאם\n** השחתה\n** הפרת זכויות יוצרים\n** לבקשת הכותב\n** הפניה שבורה",
        "delete-edit-reasonlist": "עריכת סיבות המחיקה",
        "delete-toobig": "לדף זה יש היסטוריית עריכות גדולה, שמכילה יותר {{PLURAL:$1|מגרסה אחת|מ־$1 גרסאות}}.\nמחיקת דפים כאלה הוגבלה כדי למנוע בעיות בתפקוד של {{SITENAME}}.",
-       "delete-warning-toobig": "דף זה כולל מעל {{PLURAL:$1|גרסה אחת|$1 גרסאות}} בהיסטוריית העריכות שלו. מחיקה שלו עלולה להפריע לפעולות בבסיס הנתונים; אנא שקלו שנית את המחיקה.",
+       "delete-warning-toobig": "דף זה כולל מעל {{PLURAL:$1|גרסה אחת|$1 גרסאות}} בהיסטוריית העריכות שלו.\nמחיקה שלו עלולה להפריע לפעולות בבסיס הנתונים של {{SITENAME}};\nנא לשקול שנית את המחיקה.",
        "deleteprotected": "אין באפשרותך למחוק את הדף כי הוא מוגן.",
-       "deleting-backlinks-warning": "<strong>×\90×\96×\94ר×\94:</strong> [[Special:WhatLinksHere/{{FULLPAGENAME}}|×\93פ×\99×\9d ×\90×\97ר×\99×\9d]] ×\9eקשר×\99×\9d ×\9c×\93×£ ×©{{GENDER:|×\90ת×\94 ×¢×\95×\9e×\93\90ת ×¢×\95×\9e×\93ת|×\90ת×\9d ×¢×\95×\9e×\93×\99×\9d}} ×\9c×\9e×\97×\95ק או מכלילים אותו.",
-       "deleting-subpages-warning": "<strong>אזהרה:</strong> לדף ש{{GENDER:|אתה עומד|את עומדת|אתם עומדים}} למחוק יש [[Special:PrefixIndex/{{FULLPAGENAME}}/|{{PLURAL:$1|דף משנה|$1 דפי משנה|51=יותר מ־50 דפי משנה}}]].",
+       "deleting-backlinks-warning": "<strong>×\90×\96×\94ר×\94:</strong> [[Special:WhatLinksHere/{{FULLPAGENAME}}|×\93פ×\99×\9d ×\90×\97ר×\99×\9d]] ×\9eקשר×\99×\9d ×\9c×\93×£ ×\96×\94 (שע×\95×\9e×\93 ×\9c×\94×\99×\9e×\97ק) או מכלילים אותו.",
+       "deleting-subpages-warning": "<strong>אזהרה:</strong> לדף שעומד להימחק יש [[Special:PrefixIndex/{{FULLPAGENAME}}/|{{PLURAL:$1|דף משנה|$1 דפי משנה|51=יותר מ־50 דפי משנה}}]].",
        "rollback": "שחזור עריכות",
        "rollbacklink": "שחזור",
        "rollbacklinkcount": "שחזור {{PLURAL:$1|עריכה אחת|$1 עריכות}}",
        "rollback-missingparam": "חסרים פרמטרים נדרשים להגשת הבקשה.",
        "rollback-missingrevision": "לא ניתן לטעון את המידע על הגרסה.",
        "cantrollback": "לא ניתן לשחזר את העריכה;\nהתורם האחרון הוא היחיד שכתב בדף זה.",
-       "alreadyrolled": "לא ניתן לשחזר את העריכה של [[User:$2|$2]] ([[User talk:$2|שיחה]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]) בדף [[:$1]]; הדף כבר נערך או שוחזר.\n\nהעריכה האחרונה הייתה של [[User:$3|$3]] ([[User talk:$3|שיחה]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).",
+       "alreadyrolled": "לא ניתן לשחזר את העריכה של [[User:$2|$2]] ([[User talk:$2|שיחה]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]) בדף [[:$1]];\nהדף כבר נערך או שוחזר.\n\nהעריכה האחרונה הייתה של [[User:$3|$3]] ([[User talk:$3|שיחה]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).",
        "editcomment": "תקציר העריכה היה: <em>$1</em>.",
        "revertpage": "שוחזר מעריכות של [[Special:Contributions/$2|$2]] ([[User talk:$2|שיחה]]) לעריכה האחרונה של [[User:$1|$1]]",
        "revertpage-nouser": "שוחזר מעריכות של משתמש מוסתר לעריכה האחרונה של {{GENDER:$1|[[User:$1|$1]]}}",
-       "rollback-success": "שוחזר מעריכות של {{GENDER:$3|$1}} לעריכה האחרונה של {{GENDER:$4|$2}}.",
-       "rollback-success-notify": "שוחזר מעריכות של $1 לעריכה האחרונה של $2. [$3 הצגת שינויים]",
+       "rollback-success": "שוחזר מעריכות של {{GENDER:$3|$1}}\nלעריכה האחרונה של {{GENDER:$4|$2}}.",
+       "rollback-success-notify": "שוחזר מעריכות של $1\nלעריכה האחרונה של $2. [$3 הצגת שינויים]",
        "sessionfailure-title": "בעיה בחיבור",
        "sessionfailure": "נראה שיש בעיה בחיבור שלך לאתר;\nפעולה זו בוטלה כאמצעי זהירות נגד התחזות לתקשורת ממחשבך.\nנא לשלוח מחדש את הטופס.",
        "changecontentmodel": "שינוי מודל התוכן של דף",
        "log-name-contentmodel": "יומן שינויי מודל תוכן",
        "log-description-contentmodel": "בדף זה מופיעים שינויים במודל התוכן של דפים, וכן דפים שנוצרו עם מודל תוכן שונה מברירת המחדל.",
        "logentry-contentmodel-new": "$1 {{GENDER:$2|יצר|יצרה}} את הדף $3 תוך שימוש במודל התוכן \"$5\" השונה ממודל ברירת המחדל",
-       "logentry-contentmodel-change": "$1 {{GENDER:$2|שינה|שינתה}} את מודל התוכן של הדף $3 מ\"$4\" ל\"$5\"",
+       "logentry-contentmodel-change": "$1 {{GENDER:$2|שינה|שינתה}} את מודל התוכן של הדף $3 מ{{GRAMMAR:תחילית|$4}} ל{{GRAMMAR:תחילית|$5}}",
        "logentry-contentmodel-change-revertlink": "שחזור",
        "logentry-contentmodel-change-revert": "שחזור",
        "protectlogpage": "יומן הגנות",
-       "protectlogtext": "×\9c×\94×\9c×\9f ×¨×©×\99×\9e×\94 ×©×\9c ×©×\99× ×\95×\99×\99 ×\94×\94×\92× ×\94 ×¢×\9c ×\93פ×\99×\9d.\nר×\90×\95 ×\92×\9d ×\90ת [[Special:ProtectedPages|רשימת הדפים המוגנים]] הנוכחית.",
+       "protectlogtext": "×\9c×\94×\9c×\9f ×¨×©×\99×\9e×\94 ×©×\9c ×©×\99× ×\95×\99×\99 ×\94×\94×\92× ×\94 ×¢×\9c ×\93פ×\99×\9d.\n× ×\99ת×\9f ×\9c×¢×\99×\99×\9f ×\92×\9d ×\91[[Special:ProtectedPages|רשימת הדפים המוגנים]] הנוכחית.",
        "protectedarticle": "הופעלה הגנה על הדף \"[[$1]]\"",
        "modifiedarticleprotection": "רמת ההגנה של הדף \"[[$1]]\" שונתה",
        "unprotectedarticle": "ההגנה הוסרה מהדף \"[[$1]]\"",
        "protect_expiry_invalid": "זמן פקיעת ההגנה אינו תקין.",
        "protect_expiry_old": "זמן פקיעת ההגנה כבר עבר.",
        "protect-unchain-permissions": "שינוי אפשרויות הגנה נוספות",
-       "protect-text": "בדף זה אפשר לראות ולשנות את רמת ההגנה של הדף '''$1'''.",
-       "protect-locked-blocked": "×\90×\99× ×\9b×\9d ×\99×\9b×\95×\9c×\99×\9d ×\9cשנ×\95ת ×\90ת ×¨×\9eת ×\94×\94×\92× ×\94 ×©×\9c ×\94×\93×£ ×\91×¢×\95×\93×\9b×\9d ×\97ס×\95×\9e×\99×\9d.\n×\9c×\94×\9c×\9f ×\94×\94×\92×\93ר×\95ת ×\94× ×\95×\9b×\97×\99×\95ת ×¢×\91×\95ר ×\94×\93×£ '''$1''':",
-       "protect-locked-dblock": "×\9c×\90 × ×\99ת×\9f ×\9cשנ×\95ת ×\90ת ×¨×\9eת ×\94×\94×\92× ×\94 ×¢×\9c ×\94×\93×£ ×\9e×\9b×\99×\95×\95×\9f ×©×\91ס×\99ס ×\94נת×\95× ×\99×\9d ×\97ס×\95×\9d ×\91ר×\92×¢ ×\96×\94.\n×\9c×\94×\9c×\9f ×\94×\94×\92×\93ר×\95ת ×\94× ×\95×\9b×\97×\99×\95ת ×¢×\91×\95ר ×\94×\93×£ '''$1''':",
-       "protect-locked-access": "לחשבון המשתמש שלך אין הרשאה לשנות את רמת ההגנה של הדף.\nלהלן ההגדרות הנוכחיות עבור הדף '''$1''':",
+       "protect-text": "בדף זה אפשר לראות ולשנות את רמת ההגנה של הדף <strong>$1</strong>.",
+       "protect-locked-blocked": "×\90×\99×\9f ×\91×\90פשר×\95ת×\9a ×\9cשנ×\95ת ×\90ת ×¨×\9eת ×\94×\94×\92× ×\94 ×©×\9c ×\94×\93×£ ×\9b×\99×\95×\95×\9f ×©× ×\97ס×\9eת.\n×\9c×\94×\9c×\9f ×\94×\94×\92×\93ר×\95ת ×\94× ×\95×\9b×\97×\99×\95ת ×¢×\91×\95ר ×\94×\93×£ <strong>$1</strong>:",
+       "protect-locked-dblock": "×\9c×\90 × ×\99ת×\9f ×\9cשנ×\95ת ×\90ת ×¨×\9eת ×\94×\94×\92× ×\94 ×¢×\9c ×\94×\93×£ ×\9e×\9b×\99×\95×\95×\9f ×©×\91ס×\99ס ×\94נת×\95× ×\99×\9d × ×¢×\95×\9c ×\91ר×\92×¢ ×\96×\94.\n×\9c×\94×\9c×\9f ×\94×\94×\92×\93ר×\95ת ×\94× ×\95×\9b×\97×\99×\95ת ×¢×\91×\95ר ×\94×\93×£ <strong>$1</strong>:",
+       "protect-locked-access": "לחשבון המשתמש שלך אין הרשאה לשנות את רמת ההגנה של הדף.\nלהלן ההגדרות הנוכחיות עבור הדף <strong>$1</strong>:",
        "protect-cascadeon": "דף זה מוגן כרגע כיוון שהוא מוכלל {{PLURAL:$1|בדף הבא, שמופעלת עליו|בדפים הבאים, שמופעלת עליהם}} הגנה מדורגת.\nשינויים ברמת ההגנה על הדף לא ישפיעו על ההגנה המדורגת.",
        "protect-default": "כל המשתמשים מורשים",
        "protect-fallback": "רק משתמשים בעלי הרשאת \"$1\" מורשים",
        "whatlinkshere": "דפים המקושרים לכאן",
        "whatlinkshere-title": "דפים המקשרים לדף \"$1\"",
        "whatlinkshere-page": "דף:",
-       "linkshere": "הדפים שלהלן מקושרים לדף '''[[:$1]]''':",
-       "nolinkshere": "אין דפים המקושרים לדף '''[[:$1]]'''.",
-       "nolinkshere-ns": "אין דפים המקושרים לדף '''[[:$1]]''' במרחב השם שנבחר.",
+       "linkshere-2": "הדפים שלהלן מקושרים לדף '''$1''':",
+       "nolinkshere-2": "אין דפים המקושרים לדף '''$1'''.",
+       "nolinkshere-ns-2": "אין דפים המקושרים לדף '''$1''' במרחב השם שנבחר.",
        "isredirect": "דף הפניה",
        "istemplate": "הכללה",
        "isimage": "קישור לקובץ",
        "sessionprovider-generic": "התחברויות של $1",
        "sessionprovider-mediawiki-session-cookiesessionprovider": "התחברויות המבוססות על עוגיות",
        "sessionprovider-nocookies": "ייתכן שאפשרות השימוש בעוגיות כבויה. יש לוודא שאפשרות השימוש בעוגיות מופעלת ולהתחיל מחדש.",
-       "randomrootpage": "×\93×£ ×©×\95רש אקראי",
+       "randomrootpage": "×\93×£ ×\91ס×\99ס אקראי",
        "log-action-filter-block": "סוג החסימות:",
        "log-action-filter-contentmodel": "סוג השינויים במודל התוכן:",
        "log-action-filter-delete": "סוג המחיקות:",
        "linkaccounts": "קישור חשבונות",
        "linkaccounts-success-text": "החשבון קושר.",
        "linkaccounts-submit": "קישור החשבונות",
-       "unlinkaccounts": "×\91×\99×\98×\95×\9c ×\94ק×\99ש×\95ר ×©×\9c ×\94חשבונות",
+       "unlinkaccounts": "×\91×\99×\98×\95×\9c ×\94ק×\99ש×\95ר ×\91×\99×\9f חשבונות",
        "unlinkaccounts-success": "קישור החשבון בוטל.",
        "authenticationdatachange-ignored": "השינוי בנתוני האימות לא הצליח. ייתכן שלא הוגדר ספק.",
        "userjsispublic": "לתשומת לבך: משתמשים אחרים יכולים לצפות בדפי ה־JavaScript שלך, ולכן אין לכלול בהם מידע סודי.",
        "pagedata-text": "דף זה מהווה ממשק מידע לדפים. כדי להשתמש בו, כותרת הדף צריכה להופיע בכתובת ה־URL, בעזרת התחביר המתאים לדפי־משנה.\n* דף זה משתמש בשיטת \"ניתוב התוכן\" (Content negotiation) בהתבסס על כותרת ה־Accept ששולח צד הלקוח. פירוש הדבר הוא שהמידע על הדף יישלח בפורמט שצד הלקוח (כגון דפדפן) מעדיף.",
        "pagedata-not-acceptable": "לא נמצא פורמט נתמך. סוגי MIME נתמכים: $1",
        "pagedata-bad-title": "כותרת בלתי־תקינה: $1.",
-       "unregistered-user-config": "מסיבות אבטחה, לא ניתן לטעון דפי JavaScript‏, CSS ו־JSON בדפי משנה של משתמשים שאינם קיימים."
+       "unregistered-user-config": "מסיבות אבטחה, לא ניתן לטעון דפי JavaScript‏, CSS ו־JSON בדפי משנה של משתמשים שאינם קיימים.",
+       "passwordpolicies": "מדיניות הסיסמאות",
+       "passwordpolicies-summary": "להלן חוקי הסיסמאות שנמצאים בשימוש עבור קבוצות המשתמש באתר זה.",
+       "passwordpolicies-group": "קבוצה",
+       "passwordpolicies-policies": "מדיניות",
+       "passwordpolicies-policy-minimalpasswordlength": "הסיסמה חייבת להיות באורך של {{PLURAL:$1|תו אחד|$1 תווים}} לפחות",
+       "passwordpolicies-policy-minimumpasswordlengthtologin": "הסיסמה חייבת להיות באורך של {{PLURAL:$1|תו אחד|$1 תווים}} לפחות כדי שניתן יהיה להיכנס לחשבון",
+       "passwordpolicies-policy-passwordcannotmatchusername": "הסיסמה לא יכולה להיות זהה לשם המשתמש",
+       "passwordpolicies-policy-passwordcannotmatchblacklist": "הסיסמה לא יכולה להתאים לסיסמאות מסוימות שנמצאות ברשימה השחורה",
+       "passwordpolicies-policy-maximalpasswordlength": "הסיסמה חייבת להיות קצרה יותר {{PLURAL:$1|מתו אחד|מ־$1 תווים}}",
+       "passwordpolicies-policy-passwordcannotbepopular": "הסיסמה לא יכולה להיות זהה {{PLURAL:$1|לסיסמה נפוצה|לאחת הסיסמאות שנמצאות ברשימה של $1 הסיסמאות הנפוצות}}"
 }
index da053eb..2bf6fc3 100644 (file)
        "whatlinkshere": "यहाँ क्या जुड़ता है",
        "whatlinkshere-title": "$1 से जुड़े हुए पृष्ठ",
        "whatlinkshere-page": "पृष्ठ:",
-       "linkshere": "नीचे दिये हुए पृष्ठ '''[[:$1]]''' से जुडते हैं:",
-       "nolinkshere": "<strong>[[:$1]]</strong> से कोई भी पन्ना नहीं जुड़ा है।",
-       "nolinkshere-ns": "चुने हुए नामस्थानसे '''[[:$1]]''' को जुडने वाले पृष्ठ नहीं हैं।",
+       "linkshere-2": "नीचे दिये हुए पृष्ठ '''$1''' से जुडते हैं:",
+       "nolinkshere-2": "<strong>$1</strong> से कोई भी पन्ना नहीं जुड़ा है।",
+       "nolinkshere-ns-2": "चुने हुए नामस्थानसे '''$1''' को जुडने वाले पृष्ठ नहीं हैं।",
        "isredirect": "पुनर्निर्देशन पृष्ठ",
        "istemplate": "मिलाईयें",
        "isimage": "फ़ाइल प्रयोग",
index 83ce743..b215c80 100644 (file)
        "whatlinkshere": "Hian konchij jurre hae",
        "whatlinkshere-title": "Panna jon ki $1 se jurre hai",
        "whatlinkshere-page": "Panna:",
-       "linkshere": "Niche waala panna '''[[:$1]]''' se jorre hai:",
-       "nolinkshere": "Koi panna '''[[:$1]]''' ke nai jorre hai.",
-       "nolinkshere-ns": "Chuna gais namespace me koi panna '''[[:$1]]''' se nai jiurre hai.",
+       "linkshere-2": "Niche waala panna '''$1''' se jorre hai:",
+       "nolinkshere-2": "Koi panna '''$1''' ke nai jorre hai.",
+       "nolinkshere-ns-2": "Chuna gais namespace me koi panna '''$1''' se nai jiurre hai.",
        "isredirect": "panna ke redirect karo",
        "istemplate": "milao",
        "isimage": "file ke jorr",
index e0eacc7..7de08f0 100644 (file)
        "whatlinkshere": "Ang nagatabid diri",
        "whatlinkshere-title": "Mga pahina nga naga tabid sa $1",
        "whatlinkshere-page": "Pahina:",
-       "linkshere": "Ang mga sumunod nga pahina ay nagatabid sa '''[[:$1]]''':",
-       "nolinkshere": "Waay panid nga nakasugpon sa '''[[:$1]]'''.",
+       "linkshere-2": "Ang mga sumunod nga pahina ay nagatabid sa '''$1''':",
+       "nolinkshere-2": "Waay panid nga nakasugpon sa '''$1'''.",
        "isredirect": "pahina sa ginadirekta liwat",
        "istemplate": "transklusyon",
        "isimage": "Ang sugpon sang file",
index d629156..def7267 100644 (file)
        "whatlinkshere": "Što vodi ovamo",
        "whatlinkshere-title": "Stranice koje vode na »$1«",
        "whatlinkshere-page": "Stranica:",
-       "linkshere": "Sljedeće stranice povezuju ovamo ([[:$1]]):",
-       "nolinkshere": "Nijedna stranica ne vodi ovamo (tj. nema poveznica na stranicu [[:$1]]).",
-       "nolinkshere-ns": "Nijedna stranica ne vodi na '''[[:$1]]''' u odabranom imenskom prostoru.",
+       "linkshere-2": "Sljedeće stranice povezuju ovamo ($1):",
+       "nolinkshere-2": "Nijedna stranica ne vodi ovamo (tj. nema poveznica na stranicu $1).",
+       "nolinkshere-ns-2": "Nijedna stranica ne vodi na '''$1''' u odabranom imenskom prostoru.",
        "isredirect": "stranica za preusmjeravanje",
        "istemplate": "kao predložak",
        "isimage": "poveznica na datoteku",
        "show-big-image": "Vidi sliku u punoj veličini",
        "show-big-image-preview": "Veličina ovog prikaza: $1.",
        "show-big-image-preview-differ": "Veličina ovog $3 prikaza ove $2 datoteke: $1.",
-       "show-big-image-other": "{{PLURAL:$2|Druga rezolucija|Ostale rezolucije}}: $1.",
+       "show-big-image-other": "{{PLURAL:$2|Druga razlučivost|Ostale razlučivosti}}: $1.",
        "show-big-image-size": "$1 × $2 piksela",
        "file-info-gif-looped": "animacija se ponavlja",
        "file-info-gif-frames": "$1 {{PLURAL:$1|okvir|okvira}}",
index 0793174..88774fd 100644 (file)
        "whatlinkshere": "Links uff die Seit",
        "whatlinkshere-title": "Seite, die uff \"$1\" verlinke",
        "whatlinkshere-page": "Seit:",
-       "linkshere": "Die follichende Seite verlinke uff '''\"[[:$1]]\"''':",
-       "nolinkshere": "Ken Seit verlinkt uff '''„[[:$1]]“'''.",
-       "nolinkshere-ns": "Ken Seit verlinkt uff '''\"[[:$1]]\"''' im gewählte Noomeraum.",
+       "linkshere-2": "Die follichende Seite verlinke uff '''\"$1\"''':",
+       "nolinkshere-2": "Ken Seit verlinkt uff '''„$1“'''.",
+       "nolinkshere-ns-2": "Ken Seit verlinkt uff '''\"$1\"''' im gewählte Noomeraum.",
        "isredirect": "Weiterleitungsseit",
        "istemplate": "Voarlooche-einbinnunge (transclusões)",
        "isimage": "Dateilink",
        "fileduplicatesearch-noresults": "Do woarde keh Datei mit dem Noome \"$1\" gefunn.",
        "specialpages": "Spezialseite",
        "specialpages-note-top": "Legende",
+       "specialpages-note-restricted": "* Normal Spezialseite.\n* <span class=\"mw-specialpagerestricted\">Spezialseite mit beschränktem Zugang.</span>",
        "specialpages-group-maintenance": "Woortungsliste",
        "specialpages-group-other": "Annre Spezialseite",
        "specialpages-group-login": "Benutzerkonto",
index 652f58e..735e55e 100644 (file)
        "whatlinkshere": "Što wotkazuje sem",
        "whatlinkshere-title": "Strony, kotrež na „$1“ wotkazuja",
        "whatlinkshere-page": "Strona:",
-       "linkshere": "Sćěhowace strony na stronu '''[[:$1]]''' wotkazuja:",
-       "nolinkshere": "Žane strony na '''[[:$1]]''' njewotkazuja.",
-       "nolinkshere-ns": "Žane strony njewotkazuja na '''[[:$1]]''' we wubranym mjenowym rumje.",
+       "linkshere-2": "Sćěhowace strony na stronu '''$1''' wotkazuja:",
+       "nolinkshere-2": "Žane strony na '''$1''' njewotkazuja.",
+       "nolinkshere-ns-2": "Žane strony njewotkazuja na '''$1''' we wubranym mjenowym rumje.",
        "isredirect": "daleposrědkowanje",
        "istemplate": "zapřijeće předłohi",
        "isimage": "Datajowy wotkaz",
        "fileduplicatesearch-noresults": "Žana dataja z mjenom \"$1\" namakana.",
        "specialpages": "Specialne strony",
        "specialpages-note-top": "Legenda",
+       "specialpages-note-restricted": "* Normalne specialne strony.\n* <span class=\"mw-specialpagerestricted\">Specialne strony z wobmjezowanym přistupom.</span>",
        "specialpages-group-maintenance": "Hladanske lisćiny",
        "specialpages-group-other": "Druhe specialne strony",
        "specialpages-group-login": "Přizjewić/Konto załožić",
index 4ce20c8..04d5473 100644 (file)
        "whatlinkshere": "Paj ki gen lyen vè paj sa a",
        "whatlinkshere-title": "Paj ki genyen lyen ki ap mennen nan \"$1\"",
        "whatlinkshere-page": "Paj :",
-       "linkshere": "Paj yo ki anba ap mene nan <b>[[:$1]]</b> :",
-       "nolinkshere": "Pyès paj genyen lyen pou paj sa a <b>[[:$1]]</b>.",
+       "linkshere-2": "Paj yo ki anba ap mene nan <b>$1</b> :",
+       "nolinkshere-2": "Pyès paj genyen lyen pou paj sa a <b>$1</b>.",
        "isredirect": "paj redireksyon",
        "istemplate": "anndan",
        "isimage": "lyen fichye a",
index 804e1ff..31cf225 100644 (file)
        "whatlinkshere": "Mi hivatkozik erre",
        "whatlinkshere-title": "A(z) „$1” lapra hivatkozó lapok",
        "whatlinkshere-page": "Lap:",
-       "linkshere": "Az alábbi lapok hivatkoznak erre: [[:$1]]",
-       "nolinkshere": "[[:$1]]: erre a lapra egyetlen más lap sem hivatkozik.",
-       "nolinkshere-ns": "A kiválasztott névtérben egyetlen oldal sem hivatkozik a(z) '''[[:$1]]''' lapra.",
+       "linkshere-2": "Az alábbi lapok hivatkoznak erre: $1",
+       "nolinkshere-2": "$1: erre a lapra egyetlen más lap sem hivatkozik.",
+       "nolinkshere-ns-2": "A kiválasztott névtérben egyetlen oldal sem hivatkozik a(z) '''$1''' lapra.",
        "isredirect": "átirányítás",
        "istemplate": "beillesztve",
        "isimage": "fájlhivatkozás",
        "pagedata-title": "Az oldal adatai",
        "pagedata-not-acceptable": "Nem található megfelelő formátum. Támogatott MIME-típusok: $1",
        "pagedata-bad-title": "Érvénytelen cím: $1.",
-       "unregistered-user-config": "Biztonsági okokból JavaScript, CSS és JSON szerkesztői alapok nem töltődnek be regisztrálatlan felhasználóknak."
+       "unregistered-user-config": "Biztonsági okokból JavaScript, CSS és JSON szerkesztői alapok nem töltődnek be regisztrálatlan felhasználóknak.",
+       "passwordpolicies": "Jelszóirányelvek",
+       "passwordpolicies-group": "Csoport",
+       "passwordpolicies-policies": "Irányelvek",
+       "passwordpolicies-policy-minimalpasswordlength": "A jelszónak legalább $1 karakterből kell állnia",
+       "passwordpolicies-policy-minimumpasswordlengthtologin": "A jelszónak legalább $1 karakterből kell állnia a bejelentkezéshez",
+       "passwordpolicies-policy-passwordcannotmatchusername": "A jelszó nem lehet azonos a felhasználónévvel",
+       "passwordpolicies-policy-maximalpasswordlength": "A jelszó legfeljebb $1 karakter hosszú lehet"
 }
index 19c20ab..9c2d190 100644 (file)
        "whatlinkshere": "Այստեղ հղվող էջերը",
        "whatlinkshere-title": "Էջեր, որոնք հղում են դեպի «$1»",
        "whatlinkshere-page": "Էջ.",
-       "linkshere": "Հետևյալ էջերը հղում են '''[[:$1]]''' էջին.",
-       "nolinkshere": "Ուրիշ էջերից '''[[:$1]]''' էջին հղումներ չկան։",
-       "nolinkshere-ns": "Ընտրված անվանատարածքում '''[[:$1]]''' էջին հղվող էջեր չկան։",
+       "linkshere-2": "Հետևյալ էջերը հղում են '''$1''' էջին.",
+       "nolinkshere-2": "Ուրիշ էջերից '''$1''' էջին հղումներ չկան։",
+       "nolinkshere-ns-2": "Ընտրված անվանատարածքում '''$1''' էջին հղվող էջեր չկան։",
        "isredirect": "վերահղման էջ",
        "istemplate": "ներառում",
        "isimage": "ֆայլի հղում",
        "fileduplicatesearch-result-n": "$1 նիշքն ունի {{PLURAL:$2|1 նույնական կրկնօրինակ|$2 նույնական կրկնօրինակ}}.",
        "fileduplicatesearch-noresults": "$1 անունով նիշք չի գտնվել",
        "specialpages": "Սպասարկող էջեր",
+       "specialpages-note-restricted": "* Հասարակ հատուկ էջեր։\n* <span class=\"mw-specialpagerestricted\">Սահմանափակված հատուկ էջեր։</span>",
        "specialpages-group-maintenance": "Տեխնիկական սպասարկման տեղեկատուներ",
        "specialpages-group-other": "Այլ հատուկ էջեր",
        "specialpages-group-login": "Մտնել / Գրանցվել",
index 0c78329..695f247 100644 (file)
        "recentchangeslinked-feed": "Modificationes ligate",
        "recentchangeslinked-toolbox": "Modificationes ligate",
        "recentchangeslinked-title": "Modificationes associate a \"$1\"",
-       "recentchangeslinked-summary": "Entra le nomine de un pagina pro vider le modificationes facite in paginas ligate ab o verso ille pagina. (Pro vider le membros de un categoria, entra Categoria:Nomine del categoria.)\nLe paginas presente in [[Special:Watchlist|tu observatorio]] appare in litteras <strong>grasse</strong>.",
+       "recentchangeslinked-summary": "Entra le nomine de un pagina pro vider le modificationes facite in paginas ligate ab o verso ille pagina. (Pro vider le membros de un categoria, entra {{ns:category}}:Nomine del categoria.)\nLe paginas presente in [[Special:Watchlist|tu observatorio]] appare in litteras <strong>grasse</strong>.",
        "recentchangeslinked-page": "Nomine del pagina:",
        "recentchangeslinked-to": "Monstrar modificationes in paginas con ligamines al pagina specificate",
        "recentchanges-page-added-to-category": "[[:$1]] addite al categoria",
        "whatlinkshere": "Paginas ligate a iste",
        "whatlinkshere-title": "Paginas con ligamines verso $1",
        "whatlinkshere-page": "Pagina:",
-       "linkshere": "Le sequente paginas contine ligamines a '''[[:$1]]''':",
-       "nolinkshere": "Nulle pagina contine un ligamine verso '''[[:$1]]'''.",
-       "nolinkshere-ns": "Nulle pagina liga a '''[[:$1]]''' in le spatio de nomines seligite.",
+       "linkshere-2": "Le sequente paginas contine ligamines a '''$1''':",
+       "nolinkshere-2": "Nulle pagina contine un ligamine verso '''$1'''.",
+       "nolinkshere-ns-2": "Nulle pagina liga a '''$1''' in le spatio de nomines seligite.",
        "isredirect": "pagina de redirection",
        "istemplate": "transclusion",
        "isimage": "ligamine al file",
index e886852..631fc26 100644 (file)
        "whatlinkshere": "Pranala balik",
        "whatlinkshere-title": "Halaman yang memiliki pranala ke \"$1\"",
        "whatlinkshere-page": "Halaman:",
-       "linkshere": "Halaman-halaman berikut ini memiliki pranala ke '''[[:$1]]''':",
-       "nolinkshere": "Tidak ada halaman yang memiliki pranala ke '''[[:$1]]'''.",
-       "nolinkshere-ns": "Tidak ada halaman yang memiliki pranala ke '''[[:$1]]''' pada ruang nama yang dipilih.",
+       "linkshere-2": "Halaman-halaman berikut ini memiliki pranala ke '''$1''':",
+       "nolinkshere-2": "Tidak ada halaman yang memiliki pranala ke '''$1'''.",
+       "nolinkshere-ns-2": "Tidak ada halaman yang memiliki pranala ke '''$1''' pada ruang nama yang dipilih.",
        "isredirect": "halaman pengalihan",
        "istemplate": "tranklusi",
        "isimage": "pranala berkas",
index 470dac3..e802ab6 100644 (file)
        "whatlinkshere": "Referenties a ti-ci págine",
        "whatlinkshere-title": "Págines quo liga por \"$1\"",
        "whatlinkshere-page": "Págine:",
-       "linkshere": "Li sequent págines liga por '''[[:$1]]''':",
-       "nolinkshere": "Nequant págine liga por '''[[:$1]]'''.",
+       "linkshere-2": "Li sequent págines liga por '''$1''':",
+       "nolinkshere-2": "Nequant págine liga por '''$1'''.",
        "isredirect": "págine de redirecterion",
        "istemplate": "inclusion",
        "isimage": "referentie a un file",
index 2a1d632..d2567cc 100644 (file)
        "november-date": "Ọnwaìrinàotù $1",
        "december-date": "Ọnwaìrinààbụọ",
        "pagecategories": "{{PLURAL:$1|Ụdàkọ}}",
-       "category_header": "Ihü nọr ime ébéonọr \"$1\"",
+       "category_header": "Ihu nà ime ụdàkọ \"$1\"",
        "subcategories": "Ụdàkọòkpurù",
        "category-media-header": "Nka nọr ime ébéonọr \"$1\"",
        "category-empty": "\"Ébéonọr nke enwéghị ihü ma nkà ímé ya.\"",
        "revdelete-log": "Mgbághapụtà:",
        "revdel-restore": "gbanwe ọtù ọ gị zí",
        "pagehist": "Ịta ihüá",
-       "deletedhist": "Ákíkó mbu bakashịrị",
+       "deletedhist": "Ị̀ta kachara",
        "revdelete-reasonotherlist": "Mgbághàpụtá ozor",
        "revdelete-edit-reasonlist": "Rüwa mgbághapụtà nkàchafu",
        "revdelete-offender": "Ọde akwukwo nke orübà:",
        "rcshowhideanons": "$1 ndi ọ'bànifé nke amághị",
        "rcshowhideanons-show": "Zi",
        "rcshowhideanons-hide": "Zònarị",
-       "rcshowhidepatr": "$1 orü hä lèrè",
+       "rcshowhidepatr": "ọrụ h'e lèrè $1",
        "rcshowhidemine": "$1 ihe m rürü",
        "rcshowhidemine-show": "Zi",
        "rcshowhidemine-hide": "Zònarị",
        "filehist-datetime": "Èhì/Ogè",
        "filehist-thumb": "Mbọ-aka",
        "filehist-thumbtext": "NvóÁká màkà otù ȯ dị nà $1",
-       "filehist-nothumb": "Nvọáká adịghị",
+       "filehist-nothumb": "Mbọaka adhịghị̀",
        "filehist-user": "Òjìème",
        "filehist-dimensions": "Ógólógó na asaá",
        "filehist-filesize": "Ívù usòrò",
        "allinnamespace": "Ihü níle (ámááhạ $1)",
        "allpagessubmit": "Gá",
        "categories": "Ụdàkọ",
-       "sp-deletedcontributions-contribs": "ihe rürü di mkpa",
+       "sp-deletedcontributions-contribs": "mmètàrà",
        "linksearch": "Òtú jikodo di èzí",
        "linksearch-ns": "Ahàm̀bara:",
        "linksearch-ok": "Tùwe",
        "blanknamespace": "(Ḿkpà)",
        "contributions": "Ihe ọ'bànifé rürü",
        "contributions-title": "Orü ọ'bànifé nà $1",
-       "mycontris": "Ihem mẹtụrụ na orürü",
+       "mycontris": "Ịhem mètàrà",
+       "anoncontribs": "Mmètàrà",
        "contribsub2": "Maka $1 ($2)",
        "uctop": "(dị ùgbu â)",
        "month": "Shi önwa (na nke ndi mbu):",
        "whatlinkshere": "Ihe na bia nga",
        "whatlinkshere-title": "Ihü ná gá \"$1\" shí jikodo",
        "whatlinkshere-page": "Ihü:",
-       "linkshere": "Ihüá na gá '''[[:$1]]''':",
-       "nolinkshere": "Ọ díghị ihü na jikodo gá '''[[:$1]]'''.",
-       "nolinkshere-ns": "Ọ díghị ihü na jikodo gá '''[[:$1]]''' na áhàámá nke Í chọrọ.",
+       "linkshere-2": "Ihüá na gá '''$1''':",
+       "nolinkshere-2": "Ọ díghị ihü na jikodo gá '''$1'''.",
+       "nolinkshere-ns-2": "Ọ díghị ihü na jikodo gá '''$1''' na áhàámá nke Í chọrọ.",
        "isredirect": "ihü nke nkúfù",
        "istemplate": "ọ jè ákwúkwó usòrò",
        "isimage": "jikodo nnunuuche",
        "blocklink": "mèché",
        "unblocklink": "a kwadokwàlà",
        "change-blocklink": "gbanwe ngwùgwù",
-       "contribslink": "ọrụrụ",
+       "contribslink": "mètàrà",
        "blocklogpage": "Ndetù échìchè nke mbàchì",
        "blocklogentry": "kwụchi [[$1]] jí ógè ne $2 $3",
        "unblocklogentry": "àkwáchị gị $1",
        "tooltip-pt-mytalk": "Ihü akíkó gi",
        "tooltip-pt-preferences": "Ndoziri {{GENDER:|gị}}",
        "tooltip-pt-watchlist": "Ndetu ihü Í ne lé màkà ihe gị gbanwe",
-       "tooltip-pt-mycontris": "Ndetù ihe Í rürü",
+       "tooltip-pt-mycontris": "Ndetù màkà ihe {{GENDER:|ị}} mètàrà",
        "tooltip-pt-login": "Anyi si ka Í gbanyé; chetákwá na nsogbu adighi I gbanye ma Í chógị gbànyé",
        "tooltip-pt-logout": "Fwuör",
        "tooltip-ca-talk": "Akíkó maka ihe di na ihü nka",
        "tooltip-ca-nstab-image": "Zi ihü usòrò",
        "tooltip-ca-nstab-template": "Zi mkpurụ ihü",
        "tooltip-ca-nstab-help": "Zi ihü nkwádo",
-       "tooltip-ca-nstab-category": "Zi ihü ébéanọr",
+       "tooltip-ca-nstab-category": "Zi ihu ụdàkọ",
        "tooltip-minoredit": "Ká nke kà orü ntàkírí",
        "tooltip-save": "Domá ihe í gbanwere",
        "tooltip-preview": "Lètú ihe Í gbànwèrè, bíkó búzọr jí ihe á mgbe Í gi dọnyé!",
        "confirm-unwatch-button": "Ngwanu",
        "imgmultipageprev": "ihü na àzú",
        "imgmultipagenext": "ihü nke di nso →",
-       "imgmultigo": "Gá!",
+       "imgmultigo": "Gàa!",
        "imgmultigoto": "Gá na ihü $1",
        "ascending_abbrev": "heé élu",
        "descending_abbrev": "ndạtạ",
index 10b5e9d..4775c24 100644 (file)
        "whatlinkshere": "Dagiti nakasilpo ditoy",
        "whatlinkshere-title": "Pampanid a nakasilpo iti \"$1\"",
        "whatlinkshere-page": "Panid:",
-       "linkshere": "Dagiti sumaganad a panid ket nakasilpo iti <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Awan ti pampanid a nakasilpo iti <strong>[[:$1]]</strong>.",
-       "nolinkshere-ns": "Awan ti pampanid a nakasilpo iti <strong>[[:$1]]</strong> iti napili a nagan ti espasio.",
+       "linkshere-2": "Dagiti sumaganad a panid ket nakasilpo iti <strong>$1</strong>:",
+       "nolinkshere-2": "Awan ti pampanid a nakasilpo iti <strong>$1</strong>.",
+       "nolinkshere-ns-2": "Awan ti pampanid a nakasilpo iti <strong>$1</strong> iti napili a nagan ti espasio.",
        "isredirect": "baw-ing a panid",
        "istemplate": "mailak-am",
        "isimage": "silpo ti papeles",
index 126ac40..cdd4758 100644 (file)
        "whatlinkshere": "Тӏатовжамаш укхаза",
        "whatlinkshere-title": "«$1» яхача оагӏонна тӏатовжаш йола оагӏонаш",
        "whatlinkshere-page": "ОагIув:",
-       "linkshere": "«'''[[:$1]]'''» ← укхунна тӀахьожавеш я тӀехьайоагӀа оагӀонаш:",
-       "nolinkshere": "Кхыйолча оагӏонашкара '''[[:$1]]''' яхача оагӏон тIатовжамаш доацаш да.",
+       "linkshere-2": "«'''$1'''» ← укхунна тӀахьожавеш я тӀехьайоагӀа оагӀонаш:",
+       "nolinkshere-2": "Кхыйолча оагӏонашкара '''$1''' яхача оагӏон тIатовжамаш доацаш да.",
        "isredirect": "дIа-хьа хьожавара оагIув",
        "istemplate": "юкъейоалаяр",
        "isimage": "Файлови тӏатовжам",
index eb097e6..1edd51b 100644 (file)
        "rcfilters-filter-humans-label": "Homala (ne 'bot')",
        "rcfilters-filtergroup-significance": "Senco",
        "rcfilters-filter-pageedits-label": "Redakti di pagini",
+       "rcfilters-filter-pageedits-description": "Redakturi en la kontenajo dil Wiki, diskuti, deskriptado di kategorii...",
        "rcfilters-filter-newpages-label": "Kreado di pagini",
        "rcfilters-filter-categorization-label": "Modifiki di la kategorio",
        "rcfilters-filter-logactions-label": "Agadi enrejistrata",
        "unusedimagestext": "La sequanta arkivi existas, ma ne esas enterigita en irga pagino.\nVoluntez remarkar ke altra ret-siti povus ligesar ad arkivo per direta URL, e do ol povus esar listizita hike malgre ke on aktive uzas lo.",
        "notargettitle": "Ne esas vakua pagino",
        "notargettext": "Vu ne definis en qua pagino agar ica funciono.",
+       "nopagetitle": "La pagino ne existas",
+       "nopagetext": "La pagino quon vu serchis ne existas.",
        "pager-newer-n": "{{PLURAL:$1|plu nova 1|plu nova $1}}",
        "pager-older-n": "{{PLURAL:$1|plu anciena 1|plu anciena $1}}",
        "apihelp-no-such-module": "Modulo « $1 » ne esis trovita.",
        "whatlinkshere": "Quo ligesas adhike",
        "whatlinkshere-title": "Pagini qui ligas ad \"$1\"",
        "whatlinkshere-page": "Pagino:",
-       "linkshere": "Ca pagini esas ligilizita ad '''[[:$1]]''':",
-       "nolinkshere": "Nula pagino ligas ad '''[[:$1]]'''.",
+       "linkshere-2": "Ca pagini esas ligilizita ad '''$1''':",
+       "nolinkshere-2": "Nula pagino ligas ad '''$1'''.",
        "isredirect": "ridirektanta pagino",
        "istemplate": "inkluzo",
        "isimage": "arkivo-ligilo",
index d39a413..47cd5be 100644 (file)
        "whatlinkshere": "Hvað tengist hingað",
        "whatlinkshere-title": "Síður sem tengjast „$1“",
        "whatlinkshere-page": "Síða:",
-       "linkshere": "Eftirfarandi síður tengjast á '''[[:$1]]''':",
-       "nolinkshere": "Engar síður tengjast á '''[[:$1]]'''.",
-       "nolinkshere-ns": "Engar síður tengjast '''[[:$1]]''' í þessu nafnrými.",
+       "linkshere-2": "Eftirfarandi síður tengjast á '''$1''':",
+       "nolinkshere-2": "Engar síður tengjast á '''$1'''.",
+       "nolinkshere-ns-2": "Engar síður tengjast '''$1''' í þessu nafnrými.",
        "isredirect": "endurbeind síða",
        "istemplate": "innifalið",
        "isimage": "skráartengill",
        "fileduplicatesearch-noresults": "Mistókst að finna skrána \"$1\"",
        "specialpages": "Kerfissíður",
        "specialpages-note-top": "Fyrirsögn",
+       "specialpages-note-restricted": "* Venjulegar kerfissíður.\n* <span class=\"mw-specialpagerestricted\">Kerfissíður með takmörkuðum aðgangi.</span>",
        "specialpages-group-maintenance": "Viðhaldsskýrslur",
        "specialpages-group-other": "Aðrar kerfissíður",
        "specialpages-group-login": "Skrá inn / Búa til aðgang",
index 4a87f08..255781a 100644 (file)
        "whatlinkshere": "Puntano qui",
        "whatlinkshere-title": "Pagine che puntano a \"$1\"",
        "whatlinkshere-page": "Pagina:",
-       "linkshere": "Le seguenti pagine contengono dei collegamenti a <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Nessuna pagina contiene collegamenti che puntano a '''[[:$1]]'''.",
-       "nolinkshere-ns": "Non vi sono pagine che puntano a '''[[:$1]]''' nel namespace selezionato.",
+       "linkshere-2": "Le seguenti pagine contengono dei collegamenti a <strong>$1</strong>:",
+       "nolinkshere-2": "Nessuna pagina contiene collegamenti che puntano a '''$1'''.",
+       "nolinkshere-ns-2": "Non vi sono pagine che puntano a '''$1''' nel namespace selezionato.",
        "isredirect": "redirect",
        "istemplate": "inclusione",
        "isimage": "collegamento al file",
        "undelete-cantcreate": "Non puoi ripristinare questa pagina poiché la pagina con questo nome non è ancora inesistente e non hai sufficienti permessi per crearla.",
        "pagedata-not-acceptable": "Nessun formato corrispondente trovato. Tipi MIME supportati: $1",
        "pagedata-bad-title": "Titolo non valido: $1.",
-       "unregistered-user-config": "Per motivi di sicurezza, non è possibile caricare sottopagine utente JavaScript, CSS e JSON per utenti non registrati."
+       "unregistered-user-config": "Per motivi di sicurezza, non è possibile caricare sottopagine utente JavaScript, CSS e JSON per utenti non registrati.",
+       "passwordpolicies-group": "Gruppo"
 }
index 321c4eb..2c02c2a 100644 (file)
        "whatlinkshere": "リンク元",
        "whatlinkshere-title": "「$1」へリンクしているページ",
        "whatlinkshere-page": "ページ:",
-       "linkshere": "以下のページが、<strong>[[:$1]]</strong> にリンクしています:",
-       "nolinkshere": "<strong>[[:$1]]</strong> にリンクしているページはありません。",
-       "nolinkshere-ns": "指定した名前空間内に、<strong>[[:$1]]</strong> にリンクしているページはありません。",
+       "linkshere-2": "以下のページが、<strong>$1</strong> にリンクしています:",
+       "nolinkshere-2": "<strong>$1</strong> にリンクしているページはありません。",
+       "nolinkshere-ns-2": "指定した名前空間内に、<strong>$1</strong> にリンクしているページはありません。",
        "isredirect": "転送ページ",
        "istemplate": "参照読み込み",
        "isimage": "ファイルへのリンク",
index 198dd1d..79354d1 100644 (file)
        "whatlinkshere": "Wa lingk ya",
        "whatlinkshere-title": "Piej wa lingk tu \"$1\"",
        "whatlinkshere-page": "Piej:",
-       "linkshere": "Di falarin piejdem lingk tu '''[[:$1]]''':",
+       "linkshere-2": "Di falarin piejdem lingk tu '''$1''':",
        "isredirect": "riidirek piej",
        "istemplate": "chranskluujan",
        "isimage": "fail lingk",
index 82ace80..ae892bd 100644 (file)
        "whatlinkshere": "Hwa henwise hertil",
        "whatlinkshere-title": "Side som linke te $1",
        "whatlinkshere-page": "Siid:",
-       "linkshere": "Di följenje side henwise te '''„[[:$1]]“''':",
-       "nolinkshere": "Ien side henwise te '''„[[:$1]]“'''.",
+       "linkshere-2": "Di följenje side henwise te '''„$1“''':",
+       "nolinkshere-2": "Ien side henwise te '''„$1“'''.",
        "isredirect": "omdirigiirengssiid",
        "istemplate": "inlejreng",
        "isimage": "filhenwisneng",
index f4aa034..6ee482f 100644 (file)
        "whatlinkshere": "Sing nggayut mréné",
        "whatlinkshere-title": "Kaca mawa pranala nggayut \"$1\"",
        "whatlinkshere-page": "Kaca:",
-       "linkshere": "Kaca-kaca ing ngisor iki nggayut menyang <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Ora ana kaca sing nduwé pranala menyang '''[[:$1]]'''.",
-       "nolinkshere-ns": " Ora ana kaca sing nduwé pranala menyang '''[[:$1]]''' ing bilik jeneng sing kapilih.",
+       "linkshere-2": "Kaca-kaca ing ngisor iki nggayut menyang <strong>$1</strong>:",
+       "nolinkshere-2": "Ora ana kaca sing nduwé pranala menyang '''$1'''.",
+       "nolinkshere-ns-2": " Ora ana kaca sing nduwé pranala menyang '''$1''' ing bilik jeneng sing kapilih.",
        "isredirect": "kaca lih-lihan",
        "istemplate": "tranklusi",
        "isimage": "pranala barkas",
        "fileduplicatesearch-noresults": "Ora tinemu barkas kanthi jeneng \"$1\".",
        "specialpages": "Kaca mirunggan",
        "specialpages-note-top": "Katrangan",
+       "specialpages-note-restricted": "* Kaca mirunggan sedhengan.\n* <span class=\"mw-specialpagerestricted\">Kaca mirunggan winatesan.</span>",
        "specialpages-group-maintenance": "Lapuran pangopèn",
        "specialpages-group-other": "Kaca mirunggan liyané",
        "specialpages-group-login": "Mlebu log / nggawé akun",
index a942a6b..c33e82e 100644 (file)
        "prefs-dateformat": "თარიღის ფორმატი",
        "prefs-timeoffset": "სასაათო სარტყლის ცვლილება",
        "prefs-advancedediting": "მთავარი პარამეტრები",
+       "prefs-developertools": "შემმუშავებლის ხელსაწყოები",
        "prefs-editor": "რედაქტორი",
        "prefs-preview": "წინასწარი გადახედვა",
        "prefs-advancedrc": "გაფართოებული პარამეტრები",
        "whatlinkshere": "ბმული გვერდზე",
        "whatlinkshere-title": "გვერდები, რომლებიც შეიცავენ „$1“-ის ბმულებს",
        "whatlinkshere-page": "გვერდი:",
-       "linkshere": "მომდევნო გვერდები შეიცავენ ბმულებს '''[[:$1]]'''-ზე:",
-       "nolinkshere": "'''[[:$1]]'''-ზე ბმული არ არის.",
-       "nolinkshere-ns": "არჩეულ სახელთა სივრცეში არ არის გვერდები, რომლებიც მისამართდება '''[[:$1]]'''.",
+       "linkshere-2": "მომდევნო გვერდები შეიცავენ ბმულებს '''$1'''-ზე:",
+       "nolinkshere-2": "'''$1'''-ზე ბმული არ არის.",
+       "nolinkshere-ns-2": "არჩეულ სახელთა სივრცეში არ არის გვერდები, რომლებიც მისამართდება '''$1'''.",
        "isredirect": "გადამისამართების გვერდი",
        "istemplate": "ჩართვა",
        "isimage": "ბმული ფაილზე",
        "specialpages-group-wiki": "მონაცემები და ინსტრუმენტები",
        "specialpages-group-redirects": "სპეცგვერდების გადამისამართება",
        "specialpages-group-spam": "ინსტრუმენტები სპამის წინააღმდეგ",
-       "specialpages-group-developer": "á\83¨á\83\94á\83\9bá\83¥á\83\9bá\83\9cá\83\94ლის ხელსაწყოები",
+       "specialpages-group-developer": "á\83¨á\83\94á\83\9bá\83\9bá\83£á\83¨á\83\90á\83\95á\83\94á\83\91ლის ხელსაწყოები",
        "blankpage": "ცარიელი გვერდი",
        "intentionallyblankpage": "ეს გვერდი სპეციალურად დარჩა ცარიელი",
        "external_image_whitelist": "  #დატოვეთ ეს ხაზი ისე, როგორც არის <pre>\n#განათვსეთ აქ რეგულარულ გამოთქმათა ფრაგმენტები (ისინი, რომლებიც // შორის იმყოფება)\n#ისინი იქნებიან შეფარდებულები გარე გამოსახულებათა URL-თან.\n#მოგერგებული იქნება ნაჩვენები გამოსახულებათა სახით, ხოლო სხვები ბმულების სახით.\n#ხაზები, რომლებიც იწყება #, ითვლება კომენტარად.\n#ხაზები გრძნობადები არიან რეგისტრისადმი.</pre>",
index 58fa884..e29c671 100644 (file)
        "whatlinkshere": "Siltelgen betler",
        "whatlinkshere-title": "\"$1\" betine siltelgen betler",
        "whatlinkshere-page": "Bet:",
-       "linkshere": "To'mendegi betler mınag'an siltelgen: '''[[:$1]]''':",
-       "nolinkshere": "'''[[:$1]]''' degenge hesh bet siltemeydi.",
+       "linkshere-2": "To'mendegi betler mınag'an siltelgen: '''$1''':",
+       "nolinkshere-2": "'''$1''' degenge hesh bet siltemeydi.",
        "isredirect": "burıwshı bet",
        "istemplate": "qosıw",
        "isimage": "fayl siltewi",
index a2b120d..385687b 100644 (file)
        "whatlinkshere": "Ayen i d-yettawi ɣer da",
        "whatlinkshere-title": "Isebtaren i sɛan azday ɣer « $1 »",
        "whatlinkshere-page": "Asebter :",
-       "linkshere": "Isebtar-agi sɛan azday ɣer '''[[:$1]]''':",
-       "nolinkshere": "Ulac asebter i yesɛan azday ɣer '''[[:$1]]'''.",
-       "nolinkshere-ns": "Ulac asebter i yesɛan azday ɣer '''[[:$1]]''' deg yisem n taɣult i textareḍ.",
+       "linkshere-2": "Isebtar-agi sɛan azday ɣer '''$1''':",
+       "nolinkshere-2": "Ulac asebter i yesɛan azday ɣer '''$1'''.",
+       "nolinkshere-ns-2": "Ulac asebter i yesɛan azday ɣer '''$1''' deg yisem n taɣult i textareḍ.",
        "isredirect": "Asebter n usemmimeḍ",
        "istemplate": "asekcam",
        "isimage": "azday ɣer afaylu",
        "fileduplicatesearch-noresults": "Ulac afaylu s isem « $1 ».",
        "specialpages": "isebtar usligen",
        "specialpages-note-top": "Aglam",
+       "specialpages-note-restricted": "* Isebtar usligen imugna.\n* <span class=\"mw-specialpagerestricted\">Isebtar usligen ukrifen.</span>",
        "specialpages-group-maintenance": "Iṛabulen n ibeddi",
        "specialpages-group-other": "Isebtar usligen nniḍen",
        "specialpages-group-login": "Asulu / assiggez",
index d21be5a..5e14d55 100644 (file)
        "whatlinkshere": "ТехьэпӀэхэр мыбдеж",
        "whatlinkshere-title": "«$1» техьэ напэкІуэцІхэр",
        "whatlinkshere-page": "НапэкIуэцI:",
-       "linkshere": "Мыбым '''[[:$1]]'''  тохьэ напэкӀуэцӀхэр:",
+       "linkshere-2": "Мыбым '''$1'''  тохьэ напэкӀуэцӀхэр:",
        "isredirect": "напэкIуэцI-егъэкIуэкIа",
        "istemplate": "хэгъэхьэныгъэ",
        "isimage": "сурэтым и техьэпӀэ",
index 7705d89..09db309 100644 (file)
        "whatlinkshere": "Takayɩhatʋ kɩtamtʋ",
        "whatlinkshere-title": "Takayɩhatʋ ndʋ tɩtamsɩna \\ $1 \\ yɔ",
        "whatlinkshere-page": "Takayɩhayʋʋ :",
-       "linkshere": "Takayɩhatʋ ndʋ tɩwɛ pɩ-tɛɛ yɔ tɩwɛna kpasɩ <strong>[[:$1]]<strong> yɔɔ:",
+       "linkshere-2": "Takayɩhatʋ ndʋ tɩwɛ pɩ-tɛɛ yɔ tɩwɛna kpasɩ <strong>$1<strong> yɔɔ:",
        "isredirect": "Kɩpɩsɩnaʋ takayɩhayʋʋ",
        "istemplate": "tɛɣʋ",
        "isimage": "takayaɣ yɔɔ kpayaɣ",
index bdcd3b8..637b2ae 100644 (file)
        "whatlinkshere": "ھیارا کیہ کیہ لنک شینی",
        "whatlinkshere-title": "لنک شدہ صفحات \"$1\"",
        "whatlinkshere-page": " صفحہ:",
-       "linkshere": " '''[[:$1]]''' درج ذیل صفحات لنک کوری شینی:",
-       "nolinkshere": "'''[[:$1]]''' کیہ روابط نیکی",
+       "linkshere-2": " '''$1''' درج ذیل صفحات لنک کوری شینی:",
+       "nolinkshere-2": "'''$1''' کیہ روابط نیکی",
        "isredirect": "خور ژاغا آلدو صفحہ",
        "istemplate": "ٹرانسکلوژن",
        "isimage": "ھوٹوان لنک",
index 02fb2a5..d1a7c01 100644 (file)
        "whatlinkshere": "Çı itay rê gırê beno",
        "whatlinkshere-title": "Pelê ke be \"$1\"i bestninê pa",
        "whatlinkshere-page": "Pele:",
-       "linkshere": "Ni pelgi '''[[:$1]]'''i asnenê:",
-       "nolinkshere": "Pelgê ke '''[[:$1]]'''i asnenê çinê.",
+       "linkshere-2": "Ni pelgi '''$1'''i asnenê:",
+       "nolinkshere-2": "Pelgê ke '''$1'''i asnenê çinê.",
        "isredirect": "pela ciheti",
        "istemplate": "ilawekerdis",
        "isimage": "girê dosya",
        "duplicate-defaultsort": "'''Teme:''' Tuşê default sort \"$2\" sero tuşê default sort \"$1\"î ra şino.",
        "fileduplicatesearch-filename": "Namê dosya:",
        "specialpages": "Pelê xaşi",
+       "specialpages-note-restricted": "* Pelê xususiyê normali.\n* <span class=\"mw-specialpagerestricted\">Pelê xususiyê mehcuri.</span>",
        "specialpages-group-maintenance": "Tebliğê baxımi",
        "specialpages-group-other": "Pelê xususiyê bini",
        "specialpages-group-login": "Cıkotene / qeyd",
index 642ad37..a94f33a 100644 (file)
        "whatlinkshere": "سىلتەلگەن بەتتەر",
        "whatlinkshere-title": "$1 دەگەنگە سىلتەلگەن بەتتەر",
        "whatlinkshere-page": "بەت:",
-       "linkshere": "'''[[:$1]]''' دەگەنگە مىنا بەتتەر سىلتەيدى:",
-       "nolinkshere": "'''[[:$1]]''' دەگەنگە ەش بەت سىلتەمەيدى.",
-       "nolinkshere-ns": "تاڭدالعان ەسىم اياسىندا '''[[:$1]]''' دەگەنگە ەشقانداي بەت سىلتەمەيدى.",
+       "linkshere-2": "'''$1''' دەگەنگە مىنا بەتتەر سىلتەيدى:",
+       "nolinkshere-2": "'''$1''' دەگەنگە ەش بەت سىلتەمەيدى.",
+       "nolinkshere-ns-2": "تاڭدالعان ەسىم اياسىندا '''$1''' دەگەنگە ەشقانداي بەت سىلتەمەيدى.",
        "isredirect": "ايداتۋ بەتى",
        "istemplate": "كىرىكبەت",
        "isimage": "سۋرەت سىلتەمەسى",
        "fileduplicatesearch-result-1": "«$1» فايلىنا تەڭ تەلنۇسقاسى جوق.",
        "fileduplicatesearch-result-n": "«$1» فايلىنا تەڭ $2 تەلنۇسقاسى بار.",
        "specialpages": "ارنايى بەتتەر",
+       "specialpages-note-restricted": "* كادىمگى ارنايى بەتتەر.\n* <strong class=\"mw-specialpagerestricted\">شەكتەلگەن ارنايى بەتتەر.</strong>",
        "specialpages-group-maintenance": "باپتاۋ باياناتتارى",
        "specialpages-group-other": "تاعى باسقا ارنايى بەتتەر",
        "specialpages-group-login": "كىرۋ / تىركەلۋ",
index 47431bc..28d497c 100644 (file)
        "whatlinkshere": "Мұнда сілтейтін беттер",
        "whatlinkshere-title": "$1 дегенге сілтейтін беттер",
        "whatlinkshere-page": "Бет:",
-       "linkshere": "'''[[:$1]]''' дегенге мына беттер сілтейді:",
-       "nolinkshere": "'''[[:$1]]''' дегенге еш бет сілтемейді.",
-       "nolinkshere-ns": "Таңдалған есім кеңістігінде '''[[:$1]]''' дегенге ешқандай бет сілтемейді.",
+       "linkshere-2": "'''$1''' дегенге мына беттер сілтейді:",
+       "nolinkshere-2": "'''$1''' дегенге еш бет сілтемейді.",
+       "nolinkshere-ns-2": "Таңдалған есім кеңістігінде '''$1''' дегенге ешқандай бет сілтемейді.",
        "isredirect": "бағыттау беті",
        "istemplate": "кіріcтірілген",
        "isimage": "файл сілтемесі",
        "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": "Кіру / тіркелу",
index 393d138..342339a 100644 (file)
        "whatlinkshere": "Mında silteýtin better",
        "whatlinkshere-title": "$1 degenge silteýtin better",
        "whatlinkshere-page": "Bet:",
-       "linkshere": "'''[[:$1]]''' degenge mına better silteýdi:",
-       "nolinkshere": "'''[[:$1]]''' degenge eş bet siltemeýdi.",
-       "nolinkshere-ns": "Tañdalğan esim ayasında '''[[:$1]]''' degenge eşqandaý bet siltemeýdi.",
+       "linkshere-2": "'''$1''' degenge mına better silteýdi:",
+       "nolinkshere-2": "'''$1''' degenge eş bet siltemeýdi.",
+       "nolinkshere-ns-2": "Tañdalğan esim ayasında '''$1''' degenge eşqandaý bet siltemeýdi.",
        "isredirect": "aýdatw beti",
        "istemplate": "kirikbet",
        "isimage": "swret siltemesi",
        "fileduplicatesearch-result-1": "«$1» faýlına teñ telnusqası joq.",
        "fileduplicatesearch-result-n": "«$1» faýlına teñ $2 telnusqası bar.",
        "specialpages": "Arnaýı better",
+       "specialpages-note-restricted": "* Kädimgi arnaýı better.\n* <strong class=\"mw-specialpagerestricted\">Şektelgen arnaýı better.</strong>",
        "specialpages-group-maintenance": "Baptaw bayanattarı",
        "specialpages-group-other": "Tağı basqa arnaýı better",
        "specialpages-group-login": "Kirw / tirkelw",
index 3692ed9..11c13cc 100644 (file)
        "whatlinkshere": "អ្វី​ដែលភ្ជាប់មកទីនេះ",
        "whatlinkshere-title": "ទំព័រនានាដែល​តភ្ជាប់​ទៅ \"$1\"",
        "whatlinkshere-page": "ទំព័រ៖",
-       "linkshere": "ទំព័រដូចតទៅ​នេះតភ្ជាប់មក '''[[:$1]]''' ៖",
-       "nolinkshere": "គ្មានទំព័រណាមួយតភ្ជាប់ទៅ '''[[:$1]]''' ទេ។",
-       "nolinkshere-ns": "គ្មានទំព័រណាមួយតភ្ជាប់ទៅ '''[[:$1]]''' ក្នុងប្រភេទដែលបានជ្រើសរើស។",
+       "linkshere-2": "ទំព័រដូចតទៅ​នេះតភ្ជាប់មក '''$1''' ៖",
+       "nolinkshere-2": "គ្មានទំព័រណាមួយតភ្ជាប់ទៅ '''$1''' ទេ។",
+       "nolinkshere-ns-2": "គ្មានទំព័រណាមួយតភ្ជាប់ទៅ '''$1''' ក្នុងប្រភេទដែលបានជ្រើសរើស។",
        "isredirect": "ទំព័របញ្ជូនបន្ត",
        "istemplate": "ការដាក់បញ្ចូល",
        "isimage": "តំណភ្ជាប់ឯកសារ",
        "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": "កត់ឈ្មោះចូល / បង្កើតគណនី",
index 5dc544e..6017c32 100644 (file)
        "whatlinkshere": "ಇಲ್ಲಿಗೆ ಯಾವ ಸಂಪರ್ಕ ಕೂಡುತ್ತದೆ",
        "whatlinkshere-title": "\"$1\" ಪುಟಕ್ಕೆ ಸಂಪರ್ಕ ಹೊಂದಿರುವ ಪುಟಗಳು",
        "whatlinkshere-page": "ಪುಟ:",
-       "linkshere": "'''[[:$1]]'''ಗೆ ಈ ಪುಟಗಳು ಸಂಪರ್ಕ ಹೊಂದಿವೆ:",
-       "nolinkshere": "'''[[:$1]]''' ಗೆ ಯಾವ ಪುಟಗಳೂ ಸಂಪರ್ಕ ಹೊಂದಿಲ್ಲ.",
-       "nolinkshere-ns": "ಆಯ್ಕೆ ಮಾಡಿದ ಪುಟಪ್ರಬೇಧದಲ್ಲಿ ಯಾವ ಪುಟವೂ '''[[:$1]]''' ಅಲ್ಲಿಗೆ ಸಂಪರ್ಕ ಹೊಂದಿಲ್ಲ.",
+       "linkshere-2": "'''$1'''ಗೆ ಈ ಪುಟಗಳು ಸಂಪರ್ಕ ಹೊಂದಿವೆ:",
+       "nolinkshere-2": "'''$1''' ಗೆ ಯಾವ ಪುಟಗಳೂ ಸಂಪರ್ಕ ಹೊಂದಿಲ್ಲ.",
+       "nolinkshere-ns-2": "ಆಯ್ಕೆ ಮಾಡಿದ ಪುಟಪ್ರಬೇಧದಲ್ಲಿ ಯಾವ ಪುಟವೂ '''$1''' ಅಲ್ಲಿಗೆ ಸಂಪರ್ಕ ಹೊಂದಿಲ್ಲ.",
        "isredirect": "ಪುನರ್ನಿರ್ದೇಶನ ಪುಟ",
        "istemplate": "ಸೇರ್ಪಡೆ",
        "isimage": "ಚಿತ್ರಕ್ಕೆ ಕೊಂಡಿ",
index 09164d8..aa1d5a5 100644 (file)
        "protectedtitles-submit": "제목 표시",
        "listusers": "사용자 목록",
        "listusers-editsonly": "기여가 있는 사용자만 보기",
+       "listusers-temporarygroupsonly": "임시 사용자 그룹의 사용자만 표시",
        "listusers-creationsort": "계정을 만든 날짜순으로 정렬",
        "listusers-desc": "내림차순으로 정렬",
        "usereditcount": "{{PLURAL:$1|편집}} $1회",
        "whatlinkshere": "여기를 가리키는 문서",
        "whatlinkshere-title": "\"$1\" 문서를 가리키는 문서 목록",
        "whatlinkshere-page": "문서:",
-       "linkshere": "다음 문서가 '''[[:$1]]''' 문서를 가리키고 있습니다:",
-       "nolinkshere": "'''[[:$1]]''' 문서를 가리키는 문서가 없습니다.",
-       "nolinkshere-ns": "선택한 이름공간에는 '''[[:$1]]''' 문서를 가리키는 문서가 없습니다.",
+       "linkshere-2": "다음 문서가 '''$1''' 문서를 가리키고 있습니다:",
+       "nolinkshere-2": "'''$1''' 문서를 가리키는 문서가 없습니다.",
+       "nolinkshere-ns-2": "선택한 이름공간에는 '''$1''' 문서를 가리키는 문서가 없습니다.",
        "isredirect": "넘겨주기 문서",
        "istemplate": "끼워넣기",
        "isimage": "연결된 파일",
        "pagedata-text": "이 문서는 문서에 대한 데이터 인터페이스를 제공합니다. 하위 문서 문법을 사용하여 URL에 문서 제목을 지정해 주십시오.\n* 클라이언트의 Accept 헤더에 기반하여 내용이 절충됩니다. 즉, 문서 데이터는 클라이언트가 선호하는 형식으로 제공됩니다.",
        "pagedata-not-acceptable": "일치하는 형식을 찾을 수 없습니다. 지원하는 MIME 형식: $1",
        "pagedata-bad-title": "유효하지 않은 제목: $1.",
-       "unregistered-user-config": "보안을 이유로 자바스크립트, CSS, JSON 사용자 하위 문서들은 비등록 사용자에게는 불러올 수 없습니다."
+       "unregistered-user-config": "보안을 이유로 자바스크립트, CSS, JSON 사용자 하위 문서들은 비등록 사용자에게는 불러올 수 없습니다.",
+       "passwordpolicies": "비밀번호 정책",
+       "passwordpolicies-summary": "이것은 이 위키에 정의된 사용자 그룹을 위해 시행 중인 비밀번호 정책 목록입니다.",
+       "passwordpolicies-group": "그룹",
+       "passwordpolicies-policies": "정책",
+       "passwordpolicies-policy-minimalpasswordlength": "비밀번호는 적어도 $1 {{PLURAL:$1|자}}여야 합니다",
+       "passwordpolicies-policy-minimumpasswordlengthtologin": "로그인하려면 비밀번호는 적어도 {{PLURAL:$1|자}}여야 합니다",
+       "passwordpolicies-policy-passwordcannotmatchusername": "비밀번호는 사용자 이름과 같을 수 없습니다",
+       "passwordpolicies-policy-passwordcannotmatchblacklist": "비밀번호는 블랙리스트에 있는 비밀번호와 일치할 수 없습니다",
+       "passwordpolicies-policy-maximalpasswordlength": "비밀번호는 적어도 $1 {{PLURAL:$1|자}} 미만이어야 합니다",
+       "passwordpolicies-policy-passwordcannotbepopular": "비밀번호는 {{PLURAL:$1|저명한 비밀번호가 될|$1개의 저명한 비밀번호에 속할}} 수 없습니다"
 }
index 4944409..5cc99c4 100644 (file)
        "whatlinkshere": "Бетге джибериуле",
        "whatlinkshere-title": "«$1» бетге джиберген бетле",
        "whatlinkshere-page": "Бет:",
-       "linkshere": "'''[[:$1]]''' битге джиберген бетле:",
-       "nolinkshere": "'''[[:$1]]'' бетге башха бетле джибермейдиле.",
-       "nolinkshere-ns": "Сайланнган атла аламда '''[[:$1]]''' бетге джиберген бет джокъду.",
+       "linkshere-2": "'''$1''' битге джиберген бетле:",
+       "nolinkshere-2": "'''$1'' бетге башха бетле джибермейдиле.",
+       "nolinkshere-ns-2": "Сайланнган атла аламда '''$1''' бетге джиберген бет джокъду.",
        "isredirect": "джибериу бет",
        "istemplate": "къошуу",
        "isimage": "файлгъа джибериу",
        "fileduplicatesearch-result-n": "«$1» файлны {{PLURAL:$2|1 келишген дубликаты|$2 келишген дубликаты}} барды.",
        "fileduplicatesearch-noresults": "«$1» деген файл табылмады.",
        "specialpages": "Къуллукъ бетле",
+       "specialpages-note-restricted": "* Тюз къуллукъ бетле.\n* <span class=\"mw-specialpagerestricted\">Кирирге эркинлик чекленнген къуллукъ бетле.</span>",
        "specialpages-group-maintenance": "Техника баджарыуну отчетлары",
        "specialpages-group-other": "Башха къуллукъ бетле",
        "specialpages-group-login": "Системагъа кириу / Аккаунт къурау",
index 53ba8e9..b00dfbe 100644 (file)
        "whatlinkshere": "Linkit tänne",
        "whatlinkshere-title": "Šivut, kumpaset viitatah šivulla \"$1\"",
        "whatlinkshere-page": "Šivu:",
-       "linkshere": "Šeuruavilta šivuilta on linkki šivulla <strong>[[:$1]]</strong>:",
+       "linkshere-2": "Šeuruavilta šivuilta on linkki šivulla <strong>$1</strong>:",
        "isredirect": "ohjauššivu",
        "istemplate": "šisällytetty",
        "isimage": "failin linkki",
index 9f5d0c6..52ad3d1 100644 (file)
        "whatlinkshere": "Wat noh heh link",
        "whatlinkshere-title": "Sigge, woh Lengks op „$1“ dren sen",
        "whatlinkshere-page": "Sigg:",
-       "linkshere": "Dat sin de Sigge, di op <strong>„[[:$1]]“</strong> lengke donn:",
-       "nolinkshere": "Kein Sigg link noh <strong>„[[:$1]]“</strong>.",
-       "nolinkshere-ns": "Nix link op <strong>„[[:$1]]“</strong> en dämm Appachtemang.",
+       "linkshere-2": "Dat sin de Sigge, di op <strong>„$1“</strong> lengke donn:",
+       "nolinkshere-2": "Kein Sigg link noh <strong>„$1“</strong>.",
+       "nolinkshere-ns-2": "Nix link op <strong>„$1“</strong> en dämm Appachtemang.",
        "isredirect": "Ömleidongssigg",
        "istemplate": "weed enjeföch",
        "isimage": "weed aanjezeisch",
        "fileduplicatesearch-noresults": "Mer han kein Dattei met däm Name „$1“ jefonge.",
        "specialpages": "{{int:nstab-special}}e",
        "specialpages-note-top": "Lejänd",
+       "specialpages-note-restricted": "* Jewöhnlejje {{int:nstab-special}}e för jede Metmaacher.\n* <span class=\"mw-specialpagerestricted\">{{int:nstab-special}}e bloß för Metmaacher met besönder Räächde.</span>",
        "specialpages-group-maintenance": "Waadungsleste",
        "specialpages-group-other": "Ander {{int:nstab-special}}e",
        "specialpages-group-login": "Enlogge udder Aanmälde",
index be47741..68ded3d 100644 (file)
        "whatlinkshere": "Girêdanên li ser vê rûpelê",
        "whatlinkshere-title": "Rûpelên ku yê berve \"$1\" tên",
        "whatlinkshere-page": "Rûpel:",
-       "linkshere": "Ev rûpel tên ser vê rûpelê '''[[:$1]]''':",
-       "nolinkshere": "Ne ji rûpelekê lînk tên ser '''[[:$1]]'''.",
-       "nolinkshere-ns": "Ne lînkek berve '''[[:$1]]''' di vê namespace'a da tê.",
+       "linkshere-2": "Ev rûpel tên ser vê rûpelê '''$1''':",
+       "nolinkshere-2": "Ne ji rûpelekê lînk tên ser '''$1'''.",
+       "nolinkshere-ns-2": "Ne lînkek berve '''$1''' di vê namespace'a da tê.",
        "isredirect": "rûpelê beralî bike",
        "istemplate": "tê bikaranîn",
        "isimage": "girêdana wêneyî",
        "fileduplicatesearch-filename": "Navê dosyeyê:",
        "fileduplicatesearch-submit": "Lê bigere",
        "specialpages": "Rûpelên taybet",
+       "specialpages-note-restricted": "* Rûpelên taybetî ji her kesan ra\n* <strong class=\"mw-specialpagerestricted\">Rûpelên taybetî ji bikarhêneran bi mafên zêdetir ra</strong>",
        "specialpages-group-other": "Rûpelên taybetî yên din",
        "specialpages-group-login": "Têkeve / hesabekî nû çêke",
        "specialpages-group-changes": "Guherandinên dawî û têketin",
index ef6e8ab..80dd77c 100644 (file)
@@ -68,6 +68,8 @@
        "october-date": "Байсан $1",
        "november-date": "Маййилик $1",
        "december-date": "Тунлу $1",
+       "period-am": "ТБ",
+       "period-pm": "ТС",
        "pagecategories": "{{PLURAL:$1|Категория|Категориялар}}‎",
        "category_header": "\"$1\" категориядан сагьифалар",
        "subcategories": "Субкатегориялар",
        "jumpto": "Мунда гёчмек:",
        "jumptonavigation": "навигация",
        "jumptosearch": "излев",
+       "pool-errorunknown": "Белгисиз янгылыш",
        "poolcounter-usage-error": "Къоллав хата: $1",
        "aboutsite": "{{SITENAME}} гьакъында",
        "aboutpage": "Project:Сыпатлав",
        "helppage-top-gethelp": "Кёмек",
        "mainpage": "Баш Сагьифа",
        "mainpage-description": "Баш сагьифа",
+       "policy-url": "Project:Къайдалар",
        "portal": "Бирлешив портал",
        "portal-url": "Project:Бирлешив портал",
        "privacy": "Энчилилик ёругъу",
        "privacypage": "Project:Конфиденциаллыкъ сиясаты",
+       "badaccess": "Гириш хатасы",
        "ok": "OK",
        "retrievedfrom": "Чыкъмагъы — «$1»",
        "youhavenewmessages": "{{PLURAL:$3|Сен алдынг}} $1 ($2).",
        "confirmable-confirm": "{{GENDER:$1|сен}} аминмисен?",
        "confirmable-yes": "Дюр",
        "confirmable-no": "Ёкъ",
+       "viewdeleted": "Къарамакъмы $1?",
        "feedlinks": "Агъыш",
+       "site-rss-feed": "$1 RSS агъым",
        "site-atom-feed": "$1 Atom агъышы",
+       "page-rss-feed": "\"$1\" RSS агъым",
        "page-atom-feed": "\"$1\" Atom агъышы",
        "red-link-title": "$1 (олай сагьифасы ёкъдур)",
+       "sort-descending": "Кемивюне гёре тизмек",
+       "sort-ascending": "Артывуна гёре тизмек",
        "nstab-main": "Макъала",
        "nstab-user": "Къоллавчу сагьифасы",
        "nstab-special": "Хас сагьифа",
        "nstab-help": "Кёмек сагьифа",
        "nstab-category": "Категория",
        "mainpage-nstab": "Баш сагьифа",
+       "nosuchaction": "Булай гьаракат ёкъ",
        "nosuchspecialpage": "Олай хас сагьифасы ёкъдур",
        "nospecialpagetext": "<strong>Сен талап этген хас сагьифа ёкъ.</strong>\n\nДурус хас сагьифалар булан тизме мунда: [[Special:SpecialPages|{{int:specialpages}}]].",
        "error": "Хата",
+       "databaseerror-query": "Талап: $1",
        "databaseerror-function": "Функция: $1",
        "databaseerror-error": "Хата: $1",
+       "missingarticle-rev": "(тюрю № $1)",
+       "missingarticle-diff": "(Башгъалыгъы: $1, $2)",
        "internalerror": "Ичдеги хата",
+       "internalerror_info": "Ичдеги хата: $1",
        "badtitle": "Къыйышмайгъан ат",
        "badtitletext": "Чакъырылгъан сагьифаны аты бузукъ эди, яда бош, яда тил-ара яда вики-ара байланывлары янгылыш кюйде берилген эди.\nБалики, атында бир-эки ярамайгъан гьарп берилген эди.",
        "viewsource": "Кюрчю кодуна къарамакъ",
        "viewsource-title": "$1 сагьифаны аслу текстине къарамакъ",
        "viewsourcetext": "Бу сагьифаны аслу кодуна къарап ва ону кёплеп боласан.",
+       "welcomeuser": "Хош гединг, $1!",
+       "yourname": "Къоллавчу аты",
        "userlogin-yourname": "Къоллавчу аты",
        "userlogin-yourname-ph": "Гьисабынгны атын бер",
+       "yourpassword": "Чечил:",
        "userlogin-yourpassword": "Чечил",
        "userlogin-yourpassword-ph": "Чечилингни бер",
        "createacct-yourpassword-ph": "Чечилингни бер",
        "createacct-yourpasswordagain-ph": "Чечилингни янгыдан бер",
        "userlogin-remembermypassword": "Мени къайытлы сакъламакъ",
        "login": "Гирмек",
+       "logout": "Чыкъмакъ",
+       "userlogout": "Чыкъмакъ",
        "userlogin-noaccount": "Бир бет ёкъму?",
        "userlogin-joinproject": "{{SITENAME}} проектни ортакъчы болмакъ",
        "createaccount": "Янгы бет этмек",
        "userlogin-resetpassword-link": "Чечилингни унутгъанмысан?",
        "userlogin-helplink2": "Гириш саялы кёмек",
+       "createacct-emailrequired": "Поч ерлешими",
        "createacct-emailoptional": "Электрон почну ерлешими (гёнгюллю)",
        "createacct-email-ph": "Электрон почну ерлешимин бер",
+       "createacct-another-email-ph": "Электрон почну ерлешимин бер",
+       "createacct-realname": "Герти ат (истесенг)",
+       "createacct-reason": "Себеп",
        "createacct-submit": "Бетинг яса",
+       "createacct-another-submit": "Гьисап бет ачмакъ",
        "createacct-benefit-heading": "{{SITENAME}} сени йимик адамланы ортакъ загьматы.",
        "createacct-benefit-body1": "{{PLURAL:$1|тюзлев}}",
        "createacct-benefit-body2": "{{PLURAL:$1|сагьифа|сагьифалар}}",
        "pt-login-button": "Гирмек",
        "pt-createaccount": "Янгы бет этмек",
        "pt-userlogout": "Чыкъмакъ",
+       "changepassword": "Чечил алышдырыв",
+       "oldpassword": "Эсги чечил:",
+       "newpassword": "Янгы чечил:",
+       "botpasswords-label-create": "Яратмакъ",
+       "botpasswords-label-update": "Янгыртмакъ",
+       "botpasswords-label-cancel": "Гери алыв",
+       "botpasswords-label-delete": "Тайдырмакъ",
+       "botpasswords-label-resetpassword": "Чечилни янгыдан бегетмек",
+       "resetpass-submit-loggedin": "Чечил алышдырыв",
+       "resetpass-submit-cancel": "Гери алыв",
        "passwordreset": "Чечилни янгыдан бегетмек",
+       "passwordreset-username": "Къоллавчу аты",
+       "changeemail-none": "(ёкъ)",
        "bold_sample": "Къалын матын",
        "bold_tip": "Къалын матын",
        "italic_sample": "Авункъу матын",
        "minoredit": "Увакъ тюзлев",
        "watchthis": "Бу сагьифаны гьызарламакъ",
        "savearticle": "Сагьифаны сакъламакъ",
+       "savearticle-start": "Сагьифаны сакъламакъ",
+       "savechanges-start": "Алышынывланы сакъламакъ",
        "preview": "Ингкъарав",
        "showpreview": "Ингкъарав",
        "showdiff": "Тюзлевлени гёрсетмек",
        "anoneditwarning": "<strong>Тергев:</strong> Сен гириш этмединг. Тюзлевлер этсенг сени IP адресинг публикли гёрюнер. Эгер <strong>[$1 гириш]</strong> яда <strong>[$2 къайыт]</strong> этсенг, тюзлевлеринг сени ортакъчы аты булан гьисап этилер, оьзге пайдалардан да къайры.",
        "blockedtext": "Сени къоллавчу атынг яда IP адресинг къамалгъан эди.''\n\nКъамав этген $1 ($2).\nСебеп берилген: ''$3'.\n\n* Къамав башлады: $4\n* Къамав бите: $5\n* Къамавну мурады: $7\n\n$1 булан яда къайсы оьзге [[{{MediaWiki:Grouppage-sysop}}|администратор]] булан къатнап къамавну гьакъында сёйлешмеге боласан.\nТергеп къой, сени [[Special:Preferences|энчили кюйлемлерингде]] e-mail адресинг тюз бермединг буса яда герти этмединг буса, яда къамав шартлагъа мактуп язывуну къадагъа гире буса, \"къоллавчугъа мактуп\" функцияны къоллап болмассан.\nСени IP адресинг — $3, къамавну идентификатору — $5. Тилев, бу маълюматланы бары талапларынга гийир.",
        "loginreqlink": "гирмек",
+       "newarticle": "(Янгы)",
        "newarticletext": "Сен гьалиде яратылмагъан сагьифагъа гёчдинг.\nБу сагьифаны яратмакъ учун, тюбюндеги къутугъунда язып башлагъыз (артыкъ маълюмат учун [$1 кёмек сагьифагъа] къара).\nЯнгылыш этип бери гёчген бусанг, сени браузеринг <strong>артгъа</strong> тюймесине бас.",
        "anontalkpagetext": "<em>Бу гьали де бет яратмагъан яда бетин къолламайгъан аноним къоллавчуну учун сёйлешив.</em>\nШолай буса биз ону белгилемек учун санавлу IP адресни пайдаламакъ герекбиз.\nБу IP адрес бир нече къоллавчуланы арасында пайланып турмагъа бола.\nСен аноним къоллавчу бусанг, ва сагъа тюгюл язывлар бакъдырылгъан деп ойлаша бусанг, тилев, [[Special:CreateAccount|янгы бет ярат]] яда [[Special:UserLogin|гириш эт]], гележекде оьзге аноним къоллавчулар булан сен къарашыкъ болмас учун.",
        "noarticletext": "Бу сагьифа гьали де матынсыз. Сен башгъа сагьифаларда [[Special:Search/{{PAGENAME}}|булай атын эсгеривлерини излемеге]]  боласан, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} тийишли гюнделик язывланы тапмагъа] яда '''[{{fullurl:{{FULLPAGENAME}}|action=edit}} булай аты булан сагьифа яратмагъа боласан]'''</span>.",
        "noarticletext-nopermission": "Бу сагьифа гьали де текстсиз. Сен башгъа сагьифаларда [[Special:Search/{{PAGENAME}}|булай атын эсгеривлерини излемеге]], яда <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} тийишли гюнделиклени тапмагъа боласан]. </span> Тек бу сагьифаны яратмагъа ихтиярынг ёкъ.",
        "userpage-userdoesnotexist-view": "\"$1\" гьисап къайытланмагъан.",
        "clearyourcache": "<strong>Note:</strong> Сакълангъан сонг, тюрлевлени гёрмек саялы сагъа браузерингни кэшин янгыртмагъа яда тазаламагъа герек болма бола \n* <strong>Firefox / Safari:</strong> <em>Shift</em> тутуп <em>Reload</em> бас, башгъалай <em>Ctrl-F5</em> яда <em>Ctrl-R</em> бас (Mac буса <em>⌘-R</em>)\n* <strong>Google Chrome:</strong> <em>Ctrl-Shift-R</em> бас(Mac буса <em>⌘-Shift-R</em>)\n* <strong>Internet Explorer:</strong> <em>Ctrl</em> тутуп <em>Refresh</em> бас, яда <em>Ctrl-F5</em> бас\n* <strong>Opera:</strong> <em>Menu → Settings</em> бёлмеге гёч (Mac буса <em>Opera → Preferences</em>) ва сонг <em>Privacy & security → Clear browsing data → Cached images and files</em>.",
+       "updated": "(Янгыртылгъан)",
        "previewnote": "<strong>Бу ингкъарав экенни эсде сакъла.</strong>\nАлышынывларынг гьали де сакъланмагъан!",
        "continue-editing": "Тюзлевню давамламакъ",
        "editing": "Тюзлев $1",
        "creating": "$1 сагьифасын ясаву",
        "editingsection": "Тюзлев: $1 (бёлме)",
+       "yourtext": "Текстинг",
+       "yourdiff": "Башгъалыкълар",
        "templatesused": "Бу сагьифада къоллангъан {{PLURAL:$1|къалип|къалиплер}}",
        "templatesusedpreview": "Бу инггёрсетивде пайдалангъан {{PLURAL:$1|уьлгюлер|}}:",
        "template-protected": "(къоругъан)",
        "recreate-moveddeleted-warn": "<strong>Тергев бер: Алдын тайдырылгъан сагьифаны ярашдырма айланасан.</strong>\n\nБашлап тергеп къара, гертиден де тарыкъмы экен ол сагьифаны ярашдырмагъа.\nТайдырыв ва атын алышдырыв гюнделиги тюпде берилген:",
        "moveddeleted-notice": "Бу сагьифа тайдырылгъан эди.\nБу сагьифаны тайдырыв, къорув ва атянгыртыв гюнделиги маълюмат саялы тюпде гёрсетилген.",
        "content-model-wikitext": "викиматын",
+       "content-model-javascript": "JavaScript",
        "undo-failure": "Аралыкъ алышынывланы къыйышывсызлгъы учун тюзлев гери алынмай.",
        "viewpagelogs": "Бу сагьифа учун гюнделиклени гёрсетмек",
        "currentrev-asof": "Ахырынчы тюрю $1 тархда",
        "nextrevision": "Сонггъу тюрю →",
        "currentrevisionlink": "Ахырынчы тюрю",
        "cur": "гьал.",
+       "next": "гелеген",
        "last": "ингкъ.",
+       "page_first": "биринчи",
+       "page_last": "ахырынчы",
        "histlegend": "Тюзлевлерден сайлав: тенглешдирмеге сюеген бары тюрлерин белгилеп '''{{int:compare-submit}}''' бас.<br />\nАчыкълавлар: '''({{int:cur}})''' — гьалиги тюрюнден башгъалыкъ; '''({{int:last}})''' — алдагъы тюрюнден башгъалыкъ; '''{{int:minoreditletter}}''' — увакъ тюзелтив.",
        "history-fieldset-title": "Тюзлевлеге излев",
        "histfirst": "инг эсгилер",
        "histlast": "инг янгылар",
+       "historyempty": "(бош)",
        "history-feed-title": "Тюзлевлер тарихи",
        "history-feed-description": "Бу сагьифаны викиде тюзлев тарихи",
        "history-feed-item-nocomment": "$1 $2 заманда",
        "rev-delundel": "гёрсетмек/яшырмакъ",
+       "rev-showdeleted": "гёрсетмек",
+       "revdelete-show-file-submit": "Дюр",
+       "revdelete-radio-same": "(алышдырмамакъ)",
+       "revdelete-radio-set": "Яшырылгъан",
+       "revdelete-log": "Себеп:",
+       "pagehist": "Сагьифа тарихи",
+       "deletedhist": "Тайдырыв тарихи",
+       "revdelete-reasonotherlist": "Башгъа себеп",
+       "mergehistory-reason": "Себеп:",
        "mergelog": "Бирлешдирив гюнделиги",
+       "revertmerge": "Бёлмек",
        "history-title": "\"$1\" тюзлев тарихи",
        "difference-title": "Тюрлени арасында башгъалыгъы \"$1\"",
        "lineno": "Сатыр: $1",
        "searchresults-title": "\"$1\" учун натижаланы излемек",
        "prevn": "алдагъы {{PLURAL:$1|$1}}",
        "nextn": "сонггъу {{PLURAL:$1|$1}}",
+       "prev-page": "алдагъы сагьифа",
+       "next-page": "гелеген сагьифа",
        "prevn-title": "Алдагъы $1 {{PLURAL:$1|гьасил}}",
        "nextn-title": "Гелеген $1 {{PLURAL:$1|гьасил|гьасиллер}}",
        "shown-title": "Айры бир сагьифада $1 {{PLURAL:$1|языв|язывланы}} гёрсетмек",
        "search-result-category-size": "{{PLURAL:$1|1 ортакъчы|$1 ортакъчы}} ({{PLURAL:$2|1 тюп категория|$2 тюп категория}}, {{PLURAL:$3|1 саплам|$3 саплам}})",
        "search-redirect": "($1 сагьифадан бакъдырылгъан)‎",
        "search-section": "($1 бёлме)",
+       "search-category": "(категория $1)",
        "search-file-match": "(сапламны ичделигине рас геле)",
        "search-suggest": "Буну ойлаймысан экен: $1",
+       "search-interwiki-more": "(дагъы)",
+       "search-interwiki-more-results": "дагъы да натижалар",
+       "search-relatedarticle": "Байлавлу",
+       "searchrelated": "байлавлу",
        "searchall": "бары да",
        "search-showingresults": "{{PLURAL:$4|<strong>$1</strong> натижа <strong>$3</strong> натижалардан|<strong>$1 – $2</strong> натижа <strong>$3</strong> натижалардан}}",
        "search-nonefound": "Бу талапгъа тийишли натижалар табулмады.",
+       "powersearch-legend": "Генглешген излев",
+       "powersearch-toggleall": "Тюм",
+       "powersearch-togglenone": "Ёкъ",
        "mypreferences": "Кюйлемлер",
+       "skin-preview": "Ингкъарав",
+       "prefs-user-pages": "Къоллавчу сагьифасы",
+       "prefs-watchlist": "Гьызарлав тизмеси",
+       "saveprefs": "Сакъламакъ",
+       "prefs-editing": "Тюзлев",
+       "searchresultshead": "Излев",
+       "stub-threshold-sample-link": "уьлгю",
+       "stub-threshold-disabled": "Сёнген",
+       "timezoneregion-asia": "Азия",
+       "timezoneregion-europe": "Авропа",
+       "prefs-searchoptions": "Излев",
+       "prefs-namespaces": "Атлар аралыгъы",
+       "prefs-files": "Сапламлар",
+       "youremail": "Эмейл:",
+       "group-membership-link-with-expiry": "$1 ($2 ерли)",
+       "yourrealname": "Герти аты:",
+       "yourlanguage": "Тил:",
+       "yournick": "Янгы къолбас",
+       "email": "Эмейл",
+       "prefs-signature": "Къолбас",
+       "prefs-preview": "Ингкъарав",
+       "editusergroup": "Ортакъчына гюплерин юклемек",
+       "group": "Гюп:",
+       "group-user": "Къоллавчулар",
        "group-bot": "Ботлар",
        "group-sysop": "Юрютювчилер",
+       "group-all": "(тюм)",
+       "grouppage-user": "{{ns:project}}:Къоллавчулар",
        "grouppage-bot": "{{ns:project}}:Ботлар",
        "grouppage-sysop": "{{ns:project}}:Башчылар",
+       "right-read": "Сагьифа охув",
+       "right-edit": "Сагьифа тюзлев",
        "right-writeapi": "Языв учун API‎ къоллав",
+       "right-delete": "Сагьифа тайдырыв",
        "newuserlogpage": "Янгы къоллавчу тизме гюнделиги",
        "rightslog": "Ортакъчы ихтиярларын гюнделиги",
+       "action-read": "бу сагьифаны охув",
        "action-edit": "бу сагьифаны тюзлемек",
+       "action-createpage": "бу сагьифаны яратмакъ",
        "action-createaccount": "бу гьисапны яратыву",
        "enhancedrc-history": "тарих",
        "recentchanges": "Яп-янгы тюзлевлер",
        "recentchanges-label-plusminus": "Сагьифаны гёлеми шунчакъы байт булан алышынгъан",
        "recentchanges-legend-heading": "<strong>Уйдурма:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (шунда да  [[Special:NewPages|янгы сагьифаланы сиягьына къарагъыз]])",
+       "recentchanges-submit": "Гёрсетмек",
+       "rcfilters-savedqueries-rename": "Атын алышдырмакъ",
+       "rcfilters-savedqueries-remove": "Тайдырмакъ",
+       "rcfilters-savedqueries-new-name-label": "Ат",
+       "rcfilters-savedqueries-cancel-label": "Гери алыв",
+       "rcfilters-filterlist-title": "Сюзгючлер",
+       "rcfilters-highlightmenu-title": "Тюсюн сайламакъ",
+       "rcfilters-filter-user-experience-level-learner-label": "Охуйгъанлар",
+       "rcfilters-filter-bots-label": "Бот",
        "rcnotefrom": "Тюбюндеги — <strong>$3, $4</strong> гюнден берли {{PLURAL:$5|тюзлевюдюр|тюзлевлеридир}}.",
        "rclistfrom": "$2, $3 тюзлевлерден башлап гёрсетмек",
        "rcshowhideminor": "$1 увакъ тюзлевлер",
        "rcshowhideanons-show": "Гёрсетмек",
        "rcshowhideanons-hide": "Яшырмакъ",
        "rcshowhidepatr": "$1 тергелген тюзлевлер",
+       "rcshowhidepatr-show": "Гёрсетмек",
+       "rcshowhidepatr-hide": "Яшырмакъ",
        "rcshowhidemine": "$1 мени тюзлевлерим",
        "rcshowhidemine-show": "Гёрсетмек",
        "rcshowhidemine-hide": "Яшырмакъ",
+       "rcshowhidecategorization-show": "Гёрсетмек",
+       "rcshowhidecategorization-hide": "Яшырмакъ",
        "rclinks": "Ахырынчы $2 гюнню ичинде ахырынчы $1 тюзлевню гёрсетмек",
        "diff": "алыш.",
        "hist": "тарих",
        "recentchangeslinked-page": "Сагьифаны аты:",
        "recentchangeslinked-to": "Къайта, бу сагьифагъа байлавлу сагьифаланы алышынывларын гёрсетмек",
        "upload": "Сапламны юклемек",
+       "uploadbtn": "Сапламны юклемек",
        "uploadlogpage": "Юклев журналы",
+       "filename": "Сапламны аты",
        "filedesc": "Къысгъартылым",
+       "fileuploadsummary": "Къысгъартылым:",
+       "filesource": "Эник:",
+       "upload-dialog-button-cancel": "Гери алыв",
+       "upload-dialog-button-back": "Артгъа",
+       "upload-dialog-button-done": "Гьазир",
+       "upload-dialog-button-save": "Сакъламакъ",
+       "upload-dialog-button-upload": "Юклемек",
+       "upload-form-label-infoform-title": "Толу",
+       "upload-form-label-infoform-name": "Ат",
+       "upload-form-label-infoform-description": "Тасвир",
+       "upload-form-label-usage-title": "Къоллав",
+       "upload-form-label-usage-filename": "Сапламны аты",
+       "upload-form-label-infoform-date": "Тарх",
        "license": "Лицензиялав:",
        "license-header": "Лицензиялав",
+       "listfiles-delete": "тайдырмакъ",
        "imgfile": "саплам",
        "listfiles": "Саплам тизмеси",
+       "listfiles_thumb": "Гиччисурат",
+       "listfiles_date": "Тарх",
+       "listfiles_name": "Ат",
+       "listfiles_user": "Къоллавчу",
+       "listfiles_size": "Гёлем",
+       "listfiles_description": "Тасвир",
+       "listfiles_count": "Тюрлер",
+       "listfiles-latestversion": "Гьалиги тюрю",
+       "listfiles-latestversion-yes": "Дюр",
+       "listfiles-latestversion-no": "Ёкъ",
        "file-anchor-link": "Саплам",
        "filehist": "Саплам тарихи",
        "filehist-help": "Тарх/замангъа бассанг саплам о вакътиде нечик болгъанны гёрежексен",
+       "filehist-deleteall": "Тюмюн тайдырмакъ",
+       "filehist-deleteone": "тайдырмакъ",
        "filehist-revert": "къайтармакъ",
        "filehist-current": "гьалиги",
        "filehist-datetime": "Тарх/Заман",
        "filehist-nothumb": "миниатюрю ёкъ",
        "filehist-user": "Къоллавчу",
        "filehist-dimensions": "Оьлчевлери",
+       "filehist-filesize": "Саплам гёлеми",
        "filehist-comment": "Ёрум",
        "imagelinks": "Сапламны къоллаву",
        "linkstoimage": "Шундан сонггъу {{PLURAL:$1|сагьифа|$1 сагьифалар}} бу сапламгъа байлангъан:",
        "sharedupload-desc-here": "Бу саплам $1 проектдендир, ва башгъасында да къолланма бола. Ону [$2 тасвир сагьифасындан] маълюматы тюпде бериле.‎",
        "filepage-nofile": "Булай аты булан саплам ёкъдур.",
        "upload-disallowed-here": "Бу сапламны уьстюнде язмакъ болмайсан.",
+       "filerevert-comment": "Себеп:",
+       "filerevert-submit": "Къайтармакъ",
+       "filedelete": "$1 тайдырмакъ",
+       "filedelete-legend": "Сапламны тайдырмакъ",
+       "filedelete-comment": "Себеп:",
+       "filedelete-submit": "Тайдырмакъ",
+       "filedelete-reason-otherlist": "Башгъа себеп",
+       "mimesearch": "MIME излев",
+       "download": "эндирмек",
+       "unusedtemplateswlh": "башгъа байланывлар",
        "randompage": "Хапарсыз сагьифа",
+       "randomincategory-category": "Категория:",
+       "randomincategory-submit": "Гёчмек",
        "statistics": "Истатистик",
+       "statistics-pages": "Сагьифа",
+       "pageswithprop-submit": "Тапмакъ",
        "double-redirect-fixer": "Ёллав дуруславу",
+       "brokenredirects-edit": "тюзлемек",
+       "brokenredirects-delete": "тайдырмакъ",
+       "withoutinterwiki-submit": "Гёрсетмек",
        "nbytes": "$1 {{PLURAL:$1|байт|байтлар}}‎",
        "nmembers": "$1 {{PLURAL:$1|ортакъчы}}",
        "prefixindex": "Префикс булан бары да сагьифалар",
        "whatlinkshere": "Мунда байланылгъан",
        "whatlinkshere-title": "\"$1\" бетге байлангъан сагьифалар",
        "whatlinkshere-page": "Сагьифа:",
-       "linkshere": "Гелеген сагьифалар бугъар байлавлу <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Бугъар байлавлу сагьифалар ёкъ <strong>[[:$1]]</strong>:",
+       "linkshere-2": "Гелеген сагьифалар бугъар байлавлу <strong>$1</strong>:",
+       "nolinkshere-2": "Бугъар байлавлу сагьифалар ёкъ <strong>$1</strong>:",
        "isredirect": "ёллав-сагьифа",
        "istemplate": "къошув",
        "isimage": "сапламлы байланыв",
index f523fb5..b767225 100644 (file)
        "whatlinkshere": "Pyth a gevren dhe omma",
        "whatlinkshere-title": "Folennow ow kevrenna dhe \"$1\"",
        "whatlinkshere-page": "Folen:",
-       "linkshere": "Yma an folennow a syw ow kevrenna dhe '''[[:$1]]''':",
-       "nolinkshere": "Nyns eus folen vyth ow kevrenna dhe '''[[:$1]]'''.",
+       "linkshere-2": "Yma an folennow a syw ow kevrenna dhe '''$1''':",
+       "nolinkshere-2": "Nyns eus folen vyth ow kevrenna dhe '''$1'''.",
        "isredirect": "folen daskedyans",
        "istemplate": "treuskludyans",
        "isimage": "kevren an restren",
index 19f7d87..bcedaee 100644 (file)
        "whatlinkshere": "Шилтемелерди бул жакка",
        "whatlinkshere-title": "\"$1\" -га шилтеме берген барактар",
        "whatlinkshere-page": "Барак:",
-       "linkshere": "'''[[:$1]]''' барагына шилтеме берген барактар:",
-       "nolinkshere": "'''[[:$1]]''' барагына шилтеме берген барак жок.",
+       "linkshere-2": "'''$1''' барагына шилтеме берген барактар:",
+       "nolinkshere-2": "'''$1''' барагына шилтеме берген барак жок.",
        "isredirect": "багыттама барак",
        "istemplate": "бириктирүү",
        "isimage": "файл шилтемеси",
index 11e590a..616258d 100644 (file)
        "whatlinkshere": "Nexus ad paginam",
        "whatlinkshere-title": "Paginae quae ad \"$1\" nectuntur",
        "whatlinkshere-page": "Pagina:",
-       "linkshere": "Paginae sequentes ad '''[[:$1]]''' nectunt:",
-       "nolinkshere": "Nullae paginae ad '''[[:$1]]''' nectunt.",
-       "nolinkshere-ns": "Nullae paginae spatii nominalis selecti ad '''[[:$1]]''' nectunt.",
+       "linkshere-2": "Paginae sequentes ad '''$1''' nectunt:",
+       "nolinkshere-2": "Nullae paginae ad '''$1''' nectunt.",
+       "nolinkshere-ns-2": "Nullae paginae spatii nominalis selecti ad '''$1''' nectunt.",
        "isredirect": "pagina redirectionis",
        "istemplate": "inclusio",
        "isimage": "nexus fasciculi",
index dfc7321..9e035e9 100644 (file)
        "whatlinkshere": "Hojas atadas",
        "whatlinkshere-title": "Hojas que dan link a \"$1\"",
        "whatlinkshere-page": "Hoja:",
-       "linkshere": "Las hojas venideras dan link a '''[[:$1]]''':",
-       "nolinkshere": "Dinguna ója tiene atamientos kon '''[[:$1]]'''",
+       "linkshere-2": "Las hojas venideras dan link a '''$1''':",
+       "nolinkshere-2": "Dinguna ója tiene atamientos kon '''$1'''",
        "isredirect": "Hoja redirigida",
        "istemplate": "inclusión",
        "isimage": "atamiento de la dosya",
index 48f92a2..764e56e 100644 (file)
        "whatlinkshere": "Linken op dës Säit",
        "whatlinkshere-title": "Säiten, déi mat \"$1\" verlinkt sinn",
        "whatlinkshere-page": "Säit:",
-       "linkshere": "Déi folgend Säite linken op '''[[:$1]]''':",
-       "nolinkshere": "Keng Säit ass mat '''[[:$1]]''' verlinkt.",
-       "nolinkshere-ns": "Keng Säite linken op '''[[:$1]]''' am gewielten Nummraum.",
+       "linkshere-2": "Déi folgend Säite linken op '''$1''':",
+       "nolinkshere-2": "Keng Säit ass mat '''$1''' verlinkt.",
+       "nolinkshere-ns-2": "Keng Säite linken op '''$1''' am gewielten Nummraum.",
        "isredirect": "Viruleedung",
        "istemplate": "an dëser Säit dran",
        "isimage": "Link op de Fichier",
        "fileduplicatesearch-noresults": "Et gouf kee Fichier mam Numm \"$1\" fonnt.",
        "specialpages": "Spezialsäiten",
        "specialpages-note-top": "Erklärung",
+       "specialpages-note-restricted": "* Normal Spezialsäiten.\n* <span class=\"mw-specialpagerestricted\">Spezialsäite fir Benotzer mat méi Rechter.</span>",
        "specialpages-group-maintenance": "Maintenance-Rapporten",
        "specialpages-group-other": "Aner Spezialsäiten",
        "specialpages-group-login": "Aloggen / Benotzerkont uleeën",
        "gotointerwiki-invalid": "De spezifizéierten Titel ass net valabel.",
        "gotointerwiki-external": "Dir sidd am Gaang {{SITENAME}} ze verloosse fir [[$2]] ze besichen, deen een externen Internetsite ass.\n\n'''[$1 Hei klicke fir op $1 virunzefueren]'''",
        "undelete-cantedit": "Dir kënnt dës Säit net restauréiere well Dir dës Säit net änneren däerft.",
-       "undelete-cantcreate": "Dir kënnt dës Säit net restauréieren well et elo keng Säit mat deem Numm gëtt a well Dir dës Säit net uleeën däerft."
+       "undelete-cantcreate": "Dir kënnt dës Säit net restauréieren well et elo keng Säit mat deem Numm gëtt a well Dir dës Säit net uleeën däerft.",
+       "passwordpolicies": "Richtlinne fir Passwierder",
+       "passwordpolicies-group": "Grupp",
+       "passwordpolicies-policies": "Richtlinnen"
 }
index 0ea7d77..2b857b1 100644 (file)
        "whatlinkshere": "Иниз вуч элячIзава",
        "whatlinkshere-title": "\"$1\" - даз элячlзавай ччинар",
        "whatlinkshere-page": "Ччин:",
-       "linkshere": "Гуьгъуьнин ччинар '''[[:$1]]''': - даз  элячlзава",
-       "nolinkshere": "'''[[:$1]]''' ччиниз са ччинни элячIзавач.",
+       "linkshere-2": "Гуьгъуьнин ччинар '''$1''': - даз  элячlзава",
+       "nolinkshere-2": "'''$1''' ччиниз са ччинни элячIзавач.",
        "isredirect": "Рахкъурунин ччин",
        "istemplate": "кутун",
        "isimage": "Файлдин элячlун",
index 4f61fd5..2813f97 100644 (file)
@@ -11,7 +11,8 @@
                        "Chabi",
                        "Angel Blaise",
                        "Fitoschido",
-                       "Robin van der Vliet"
+                       "Robin van der Vliet",
+                       "Mafcadio"
                ]
        },
        "tog-underline": "Sulini de lias:",
        "editold": "edita",
        "viewsourceold": "regarda vicitesto",
        "editlink": "edita",
-       "viewsourcelink": "regarda vicitesto",
+       "viewsourcelink": "regarda la fonte",
        "editsectionhint": "Edita la parte: $1",
        "toc": "Contenida",
        "showtoc": "mostra",
        "perfcachedts": "La datos seguente veni de prememoria e la refresci la plu resente ia aveni a $1. No plu ca {{PLURAL:$4|un resulta|$4 resultas}} es disponable en la prememoria.",
        "querypage-no-updates": "Refrescis de esta paje es aora descomutada.\nDatos asi no va es refrescida a presente.",
        "viewsource": "Regarda vicitesto",
-       "viewsource-title": "Regarda vicitesto per $1",
+       "viewsource-title": "Regarda fonte per $1",
        "actionthrottled": "Ata limitada",
        "actionthrottledtext": "Per defende contra malusa, usores no pote fa esta ata a tro multe veses en un tempo corta, e tu ia esede esta limita.\nPer favore, atenta denova pos alga minutos.",
        "protectedpagetext": "Esta paje es protejeda per preveni editas o otra atas.",
        "cascadeprotected": "Esta paje es protejeda contra editas car lo es transcluida en la {{PLURAL:$1|paje|pajes}} seguente, cual es cascadin protejeda:\n$2",
        "namespaceprotected": "Tu no es permeteda a edita pajes en la spasio de nom <strong>$1</strong>.",
        "customcssprotected": "Tu no es permeteda a edita esta paje de CSS, car lo conteni la preferes personal de un otra usor.",
+       "customjsonprotected": "Tu no es permeteda a edita esta paje de JSON, car lo conteni la preferes personal de un otra usor.",
        "customjsprotected": "Tu no es permeteda a edita esta paje de JavaScript, car lo conteni la preferes personal de un otra usor.",
        "mycustomcssprotected": "Tu no es permeteda a edita esta paje de CSS.",
+       "mycustomjsonprotected": "Tu no es permeteda a edita esta paje de JSON.",
        "mycustomjsprotected": "Tu no es permeteda a edita esta paje de JavaScript.",
        "myprivateinfoprotected": "Tu no es permeteda a edita tua informas privata.",
        "mypreferencesprotected": "Tu no es permeteda a edita tua preferes.",
        "nowiki_sample": "Ajunta asi testo nonformatida",
        "nowiki_tip": "Iniora sintatica de vici",
        "image_tip": "Fix interna",
-       "media_tip": "Lia a un fix",
+       "media_tip": "Lia de fix",
        "sig_tip": "Tua suscrive con indica de ora",
        "hr_tip": "Linia orizonal (per usas rara)",
        "summary": "Resoma:",
        "whatlinkshere": "Lias a esta paje",
        "whatlinkshere-title": "Pajes cual lia a \"$1\"",
        "whatlinkshere-page": "Paje:",
-       "linkshere": "La pajes seguente lia a <strong>[[:$1]]</strong>:",
-       "nolinkshere": "No pajes lia a <strong>[[:$1]]</strong>.",
-       "nolinkshere-ns": "No pajes lia a <strong>[[:$1]]</strong> en la spasio de nom elejeda.",
+       "linkshere-2": "La pajes seguente lia a <strong>$1</strong>:",
+       "nolinkshere-2": "No pajes lia a <strong>$1</strong>.",
+       "nolinkshere-ns-2": "No pajes lia a <strong>$1</strong> en la spasio de nom elejeda.",
        "isredirect": "paje redirijente",
        "istemplate": "transclui",
        "isimage": "lia de fix",
        "tooltip-t-upload": "Carga fixes",
        "tooltip-t-specialpages": "Un lista de tota pajes spesial",
        "tooltip-t-print": "Varia primable de esta paje",
-       "tooltip-t-permalink": "Lias permanente a esta revisa de la paje",
+       "tooltip-t-permalink": "Lia permanente a esta revisa de la paje",
        "tooltip-ca-nstab-main": "Regarda la paje de contenida",
        "tooltip-ca-nstab-user": "Regarda la paje de usor",
        "tooltip-ca-nstab-media": "Regarda la paje de media",
        "feedback-thanks": "Grasias! Tua comenta apare en la paje \"[$2 $1]\".",
        "feedback-thanks-title": "Grasias!",
        "feedback-useragent": "Surfador:",
-       "searchsuggest-search": "Xerca {{SITENAME}}",
+       "searchsuggest-search": "Xerca en {{SITENAME}}",
        "searchsuggest-containing": "conteninte...",
        "api-error-badtoken": "Era interna: Mal marca.",
        "api-error-emptypage": "La crea de pajes nova e vacua no es permeteda.",
index d8f54b8..d6f438e 100644 (file)
        "whatlinkshere": "Empapula ezikuggusa ku luno",
        "whatlinkshere-title": "Empapula eziriko enyunzi ezigguka ku $1",
        "whatlinkshere-page": "Lupapula:",
-       "linkshere": "Zino z'empapula eziriko enyunzi ezigguka ku '''[[:$1]]''':",
-       "nolinkshere": "Tewali mpapula eziriko enyunzi ezigguka ku '''[[:$1]]'''.",
+       "linkshere-2": "Zino z'empapula eziriko enyunzi ezigguka ku '''$1''':",
+       "nolinkshere-2": "Tewali mpapula eziriko enyunzi ezigguka ku '''$1'''.",
        "isredirect": "lupapula olukutwalabutwazi ku lunnaalwo",
        "istemplate": "kitundu ekyeyazike",
        "isimage": "lukozesa ekifaananyi kino",
index 5ef25bf..a86d842 100644 (file)
        "whatlinkshere": "Links nao dees pagina",
        "whatlinkshere-title": "Pagina's die verwieze nao \"$1\"",
        "whatlinkshere-page": "Pagina:",
-       "linkshere": "De volgende pagina's verwieze nao '''[[:$1]]''':",
-       "nolinkshere": "D'r zint gein pazjena's mit links nao '''[[:$1]]''' haer.",
-       "nolinkshere-ns": "Geine inkele pazjena link nao '''[[:$1]]''' in de gekaoze naamruumde.",
+       "linkshere-2": "De volgende pagina's verwieze nao '''$1''':",
+       "nolinkshere-2": "D'r zint gein pazjena's mit links nao '''$1''' haer.",
+       "nolinkshere-ns-2": "Geine inkele pazjena link nao '''$1''' in de gekaoze naamruumde.",
        "isredirect": "redirect pagina",
        "istemplate": "ingevoog es sjabloon",
        "isimage": "bestandjslink",
index 0a60cfc..fea67cc 100644 (file)
        "whatlinkshere": "Cöse se colega chì",
        "whatlinkshere-title": "Pàgine c'apontàn a $1",
        "whatlinkshere-page": "Pàgina:",
-       "linkshere": "E pàgine segoenti apontan a '''[[:$1]]''':",
-       "nolinkshere": "Nisciùnn-a pàgina a se collega con '''[[:$1]]'''.",
-       "nolinkshere-ns": "Pagine ch'apontan a '''[[:$1]]''' into namespace seleçionou no ghe n'è.",
+       "linkshere-2": "E pàgine segoenti apontan a '''$1''':",
+       "nolinkshere-2": "Nisciùnn-a pàgina a se collega con '''$1'''.",
+       "nolinkshere-ns-2": "Pagine ch'apontan a '''$1''' into namespace seleçionou no ghe n'è.",
        "isredirect": "Paggina de rindirissamento",
        "istemplate": "Incluxon",
        "isimage": "Colegaménto a-o file",
        "fileduplicatesearch-noresults": "Nisciun file de nomme \"$1\" trovou.",
        "specialpages": "Pàgine speciâli",
        "specialpages-note-top": "Legenda",
+       "specialpages-note-restricted": "* Pagine speciali non riservæ.\n* <span class=\"mw-specialpagerestricted\">Pagine speciali riservæ a çerte categorie d'utenti.</span>",
        "specialpages-group-maintenance": "Raporti de manutençion",
        "specialpages-group-other": "Atre paggine speciale",
        "specialpages-group-login": "Intra / Registrite",
index 0ca1316..4f060a4 100644 (file)
        "whatlinkshere": "پیوندەل وە ئێ وەڵگە",
        "whatlinkshere-title": "وۀلگۀلئ گإ  وۀ «$1» پیوۀند دِرِن",
        "whatlinkshere-page": ":وةڵگە(پەڕە)",
-       "linkshere": "The following pages link to <strong>[[:$1]]</strong>:",
-       "nolinkshere": "هیچ صفحه‌ای به '''[[:$1]]''' پیوند ندارد.",
-       "nolinkshere-ns": "هیچ صفحه‌ای از فضای نام انتخاب شده به '''[[:$1]]''' پیوند ندارد.",
+       "linkshere-2": "The following pages link to <strong>$1</strong>:",
+       "nolinkshere-2": "هیچ صفحه‌ای به '''$1''' پیوند ندارد.",
+       "nolinkshere-ns-2": "هیچ صفحه‌ای از فضای نام انتخاب شده به '''$1''' پیوند ندارد.",
        "isredirect": "وەڵگە ڕێ گؤەڕن(تغییرمسییر)",
        "istemplate": " تراگنجانش‌ها",
        "isimage": "پیوند پرونده",
        "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": " إ نؤم هةتن سیستم/ حساوو کاربةری سازین",
index 7dbe352..a4fb8c9 100644 (file)
        "whatlinkshere": "Pagin che se culeghen chì",
        "whatlinkshere-title": "Paginn che menen a \"$1\"",
        "whatlinkshere-page": "Pagina:",
-       "linkshere": "I paginn chì de sota gh'hann di ligam che porten a '''[[:$1]]''':",
+       "linkshere-2": "I paginn chì de sota gh'hann di ligam che porten a '''$1''':",
        "isredirect": "redirezión",
        "istemplate": "inclüsión",
        "isimage": "ligam a un archivi",
index 7a4ba91..84fcc2c 100644 (file)
        "sp-contributions-submit": "ຊອກຫາ",
        "whatlinkshere": "ໜ້າທີ່ເຊື່ອມຕໍ່ມາໜ້ານີ້",
        "whatlinkshere-title": "ໜ້າທີ່ເຊື່ອມຕໍ່ຫາ $1",
-       "linkshere": "ບັນດາໜ້າຕໍ່ໄປ ລິ້ງຄ໌ ຫາ ''[[:$1]]''':",
-       "nolinkshere": "ບໍ່ມີໜ້າລິ້ງຄ໌ ຫາ '''[[:$1]]'''.",
-       "nolinkshere-ns": "ບໍ່ມີໜ້າລິ້ງຄ໌ ຫາ '''[[:$1]]''' ໃນ ຂອບເຂດຊື່ ທີ່ ທ່ານເລືອກ.",
+       "linkshere-2": "ບັນດາໜ້າຕໍ່ໄປ ລິ້ງຄ໌ ຫາ ''$1''':",
+       "nolinkshere-2": "ບໍ່ມີໜ້າລິ້ງຄ໌ ຫາ '''$1'''.",
+       "nolinkshere-ns-2": "ບໍ່ມີໜ້າລິ້ງຄ໌ ຫາ '''$1''' ໃນ ຂອບເຂດຊື່ ທີ່ ທ່ານເລືອກ.",
        "isredirect": "ໜ້າໂອນ",
        "istemplate": "ລວມ",
        "whatlinkshere-prev": "{{PLURAL:$1|ກ່ອນ|ກ່ອນ $1}}",
index cc49d74..a8146a8 100644 (file)
        "whatlinkshere": "Ling'ki di bye petulo",
        "whatlinkshere-title": "Petulo bye ling'ki di $1",
        "whatlinkshere-page": "Petulo:",
-       "linkshere": "Bye petulo ling'ki di '''[[:$1]]''':",
-       "nolinkshere": "0 petulo ling'ki di '''[[:$1]]'''.",
-       "nolinkshere-ns": "0 petulo ling'ki di '''[[:$1]]''' bye sa di bye fatukile efro.",
+       "linkshere-2": "Bye petulo ling'ki di '''$1''':",
+       "nolinkshere-2": "0 petulo ling'ki di '''$1'''.",
+       "nolinkshere-ns-2": "0 petulo ling'ki di '''$1''' bye sa di bye fatukile efro.",
        "isredirect": "petulo abezi",
        "istemplate": "yang'idole",
        "whatlinkshere-prev": "{{PLURAL:$1|kona|kona $1}}",
index ca6ac41..e822bba 100644 (file)
@@ -64,8 +64,8 @@
        "editfont-serif": "فونت سئريف",
        "sunday": "یٱشمٱ",
        "monday": "دۏشٱمٱ",
-       "tuesday": "ساÙ\9bشمٱ",
-       "wednesday": "چارشأمە",
+       "tuesday": "سئشمٱ",
+       "wednesday": "چارشٱمٱ",
        "thursday": "پن شمٱ",
        "friday": "جومٱ",
        "saturday": "شٱمٱ",
@@ -93,8 +93,8 @@
        "march-gen": "مارس",
        "april-gen": "آڤریل",
        "may-gen": "مئی",
-       "june-gen": "جوٙأن",
-       "july-gen": "جوٙلای",
+       "june-gen": "جۊٱن",
+       "july-gen": "جۊلای",
        "august-gen": "آگوست",
        "september-gen": "سئپتامر",
        "october-gen": "ئوکتوبر",
        "specialpage": "بألگە ڤیجە",
        "personaltools": "ٱڤزاریا شٱخسی",
        "talk": "گٱپ",
-       "views": "دÛ\8cاÙ\9bن",
+       "views": "دÛ\8cئن",
        "toolbox": "ٱڤزاریا",
        "imagepage": "ديئن بألگە جانیا",
        "mediawikipage": "ديئن بألگە پئيغوم",
        "perfcached": "رئسینە یا نئهایی د ڤیرگە قام بییە موٙکیس بینە و گاسی هأنی ڤئ هئنگوم سازی نأبینە.بیشتئروٙنە {{PLURAL:$4|یئ گئل نأتیجە|$4 یئ گئل نأتیجە}} د ڤیرگە قام بییە هان د دأسرئس.",
        "perfcachedts": "رئسینە یا نئهایی د ڤیرگە قام بییە موٙکیس بینە و گاسی هأنی ڤئ هئنگوم سازی نأبینە.بیشتئروٙنە {{PLURAL:$4|یئ گئل نأتیجە|$4 یئ گئل نأتیجە}} د ڤیرگە قام بییە هان د دأسرئس.",
        "querypage-no-updates": "نأبوٙە ئی بألگە ڤئ هئنگوم سازی با.\nرئسینە یا ئیچئ تازە کاری نأبینە.",
-       "viewsource": "ساÙ\9bیل د سرچشمٱ بٱکیت",
+       "viewsource": "سئیل د سرچشمٱ بٱکیت",
        "viewsource-title": "سئیل د سأرچئشمە $1 بأکیت",
        "actionthrottled": "کونئشتکاری نئهاگئری بییە",
        "actionthrottledtext": "سی نئهاگئری د دأرتیچ بییئن ئسپأم نأبوٙە کئ شوما چئنی کاری نە د یئ گاتی کوٙتا چأن گئل أنجوم بئییت.\nلوطف بأکیت د چأن دئیقە هأنی د نۊ تئلاش بأکیت.",
        "userlogin-loggedin": "شوما ئیسئ چی یئ گئل {{GENDER:$1|$1}} ئوٙمایتە ڤامین.نوم بألگە هاری نە سی ڤامین ئوٙمائن چی یئ گئل کاریار هأنی بلگه هاری سی وا مین اومائن چی یه گل کاریار هنی ڤئ کار بئیریت.",
        "userlogin-createanother": "یئ گئل حئساڤ هأنی راس بأکیت",
        "createacct-emailrequired": "تیرنئشوٙن أنجومانامە",
-       "createacct-emailoptional": "تÛ\8cرÙ\86ئشÙ\88Ù\99Ù\86 Ø£Ù\86جÙ\88Ù\85اÙ\86اÙ\85Û\95",
+       "createacct-emailoptional": "تÛ\8cرÙ\86Ø´Û\8aÙ\86 Ù±Ù\86جÙ\88Ù\85اÙ\86اÙ\85Ù±",
        "createacct-email-ph": "تیرنشون انجومانامه تونه وارد بكيت",
        "createacct-another-email-ph": "تیرنئشوٙن أنجومانامە توٙنە بأزأنیت",
        "createaccountmail": "یئ گئل رازینە گوڤاردئن موڤأقأتینە ڤئ کار بئیریت و ڤئ نەسی یئ گئل تیرنئشوٙن أنجومانامە تیار بییە کئل بأکیت.",
        "resettokens-watchlist-token": "دیارگأر سی حوڤال حوٙن تورگە(أتوم/آر ئس ئس) سی [[Special:سئیل بأرگ|آلئشت دأئن بألگە یا د سئیل بأرگئتوٙ]]",
        "resettokens-done": "نئشوٙنە یا تازه بیینە",
        "resettokens-resetbutton": "نئشوٙنە گولئ ڤورچیە د نوٙ زئنە بینە",
-       "bold_sample": "نیسسە توٙپور",
-       "bold_tip": "Ù\86Û\8cسئسÛ\95 ØªÙ\88Ù\99پور",
+       "bold_sample": "نیسسٱ مین پور",
+       "bold_tip": "Ù\86Û\8cسسٱ Ù\85Û\8cÙ\86 پور",
        "italic_sample": "نیسئسە کأج و کولە",
        "italic_tip": "نیسئسە یا کأج و کولە",
        "link_sample": "داسوٙن هوم پیڤند",
        "summary": "چکسٱ",
        "subject": "ذاسوٙن/سأرتال:",
        "minoredit": "یٱ یاٛ گاٛل ڤیرایشت کوچکٱ",
-       "watchthis": "دÛ\8cاÙ\9bن ای بلگٱ",
+       "watchthis": "دÛ\8cئن ای بلگٱ",
        "savearticle": "اٛمایٱ کردن بلگٱ",
        "preview": "پيش سئيل",
-       "showpreview": "Ù\86Ø´Û\8a Ø¯Ù±Ø¦Ù\86 Ù¾Û\8cØ´ Ø³Ø§Ù\9bیل",
+       "showpreview": "Ù\86Ø´Û\8a Ø¯Ù±Ø¦Ù\86 Ù¾Û\8cØ´ Ø³Ø¦یل",
        "showdiff": "نشۊ دٱئن آلشتکاریا",
        "blankarticle": "<strong>زنئار:</strong> بلگه ای که شما دروس کردیته حالیه.\nار شما د نو ری \"$1\" بپورنیت, بلگه وه شکل که هیچ مینونه ای دش نبا دروس بوئه.",
        "anoneditwarning": "<strong>زاٛنار:</strong> شوما هٱنی نیۊمایتٱ ڤامین. تیرنشۊن آی پی شوما سی هر گاتی کاٛ آلشتکاری بٱکیت سی کول خٱلک دیاری می کٱ. ٱر <strong>[$1 روئیت ڤامین]</strong> یا <strong>[$2 یاٛ گاٛل هساڤ کاریاری راس بٱکیت]</strong>، ڤیرایشتیا شوما ڤ نوم کاریاری خوتۊ دیاری می کٱ و سی شوما بیترٱ.",
        "revisionasof": "دوڤارٱ دیاٛن $1",
        "revision-info": "دوواره سیل بیه چی $1 وا $2",
        "previousrevision": "ڤانیٱری داٛمایی←",
-       "nextrevision": "ڤانئیأری تازە تئر",
-       "currentrevisionlink": "آخئرÛ\8c Ú¤Ø§Ù\86ئÛ\8cØ£ری",
+       "nextrevision": "ڤانیٱری تازٱتر",
+       "currentrevisionlink": "آخرÛ\8c Ú¤Ø§Ù\86Û\8cÙ±ری",
        "cur": "تازٱ باۋ",
        "next": "نئهایی",
        "last": "داٛمایی",
        "rcshowhidebots-show": "نشۊ دٱئن",
        "rcshowhidebots-hide": "قام کردن",
        "rcshowhideliu": "$1 کاریاریا ثوت نام کرده",
-       "rcshowhideliu-show": "Ù\86ئشÙ\88Ù\99 Ø¯Ø£ئن",
+       "rcshowhideliu-show": "Ù\86Ø´Û\8a Ø¯Ù±ئن",
        "rcshowhideliu-hide": "قام کئردئن",
        "rcshowhideanons": "کاریار نادیار $1",
        "rcshowhideanons-show": "نئشوٙ دأئن",
        "rc-enhanced-expand": "جزيات نشون بيئه",
        "rc-enhanced-hide": "جزياته قام كو",
        "rc-old-title": "ذاتا چی \"$1\" راس بیه",
-       "recentchangeslinked": "آلشتیا تی یکی",
+       "recentchangeslinked": "آلشتیا تی یٱکی",
        "recentchangeslinked-feed": "آلشتیا تی یکی",
        "recentchangeslinked-toolbox": "آلشتیا تاٛ یٱک",
        "recentchangeslinked-title": "آلشتیا تاٛ یکی د $1",
        "recentchangeslinked-summary": "ای نوم بلگٱ تازٱ د بلگٱیایی کاٛ ۋا بلگٱیا ۋیجٱ هوم پیۋند بینٱ آلشت بیٱ(یا سی ٱندومیا دٱسٱ بٱنی بیٱ)\nبلگٱیایی کاٛ هان د [[Special:Watchlist|your watchlist]]و گٱپ بینٱ",
-       "recentchangeslinked-page": "نوم بألگە:",
+       "recentchangeslinked-page": "نوم بلگٱ:",
        "recentchangeslinked-to": "آلشتیایی که د بلگه یا هوم پیوند بینه وه جا بلگه دئیه بیه نشو بیه",
        "recentchanges-page-added-to-category": "[[:$1]]د دأسە ئضاف بی",
        "recentchanges-page-added-to-category-bundled": "[[:$1]] و {{PLURAL:$2|بألگە تأکی|$2 بألگە یا}} د دأسە ئضاف بییئن",
        "usermessage-summary": "رئتن د سامونه پیغوم",
        "usermessage-editor": "پیغوم فرسن سیستم",
        "usermessage-template": "ویکی وارسگر:پیغوم کاریار",
-       "watchlist": "ساÙ\9bیل برگ",
+       "watchlist": "سئیل برگ",
        "mywatchlist": "ساٛیل برگ",
        "watchlistfor2": "سي $1 $2",
        "nowatchlist": "شما هیچی د سیل برگ خوتو ناریت",
        "undelete-show-file-confirm": "آیا یه دل بئیته که میهایت یه گل نسقه پاکسا بیه د جانیا \"<nowiki>$1</nowiki>\" که ها د ویرگار $2 ساعت $3 نه سیل بکیت؟",
        "undelete-show-file-submit": "هأری",
        "namespace": "نوم جا:",
-       "invert": "انتخاو برعسك بوئه",
+       "invert": "گولڤورچی بیئن بٱرٱسگ بۊٱ",
        "tooltip-invert": "د ری ای جعوه بپورنیت و آلشتیایی نه که د مینجا نوم ورگه انتخاو بیه انجوم بینه قام بکیت(و ار نوم ورگه شریکی وارسی بیه)",
        "tooltip-whatlinkshere-invert": "ای جعون نه سی نهو کردن هوم پیوند بلگه یایی که نوم جاشو انتخاو بیه، انتخاو بکیت.",
        "namespace_association": "نوم جایا یکاگرته",
        "sp-contributions-newbies": "فقط هومیاری یایی که د حساو تازه بیه نشون بئه",
        "sp-contributions-newbies-sub": "سی حساویا تازه",
        "sp-contributions-newbies-title": "هومیاریا کاریار سی حساویا تازه",
-       "sp-contributions-blocklog": "Ù\82Ù\84Ù\81",
+       "sp-contributions-blocklog": "Ù¾Ù\87رستÙ\86Û\8aÙ\85Ù± Ù\82Ù\88Ù\84Ù\81 Ø¨Û\8cÙ±",
        "sp-contributions-suppresslog": "پاکساگری کردن هومیاریا کاریار",
        "sp-contributions-deleted": "هومیاریا پاکسا بیه کاریار",
        "sp-contributions-uploads": "سواركرديا",
        "whatlinkshere": "کوم هوم پیۋندیا هان ایچاٛ",
        "whatlinkshere-title": "بلگه ای که د $1 هوم پیوند بیه",
        "whatlinkshere-page": "بلگٱ",
-       "linkshere": "بلگیا نهایی د '''[[:$1]]''' هوم پیوند بیه",
-       "nolinkshere": "هیژ بگله ای د  '''[[:$1]]''' هوم پیوند نبیه",
-       "nolinkshere-ns": "هیچ بلگه ای د نومجا انتخاو بیه وه'''[[:$1]]''' هوم پیوند ناره.",
+       "linkshere-2": "بلگیا نهایی د '''$1''' هوم پیوند بیه",
+       "nolinkshere-2": "هیژ بگله ای د  '''$1''' هوم پیوند نبیه",
+       "nolinkshere-ns-2": "هیچ بلگه ای د نومجا انتخاو بیه وه'''$1''' هوم پیوند ناره.",
        "isredirect": "بلگه دوباره ورگشتن",
        "istemplate": "نشونی دئن",
        "isimage": "جانیا هوم پیوند",
        "blocklist-nousertalk": "نبوئه بلگه چک چنه خوتونه ویرایشت بکید",
        "ipblocklist-empty": "جاگه نوم گه حالیه",
        "ipblocklist-no-results": "دسرسی نوم کاریاری یا تیرنشون آی پی حاسته بیه نهاگری نبیه.",
-       "blocklink": "ناٛهاگری بۊٱ",
+       "blocklink": "نهاگری بۊٱ",
        "unblocklink": "بی قطی",
        "change-blocklink": "اجازه نديئن سی  آلشت",
        "contribslink": "هومیاریا",
        "tooltip-pt-login": "ایما مۊئیم کاٛ رۊئیت ڤامین سامۊنگٱ؛ ڤلی ای کار اٛژبار ینی.",
        "tooltip-pt-logout": "د سامونه دراومائن",
        "tooltip-pt-createaccount": "شوما تشڤیق بیتٱ کاٛ یاٛ گاٛل هساڤ راست بکیت و بیایت ڤامین؛ د هر جۊر ای کار اٛژباری نی.",
-       "tooltip-ca-talk": "قسٱ داٛبارٱ مینۊنٱ بلگٱ.",
+       "tooltip-ca-talk": "قسٱ دائبارٱ مینۊنٱ بلگٱ.",
        "tooltip-ca-edit": "ڤیرایشت ای بلگٱ",
        "tooltip-ca-addsection": "د یه گل بهرجا هنی شرو بک",
        "tooltip-ca-viewsource": "ای بلگه پر و پیم بيه.\nشما تونيت سرچمه ش بئوينيت",
        "pageinfo-redirectsto": "واگردونی سی",
        "pageinfo-redirectsto-info": "دونسمنیا",
        "pageinfo-contentpage": "اشمارده بیه وه عنوان مینونه بلگه",
-       "pageinfo-contentpage-yes": "Ù\87رÛ\8c",
+       "pageinfo-contentpage-yes": "Ù±",
        "pageinfo-protect-cascading": "پر و پیم بیین تافنمایی د ایچه",
        "pageinfo-protect-cascading-yes": "هری",
        "pageinfo-protect-cascading-from": "پر و پیم بیین تافنمایی د",
        "exif-urgency-low": "هار ($1)",
        "exif-urgency-high": "بلنگ ($1)",
        "exif-urgency-other": "اول کاری تعریف بیه وه دس کاریار($1)",
-       "namespacesall": "Ù\87Ù\85Ù\87 Ø´Ù\88",
-       "monthsall": "Ù\87Ù\85Ù\87",
+       "namespacesall": "Ù\87Ù±Ù\85ٱشÛ\8a",
+       "monthsall": "Ù\87Ù±Ù\85Ù±",
        "confirmemail": "پشت راس کردن تیرنشون انجومانامه",
        "confirmemail_noemail": "شما د بلگه [[Special:Preferences|ترجیحات کاریاری]] خوتو یه گل تیرنشون انجومانامه نامعتور نه دئیته.",
        "confirmemail_text": "ای ویکی، شما نه مژبور می که وه پشت راسکاری تیرنشون انجومانامه خوتو، دما د یه که خدمات انجومانامه نه وه کار د ایچه وه کار بئیریت می که.دگمه هاری نه کنشتیار بکیت تا یه گل انجومانامه پشت راسکاری سی تیرنشون انجومانامه شما کل بوئه. ای انجومانامه د ور گرته یه گل رازینه ئه. هوم پیوند نه د دوارته نیئر خوتو واز بکیت تا تیرنشون انجومانامه تو پشت راسکاری با.",
        "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": " اومائن د سيستم/راس كردن حساو",
index 5bd4131..4387feb 100644 (file)
        "createacct-benefit-heading": "{{SITENAME}} kuria tokie žmonės kaip Jūs.",
        "createacct-benefit-body1": "{{PLURAL:$1|keitimas|keitimai|keitimų}}",
        "createacct-benefit-body2": "{{PLURAL:$1|puslapis|puslapiai|puslapių}}",
-       "createacct-benefit-body3": "Neseni {{PLURAL:$1|autorius|autoriai|autorių}}",
+       "createacct-benefit-body3": "{{PLURAL:$1|aktyvus naudotojas|aktyvūs naudotojai|aktyvių naudotojų}}",
        "badretype": "Įvesti slaptažodžiai nesutampa.",
        "usernameinprogress": "Profilio kūrimas šiam naudotojo vardui jau vyksta.\nPrašome palaukti.",
        "userexists": "Įvestasis naudotojo vardas jau naudojamas.\nPrašome pasirinkti kitą vardą.",
        "action-applychangetags": "taikyti žymes kartu su savo pokeitymais",
        "action-changetags": "pridėti ir ištrinti savavališkas žymes individualiuose pakeitimuose ir žurnalo įrašuose",
        "action-deletechangetags": "trinti žymes iš duomenų bazės",
+       "action-purge": "išvalyti puslapio podėlį",
        "nchanges": "$1 {{PLURAL:$1|pakeitimas|pakeitimai|pakeitimų}}",
        "enhancedrc-since-last-visit": "$1 {{PLURAL:$1|nuo paskutinio apsilankymo}}",
        "enhancedrc-history": "istorija",
        "rcfilters-watchlist-showupdated": "Puslapiai pakeisti nuo tada, kai paskutinį kartą apsilankėte juose, yra <strong>paryškinti</strong>.",
        "rcfilters-preference-label": "Slėpti patobulintą naujausių pakeitimų versiją",
        "rcfilters-filter-showlinkedfrom-label": "Rodyti pakeitimus puslapiuose, iš kurių esate nukreipti",
+       "rcfilters-filter-showlinkedfrom-option-label": "<strong>Puslapiai su nuorodomis iš</strong> pasirinkto puslapio",
        "rcfilters-filter-showlinkedto-label": "Rodyti pakeitimus puslapiuose, kurie nurodo į",
        "rcfilters-filter-showlinkedto-option-label": "<strong>Puslapiai su nuorodomis į</strong> pasirinktą puslapį",
        "rcfilters-target-page-placeholder": "Įveskite puslapio pavadinimą (arba kategoriją)",
        "recentchangeslinked-feed": "Susiję keitimai",
        "recentchangeslinked-toolbox": "Susiję keitimai",
        "recentchangeslinked-title": "Su „$1“ susiję keitimai",
-       "recentchangeslinked-summary": "Įveskite puslapio pavadinimą, jei norite matyti keitimus, atliktus puslapiuose, į kuriuos yra nuoroda į arba iš nurodyto puslapio. (Jei norite ieškoti nurodytos kategorijos narius, įveskite Kategorija:Kategorijos pavadinimas). Puslapiai iš jūsų [[Special:Watchlist|stebimųjų sąrašo]] yra <strong>paryškinti</strong>.",
+       "recentchangeslinked-summary": "Įveskite puslapio pavadinimą, jei norite matyti keitimus, atliktus puslapiuose, į kuriuos yra nuoroda į arba iš nurodyto puslapio. (Jei norite ieškoti nurodytos kategorijos narius, įveskite {{ns:category}}:Kategorijos pavadinimas). Puslapiai iš jūsų [[Special:Watchlist|stebimųjų sąrašo]] yra <strong>paryškinti</strong>.",
        "recentchangeslinked-page": "Puslapio pavadinimas:",
        "recentchangeslinked-to": "Rodyti su duotuoju puslapiu susijusių puslapių pakeitimus",
        "recentchanges-page-added-to-category": "[[:$1]] pridėta prie kategorijos",
        "whatlinkshere": "Susiję puslapiai",
        "whatlinkshere-title": "Puslapiai, kurie nurodo į „$1“",
        "whatlinkshere-page": "Puslapis:",
-       "linkshere": "Šie puslapiai rodo į '''[[:$1]]''':",
-       "nolinkshere": "Į '''[[:$1]]''' nuorodų nėra.",
-       "nolinkshere-ns": "Nurodytoje vardų srityje nei vienas puslapis nenurodo į '''[[:$1]]'''.",
+       "linkshere-2": "Šie puslapiai rodo į '''$1''':",
+       "nolinkshere-2": "Į '''$1''' nuorodų nėra.",
+       "nolinkshere-ns-2": "Nurodytoje vardų srityje nei vienas puslapis nenurodo į '''$1'''.",
        "isredirect": "nukreipiamasis puslapis",
        "istemplate": "įterpimas",
        "isimage": "rinkmenos nuoroda",
        "fileduplicatesearch-noresults": "Nėra failo pavadinimu \"$1\".",
        "specialpages": "Specialieji puslapiai",
        "specialpages-note-top": "Paaiškinimai",
+       "specialpages-note-restricted": "* Įprasti specialieji puslapiai.\n* <span class=\"mw-specialpagerestricted\">Apriboto pasiekiamumo specialieji puslapiai.</span>",
        "specialpages-group-maintenance": "Sistemos palaikymo pranešimai",
        "specialpages-group-other": "Kiti specialieji puslapiai",
        "specialpages-group-login": "Prisijungti / sukurti paskyrą",
        "gotointerwiki-invalid": "Nurodytas pavadinimas negalimas.",
        "undelete-cantedit": "Negalite atkurti šio puslapio, nes jums neleidžiama redaguoti šio puslapio.",
        "pagedata-title": "Puslapio duomenys",
-       "pagedata-bad-title": "Negalimas pavadinimas: $1."
+       "pagedata-bad-title": "Negalimas pavadinimas: $1.",
+       "passwordpolicies-group": "Grupė"
 }
index b5f808b..ea4bd74 100644 (file)
        "whatlinkshere": "Sasītuos nūruodis",
        "whatlinkshere-title": "Lopys, kuramuos ir saitis iz lopu $1",
        "whatlinkshere-page": "Puslopa:",
-       "linkshere": "Itamuos lopuos ir nūruodis iz lopu '''[[:$1]]''':",
+       "linkshere-2": "Itamuos lopuos ir nūruodis iz lopu '''$1''':",
        "isredirect": "puoradresiešonys puslopa",
        "istemplate": "izsaukts",
        "isimage": "Faila saita",
index 27511a3..97c76b0 100644 (file)
        "whatlinkshere": "Hemi zawmpuite",
        "whatlinkshere-title": "$1-a thlunzawm phêkte",
        "whatlinkshere-page": "Phêk:",
-       "linkshere": "A hnuaia phêkte hian '''[[:$1]]''' hi an thlunzawm:",
-       "nolinkshere": "'''[[:$1]]'''-a zawm phek pakhat mah a awm lo.",
+       "linkshere-2": "A hnuaia phêkte hian '''$1''' hi an thlunzawm:",
+       "nolinkshere-2": "'''$1'''-a zawm phek pakhat mah a awm lo.",
        "isredirect": "Hruailuhna phêk",
        "istemplate": "ziahhnan",
        "isimage": "taksa thlunzawmna",
index 6d099bf..a474cd4 100644 (file)
        "whatlinkshere": "لینکل ئی بألگە",
        "whatlinkshere-title": "بألگل کە لینک دائنە ڤە \"$1\"",
        "whatlinkshere-page": "بألگە:",
-       "linkshere": "لینک ھ بألگل دوٙمین الذیکر ڤە '''[[:$1]]''':",
+       "linkshere-2": "لینک ھ بألگل دوٙمین الذیکر ڤە '''$1''':",
        "isredirect": "بألگە تأغییر مأسیر",
        "istemplate": "ئیستیفادھ ڤابیدھ داخل بألگە",
        "isimage": "لینک ھ فایل",
index 6f4154e..2edaca7 100644 (file)
        "upload-misc-error": "Nezināma augšupielādes kļūda",
        "upload-too-many-redirects": "URL sastāvēja pārāk daudz pāradresāciju",
        "upload-http-error": "HTTP kļūda: $1",
+       "upload-copy-upload-invalid-domain": "Kopēšanas augšupielādes no šī domēna nav pieejamas.",
        "upload-dialog-title": "Augšupielādēt failu",
        "upload-dialog-button-cancel": "Atcelt",
        "upload-dialog-button-back": "Atpakaļ",
        "http-invalid-url": "Nederīgs URL: $1",
        "http-read-error": "HTTP nolasīšanas kļūda.",
        "http-timed-out": "HTTP pieprasījumam ir iestājies noilgums.",
+       "http-curl-error": "Kļūda, nolasot URL: $1",
+       "http-bad-status": "HTTP pieprasījuma laikā atgadījās problēma: $1 $2",
        "upload-curl-error6": "URL nevarēja sasniegt",
        "upload-curl-error28": "Augšupielādes noildze",
        "license": "Licence:",
        "nolicense": "Neviena licence nav izvēlēta",
        "licenses-edit": "Labot licenču izvēles",
        "license-nopreview": "(Priekšskatījums nav pieejams)",
-       "upload_source_url": "(derīgs, publiski pieejams URL)",
+       "upload_source_url": "(tavs izvēlēts fails no derīga, publiski pieejama URL)",
        "upload_source_file": "(tavs izvēlētais fails tavā datorā)",
        "listfiles-delete": "dzēst",
        "listfiles-summary": "Šajā īpašajā lapā ir redzami visi augšupielādētie faili.",
        "nolinkstoimage": "Nevienā lapā nav norāžu uz šo attēlu.",
        "morelinkstoimage": "Skatīt [[Special:WhatLinksHere/$1|vairāk saites]] uz šo failu.",
        "linkstoimage-redirect": "$1 (faila pāradresācija) $2",
+       "duplicatesoffile": "{{PLURAL:$1|1=Šis fails ir šī faila dublikāts|Šie $1 faili ir šī faila dublikāti|Šis $1 fails ir šī faila dublikāts|Šie $1 faili ir šī faila dublikāti}} ([[Special:FileDuplicateSearch/$2|vairāk informācijas]]):",
        "sharedupload": "Šis fails ir augšupielādēts no $1 un ir koplietojams citos projektos.",
        "sharedupload-desc-there": "Fails ir no $1, tāpēc tas var tikt izmantots citos projektos.\nLūdzu, skatīt [$2 faila apraksta lapu] papildu informācijai.",
        "sharedupload-desc-here": "Fails ir no $1, tāpēc tas var tikt izmantots citos projektos.\nApraksts ir [$2 faila apraksta lapā], kas ir parādīta zemāk.",
+       "sharedupload-desc-edit": "Šis fails ir no $1 un var tikt izmantots citos projektos.\nTu vari labot tā aprakstu [$2 faila apraksta lapā].",
        "filepage-nofile": "Ar šādu nosaukumu nav neviena faila.",
        "filepage-nofile-link": "Ar šādu nosaukumu nav neviena faila, bet Jūs varat tādu [$1 augšupielādēt].",
        "uploadnewversion-linktext": "Augšupielādēt jaunu šī faila versiju",
        "whatlinkshere": "Norādes uz šo rakstu",
        "whatlinkshere-title": "Lapas, kurās ir saites uz lapu \"$1\"",
        "whatlinkshere-page": "Lapa:",
-       "linkshere": "Šajās lapās ir norādes uz lapu '''[[:$1]]''':",
-       "nolinkshere": "Nevienā lapā nav norāžu uz lapu '''[[:$1]]'''.",
-       "nolinkshere-ns": "Neviena lapa nenorāda uz '''[[:$1]]''' izvēlētajā vārdtelpā.",
+       "linkshere-2": "Šajās lapās ir norādes uz lapu '''$1''':",
+       "nolinkshere-2": "Nevienā lapā nav norāžu uz lapu '''$1'''.",
+       "nolinkshere-ns-2": "Neviena lapa nenorāda uz '''$1''' izvēlētajā vārdtelpā.",
        "isredirect": "pāradresācijas lapa",
        "istemplate": "izsaukts",
        "isimage": "faila saite",
        "patrol-log-header": "Šis ir pārbaudīto versiju reģistrs.",
        "log-show-hide-patrol": "$1 pārbaudes reģistrs",
        "confirm-markpatrolled-button": "Labi",
+       "confirm-markpatrolled-top": "Atzīmēt lapas \"$2\" versiju $3 kā pārbaudītu?",
        "deletedrevision": "Izdzēstā vecā versija $1",
        "filedeleteerror-short": "Kļūda dzēšot failu: $1",
        "filedeleteerror-long": "Kļūdas, kas radās failu dzēšanas laikā:\n\n$1",
        "newimages-newbies": "Rādīt tikai jaunu dalībnieku devumu",
        "newimages-showbots": "Parādīt botu augšupielādētos failus",
        "newimages-hidepatrolled": "Paslēpt pārbaudītās augšupielādes",
+       "newimages-mediatype": "Medija veids:",
        "noimages": "Nav nekā ko redzēt.",
        "gallery-slideshow-toggle": "Pārslēgt sīktēlus",
        "ilsubmit": "Meklēt",
        "exif-exposureprogram-8": "Ainavu režīms (ainavu fotogrāfijām ar fokusu uz fonu)",
        "exif-subjectdistance-value": "$1 metri",
        "exif-meteringmode-0": "Nav zināms",
+       "exif-meteringmode-3": "Punkta",
+       "exif-meteringmode-4": "Vairāku punktu",
        "exif-meteringmode-255": "Cits",
        "exif-lightsource-0": "Nav zināms",
        "exif-lightsource-1": "Dienas gaisma",
        "version-ext-colheader-license": "Licence",
        "version-ext-colheader-description": "Apraksts",
        "version-ext-colheader-credits": "Autori",
+       "version-license-title": "$1 licence",
+       "version-credits-title": "$1 ieguldījums",
        "version-poweredby-credits": "Šis viki darbojas ar '''[https://www.mediawiki.org/ MediaWiki]''' programmatūru, autortiesības © 2001-$1 $2.",
        "version-poweredby-others": "citi",
        "version-poweredby-translators": "translatewiki.net tulkotāji",
        "fileduplicatesearch-noresults": "Nav atrasts neviens fails ar nosaukumu \"$1\".",
        "specialpages": "Īpašās lapas",
        "specialpages-note-top": "Apzīmējumi",
+       "specialpages-note-restricted": "* Normālas īpašās lapas.\n* <span class=\"mw-specialpagerestricted\">Ierobežotas pieejas īpašās lapas.</span>\n* <span class=\"mw-specialpagecached\">Iekešotās īpašās lapas.</span>",
        "specialpages-group-maintenance": "Uzturēšanas atskaites",
        "specialpages-group-other": "Citas īpašās lapas",
        "specialpages-group-login": "Pieslēgties / izveidot kontu",
        "tag-mw-blank-description": "Labojumi, kas nodzēš lapas saturu",
        "tag-mw-replace": "Aizvietots",
        "tag-mw-replace-description": "Labojumi, kas izņem vairāk kā 90% no lapas satura",
+       "tag-mw-rollback": "Atcelšana",
        "tag-mw-undo": "Atsaukt",
        "tags-title": "Iezīmes",
        "tags-intro": "Šajā lapā uzskaitītas iezīmes, ar kurām programmatūra var atzīmēt labojumus, un to nozīme.",
        "tags-edit-add": "Visas šīs iezīmes:",
        "tags-edit-remove": "Noņemt šīs iezīmes:",
        "tags-edit-remove-all-tags": "(noņemt visas iezīmes)",
+       "tags-edit-chosen-placeholder": "Izvēlies dažas iezīmes",
        "tags-edit-reason": "Iemesls:",
        "comparepages": "Salīdzināt lapas",
        "compare-page1": "1. lapa",
        "revdelete-restricted": "piemērot administratoriem ierobežojumus",
        "revdelete-unrestricted": "noņemt administratoriem ierobežojumus",
        "logentry-block-block": "$1 {{GENDER:$2|nobloķēja}} {{GENDER:$4|$3}} ar beigu termiņu $5 $6",
+       "logentry-block-unblock": "$1 {{GENDER:$2|atbloķēja}} {{GENDER:$4|$3}}",
        "logentry-move-move": "$1 {{GENDER:$2|pārvietoja}} lapu $3 uz $4",
        "logentry-move-move-noredirect": "$1 {{GENDER:$2|pārvietoja}} lapu $3 uz $4, neatstājot pāradresāciju",
        "logentry-move-move_redir": "$1 {{GENDER:$2|pārvietoja}} lapu $3 uz $4, atstājot pāradresāciju",
        "default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (iespējots)",
        "default-skin-not-found-row-disabled": "* <code>$1</code> / $2 (<strong>atspējots</strong>)",
        "mediastatistics-table-mimetype": "MIME tips",
+       "mediastatistics-table-extensions": "Iespējamie paplašinājumi",
        "mediastatistics-table-count": "Failu skaits",
        "mediastatistics-table-totalbytes": "Kopējais izmērs",
        "mediastatistics-header-unknown": "Nav zināms",
        "mediastatistics-header-drawing": "Zīmējumi (vector attēli)",
        "mediastatistics-header-audio": "Audio",
        "mediastatistics-header-video": "Video",
+       "mediastatistics-header-office": "Ofisa",
+       "mediastatistics-header-text": "Teksta",
+       "mediastatistics-header-executable": "Izpildāmi",
+       "mediastatistics-header-archive": "Arhīva formāti",
        "mediastatistics-header-total": "Visi faili",
        "json-error-syntax": "Sintakses kļūda",
        "headline-anchor-title": "Saite uz šo sadaļu",
index c694116..6f9503b 100644 (file)
        "recentchanges-label-plusminus": "所改字節量",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}}([[Special:NewPages|新灶]])",
        "recentchanges-submit": "示",
+       "rcfilters-savedqueries-defaultlabel": "所貯條件",
+       "rcfilters-show-new-changes": "知新",
        "rcnotefrom": "下為自'''$2'''至'''$1'''之易也。",
        "rclistfrom": "自$3 $2起之易也",
        "rcshowhideminor": "$1校",
        "whatlinkshere": "取佐",
        "whatlinkshere-title": "「$1」取佐",
        "whatlinkshere-page": "題",
-       "linkshere": "取佐'''[[:$1]]'''如下:",
-       "nolinkshere": "無頁取佐'''[[:$1]]'''。",
-       "nolinkshere-ns": "名冊內無頁取佐'''[[:$1]]'''。",
+       "linkshere-2": "取佐'''$1'''如下:",
+       "nolinkshere-2": "無頁取佐'''$1'''。",
+       "nolinkshere-ns-2": "名冊內無頁取佐'''$1'''。",
        "isredirect": "渡",
        "istemplate": "含",
        "isimage": "檔佐",
        "fileduplicatesearch-result-1": "案 \"$1\" 無重也。",
        "fileduplicatesearch-result-n": "案 \"$1\" 重有$2。",
        "specialpages": "特查",
+       "specialpages-note-restricted": "* 準特查。\n* <strong class=\"mw-specialpagerestricted\">限特查。</strong>",
        "specialpages-group-maintenance": "護報",
        "specialpages-group-other": "他奇頁",
        "specialpages-group-login": "登/增",
        "htmlform-reset": "復",
        "htmlform-selectorother-other": "他",
        "logentry-delete-delete": "$1 {{GENDER:$2|已削}} 頁 $3",
+       "logentry-delete-revision": "$3一文,$1{{GENDER:$2|藏}}{{PLURAL:$5|a revision|更易凡$5筆}}: $4",
+       "logentry-suppress-revision": "$3一文,$1{{GENDER:$2|陰藏}}{{PLURAL:$5|a revision|更易凡$5筆}}: $4",
        "revdelete-restricted": "應限至有秩",
        "revdelete-unrestricted": "除限自有秩",
        "logentry-newusers-create": "簿$1已{{GENDER:$2|增}}。",
index c1f7582..381e60a 100644 (file)
        "whatlinkshere": "Butʼkʼaşa na ixvenu kʼontʼaktʼepe",
        "whatlinkshere-title": "\"$1\" maddeşa kʼontʼaktʼi na ikips butʼkʼape",
        "whatlinkshere-page": "Butʼkʼa:",
-       "linkshere": "'''[[:$1]]''' butʼkʼaşa kʼontʼaktʼi na ikips butʼkʼape:",
+       "linkshere-2": "'''$1''' butʼkʼaşa kʼontʼaktʼi na ikips butʼkʼape:",
        "isredirect": "redirektʼiş butʼkʼa",
        "istemplate": "okʼatu",
        "isimage": "dosyaşi kʼontʼaktʼi",
index 4dfda8f..63b2084 100644 (file)
        "whatlinkshere": "एतय कोन लिङ्क अछि",
        "whatlinkshere-title": "\"$1\" सँ सम्बन्धित पन्नासभ",
        "whatlinkshere-page": "पन्ना:",
-       "linkshere": "ई सभ पन्ना सम्बन्धित अछि '''[[:$1]]''':",
-       "nolinkshere": "'''[[:$1]]''' पर कोनो पन्नाक लागि नै अछि।",
-       "nolinkshere-ns": "कोनो पन्नाक लागि '''[[:$1]]''' चुनल नामगाममे नै अछि।",
+       "linkshere-2": "ई सभ पन्ना सम्बन्धित अछि '''$1''':",
+       "nolinkshere-2": "'''$1''' पर कोनो पन्नाक लागि नै अछि।",
+       "nolinkshere-ns-2": "कोनो पन्नाक लागि '''$1''' चुनल नामगाममे नै अछि।",
        "isredirect": "पुनर्निर्देशन पृष्ठ",
        "istemplate": "परागत",
        "isimage": "फाइल लिङ्क",
        "fileduplicatesearch-noresults": "कोनो \"$1\" नाम्ना संचिका नै।",
        "specialpages": "विशेष पन्नासभ",
        "specialpages-note-top": "कुंजी",
+       "specialpages-note-restricted": "* सामान्य विशिष्ट पन्ना।\n* <span class=\"mw-specialpagerestricted\">प्रतिबंधित विशिष्ट पन्ना।</span>\n* <span class=\"mw-specialpagecached\">उपस्मृतिक विशिष्ट पन्ना (पुरान भऽ सकैए)।</span>",
        "specialpages-group-maintenance": "सुस्थापन प्रतिवेदन",
        "specialpages-group-other": "दोसर विशेष पन्ना",
        "specialpages-group-login": "सम्प्रवेश/ सम्प्रवेश आवेदन",
index a08fb4e..c5b6f61 100644 (file)
        "whatlinkshere": "Pranala Kaca Kiye",
        "whatlinkshere-title": "Kaca-kaca sing duwe pranala maring \"$1\"",
        "whatlinkshere-page": "Kaca:",
-       "linkshere": "Kaca-kaca kiye duwe pranala maring '''[[:$1]]''':",
-       "nolinkshere": "Ora ana kaca sing nduwé pranala maring '''[[:$1]]'''.",
+       "linkshere-2": "Kaca-kaca kiye duwe pranala maring '''$1''':",
+       "nolinkshere-2": "Ora ana kaca sing nduwé pranala maring '''$1'''.",
        "isredirect": "kaca pangalihan",
        "istemplate": "karo cithakan",
        "isimage": "pranala berkas",
index 22a8eb8..e236da3 100644 (file)
        "whatlinkshere": "Сюлмафкст тяза",
        "whatlinkshere-title": "Лопат конат сюлмафт \"$1\" мархта",
        "whatlinkshere-page": "Лопа:",
-       "linkshere": "Ся лопатне сюлмафт '''[[:$1]]''' мархта:",
-       "nolinkshere": "Лопат, конат сюлмафт '''[[:$1]]''' мархта ашет.",
-       "nolinkshere-ns": "Аш лопат сюлмафт '''[[:$1]]''' мархта  кочкаф лемботмоста.",
+       "linkshere-2": "Ся лопатне сюлмафт '''$1''' мархта:",
+       "nolinkshere-2": "Лопат, конат сюлмафт '''$1''' мархта ашет.",
+       "nolinkshere-ns-2": "Аш лопат сюлмафт '''$1''' мархта  кочкаф лемботмоста.",
        "isredirect": "умборондафтф лопа",
        "istemplate": "сувафтома",
        "isimage": "↓архтофксонь сюлмафкссь",
        "fileduplicatesearch-result-1": "Файлть \"$1\" ашет тяконь кафонзамонза.",
        "fileduplicatesearch-result-n": "Файлть \"$1\" {{PLURAL:$2|1 тяконь кафонзамац|$2 тяконь кафонзаманза}}.",
        "specialpages": "Башка лопат",
+       "specialpages-note-restricted": "* Кърдань башка лопат.\n* <strong class=\"mw-specialpagerestricted\">Кардаф башка лопат.</strong>",
        "specialpages-group-maintenance": "Латцема лувоматне",
        "specialpages-group-other": "Иля башка тевонь лопатне",
        "specialpages-group-login": "Сувамс / сёрматфтомс",
index 22179fe..0467390 100644 (file)
        "whatlinkshere": "Pejy mirohy eto",
        "whatlinkshere-title": "Pejy mirohy any amin'i « $1 »",
        "whatlinkshere-page": "Pejy :",
-       "linkshere": "Ireo pejy ireo dia manana rohy mankany amin'i '''[[:$1]]'''",
-       "nolinkshere": "Tsy nahitana pejy mirohy any amin'i '''[[:$1]]'''.",
-       "nolinkshere-ns": "Tsy nahitana pejy mirohy any amin'i [[:$1]] ao amin'ny anaran-tsehatra nofidiana.",
+       "linkshere-2": "Ireo pejy ireo dia manana rohy mankany amin'i '''$1'''",
+       "nolinkshere-2": "Tsy nahitana pejy mirohy any amin'i '''$1'''.",
+       "nolinkshere-ns-2": "Tsy nahitana pejy mirohy any amin'i $1 ao amin'ny anaran-tsehatra nofidiana.",
        "isredirect": "pejy fihodinana",
        "istemplate": "tsofo-pejy",
        "isimage": "rohy mankany amin'ilay rakitra",
        "fileduplicatesearch-result-n": "Misy rakitra {{PLURAL:}}$2 mitovy amin'i « $1 ».",
        "specialpages": "Pejy manokana",
        "specialpages-note-top": "Maribolana",
+       "specialpages-note-restricted": "* Pejy manokana tsotra\n* <span class=\"mw-specialpagerestricted\">Pejy manokana voafetra ara-pijey.</span>",
        "specialpages-group-maintenance": "laogy hikojakojana",
        "specialpages-group-other": "Pejy manokana hafa",
        "specialpages-group-login": "Hiditra / hisoratra anarana",
index ab164a4..c9c2dc7 100644 (file)
        "whatlinkshere": "Тышке кондышо кылвер-влак",
        "whatlinkshere-title": "\"$1\" дене лаштык-влак кылым палемдат",
        "whatlinkshere-page": "Лаштык:",
-       "linkshere": "'''[[:$1]]''' лаштык дене кылдалтше лаштык-влак:",
-       "nolinkshere": "'''[[:$1]]''' лаштык дене тетла нимогай лаштык кылдалтын огыл",
-       "nolinkshere-ns": "Тыгай лӱм-влакын кумдыкышто '''[[:$1]]''' лаштык дене нимогай лаштык-влак огыт кылдалт.",
+       "linkshere-2": "'''$1''' лаштык дене кылдалтше лаштык-влак:",
+       "nolinkshere-2": "'''$1''' лаштык дене тетла нимогай лаштык кылдалтын огыл",
+       "nolinkshere-ns-2": "Тыгай лӱм-влакын кумдыкышто '''$1''' лаштык дене нимогай лаштык-влак огыт кылдалт.",
        "isredirect": "вес вере колтышо лаштык",
        "istemplate": "пуртымаш",
        "isimage": "файлыш кылвер",
index 62ccc4f..81c9e84 100644 (file)
        "whatlinkshere": "Pautan baliak",
        "whatlinkshere-title": "Laman nan takaik ka \"$1\"",
        "whatlinkshere-page": "Laman:",
-       "linkshere": "Laman-laman ko bakaik ka '''[[:$1]]''':",
-       "nolinkshere": "Indak ado laman nan punyo tautan ka '''[[:$1]]'''.",
-       "nolinkshere-ns": "Indak ado pautan laman ka '''[[:$1]]''' pado ruang namo nan dipiliah.",
+       "linkshere-2": "Laman-laman ko bakaik ka '''$1''':",
+       "nolinkshere-2": "Indak ado laman nan punyo tautan ka '''$1'''.",
+       "nolinkshere-ns-2": "Indak ado pautan laman ka '''$1''' pado ruang namo nan dipiliah.",
        "isredirect": "laman pangaliahan",
        "istemplate": "transklusi",
        "isimage": "pautan berkas",
        "fileduplicatesearch-result-n": "Berkas \"$1\" ado {{PLURAL:$2|$2 duplikat nan samo}}.",
        "fileduplicatesearch-noresults": "Indak basobok berkas banamo \"$1\".",
        "specialpages": "Laman istimewa",
+       "specialpages-note-restricted": "* Laman istimewa normal.\n* <span class=\"mw-specialpagerestricted\">Laman istimewa talarang.</span>\n* <span class=\"mw-specialpagecached\">Laman istimewa tasinggah (mungkin usang).</span>",
        "specialpages-group-maintenance": "Laporan pamaliharoan",
        "specialpages-group-other": "Lain-lain",
        "specialpages-group-login": "Masuak log / mandaftar",
index fc259b2..b55fb55 100644 (file)
        "protectedtitles-submit": "Прикажи наслови",
        "listusers": "Список на корисници",
        "listusers-editsonly": "Прикажи само корисници кои уредувале",
+       "listusers-temporarygroupsonly": "Прикажи само корисници во привремени кориснички групи",
        "listusers-creationsort": "Подреди по датум на создавање",
        "listusers-desc": "Подреди по надолен редослед",
        "usereditcount": "$1 {{PLURAL:$1|уредување|уредувања}}",
        "whatlinkshere": "Што води овде",
        "whatlinkshere-title": "Страници со врски што водат до „$1“",
        "whatlinkshere-page": "Страница:",
-       "linkshere": "Следните страници водат кон „'''[[:$1]]'''“:",
-       "nolinkshere": "Нема страници што водат кон '''[[:$1]]'''.",
-       "nolinkshere-ns": "Нема страници што водат кон '''[[:$1]]''' во избраниот именски простор.",
+       "linkshere-2": "Следните страници водат кон „'''$1'''“:",
+       "nolinkshere-2": "Нема страници што водат кон '''$1'''.",
+       "nolinkshere-ns-2": "Нема страници што водат кон '''$1''' во избраниот именски простор.",
        "isredirect": "пренасочувачка страница",
        "istemplate": "превметнување",
        "isimage": "врска до податотеката",
        "pagedata-text": "Страницава дава посредник за податоци за страниците. Укажете го насловот на страницата во URL-то, користејќи ја синтаксата за потстраници.\n* Префрлањето на содржината се заснова на заглавието Прифати на вашиот клиент. Ова значи дека податоците за страницата ќе бидат ставени во форматот кој го претпочита вашиот клиент.",
        "pagedata-not-acceptable": "Не најдов соодветен формат. Поддржани MIME-типови: $1",
        "pagedata-bad-title": "Неважечки наслов: $1.",
-       "unregistered-user-config": "Од безбедносни причини, корисничките потстраници со JavaScript, CSS и JSON не се вчитуваат за нерегистрирани корисници."
+       "unregistered-user-config": "Од безбедносни причини, корисничките потстраници со JavaScript, CSS и JSON не се вчитуваат за нерегистрирани корисници.",
+       "passwordpolicies": "Правила за лозинки",
+       "passwordpolicies-summary": "Ова е список на делотворни правила за лозинки за корисничките групи определени на ова вики.",
+       "passwordpolicies-group": "Група",
+       "passwordpolicies-policies": "Правила",
+       "passwordpolicies-policy-minimalpasswordlength": "Лозинката мора да има барем $1 {{PLURAL:$1|знак|знаци}}",
+       "passwordpolicies-policy-minimumpasswordlengthtologin": "Лозинката мора да има барем $1 {{PLURAL:$1|знак|знаци}} за да можете да се најавите",
+       "passwordpolicies-policy-passwordcannotmatchusername": "Лозинката не може да биде иста што и корисничкото име",
+       "passwordpolicies-policy-passwordcannotmatchblacklist": "Лозинката не смее да биде од оние на црниот список",
+       "passwordpolicies-policy-maximalpasswordlength": "Лозинката не треба да има повеќе од $1 {{PLURAL:$1|знак|знаци}}",
+       "passwordpolicies-policy-passwordcannotbepopular": "Лозинката не треба да биде {{PLURAL:$1|најзастапената|од списокот на $1 најзастапени лозинки}}"
 }
index bfd785d..75bf700 100644 (file)
        "subject-preview": "വിഷയം എങ്ങനെയുണ്ടെന്ന് കാണുക:",
        "previewerrortext": "താങ്കളുടെ മാറ്റങ്ങൾ എങ്ങനെയുണ്ടെന്ന് കാണാൻ ശ്രമിച്ചപ്പോൾ പിഴവുണ്ടായി.",
        "blockedtitle": "ഉപയോക്താവിനെ തടഞ്ഞിരിക്കുന്നു",
-       "blockedtext": "'''താങ്കളുടെ ഉപയോക്തൃനാമത്തേയോ താങ്കൾ ഇപ്പോൾ ലോഗിൻ ചെയ്തിട്ടുള്ള ഐ.പി. വിലാസത്തേയോ ഈ വിക്കി തിരുത്തുന്നതിൽ നിന്നു തടഞ്ഞിരിക്കുന്നു'''\n\n$1 ആണ് ഈ തടയൽ നടത്തിയത്. ''$2'' എന്നതാണു് അതിനു രേഖപ്പെടുത്തിയിട്ടുള്ള കാരണം.\n\n* തടയലിന്റെ തുടക്കം: $8\n* തടയലിന്റെ കാലാവധി: $6\n* തടയപ്പെട്ട ഉപയോക്താവ്: $7\n\nഈ തടയലിനെ പറ്റി ചർച്ച ചെയ്യാൻ താങ്കൾക്ക് $1 എന്ന ഉപയോക്താവിനേയോ മറ്റ് [[{{MediaWiki:Grouppage-sysop}}|കാര്യനിർവാഹകരെയോ]] സമീപിക്കാവുന്നതാണ്. [[Special:Preferences|താങ്കളുടെ ക്രമീകരണങ്ങളിൽ]] താങ്കൾ സാധുവായ ഇമെയിൽ വിലാസം കൊടുത്തിട്ടുണ്ടെങ്കിൽ, അതു അയക്കുന്നതിൽ നിന്നു താങ്കൾ തടയപ്പെട്ടിട്ടില്ലെങ്കിൽ, 'ഇദ്ദേഹത്തിന് ഇമെയിൽ അയക്കൂ' എന്ന സം‌വിധാനം ഉപയോഗിച്ച് താങ്കൾക്ക് മറ്റുപയോക്താക്കളുമായി ബന്ധപ്പെടാം. താങ്കളുടെ നിലവിലുള്ള ഐ.പി. വിലാസം $3 ഉം, താങ്കളുടെ തടയൽ ഐ.ഡി. #$5 ഉം ആണ്. ഇവ രണ്ടും താങ്കൾ കാര്യനിർവാഹകനെ ബന്ധപ്പെടുമ്പോൾ ചേർക്കുക.",
-       "autoblockedtext": "താങ്കളുടെ ഐ.പി. വിലാസം സ്വയം തടയപ്പെട്ടിരിക്കുന്നു, മറ്റൊരു ഉപയോക്താവ് ഉപയോഗിച്ച കാരണത്താൽ $1 എന്ന കാര്യനിർവാഹകനാണ് തടഞ്ഞുവെച്ചത്.\nഇതിനു കാരണമായി നൽകിയിട്ടുള്ളത്:\n\n:''$2''\n\n* തടയൽ തുടങ്ങിയത്: $8\n* തടയൽ അവസാനിക്കുന്നത്: $6\n* തടയാൻ ഉദ്ദേശിച്ചത്: $7\n\nഈ തടയലിനെ കുറിച്ച് ചർച്ച ചെയ്യാൻ താങ്കൾക്കു $1 എന്ന കാര്യനിവാഹകനേയോ മറ്റു [[{{MediaWiki:Grouppage-sysop}}|കാര്യനിർവാഹകരെയോ]] ബന്ധപ്പെടാവുന്നതാണ്.\n\nശ്രദ്ധിക്കുക [[Special:Preferences|താങ്കളുടെ ക്രമീകരണങ്ങളിൽ]] സാധുവായ ഇമെയിൽ വിലാസം രേഖപ്പെടുത്താതിരിക്കുകയോ, അത് ഉപയോഗിക്കുന്നതിൽ നിന്ന് താങ്കളെ തടയുകയോ ചെയ്തിട്ടുണ്ടെങ്കിൽ \"ഇദ്ദേഹത്തിന് ഇമെയിൽ അയക്കൂ\" എന്ന സം‌വിധാനം പ്രവർത്തന രഹിതമായിരിക്കും.\n\nതാങ്കളുടെ നിലവിലുള്ള ഐ.പി. വിലാസം $3 ആണ്, താങ്കളുടെ തടയലിന്റെ ഐ.ഡി. #$5 ആകുന്നു.\nദയവായി മുകളിൽ കൊടുത്തിരിക്കുന്ന വിവരങ്ങളെല്ലാം താങ്കൾ നടത്തുന്ന അന്വേഷണങ്ങളിൽ ഉൾപ്പെടുത്തുവാൻ ശ്രദ്ധിക്കുക.",
+       "blockedtext": "<strong>താങ്കളുടെ ഉപയോക്തൃനാമത്തേയോ താങ്കൾ ഇപ്പോൾ ലോഗിൻ ചെയ്തിട്ടുള്ള ഐ.പി. വിലാസത്തേയോ ഈ വിക്കി തിരുത്തുന്നതിൽ നിന്നു തടഞ്ഞിരിക്കുന്നു</strong>\n\n$1 ആണ് ഈ തടയൽ നടത്തിയത്. <em>$2</em> എന്നതാണു് അതിനു രേഖപ്പെടുത്തിയിട്ടുള്ള കാരണം.\n\n* തടയലിന്റെ തുടക്കം: $8\n* തടയലിന്റെ കാലാവധി: $6\n* തടയപ്പെട്ട ഉപയോക്താവ്: $7\n\nഈ തടയലിനെ പറ്റി ചർച്ച ചെയ്യാൻ താങ്കൾക്ക് $1 എന്ന ഉപയോക്താവിനേയോ മറ്റ് [[{{MediaWiki:Grouppage-sysop}}|കാര്യനിർവാഹകരെയോ]] സമീപിക്കാവുന്നതാണ്. [[Special:Preferences|താങ്കളുടെ ക്രമീകരണങ്ങളിൽ]] താങ്കൾ സാധുവായ ഇമെയിൽ വിലാസം കൊടുത്തിട്ടുണ്ടെങ്കിൽ, അതു അയക്കുന്നതിൽ നിന്നു താങ്കൾ തടയപ്പെട്ടിട്ടില്ലെങ്കിൽ, \"{{int:emailuser}}\" എന്ന സം‌വിധാനം ഉപയോഗിച്ച് താങ്കൾക്ക് മറ്റുപയോക്താക്കളുമായി ബന്ധപ്പെടാം. താങ്കളുടെ നിലവിലുള്ള ഐ.പി. വിലാസം $3 ഉം, താങ്കളുടെ തടയൽ ഐ.ഡി. #$5 ഉം ആണ്. ഇവ രണ്ടും താങ്കൾ കാര്യനിർവാഹകനെ ബന്ധപ്പെടുമ്പോൾ ചേർക്കുക.",
+       "autoblockedtext": "താങ്കളുടെ ഐ.പി. വിലാസം സ്വയം തടയപ്പെട്ടിരിക്കുന്നു, മറ്റൊരു ഉപയോക്താവ് ഉപയോഗിച്ച കാരണത്താൽ $1 എന്ന കാര്യനിർവാഹകനാണ് തടഞ്ഞുവെച്ചത്.\nഇതിനു കാരണമായി നൽകിയിട്ടുള്ളത്:\n\n:<em>$2</em>\n\n* തടയൽ തുടങ്ങിയത്: $8\n* തടയൽ അവസാനിക്കുന്നത്: $6\n* തടയാൻ ഉദ്ദേശിച്ചത്: $7\n\nഈ തടയലിനെ കുറിച്ച് ചർച്ച ചെയ്യാൻ താങ്കൾക്കു $1 എന്ന കാര്യനിവാഹകനേയോ മറ്റു [[{{MediaWiki:Grouppage-sysop}}|കാര്യനിർവാഹകരെയോ]] ബന്ധപ്പെടാവുന്നതാണ്.\n\nശ്രദ്ധിക്കുക [[Special:Preferences|താങ്കളുടെ ക്രമീകരണങ്ങളിൽ]] സാധുവായ ഇമെയിൽ വിലാസം രേഖപ്പെടുത്താതിരിക്കുകയോ, അത് ഉപയോഗിക്കുന്നതിൽ നിന്ന് താങ്കളെ തടയുകയോ ചെയ്തിട്ടുണ്ടെങ്കിൽ \"{{int:emailuser}}\" എന്ന സം‌വിധാനം പ്രവർത്തന രഹിതമായിരിക്കും.\n\nതാങ്കളുടെ നിലവിലുള്ള ഐ.പി. വിലാസം $3 ആണ്, താങ്കളുടെ തടയലിന്റെ ഐ.ഡി. #$5 ആകുന്നു.\nദയവായി മുകളിൽ കൊടുത്തിരിക്കുന്ന വിവരങ്ങളെല്ലാം താങ്കൾ നടത്തുന്ന അന്വേഷണങ്ങളിൽ ഉൾപ്പെടുത്തുവാൻ ശ്രദ്ധിക്കുക.",
        "systemblockedtext": "താങ്കളുടെ ഉപയോക്തൃനാമം അല്ലെങ്കിൽ ഐ.പി. വിലാസം മീഡിയവിക്കി സ്വയം തടഞ്ഞിരിക്കുന്നു.\nതടയാനുള്ള കാരണം:\n\n:<em>$2</em>\n\n* തടയൽ തുടങ്ങിയത്: $8\n* തടയൽ കാലഹരണപ്പെടുന്നത്: $6\n* തടയാനുദ്ദേശിച്ചയാൾ: $7\n\nതാങ്കളുടെ നിലവിലെ ഐ.പി. വിലാസം $3 ആണ്.\nതാങ്കൾക്കെന്തെങ്കിലും ചോദ്യങ്ങളുണ്ടെങ്കിൽ മുകളിലെ എല്ലാ വിവരങ്ങളും ഉൾപ്പെടുത്തുക.",
        "blockednoreason": "കാരണമൊന്നും സൂചിപ്പിച്ചിട്ടില്ല",
        "whitelistedittext": "താളുകൾ തിരുത്താൻ താങ്കൾ $1 ചെയ്യേണ്ടതാണ്",
        "whatlinkshere": "ഈ താളിലേക്കുള്ള കണ്ണികൾ",
        "whatlinkshere-title": "\"$1\" എന്ന താളിലേക്കുള്ള കണ്ണികൾ",
        "whatlinkshere-page": "താൾ:",
-       "linkshere": "താഴെക്കൊടുത്തിരിക്കുന്ന താളുകളിൽ നിന്നും '''[[:$1]]''' എന്ന താളിലേക്ക് കണ്ണികളുണ്ട്:",
-       "nolinkshere": "'''[[:$1]]''' എന്ന താളിലേക്ക് കണ്ണികളൊന്നും നിലവിലില്ല.",
-       "nolinkshere-ns": "തിരഞ്ഞെടുത്ത നാമമേഖലയിൽ '''[[:$1]]''' എന്ന താളിലേക്ക് മറ്റൊരു താളുകളിൽനിന്നും കണ്ണികളില്ല.",
+       "linkshere-2": "താഴെക്കൊടുത്തിരിക്കുന്ന താളുകളിൽ നിന്നും '''$1''' എന്ന താളിലേക്ക് കണ്ണികളുണ്ട്:",
+       "nolinkshere-2": "'''$1''' എന്ന താളിലേക്ക് കണ്ണികളൊന്നും നിലവിലില്ല.",
+       "nolinkshere-ns-2": "തിരഞ്ഞെടുത്ത നാമമേഖലയിൽ '''$1''' എന്ന താളിലേക്ക് മറ്റൊരു താളുകളിൽനിന്നും കണ്ണികളില്ല.",
        "isredirect": "തിരിച്ചുവിടൽ താൾ",
        "istemplate": "ഉൾപ്പെടുത്തൽ",
        "isimage": "പ്രമാണത്തിന്റെ കണ്ണി",
index bc64d1c..113c30f 100644 (file)
        "whatlinkshere": "Энд холбогдсон хуудсууд",
        "whatlinkshere-title": "\"$1\"-д холбоостой хуудаснууд",
        "whatlinkshere-page": "Хуудас:",
-       "linkshere": "Дараах хуудсууд '''[[:$1]]'''-тай холбогдсон байна:",
-       "nolinkshere": "'''[[:$1]]'''-тай холбогдсон хуудас байхгүй байна.",
-       "nolinkshere-ns": "Сонгосон нэрний зайд '''[[:$1]]''' руу холбогдсон хуудас байхгүй байна.",
+       "linkshere-2": "Дараах хуудсууд '''$1'''-тай холбогдсон байна:",
+       "nolinkshere-2": "'''$1'''-тай холбогдсон хуудас байхгүй байна.",
+       "nolinkshere-ns-2": "Сонгосон нэрний зайд '''$1''' руу холбогдсон хуудас байхгүй байна.",
        "isredirect": "чиглүүлэгч",
        "istemplate": "оруулалт",
        "isimage": "файлын холбоос",
        "fileduplicatesearch-noresults": "\"$1\" нэртэй файл олдсонгүй.",
        "specialpages": "Тусгай хуудсууд",
        "specialpages-note-top": "Томъёолбор",
+       "specialpages-note-restricted": "* Ердийн тусгай хуудсууд.\n* <strong class=\"mw-specialpagerestricted\">Хориотой тусгай хуудсууд.</strong>",
        "specialpages-group-maintenance": "Засвар үйлчилгээний тайлангууд",
        "specialpages-group-other": "Бусад тусгай хуудсууд",
        "specialpages-group-login": "Нэвтрэх / бүртгүүлэх",
index 5fb8c78..e860acb 100644 (file)
        "whatlinkshere": "येथे काय जोडले आहे",
        "whatlinkshere-title": "\"$1\" ला जुळलेली पाने",
        "whatlinkshere-page": "पान:",
-       "linkshere": "खालील लेख '''[[:$1]]''' या पानांशी जोडले आहेत:",
-       "nolinkshere": "'''[[:$1]]''' येथे कोणत्याही पानांचे दुवे नाहीत.",
-       "nolinkshere-ns": "निवडलेल्या नामविश्वातील कोणतीही पाने <strong>[[:$1]]</strong>ला दुवा देत नाहीत .",
+       "linkshere-2": "खालील लेख '''$1''' या पानांशी जोडले आहेत:",
+       "nolinkshere-2": "'''$1''' येथे कोणत्याही पानांचे दुवे नाहीत.",
+       "nolinkshere-ns-2": "निवडलेल्या नामविश्वातील कोणतीही पाने <strong>$1</strong>ला दुवा देत नाहीत .",
        "isredirect": "पुनर्निर्देशित पान",
        "istemplate": "आंतर्न्यास (ट्रांसक्लूजन)",
        "isimage": "संचिका दुवा",
index 771c077..96132fd 100644 (file)
        "whatlinkshere": "Pautan ke laman ini",
        "whatlinkshere-title": "Laman yang mengandungi pautan ke \"$1\"",
        "whatlinkshere-page": "Laman:",
-       "linkshere": "Laman-laman berikut mengandungi pautan ke '''[[:$1]]''':",
-       "nolinkshere": "Tiada laman yang mengandungi pautan ke '''[[:$1]]'''.",
-       "nolinkshere-ns": "Tiada laman yang mengandungi pautan ke '''[[:$1]]''' dalam ruang nama yang dinyatakan.",
+       "linkshere-2": "Laman-laman berikut mengandungi pautan ke '''$1''':",
+       "nolinkshere-2": "Tiada laman yang mengandungi pautan ke '''$1'''.",
+       "nolinkshere-ns-2": "Tiada laman yang mengandungi pautan ke '''$1''' dalam ruang nama yang dinyatakan.",
        "isredirect": "laman lencongan",
        "istemplate": "penyertaan",
        "isimage": "pautan fail",
        "fileduplicatesearch-noresults": "Tidak ada gambar-gambar dengan nama \"$1\" dijumpai.",
        "specialpages": "Laman khas",
        "specialpages-note-top": "Petunjuk",
+       "specialpages-note-restricted": "* Laman khas biasa.\n* <span class=\"mw-specialpagerestricted\">Laman khas terhad.</span>",
        "specialpages-group-maintenance": "Laporan penyenggaraan",
        "specialpages-group-other": "Laman khas lain",
        "specialpages-group-login": "Log masuk / buka akaun",
index 958bdae..e67b778 100644 (file)
        "whatlinkshere": "Li jwasslu 'l hawn",
        "whatlinkshere-title": "Paġni li jippuntaw lejn $1",
        "whatlinkshere-page": "Paġna:",
-       "linkshere": "Il-paġni segwenti jorbtu lejn '''[[:$1]]''':",
-       "nolinkshere": "L-ebda paġna ma twassal għal '''[[:$1]]'''.",
-       "nolinkshere-ns": "L-ebda paġna ma tipponta lejn '''[[:$1]]''' fl-ispazju tal-isem magħżul.",
+       "linkshere-2": "Il-paġni segwenti jorbtu lejn '''$1''':",
+       "nolinkshere-2": "L-ebda paġna ma twassal għal '''$1'''.",
+       "nolinkshere-ns-2": "L-ebda paġna ma tipponta lejn '''$1''' fl-ispazju tal-isem magħżul.",
        "isredirect": "paġna ta' rindirizz",
        "istemplate": "inklużjoni",
        "isimage": "ħolqa lejn il-fajl",
        "fileduplicatesearch-noresults": "Ma nstab l-ebda fajl bl-isem \"$1\".",
        "specialpages": "Paġni speċjali",
        "specialpages-note-top": "Leġġenda",
+       "specialpages-note-restricted": "* Paġni speċjali normali.\n* <span class=\"mw-specialpagerestricted\">Paġni speċjali ristretti.</span>",
        "specialpages-group-maintenance": "Rapporti ta' manutenzjoni",
        "specialpages-group-other": "Paġni speċjali oħrajn",
        "specialpages-group-login": "Idħol / oħloq kont",
index 516b4fc..297cde8 100644 (file)
        "whatlinkshere": "L que lhiga eiqui",
        "whatlinkshere-title": "Páiginas que lhígan a \"$1\"",
        "whatlinkshere-page": "Páigina:",
-       "linkshere": "Estas páiginas ténen lhigaçones pa <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Nun eisisten lhigaçones pa '''[[:$1]]'''.",
+       "linkshere-2": "Estas páiginas ténen lhigaçones pa <strong>$1</strong>:",
+       "nolinkshere-2": "Nun eisisten lhigaçones pa '''$1'''.",
        "isredirect": "páigina de ancaminamiento",
        "istemplate": "ancluson",
        "isimage": "lhigaçon pa l fexeiro",
index 397c965..912a2b6 100644 (file)
        "whatlinkshere": "ဘယ်ကလင့်ခ်ထားလဲ",
        "whatlinkshere-title": "\"$1\" သို့ ချိတ်ဆက်ထားသော စာမျက်နှာများ",
        "whatlinkshere-page": "စာမျက်နှာ -",
-       "linkshere": "အောက်ပါစာမျက်နှာများသည် <strong>[[:$1]]</strong> သို့ ချိတ်ဆက်ထားသည် -",
-       "nolinkshere": "'''[[:$1]]''' သို့ လင့်ထားသော စာမျက်နှာ မရှိပါ။",
+       "linkshere-2": "အောက်ပါစာမျက်နှာများသည် <strong>$1</strong> သို့ ချိတ်ဆက်ထားသည် -",
+       "nolinkshere-2": "'''$1''' သို့ လင့်ထားသော စာမျက်နှာ မရှိပါ။",
        "isredirect": "ပြန်ညွှန်းသော စာမျက်နှာ",
        "istemplate": "ထည့်သွင်းကူးယူချက်",
        "isimage": "ဖိုင်လင့်",
index c78c814..903c2c4 100644 (file)
        "whatlinkshere": "Мезе тезэнь сюлмави",
        "whatlinkshere-title": "$1 марто сюлмазь лопатне",
        "whatlinkshere-page": "Лопась:",
-       "linkshere": "Сыця лопатьне сюлмававить '''[[:$1]]''' марто:",
-       "nolinkshere": "Кодаткак лопат асульмавить '''[[:$1]]''' марто.",
+       "linkshere-2": "Сыця лопатьне сюлмававить '''$1''' марто:",
+       "nolinkshere-2": "Кодаткак лопат асульмавить '''$1''' марто.",
        "isredirect": "Лиякс витнинк-петнинк лопанть",
        "istemplate": "совавтомс",
        "isimage": "файлань сюлмавома пене",
index 2aeac60..b4e276f 100644 (file)
        "whatlinkshere": "لینک‌ئون ِاینتا صفحه",
        "whatlinkshere-title": "وألـگ‌ئونی که \"$1\" ره لـیـنک هه‌دانه",
        "whatlinkshere-page": "صفحه:",
-       "linkshere": "اینان صفحه‌ئون به '''[[:$1]]''' لینک هدانه:",
+       "linkshere-2": "اینان صفحه‌ئون به '''$1''' لینک هدانه:",
        "isredirect": "دکشی‌ین صفحه",
        "istemplate": "تراگنجانش‌ئون",
        "isimage": "فایل ِلینک",
index e7aa2ae..1f1925d 100644 (file)
        "whatlinkshere": "In tlein quitzonhuilia nican",
        "whatlinkshere-title": "Zāzaniltin quitzonhuiliah $1",
        "whatlinkshere-page": "Tlahcuilolamatl:",
-       "linkshere": "Inīn zāzaniltin quitzonhuiliah '''[[:$1]]''' īhuīc:",
-       "nolinkshere": "Ahtle quitzonhuilia '''[[:$1]]''' īhuīc.",
+       "linkshere-2": "Inīn zāzaniltin quitzonhuiliah '''$1''' īhuīc:",
+       "nolinkshere-2": "Ahtle quitzonhuilia '''$1''' īhuīc.",
        "isredirect": "Tlacueptli tlahcuilolamatl",
        "isimage": "īxiptlahtli tzonhuiliztli",
        "whatlinkshere-prev": "{{PLURAL:$1|achtopa|$1 achtopa}}",
        "fileduplicatesearch-submit": "Tlatemoliztli",
        "fileduplicatesearch-info": "$1 × $2 pixelli<br />Tlahcuilōlli īxquichiliz: $3<br />MIME iuhcāyōtl: $4",
        "specialpages": "Noncuahquizqui tlahcuilolli",
+       "specialpages-note-restricted": "* Yeliztli nōncuahquīzqui āmatl.\n* <span class=\"mw-specialpagerestricted\">Tlaquīxtīlli nōncuahquīzqui āmatl.</span>\n* <span class=\"mw-specialpagecached\">Tlatlātīlli nōncuahquīzqui āmatl (aocmo monemitīa).</span>",
        "specialpages-group-other": "Oksẻki nònkuâkìskàtlaìxtlapaltìn",
        "specialpages-group-login": "Ximocalaqui / ximomachiyōmaca",
        "specialpages-group-changes": "Yancuīc tlapatlaliztli īhuān tlahcuilōlloh",
index f7fcfc6..93069ae 100644 (file)
        "whatlinkshere": "Tó-ūi liân kàu chia",
        "whatlinkshere-title": "Liân khì \"$1\" ê ia̍h-bīn",
        "whatlinkshere-page": "Ia̍h:",
-       "linkshere": "Í-hā '''[[:$1]]''' liân kàu chia:",
-       "nolinkshere": "Bô poàⁿ ia̍h liân kàu '''[[:$1]]'''.",
+       "linkshere-2": "Í-hā '''$1''' liân kàu chia:",
+       "nolinkshere-2": "Bô poàⁿ ia̍h liân kàu '''$1'''.",
        "isredirect": "choán-ia̍h",
        "isimage": "tóng-àn liân-kiat",
        "whatlinkshere-prev": "{{PLURAL:$1|chêng|chêng $1 ê}}",
index 09f09f2..443bb11 100644 (file)
        "redirectedfrom": "(Redirect 'a $1)",
        "redirectpagesub": "Paggena 'e redirect",
        "redirectto": "Reindirizza a:",
-       "lastmodifiedat": "Sta paggena fuje, n'urdema vota, cagnàta 'o $1, 'e $2.",
+       "lastmodifiedat": "Sta paggena fuje cagnàta ll'urdema vota 'o $1, 'e $2.",
        "viewcount": "Chesta paggena è stata liggiùta {{PLURAL:$1|una vòta|$1 vòte}}.",
        "protectedpage": "Paggena prutetta",
        "jumpto": "Vaje a:",
        "subject-preview": "Anteprimma 'e l'oggetto:",
        "previewerrortext": "È succiesso n'errore quanno se steva a ffà pre-veré 'e cagnamiente vuoste.",
        "blockedtitle": "Utente bloccato.",
-       "blockedtext": "<strong>'O nomme utente o ll'IP vuosto è stato bloccato.</strong>\n\n'O blocco è stato mpustato 'a $1. 'O mutivo d' 'o blocco è chesto: ''$2''\n\n* Abbiàta d' 'o blocco: $8\n* Ammaturità d' 'o blocco: $6\n* Tiempo 'e blocco: $7\n\nPutite cuntattà $1 o n'atu [[{{MediaWiki:Grouppage-sysop}}|ammenistratore]] pe' discutere 'o blocco.\n\nVedite c' 'a funzione 'Scrivete a ll'utente' nun è attiva si nun s'è riggistrato 'o ndirizzo e-mail buono dint' 'e [[Special:Preferences|preferenze]] o pùre si ll'uso 'e tale funzione è stato bloccato.\n\n'O ndirizzo IP attuale è $3, 'o nummero ID d' 'o blocco è #$5.\nPe' piacere avite 'e specificà tutte sti dettaglie ccà ncoppa quanno facite cocche dumanna.",
+       "blockedtext": "<strong>'O nomme utente o ll'IP vuosto è stato bloccato.</strong>\n\n'O blocco è stato mpustato 'a $1. 'O mutivo d' 'o blocco è chisto: ''$2''\n\n* Abbiàta d' 'o blocco: $8\n* Ammaturità d' 'o blocco: $6\n* Tiempo 'e blocco: $7\n\nPutite cuntattà $1 o n'atu [[{{MediaWiki:Grouppage-sysop}}|ammenistratore]] pe discutere d'ô blocco.\n\nVedite c' 'a funzione \"{{int:emailuser}}\" nun è attiva si nun s'ave riggistrato 'o ndirizzo e-mail buono dint' 'e [[Special:Preferences|preferenze]] o pùre si ll'uso 'e tale funzione è stato bloccato.\n\n'O ndirizzo IP 'e mo è $3, 'o nummero ID d' 'o blocco è #$5.\nPe piacere avite 'a specificà tutte sti dettaglie quanno facite carche dumanna.",
        "autoblockedtext": "Ll'IP vuosto è stato bloccato pecché 'o steva piglianno n'atu utente, ch'è stato bloccato pe' $1.\n\n'O mutivo d' 'o blocco è chesto:\n\n:''$2''\n\n* Abbiàta d' 'o blocco: $8\n* Ammaturità d' 'o blocco: $6\n* Tiempo 'e blocco: $7\n\nPutite cuntattà $1 o n'atu [[{{MediaWiki:Grouppage-sysop}}|ammenistratore]] pe' discutere 'o blocco.\n\nVedite c' 'a funzione 'Scrivete a ll'utente' nun è attiva si nun s'è riggistrato 'o ndirizzo e-mail buono dint' 'e [[Special:Preferences|preferenze]] o pùre si ll'uso 'e tale funzione è stato bloccato.\n\n'O ndirizzo IP attuale è $3, 'o nummero ID d' 'o blocco è #$5.\nPe' piacere avite 'e specificà tutte sti dettaglie ccà ncoppa quanno facite cocche dumanna.",
        "systemblockedtext": "'O nomme utente d' 'o vuosto o ll'IP address fosse stata automaticamente bluccata 'a MediaWiki.\n'O mutivo fosse chesto:\n\n:<em>$2</em>\n\n* Inizio d' 'o blocco: $8\n* Ammatura 'o blocco: $6\n* Intervall' 'e blocco: $7\n\n'O indirizzo IP 'e mò fosse $3.\nPe' piacere, facite specifice tuttuquante 'e ddettaglie ccà quanno iate a ghienchere na richiesta 'e chiarimiente.",
        "blockednoreason": "nisciuna ragione è stata indicata",
        "recentchangeslinked-feed": "Cagnamiénte cullegate",
        "recentchangeslinked-toolbox": "Cagnamiénte cullegate",
        "recentchangeslinked-title": "Cagnamiénte cullegate a \"$1\"",
-       "recentchangeslinked-summary": "Chest'è n'alenco d' 'e cagnamiente fatte mò a 'e paggene cullegate 'a chilla specificata (o pe' cuntenute dint'a na categurìa specificata). 'E paggene cuntenute dint' 'o proprio elenco 'e l'[[Special:Watchlist|Paggene cuntrullate]] songo mmustate 'n '''grassetto'''.",
+       "recentchangeslinked-summary": "Nzerta nu nomme 'e paggena pe verè 'e cagnamiente fatte ê paggene cullegate 'a chella specificata (pe verè ll'elementi 'e na categurìa, scrivi {{ns:category}}:Nomme categurìa). 'E cagnamiente cuntenute dint' 'a ll'elenco 'e l'[[Special:Watchlist|Paggene cuntrullate]] songo mmustate c'ô '''grassetto'''.",
        "recentchangeslinked-page": "Nomme d' 'a paggena",
        "recentchangeslinked-to": "Mmusta sulamente 'e cagnamiente a 'e paggene cullegate a chilla specificata",
        "recentchanges-page-added-to-category": "[[:$1]] azzeccato â categurìa",
        "unwatchthispage": "Nun cuntrullà cchiù sta paggena",
        "notanarticle": "Chesta paggena nun è na voce",
        "notvisiblerev": "'A verzione è stata scancellata",
-       "watchlist-details": "L'elenco 'e paggene cuntrullate tene {{PLURAL:$1|na paggena (e pure 'a paggena 'e chiacchiera)|$1 paggene (e pure 'e ppaggene 'e chiacchiera}}.",
+       "watchlist-details": "L'elenco 'e paggene cuntrullate tene {{PLURAL:$1|na paggena (e pure 'a paggena 'e chiacchiera)|$1 paggene (e pure 'e ppaggene 'e chiacchiera)}}.",
        "wlheader-enotif": "'A funzione 'e notifiche e-mail è appicciata.",
        "wlheader-showupdated": "* 'E paggene cca so' state cagnate a l'urdema visita avevano so' nzignate ccà 'n '''grassetto'''.",
        "wlnote": "Ccà abbascio {{PLURAL:$1|è elencato 'o cagnamiento cchiù ricente|songo elencate 'e <strong>$1</strong> cagnamiente cchiù recente}} {{PLURAL:$2|int'a ll'urdema ora|int' 'e ll'urdeme <strong>$2</strong> ore}}; 'e date songo agghiurnate 'o $3, $4.",
        "whatlinkshere": "Paggene ca cullegano a chesta",
        "whatlinkshere-title": "Paggene ca cullegano a $1",
        "whatlinkshere-page": "Paggena:",
-       "linkshere": "'E paggene ccà abbascio cunteneno jonte ca spuntano a '''[[:$1]]'''.",
-       "nolinkshere": "Nisciuna paggena cuntene jonte ca spuntasse a <strong>[[:$1]]</strong>.",
-       "nolinkshere-ns": "Nun ce stanno paggene ca spuntassero '''[[:$1]]''' dint' 'o namespace scigliuto.",
+       "linkshere-2": "'E paggene ccà abbascio cunteneno jonte ca spuntano a '''$1'''.",
+       "nolinkshere-2": "Nisciuna paggena cuntene jonte ca spuntasse a <strong>$1</strong>.",
+       "nolinkshere-ns-2": "Nun ce stanno paggene ca spuntassero '''$1''' dint' 'o namespace scigliuto.",
        "isredirect": "redirect a paggena",
        "istemplate": "'nclusione",
        "isimage": "Cullegamente a file multimediale",
        "blocklist-nousertalk": "nun può cagnà 'a paggena 'e chiacchiera d' 'a soja",
        "ipblocklist-empty": "'A lista 'e blocche è abbacante.",
        "ipblocklist-no-results": "L'indirizzo IP o nomme utente c'asciate nun songo bloccate.",
-       "blocklink": "ferma",
+       "blocklink": "fremma",
        "unblocklink": "sblocca",
        "change-blocklink": "càgna blocco",
        "contribslink": "contribuzzione",
        "blocklogpage": "Blocche",
        "blocklog-showlog": "St'utente è stato bloccato primma.\n'O riggistro d' 'e blocche se può vedé ccà abbascio pe' riferimento:",
        "blocklog-showsuppresslog": "St'utente è stato bloccato e annascunuto primma.\n'O riggistro d' 'e luvamiente se può vedé ccà abbascio pe' riferimento:",
-       "blocklogentry": "ha fermato \"[[$1]]\" pe' nu mumento 'e $2 $3",
+       "blocklogentry": "ha fremmato \"[[$1]]\" pe nu mumento 'e $2 $3",
        "reblock-logentry": "cagnate 'e mpustaziune 'e blocco pe' [[$1]] cu na data d'ammaturamiento 'e $2 $3",
        "blocklogtext": "Chesta è 'a lista d''e azzione 'e blocco e sblocco utente.  'E nnerizze IP bloccate automaticamente nun nce so'. Addumannà 'a [[Special:BlockList|lista bloccate]] pp' 'a lista d''e nnerizze e nomme utente 'o ca blocco nce sta.",
        "unblocklogentry": "sbluccato $1",
        "tooltip-pt-anoncontribs": "N'elenco 'e cagnamiente fatte 'a st'indirizzo IP",
        "tooltip-pt-login": "A reggistrazione è cunsigliata",
        "tooltip-pt-logout": "Jésce (logout)",
-       "tooltip-pt-createaccount": "Pigliateve curaggio e criate n'utente e trasìte; ancora ca chisto nun s'avesse 'a ffà pe' fforza",
+       "tooltip-pt-createaccount": "Pigliateve curaggio e criate n'utente e trasìte; eziamme ca chisto nun s'avesse 'a ffà pe' fforza",
        "tooltip-ca-talk": "Vede e discussione rilative a chista paggena",
        "tooltip-ca-edit": "Cagna sta paggena",
        "tooltip-ca-addsection": "Cummincia 'na nova sezzione",
        "tooltip-n-mainpage": "Visita a paggena prencepale",
        "tooltip-n-mainpage-description": "Visita a paggena prencepale",
        "tooltip-n-portal": "Descrizione d' 'o prugietto, che po' ffa, addò truvà 'e ccose",
-       "tooltip-n-currentevents": "Ascìa 'e nfurmaziune ncopp' 'e fatte succiesse mò mò",
+       "tooltip-n-currentevents": "Ascìa 'e nfurmaziune ncopp' 'e fatte succiesse mo mmo",
        "tooltip-n-recentchanges": "Ennece dde urdeme cagnamiénte d' 'o sito",
        "tooltip-n-randompage": "Na paggena qualsiase",
        "tooltip-n-help": "Paggena 'e ajùto",
        "tooltip-t-info": "Cchiù nfurmaziune ncopp'a sta paggena",
        "tooltip-t-upload": "Carreca file",
        "tooltip-t-specialpages": "Lista 'e tutte e paggene speciale",
-       "tooltip-t-print": "Vversione pe' stampa 'e chista paggena",
+       "tooltip-t-print": "Vversione pe stampà 'a chesta paggena",
        "tooltip-t-permalink": "Jonta permanente a chista vversione dda paggena",
        "tooltip-ca-nstab-main": "Vere a paggena e contenuto",
        "tooltip-ca-nstab-user": "Vere a paggena utente",
        "tooltip-watchlistedit-raw-submit": "Agghiurna l'elenco 'e paggene cuntrullate",
        "tooltip-recreate": "Arricrèa 'e paggene pure si so state scancellate",
        "tooltip-upload": "Accummencia 'a carreca",
-       "tooltip-rollback": "\"A vascio\" annulla 'e modefeche 'e chista paggena ell'ultimo contributore cu n' uneco click",
+       "tooltip-rollback": "\"A vascio\" annulla 'e cagnamiente a chesta paggena a ll'ultimo contributore cu nu click sulo",
        "tooltip-undo": "\"Annulla\" annulla stu cagnamiento e arape 'u form 'e cagnamiento facenno vedé l'anteprimma.\nPermette azzeccà nu mutivo dint' 'o riepilego.",
        "tooltip-preferences-save": "Riggistra 'e preferenze",
        "tooltip-summary": "Miette nu riepilego piccerillo",
        "fileduplicatesearch-noresults": "Nisciuno file chiamato \"$1\" è stato accucchiato.",
        "specialpages": "Paggene speciale",
        "specialpages-note-top": "Liggenda",
+       "specialpages-note-restricted": "* Paggene speciale normale.\n* <span class=\"mw-specialpagerestricted\">Paggene speciale ch' 'e restriziune.</span>",
        "specialpages-group-maintenance": "Report 'e manutenzione",
        "specialpages-group-other": "Ati paggene speciale",
        "specialpages-group-login": "Trasite o criate n'acciesso nuovo",
index 8cb49f4..303f4e1 100644 (file)
        "botpasswords-existing": "Eksisterende robotpassord",
        "botpasswords-createnew": "Opprett et nytt robotpassord",
        "botpasswords-editexisting": "Redigere et eksisterende robotpassord",
+       "botpasswords-label-needsreset": "(passordet må settes på nytt)",
        "botpasswords-label-appid": "Robotnavn:",
        "botpasswords-label-create": "Opprett",
        "botpasswords-label-update": "Oppdater",
        "botpasswords-restriction-failed": "Begrensninger for robotpassord tillater ikke denne innloggingen.",
        "botpasswords-invalid-name": "Det angitte brukernavnet inneholder ikke separasjonstegnet for robotpassord (\"$1\").",
        "botpasswords-not-exist": "Brukeren \"$1\" har ikke noe robotpassord for \"$2\".",
+       "botpasswords-needs-reset": "Botpassordet for botnavnet «$2» for {{GENDER:$1|brukeren}} «$1» må settes på nytt.",
        "resetpass_forbidden": "Passord kan ikke endres",
        "resetpass_forbidden-reason": "Passordene kan ikke endres: $1",
        "resetpass-no-info": "Du må være logget inn for å gå til denne siden direkte",
        "protectedtitles-submit": "Vis titler",
        "listusers": "Brukerliste",
        "listusers-editsonly": "Vis bare brukere med redigeringer",
+       "listusers-temporarygroupsonly": "Vis kun brukere i midlertidige brukergrupper",
        "listusers-creationsort": "Sorter etter opprettelsesdato",
        "listusers-desc": "Sorter i synkende rekkefølge",
        "usereditcount": "{{PLURAL:$1|én redigering|$1 redigeringer}}",
        "whatlinkshere": "Lenker hit",
        "whatlinkshere-title": "Sider som lenker til «$1»",
        "whatlinkshere-page": "Side:",
-       "linkshere": "Følgende sider lenker til '''[[:$1]]''':",
-       "nolinkshere": "Ingen sider lenker til '''[[:$1]]'''.",
-       "nolinkshere-ns": "Ingen sider lenker til '''[[:$1]]''' i valgte navnerom.",
+       "linkshere-2": "Følgende sider lenker til '''$1''':",
+       "nolinkshere-2": "Ingen sider lenker til '''$1'''.",
+       "nolinkshere-ns-2": "Ingen sider lenker til '''$1''' i valgte navnerom.",
        "isredirect": "omdirigeringsside",
        "istemplate": "transklusjon",
        "isimage": "fillenke",
        "pagedata-title": "Sidedata",
        "pagedata-text": "Denne siden gir et datagrensesnitt til sidene. Oppgi en sidetittel i URL-en, med undersidesyntaks.\n* Innholdsforhandlingen er basert på din klients Accept-header. Dette betyr at data for siden blir angitt på formatet som foretrekkes av din klient.",
        "pagedata-not-acceptable": "Ingen passende format funnet. Støttede MIME-typer: $1",
-       "pagedata-bad-title": "Ugyldig tittel: $1."
+       "pagedata-bad-title": "Ugyldig tittel: $1.",
+       "passwordpolicies-group": "Gruppe",
+       "passwordpolicies-policy-minimalpasswordlength": "Passordet må være på minst $1 {{PLURAL:$1|tegn}}.",
+       "passwordpolicies-policy-minimumpasswordlengthtologin": "Passordet må være på minst $1 {{PLURAL:$1|tegn}} for å kunne logge inn",
+       "passwordpolicies-policy-passwordcannotmatchusername": "Passordet kan ikke være det samme som brukernavnet",
+       "passwordpolicies-policy-passwordcannotmatchblacklist": "Passordet kan ikke matche spesifikt svartelistede passord",
+       "passwordpolicies-policy-maximalpasswordlength": "Passordet må være på minst $1 {{PLURAL:$1|tegn}}",
+       "passwordpolicies-policy-passwordcannotbepopular": "Passordet kan ikke være {{PLURAL:$1|det populære passordet|i lista over $1 populære passord}}"
 }
index d394c0c..c7cc0c6 100644 (file)
        "whatlinkshere": "Verwysingen hyrhinne",
        "whatlinkshere-title": "Ziejen die verwiezen naor \"$1\"",
        "whatlinkshere-page": "Zied:",
-       "linkshere": "Disse ziejen verwiezen naor '''[[:$1]]''':",
-       "nolinkshere": "Gien enkele zied verwis naor '''[[:$1]]'''.",
-       "nolinkshere-ns": "Gien enkele zied verwis naor '''[[:$1]]''' in de ekeuzen naamruumte.",
+       "linkshere-2": "Disse ziejen verwiezen naor '''$1''':",
+       "nolinkshere-2": "Gien enkele zied verwis naor '''$1'''.",
+       "nolinkshere-ns-2": "Gien enkele zied verwis naor '''$1''' in de ekeuzen naamruumte.",
        "isredirect": "deurverwiezing",
        "istemplate": "in-evoegd as mal",
        "isimage": "bestaandsverwiezing",
        "fileduplicatesearch-noresults": "Der is gien bestaand mit de naam \"$1\" evunnen.",
        "specialpages": "Speciale syden",
        "specialpages-note-top": "Legenda",
+       "specialpages-note-restricted": "* Normale spesiale ziejen.\n* <span class=\"mw-specialpagerestricted\">Beparkt toegankelike spesiale ziejen.</span>",
        "specialpages-group-maintenance": "Onderhoudsliesten",
        "specialpages-group-other": "Aandere spesiale ziejen",
        "specialpages-group-login": "Anmelden / inschrieven",
index 27d9101..b5b6faa 100644 (file)
        "whatlinkshere": "Wat wiest na disse Siet hen",
        "whatlinkshere-title": "Sieden, de na „$1“ wiest",
        "whatlinkshere-page": "Siet:",
-       "linkshere": "Disse Sieden wiest na '''„[[:$1]]“''':",
-       "nolinkshere": "Kene Siet wiest na '''„[[:$1]]“'''.",
-       "nolinkshere-ns": "Kene Sieden wiest na '''[[:$1]]''' in’n utwählten Naamruum.",
+       "linkshere-2": "Disse Sieden wiest na '''„$1“''':",
+       "nolinkshere-2": "Kene Siet wiest na '''„$1“'''.",
+       "nolinkshere-ns-2": "Kene Sieden wiest na '''$1''' in’n utwählten Naamruum.",
        "isredirect": "Wiederleiden",
        "istemplate": "inbunnen dör Vörlaag",
        "isimage": "Dateilenk",
        "fileduplicatesearch-result-1": "To de Datei „$1“ gifft dat keen Datei, de jüst gliek is.",
        "fileduplicatesearch-result-n": "To de Datei „$1“ gifft dat {{PLURAL:$2|ene Datei, de jüst gliek is|$2 Datein, de jüst gliek sünd}}.",
        "specialpages": "Sünnerliche Sieden",
+       "specialpages-note-restricted": "* Normale Spezialsieden\n* <strong class=\"mw-specialpagerestricted\">Spezialsieden för Brukers mit mehr Rechten</strong>",
        "specialpages-group-maintenance": "Pleeglisten",
        "specialpages-group-other": "Annere Spezialsieden",
        "specialpages-group-login": "Anmellen",
index 914c8f9..1e22e2a 100644 (file)
        "whatlinkshere": "यहाँ के जोडिन्छ",
        "whatlinkshere-title": "$1 सँग जोडिएका पानाहरू",
        "whatlinkshere-page": "पृष्ठ:",
-       "linkshere": "निम्न पृष्ठहरू '''[[:$1]]''' मा जोडिन्छ :",
-       "nolinkshere": " '''[[:$1]]'''मा लिंक भएका कुनै पृष्ठहरू छैनन्",
-       "nolinkshere-ns": "चुनिएको नामस्थानमा '''[[:$1]]''' सित जोडिने पृष्ठहरू छैनन्।",
+       "linkshere-2": "निम्न पृष्ठहरू '''$1''' मा जोडिन्छ :",
+       "nolinkshere-2": " '''$1'''मा लिंक भएका कुनै पृष्ठहरू छैनन्",
+       "nolinkshere-ns-2": "चुनिएको नामस्थानमा '''$1''' सित जोडिने पृष्ठहरू छैनन्।",
        "isredirect": "अनुप्रेषित पृष्ठ",
        "istemplate": "पारदर्शिता",
        "isimage": "फाइल लिङ्क",
        "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": "प्रवेश गर्ने / नयाँ खाता बनाउने",
index 83e855f..fbf250f 100644 (file)
        "botpasswords-existing": "Bestaande botwachtwoorden",
        "botpasswords-createnew": "Een nieuw botwachtwoord aanmaken",
        "botpasswords-editexisting": "Een bestaand botwachtwoord bewerken",
+       "botpasswords-label-needsreset": "(wachtwoord moet opnieuw worden ingesteld)",
        "botpasswords-label-appid": "Naam van bot:",
        "botpasswords-label-create": "Aanmaken",
        "botpasswords-label-update": "Bijwerken",
        "botpasswords-restriction-failed": "Botwachtwoordbeperkingen maken het aanmelden onmogelijk.",
        "botpasswords-invalid-name": "De gebruikersnaam bevat niet het scheidingsteken van het botwachtwoord (\"$1\").",
        "botpasswords-not-exist": "Gebruiker \"$1\" heeft geen botwachtwoord genaamd \"$2\"",
+       "botpasswords-needs-reset": "Het botwachtwoord voor botnaam \"$2\" van {{GENDER:$1|gebruiker}} \"$1\" moet opnieuw worden ingesteld.",
        "resetpass_forbidden": "Wachtwoorden kunnen niet gewijzigd worden",
        "resetpass_forbidden-reason": "Wachtwoorden kunnen niet gewijzigd worden: $1",
        "resetpass-no-info": "U dient aangemeld zijn voordat u deze pagina kunt gebruiken.",
        "previewerrortext": "Er is een fout opgetreden tijdens het weergeven van uw wijzigingen.",
        "blockedtitle": "Gebruiker is geblokkeerd",
        "blockedtext": "'''Uw gebruikersaccount of IP-adres is geblokkeerd.'''\n\nDe blokkade is uitgevoerd door $1.\nDe opgegeven reden is ''$2''.\n\n* Aanvang blokkade: $8\n* Einde blokkade: $6\n* Bedoeld te blokkeren: $7\n\nU kunt contact opnemen met $1 of een andere [[{{MediaWiki:Grouppage-sysop}}|beheerder]] om de blokkade te bespreken.\nU kunt geen gebruik maken van de functie \"{{int:emailuser}}\", tenzij u een geldig e-mailadres hebt opgegeven in uw [[Special:Preferences|voorkeuren]] en het gebruik van deze functie niet geblokkeerd is.\nUw huidige IP-adres is $3 en het blokkadenummer is #$5.\nVermeld alle bovenstaande gegevens als u ergens op deze blokkade reageert.",
-       "autoblockedtext": "Uw IP-adres is automatisch geblokkeerd, omdat het gebruikt is door een andere gebruiker, die geblokkeerd is door $1.\nDe opgegeven reden is:\n\n:''$2''\n\n* Aanvang blokkade: $8\n* Einde blokkade: $6\n* Bedoeld te blokkeren: $7\n\nU kunt contact opnemen met $1 of een andere [[{{MediaWiki:Grouppage-sysop}}|beheerder]] om de blokkade te bespreken.\n\nU kunt geen gebruik maken van de functie \"{{ing:emailuser}}\", tenzij u een geldig e-mailadres hebt opgegeven in uw [[Special:Preferences|voorkeuren]], en het gebruik van deze functie niet is geblokkeerd.\n\nUw huidige IP-adres is $3 en het blokkadenummer is #$5.\nVermeld alle bovenstaande gegevens als u ergens op deze blokkade reageert.",
+       "autoblockedtext": "Uw IP-adres is automatisch geblokkeerd, omdat het gebruikt is door een andere gebruiker, die geblokkeerd is door $1.\nDe opgegeven reden is:\n\n:''$2''\n\n* Aanvang blokkade: $8\n* Einde blokkade: $6\n* Bedoeld te blokkeren: $7\n\nU kunt contact opnemen met $1 of een andere [[{{MediaWiki:Grouppage-sysop}}|beheerder]] om de blokkade te bespreken.\n\nU kunt geen gebruik maken van de functie \"{{int:emailuser}}\", tenzij u een geldig e-mailadres hebt opgegeven in uw [[Special:Preferences|voorkeuren]], en het gebruik van deze functie niet is geblokkeerd.\n\nUw huidige IP-adres is $3 en het blokkadenummer is #$5.\nVermeld alle bovenstaande gegevens als u ergens op deze blokkade reageert.",
        "systemblockedtext": "Uw gebruikersaccount of IP-adres is automatisch geblokkeerd door MediaWiki.\nDe opgegeven reden is:\n\n:<em>$2</em>\n\n* Aanvang blokkade: $8\n* Einde blokkade: $6\n* Bedoeld te blokkeren: $7\n\nUw huidige IP-adres is $3.\nVermeld alle bovenstaande gegevens als u ergens op deze blokkade reageert.",
        "blockednoreason": "geen reden opgegeven",
        "whitelistedittext": "U moet $1 om pagina's te bewerken.",
        "protectedtitles-submit": "Paginanamen weergeven",
        "listusers": "Gebruikerslijst",
        "listusers-editsonly": "Alleen gebruikers met bewerkingen weergeven",
+       "listusers-temporarygroupsonly": "Toon alleen gebruikers in tijdelijke gebruikersgroepen",
        "listusers-creationsort": "Sorteren op registratiedatum",
        "listusers-desc": "Sorteren in aflopende volgorde",
        "usereditcount": "$1 {{PLURAL:$1|bewerking|bewerkingen}}",
        "whatlinkshere": "Verwijzingen naar deze pagina",
        "whatlinkshere-title": "Pagina's die verwijzen naar \"$1\"",
        "whatlinkshere-page": "Pagina:",
-       "linkshere": "De volgende pagina's verwijzen naar '''[[:$1]]''':",
-       "nolinkshere": "Geen enkele pagina verwijst naar '''[[:$1]]'''.",
-       "nolinkshere-ns": "Geen enkele pagina in de gekozen naamruimte verwijst naar '''[[:$1]]'''.",
+       "linkshere-2": "De volgende pagina's verwijzen naar '''$1''':",
+       "nolinkshere-2": "Geen enkele pagina verwijst naar '''$1'''.",
+       "nolinkshere-ns-2": "Geen enkele pagina in de gekozen naamruimte verwijst naar '''$1'''.",
        "isredirect": "doorverwijspagina",
        "istemplate": "ingevoegd als sjabloon",
        "isimage": "bestandskoppeling",
        "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 deelpagina.\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.",
-       "unregistered-user-config": "Vanwege veiligheidsredenen wordt worden gebruikersdeelpagina's met JavaScript, CSS en JSON niet langer geladen voor gebruikers die niet zijn geregistreerd."
+       "unregistered-user-config": "Vanwege veiligheidsredenen wordt worden gebruikersdeelpagina's met JavaScript, CSS en JSON niet langer geladen voor gebruikers die niet zijn geregistreerd.",
+       "passwordpolicies": "Wachtwoordbeleid",
+       "passwordpolicies-summary": "Dit is een lijst met de wachtwoordbeleidvormen die van toepassing zijn op de gebruikersgroepen van deze wiki.",
+       "passwordpolicies-group": "Groep",
+       "passwordpolicies-policies": "Beleid",
+       "passwordpolicies-policy-minimalpasswordlength": "Wachtwoord moet ten minste {{PLURAL:$1|$1 teken|$1 tekens}} bevatten",
+       "passwordpolicies-policy-minimumpasswordlengthtologin": "Wachtwoord moet ten minste {{PLURAL:$1|$1 teken|$1 tekens}} bevatten om te mogen aanmelden",
+       "passwordpolicies-policy-passwordcannotmatchusername": "Wachtwoord mag niet hetzelfde zijn als de gebruikersnaam",
+       "passwordpolicies-policy-passwordcannotmatchblacklist": "Wachtwoord mag niet overeenkomen met wachtwoorden op de zwarte lijst",
+       "passwordpolicies-policy-maximalpasswordlength": "Wachtwoord moet minder dan $1 {{PLURAL:$1|teken|tekens}} bevatten",
+       "passwordpolicies-policy-passwordcannotbepopular": "Watchwoord mag niet {{PLURAL:$1|overeenkomen met het bekende wachtwoord|voorkomen in de lijst met $1 bekende wachtwoorden}}"
 }
index fcd18d5..72ebc90 100644 (file)
        "whatlinkshere": "Lenkjer hit",
        "whatlinkshere-title": "Sider som har lenkje til «$1»",
        "whatlinkshere-page": "Side:",
-       "linkshere": "Desse sidene har lenkjer til '''[[:$1]]''':",
-       "nolinkshere": "Ingen sider har lenkjer til '''[[:$1]]'''.",
-       "nolinkshere-ns": "Ingen sider har lenkje til '''[[:$1]]''' i det valde namnerommet.",
+       "linkshere-2": "Desse sidene har lenkjer til '''$1''':",
+       "nolinkshere-2": "Ingen sider har lenkjer til '''$1'''.",
+       "nolinkshere-ns-2": "Ingen sider har lenkje til '''$1''' i det valde namnerommet.",
        "isredirect": "omdirigeringsside",
        "istemplate": "inkludert som mal",
        "isimage": "fillenkje",
        "fileduplicatesearch-noresults": "Fann inga fil med namnet «$1».",
        "specialpages": "Spesialsider",
        "specialpages-note-top": "Tyding",
+       "specialpages-note-restricted": "* Vanlege spesialsider.\n* <span class=\"mw-specialpagerestricted\">Spesialsider med avgrensa tilgang.</span>",
        "specialpages-group-maintenance": "Vedlikehaldsrapportar",
        "specialpages-group-other": "Andre spesialsider",
        "specialpages-group-login": "Logga inn / oppretta brukarkonto",
index a2a5427..702f91e 100644 (file)
        "whatlinkshere": "Ke eng yeo e hlomaganyago mo",
        "whatlinkshere-title": "Matlakala a go hlomaganya go \"$1\"",
        "whatlinkshere-page": "Letlakala:",
-       "linkshere": "Matlaka a latelago a hlomaganya le '''[[:$1]]''':",
-       "nolinkshere": "Ga go letlakala leo le hlomaganyago go '''[[:$1]]'''.",
+       "linkshere-2": "Matlaka a latelago a hlomaganya le '''$1''':",
+       "nolinkshere-2": "Ga go letlakala leo le hlomaganyago go '''$1'''.",
        "isredirect": "''redirect'' letlakala",
        "istemplate": "tsentšho",
        "isimage": "Hlomaganyo ya Faele",
index a575d20..239d754 100644 (file)
        "whatlinkshere": "natj beda nitja",
        "whatlinkshere-title": "Bibol beda $1",
        "whatlinkshere-page": "Bibol:",
-       "linkshere": "Ngawaliny bibol beda-ang <strong>[[:$1]]</strong>",
-       "nolinkshere": "Uart bibol beda <strong>[[:$1]]</strong>.",
+       "linkshere-2": "Ngawaliny bibol beda-ang <strong>$1</strong>",
+       "nolinkshere-2": "Uart bibol beda <strong>$1</strong>.",
        "isredirect": "Dtallangiritch bibol",
        "istemplate": "transclusion",
        "isimage": "file beda",
index 20f022a..400d86a 100644 (file)
        "whatlinkshere": "Paginas ligadas a aquesta",
        "whatlinkshere-title": "Paginas que puntan cap a « $1 »",
        "whatlinkshere-page": "Pagina :",
-       "linkshere": "Las paginas çaijós contenon un ligam cap a '''[[:$1]]''':",
-       "nolinkshere": "Cap de pagina conten pas de ligam cap a '''[[:$1]]'''.",
-       "nolinkshere-ns": "Cap de pagina conten pas de ligam cap a '''[[:$1]]''' dins l’espaci de nom causit.",
+       "linkshere-2": "Las paginas çaijós contenon un ligam cap a '''$1''':",
+       "nolinkshere-2": "Cap de pagina conten pas de ligam cap a '''$1'''.",
+       "nolinkshere-ns-2": "Cap de pagina conten pas de ligam cap a '''$1''' dins l’espaci de nom causit.",
        "isredirect": "pagina de redireccion",
        "istemplate": "inclusion",
        "isimage": "ligam cap al fichièr",
        "fileduplicatesearch-noresults": "Cap de fichièr nomenat « $1 » es pas estat trobat.",
        "specialpages": "Paginas especialas",
        "specialpages-note-top": "Legenda",
+       "specialpages-note-restricted": "* Paginas especialas normalas.\n* <span class=\"mw-specialpagerestricted\">Paginas especialas restrentas.</span>",
        "specialpages-group-maintenance": "Rapòrts de mantenença",
        "specialpages-group-other": "Autras paginas especialas",
        "specialpages-group-login": "S'identificar / s'inscriure",
index e6412b9..f2433a8 100644 (file)
        "whatlinkshere": "Linkit tänne",
        "whatlinkshere-title": "Sivut, kudamat kosketah sivuu \"$1\"",
        "whatlinkshere-page": "Sivu:",
-       "linkshere": "Nämmä sivut linkittiäkseh sivuh <strong>[[:$1]]</strong>:",
+       "linkshere-2": "Nämmä sivut linkittiäkseh sivuh <strong>$1</strong>:",
        "isredirect": "uvvellehohjavussivu",
        "istemplate": "sizällyttämine",
        "isimage": "failan linku",
index b7503ec..06aa815 100644 (file)
        "whatlinkshere": "ଏଠାରେ ଥିବା ଲିଙ୍କ",
        "whatlinkshere-title": "\"$1\" କୁ ପୃଷ୍ଠା ଲିଙ୍କ",
        "whatlinkshere-page": "ପୃଷ୍ଠା:",
-       "linkshere": "ଏହି ପୃଷ୍ଠା ସବୁ  <strong>[[:$1]]</strong> ସହ ଯୋଡ଼ା ଯାଇଅଛି:",
-       "nolinkshere": "'''[[:$1]]''' ସହିତ କୌଣସିଟି ପୃଷ୍ଠା ଯୋଡ଼ାଯାଇନାହିଁ ।",
-       "nolinkshere-ns": "ବଛା ଯାଇଥିବା ନେମସ୍ପେସରେ '''[[:$1]]''' ନାଆଁ ସହ କୌଣସି ବି ପୃଷ୍ଠା ଯୋଡ଼ାଯାଇନାହିଁ ।",
+       "linkshere-2": "ଏହି ପୃଷ୍ଠା ସବୁ  <strong>$1</strong> ସହ ଯୋଡ଼ା ଯାଇଅଛି:",
+       "nolinkshere-2": "'''$1''' ସହିତ କୌଣସିଟି ପୃଷ୍ଠା ଯୋଡ଼ାଯାଇନାହିଁ ।",
+       "nolinkshere-ns-2": "ବଛା ଯାଇଥିବା ନେମସ୍ପେସରେ '''$1''' ନାଆଁ ସହ କୌଣସି ବି ପୃଷ୍ଠା ଯୋଡ଼ାଯାଇନାହିଁ ।",
        "isredirect": "ଆଉଥରେ ଫେରିବା ପୃଷ୍ଠା",
        "istemplate": "ଆଧାର ସହ ଭିତରେ ରଖିବା",
        "isimage": "ଫାଇଲର ଲିଙ୍କ",
        "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": "ଲଗ-ଇନ (Log in)/ ନୂଆ ଖାତା ଖୋଲିବେ (Sign up)",
index 554b2b4..dea5c69 100644 (file)
        "whatlinkshere": "Чи æрвиты ардæм",
        "whatlinkshere-title": "Фæрстæ, кæдон æрвитынц ардæм: «$1»",
        "whatlinkshere-page": "Фарс:",
-       "linkshere": "Ацы фæрстæ æрвитынц '''[[:$1|{{grammar:allative|$1}}]]''':",
-       "nolinkshere": "Никæцы фарс æрвиты ардæм: '''[[:$1]]'''.",
-       "nolinkshere-ns": "Амынд номдоны мидæг никæцы фарс æрвиты ардæм <strong>[[:$1]]</strong>.",
+       "linkshere-2": "Ацы фæрстæ æрвитынц '''$1''':",
+       "nolinkshere-2": "Никæцы фарс æрвиты ардæм: '''$1'''.",
+       "nolinkshere-ns-2": "Амынд номдоны мидæг никæцы фарс æрвиты ардæм <strong>$1</strong>.",
        "isredirect": "æрвитæн фарс",
        "istemplate": "æфтыдæй",
        "isimage": "файлмæ æрвитæн",
index 32fbc0b..af9527f 100644 (file)
        "whatlinkshere": "ਇੱਥੇ ਕੀ ਆ ਕੇ ਜੁੜਦਾ ਹੈ",
        "whatlinkshere-title": "$1 ਨਾਲ ਜੋੜਨ ਵਾਲੇ ਸਫ਼ੇ",
        "whatlinkshere-page": "ਸਫ਼ਾ:",
-       "linkshere": "ਇਹ ਪੰਨੇ '''[[:$1]]''' ਨਾਲ ਜੋੜਦੇ ਹਨ:",
-       "nolinkshere": "ਕੋਈ ਵੀ ਸਫ਼ਾ '''[[:$1]]''' ਨਾਲ ਨਹੀਂ ਜੋੜਦਾ।",
+       "linkshere-2": "ਇਹ ਪੰਨੇ '''$1''' ਨਾਲ ਜੋੜਦੇ ਹਨ:",
+       "nolinkshere-2": "ਕੋਈ ਵੀ ਸਫ਼ਾ '''$1''' ਨਾਲ ਨਹੀਂ ਜੋੜਦਾ।",
        "isredirect": "ਰੀਡਿਰੈਕਟ ਸਫ਼ਾ",
        "istemplate": "ਟਾਕਰਾ ਕਰੋ",
        "isimage": "ਫ਼ਾਈਲ ਲਿੰਕ",
index e8d4495..4b23940 100644 (file)
        "whatlinkshere": "Deng pakasuglung keti",
        "whatlinkshere-title": "Deng bulung a makasuglung king \"$1\"",
        "whatlinkshere-page": "Bulung:",
-       "linkshere": "Pakasuglung la king '''[[:$1]]''' deng makatuking bulung:",
-       "nolinkshere": "Alang bulung a makasuglung king '''[[:$1]]'''.",
-       "nolinkshere-ns": "Alang bulung a makatuglung king '''[[:$1]]''' ketang mepiling pirinan lagyu (namespace).",
+       "linkshere-2": "Pakasuglung la king '''$1''' deng makatuking bulung:",
+       "nolinkshere-2": "Alang bulung a makasuglung king '''$1'''.",
+       "nolinkshere-ns-2": "Alang bulung a makatuglung king '''$1''' ketang mepiling pirinan lagyu (namespace).",
        "isredirect": "Bulung ning pamanaliling direksiun",
        "istemplate": "misingit",
        "isimage": "Isuglung king larawan",
index 089fc13..ca5abff 100644 (file)
        "whatlinkshere": "Cha lie quoé ichi",
        "whatlinkshere-title": "Paches qu'il ont des loïens aveuc \"$1\"",
        "whatlinkshere-page": "Pache:",
-       "linkshere": "Chés paches-lo il sont érliées à '''[[:$1]]''':",
-       "nolinkshere": "i n'y o poin d'pache aveuc un loïen vers  '''[[:$1]]'''.",
-       "nolinkshere-ns": "i n'y o poin d'pache aveuc un loïen vers '''[[:$1]]''' dins echl'éspace d'noms coési.",
+       "linkshere-2": "Chés paches-lo il sont érliées à '''$1''':",
+       "nolinkshere-2": "i n'y o poin d'pache aveuc un loïen vers  '''$1'''.",
+       "nolinkshere-ns-2": "i n'y o poin d'pache aveuc un loïen vers '''$1''' dins echl'éspace d'noms coési.",
        "isredirect": "pache érdirigée",
        "istemplate": "transclusion",
        "isimage": "Loïen aveuc l'fichié",
        "version-specialpages": "Paches éspéchiales",
        "fileduplicatesearch": "Dénicher chés doublons",
        "specialpages": "Paches éspéchiales",
+       "specialpages-note-restricted": "* Paches éspéchiales conformes.\n* <span class=\"mw-specialpagerestricted\">Paches éspéchiales réstrintes.</span>\n* <span class=\"mw-specialpagecached\">Paches éspéchiales seulemint in muche (pétète des viuseries).</span>",
        "specialpages-group-maintenance": "Rapports d'maintenanche",
        "specialpages-group-other": "Eutes paches éspéchiales",
        "specialpages-group-changes": "Darins canjemints pi gazètes",
index fd24862..b421a6a 100644 (file)
        "whatlinkshere": "Was dohea zaische dud",
        "whatlinkshere-title": "Saide wu uff \"$1\" valing'gn",
        "whatlinkshere-page": "Said:",
-       "linkshere": "Die Saide valing'gn uff '''[[:$1]]''':",
-       "nolinkshere": "Kä Said zaischd uff '''[[:$1]]'''.",
+       "linkshere-2": "Die Saide valing'gn uff '''$1''':",
+       "nolinkshere-2": "Kä Said zaischd uff '''$1'''.",
        "isredirect": "Waidalaidungsaid",
        "istemplate": "Vorlacheoibindung",
        "isimage": "Dadailing'g",
index 38ab558..8158169 100644 (file)
        "subject-preview": "Podgląd tematu:",
        "previewerrortext": "Wystąpił błąd podczas próby podglądu Twoich zmian.",
        "blockedtitle": "Użytkownik jest zablokowany",
-       "blockedtext": "'''Twoje konto lub adres IP zostały zablokowane.'''\n\nBlokada została nałożona przez $1.\nPodany powód to: ''$2''.\n\n* Początek blokady: $8\n* Wygaśnięcie blokady: $6\n* Zablokowany został: $7\n\nW celu wyjaśnienia przyczyny zablokowania możesz się skontaktować z $1 lub innym [[{{MediaWiki:Grouppage-sysop}}|administratorem]].\nNie możesz użyć funkcji „Wyślij e‐mail do tego użytkownika”, jeśli brak jest poprawnego adresu e‐mail w Twoich [[Special:Preferences|preferencjach]] lub jeśli taka możliwość została Ci zablokowana.\nTwój obecny adres IP to $3, a numer identyfikacyjny blokady to $5.\nProsimy o podanie obu tych informacji przy wyjaśnianiu blokady.",
-       "autoblockedtext": "Ten adres IP został zablokowany automatycznie, gdyż korzysta z niego inny użytkownik, zablokowany przez administratora $1.\nPowód blokady:\n\n:''$2''\n\n* Początek blokady: $8\n* Wygaśnięcie blokady: $6\n* Zablokowany został: $7\n\nMożesz skontaktować się z $1 lub jednym z pozostałych [[{{MediaWiki:Grouppage-sysop}}|administratorów]] w celu uzyskania informacji o blokadzie.\n\nNie możesz użyć funkcji „Wyślij e‐mail do tego użytkownika”, jeśli brak jest poprawnego adresu e‐mail w Twoich [[Special:Preferences|preferencjach]] lub jeśli taka możliwość została Ci zablokowana.\n\nTwój obecny adres IP to $3, a numer identyfikacyjny blokady to $5.\nProsimy o podanie obu tych numerów przy wyjaśnianiu blokady.",
+       "blockedtext": "<strong>Twoje konto lub adres IP zostały zablokowane.</strong>\n\nBlokada została nałożona przez $1.\nPodany powód to: <em>$2</em>.\n\n* Początek blokady: $8\n* Wygaśnięcie blokady: $6\n* Zablokowany został: $7\n\nW celu wyjaśnienia przyczyny zablokowania możesz się skontaktować z $1 lub innym [[{{MediaWiki:Grouppage-sysop}}|administratorem]].\nNie możesz użyć funkcji „{{int:emailuser}}”, jeśli brak jest poprawnego adresu e‐mail w Twoich [[Special:Preferences|preferencjach]] lub jeśli taka możliwość została Ci zablokowana.\nTwój obecny adres IP to $3, a numer identyfikacyjny blokady to #$5.\nProsimy o podanie obu tych informacji przy wyjaśnianiu blokady.",
+       "autoblockedtext": "Ten adres IP został zablokowany automatycznie, gdyż korzysta z niego inny użytkownik, zablokowany przez administratora $1.\nPowód blokady:\n\n:<em>$2</em>\n\n* Początek blokady: $8\n* Wygaśnięcie blokady: $6\n* Zablokowany został: $7\n\nMożesz skontaktować się z $1 lub jednym z pozostałych [[{{MediaWiki:Grouppage-sysop}}|administratorów]] w celu uzyskania informacji o blokadzie.\n\nNie możesz użyć funkcji „{{int:emailuser}}”, jeśli brak jest poprawnego adresu e‐mail w Twoich [[Special:Preferences|preferencjach]] lub jeśli taka możliwość została Ci zablokowana.\n\nTwój obecny adres IP to $3, a numer identyfikacyjny blokady to #$5.\nProsimy o podanie obu tych numerów przy wyjaśnianiu blokady.",
        "systemblockedtext": "Twoja nazwa użytkownika lub adres IP zostały automatycznie zablokowane przez MediaWiki.\nPodany powód to:\n\n:<em>$2</em>\n\n* Początek blokady: $8\n* Wygaśnięcie blokady: $6\n* Zamierzano zablokować: $7\n\nTwój obecny adres IP to $3.\nProsimy o dołączenie powyższych szczegółów w jakichkolwiek zadawanych pytaniach.",
        "blockednoreason": "nie podano przyczyny",
        "whitelistedittext": "Musisz $1, by edytować strony.",
        "protectedtitles-submit": "Wyświetl tytuły",
        "listusers": "Lista użytkowników",
        "listusers-editsonly": "Pokaż tylko użytkowników z edycjami",
+       "listusers-temporarygroupsonly": "Pokaż tylko użytkowników w tymczasowych grupach użytkowników",
        "listusers-creationsort": "Sortuj według daty utworzenia",
        "listusers-desc": "Sortuj w kolejności malejącej",
        "usereditcount": "$1 {{PLURAL:$1|edycja|edycje|edycji}}",
        "whatlinkshere": "Linkujące",
        "whatlinkshere-title": "Strony linkujące do „$1”",
        "whatlinkshere-page": "Strona:",
-       "linkshere": "Następujące strony odwołują się do '''[[:$1]]''':",
-       "nolinkshere": "Żadna strona nie odwołuje się do '''[[:$1]]'''.",
-       "nolinkshere-ns": "Żadna strona nie odwołuje się do '''[[:$1]]''' w wybranej przestrzeni nazw.",
+       "linkshere-2": "Następujące strony odwołują się do '''$1''':",
+       "nolinkshere-2": "Żadna strona nie odwołuje się do '''$1'''.",
+       "nolinkshere-ns-2": "Żadna strona nie odwołuje się do '''$1''' w wybranej przestrzeni nazw.",
        "isredirect": "strona przekierowująca",
        "istemplate": "dołączony szablon",
        "isimage": "link do pliku",
        "pagedata-title": "Dane ze strony",
        "pagedata-text": "Ta strona udostępnia interfejs danych do stron. Podaj tytuł strony w adresie URL, używając składni podstrony.\n* Negocjacja treści obowiązuje w oparciu o nagłówek Accept Twojego klienta. Oznacza to, że dane strony będą dostarczane w formacie preferowanym przez klienta.",
        "pagedata-not-acceptable": "Nie znaleziono pasującego formatu. Obsługiwane typy MIME: $1",
-       "pagedata-bad-title": "Niepoprawny tytuł: $1."
+       "pagedata-bad-title": "Niepoprawny tytuł: $1.",
+       "unregistered-user-config": "Ze względów bezpieczeństwa podstrony użytkownika: JavaScript, CSS i JSON nie mogą być załadowane dla niezarejestrowanych użytkowników.",
+       "passwordpolicies": "Zasady dotyczące haseł",
+       "passwordpolicies-group": "Grupa",
+       "passwordpolicies-policies": "Zasady",
+       "passwordpolicies-policy-minimalpasswordlength": "Hasło musi mieć co najmniej $1 {{PLURAL:$1|znak|znaki|znaków}}",
+       "passwordpolicies-policy-minimumpasswordlengthtologin": "Aby się zalogować, hasło musi mieć co najmniej $1 {{PLURAL:$1|znak|znaki|znaków}}",
+       "passwordpolicies-policy-passwordcannotmatchusername": "Hasło nie może być takie samo jak nazwa użytkownika",
+       "passwordpolicies-policy-maximalpasswordlength": "Hasło musi mieć mniej niż $1 {{PLURAL:$1|znak|znaki|znaków}}"
 }
index 5cd407a..5a88383 100644 (file)
        "whatlinkshere": "Pàgine con dj'anliure che a men-o a costa-sì",
        "whatlinkshere-title": "Pàgine ch'a men-o a «$1»",
        "whatlinkshere-page": "Pàgina:",
-       "linkshere": "Le pàgine sì-sota a l'han andrinta dj'anliure che a men-o a '''[[:$1]]''':",
-       "nolinkshere": "A-i é pa gnun-a pàgina che a l'abia dj'anliure che a men-o a '''[[:$1]]'''.",
-       "nolinkshere-ns": "An cost ëspassi nominal-sì a-i é gnun-e pàgine con dj'anliure ch'a men-o a '''[[:$1]]'''.",
+       "linkshere-2": "Le pàgine sì-sota a l'han andrinta dj'anliure che a men-o a '''$1''':",
+       "nolinkshere-2": "A-i é pa gnun-a pàgina che a l'abia dj'anliure che a men-o a '''$1'''.",
+       "nolinkshere-ns-2": "An cost ëspassi nominal-sì a-i é gnun-e pàgine con dj'anliure ch'a men-o a '''$1'''.",
        "isredirect": "ridiression",
        "istemplate": "inclusion",
        "isimage": "anliura a l'archivi",
        "fileduplicatesearch-noresults": "Gnun archivi ciamà «$1» a l'é stàit trovà.",
        "specialpages": "Pàgine Speciaj",
        "specialpages-note-top": "Legenda",
+       "specialpages-note-restricted": "* Pàgine speciaj normaj.\n* <span class=\"mw-specialpagerestricted\">Pàgine speciaj riservà.</span>",
        "specialpages-group-maintenance": "Rapòrt ëd manutension",
        "specialpages-group-other": "Àutre pàgine speciaj",
        "specialpages-group-login": "Intré ant ël sistema / creé un cont",
index c8aa579..4519eca 100644 (file)
        "whatlinkshere": "ایتھے کیدا جوڑ اے",
        "whatlinkshere-title": "او صفے جہڑے \"$1\" نال جڑے نیں",
        "whatlinkshere-page": "صفہ:",
-       "linkshere": "تھلے دتے گۓ صفے اس دے نال جڑدے نے '''[[:$1]]''':",
-       "nolinkshere": "'''[[:$1]]''' دے نال کسے دا جوڑ نہیں",
-       "nolinkshere-ns": "چنے ناں چ کسے صفے دا '''[[:$1]]''' نال جوڑ نئیں۔",
+       "linkshere-2": "تھلے دتے گۓ صفے اس دے نال جڑدے نے '''$1''':",
+       "nolinkshere-2": "'''$1''' دے نال کسے دا جوڑ نہیں",
+       "nolinkshere-ns-2": "چنے ناں چ کسے صفے دا '''$1''' نال جوڑ نئیں۔",
        "isredirect": "ریڈائرکٹ صفہ",
        "istemplate": "ملن",
        "isimage": "مورت دا جوڑ",
        "fileduplicatesearch-result-n": "فائل ''$1'' چ {{PLURAL:$2|1 رلدی نقل|$2 رلدیاں نقلں}} نیں۔",
        "fileduplicatesearch-noresults": "\"$1\" ناں دی کوئی فائل نئیں لبی۔",
        "specialpages": "خاص صفے",
+       "specialpages-note-restricted": "* نارمل خاص صفے.\n* <span class=\"mw-specialpagerestricted\">روکے گۓ خاص صفے.</span>\n* <span class=\"mw-specialpagecached\">کاشے خاص صفے (پرانے ہوگۓ ہون).</span>",
        "specialpages-group-maintenance": "مرمت رپورٹ",
        "specialpages-group-other": "ہور خاص صفے",
        "specialpages-group-login": "لاگان / کھاتہ کھولو",
index c28659a..ba2addf 100644 (file)
        "whatlinkshere": "Ντο δεκνίζ' αδακές",
        "whatlinkshere-title": "Σελίδας ντο συνδέουν ση σελίδαν $1",
        "whatlinkshere-page": "Σελίδαν:",
-       "linkshere": "Αβούτα τα σελίδας δεκνίζνε σο '''[[:$1]]''':",
-       "nolinkshere": "'Κ ευρέθεν σελίδα το δεκνίζ' ση σελίδαν '''[[:$1]]'''.",
+       "linkshere-2": "Αβούτα τα σελίδας δεκνίζνε σο '''$1''':",
+       "nolinkshere-2": "'Κ ευρέθεν σελίδα το δεκνίζ' ση σελίδαν '''$1'''.",
        "isredirect": "σελίδαν διπλού σύνδεσμονος",
        "istemplate": "ενσωμάτωση",
        "isimage": "σύνδεσμον εικόνας",
index 74a5fea..1f6ca9e 100644 (file)
        "whatlinkshere": "Ka autenginna stwi",
        "whatlinkshere-title": "Pāusan autengināntei prei \"$1\"",
        "whatlinkshere-page": "Pāusan:",
-       "linkshere": "Ripīntei pāusai autenginna prei '''[[:$1]]''':",
-       "nolinkshere": "Niaīnan pāusan ni autenginna prei '''[[:$1]]'''.",
-       "nolinkshere-ns": "Niaīnan pāusan ni autenginna prei '''[[:$1]]''' en etrīnktai tītelin plattibin.",
+       "linkshere-2": "Ripīntei pāusai autenginna prei '''$1''':",
+       "nolinkshere-2": "Niaīnan pāusan ni autenginna prei '''$1'''.",
+       "nolinkshere-ns-2": "Niaīnan pāusan ni autenginna prei '''$1''' en etrīnktai tītelin plattibin.",
        "isredirect": "prawesnas pāusan",
        "istemplate": "entensīsenis",
        "isimage": "autengīnsenis prei bildin",
        "fileduplicatesearch-result-1": "Zūrbrukis \"$1\" ni turri idēntiskan kōpijan.",
        "fileduplicatesearch-result-n": "Zūrbrukis \"$1\" turri {{PLURAL:$2|1 idēntiskan kōpijan|$2 idēntiskans kōpijans}}.",
        "specialpages": "Speciālai pāusai",
+       "specialpages-note-restricted": "* Nōrmalai speciālai pāusai.\n* <strong class=\"mw-specialpagerestricted\">Speciālai pāusai sen arāikintan preiēisenin.</strong>",
        "specialpages-group-maintenance": "Kōnserwaciōnis repōrtai",
        "specialpages-group-other": "Kitāi speciālai pāusai",
        "specialpages-group-login": "Enēis / registrīs si",
index d856230..62206cb 100644 (file)
        "whatlinkshere": "د دې مخ تړنې",
        "whatlinkshere-title": "هغه مخونه چې د \"$1\" سره تړنې لري",
        "whatlinkshere-page": "مخ:",
-       "linkshere": "دغه لانديني مخونه د '''[[:$1]]''' سره تړنې لري:",
-       "nolinkshere": "د '''[[:$1]]''' سره هېڅ يو مخ هم تړنې نه لري .",
+       "linkshere-2": "دغه لانديني مخونه د '''$1''' سره تړنې لري:",
+       "nolinkshere-2": "د '''$1''' سره هېڅ يو مخ هم تړنې نه لري .",
        "isredirect": "د مخ گرځونې مخ",
        "istemplate": "ورگډېدنه",
        "isimage": "د دوتنې تړنه",
        "fileduplicatesearch-noresults": "د \"$1\" په نوم دوتنه و نه موندل شوه.",
        "specialpages": "ځانگړي مخونه",
        "specialpages-note-top": "څرگندونې",
+       "specialpages-note-restricted": "* نورماله ځانگړي مخونه.\n* <strong class=\"mw-specialpagerestricted\">محدوده ځانگړي مخونه.</strong>",
        "specialpages-group-maintenance": "د څارنې راپورونه",
        "specialpages-group-other": "نور ځانگړي مخونه",
        "specialpages-group-login": "ننوتل / گڼون جوړول",
index 43b0032..1ceac81 100644 (file)
        "subject-preview": "Previsão do assunto/título:",
        "previewerrortext": "Ocorreu um erro ao tentar pré-visualizar suas alterações.",
        "blockedtitle": "O usuário está bloqueado",
-       "blockedtext": "'''O seu nome de usuário ou endereço de IP foi bloqueado.'''\n\nO bloqueio foi realizado por $1.\nO motivo apresentado foi ''$2''.\n\n* Início do bloqueio: $8\n* Expiração do bloqueio: $6\n* Destino do bloqueio: $7\n\nVocê pode contatar $1 ou outro [[{{MediaWiki:Grouppage-sysop}}|administrador]] para discutir sobre o bloqueio.\n\nVocê só poderá utilizar a funcionalidade \"Contatar usuário\" se um endereço de ''e-mail'' válido estiver especificado em suas [[Special:Preferences|preferências de usuário]] e você não tiver sido bloqueado de utilizar tal recurso.\nO seu endereço de IP atual é $3 e a ID de bloqueio é #$5.\nPor favor, inclua todos os detalhes acima em quaisquer tentativas de esclarecimento.",
-       "autoblockedtext": "O seu endereço de IP foi bloqueado de forma automática, uma vez que foi utilizado recentemente por outro usuário, o qual foi bloqueado por $1.\nO motivo apresentado foi:\n\n:''$2''\n\n* Início do bloqueio: $8\n* Expiração do bloqueio: $6\n* Destino do bloqueio: $7\n\nVocê pode contatar $1 ou outro [[{{MediaWiki:Grouppage-sysop}}|administrador]] para discutir sobre o bloqueio.\n\nNote que não poderá utilizar a funcionalidade \"Contatar usuário\" se não possuir uma conta nesta wiki ({{SITENAME}}) com um endereço de ''e-mail'' válido indicado nas suas [[Special:Preferences|preferências de usuário]] ou se tiver sido bloqueado de utilizar tal recurso.\n\nSeu endereço de IP no momento é $3 e sua ID de bloqueio é #$5.\nPor favor, inclua tais dados em qualquer tentativa de esclarecimentos que for realizar.",
+       "blockedtext": "<strong>O seu nome de usuário ou endereço IP foram bloqueados.</strong>\n\nO bloqueio foi realizado por $1.\nO motivo apresentado foi <em>$2</em>.\n\n* Início do bloqueio: $8\n* Expiração do bloqueio: $6\n* Destinatário do bloqueio: $7\n\nPode contactar $1 ou outro [[{{MediaWiki:Grouppage-sysop}}|administrador]] para discutir o bloqueio.\nNote que para utilizar a funcionalidade \"{{int:emailuser}}\" precisa de ter um endereço de e-mail válido nas suas [[Special:Preferences|preferências]] e de não lhe ter sido bloqueado o uso desta funcionalidade.\nO seu endereço IP neste momento é $3 e a identificação (ID) do bloqueio é #$5.\nInclua todos os detalhes acima em quaisquer contatos relacionados com este bloqueio, por favor.",
+       "autoblockedtext": "O seu endereço IP foi bloqueado de forma automática porque foi utilizado recentemente por outro usuário, o qual foi bloqueado por $1.\nO motivo apresentado foi:\n\n:<em>$2</em>\n\n* Início do bloqueio: $8\n* Expiração do bloqueio: $6\n* Destinatário do bloqueio: $7\n\nPode contactar $1 ou outro [[{{MediaWiki:Grouppage-sysop}}|administrador]] para discutir o bloqueio.\n\nNote que para utilizar a funcionalidade \"{{int:emailuser}}\" precisa de ter um endereço de e-mail válido nas suas [[Special:Preferences|preferências]] e de não lhe ter sido bloqueado o uso desta funcionalidade.\n\nO seu endereço IP neste momento é $3 e a identificação (ID) do bloqueio é #$5.\nInclua todos os detalhes acima em quaisquer contatos relacionados com este bloqueio, por favor.",
        "systemblockedtext": "O seu nome de usuário ou endereço IP foram bloqueados automaticamente pelo MediaWiki.\nO motivo fornecido é:\n\n:<em>$2</em>\n\n* Início do bloqueio: $8\n* Expiração do bloqueio: $6\n* Destinatário do bloqueio: $7\n\nO seu endereço IP atual é $3.\nInclua todos os detalhes acima em quaisquer contatos sobre este assunto, por favor.",
        "blockednoreason": "sem motivo especificado",
        "whitelistedittext": "Você precisa $1 para poder editar páginas.",
        "protectedtitles-submit": "Mostrar títulos",
        "listusers": "Lista de usuários",
        "listusers-editsonly": "Mostrar apenas usuários com edições",
+       "listusers-temporarygroupsonly": "Mostrar apenas usuários em grupos de usuários temporários",
        "listusers-creationsort": "Ordenar por data de criação",
        "listusers-desc": "Listar em ordem decrescente",
        "usereditcount": "$1 {{PLURAL:$1|edição|edições}}",
        "whatlinkshere": "Páginas afluentes",
        "whatlinkshere-title": "Páginas que têm links para \"$1\"",
        "whatlinkshere-page": "Página:",
-       "linkshere": "As seguintes páginas possuem links para '''[[:$1]]''':",
-       "nolinkshere": "Não há afluentes para '''[[:$1]]''' com as condições especificadas.",
-       "nolinkshere-ns": "Não há links para '''[[:$1]]''' no espaço nominal selecionado.",
+       "linkshere-2": "As seguintes páginas possuem links para '''$1''':",
+       "nolinkshere-2": "Não há afluentes para '''$1''' com as condições especificadas.",
+       "nolinkshere-ns-2": "Não há links para '''$1''' no espaço nominal selecionado.",
        "isredirect": "página de redirecionamento",
        "istemplate": "transclusão",
        "isimage": "link para o arquivo",
        "pagedata-title": "Dados de página",
        "pagedata-text": "Esta página fornece uma interface de dados para páginas. Forneça o título da página no URL, usando a sintaxe de subpáginas, por favor.\n* Aplica-se a negociação de conteúdo com base no cabeçalho Accept do seu cliente. Isto significa que os dados da página serão fornecidos no formato preferido do seu cliente.",
        "pagedata-not-acceptable": "Nenhum formato correspondente encontrado. Tipos MIME suportados: $1",
-       "pagedata-bad-title": "Título inválido: $1."
+       "pagedata-bad-title": "Título inválido: $1.",
+       "unregistered-user-config": "Por razões de segurança as subpáginas de utilizador com JavaScript, CSS e JSON não podem ser carregadas para usuários não registados."
 }
index 85ad5b4..700d01a 100644 (file)
        "whatlinkshere": "Páginas afluentes",
        "whatlinkshere-title": "Páginas com hiperligações para \"$1\"",
        "whatlinkshere-page": "Página:",
-       "linkshere": "As seguintes páginas têm hiperligações para <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Não existem afluentes para <strong>[[:$1]]</strong> com as condições especificadas.",
-       "nolinkshere-ns": "Não existem afluentes para <strong>[[:$1]]</strong> no espaço nominal selecionado.",
+       "linkshere-2": "As seguintes páginas têm hiperligações para <strong>$1</strong>:",
+       "nolinkshere-2": "Não existem afluentes para <strong>$1</strong> com as condições especificadas.",
+       "nolinkshere-ns-2": "Não existem afluentes para <strong>$1</strong> no espaço nominal selecionado.",
        "isredirect": "página de redirecionamento",
        "istemplate": "inclusão",
        "isimage": "hiperligação para ficheiro",
        "pagedata-text": "Esta página fornece uma interface de dados para páginas. Forneça o título da página no URL, usando a sintaxe de subpáginas, por favor.\n* Aplica-se a negociação de conteúdo com base no cabeçalho Accept do seu cliente. Isto significa que os dados da página serão fornecidos no formato preferido do seu cliente.",
        "pagedata-not-acceptable": "Não foi encontrado nenhum formato correspondente. Tipos MIME suportados: $1",
        "pagedata-bad-title": "Título inválido: $1.",
-       "unregistered-user-config": "Por razões de segurança as subpáginas de utilizador com JavaScript, CSS e JSON não podem ser carregadas para utilizadores não registados."
+       "unregistered-user-config": "Por razões de segurança as subpáginas de utilizador com JavaScript, CSS e JSON não podem ser carregadas para utilizadores não registados.",
+       "passwordpolicies": "Regras para palavras-passe",
+       "passwordpolicies-group": "Grupo",
+       "passwordpolicies-policies": "Normas e recomendações"
 }
index 0947db2..2551051 100644 (file)
                        "Trizek (WMF)",
                        "Acamicamacaraca",
                        "Avatar6",
-                       "Akapochtli"
+                       "Akapochtli",
+                       "ديفيد"
                ]
        },
        "sidebar": "{{notranslate}}",
        "pool-servererror": "Error message. Parameters:\n* $1 - list of server addresses\n\nSee e.g. {{msg-mw|Poolcounter-desc}} (and the Pool Counter extension in general) for translation hints for “pool counter service”.",
        "poolcounter-usage-error": "Used as error message. Parameters:\n* $1 - non-localized string describing usage mistake.",
        "aboutsite": "Used as the label of the link that appears at the footer of every page on the wiki (in most of  the skins) and leads to the page that contains the site description. The link target is {{msg-mw|aboutpage}}.\n\n[[mw:Manual:Interface/Aboutsite|MediaWiki manual]].\n\n{{doc-important|Do not change <nowiki>{{SITENAME}}</nowiki>.}}\n\n{{Identical|About}}",
-       "aboutpage": "Used as the target of the link that appears at the footer of every page on the wiki (in most of  the skins) and leads to the page that contains the site description. Therefore the content should be the same with the page name of the site description page. Only the message in the [[mw:Manual:$wgLanguageCode|site language]]  ([[MediaWiki:Aboutpage]]) is used. The link label is {{msg-mw|aboutsite}}.\n\n{{doc-important|Do not translate \"Project:\" part, for this is the namespace prefix.}}",
+       "aboutpage": "{{doc-important|Do not translate \"Project:\" part, for this is the namespace prefix.}}\n\nUsed as the target of the link that appears at the footer of every page on the wiki (in most of  the skins) and leads to the page that contains the site description. Therefore the content should be the same with the page name of the site description page. Only the message in the [[mw:Manual:$wgLanguageCode|site language]]  ([[MediaWiki:Aboutpage]]) is used. The link label is {{msg-mw|aboutsite}}.",
        "copyright": "Parameters:\n* $1 - license name\n'''See also'''\n* {{msg-mw|Mobile-frontend-copyright}}",
        "copyrightpage": "{{doc-important|Do not change <nowiki>{{ns:project}}</nowiki>}}\n\n{{Identical|Copyright}}",
        "currentevents": "Standard link in the sidebar, for news.\n\nSee also {{msg-mw|Currentevents-url}} for the link URL.\n\nSee also:\n* {{msg-mw|Currentevents}}\n* {{msg-mw|Accesskey-n-currentevents}}\n* {{msg-mw|Tooltip-n-currentevents}}",
        "listusers": "{{doc-special|ListUsers}}",
        "listusers-summary": "{{notranslate}}\nThe summary displayed at the top of [[Special:Listusers]]. [[mw:Manual:Interface/Special pages summary|mw manual]].",
        "listusers-editsonly": "Option in [[Special:ListUsers]].",
+       "listusers-temporarygroupsonly": "Option in [[Special:ListUsers]].",
        "listusers-creationsort": "Option in [[Special:ListUsers]].",
        "listusers-desc": "Used as label for the checkbox on [[Special:ListUsers]].",
        "usereditcount": "Shown behind every username on [[Special:ListUsers]]. Parameters:\n* $1 - number of edits",
        "whatlinkshere-title": "Title of the special page [[Special:WhatLinksHere]]. This page appears when you click on the 'What links here' button in the toolbox. $1 is the name of the page concerned.",
        "whatlinkshere-summary": "{{doc-specialpagesummary|whatlinkshere}}",
        "whatlinkshere-page": "{{Identical|Page}}",
-       "linkshere": "This message is the header line of the [[Special:WhatLinksHere/$1]] page generated by clicking \"What links here\" in the sidebar toolbox.\n\nIt is followed by a navigation bar built using {{msg-mw|Viewprevnext}}.\n\nParameters:\n* $1 - page title",
-       "nolinkshere": "Used in [[Special:WhatLinksHere]] if empty. Parameters:\n* $1 - page title\nSee also:\n* {{msg-mw|Nolinkshere-ns}}",
-       "nolinkshere-ns": "Used in [[Special:WhatLinksHere]] if empty. Parameters:\n* $1 - page title\nSee also:\n* {{msg-mw|Nolinkshere}}",
+       "linkshere-2": "This message is the header line of the [[Special:WhatLinksHere/$1]] page generated by clicking \"What links here\" in the sidebar toolbox.\n\nIt is followed by a navigation bar built using {{msg-mw|Viewprevnext}}.\n\nParameters:\n* $1 - HTML link to the page.",
+       "nolinkshere-2": "Used in [[Special:WhatLinksHere]] if empty. Parameters:\n* $1 - HTML link to the page\nSee also:\n* {{msg-mw|Nolinkshere-ns-html}}",
+       "nolinkshere-ns-2": "Used in [[Special:WhatLinksHere]] if empty. Parameters:\n* $1 - HTML link to the page\nSee also:\n* {{msg-mw|Nolinkshere-html}}",
        "isredirect": "Displayed in [[Special:WhatLinksHere]] (see [{{fullurl:Special:WhatLinksHere/Project:Translator|hidelinks=1}} Special:WhatLinksHere/Project:Translator] for example).\n\n{{Identical|Redirect page}}",
        "istemplate": "Means that a page (a template, specifically) is used as <code><nowiki>{{Page name}}</nowiki></code>.\nDisplayed in [[Special:WhatLinksHere]] (see [[Special:WhatLinksHere/Template:New portal]] for example).\nIf you are not sure how to translate this term, think of something like \"inclusion\", \"embedding\", or \"insertion\".\n{{Identical|Transclusion}}",
        "isimage": "This message is displayed on [[Special:WhatLinksHere]] for images. It means that the image is used on the page (as opposed to just being linked to like an non-image page).\n{{Identical|File link}}",
        "mediastatistics-header-3d": "Header on [[Special:MediaStatistics]] for file types that are in the 3D category. Includes STL files.",
        "mediastatistics-header-total": "Header on [[Special:MediaStatistics]] for a summary of all file types.",
        "json-warn-trailing-comma": "A warning message notifying that JSON text was automatically corrected by removing erroneous commas.\n\nParameters:\n* $1 - number of commas that were removed\n{{Related|Json-error}}",
-       "json-error-unknown": "User error message when there’s an unknown error.\n\nThis error is shown if we received an unexpected value from PHP. See http://php.net/manual/en/function.json-last-error.php\n\nParameters:\n* $1 - integer error code\n{{Related|Json-error}}",
-       "json-error-depth": "User error message when the maximum stack depth is exceeded.\nSee http://php.net/manual/en/function.json-last-error.php\n{{Related|Json-error}}",
-       "json-error-state-mismatch": "User error message when underflow or the modes mismatch.\n\n'''Underflow''': A data-processing error arising when the absolute value of a computed quantity is smaller than the limits of precision of the computing device, retaining at least one significant digit.\n\nSee http://php.net/manual/en/function.json-last-error.php\n{{Related|Json-error}}",
-       "json-error-ctrl-char": "User error message when an unexpected control character has been found.\nSee http://php.net/manual/en/function.json-last-error.php\n{{Related|Json-error}}",
-       "json-error-syntax": "User error message when there is a syntax error; a malformed JSON.\nSee http://php.net/manual/en/function.json-last-error.php\n{{Related|Json-error}}\n{{Identical|Syntax error}}",
-       "json-error-utf8": "User error message when there are malformed UTF-8 characters, possibly incorrectly encoded.\nSee http://php.net/manual/en/function.json-last-error.php\n{{Related|Json-error}}",
-       "json-error-recursion": "PHP JSON encoding/decoding error. See http://php.net/manual/en/function.json-last-error.php\n{{Related|Json-error}}",
-       "json-error-inf-or-nan": "PHP JSON encoding/decoding error. See http://php.net/manual/en/function.json-last-error.php\n{{Related|Json-error}}",
-       "json-error-unsupported-type": "PHP JSON encoding/decoding error. See http://php.net/manual/en/function.json-last-error.php\n{{Related|Json-error}}",
+       "json-error-unknown": "User error message when there’s an unknown error.\n\nThis error is shown if we received an unexpected value from PHP. See https://secure.php.net/manual/en/function.json-last-error.php\n\nParameters:\n* $1 - integer error code\n{{Related|Json-error}}",
+       "json-error-depth": "User error message when the maximum stack depth is exceeded.\nSee https://secure.php.net/manual/en/function.json-last-error.php\n{{Related|Json-error}}",
+       "json-error-state-mismatch": "User error message when underflow or the modes mismatch.\n\n'''Underflow''': A data-processing error arising when the absolute value of a computed quantity is smaller than the limits of precision of the computing device, retaining at least one significant digit.\n\nSee https://secure.php.net/manual/en/function.json-last-error.php\n{{Related|Json-error}}",
+       "json-error-ctrl-char": "User error message when an unexpected control character has been found.\nSee https://secure.php.net/manual/en/function.json-last-error.php\n{{Related|Json-error}}",
+       "json-error-syntax": "User error message when there is a syntax error; a malformed JSON.\nSee https://secure.php.net/manual/en/function.json-last-error.php\n{{Related|Json-error}}\n{{Identical|Syntax error}}",
+       "json-error-utf8": "User error message when there are malformed UTF-8 characters, possibly incorrectly encoded.\nSee https://secure.php.net/manual/en/function.json-last-error.php\n{{Related|Json-error}}",
+       "json-error-recursion": "PHP JSON encoding/decoding error. See https://secure.php.net/manual/en/function.json-last-error.php\n{{Related|Json-error}}",
+       "json-error-inf-or-nan": "PHP JSON encoding/decoding error. See https://secure.php.net/manual/en/function.json-last-error.php\n{{Related|Json-error}}",
+       "json-error-unsupported-type": "PHP JSON encoding/decoding error. See https://secure.php.net/manual/en/function.json-last-error.php\n{{Related|Json-error}}",
        "headline-anchor-title": "Title tooltip for the section anchor symbol, which is a link to the current section. Can be interpreted both as a noun (\"this is a link\") or as a verb (\"use this to link\").",
        "special-characters-group-latin": "This is the name of a script, or alphabet, not a language.",
        "special-characters-group-latinextended": "The name of the Latin Extended character set.",
        "pagedata-text": "Error shown when none of the formats acceptable to the client is supported (HTTP error 406). Parameters:\n* $1 - the list of supported MIME types",
        "pagedata-not-acceptable": "No matching format found. Supported MIME types: $1",
        "pagedata-bad-title": "Error shown when the requested title is invalid. Parameters:\n* $1: the malformed ID",
-       "unregistered-user-config": "Shown when viewing a user JS, CSS or JSON subpage with ?action=raw&ctype=<mime type> where there is no such user. It is shown as a paragraph after a header saying 'Forbidden'."
+       "unregistered-user-config": "Shown when viewing a user JS, CSS or JSON subpage with ?action=raw&ctype=<mime type> where there is no such user. It is shown as a paragraph after a header saying 'Forbidden'.",
+       "passwordpolicies": "The name of the special page [[Special:PasswordPolicies]].",
+       "passwordpolicies-summary": "The description used on [[Special:PasswordPolicies]].\n\nRefers to {{msg-mw|Passwordpolicies-helppage}}.",
+       "passwordpolicies-helppage": "The link used on [[Special:PasswordPolicies]].",
+       "passwordpolicies-group": "The title of the column in the table, about user groups (like you are in the ''translator'' group).\n\n{{Identical|Group}}\n{{Related|Passwordpolicies}}",
+       "passwordpolicies-policies": "The title of the column in the table, about password policies.\n{{Related|Passwordpolicies}}",
+       "passwordpolicies-policy-display": "{{optional}}\nParameters:\n* $1 - the text from the \"passwordpolicies-policy-...\" messages, i.e. {{msg-mw|passwordpolicies-policy-minimalpasswordlength}}\n* $2 - the name of this password policy",
+       "passwordpolicies-policy-minimalpasswordlength": "Password policy that enforces a minimum number of characters a password must be. $1 - minimum number of characters that a password can be",
+       "passwordpolicies-policy-minimumpasswordlengthtologin": "Password policy that enforces a minimum number of characters a password must be to be able to login to the wiki. $1 - minimum number of characters that a password can be to be able to login",
+       "passwordpolicies-policy-passwordcannotmatchusername": "Password policy that enforces that the password of the account cannot be the same as the username",
+       "passwordpolicies-policy-passwordcannotmatchblacklist": "Password policy that enforces that passwords are not on a list of blacklisted passwords (often previously used during MediaWiki automated testing)",
+       "passwordpolicies-policy-maximalpasswordlength": "Password policy that enforces a maximum number of characters a password must be. $1 - maximum number of characters that a password can be",
+       "passwordpolicies-policy-passwordcannotbepopular": "Password policy that enforces that a password is not in a list of $1 number of \"popular\" passwords. $1 - number of popular passwords the password will be checked against"
 }
index b4baa72..9d090ba 100644 (file)
        "whatlinkshere": "Kayman t'inkimuq",
        "whatlinkshere-title": "$1 sutiyuq p'anqaman t'inkimuqkuna",
        "whatlinkshere-page": "P'anqa:",
-       "linkshere": "'''[[:$1]]''' sutiyuq p'anqamanqa kay qatiq p'anqakunam t'inkimun:",
-       "nolinkshere": "Manam kachkanchu '''[[:$1]]'''-man t'inkiq p'anqa.",
-       "nolinkshere-ns": "Manam kachkanchu '''[[:$1]]'''-man t'inkiq p'anqa akllasqa suti k'itipi.",
+       "linkshere-2": "'''$1''' sutiyuq p'anqamanqa kay qatiq p'anqakunam t'inkimun:",
+       "nolinkshere-2": "Manam kachkanchu '''$1'''-man t'inkiq p'anqa.",
+       "nolinkshere-ns-2": "Manam kachkanchu '''$1'''-man t'inkiq p'anqa akllasqa suti k'itipi.",
        "isredirect": "pusapusqa p'anqa",
        "istemplate": "ch'aqtasqa",
        "isimage": "willañiqi t'inki",
        "fileduplicatesearch-noresults": "\"$1\" sutiyuq willañiqiqa manam tarisqachu.",
        "specialpages": "Sapaq p'anqakuna",
        "specialpages-note-top": "Sut'ichana",
+       "specialpages-note-restricted": "* Sapsipaq sapaq p'anqakuna.\n* <span class=\"mw-specialpagerestricted\">Sapaqkunallapaq sapaq p'anqakuna.</span>",
        "specialpages-group-maintenance": "Hatalliy willaykuna",
        "specialpages-group-other": "Huk sapaq p'anqakuna",
        "specialpages-group-login": "Yaykuy / rakiqunata kamariy",
index 8507825..0f24732 100644 (file)
        "whatlinkshere": "Kayman tinkikuna",
        "whatlinkshere-title": "$1-man tinkiyuk pankakuna",
        "whatlinkshere-page": "Panka:",
-       "linkshere": "Chay pankakunaka '''[[:$1]]'''-man tinkiyukmi kan:",
-       "nolinkshere": "Mana pankaka '''[[:$1]]'''-man tinkikunchu.",
+       "linkshere-2": "Chay pankakunaka '''$1'''-man tinkiyukmi kan:",
+       "nolinkshere-2": "Mana pankaka '''$1'''-man tinkikunchu.",
        "isredirect": "pushashka panka",
        "istemplate": "Ukupi tiyak panka (''inclusión'')",
        "isimage": "rikcha tinki",
index 905a618..a9adaa9 100644 (file)
        "whatlinkshere": "ⵎⵉⵏ ⵉⵇⵇⵏⴻⵏ ⵖⵔ ⴷⴰ",
        "whatlinkshere-title": "Tasniwin id-izedyen ɣar \"$1\"",
        "whatlinkshere-page": "ⵜⴰⵙⵏⴰ:",
-       "linkshere": "Tasna ya tzedi ɣa '''[[:$1]]''':",
-       "nolinkshere": "war tlli ca n Tasna tqqen-d da '''[[:$1]]'''.",
+       "linkshere-2": "Tasna ya tzedi ɣa '''$1''':",
+       "nolinkshere-2": "war tlli ca n Tasna tqqen-d da '''$1'''.",
        "isredirect": "Tasna n (redirect)",
        "istemplate": "Asidef",
        "isimage": "amaqqan usatul",
index b89d6f8..0a894b1 100644 (file)
        "whatlinkshere": "Colliaziuns sin questa pagina",
        "whatlinkshere-title": "Paginas ch'èn colliadas cun \"$1\"",
        "whatlinkshere-page": "Pagina:",
-       "linkshere": "Suandantas paginas èn colliadas cun '''[[:$1]]''':",
-       "nolinkshere": "Naginas paginas èn colliadas cun '''[[:$1]]'''.",
-       "nolinkshere-ns": "Naginas paginas èn colliadas cun '''[[:$1]]''' en il tip da pagina tschernì.",
+       "linkshere-2": "Suandantas paginas èn colliadas cun '''$1''':",
+       "nolinkshere-2": "Naginas paginas èn colliadas cun '''$1'''.",
+       "nolinkshere-ns-2": "Naginas paginas èn colliadas cun '''$1''' en il tip da pagina tschernì.",
        "isredirect": "Pagina che renviescha",
        "istemplate": "Integraziun da models",
        "isimage": "colliaziun da datoteca",
        "fileduplicatesearch-noresults": "Betg chattà ina datoteca cun il num \"$1\".",
        "specialpages": "Paginas spezialas",
        "specialpages-note-top": "Legenda",
+       "specialpages-note-restricted": "* Paginas spezialas normalas.\n* <span class=\"mw-specialpagerestricted\">Paginas spezialas restrenschidas.</span>",
        "specialpages-group-maintenance": "Rapports da mantegnamant",
        "specialpages-group-other": "Autras paginas spezialas",
        "specialpages-group-login": "S'annunziar / crear in conto",
index fc930a1..939d795 100644 (file)
        "whatlinkshere": "Ce trimite aici",
        "whatlinkshere-title": "Pagini care conțin legături spre „$1”",
        "whatlinkshere-page": "Pagină:",
-       "linkshere": "Următoarele pagini conțin legături către <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Nici o pagină nu trimite la '''[[:$1]]'''.",
-       "nolinkshere-ns": "Nici o pagină din spațiul de nume ales nu trimite la '''[[:$1]]'''.",
+       "linkshere-2": "Următoarele pagini conțin legături către <strong>$1</strong>:",
+       "nolinkshere-2": "Nici o pagină nu trimite la '''$1'''.",
+       "nolinkshere-ns-2": "Nici o pagină din spațiul de nume ales nu trimite la '''$1'''.",
        "isredirect": "pagină de redirecționare",
        "istemplate": "prin includerea formatului",
        "isimage": "legătură către fișier",
index b5677df..e153ec3 100644 (file)
        "whatlinkshere": "Appondene aqquà",
        "whatlinkshere-title": "Pàggene ca appondene a \"$1\"",
        "whatlinkshere-page": "Pàgene:",
-       "linkshere": "Le pàggene ca avènene appondene a '''[[:$1]]''':",
-       "nolinkshere": "Nisciuna pàgene apponde a '''[[:$1]]'''.",
-       "nolinkshere-ns": "Nisciuna pàgene apponde a '''[[:$1]]''' jndr'à 'u namespace scacchiete.",
+       "linkshere-2": "Le pàggene ca avènene appondene a '''$1''':",
+       "nolinkshere-2": "Nisciuna pàgene apponde a '''$1'''.",
+       "nolinkshere-ns-2": "Nisciuna pàgene apponde a '''$1''' jndr'à 'u namespace scacchiete.",
        "isredirect": "pàgene de ridirezionamende",
        "istemplate": "inclusione",
        "isimage": "collegamende a 'u file",
index f80a820..6f9c3f7 100644 (file)
                        "Movses",
                        "Patrick Star",
                        "Happy13241",
-                       "Vcohen"
+                       "Vcohen",
+                       "AttemptToCallNil"
                ]
        },
        "tog-underline": "Подчёркивание ссылок:",
        "protectedtitles-submit": "Показывать заголовки",
        "listusers": "Список участников",
        "listusers-editsonly": "Показать только тех участников, кто сделал хотя бы одну правку",
+       "listusers-temporarygroupsonly": "Показывать только участников, временно отнесённых к группе участников",
        "listusers-creationsort": "Упорядочить по дате создания",
        "listusers-desc": "Сортировать в обратном порядке",
        "usereditcount": "$1 {{PLURAL:$1|правка|правки|правок}}",
        "whatlinkshere": "Ссылки сюда",
        "whatlinkshere-title": "Страницы, ссылающиеся на «$1»",
        "whatlinkshere-page": "Страница:",
-       "linkshere": "Следующие страницы ссылаются на «'''[[:$1]]'''»:",
-       "nolinkshere": "На страницу '''[[:$1]]''' отсутствуют ссылки с других страниц.",
-       "nolinkshere-ns": "В выбранном пространстве имён нет страниц, ссылающихся на '''[[:$1]]'''.",
+       "linkshere-2": "Следующие страницы ссылаются на «'''$1'''»:",
+       "nolinkshere-2": "На страницу '''$1''' отсутствуют ссылки с других страниц.",
+       "nolinkshere-ns-2": "В выбранном пространстве имён нет страниц, ссылающихся на '''$1'''.",
        "isredirect": "страница-перенаправление",
        "istemplate": "включение",
        "isimage": "файловая ссылка",
        "limitreport-expensivefunctioncount-value": "$1/$2",
        "limitreport-unstrip-depth": "Глубинная рекурсия Unstrip",
        "limitreport-unstrip-depth-value": "$1/$2",
-       "limitreport-unstrip-size": "Ð\9fоÑ\81ле Ñ\80аÑ\81Ñ\88иÑ\80ениÑ\8f Ñ\80азмеÑ\80 Unstrip",
+       "limitreport-unstrip-size": "РазмеÑ\80 Unstrip Ð¿Ð¾Ñ\81ле Ñ\80аÑ\81кÑ\80Ñ\8bÑ\82иÑ\8f Ð²ÐºÐ»Ñ\8eÑ\87ений",
        "limitreport-unstrip-size-value": "$1/$2 {{PLURAL:$2|байт|байта|байт}}",
        "expandtemplates": "Развёртка шаблонов",
        "expand_templates_intro": "Эта служебная страница преобразует текст, рекурсивно разворачивая все шаблоны в нём.\nТакже развёртке подвергаются функции парсера\n<code><nowiki>{{#language:…}}</nowiki></code> и переменные вида\n<code><nowiki>{{CURRENTDAY}}</nowiki></code> — в общем, всё внутри двойных фигурных скобок.",
        "pagedata-text": "Эта страница предоставляет интерфейс к данным страниц. Пожалуйста, введите заголовок страницы в URL, используя синтаксис подстраниц.\n* Согласование содержимого применяется основываясь на заголовке Accept вашего клиента. Это означает, что данные страницы будут предоставлены в формате, предпочитаемом вашим клиентом.",
        "pagedata-not-acceptable": "Соответствующий формат не найден. Поддерживаемые MIME-типы: $1",
        "pagedata-bad-title": "Некорректный заголовок: $1.",
-       "unregistered-user-config": "По соображениям безопасности пользовательские подстраницы JavaScript, CSS и JSON не могут быть загружены для незарегистрированных участников."
+       "unregistered-user-config": "По соображениям безопасности пользовательские подстраницы JavaScript, CSS и JSON не могут быть загружены для незарегистрированных участников.",
+       "passwordpolicies": "Политика паролей",
+       "passwordpolicies-summary": "На этой странице перечисляются действующие на этой вики ограничения на пароли участников. Ограничения, действующие для какого-либо участника, зависят от групп, в которые он входит.",
+       "passwordpolicies-group": "Группа",
+       "passwordpolicies-policies": "Ограничения",
+       "passwordpolicies-policy-minimalpasswordlength": "Пароль должен быть длиной не менее $1 {{PLURAL:$1|символа|символов}}",
+       "passwordpolicies-policy-minimumpasswordlengthtologin": "Пароль должен быть длиной не менее $1 {{PLURAL:$1|символа|символов}}, чтобы участник мог войти в свою учётную запись",
+       "passwordpolicies-policy-passwordcannotmatchusername": "Пароль не может совпадать с названием учётной записи",
+       "passwordpolicies-policy-passwordcannotmatchblacklist": "Пароль не может совпадать ни с одним паролем, внесённым в чёрный список",
+       "passwordpolicies-policy-maximalpasswordlength": "Пароль должен быть короче $1 {{PLURAL:$1|символа|символов}}",
+       "passwordpolicies-policy-passwordcannotbepopular": "Пароль не может соответствовать {{PLURAL:$1|самому часто используемому паролю|какому-либо из $1 самых часто используемых паролей}}"
 }
index fc487f7..0b1f038 100644 (file)
        "whatlinkshere": "Одказы на тоту сторінку",
        "whatlinkshere-title": "Сторінкы, што ся одказують на \"$1\"",
        "whatlinkshere-page": "Сторінка:",
-       "linkshere": "Наслїдуючі сторінкы ся одказують на '''[[:$1]]''':",
-       "nolinkshere": "Жадна сторінка на '''[[:$1]]''' не одказує.",
-       "nolinkshere-ns": "У выбранім просторї назв на '''[[:$1]]''' не одказує жадна сторінка.",
+       "linkshere-2": "Наслїдуючі сторінкы ся одказують на '''$1''':",
+       "nolinkshere-2": "Жадна сторінка на '''$1''' не одказує.",
+       "nolinkshere-ns-2": "У выбранім просторї назв на '''$1''' не одказує жадна сторінка.",
        "isredirect": "сторінка напрямлена",
        "istemplate": "вложіня",
        "isimage": "Одказ на файл",
        "fileduplicatesearch-noresults": "Файл з назвов «$1» ненайдженый.",
        "specialpages": "Шпеціалны сторінкы",
        "specialpages-note-top": "Леґенда",
+       "specialpages-note-restricted": "* Звычайны шпеціалны сторінкы.\n* <span class=\"mw-specialpagerestricted\">Шпеціалны сторінкы з&nbsp;обмедженым приступом</span>\n* <span class=\"mw-specialpagecached\">Кешованы шпеціалны сторінкы</span>",
        "specialpages-group-maintenance": "Технічны репорты",
        "specialpages-group-other": "Іншы",
        "specialpages-group-login": "Приголошіня / створїня конта",
index 857ba29..6b9a08a 100644 (file)
        "whatlinkshere": "अनेन सह सम्बद्धाः",
        "whatlinkshere-title": "\"$1\" सम्बद्धानि पृष्ठानि",
        "whatlinkshere-page": "पृष्ठम्:",
-       "linkshere": "'''[[:$1]]''' इत्यनेन सह अधो लिखितानां पृष्ठानां परिसन्धिं करोतु:",
-       "nolinkshere": "'''[[:$1]]''' इत्यनेन सह न किमपि पृष्ठं परिसन्धितम्",
-       "nolinkshere-ns": "चितनामस्थानात्  '''[[:$1]]''' इत्येनं योजनयोग्यं पृष्ठं नास्ति  ।",
+       "linkshere-2": "'''$1''' इत्यनेन सह अधो लिखितानां पृष्ठानां परिसन्धिं करोतु:",
+       "nolinkshere-2": "'''$1''' इत्यनेन सह न किमपि पृष्ठं परिसन्धितम्",
+       "nolinkshere-ns-2": "चितनामस्थानात्  '''$1''' इत्येनं योजनयोग्यं पृष्ठं नास्ति  ।",
        "isredirect": "अनुप्रेषण-पृष्ठम्",
        "istemplate": "अन्यलेखभागः (transclusion)",
        "isimage": "सञ्चिकासम्बन्धः",
        "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": "प्रविश्यताम् / लेखा सृज्यताम्",
index 3f6a245..3dc7eb0 100644 (file)
        "whatlinkshere": "Манна сигэнэллэр",
        "whatlinkshere-title": "Сирэй манна сигэнэр \"$1\"",
        "whatlinkshere-page": "Сирэй:",
-       "linkshere": "'''[[:$1]]''' билэҕэ манна көрдөрүллүбүт сирэйдэр сигэнэллэр:",
-       "nolinkshere": "'''[[:$1]]''' сирэйгэ сигэнэр сирэйдэр суохтар.",
-       "nolinkshere-ns": "Талыллыбыт бөлөххө (namespace) бу '''[[:$1]]''' сирэйгэ сигэнэр сирэйдэр суохтар.",
+       "linkshere-2": "'''$1''' билэҕэ манна көрдөрүллүбүт сирэйдэр сигэнэллэр:",
+       "nolinkshere-2": "'''$1''' сирэйгэ сигэнэр сирэйдэр суохтар.",
+       "nolinkshere-ns-2": "Талыллыбыт бөлөххө (namespace) бу '''$1''' сирэйгэ сигэнэр сирэйдэр суохтар.",
        "isredirect": "көлбөрүтэр сирэй",
        "istemplate": "иһинээҕи",
        "isimage": "билэ сигэтэ",
index 81537a0..16618df 100644 (file)
        "whatlinkshere": "ᱱᱚᱸᱰᱮ ᱫᱚ ᱪᱮᱫ ᱡᱚᱱᱚᱲ ᱠᱳ",
        "whatlinkshere-title": "ᱚᱠᱟ ᱥᱟᱦᱴᱟ ᱠᱚᱫᱚ \"$1\" ᱨᱮ ᱡᱚᱱᱚᱲ ᱢᱮᱱᱟᱜ-ᱟ",
        "whatlinkshere-page": "ᱥᱟᱦᱴᱟ:",
-       "linkshere": "ᱞᱟᱛᱟᱨ ᱨᱮᱭᱟᱜ ᱥᱟᱦᱴᱟᱠᱚ ᱫᱚ <strong>[[:$1]]</strong> ᱥᱟᱶ ᱡᱚᱱᱚᱲ ᱢᱮᱱᱟᱜ-ᱟ :",
-       "nolinkshere": "ᱥᱟᱦᱴᱟ ᱡᱚᱱᱚᱲ ᱵᱟᱱᱩᱜ-ᱟ ᱱᱤᱭᱟᱹ <strong>[[:$1]]</strong>.",
+       "linkshere-2": "ᱞᱟᱛᱟᱨ ᱨᱮᱭᱟᱜ ᱥᱟᱦᱴᱟᱠᱚ ᱫᱚ <strong>$1</strong> ᱥᱟᱶ ᱡᱚᱱᱚᱲ ᱢᱮᱱᱟᱜ-ᱟ :",
+       "nolinkshere-2": "ᱥᱟᱦᱴᱟ ᱡᱚᱱᱚᱲ ᱵᱟᱱᱩᱜ-ᱟ ᱱᱤᱭᱟᱹ <strong>$1</strong>.",
        "isredirect": "ᱵᱟᱝ ᱥᱚᱡᱽᱦᱮ ᱥᱟᱦᱴᱟ",
        "istemplate": "ᱥᱮᱞᱮᱫ",
        "isimage": "ᱨᱮᱫ ᱡᱚᱱᱚᱲ",
index 4e2d7aa..52e2f63 100644 (file)
        "whatlinkshere": "Pàginas chi ligant a custa",
        "whatlinkshere-title": "Pàginas chi ligant a \"$1\"",
        "whatlinkshere-page": "Pàgina:",
-       "linkshere": "Is pàginas chi sighint ligant a '''[[:$1]]''':",
-       "nolinkshere": "Peruna pàgina ligat a '''[[:$1]]'''.",
-       "nolinkshere-ns": "Peruna pàgina ligat a '''[[:$1]]''' in su nùmene-logu seberadu.",
+       "linkshere-2": "Is pàginas chi sighint ligant a '''$1''':",
+       "nolinkshere-2": "Peruna pàgina ligat a '''$1'''.",
+       "nolinkshere-ns-2": "Peruna pàgina ligat a '''$1''' in su nùmene-logu seberadu.",
        "isredirect": "pàgina de reindiritzamentu",
        "istemplate": "inclusione",
        "isimage": "ligòngiu a documentu",
index 65b1624..9903b2a 100644 (file)
        "whatlinkshere": "Chi punta ccà",
        "whatlinkshere-title": "Pàggini ca pùntanu a \"$1\"",
        "whatlinkshere-page": "Pàggina:",
-       "linkshere": "Sti pàggini hannu nu liami a '''[[:$1]]''':",
-       "nolinkshere": "Nudda pàggina havi nu liami a '''[[:$1]]'''.",
-       "nolinkshere-ns": "Nun ci sugnu pàggini chi puntano a '''[[:$1]]''' ntô namespace silizziunatu.",
+       "linkshere-2": "Sti pàggini hannu nu liami a '''$1''':",
+       "nolinkshere-2": "Nudda pàggina havi nu liami a '''$1'''.",
+       "nolinkshere-ns-2": "Nun ci sugnu pàggini chi puntano a '''$1''' ntô namespace silizziunatu.",
        "isredirect": "pàggina di rinnirizzamentu",
        "istemplate": "nclusioni",
        "isimage": "lijami ô file",
        "fileduplicatesearch-noresults": "Nuddu file chiamatu \"$1\" fu attruvatu.",
        "specialpages": "Pàggini spiciali",
        "specialpages-note-top": "Liggenna",
+       "specialpages-note-restricted": "* Pàggini spiciali nurmali.\n* <span class=\"mw-specialpagerestricted\">Pàggini spiciali risirvati.</strong>",
        "specialpages-group-maintenance": "Resucunti di manutinzioni",
        "specialpages-group-other": "Àutri pàggini spiciali",
        "specialpages-group-login": "Trasuta / criazzioni di cunti",
index 9de0674..b09b2ef 100644 (file)
        "whatlinkshere": "Whit airts here",
        "whatlinkshere-title": "Pages that link til \"$1\"",
        "whatlinkshere-page": "Page:",
-       "linkshere": "The follaein pages link til <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Nae pages link wi '''[[:$1]]'''.",
-       "nolinkshere-ns": "No pages aiet til <strong>[[:$1]]</strong> in the chosen namespace.",
+       "linkshere-2": "The follaein pages link til <strong>$1</strong>:",
+       "nolinkshere-2": "Nae pages link wi '''$1'''.",
+       "nolinkshere-ns-2": "No pages aiet til <strong>$1</strong> in the chosen namespace.",
        "isredirect": "reguidal page",
        "istemplate": "transclusion",
        "isimage": "file airtin",
        "fileduplicatesearch-noresults": "Naw file named \"$1\" foond.",
        "specialpages": "Byordinar pages",
        "specialpages-note-top": "The Legend",
+       "specialpages-note-restricted": "* Normal byordinair pages.\n* <span class=\"mw-specialpagerestricted\">Restreected byordinair pages.</span>",
        "specialpages-group-maintenance": "Maintenance reports",
        "specialpages-group-other": "Ither byordinair pages",
        "specialpages-group-login": "Login / cræft accoont",
index 0a17742..deec6e6 100644 (file)
        "whatlinkshere": "هتان ڇا ڳنڍيل آهي",
        "whatlinkshere-title": "\"$1\" سان ڳنڍيندڙ صفحا",
        "whatlinkshere-page": "صفحو:",
-       "linkshere": "هيٺيان صفحا <strong>[[:$1]]</strong> سان ڳنڍيل آهن:",
-       "nolinkshere": "'''[[:$1]]''' سان ڪو بہ صفحو ڳنڍيل ناهي.",
+       "linkshere-2": "هيٺيان صفحا <strong>$1</strong> سان ڳنڍيل آهن:",
+       "nolinkshere-2": "'''$1''' سان ڪو بہ صفحو ڳنڍيل ناهي.",
        "isredirect": "چورڻو صفحو",
        "istemplate": "شموليت",
        "isimage": "فائيل جو ڳنڍڻو",
index 06de033..6976bd4 100644 (file)
        "whatlinkshere": "Puntani inogghi",
        "whatlinkshere-title": "Pàgini chi pùntani a \"$1\"",
        "whatlinkshere-page": "Pàgina:",
-       "linkshere": "Li sighenti pàgini cuntenani cullegamenti a '''[[:$1]]''':",
-       "nolinkshere": "Nisciuna pàgina cunteni dei cullegamenti chi pùntani a '''[[:$1]]'''.",
-       "nolinkshere-ns": "Nò vi so pàgini chi pùntani a '''[[:$1]]''' i' lu namespace sciubaraddu.",
+       "linkshere-2": "Li sighenti pàgini cuntenani cullegamenti a '''$1''':",
+       "nolinkshere-2": "Nisciuna pàgina cunteni dei cullegamenti chi pùntani a '''$1'''.",
+       "nolinkshere-ns-2": "Nò vi so pàgini chi pùntani a '''$1''' i' lu namespace sciubaraddu.",
        "isredirect": "rinviu",
        "istemplate": "incrusioni",
        "isimage": "Cullegamentu a file",
index 7077d5e..c39abf8 100644 (file)
        "whatlinkshere": "بەسیارەگان وە ئێرە",
        "whatlinkshere-title": "ئەو پەڕەیلە ک وە «$1» بەسیار دێرن",
        "whatlinkshere-page": "پەڕە:",
-       "linkshere": "ئەی پەڕەیلە بەستیار دێرن وە '''[[:$1]]''':",
-       "nolinkshere": "هۊچ لاپەڕەێگ بەسیار وە '''[[:$1]]''' نەێرێد .",
+       "linkshere-2": "ئەی پەڕەیلە بەستیار دێرن وە '''$1''':",
+       "nolinkshere-2": "هۊچ لاپەڕەێگ بەسیار وە '''$1''' نەێرێد .",
        "isredirect": "پەڕەێ ڕەوانەکەر",
        "istemplate": "ناوتەپیاێەگان (transclusions)",
        "isimage": "بەسیار پەڕگە",
index 29fa5fc..a33423a 100644 (file)
        "sp-contributions-submit": "Oza",
        "whatlinkshere": "Siiddut mat čujuhit deike",
        "whatlinkshere-title": "Siiddut mat čujuhit $1",
-       "linkshere": "Čuovvovaš siidduin lea liŋka siidui <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Siidui <strong>[[:$1]]</strong> eai leat liŋkkat.",
-       "nolinkshere-ns": "Siidui <strong>[[:$1]]</strong> eai leat liŋkkat válljejuvvon nammagomuvuođas.",
+       "linkshere-2": "Čuovvovaš siidduin lea liŋka siidui <strong>$1</strong>:",
+       "nolinkshere-2": "Siidui <strong>$1</strong> eai leat liŋkkat.",
+       "nolinkshere-ns-2": "Siidui <strong>$1</strong> eai leat liŋkkat válljejuvvon nammagomuvuođas.",
        "isredirect": "ođđasitstivrensiidu",
        "istemplate": "lasihuvvon mállevuođđui",
        "whatlinkshere-prev": "← {{PLURAL:$1|ovddit siidu|$1 ovddit siiddu}}",
index 7308705..6e99960 100644 (file)
        "whatlinkshere": "Kaŋ ga dobu ne",
        "whatlinkshere-title": "Moɲey kaŋ ga dobu \"$1\" ga",
        "whatlinkshere-page": "Moo:",
-       "linkshere": "Moɲey wey ga dobu <strong>[[:$1]]</strong> ga:",
-       "nolinkshere": "Mooyaŋ kul ši dobu <strong>[[:$1]]</strong> ga.",
-       "nolinkshere-ns": "Mooyaŋ kul ši dobu <strong>[[:$1]]</strong> ga maafarru suubantaa ra.",
+       "linkshere-2": "Moɲey wey ga dobu <strong>$1</strong> ga:",
+       "nolinkshere-2": "Mooyaŋ kul ši dobu <strong>$1</strong> ga.",
+       "nolinkshere-ns-2": "Mooyaŋ kul ši dobu <strong>$1</strong> ga maafarru suubantaa ra.",
        "isredirect": "moo kuubi",
        "istemplate": "kanandiyan",
        "isimage": "tuku dobu",
        "fileduplicatesearch-noresults": "Tuku kul ši bara nda \"$1\" maa.  \\",
        "specialpages": "Moo cerecerantey",
        "specialpages-note-top": "Šilbaymaana",
+       "specialpages-note-restricted": "* Hankul cerecere moɲey.\n* <span class=\"mw-specialpagerestricted\">Fondo-kankamante cerecere moɲey.</span>",
        "specialpages-group-maintenance": "Alhaadimay bayrandey",
        "specialpages-group-other": "Cerecere moo taney",
        "specialpages-group-login": "Huru / kontu tee",
index e2918bd..d489059 100644 (file)
        "whatlinkshere": "Sosėjė̄ straipsnē",
        "whatlinkshere-title": "Poslapē, katrėi ruod i \"$1\"",
        "whatlinkshere-page": "Poslapis:",
-       "linkshere": "Anėi poslapē ruod i '''[[:$1]]''':",
-       "nolinkshere": "I '''[[:$1]]''' nūruodu nier.",
-       "nolinkshere-ns": "Nurodītuo vardū srėtī anė vėins poslapis neruod i '''[[:$1]]'''.",
+       "linkshere-2": "Anėi poslapē ruod i '''$1''':",
+       "nolinkshere-2": "I '''$1''' nūruodu nier.",
+       "nolinkshere-ns-2": "Nurodītuo vardū srėtī anė vėins poslapis neruod i '''$1'''.",
        "isredirect": "nusokėma poslapis",
        "istemplate": "īspraudėms",
        "isimage": "abruozdielė nūruoda",
        "fileduplicatesearch-info": "$1 × $2 pėkseliu<br />Faila dėdoms: $3<br />MIME tėps: $4",
        "specialpages": "Specēlė̄jė poslapē",
        "specialpages-note-top": "Pāiškėnėmā",
+       "specialpages-note-restricted": "* Normalūs specēlė̅jė puslapē.\n* <strong class=\"mw-specialpagerestricted\">Apribuotė specēlė̅jė puslapē.</strong>",
        "specialpages-group-maintenance": "Sėstemas palaikīma pranešėmā",
        "specialpages-group-other": "Kėtė specēlė̄jė poslapē",
        "specialpages-group-login": "Prisėjongėms / Registracėjė",
index 7290d42..d775349 100644 (file)
        "whatlinkshere": "Što upućuje ovamo",
        "whatlinkshere-title": "Stranice koje vode / Странице које воде до $1",
        "whatlinkshere-page": "Stranica:",
-       "linkshere": "Sljedeće stranice vode na '''[[:$1]]''':",
-       "nolinkshere": "Nema linkova na '''[[:$1]]'''.",
-       "nolinkshere-ns": "Nijedna stranica nije povezana sa '''[[:$1]]''' u odabranom imenskom prostoru.",
+       "linkshere-2": "Sljedeće stranice vode na '''$1''':",
+       "nolinkshere-2": "Nema linkova na '''$1'''.",
+       "nolinkshere-ns-2": "Nijedna stranica nije povezana sa '''$1''' u odabranom imenskom prostoru.",
        "isredirect": "preusmjeri stranicu",
        "istemplate": "kao šablon",
        "isimage": "link na datoteku",
        "fileduplicatesearch-result-n": "Datoteka \"$1\" ima {{PLURAL:$2|1 identičnog|$2 identična|$2 identičnih}} dvojnika.",
        "fileduplicatesearch-noresults": "Nije pronađena datoteka sa imenom \"$1\".",
        "specialpages": "Posebne stranice",
+       "specialpages-note-restricted": "* Normalne posebne stranice.\n* <span class=\"mw-specialpagerestricted\">Ograničene posebne stranice.</span>\n* <span class=\"mw-specialpagecached\">Keširane posebne stranice (mogu biti zastarjele).</span>",
        "specialpages-group-maintenance": "Izvještaji o održavanju / Извјештаји о одржавању",
        "specialpages-group-other": "Ostale posebne stranice - Остале посебне странице",
        "specialpages-group-login": "Prijava / Пријава",
index 7d7adf5..1e52adb 100644 (file)
        "whatlinkshere": "ⵎⴰⴷ ⵉⵜⵜⴰⵡⵉⵏ ⵙ ⵖⵉⴷ",
        "whatlinkshere-title": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵜⵜⴰⵡⵉⵏⵉⵏ ⵙ \"$1\"",
        "whatlinkshere-page": "ⵜⴰⵙⵏⴰ:",
-       "linkshere": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⴰⴷ ⴹⴼⴰⵔⵏⵉⵏ ⴰⵔ ⵜⵜⴰⵡⵉⵏⵜ ⵙ <strong>[[:$1]]</strong>:",
-       "nolinkshere": "ⵓⵍⴰ ⴽⵔⴰ ⵏ ⵜⴰⵙⵏⴰ ⵓⵔ ⴰⵔ ⵜⴻⵜⵜⴰⵡⵉ ⵙ <strong>[[:$1]]</strong>.",
-       "nolinkshere-ns": "Ur tlla kra n tasna izdin d  '''[[:$1]]''' ɣ tɣult l-ittuystayn.",
+       "linkshere-2": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⴰⴷ ⴹⴼⴰⵔⵏⵉⵏ ⴰⵔ ⵜⵜⴰⵡⵉⵏⵜ ⵙ <strong>$1</strong>:",
+       "nolinkshere-2": "ⵓⵍⴰ ⴽⵔⴰ ⵏ ⵜⴰⵙⵏⴰ ⵓⵔ ⴰⵔ ⵜⴻⵜⵜⴰⵡⵉ ⵙ <strong>$1</strong>.",
+       "nolinkshere-ns-2": "Ur tlla kra n tasna izdin d  '''$1''' ɣ tɣult l-ittuystayn.",
        "isredirect": "Tasna immutin",
        "istemplate": "Illa gis",
        "isimage": "ⴰⵍⵉⵏⴽ ⵏ ⵓⴼⴰⵢⵍⵓ",
index d886354..62a1800 100644 (file)
        "whatlinkshere": "ႁဵင်းၵွင်ႉ ဢၼ်မီးတီႈၼႆႈပဵၼ်သင်",
        "whatlinkshere-title": "ၼႃႈလိၵ်ႈၸိူဝ်းလိင်ႉၸူး \"$1\"",
        "whatlinkshere-page": "ၼႃႈလိၵ်ႈ",
-       "linkshere": "ၼႃႈလိၵ်ႈၽၢႆႇတႂ်ႈၼႆႉ မၼ်းၵွင်ႉသၢၼ် ဝႆႉၸူး <strong>[[:$1]]</strong>:",
-       "nolinkshere": "ဢမ်ႇမီးၼႃႈလိၵ်ႈ ၸိူဝ်းၵွင်ႉၸူး<strong>[[:$1]]</strong>.",
-       "nolinkshere-ns": "ဢမ်ႇမီးၼႃႈလိၵ်ႈ ၸိူဝ်းၵွင်ႉၸူး <strong>[[:$1]]</strong>တီႈၼႂ်း လွၵ်းၸိုဝ်ႈ ဢၼ်လိူၵ်ႈဝႆႉၼၼ်ႉ။",
+       "linkshere-2": "ၼႃႈလိၵ်ႈၽၢႆႇတႂ်ႈၼႆႉ မၼ်းၵွင်ႉသၢၼ် ဝႆႉၸူး <strong>$1</strong>:",
+       "nolinkshere-2": "ဢမ်ႇမီးၼႃႈလိၵ်ႈ ၸိူဝ်းၵွင်ႉၸူး<strong>$1</strong>.",
+       "nolinkshere-ns-2": "ဢမ်ႇမီးၼႃႈလိၵ်ႈ ၸိူဝ်းၵွင်ႉၸူး <strong>$1</strong>တီႈၼႂ်း လွၵ်းၸိုဝ်ႈ ဢၼ်လိူၵ်ႈဝႆႉၼၼ်ႉ။",
        "isredirect": "ပိၼ်ႇႁူဝ်ၼႃႈလိၵ်ႈ",
        "istemplate": "တူဝ်ၶဝ်ႈပႃး",
        "isimage": "ၾၢႆႇၵွင်ႉ",
index 1618bf5..277a0c9 100644 (file)
        "whatlinkshere": "මෙතනට සබැඳෙන්නේ කුමක්ද",
        "whatlinkshere-title": "\"$1\" වෙත සබැ‍ඳෙන පිටු",
        "whatlinkshere-page": "පිටුව:",
-       "linkshere": "ඉදිරියෙහි දැක්වෙන පිටු, '''[[:$1]]''' වෙත සබැඳෙයි:",
-       "nolinkshere": "'''[[:$1]]''' වෙත කිසිදු පිටුවක් සබැඳී නොමැත.",
-       "nolinkshere-ns": "තෝරාගෙන ඇති නාම-අවකාශය තුලදී, කිසිදු පිටුවක්, '''[[:$1]]''' වෙත නොබැඳෙයි.",
+       "linkshere-2": "ඉදිරියෙහි දැක්වෙන පිටු, '''$1''' වෙත සබැඳෙයි:",
+       "nolinkshere-2": "'''$1''' වෙත කිසිදු පිටුවක් සබැඳී නොමැත.",
+       "nolinkshere-ns-2": "තෝරාගෙන ඇති නාම-අවකාශය තුලදී, කිසිදු පිටුවක්, '''$1''' වෙත නොබැඳෙයි.",
        "isredirect": "පිටුව යළි-යොමුකරන්න",
        "istemplate": "අන්තහ්කරණය",
        "isimage": "ගොනු සබැඳිය",
        "fileduplicatesearch-noresults": "\"$1\" නමින් ගොනුවක් හමු නොවුණි",
        "specialpages": "විශේෂ පිටු",
        "specialpages-note-top": "ප්‍රබන්ධය",
+       "specialpages-note-restricted": "* සාමාන්‍ය විශේෂ පිටු.\n* <span class=\"mw-specialpagerestricted\">සීමිත විශේෂ පිටු.</span>\n* <span class=\"mw-specialpagecached\">සීමිත කළ වි‍ශේෂ පිටු.</span>",
        "specialpages-group-maintenance": "නඩත්තු වාර්තා",
        "specialpages-group-other": "අනෙකුත් විශේෂ පිටු",
        "specialpages-group-login": "පිවිසෙන්න / ගිණුමක් තනන්න",
index a5f5931..7518cc7 100644 (file)
        "whatlinkshere": "Odkazy na túto stránku",
        "whatlinkshere-title": "Stránky odkazujúce na „$1“",
        "whatlinkshere-page": "Page:",
-       "linkshere": "Nasledujúce stránky odkazujú na '''[[:$1]]''':",
-       "nolinkshere": "Žiadne stránky neodkazujú na '''[[:$1]]'''.",
-       "nolinkshere-ns": "Žiadne stránky neodkazujú na '''[[:$1]]''' vo zvolenom mennom priestore.",
+       "linkshere-2": "Nasledujúce stránky odkazujú na '''$1''':",
+       "nolinkshere-2": "Žiadne stránky neodkazujú na '''$1'''.",
+       "nolinkshere-ns-2": "Žiadne stránky neodkazujú na '''$1''' vo zvolenom mennom priestore.",
        "isredirect": "presmerovacia stránka",
        "istemplate": "použitá",
        "isimage": "odkaz na súbor",
        "fileduplicatesearch-noresults": "Súbor s názvom „$1“ nebol nájdený.",
        "specialpages": "Špeciálne stránky",
        "specialpages-note-top": "Legenda",
+       "specialpages-note-restricted": "* Bežné špeciálne stránky.\n* <strong class=\"mw-specialpagerestricted\">Špeciálne stránky s obmedzeným prístupom.</strong>",
        "specialpages-group-maintenance": "Údržbové správy",
        "specialpages-group-other": "Iné špeciálne stránky",
        "specialpages-group-login": "Prihlásenie / registrácia",
index d549a85..588058b 100644 (file)
        "whatlinkshere": "مربوط ورقے",
        "whatlinkshere-title": "«$1» دے نال جُڑے ہوے ورقے",
        "whatlinkshere-page": "ورقہ",
-       "linkshere": "<strong>[[:$1]]</strong> نال درج ذیل ورقے مربوط ہن:",
-       "nolinkshere": "<strong>[[:$1]]</strong> نال کوئی ورقہ مربوط کائنی۔",
+       "linkshere-2": "<strong>$1</strong> نال درج ذیل ورقے مربوط ہن:",
+       "nolinkshere-2": "<strong>$1</strong> نال کوئی ورقہ مربوط کائنی۔",
        "isredirect": "ورقہ ریڈائریکٹ کرو",
        "istemplate": "شامل شدہ",
        "isimage": "فائل دا ربط",
index c5a1874..db23653 100644 (file)
        "whatlinkshere": "Kaj se povezuje sem",
        "whatlinkshere-title": "Strani, ki se povezujejo na $1",
        "whatlinkshere-page": "Stran:",
-       "linkshere": "Na '''[[:$1]]''' kažejo naslednje strani:",
-       "nolinkshere": "Nobena stran ne kaže na '''[[:$1]]'''.",
-       "nolinkshere-ns": "Nobena stran se ne povezuje na '''[[:$1]]''' v izbranem imenskem prostoru.",
+       "linkshere-2": "Na '''$1''' kažejo naslednje strani:",
+       "nolinkshere-2": "Nobena stran ne kaže na '''$1'''.",
+       "nolinkshere-ns-2": "Nobena stran se ne povezuje na '''$1''' v izbranem imenskem prostoru.",
        "isredirect": "preusmeritvena stran",
        "istemplate": "vključitev",
        "isimage": "povezava na datoteko",
index 41e2e1b..e468f4d 100644 (file)
        "whatlinkshere": "Links uff de Seite",
        "whatlinkshere-title": "Seyta, de uff „$1“ verlinka",
        "whatlinkshere-page": "Seite:",
-       "linkshere": "De folgenden Seyta verlinka uff '''„[[:$1]]“''':",
-       "nolinkshere": "Kenne Seite verlinkt uff '''„[[:$1]]“'''.",
-       "nolinkshere-ns": "Kenne Seite verlinkt uff '''„[[:$1]]“''' eim gewählta Noamasraum.",
+       "linkshere-2": "De folgenden Seyta verlinka uff '''„$1“''':",
+       "nolinkshere-2": "Kenne Seite verlinkt uff '''„$1“'''.",
+       "nolinkshere-ns-2": "Kenne Seite verlinkt uff '''„$1“''' eim gewählta Noamasraum.",
        "isredirect": "Weiterleitungsseyte",
        "istemplate": "Vorlageneinbindung",
        "isimage": "Dateilink",
        "fileduplicatesearch-result-1": "De Datei „$1“ hoot keene identischa Duplikate.",
        "fileduplicatesearch-result-n": "De Datei „$1“ hoot {{PLURAL:$2|1 identisches Duplikat|$2 identische Duplikate}}.",
        "specialpages": "Spezialseyta",
+       "specialpages-note-restricted": "* Spezialseyta fier Jedermoan\n* <strong class=\"mw-specialpagerestricted\">Spezialseyta fier Nutzer miet erweiterta Rechta</strong>",
        "specialpages-group-other": "Andere Spezialseyta",
        "specialpages-group-login": "Oamelda",
        "specialpages-group-changes": "Letzte Änderunga und Logbicher",
index c043222..1aac592 100644 (file)
        "whatlinkshere": "Maxaa meeshaan la xiriiro",
        "whatlinkshere-title": "Boggaga la xiriiro \"$1\"",
        "whatlinkshere-page": "Bogga:",
-       "linkshere": "Bogyaashaan waxey la xiriiraan  '''[[:$1]]''':",
-       "nolinkshere": "Boggag la xiriiro   '''[[:$1]]''' ma jirto.",
+       "linkshere-2": "Bogyaashaan waxey la xiriiraan  '''$1''':",
+       "nolinkshere-2": "Boggag la xiriiro   '''$1''' ma jirto.",
        "isredirect": "bogga loo sii toosiyay",
        "istemplate": "ku jiri kara",
        "isimage": "faylka la xiriiro",
index 0654224..a0cf5bf 100644 (file)
        "whatlinkshere": "Lidhjet këtu",
        "whatlinkshere-title": "Faqe që lidhen tek $1",
        "whatlinkshere-page": "Faqja:",
-       "linkshere": "Faqet e mëposhtme lidhen këtu '''[[:$1]]''':",
-       "nolinkshere": "Asnjë faqe nuk lidhet tek '''[[:$1]]'''.",
-       "nolinkshere-ns": "Nuk ka faqe në hapësirën e zgjedhur që lidhen tek '''[[:$1]]'''.",
+       "linkshere-2": "Faqet e mëposhtme lidhen këtu '''$1''':",
+       "nolinkshere-2": "Asnjë faqe nuk lidhet tek '''$1'''.",
+       "nolinkshere-ns-2": "Nuk ka faqe në hapësirën e zgjedhur që lidhen tek '''$1'''.",
        "isredirect": "faqe përcjellëse",
        "istemplate": "përfshirë",
        "isimage": "Lidhja e dokumentit",
        "fileduplicatesearch-noresults": "Nuk u gjet asnjë skedë me emrin \"$1\".",
        "specialpages": "Faqet speciale",
        "specialpages-note-top": "Legjenda",
+       "specialpages-note-restricted": "* Faqet speciale normale.\n* <span class=\"mw-specialpagerestricted\">Faqet speciale të kufizuara.</span>",
        "specialpages-group-maintenance": "Përmbledhje mirëmbajtjeje",
        "specialpages-group-other": "Faqe speciale të tjera",
        "specialpages-group-login": "Hyrë / hap llogari",
index c0e0968..e7a03f1 100644 (file)
        "whatlinkshere": "Шта води овде",
        "whatlinkshere-title": "Странице које су повезане са „$1”",
        "whatlinkshere-page": "Страница:",
-       "linkshere": "Следеће странице имају везу до <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Ниједна страница није повезана са: <strong>[[:$1]]</strong>.",
-       "nolinkshere-ns": "Ниједна страница не води до '''[[:$1]]''' у изабраном именском простору.",
+       "linkshere-2": "Следеће странице имају везу до <strong>$1</strong>:",
+       "nolinkshere-2": "Ниједна страница није повезана са: <strong>$1</strong>.",
+       "nolinkshere-ns-2": "Ниједна страница не води до '''$1''' у изабраном именском простору.",
        "isredirect": "преусмерење",
        "istemplate": "укључивање",
        "isimage": "веза до датотеке",
index f464cf2..d947d2a 100644 (file)
        "whatlinkshere": "Šta vodi ovde",
        "whatlinkshere-title": "Stranice koje su povezane sa „$1”",
        "whatlinkshere-page": "Stranica:",
-       "linkshere": "Sledeće stranice imaju vezu do '''[[:$1]]''':",
-       "nolinkshere": "Nijedna stranica nije povezana sa: '''[[:$1]]'''.",
-       "nolinkshere-ns": "Nijedna stranica ne vodi do '''[[:$1]]''' u izabranom imenskom prostoru.",
+       "linkshere-2": "Sledeće stranice imaju vezu do '''$1''':",
+       "nolinkshere-2": "Nijedna stranica nije povezana sa: '''$1'''.",
+       "nolinkshere-ns-2": "Nijedna stranica ne vodi do '''$1''' u izabranom imenskom prostoru.",
        "isredirect": "preusmerenje",
        "istemplate": "uključivanje",
        "isimage": "veza ka datoteci",
index 322487c..7d99603 100644 (file)
        "sp-contributions-submit": "Suku",
        "whatlinkshere": "San e miti kon dyaso",
        "whatlinkshere-title": "Papira di e sori go na $1",
-       "linkshere": "Den papira disi e miti go na '''[[:$1]]''':",
-       "nolinkshere": "No wan papira e miti kon na '''[[:$1]]'''.",
+       "linkshere-2": "Den papira disi e miti go na '''$1''':",
+       "nolinkshere-2": "No wan papira e miti kon na '''$1'''.",
        "isredirect": "papira fu drai go",
        "istemplate": "poti leki wan template",
        "whatlinkshere-prev": "{{PLURAL:$1|a wan|den $1}} di psa",
index 61b8e02..78536c6 100644 (file)
        "whatlinkshere": "Links ap disse Siede",
        "whatlinkshere-title": "Sieden, do der ap \"$1\" linkje",
        "whatlinkshere-page": "Siede:",
-       "linkshere": "Do foulgjende Sieden ferwiese hierhäär:  '''[[:$1]]''': <br /><small>(Moonige Sieden wäide eventuell moorfooldich liested, konnen in säildene Falle oawers uk miste. Dät kumt fon oolde Failere in dän Software häär, man skoadet fääre niks.)</small>",
-       "nolinkshere": "Naan Artikkel ferwiest hierhäär: '''[[:$1]]'''.",
-       "nolinkshere-ns": "Neen Siede ferlinket ap '''„[[:$1]]“''' in dän wäälde Noomensruum.",
+       "linkshere-2": "Do foulgjende Sieden ferwiese hierhäär:  '''$1''': <br /><small>(Moonige Sieden wäide eventuell moorfooldich liested, konnen in säildene Falle oawers uk miste. Dät kumt fon oolde Failere in dän Software häär, man skoadet fääre niks.)</small>",
+       "nolinkshere-2": "Naan Artikkel ferwiest hierhäär: '''$1'''.",
+       "nolinkshere-ns-2": "Neen Siede ferlinket ap '''„$1“''' in dän wäälde Noomensruum.",
        "isredirect": "Fäärelaitengs-Siede",
        "istemplate": "Foarloagenienbiendenge",
        "isimage": "Doatäilink",
        "fileduplicatesearch-result-n": "Ju Doatäi „$1“ häd {{PLURAL:$2|1 identisk Duplikoat|$2 identiske Duplikoate}}.",
        "fileduplicatesearch-noresults": "Der wuud neen Doatäi mäd Noome \"$1\" fuunen.",
        "specialpages": "Spezioalsieden",
+       "specialpages-note-restricted": "* Reguläre Spezioalsieden\n* <span class=\"mw-specialpagerestricted\">Tougriepsbeskränkede Spezioalsieden</span>\n* <span class=\"mw-specialpagecached\">Cachegenerierde Spezioalsieden</span>",
        "specialpages-group-maintenance": "Fersuurgengsliesten",
        "specialpages-group-other": "Uur Spezioalsieden",
        "specialpages-group-login": "Anmäldje",
index 5c7309c..f76272f 100644 (file)
        "whatlinkshere": "Мынта ссылкалар",
        "whatlinkshere-title": "«$1» питкә йебәргән питләр",
        "whatlinkshere-page": "Пит:",
-       "linkshere": "''[[:$1]]''' питкә киләсе питләр тайанатылар:",
-       "nolinkshere": "[[:$1]] питкә пер питтән тә ссылка йуҡ.",
+       "linkshere-2": "''$1''' питкә киләсе питләр тайанатылар:",
+       "nolinkshere-2": "$1 питкә пер питтән тә ссылка йуҡ.",
        "isredirect": "йусыҡлау пит",
        "istemplate": "ҡушылыу",
        "isimage": "файллы ссылка",
index a52f6d4..0e93458 100644 (file)
        "whatlinkshere": "Anu nutumbu ka dieu",
        "whatlinkshere-title": "Kaca anu nutumbu ka \"$1\"",
        "whatlinkshere-page": "Kaca:",
-       "linkshere": "Kaca di handap ieu numbu ka '''[[:$1]]''':",
-       "nolinkshere": "Euweuh kaca anu nutumbu ka <strong>[[:$1]]</strong>.",
-       "nolinkshere-ns": "Euweuh kaca anu nutumbu ka <strong>[[:$1]]</strong> dina ruang-nama anu dipilih.",
+       "linkshere-2": "Kaca di handap ieu numbu ka '''$1''':",
+       "nolinkshere-2": "Euweuh kaca anu nutumbu ka <strong>$1</strong>.",
+       "nolinkshere-ns-2": "Euweuh kaca anu nutumbu ka <strong>$1</strong> dina ruang-nama anu dipilih.",
        "isredirect": "Kaca alihan",
        "istemplate": "ku citakan",
        "isimage": "tutumbu berkas",
index 6bf1e4f..3765b04 100644 (file)
        "protectedtitles-submit": "Visa titlar",
        "listusers": "Användarlista",
        "listusers-editsonly": "Visa endast användare som redigerat",
+       "listusers-temporarygroupsonly": "Visa endast användare i tillfälliga användargrupper",
        "listusers-creationsort": "Sortera efter datum skapat",
        "listusers-desc": "Sortera i fallande ordning",
        "usereditcount": "$1 {{PLURAL:$1|redigering|redigeringar}}",
        "apisandbox-dynamic-parameters-add-label": "Lägg till parameter:",
        "apisandbox-dynamic-parameters-add-placeholder": "Parameternamn",
        "apisandbox-dynamic-error-exists": "En parameter som heter \"$1\" finns redan.",
+       "apisandbox-templated-parameter-reason": "Denna [[Special:ApiHelp/main#main/templatedparams|mallparameter]] erbjuds baserat på {{PLURAL:$1|värdet|värden}} i $2.",
        "apisandbox-deprecated-parameters": "Föråldrade parametrar",
        "apisandbox-fetch-token": "Fyll i nyckeln automatiskt",
        "apisandbox-add-multi": "Lägg till",
        "whatlinkshere": "Vad som länkar hit",
        "whatlinkshere-title": "Sidor som länkar till \"$1\"",
        "whatlinkshere-page": "Sida:",
-       "linkshere": "Följande sidor länkar till <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Inga sidor länkar till <strong>[[:$1]]</strong>.",
-       "nolinkshere-ns": "Inga sidor i den angivna namnrymden länkar till <strong>[[:$1]]</strong>.",
+       "linkshere-2": "Följande sidor länkar till <strong>$1</strong>:",
+       "nolinkshere-2": "Inga sidor länkar till <strong>$1</strong>.",
+       "nolinkshere-ns-2": "Inga sidor i den angivna namnrymden länkar till <strong>$1</strong>.",
        "isredirect": "omdirigeringssida",
        "istemplate": "inkluderad som mall",
        "isimage": "fillänk",
        "pagedata-text": "Denna sida tillhandahåller ett datagränssnitt till sidor. Ange sidans titel i webbadressen med hjälp av undersidesyntax.\n* Innehållsförhandling gäller baserat på att din klients Accept-header. Detta innebär att siddatan kommer att tillhandahållas i det format som din klient föredrar.",
        "pagedata-not-acceptable": "Inga matchande format finns. MIME-typer som stöds:$1",
        "pagedata-bad-title": "Ogiltig titel: $1.",
-       "unregistered-user-config": "Av säkerhetsskäl kan inte undersidor med JavaScript, CSS och JSON läsas in för oregistrerade användare."
+       "unregistered-user-config": "Av säkerhetsskäl kan inte undersidor med JavaScript, CSS och JSON läsas in för oregistrerade användare.",
+       "passwordpolicies": "Lösenordspolicyer",
+       "passwordpolicies-summary": "Detta är en lista över effektiva lösenordspolicyer för användargrupper som definieras i denna wiki.",
+       "passwordpolicies-group": "Grupp",
+       "passwordpolicies-policies": "Policyer",
+       "passwordpolicies-policy-minimalpasswordlength": "Lösenordet måste vara minst $1 {{PLURAL:$1|tecken}} långt",
+       "passwordpolicies-policy-minimumpasswordlengthtologin": "Lösenordet måste vara minst $1 {{PLURAL:$1|tecken}} långt för att kunna logga in",
+       "passwordpolicies-policy-passwordcannotmatchusername": "Lösenordet kan inte vara likadant som användarnamnet",
+       "passwordpolicies-policy-passwordcannotmatchblacklist": "Lösenordet kan inte matcha specifikt svartlistade lösenord",
+       "passwordpolicies-policy-maximalpasswordlength": "Lösenordet måste vara högst $1 {{PLURAL:$1|tecken}} långt",
+       "passwordpolicies-policy-passwordcannotbepopular": "Lösenordet kan inte vara {{PLURAL:$1|det populäraste lösenordet|i listan över de $1 populäraste lösenorden}}"
 }
index 30f1355..ae02942 100644 (file)
        "whatlinkshere": "Viungo viungavyo ukurasa huu",
        "whatlinkshere-title": "Kurasa zilizounganishwa na \"$1\"",
        "whatlinkshere-page": "Ukurasa:",
-       "linkshere": "Kurasa zifuatazo zimeunganishwa na '''[[:$1]]''':",
-       "nolinkshere": "Hakuna kurasa zilizounganishwa na '''[[:$1]]'''.",
-       "nolinkshere-ns": "Hakuna kurasa zilizounganishwa na '''[[:$1]]''' katika eneo la wiki lililochaguliwa.",
+       "linkshere-2": "Kurasa zifuatazo zimeunganishwa na '''$1''':",
+       "nolinkshere-2": "Hakuna kurasa zilizounganishwa na '''$1'''.",
+       "nolinkshere-ns-2": "!!FUZZY!!!!FUZZY!!Hakuna kurasa zilizounganishwa na '''$1''' katika eneo la wiki lililochaguliwa.",
        "isredirect": "elekeza ukurasa",
        "istemplate": "jumuisho",
        "isimage": "kiungo cha faili",
        "fileduplicatesearch-noresults": "Faili linaloitwa \"$1\" halikupatikana.",
        "specialpages": "Kurasa maalum",
        "specialpages-note-top": "Simulizi",
+       "specialpages-note-restricted": "* Kurasa maalum za kawaida.\n* <span class=\"mw-specialpagerestricted\">Kurasa maalum zisizoonekana na wote.</span>\n* <span class=\"mw-specialpagecached\">Kurasa maalum zinazotoka \"cache\" (might be obsolete).</span>",
        "specialpages-group-maintenance": "Ripoti za kurekebisha na kutunza kurasa",
        "specialpages-group-other": "Kurasa maalum zingine",
        "specialpages-group-login": "Ingia / sajili akaunti",
index 3a94c67..a393e81 100644 (file)
        "whatlinkshere": "Co sam linkuje",
        "whatlinkshere-title": "Zajty, kere linkujům na \"$1\"",
        "whatlinkshere-page": "Zajta:",
-       "linkshere": "Nastympůjůnce zajty sóm adrésůwane do '''[[:$1]]''':",
-       "nolinkshere": "Żodno zajta ńy je adrésowana do '''[[:$1]]'''.",
-       "nolinkshere-ns": "Žodno zajta ńy je adresowano do '''[[:$1]]''' we wybrany přestřyni mjan.",
+       "linkshere-2": "Nastympůjůnce zajty sóm adrésůwane do '''$1''':",
+       "nolinkshere-2": "Żodno zajta ńy je adrésowana do '''$1'''.",
+       "nolinkshere-ns-2": "Žodno zajta ńy je adresowano do '''$1''' we wybrany přestřyni mjan.",
        "isredirect": "překerowujůnca zajta",
        "istemplate": "dołůnczony muster",
        "isimage": "Link do plika",
        "fileduplicatesearch-result-1": "Ńy ma duplikatu pliku „$1”.",
        "fileduplicatesearch-result-n": "We {{GRAMMAR:MS.lp|{{SITENAME}}}} {{PLURAL:$2|je dodatkowo kopia|sům $2 dodatkowe kopje|je $2 dodatkowych kopii}} plika „$1”.",
        "specialpages": "Szpecjalne zajty",
+       "specialpages-note-restricted": "* Ekstra zajty uogůlńy dostympne.\n* <strong class=\"mw-specialpagerestricted\">Ekstra zajty do kerych dostymp je uograńiczůny.</strong>",
        "specialpages-group-maintenance": "Raporty kůnserwacyjne",
        "specialpages-group-other": "Inkše ekstra zajty",
        "specialpages-group-login": "Logowańy / regisztrowańy",
index 69121fa..b2ffaad 100644 (file)
        "whatlinkshere": "இப்பக்கத்தை இணைத்தவை",
        "whatlinkshere-title": "\"$1\" பக்கத்துக்கு இணைக்கப்பட்டவை",
        "whatlinkshere-page": "பக்கம்:",
-       "linkshere": "'''[[:$1]]''' பின்வரும் பக்கங்களில் இப்பக்கம் இணைக்கப்பட்டுள்ளது:",
-       "nolinkshere": "'''[[:$1]]''' எந்தப் பக்கத்திலும் இந்தப் பக்கம் இணைக்கப்படவில்லை.",
-       "nolinkshere-ns": "தெரிவு செய்யப்பட்ட பெயர்வெளியில் '''[[:$1]]''' பக்கத்துக்கு இணைக்கப்பட்ட பக்கங்கள் எதுவுமில்லை.",
+       "linkshere-2": "'''$1''' பின்வரும் பக்கங்களில் இப்பக்கம் இணைக்கப்பட்டுள்ளது:",
+       "nolinkshere-2": "'''$1''' எந்தப் பக்கத்திலும் இந்தப் பக்கம் இணைக்கப்படவில்லை.",
+       "nolinkshere-ns-2": "தெரிவு செய்யப்பட்ட பெயர்வெளியில் '''$1''' பக்கத்துக்கு இணைக்கப்பட்ட பக்கங்கள் எதுவுமில்லை.",
        "isredirect": "வழிமாற்றுப் பக்கம்",
        "istemplate": "உள்ளிடப்பட்டுள்ளது",
        "isimage": "கோப்பு இணைப்பு",
        "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": "புகுபதிகை/பயனர் கணக்கு தொடக்கம்",
index a9a151e..1abd0a4 100644 (file)
        "whatlinkshere": "Aniy p’ubuy tay lpgan sqaniy",
        "whatlinkshere-title": "Aniy ’mubuy sa zngayan tay \"$1\"",
        "whatlinkshere-page": "Zngayan",
-       "linkshere": "Zngayan tay suruw qaniy ga aniy p’ubuy sa <strong>[[:$1]]</strong>:",
-       "nolinkshere": "Ungat zngazyan ’mubuy squw <strong>[[:$1]]</strong>.",
+       "linkshere-2": "Zngayan tay suruw qaniy ga aniy p’ubuy sa <strong>$1</strong>:",
+       "nolinkshere-2": "Ungat zngazyan ’mubuy squw <strong>$1</strong>.",
        "isredirect": "t’ringun pawsa’ sa zngayan",
        "istemplate": "’nagal sa",
        "isimage": "’ubuy sa biru’ na ana nanu’ zayzyuwaw",
index 0b7edba..581b6af 100644 (file)
        "whatlinkshere": "ಇಡೆ ವಾ ಪುಟೊ ಕೊಂಡಿ ಕೊರ್ಪುಂಡು",
        "whatlinkshere-title": "\"$1\" ಕ್ಕ್ ಸಂಪರ್ಕ ಕೊರ್ಪಿನ ಪುಟೊಕುಲು",
        "whatlinkshere-page": "ಪುಟೊ:",
-       "linkshere": "</strong>[[:$1]]<strong>ಗ್ ಈ ತಿರ್ತ್‍ದ ಪುಟೊಕುಲು ಕೊಂಡಿ ಕೊರ್ಪುಂಡು.",
-       "nolinkshere": "'''[[:$1]]''' ಗ್ ವಾ ಪುಟೊಕುಲೆಡ್ಲಾ ಲಿಂಕ್ ಇಜ್ಜಿ.",
+       "linkshere-2": "</strong>$1<strong>ಗ್ ಈ ತಿರ್ತ್‍ದ ಪುಟೊಕುಲು ಕೊಂಡಿ ಕೊರ್ಪುಂಡು.",
+       "nolinkshere-2": "'''$1''' ಗ್ ವಾ ಪುಟೊಕುಲೆಡ್ಲಾ ಲಿಂಕ್ ಇಜ್ಜಿ.",
        "isredirect": "ಪಿರ ನಿರ್ದೇಶನೊದ ಪುಟೊ",
        "istemplate": "ಸೇರಾವುನೆ",
        "isimage": "ಫೈಲ್‍ದ ಕೊಂಡಿ",
index 2442646..ad2fb34 100644 (file)
        "whatlinkshere": "ఇక్కడికి లింకైనవి",
        "whatlinkshere-title": "\"$1\"కి లింకున్న పుటలు",
        "whatlinkshere-page": "పేజీ:",
-       "linkshere": "కింది పేజీల నుండి <strong>[[:$1]]</strong>కు లింకులు ఉన్నాయి:",
-       "nolinkshere": "'''[[:$1]]'''కు ఏ పేజీ నుండీ లింకు లేదు.",
-       "nolinkshere-ns": "'''[[:$1]]''' పేజీకి లింకయ్యే పేజీలు ఎంచుకున్న నేంస్పేసులో లేవు.",
+       "linkshere-2": "కింది పేజీల నుండి <strong>$1</strong>కు లింకులు ఉన్నాయి:",
+       "nolinkshere-2": "'''$1'''కు ఏ పేజీ నుండీ లింకు లేదు.",
+       "nolinkshere-ns-2": "'''$1''' పేజీకి లింకయ్యే పేజీలు ఎంచుకున్న నేంస్పేసులో లేవు.",
        "isredirect": "దారిమార్పు పుట",
        "istemplate": "పేజీకి జతపరిచారు",
        "isimage": "దస్త్రపు లంకె",
        "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": "లాగినవండి / ఖాతా సృష్టించుకోండి",
index bc23697..56000b2 100644 (file)
        "whatlinkshere": "Artigu sira ne'ebé bá iha ne'e",
        "whatlinkshere-title": "Pájina sira ne'ebé bá \"$1\".",
        "whatlinkshere-page": "Pájina:",
-       "linkshere": "Pájina sira ne'e link ba '''[[:$1]]''':",
+       "linkshere-2": "Pájina sira ne'e link ba '''$1''':",
        "isimage": "ligasaun ba fixeiru",
        "whatlinkshere-prev": "{{PLURAL:$1|oinmai|oinmai $1}}",
        "whatlinkshere-next": "{{PLURAL:$1|molok|molok $1}}",
index e73941a..c7931cf 100644 (file)
        "whatlinkshere": "Пайвандҳои дар ин сахифа",
        "whatlinkshere-title": "Саҳифаҳое ки ба $1 пайванд доранд",
        "whatlinkshere-page": "Саҳифа:",
-       "linkshere": "Саҳифаҳои зерин ба '''[[:$1]]''' пайванданд:",
-       "nolinkshere": "Ягон саҳифа ба '''[[:$1]]''' пайванд нест.",
-       "nolinkshere-ns": "Ҳеҷ саҳифа аз фазоиноми интихобшуда ба '''[[:$1]]''' пайванд надорад.",
+       "linkshere-2": "Саҳифаҳои зерин ба '''$1''' пайванданд:",
+       "nolinkshere-2": "Ягон саҳифа ба '''$1''' пайванд нест.",
+       "nolinkshere-ns-2": "Ҳеҷ саҳифа аз фазоиноми интихобшуда ба '''$1''' пайванд надорад.",
        "isredirect": "саҳифаи тағйири масир",
        "istemplate": "истифодашуда дар саҳифа",
        "isimage": "пайванд ба парванда",
index 1076f8c..129b5a4 100644 (file)
        "whatlinkshere": "Pajvandhoi dar in saxifa",
        "whatlinkshere-title": "Sahifahoe ki ba $1 pajvand dorand",
        "whatlinkshere-page": "Sahifa:",
-       "linkshere": "Sahifahoi zerin ba '''[[:$1]]''' pajvandand:",
-       "nolinkshere": "Jagon sahifa ba '''[[:$1]]''' pajvand nest.",
-       "nolinkshere-ns": "Heç sahifa az fazoinomi intixobşuda ba '''[[:$1]]''' pajvand nadorad.",
+       "linkshere-2": "Sahifahoi zerin ba '''$1''' pajvandand:",
+       "nolinkshere-2": "Jagon sahifa ba '''$1''' pajvand nest.",
+       "nolinkshere-ns-2": "Heç sahifa az fazoinomi intixobşuda ba '''$1''' pajvand nadorad.",
        "isredirect": "sahifai taƣjiri masir",
        "istemplate": "istifodaşuda dar sahifa",
        "isimage": "pajvandi aks",
index dc85fa6..9671e93 100644 (file)
        "whatlinkshere": "หน้าที่ลิงก์มา",
        "whatlinkshere-title": "หน้าที่ลิงก์มา \"$1\"",
        "whatlinkshere-page": "หน้า:",
-       "linkshere": "หน้าต่อไปนี้ลิงก์มา <strong>[[:$1]]</strong>:",
-       "nolinkshere": "ไม่มีหน้าใดลิงก์มา <strong>[[:$1]]</strong>",
-       "nolinkshere-ns": "ไม่มีหน้าใดลิงก์มา <strong>[[:$1]]</strong> ในเนมสเปซที่เลือก",
+       "linkshere-2": "หน้าต่อไปนี้ลิงก์มา <strong>$1</strong>:",
+       "nolinkshere-2": "ไม่มีหน้าใดลิงก์มา <strong>$1</strong>",
+       "nolinkshere-ns-2": "ไม่มีหน้าใดลิงก์มา <strong>$1</strong> ในเนมสเปซที่เลือก",
        "isredirect": "หน้าเปลี่ยนทาง",
        "istemplate": "โดยใช้แม่แบบ",
        "isimage": "ลิงก์ไฟล์",
index 27d7d6f..6d99da1 100644 (file)
        "whatlinkshere": "Şu ýere çykgytlar",
        "whatlinkshere-title": "\"$1\" makalasyna çykgyt berýän sahypalar",
        "whatlinkshere-page": "Sahypa:",
-       "linkshere": "'''[[:$1]]''' sahypasyna çykgyt berýän sahypalar:",
-       "nolinkshere": "'''[[:$1]]''' sahypasyna çykgyt berýän sahypa ýok.",
-       "nolinkshere-ns": "Saýlanyp alynan at giňişliginde hiçbir sahypa '''[[:$1]]''' sahypasyna çykgyt bermeýär.",
+       "linkshere-2": "'''$1''' sahypasyna çykgyt berýän sahypalar:",
+       "nolinkshere-2": "'''$1''' sahypasyna çykgyt berýän sahypa ýok.",
+       "nolinkshere-ns-2": "Saýlanyp alynan at giňişliginde hiçbir sahypa '''$1''' sahypasyna çykgyt bermeýär.",
        "isredirect": "gönükdirme sahypasy",
        "istemplate": "atanaklaýyn girizme",
        "isimage": "faýl çykgydy",
        "fileduplicatesearch-result-1": "\"$1\" faýlynyň meňzeş dublikaty ýok.",
        "fileduplicatesearch-result-n": "\"$1\" faýlynyň {{PLURAL:$2|1 sany meňzeş dublikaty|$2 sany meňzeş dublikaty}} bar.",
        "specialpages": "Ýörite sahypalar",
+       "specialpages-note-restricted": "* Adaty ýörite sahypalar.\n* <strong class=\"mw-specialpagerestricted\">Çäklendirilen ýörite sahypalar.</strong>",
        "specialpages-group-maintenance": "Tehniki abatlaýyş hasabatlary",
        "specialpages-group-other": "Başga ýörite sahypalar",
        "specialpages-group-login": "Hasaba gir / täze hasap aç",
index 6266763..d3c3087 100644 (file)
        "whatlinkshere": "Mga nakaturo dito",
        "whatlinkshere-title": "Mga pahinang kumakawing sa $1",
        "whatlinkshere-page": "Pahina:",
-       "linkshere": "Nakakawing ang sumusunod na mga pahina sa '''[[:$1]]''':",
-       "nolinkshere": "Walang pahinang nakakawing sa '''[[:$1]]'''.",
-       "nolinkshere-ns": "Walang pahinang nakakawing sa '''[[:$1]]''' mula sa loob ng napiling espasyo ng pangalan.",
+       "linkshere-2": "Nakakawing ang sumusunod na mga pahina sa '''$1''':",
+       "nolinkshere-2": "Walang pahinang nakakawing sa '''$1'''.",
+       "nolinkshere-ns-2": "Walang pahinang nakakawing sa '''$1''' mula sa loob ng napiling espasyo ng pangalan.",
        "isredirect": "pahinang panturo/panuto",
        "istemplate": "pagsasali",
        "isimage": "link ng file",
        "fileduplicatesearch-result-n": "Ang talaksan na \"$1\" ay may {{PLURAL:$2|1 kapareho|$2 mga kapareho}}.",
        "fileduplicatesearch-noresults": "Walang natagpuang talaksan na may pangalang \"$1\".",
        "specialpages": "Mga natatanging pahina",
+       "specialpages-note-restricted": "* Normal na natatanging mga pahina.\n* <span class=\"mw-specialpagerestricted\">Pinaghihigpitang natatanging mga pahina.</span>",
        "specialpages-group-maintenance": "Mga pagpapanatiling ulat",
        "specialpages-group-other": "Iba pang natatanging mga pahina",
        "specialpages-group-login": "Mag-login / lumikha ng account",
index 02f50c0..fe377e5 100644 (file)
        "whatlinkshere": "Сәбонон ијо",
        "whatlinkshere-title": "Сәһифон, сәбон вардән бә \"$1\"",
        "whatlinkshere-page": "Сәһифә:",
-       "linkshere": "Ым сәһифон сәбон вардән ијо ''[[:$1]]''':",
-       "nolinkshere": "Бә ым сәһифә ҹо сәһифонку сәбонон нин '''[[:$1]]'''.",
+       "linkshere-2": "Ым сәһифон сәбон вардән ијо ''$1''':",
+       "nolinkshere-2": "Бә ым сәһифә ҹо сәһифонку сәбонон нин '''$1'''.",
        "isredirect": "унвони дәгиш кардә сәһифәје",
        "istemplate": "әловә",
        "isimage": "фајлинә сәбон",
index 422b905..c9a65d6 100644 (file)
        "sp-contributions-talk": "Alea",
        "whatlinkshere": "Ngaahi fehokotaki ki heni",
        "whatlinkshere-page": "Peesi:",
-       "linkshere": "ʻOku fehokotaki ki heni ʻa e ngaahi peesi:",
-       "nolinkshere": "ʻOku ʻikai ha ngaahi kupu fehokotaki ki heni.",
+       "linkshere-2": "!!FUZZY!!ʻOku fehokotaki ki heni ʻa e ngaahi peesi:",
+       "nolinkshere-2": "!!FUZZY!!ʻOku ʻikai ha ngaahi kupu fehokotaki ki heni.",
        "isredirect": "Peesi leʻei",
        "istemplate": "kātoi",
        "whatlinkshere-links": "← fehokotaki",
index db9fe96..fcbe9af 100644 (file)
        "subject-preview": "Konu ön izlemesi:",
        "previewerrortext": "Yaptığınız değişikliklerin önizlemesi sırasında bir hata oluştu.",
        "blockedtitle": "Kullanıcı erişimi engellendi.",
-       "blockedtext": "'''Kullanıcı adı veya IP adresiniz engellenmiştir.'''\n\nSizi engelleyen hizmetli: $1.<br />\nEngelleme sebebi: ''$2''.\n\n* Engellenmenin başlangıcı: $8\n* Engellenmenin bitişi: $6\n* Engellenme süresi: $7\n\nBelirtilen nedene göre engellenmenizin uygun olmadığını düşünüyorsanız, $1 ya da başka bir [[{{MediaWiki:Grouppage-sysop}}|hizmetli]] ile bu durumu görüşebilirsiniz. [[Special:Preferences|Tercihlerim]] kısmında geçerli bir e-posta adresi girmediyseniz \"Kullanıcıya e-posta gönder\" özelliğini kullanamazsınız, tercihlerinize e-posta adresinizi eklediğinizde e-posta gönderme hakkına sahip olacaksınız.\n<br />Şu anki IP adresiniz $3, engellenme numaranız #$5.\n<br />Bir hizmetliden durumunuz hakkında bilgi almak istediğinizde veya herhangi bir sorguda bu bilgiler gerekecektir, lütfen not ediniz.",
+       "blockedtext": "<strong>Kullanıcı adı veya IP adresiniz engellenmiştir.</strong>\n\nSizi engelleyen hizmetli: $1.<br />\nEngelleme sebebi: <em>$2</em>.\n\n* Engellenmenin başlangıcı: $8\n* Engellenmenin bitişi: $6\n* Engellenme süresi: $7\n\nBelirtilen nedene göre engellenmenizin uygun olmadığını düşünüyorsanız, $1 ya da başka bir [[{{MediaWiki:Grouppage-sysop}}|hizmetli]] ile bu durumu görüşebilirsiniz. [[Special:Preferences|Tercihlerim]] kısmında geçerli bir e-posta adresi girmediyseniz \"Kullanıcıya e-posta gönder\" özelliğini kullanamazsınız, tercihlerinize e-posta adresinizi eklediğinizde e-posta gönderme hakkına sahip olacaksınız.\n<br />Şu anki IP adresiniz $3, engellenme numaranız #$5.\n<br />Bir hizmetliden durumunuz hakkında bilgi almak istediğinizde veya herhangi bir sorguda bu bilgiler gerekecektir, lütfen not ediniz.",
        "autoblockedtext": "IP adresiniz otomatik olarak engellendi, çünkü $1 tarafından engellenmiş başka bir kullanıcı tarafından kullanılmaktaydı.\nBelirtilen sebep şudur:\n\n:''$2''\n\n* Engellemenin başlangıcı: $8\n* Engellemenin bitişi: $6\n* Bloke edilmesi istenen: $7\n\nEngelleme hakkında tartışmak için $1 ile veya diğer [[{{MediaWiki:Grouppage-sysop}}|hizmetlilerden]] biriyle irtibata geçebilirsiniz.\n\nNot, [[Special:Preferences|kullanıcı tercihlerinize]] geçerli bir e-posta adresi kaydetmediyseniz  \"kullanıcıya e-posta gönder\" özelliğinden faydalanamayabilirsiniz ve bu özelliği kullanmaktan engellenmediniz.\n\nŞu anki IP numaranız $3 ve engellenme ID'niz #$5.\nLütfen yapacağınız herhangi bir sorguda yukarıdaki bütün detayları bulundurun.",
        "blockednoreason": "sebep verilmedi",
        "whitelistedittext": "Değişiklik yapabilmek için $1.",
        "whatlinkshere": "Sayfaya bağlantılar",
        "whatlinkshere-title": "\"$1\" sayfasına bağlantı veren sayfalar",
        "whatlinkshere-page": "Sayfa:",
-       "linkshere": "'''[[:$1]]''' sayfasına bağlantısı olan sayfalar:",
-       "nolinkshere": "'''[[:$1]]''' sayfasına bağlantı veren sayfa yok.",
-       "nolinkshere-ns": "Seçilen ad alanında hiçbir sayfa '''[[:$1]]''' sayfasına bağlanmıyor.",
+       "linkshere-2": "'''$1''' sayfasına bağlantısı olan sayfalar:",
+       "nolinkshere-2": "'''$1''' sayfasına bağlantı veren sayfa yok.",
+       "nolinkshere-ns-2": "Seçilen ad alanında hiçbir sayfa '''$1''' sayfasına bağlanmıyor.",
        "isredirect": "yönlendirme sayfası",
        "istemplate": "dönüştürülme",
        "isimage": "dosya bağlantısı",
index 405c5cb..be26c1f 100644 (file)
        "whatlinkshere": "Asirwoṭo biFaṭaṭe",
        "whatlinkshere-title": "Faṭoṭe dkitte Asiruṭo 3am\"$1\"",
        "whatlinkshere-page": "Faṭo",
-       "linkshere": "aFaṭoṭani masre ne 3am '''[[:$1]]''':",
-       "nolinkshere": "Layto Faṭoṭe dkitte Asiruṭo 3am '''[[:$1]]'''.",
+       "linkshere-2": "aFaṭoṭani masre ne 3am '''$1''':",
+       "nolinkshere-2": "Layto Faṭoṭe dkitte Asiruṭo 3am '''$1'''.",
        "isredirect": "redirect page",
        "istemplate": "transclusion",
        "isimage": "Asiruṭo duFayl",
index 06917aa..b541bc6 100644 (file)
        "whatlinkshere": "Leswi khwekelaka laha",
        "whatlinkshere-title": "Matluka lama khwekelaka eka $1",
        "whatlinkshere-page": "Tluka:",
-       "linkshere": "Matluka lama landzelaka makhwekela eka '''[[:$1]]''':",
-       "nolinkshere": "Kuhava matluka lama khwekelaka eka  '''[[:$1]]'''.",
+       "linkshere-2": "Matluka lama landzelaka makhwekela eka '''$1''':",
+       "nolinkshere-2": "Kuhava matluka lama khwekelaka eka  '''$1'''.",
        "isredirect": "Tluka ro kongomisa",
        "istemplate": "Swisivela ndhzawu",
        "isimage": "Xikhwekerisi xa fayili",
index c15d558..1a68426 100644 (file)
        "whatlinkshere": "Бирегә нәрсә сылтый",
        "whatlinkshere-title": "$1 битенә сылтый торган битләр",
        "whatlinkshere-page": "Бит:",
-       "linkshere": "'''[[:$1]]''' битенә чираттагы битләр сылтый:",
-       "nolinkshere": "'''[[:$1]]''' битенә башка битләр сылтамыйлар.",
+       "linkshere-2": "'''$1''' битенә чираттагы битләр сылтый:",
+       "nolinkshere-2": "'''$1''' битенә башка битләр сылтамыйлар.",
        "isredirect": "юнәлтү бите",
        "istemplate": "кертүләр",
        "isimage": "файл сылтамасы",
        "fileduplicatesearch": "Бер үк файлларны эзләү",
        "fileduplicatesearch-submit": "Эзләү",
        "specialpages": "Махсус битләр",
+       "specialpages-note-restricted": "* Гади махсус битләр.\n* <span class=\"mw-specialpagerestricted\">Чикләнелгән махсус битләр.</span>",
        "specialpages-group-maintenance": "Техник карау хисапнамәсе",
        "specialpages-group-other": "Башка махсус битләр",
        "specialpages-group-login": "Керү / Теркәлү",
index da6e606..35aa487 100644 (file)
        "whatlinkshere": "Biregä närsä sıltıy",
        "whatlinkshere-title": "$1 bitenä sıltıy torğan bitlär",
        "whatlinkshere-page": "Bit:",
-       "linkshere": "'''[[:$1]]''' bitenä çirattağı bitlär sıltıy:",
-       "nolinkshere": "'''[[:$1]]''' bitenä başqa bitlär sıltamıylar.",
+       "linkshere-2": "'''$1''' bitenä çirattağı bitlär sıltıy:",
+       "nolinkshere-2": "'''$1''' bitenä başqa bitlär sıltamıylar.",
        "isredirect": "yünältü bite",
        "istemplate": "kertülär",
        "isimage": "fayl qullanılışı",
        "version-software-version": "Versiä",
        "fileduplicatesearch-submit": "Ezläw",
        "specialpages": "Maxsus bitlär",
+       "specialpages-note-restricted": "* Ğädi maxsus bitlär.\n* <strong class=\"mw-specialpagerestricted\">Çiklänelgän ğädi maxsus bitlär</strong>",
        "specialpages-group-maintenance": "Texnik qaraw xisapnamäse",
        "specialpages-group-other": "Başqa maxsus bitlär",
        "specialpages-group-login": "Kerü / terkälü",
index b60268e..d8971d5 100644 (file)
        "whatlinkshere": "Аргышкан арыннар",
        "whatlinkshere-title": "«$1» деп арынче айтып турар тускай арыннар",
        "whatlinkshere-page": "Арын:",
-       "linkshere": "Адаандагы арыннар бээр «'''[[:$1]]'''» шөлүдүп турарлар:",
-       "nolinkshere": "'''[[:$1]]''' деп арынче шөлүтткен арыннар чок.",
+       "linkshere-2": "Адаандагы арыннар бээр «'''$1'''» шөлүдүп турарлар:",
+       "nolinkshere-2": "'''$1''' деп арынче шөлүтткен арыннар чок.",
        "isredirect": "шиглидер арын",
        "istemplate": "киирткен арыннар",
        "isimage": "файлдың холбаазы",
index e0819e6..c37a572 100644 (file)
        "whatlinkshere": "Татчы чӧлсконъёс",
        "whatlinkshere-title": "«$1» вылэ чӧлскись бамъёс",
        "whatlinkshere-page": "Бам:",
-       "linkshere": "Та бамъёс <strong>[[:$1]]</strong> вылэ чӧлско:",
+       "linkshere-2": "Та бамъёс <strong>$1</strong> вылэ чӧлско:",
        "isredirect": "ыстӥсь бам",
        "istemplate": "пыртон",
        "isimage": "файл линк",
index b6d2f49..0200aee 100644 (file)
        "whatlinkshere": "بۇ جايدىكى ئۇلانما",
        "whatlinkshere-title": "\"$1\" بەتكە ئۇلانغان بەتلەر",
        "whatlinkshere-page": "بەت:",
-       "linkshere": "تۆۋەندىكى بەتلەر '''[[:$1]]'''غا ئۇلانغان:",
-       "nolinkshere": "'''[[:$1]]'''غا ئۇلانغان بەت يوق.",
-       "nolinkshere-ns": "تاللانغان ئات بوشلۇقىدا '''[[:$1]]''' غا ئۇلانغان بەت يوق.",
+       "linkshere-2": "تۆۋەندىكى بەتلەر '''$1'''غا ئۇلانغان:",
+       "nolinkshere-2": "'''$1'''غا ئۇلانغان بەت يوق.",
+       "nolinkshere-ns-2": "تاللانغان ئات بوشلۇقىدا '''$1''' غا ئۇلانغان بەت يوق.",
        "isredirect": "قايتا نىشان بەلگىلەنگەن بەت",
        "istemplate": "ئۆز ئىچىگە ئالغان",
        "isimage": "ھۆججەت ئۇلانما",
        "fileduplicatesearch-result-n": " \"$1\" ھۆججەتنىڭ تامامەن ئوخشاش {{PLURAL:$2|1 تەكرار|$2 تەكرار}} نۇسخىسى بار.",
        "fileduplicatesearch-noresults": "\"$1\" ئاتلىق ھۆججەت تېپىلمىدى.",
        "specialpages": "ئالاھىدە بەتلەر",
+       "specialpages-note-restricted": "* ئادەتتىكى ئالاھىدە بەت.\n* <strong class=\"mw-specialpagerestricted\">چەكلىمىلىك ئالاھىدە بەتلەر.</strong>\n* <span class=\"mw-specialpagecached\">غەملەنگەن ئالاھىدە بەتلەر(ۋاقتى ئۆتكەن بولۇشى مۇمكىن).</span>",
        "specialpages-group-maintenance": "ئاسراش دوكلاتى",
        "specialpages-group-other": "باشقا ئالاھىدە بەتلەر",
        "specialpages-group-login": "تىزىملىتىش / كىرىش",
index 32a5e95..c20ce59 100644 (file)
@@ -74,7 +74,8 @@
                        "SimondR",
                        "Renamerr",
                        "Avatar6",
-                       "Fitoschido"
+                       "Fitoschido",
+                       "Movses"
                ]
        },
        "tog-underline": "Підкреслювання посилань:",
        "subject-preview": "Попередній перегляд теми:",
        "previewerrortext": "Сталася помилка при спробі попереднього перегляду Ваших змін.",
        "blockedtitle": "Користувача заблоковано",
-       "blockedtext": "<strong>Ð\92аÑ\88 Ð¾Ð±Ð»Ñ\96ковий Ð·Ð°Ð¿Ð¸Ñ\81 Ð°Ð±Ð¾ IP-адÑ\80еÑ\81а Ð·Ð°Ð±Ð»Ð¾ÐºÐ¾Ð²Ð°Ð½Ñ\96.</strong>\n\nÐ\91локÑ\83ваннÑ\8f Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ðµ Ð°Ð´Ð¼Ñ\96нÑ\96Ñ\81Ñ\82Ñ\80аÑ\82оÑ\80ом $1.\nÐ\9fÑ\80иÑ\87ина Ð±Ð»Ð¾ÐºÑ\83ваннÑ\8f: <em>$2</em>.\n\n* Ð\9fоÑ\87аÑ\82ок Ð±Ð»Ð¾ÐºÑ\83ваннÑ\8f: $8\n* Ð\97акÑ\96нÑ\87еннÑ\8f Ð±Ð»Ð¾ÐºÑ\83ваннÑ\8f: $6\n* Ð\94Ñ\96апазон Ð±Ð»Ð¾ÐºÑ\83ваннÑ\8f: $7\n\nÐ\92и Ð¼Ð¾Ð¶ÐµÑ\82е Ð½Ð°Ð´Ñ\96Ñ\81лаÑ\82и Ð»Ð¸Ñ\81Ñ\82а ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87евÑ\96 $1 Ð°Ð±Ð¾ Ð±Ñ\83дÑ\8c\8fкомÑ\83 Ñ\96нÑ\88омÑ\83 [[{{MediaWiki:Grouppage-sysop}}|адмÑ\96нÑ\96Ñ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\83]], Ñ\89об Ð¾Ð±Ð³Ð¾Ð²Ð¾Ñ\80иÑ\82и Ð±Ð»Ð¾ÐºÑ\83ваннÑ\8f.\n\nÐ\97веÑ\80нÑ\96Ñ\82Ñ\8c Ñ\83вагÑ\83, Ñ\89о Ð²Ð¸ Ð½Ðµ Ð·Ð¼Ð¾Ð¶ÐµÑ\82е Ð½Ð°Ð´Ñ\96Ñ\81лаÑ\82и Ð»Ð¸Ñ\81Ñ\82а Ð°Ð´Ð¼Ñ\96нÑ\96Ñ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\83, якщо ви не зареєстровані або не підтвердили свою електронну адресу в [[Special:Preferences|особистих налаштуваннях]], а також якщо вам було заборонено надсилати листи при блокуванні.\n\nВаша поточна IP-адреса — $3, ідентифікатор блокування — #$5. Будь ласка, зазначайте ці дані у своїх запитах.",
+       "blockedtext": "<strong>Ð\92аÑ\88 Ð¾Ð±Ð»Ñ\96ковий Ð·Ð°Ð¿Ð¸Ñ\81 Ð°Ð±Ð¾ IP-адÑ\80еÑ\81а Ð·Ð°Ð±Ð»Ð¾ÐºÐ¾Ð²Ð°Ð½Ñ\96.</strong>\n\nÐ\91локÑ\83ваннÑ\8f Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ðµ Ð°Ð´Ð¼Ñ\96нÑ\96Ñ\81Ñ\82Ñ\80аÑ\82оÑ\80ом $1.\nÐ\9fÑ\80иÑ\87ина Ð±Ð»Ð¾ÐºÑ\83ваннÑ\8f: <em>$2</em>.\n\n* Ð\9fоÑ\87аÑ\82ок Ð±Ð»Ð¾ÐºÑ\83ваннÑ\8f: $8\n* Ð\97акÑ\96нÑ\87еннÑ\8f Ð±Ð»Ð¾ÐºÑ\83ваннÑ\8f: $6\n* Ð\94Ñ\96апазон Ð±Ð»Ð¾ÐºÑ\83ваннÑ\8f: $7\n\nÐ\92и Ð¼Ð¾Ð¶ÐµÑ\82е Ð½Ð°Ð´Ñ\96Ñ\81лаÑ\82и Ð»Ð¸Ñ\81Ñ\82а ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87евÑ\96 $1 Ð°Ð±Ð¾ Ð±Ñ\83дÑ\8c\8fкомÑ\83 Ñ\96нÑ\88омÑ\83 [[{{MediaWiki:Grouppage-sysop}}|адмÑ\96нÑ\96Ñ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\83]], Ñ\89об Ð¾Ð±Ð³Ð¾Ð²Ð¾Ñ\80иÑ\82и Ð±Ð»Ð¾ÐºÑ\83ваннÑ\8f.\n\nÐ\97веÑ\80нÑ\96Ñ\82Ñ\8c Ñ\83вагÑ\83, Ñ\89о Ð²Ð¸ Ð½Ðµ Ð·Ð¼Ð¾Ð¶ÐµÑ\82е Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82аÑ\82и Ñ\84Ñ\83нкÑ\86Ñ\96Ñ\8e \"{{int:emailuser}}\", якщо ви не зареєстровані або не підтвердили свою електронну адресу в [[Special:Preferences|особистих налаштуваннях]], а також якщо вам було заборонено надсилати листи при блокуванні.\n\nВаша поточна IP-адреса — $3, ідентифікатор блокування — #$5. Будь ласка, зазначайте ці дані у своїх запитах.",
        "autoblockedtext": "Ваша IP-адреса автоматично заблокована у зв'язку з тим, що вона раніше використовувалася кимось із заблокованих користувачів. Адміністратор ($1), що її заблокував, зазначив наступну причину блокування:\n\n:''$2''\n\n* Початок блокування: $8\n* Закінчення блокування: $6\n* Блокування виконав: $7\n\nВи можете надіслати листа користувачеві $1 або будь-якому іншому [[{{MediaWiki:Grouppage-sysop}}|адміністратору]], щоб обговорити блокування.\n\nЗверніть увагу, що ви не зможете надіслати листа адміністраторові, якщо ви не зареєстровані у проекті або не підтвердили свою електронну адресу в [[Special:Preferences|особистих налаштуваннях]], а також якщо вам було заборонено надсилати листи при блокуванні.\n\nВаша поточна IP-адреса — $3, ідентифікатор блокування — #$5. Будь ласка, зазначайте його у своїх запитах.",
        "systemblockedtext": "Ваше ім'я користувача або IP-адресу було автоматично заблоковано MediaWiki.\nВказана причина:\n\n:<em>$2</em>\n\n* Початок блокування: $8\n* Закінчення блокування: $6\n* Ціль блокування: $7\n\nВаша поточна IP-адреса — $3.\nБудь ласка, додайте всі вказані подробиці до будь-яких запитів, які Ви будете робити.",
        "blockednoreason": "не вказано причини",
        "recentchangeslinked-feed": "Пов'язані редгування",
        "recentchangeslinked-toolbox": "Пов'язані редагування",
        "recentchangeslinked-title": "Пов'язані редагування для «$1»",
-       "recentchangeslinked-summary": "Уведіть назву сторінки, щоб побачити зміни на сторінках, які посилаються на неї, або на які вона сама посилається. (Для перегляду членів категорії вводьте {{ns:14}}:Назва категорії). Зміни на сторінках з [[Special:Watchlist|Вашого Списку спостереження]] виділені <strong>жирним</strong>.",
+       "recentchangeslinked-summary": "Уведіть назву сторінки, щоб побачити зміни на сторінках, які посилаються на неї, або на які вона сама посилається. Для перегляду членів категорії вводьте {{ns:category}}:Назва категорії. Зміни на сторінках з [[Special:Watchlist|Вашого списку спостереження]] виділені <strong>жирним шрифтом</strong>.",
        "recentchangeslinked-page": "Назва сторінки:",
        "recentchangeslinked-to": "Показати зміни на сторінках, пов'язаних з даною",
        "recentchanges-page-added-to-category": "[[:$1]] Додано до категорії",
        "whatlinkshere": "Посилання сюди",
        "whatlinkshere-title": "Сторінки, що посилаються на «$1»",
        "whatlinkshere-page": "Сторінка:",
-       "linkshere": "Такі сторінки посилаються на '''[[:$1]]''':",
-       "nolinkshere": "На статтю '''[[:$1]]''' не вказує жодна стаття.",
-       "nolinkshere-ns": "У вибраному просторі назв нема сторінок, що посилаються на '''[[:$1]]'''.",
+       "linkshere-2": "Такі сторінки посилаються на '''$1''':",
+       "nolinkshere-2": "На статтю '''$1''' не вказує жодна стаття.",
+       "nolinkshere-ns-2": "У вибраному просторі назв нема сторінок, що посилаються на '''$1'''.",
        "isredirect": "сторінка-перенаправлення",
        "istemplate": "включення",
        "isimage": "посилання на файл",
index 7f10673..fa0f81b 100644 (file)
        "whatlinkshere": "مربوط صفحات",
        "whatlinkshere-title": "«$1» سے مربوط صفحات",
        "whatlinkshere-page": "صفحہ:",
-       "linkshere": "<strong>[[:$1]]</strong> سے درج ذیل صفحات مربوط ہیں:",
-       "nolinkshere": "<strong>[[:$1]]</strong> سے کوئی صفحہ مربوط نہیں ہے۔",
-       "nolinkshere-ns": "منتخب نام فضا میں <strong>[[:$1]]</strong> سے مربوط کوئی صفحہ نہیں ہے۔",
+       "linkshere-2": "<strong>$1</strong> سے درج ذیل صفحات مربوط ہیں:",
+       "nolinkshere-2": "<strong>$1</strong> سے کوئی صفحہ مربوط نہیں ہے۔",
+       "nolinkshere-ns-2": "منتخب نام فضا میں <strong>$1</strong> سے مربوط کوئی صفحہ نہیں ہے۔",
        "isredirect": "رجوع مکرر صفحہ",
        "istemplate": "شامل شدہ",
        "isimage": "فائل کا ربط",
index 09c9da0..71afccf 100644 (file)
        "whatlinkshere": "Bogʻliq sahifalar",
        "whatlinkshere-title": "„$1“ga bogʻlangan sahifalar",
        "whatlinkshere-page": "Sahifa:",
-       "linkshere": "Quyidagi sahifalar '''[[:$1]]''' sahifasiga bogʻlangan:",
-       "nolinkshere": "'''[[:$1]]''' sahifasiga hech qaysi sahifa bog‘lanmagan.",
-       "nolinkshere-ns": "Tanlangan nomfazoda '''[[:$1]]'''ga bog‘langan sahifalar mavjud emas.",
+       "linkshere-2": "Quyidagi sahifalar '''$1''' sahifasiga bogʻlangan:",
+       "nolinkshere-2": "'''$1''' sahifasiga hech qaysi sahifa bog‘lanmagan.",
+       "nolinkshere-ns-2": "Tanlangan nomfazoda '''$1'''ga bog‘langan sahifalar mavjud emas.",
        "isredirect": "yoʻnaltiruvchi sahifa",
        "istemplate": "qoʻshimcha",
        "isimage": "faylli havola",
index b853818..5b5357a 100644 (file)
        "actionthrottled": "Asion ritardà",
        "actionthrottledtext": "Come misura de sicuresa contro e o spam, l'esecusion de alcune asion e a xè limità a on numaro masimo de volte en on determinà periodo de tenpo, limite che en questo caso xè sta superà. Se prega de riprovare tra qualche minuto.",
        "protectedpagetext": "Sta pàjina ła xe stà proteta de modo che nisun posa canbiarla o far altre operasion.",
-       "viewsourcetext": "Se pole vardar e copiar el testo de sta pagina:",
+       "viewsourcetext": "Te poli vardar e copiar el testo de sta pagina.",
        "viewyourtext": "Xè posibile vedàre e copiare el codexe sorzente de le '''to modifighe''' a sta pajina:",
        "protectedinterface": "Sta pàjina ła gà drento un testo de l'interfacia utente del software de sto sito, quindi la xe proteta parché nisuni ła strusie.\nPar xontar o modifegar tradusion par tute łe wiki doparar [https://translatewiki.net/ translatewiki.net], el projeto de locałixasion de MediaWiki.",
        "editinginterface": "'''Ocio:''' El testo de sta pàjina el fa parte de l'interfacia utente del sito. Tute łe modifeghe aportae a sta pajina se riflete so i mesaji visuałixà par tuti i utenti so sta wiki.\nPar xontare o modifegar łe tradusion vałide so tute łe wiki, considera ła posibiłità de doparar [https://translatewiki.net/wiki/Main_Page?setlang=vec translatewiki.net], el projeto MediaWiki par ła localixasion.",
        "permissionserrorstext": "Nò se dispone dei parmesi nesessari ad eseguir l'asion richiesta, par {{PLURAL:$1|el seguente motivo|i seguenti motivi}}:",
        "permissionserrorstext-withaction": "Nò se dispone dei parmesi nesesari par $2, par {{PLURAL:$1|el seguente modivo|i seguenti modivi}}:",
        "recreate-moveddeleted-warn": "'''Ocio: te stè par ricrear na pagina zà scancelà precedentemente.'''\n\nPar piaser assicùrete che sia dal bon el caso de 'ndar vanti a modificar sta pagina.\nL'elenco de i relativi spostamenti e scancelazion el vien riportà qua de seguito par comodità:",
-       "moveddeleted-notice": "Sta pagina la xe stà scancelà.\nL'elenco dei so spostamenti e scancelassion el vien riportà qua soto par informassion.",
+       "moveddeleted-notice": "Sta pagina la xe stà scancelà.\nL'elenco dei so spostamenti, protesion e scancelassion te lo cati qua soto par informassion.",
        "log-fulllog": "Varda registro conpleto",
        "edit-hook-aborted": "Modifica abortìa da parte de l'hook.\nNo xe stà dà nissuna spiegazion in merito.",
        "edit-gone-missing": "No se riesse a agiornar la pàxena.\nPararìa che la sìpia stà scancelà.",
        "page_first": "prima",
        "page_last": "ultima",
        "histlegend": "Confronto tra version: segna le casèle de le version che te voli confrontar e struca Invio o el boton in fondo.\n\nLegenda: '''({{int:cur}})''' = difarense co l'ultima version, '''({{int:last}})''' = difarense co la version subito prima, '''{{int:minoreditletter}}''' = canbiamento picenin",
-       "history-fieldset-title": "Ruma in te la storia",
+       "history-fieldset-title": "Ruma in te le revision",
        "history-show-deleted": "Solo quei scancelà",
        "histfirst": "pi vecia",
        "histlast": "pi nova",
        "editundo": "tira indrìo",
        "diff-empty": "(Nissuna difarensa)",
        "diff-multi-sameuser": "({{PLURAL:$1|Una revision intermedia|$1 revision intermedie}} del stesso utente mia mostrà)",
+       "diff-multi-otherusers": "({{PLURAL:$1|Na version intermedia|$1 version intermedie}} de {{PLURAL:$2|n'altro utente|$2 utenti}} mia mostrà)",
        "diff-multi-manyusers": "({{PLURAL:$1|Una revision intermedia|$1 revision intermedie}} de pi de {{PLURAL:$2|un utente|$2 utenti}} mia mostrà)",
        "difference-missing-revision": "{{PLURAL:$2|Na version|$2 version}} de sta difarensa ($1) {{PLURAL:$2|nó ła xe sta trovà|nó łe xe stae trovae}}.\n\nCuesto se verifega de sołito seguendo un ligamente vecio de un dif a na pàjina scansełà.\nI detaji i pol esar catai inte'l [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de łe scansełasion].",
        "searchresults": "Risultati de la riserca",
        "search-redirect": "(rimando da $1)",
        "search-section": "(sesion $1)",
        "search-category": "(categoria $1)",
+       "search-file-match": "(catà drento el file)",
        "search-suggest": "Sercavito forsi: $1",
        "search-interwiki-caption": "Projeti fradei",
        "search-interwiki-default": "Risultati da $1:",
        "recentchanges": "Ultimi canbiamenti",
        "recentchanges-legend": "Prefarense par i ultimi canbiamenti",
        "recentchanges-summary": "Qua se vede i ultimi canbiamenti fati a sto sito.",
+       "recentchanges-noresult": "No gò catà nissuna modifica in sto periodo co sti criteri de riserca.",
        "recentchanges-feed-description": "Tien tracia dei ultimi canbiamenti fati a sto sito",
        "recentchanges-label-newpage": "Sta modifica la ga creà na pagina nova",
        "recentchanges-label-minor": "Sto qua el xe un canbiamento picenin",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (varda anca [[Special:NewPages|l'elenco de le pagine nove]])",
        "rcfilters-filter-reviewstatus-manual-label": "Verificà manualmente",
        "rcfilters-filter-reviewstatus-auto-label": "Verificà en automatico.",
-       "rcnotefrom": "Qui di seguito sono elencate le modifiche da '''$2''' (fino a '''$1''').",
+       "rcnotefrom": "Qua de soto {{PLURAL:$5|xe mostrà la modifica fata|xe mostrà le modifiche fate }} da <strong>$3, $4</strong> (se ghe ne vede fin a <strong>$1</strong>).",
        "rclistfrom": "Mostra i canbiamenti fati da ƚe $2 del $3",
        "rcshowhideminor": "$1 i canbiamenti picenini",
        "rcshowhideminor-show": "Mostra",
        "recentchangeslinked-feed": "Canbiamenti ligà a sta pagina",
        "recentchangeslinked-toolbox": "Canbiamenti ligà a sta pagina",
        "recentchangeslinked-title": "Canbiamenti ligà a \"$1\"",
-       "recentchangeslinked-summary": "Sti qua i xe i canbiamenti fati ultimamente a pagine pontà da na pagina indicà da ti (o a pagine de na categoria indicà da ti).\nLe pagine [[Special:Watchlist|tegnùe d'ocio]] le xe in '''grosso'''.",
+       "recentchangeslinked-summary": "Scrivi el nome de na pagina pa' védar i canbiamenti fati a le pagine pontà da ela. (Pa' védar le pagine de na categoria, scrivi {{ns:category}}:Nome de la categoria). I canbiamenti a le pagine [[Special:Watchlist|tegnùe d'ocio]] i xe in <strong>groso</strong>.",
        "recentchangeslinked-page": "Nome de la pagina:",
        "recentchangeslinked-to": "Mostra solo i canbiamenti a le pagine ligà a quela indicà",
        "upload": "Carga un file",
        "booksources-invalid-isbn": "El nùmaro ISBN inserìo no'l xe mia valido: controla de novo se te lo ghè copià justo da la fonte originale.",
        "magiclink-tracking-isbn": "Pàgine che dòpara coƚegamenti magisi ISBN",
        "specialloguserlabel": "Asion efetuà da:",
-       "speciallogtitlelabel": "Asion efetuà so:",
+       "speciallogtitlelabel": "Asion efetuà so (titolo de la pagina o {{ns:user}}:nome utente):",
        "log": "Registri",
        "all-logs-page": "Tuti i registri pùblici",
        "alllogstext": "Vixualixazion unificà de tuti i registri disponibili de {{SITENAME}}.\nTe podi restrénzar i criteri de riçerca selezionando el tipo de registro, el nome utente, o la pàxena interessà (ocio che sti ultimi du i distingue tra majuscolo e minuscolo).",
        "unwatchthispage": "Desmeti de tegner d'ocio",
        "notanarticle": "Sta pagina no la xè na pagina de contenuto",
        "notvisiblerev": "La revision la xe stà scancelà",
-       "watchlist-details": "Te sì drio tegner d'ocio {{PLURAL:$1|una pagina (e la so pagina de discussion)|$1 pagine (e le so pagine de discussion)}}.",
+       "watchlist-details": "Te sì drio tegner d'ocio {{PLURAL:$1|una pagina|$1 pagine}} (più le pagine de discussion).",
        "wlheader-enotif": "Xe ativà la notifica via e-mail.",
-       "wlheader-showupdated": "Le pagine che xe stà canbià da la to ultima visita le xe segnà in '''grosso'''",
-       "wlnote": "Cuà soto te cati {{PLURAL:$1|'l ultimo canbiamento|i ultimi '''$1''' canbiamenti}} inte {{PLURAL:$2|l'ultema ora|łe ultime '''$2''' ore}}; i dati i xe axornai a łe $4 del $3.",
+       "wlheader-showupdated": "Le pagine che xe stà canbià da l'ultima olta che te le ghè viste, a le xe segnà in <strong>groso</strong>.",
+       "wlnote": "Cuà soto te cati {{PLURAL:$1|'l ultimo canbiamento|i ultimi <strong>$1</strong> canbiamenti}} inte {{PLURAL:$2|l'ultema ora|łe ultime <strong>$2</strong> ore}}; i dati i xe axornai a łe $4 del $3.",
        "wlshowlast": "Mostra le ultime $1 ore $2 zorni",
        "watchlist-options": "Inpostassion de le pagine tegnùe d'ocio",
        "watching": "Taco a tegner d'ocio...",
        "whatlinkshere": "Punta qua",
        "whatlinkshere-title": "Pagine che ponta a ''$1''",
        "whatlinkshere-page": "Pagina:",
-       "linkshere": "Ste pagine qua le ponta a '''[[:$1]]''':",
-       "nolinkshere": "Nissuna pagina la contien colegamenti che punta a '''[[:$1]]'''.",
-       "nolinkshere-ns": "No ghe xe pagine che punta a '''[[:$1]]''' nel namespace selezionà.",
+       "linkshere-2": "Ste pagine qua le ponta a '''$1''':",
+       "nolinkshere-2": "Nissuna pagina la contien colegamenti che punta a '''$1'''.",
+       "nolinkshere-ns-2": "No ghe xe pagine che punta a '''$1''' nel namespace selezionà.",
        "isredirect": "Pagina de rimando",
        "istemplate": "inclusion",
        "isimage": "colegamento verso file",
        "tooltip-feed-rss": "Feed RSS par sta pagina",
        "tooltip-feed-atom": "Feed Atom par sta pagina",
        "tooltip-t-contributions": "La lista de i contribui de {{GENDER:$1|sto|sta}} utente",
-       "tooltip-t-emailuser": "Invia on mesajo e-mail a sto utente",
+       "tooltip-t-emailuser": "Màndeghe na e-mail a {{GENDER:$1|sto utente qua}}",
        "tooltip-t-upload": "Carga file",
        "tooltip-t-specialpages": "Lista de tute le pagine speciali",
        "tooltip-t-print": "Version stanpabile de sta pagina",
        "pageinfo-length": "Longhessa de la pagina (in byte)",
        "pageinfo-article-id": "ID de la pagina",
        "pageinfo-language": "Lengua del contenuto de la pagina",
-       "pageinfo-robot-policy": "Stato par i motori de riserca",
+       "pageinfo-content-model": "Modèl del contegnùo de la pagina",
+       "pageinfo-robot-policy": "Indexixasion par i robot",
        "pageinfo-robot-index": "Parmesso",
        "pageinfo-robot-noindex": "Vietà",
        "pageinfo-watchers": "Nùmaro de utenti che tien d'ocio sta pagina",
        "pageinfo-few-watchers": "Manco de $1 {{PLURAL:$1|oservador|oservadori}}",
-       "pageinfo-redirects-name": "Rimandi verso sta pagina",
+       "pageinfo-redirects-name": "Nùmaro de rimandi verso sta pagina",
        "pageinfo-subpages-name": "Sotopagine de sta pagina",
        "pageinfo-subpages-value": "$1 ($2 {{PLURAL:$2|rimandi}}; $3 {{PLURAL:$3|no rimandi}})",
        "pageinfo-firstuser": "Creador de sta pagina",
        "watchlistedit-raw-added": "Xe stà zontà {{PLURAL:$1|una pagina|$1 pagine}}:",
        "watchlistedit-raw-removed": "Xe stà eliminà {{PLURAL:$1|una pagina|$1 pagine}}:",
        "watchlistedit-clear-titles": "Pagine:",
+       "watchlisttools-clear": "Desvoda la lista dei tegnùi d'ocio",
        "watchlisttools-view": "Varda i canbiamenti",
        "watchlisttools-edit": "Varda e canbia le pagine tegnùe d'ocio",
        "watchlisttools-raw": "Canbia la lista in formato testo",
        "version-libraries-license": "Licensa",
        "version-libraries-description": "Descrision",
        "version-libraries-authors": "Autori",
-       "redirect": "Rimando par file, utente, pagina o ID de version.",
+       "redirect": "Rimando par file, utente, pagina, revision o registro",
        "redirect-summary": "Sta pagina speciale la rimanda a un file (dato el nome del file), a na pagina (dato l'ID de la revision), o a na pagina utente (dato l'ID de l'utente).",
        "redirect-submit": "Và",
        "redirect-lookup": "Ciave de riserca:",
        "redirect-value": "Valor:",
        "redirect-user": "ID utente",
+       "redirect-page": "ID de la pagina",
        "redirect-revision": "Revision de la pagina",
        "redirect-file": "Nome del file",
        "redirect-not-exists": "Valor mia catà",
        "fileduplicatesearch-noresults": "Nisun file de nome \"$1\" trovà.",
        "specialpages": "Pagine speciali",
        "specialpages-note-top": "Legenda",
+       "specialpages-note-restricted": "* Pàjine speciałi normałi.\n* <span class=\"mw-specialpagerestricted\">Pàjine speciałi a aceso limità.</span>",
        "specialpages-group-maintenance": "Resoconti de manutenzion",
        "specialpages-group-other": "Altre pagine speciali",
        "specialpages-group-login": "Login / registrasion",
        "htmlform-yes": "Sì",
        "htmlform-chosen-placeholder": "Selessiona na opzione",
        "logentry-delete-delete": "$1 {{GENDER:$2|el|la}} ga scansełà ła pajina $3",
-       "logentry-delete-restore": "$1 {{GENDER:$2|el|la}} ga ripristinà \"$3\"",
+       "logentry-delete-restore": "$1 {{GENDER:$2|el|la}} ga ripristinà $3 ($4)",
        "logentry-delete-event": "$1 {{GENDER:$2|el|la}} ga canbià ła vixibiłità de {{PLURAL:$5|n'asion del registro|$5 asion del registro}} de \"$3\": $4",
        "logentry-delete-revision": "$1 {{GENDER:$2|el|la}} ga canbià ła vixibiłità de {{PLURAL:$5|na revixion|$5 revixion}} de ła pajina\"$3\": $4",
        "logentry-delete-event-legacy": "$1 {{GENDER:$2|el|la}} ga canbià ła vixibiłità de calche asion del registro de \"$3\"",
        "logentry-rights-rights-legacy": "$1 {{GENDER:$2|el|la}} ga canbià l'apartenensa a grupi de $3",
        "logentry-rights-autopromote": "$1 {{GENDER:$2|el|la}} xe stà automategamente promoso/a da $4 a $5",
        "logentry-upload-upload": "$1 {{GENDER:$2|el|la}} gà cargà $3",
+       "logentry-upload-overwrite": "$1 {{GENDER:$2|el|la}} gà cargà na version nova de $3.",
        "rightsnone": "(nissun)",
        "feedback-adding": "Inserimento del feedback inte ła pàjina...",
        "feedback-back": "Indrìo",
        "mw-widgets-dateinput-placeholder-day": "AAAA-MM-GG",
        "mw-widgets-dateinput-placeholder-month": "AAAA-MM",
        "mw-widgets-titleinput-description-redirect": "rimando a $1",
-       "randomrootpage": "Pagina raìsa caxuale"
+       "randomrootpage": "Pagina raìsa a ocio"
 }
index 6a40619..28e0f1d 100644 (file)
        "whatlinkshere": "Kosketused - nakhu",
        "whatlinkshere-title": "Lehtpoled, kudambad kosketadas \"$1\"-lehtpolen",
        "whatlinkshere-page": "Lehtpol’:",
-       "linkshere": "Nened lehtpoled kosketadas '''[[:$1]]''':",
-       "nolinkshere": "'''[[:$1]]'''-lehtpol't ei kosketa ni üks' lehtpol'.",
-       "nolinkshere-ns": "'''[[:$1]]'''-lehtpol't ei kosketa ni üks' lehtpol' valitud nimiavarudes.",
+       "linkshere-2": "Nened lehtpoled kosketadas '''$1''':",
+       "nolinkshere-2": "'''$1'''-lehtpol't ei kosketa ni üks' lehtpol'.",
+       "nolinkshere-ns-2": "'''$1'''-lehtpol't ei kosketa ni üks' lehtpol' valitud nimiavarudes.",
        "isredirect": "Oigendai lehtpol'",
        "istemplate": "mülütand",
        "isimage": "Kosketuz failale",
        "fileduplicatesearch-result-1": "\"$1\"-failal ei ole identižid dublikatoid.",
        "fileduplicatesearch-result-n": "\"$1\"-failal om {{PLURAL:$2|1 identine kopii|$2 identišt kopijad}}.",
        "specialpages": "Specialižed lehtpoled",
+       "specialpages-note-restricted": "* Järgeližed specialižed lehtpoled.\n* <span class=\"mw-specialpagerestricted\">Kaitud specialižed lehtpoled.</span>",
        "specialpages-group-maintenance": "Tehnižen holitandan satusenladindad",
        "specialpages-group-other": "Toižed specialižed lehtpoled",
        "specialpages-group-login": "Kirjutadas sistemha / Sada registracii",
index aa78905..4f95d36 100644 (file)
@@ -41,7 +41,8 @@
                        "Tmp1109",
                        "Phjtieudoc",
                        "Harriettruong3",
-                       "Fitoschido"
+                       "Fitoschido",
+                       "Leducthn"
                ]
        },
        "tog-underline": "Gạch chân liên kết:",
        "prefs-dateformat": "Kiểu hiển thị ngày tháng",
        "prefs-timeoffset": "Chênh lệch giờ",
        "prefs-advancedediting": "Tùy chọn chung",
+       "prefs-developertools": "Công cụ dành cho lập trình viên",
        "prefs-editor": "Trình soạn",
        "prefs-preview": "Xem trước",
        "prefs-advancedrc": "Tùy chọn nâng cao",
        "whatlinkshere": "Các liên kết đến đây",
        "whatlinkshere-title": "Các trang liên kết đến “$1”",
        "whatlinkshere-page": "Trang:",
-       "linkshere": "Các trang sau liên kết đến '''[[:$1]]''':",
-       "nolinkshere": "Không có trang nào liên kết đến '''[[:$1]]'''.",
-       "nolinkshere-ns": "Không có trang nào liên kết đến '''[[:$1]]''' trong không gian tên đã chọn.",
+       "linkshere-2": "Các trang sau liên kết đến '''$1''':",
+       "nolinkshere-2": "Không có trang nào liên kết đến '''$1'''.",
+       "nolinkshere-ns-2": "Không có trang nào liên kết đến '''$1''' trong không gian tên đã chọn.",
        "isredirect": "trang đổi hướng",
        "istemplate": "được nhúng vào",
        "isimage": "liên kết tập tin",
index a8988bf..6fa865f 100644 (file)
        "whatlinkshere": "Linggs af däj Saidn",
        "whatlinkshere-title": "Sajdn, di af „$1“ fârwajsn",
        "whatlinkshere-page": "Sajdn:",
-       "linkshere": "Dii afgfiirdn sajdn fârwajsn af ''„[[:$1]]“''':",
-       "nolinkshere": "Ka Seidn verlingt af '''„[[:$1]]“'''.",
+       "linkshere-2": "Dii afgfiirdn sajdn fârwajsn af ''„$1“''':",
+       "nolinkshere-2": "Ka Seidn verlingt af '''„$1“'''.",
        "isredirect": "Wajdârlajdungssajdn",
        "istemplate": "Foorlaachn-ajbindung",
        "isimage": "Daddeilink",
index 43a7b83..3526cd8 100644 (file)
        "whatlinkshere": "Yüms isio",
        "whatlinkshere-title": "Pads ad \"$1\" yumöls",
        "whatlinkshere-page": "Pad:",
-       "linkshere": "Pads sököl payümons ko '''[[:$1]]''':",
-       "nolinkshere": "Pads nonik peyümons lü '''[[:$1]]'''.",
-       "nolinkshere-ns": "Pads nonik yumons lü pad: '''[[:$1]]''' in nemaspad pevälöl.",
+       "linkshere-2": "Pads sököl payümons ko '''$1''':",
+       "nolinkshere-2": "Pads nonik peyümons lü '''$1'''.",
+       "nolinkshere-ns-2": "Pads nonik yumons lü pad: '''$1''' in nemaspad pevälöl.",
        "isredirect": "lüodükömapad",
        "istemplate": "ninükam",
        "isimage": "yüm ragiva",
        "fileduplicatesearch-result-1": "Ragiv: „$1“ no labon telükoti kuratik.",
        "fileduplicatesearch-result-n": "Ragiv: „$1“ labon {{PLURAL:$2|telükoti kuratik bal|telükotis kuratik $2}}.",
        "specialpages": "Pads patik",
+       "specialpages-note-restricted": "* Pads patik nomik.\n* <span class=\"mw-specialpagerestricted\">Pads patik pemiedüköl.</span>",
        "specialpages-group-maintenance": "Nunods tefü kiped",
        "specialpages-group-other": "Pads patik votik",
        "specialpages-group-login": "Nunädön oki / jafön kali",
index f888f7b..97d736b 100644 (file)
        "whatlinkshere": "Linkid tänne",
        "whatlinkshere-title": "Cüľľed, kummad näütellä cüľľelle \"$1\"",
        "whatlinkshere-page": "Cülci:",
-       "linkshere": "Vahtiaavilt cülciilt on linkki cüľľelle '''[[:$1]]''':",
-       "nolinkshere": "Mitäid eb viitata '''[[:$1]]-sõ'''",
+       "linkshere-2": "Vahtiaavilt cülciilt on linkki cüľľelle '''$1''':",
+       "nolinkshere-2": "Mitäid eb viitata '''$1-sõ'''",
        "isredirect": "mešaituzcülci",
        "istemplate": "sisällütüz šabloonii",
        "isimage": "kuvalinkki",
index 9b0c24a..fbac9a3 100644 (file)
        "whatlinkshere": "Siiäq näütäjäq lingiq",
        "whatlinkshere-title": "Leheq, miä näütäseq lehe \"$1\" pääle",
        "whatlinkshere-page": "Leht:",
-       "linkshere": "Lehe <b>[[:$1]]</b> pääle näütäseq lingiq lehti päält:",
-       "nolinkshere": "Lehe <b>[[:$1]]</b> pääle näütä-i linke ütegi lehe päält.",
-       "nolinkshere-ns": "Valitun nimeruumin näütä-i ütegi lehe päält linke lehe '''[[:$1]]''' pääle.",
+       "linkshere-2": "Lehe <b>$1</b> pääle näütäseq lingiq lehti päält:",
+       "nolinkshere-2": "Lehe <b>$1</b> pääle näütä-i linke ütegi lehe päält.",
+       "nolinkshere-ns-2": "Valitun nimeruumin näütä-i ütegi lehe päält linke lehe '''$1''' pääle.",
        "isredirect": "ümbresaatmislehekülg",
        "istemplate": "pruugit näüdüssen",
        "isimage": "teedüstülink",
        "fileduplicatesearch-filename": "Teedüstünimi:",
        "fileduplicatesearch-submit": "Otsiq",
        "specialpages": "Tallitusleheküleq",
+       "specialpages-note-restricted": "* Hariliguq tallitusleheq.\n* <strong class=\"mw-specialpagerestricted\">Piiredüq tallitusleheq.</strong>",
        "specialpages-group-maintenance": "Kõrranpidämisteedüseq",
        "specialpages-group-other": "Muuq tallitusleheq",
        "specialpages-group-login": "Nimega sisseminek / Pruukjanime luuminõ",
index 946da53..20a8a69 100644 (file)
        "whatlinkshere": "Pådjes ki loynut chal",
        "whatlinkshere-title": "Pådjes ki loynut aviè «$1»",
        "whatlinkshere-page": "Pådje:",
-       "linkshere": "Les pådjes ki shuvèt ont des loyéns viè '''[[:$1]]''':",
-       "nolinkshere": "Nole pådje avou des loyéns viè '''[[:$1]]'''.",
+       "linkshere-2": "Les pådjes ki shuvèt ont des loyéns viè '''$1''':",
+       "nolinkshere-2": "Nole pådje avou des loyéns viè '''$1'''.",
        "isredirect": "pådje di redjiblaedje",
        "isimage": "loyén viè l' fitchî",
        "whatlinkshere-prev": "{{PLURAL:$1|di dvant|$1 di dvant}}",
index b03b0a9..7f8ae9a 100644 (file)
        "whatlinkshere": "Mga nasumpay dinhi",
        "whatlinkshere-title": "Mga pakli nga nasumpay ngadto ha \"$1\"",
        "whatlinkshere-page": "Pakli:",
-       "linkshere": "An masunod nga mga pakli in nasumpay ha '''[[:$1]]''':",
-       "nolinkshere": "Waray mga pakli nga nasumpay ha '''[[:$1]]'''",
+       "linkshere-2": "An masunod nga mga pakli in nasumpay ha '''$1''':",
+       "nolinkshere-2": "Waray mga pakli nga nasumpay ha '''$1'''",
        "isredirect": "Redirek nga pakli",
        "istemplate": "transklusyon",
        "isimage": "sumpay han fayl",
index f1cbdda..80f245a 100644 (file)
        "whatlinkshere": "Xët yi mu lëkkalool",
        "whatlinkshere-title": "Xët yi lëkkalook wii « $1 »",
        "whatlinkshere-page": "Xët :",
-       "linkshere": "Xët yii ci suuf am nañ ab lëkkalekaay buy jëm <b>[[:$1]]</b> :",
-       "nolinkshere": "Amul wenn xët wu lëkkalook wii <b>[[:$1]]</b>.",
-       "nolinkshere-ns": "Amul wenn xët wu lëkkalook wii '''[[:$1]]''' ci barabu tur bi nga tànn.",
+       "linkshere-2": "Xët yii ci suuf am nañ ab lëkkalekaay buy jëm <b>$1</b> :",
+       "nolinkshere-2": "Amul wenn xët wu lëkkalook wii <b>$1</b>.",
+       "nolinkshere-ns-2": "Amul wenn xët wu lëkkalook wii '''$1''' ci barabu tur bi nga tànn.",
        "isredirect": "Xëtu jubluwaat",
        "istemplate": "mboole",
        "isimage": "lëkkalekaayu dencukaay bi",
index 3e1f16e..0136f2e 100644 (file)
        "whatlinkshere": "链进来点啥",
        "whatlinkshere-title": "链接到“$1”个页面",
        "whatlinkshere-page": "页面:",
-       "linkshere": "下头个页链到[[:$1]]:",
-       "nolinkshere": "呒不页面链到<strong>[[:$1]]</strong>。",
+       "linkshere-2": "下头个页链到$1:",
+       "nolinkshere-2": "呒不页面链到<strong>$1</strong>。",
        "isredirect": "转戳页",
        "istemplate": "包括",
        "isimage": "文件鏈接",
index 4bec10d..8fb37e0 100644 (file)
        "whatlinkshere": "Эн һазрур заалһуд",
        "whatlinkshere-title": "«$1» гидг нерәдлһтә халхд заалдг халхс",
        "whatlinkshere-page": "Халх:",
-       "linkshere": "Тер халхс '''[[:$1]]''' халхд заалдг:",
+       "linkshere-2": "Тер халхс '''$1''' халхд заалдг:",
        "isredirect": "авч оддг халх",
        "istemplate": "оруллһн",
        "isimage": "зургин  заалһ",
index aec1a47..1930403 100644 (file)
        "whatlinkshere": "სოვრეშე რე თე ხასჷლა წურაფილი",
        "whatlinkshere-title": "ხასჷლეფი, ნამუთ გინორცხილ რე $1-შა",
        "whatlinkshere-page": "ხასჷლა:",
-       "linkshere": "გეჸვენჯ ხასჷლეფი გინარცხუაფუ '''[[:$1]]'''-ეფს",
-       "nolinkshere": "ნამთინ ხასილა ვა რე გინორცხილ '''[[:$1]]'''-შა.",
+       "linkshere-2": "გეჸვენჯ ხასჷლეფი გინარცხუაფუ '''$1'''-ეფს",
+       "nolinkshere-2": "ნამთინ ხასილა ვა რე გინორცხილ '''$1'''-შა.",
        "isredirect": "გინოწურაფაშ ხასჷლა",
        "istemplate": "ტრანსკლუზია",
        "isimage": "ფაილიშ რცხი",
        "fileduplicatesearch-submit": "გორუა",
        "specialpages": "გჷშაკერძაფილი ხასჷლეფი",
        "specialpages-note-top": "ლეგენდა",
+       "specialpages-note-restricted": "* ჩვეულებრივი სპეცგვერდები.\n* <span class=\"mw-specialpagerestricted\">სპეცგვერდები შეზღუდული წვდომით.</span>",
        "specialpages-group-maintenance": "ტექნიკური მომსახურების ანგარიშები",
        "specialpages-group-other": "სხვა სპეციალური გვერდები",
        "specialpages-group-login": "მიშულა/ანგარიშიშ გონწყუმა",
index c9a0170..200fc66 100644 (file)
        "whatlinkshere": "װאָס פֿאַרבינדט אַהער",
        "whatlinkshere-title": "בלעטער וואס פֿארבינדן צו $1",
        "whatlinkshere-page": "בלאַט:",
-       "linkshere": "די פאלגנדע בלעטער פארבינדן צום בלאט '''[[:$1]]''':",
-       "nolinkshere": "קיין שום בלאט פארבינדט נישט צו '''[[:$1]]'''.",
-       "nolinkshere-ns": "קיין בלעטער פֿאַרבינדן נישט צו '''[[:$1]]''' אינעם אויסגעקליבענעם נאמענטייל.",
+       "linkshere-2": "די פאלגנדע בלעטער פארבינדן צום בלאט '''$1''':",
+       "nolinkshere-2": "קיין שום בלאט פארבינדט נישט צו '''$1'''.",
+       "nolinkshere-ns-2": "קיין בלעטער פֿאַרבינדן נישט צו '''$1''' אינעם אויסגעקליבענעם נאמענטייל.",
        "isredirect": "ווײַטערפירן בלאט",
        "istemplate": "אײַנשליסן",
        "isimage": "!טעקע לינק",
        "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": "ארײַנלאגירן / שאַפֿן קאנטע",
index 38f7e62..0618976 100644 (file)
        "whatlinkshere": "Ìjápọ̀ mọ́ ojúewé yí",
        "whatlinkshere-title": "Àwọn ojúewé tó jápọ̀ mọ́ \"$1\"",
        "whatlinkshere-page": "Ojúewé:",
-       "linkshere": "Àwọn ojúewé wọ̀nyí jápọ̀ mọ́ '''[[:$1]]''':",
-       "nolinkshere": "Kò sí ojúewé tó jápọ̀ mọ́ '''[[:$1]]'''.",
-       "nolinkshere-ns": "Kò sí ojúewé kankan tó jápọ̀ mọ́ '''[[:$1]]''' nínú orúkọàyè yíyàn.",
+       "linkshere-2": "Àwọn ojúewé wọ̀nyí jápọ̀ mọ́ '''$1''':",
+       "nolinkshere-2": "Kò sí ojúewé tó jápọ̀ mọ́ '''$1'''.",
+       "nolinkshere-ns-2": "Kò sí ojúewé kankan tó jápọ̀ mọ́ '''$1''' nínú orúkọàyè yíyàn.",
        "isredirect": "àtúnjúwe ojúewé",
        "istemplate": "ìkómọ́ra",
        "isimage": "ìjápọ̀ fáìlì",
        "fileduplicatesearch-result-n": "Fáìlì \"$1\" ní {{PLURAL:$2|ìdáwòkọ jíjọra 1|ìdáwòkọ jíjọra $2}}.",
        "fileduplicatesearch-noresults": "Kò sí fáìlì tó únjẹ́ \"$1\".",
        "specialpages": "Àwọn ojúewé pàtàkì",
+       "specialpages-note-restricted": "* Àwọn ojúewé pàtàkì onídéédé.\n* <span class=\"mw-specialpagerestricted\">Àwọn ojúewé pàtàkì àìgbàláyè.</span>",
        "specialpages-group-maintenance": "Àwọn ìjábọ̀ ìtọ́jú",
        "specialpages-group-other": "Àwọn ojúewé pàtàkì míràn",
        "specialpages-group-login": "Ìwọlé / ìdá àpamọ́",
index 0710586..35422ec 100644 (file)
        "recentchanges-label-unpatrolled": "呢次編輯重未巡查過",
        "recentchanges-label-plusminus": "頁面位元組大細變化",
        "recentchanges-legend-heading": "<strong>標記:</strong>",
-       "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (睇埋[[Special:NewPages|新開版]])",
+       "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (睇埋[[Special:NewPages|新版一覽]])",
        "recentchanges-submit": "顯示",
        "rcfilters-tag-remove": "剷走 $1",
        "rcfilters-legend-heading": "<strong>縮寫一覽:</strong>",
        "whatlinkshere": "有乜嘢連結來呢度",
        "whatlinkshere-title": "連到「$1」嘅頁",
        "whatlinkshere-page": "頁:",
-       "linkshere": "呢啲頁連結到'''[[:$1]]''':",
-       "nolinkshere": "無一頁連結到'''[[:$1]]'''。",
-       "nolinkshere-ns": "響已經揀咗嘅空間名無嘢連結到'''[[:$1]]'''。",
+       "linkshere-2": "呢啲頁連結到'''$1''':",
+       "nolinkshere-2": "無一頁連結到'''$1'''。",
+       "nolinkshere-ns-2": "響已經揀咗嘅空間名無嘢連結到'''$1'''。",
        "isredirect": "跳轉頁",
        "istemplate": "包含",
        "isimage": "檔案連結",
        "fileduplicatesearch-result-n": "個檔案 \"$1\" 有$2項完全相同嘅重覆。",
        "fileduplicatesearch-noresults": "檔案名\"$1\"找不到",
        "specialpages": "特別頁",
+       "specialpages-note-restricted": "* 標準特別頁。\n* <span class=\"mw-specialpagerestricted\">有限制嘅特別頁。</span>",
        "specialpages-group-maintenance": "維護報告",
        "specialpages-group-other": "其它特別頁",
        "specialpages-group-login": "簽到/開新戶口",
index f8c6f24..a545f62 100644 (file)
        "whatlinkshere": "Links nae deze bladzie",
        "whatlinkshere-title": "Pagina's die verwiez'n nir \"$1\"",
        "whatlinkshere-page": "Pagina:",
-       "linkshere": "De volhende pagina's verwieze nir '''[[:$1]]''':",
-       "nolinkshere": "Hin enkele pagina verwies nir '''[[:$1]]'''.",
+       "linkshere-2": "De volhende pagina's verwieze nir '''$1''':",
+       "nolinkshere-2": "Hin enkele pagina verwies nir '''$1'''.",
        "isredirect": "deurverwiespagina",
        "istemplate": "ingevoegd as sjabloon",
        "isimage": "bestandsverwiezienge",
index 8e18bf7..d72a4e9 100644 (file)
        "whatlinkshere": "ⵎⴰ ⴰⵢⴷ ⵉⵇⵇⵏⵏ ⵙ ⴷⴰ",
        "whatlinkshere-title": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵉⵣⴷⵉⵏ ⵖⵔ $1",
        "whatlinkshere-page": "ⵜⴰⵙⵏⴰ:",
-       "linkshere": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⴰⴷ ⵣⴷⵉⵏ ⵖⵔ <strong>[[:$1]]</strong>:",
-       "nolinkshere": "ⵓⵔ ⵍⵍⵉⵏ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵉⵣⴷⵉⵏ ⵖⵔ <strong>[[:$1]]</strong>",
+       "linkshere-2": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⴰⴷ ⵣⴷⵉⵏ ⵖⵔ <strong>$1</strong>:",
+       "nolinkshere-2": "ⵓⵔ ⵍⵍⵉⵏ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵉⵣⴷⵉⵏ ⵖⵔ <strong>$1</strong>",
        "isredirect": "ⵙⵡⴰⵍⴰ ⵜⴰⵙⵏⴰ",
        "istemplate": "ⴰⵙⵙⵓⵎⵢ",
        "isimage": "ⴰⵙⵖⵓⵏ ⵏ ⵓⴼⴰⵢⵍⵓ",
index c890f9a..f81d57a 100644 (file)
        "protectedtitles-submit": "显示标题",
        "listusers": "用户列表",
        "listusers-editsonly": "只显示有编辑的用户",
+       "listusers-temporarygroupsonly": "只显示在临时用户组中的用户",
        "listusers-creationsort": "按创建日期排序",
        "listusers-desc": "降序排序",
        "usereditcount": "$1次编辑",
        "apisandbox-dynamic-parameters-add-label": "添加参数:",
        "apisandbox-dynamic-parameters-add-placeholder": "参数名称",
        "apisandbox-dynamic-error-exists": "已存在名为“$1”的参数。",
+       "apisandbox-templated-parameter-reason": "此[[Special:ApiHelp/main#main/templatedparams|模板参数]]已基于$2的{{PLURAL:$1|值}}提供。",
        "apisandbox-deprecated-parameters": "弃用参数",
        "apisandbox-fetch-token": "自动填充令牌",
        "apisandbox-add-multi": "添加",
        "whatlinkshere": "链入页面",
        "whatlinkshere-title": "链接至“$1”的页面",
        "whatlinkshere-page": "页面:",
-       "linkshere": "以下页面链接至<strong>[[:$1]]</strong>:",
-       "nolinkshere": "没有页面链接至'''[[:$1]]'''。",
-       "nolinkshere-ns": "在所选的名字空间内没有页面链接到'''[[:$1]]'''。",
+       "linkshere-2": "以下页面链接至<strong>$1</strong>:",
+       "nolinkshere-2": "没有页面链接至<strong>$1</strong>。",
+       "nolinkshere-ns-2": "在所选的名字空间内没有页面链接到<strong>$1</strong>。",
        "isredirect": "重定向页面",
        "istemplate": "嵌入",
        "isimage": "文件链接",
        "pagedata-title": "页面数据",
        "pagedata-text": "此页面提供相关页面的数据界面。请在URL中,使用子页面语法提供页面标题。\n* 内容协商基于您客户端的接受标头应用。这意味着页面数据将以您客户端首选的格式提供。",
        "pagedata-not-acceptable": "没有找到匹配的格式。支持的MIME类型:$1",
-       "pagedata-bad-title": "无效标题:$1。"
+       "pagedata-bad-title": "无效标题:$1。",
+       "unregistered-user-config": "由于安全原因,JavaScript、CSS和JSON用户子页面不能为非注册用户加载。",
+       "passwordpolicies": "密码方针",
+       "passwordpolicies-summary": "这里是对本wiki定义的用户组而言,起作用的密码方针列表。",
+       "passwordpolicies-group": "组",
+       "passwordpolicies-policies": "方针",
+       "passwordpolicies-policy-minimalpasswordlength": "密码长度必须至少$1个{{PLURAL:$1|字符}}",
+       "passwordpolicies-policy-minimumpasswordlengthtologin": "密码长度必须至少$1个{{PLURAL:$1|字符}}才能登陆",
+       "passwordpolicies-policy-passwordcannotmatchusername": "密码不能与用户名相同",
+       "passwordpolicies-policy-passwordcannotmatchblacklist": "密码不能匹配特定列入黑名单的密码",
+       "passwordpolicies-policy-maximalpasswordlength": "密码长度必须少于$1个{{PLURAL:$1|字符}}",
+       "passwordpolicies-policy-passwordcannotbepopular": "密码不能{{PLURAL:$1|是最常见的密码|在$1个最常见密码的列表中}}"
 }
index 39f8361..0809fc0 100644 (file)
        "lineno": "行 $1:",
        "compareselectedversions": "比較已選擇的修訂",
        "showhideselectedversions": "變更已選擇修訂的顯示設定",
-       "editundo": "撤銷",
+       "editundo": "復原",
        "diff-empty": "(無差異)",
        "diff-multi-sameuser": "(未顯示同一使用者於中間所作的 $1 次修訂)",
        "diff-multi-otherusers": "(未顯示由 $2 位使用者於中間所作的 $1 次修訂)",
        "protectedtitles-submit": "顯示標題",
        "listusers": "使用者清單",
        "listusers-editsonly": "只顯示有編輯的使用者",
+       "listusers-temporarygroupsonly": "僅顯示在臨時使用者群組的使用者",
        "listusers-creationsort": "依建立日期排序",
        "listusers-desc": "使用降冪排序",
        "usereditcount": "$1 次{{PLURAL:$1|編輯}}",
        "apisandbox-dynamic-parameters-add-label": "加入參數:",
        "apisandbox-dynamic-parameters-add-placeholder": "參數名稱",
        "apisandbox-dynamic-error-exists": "命名的參數 \"$1\" 已經存在。",
+       "apisandbox-templated-parameter-reason": "此[[Special:ApiHelp/main#main/templatedparams|模板參數]]基於 $2 裡的{{PLURAL:$1|值|值}}來提供。",
        "apisandbox-deprecated-parameters": "停用的參數",
        "apisandbox-fetch-token": "自動填寫密鑰",
        "apisandbox-add-multi": "新增",
        "whatlinkshere": "連結至此的頁面",
        "whatlinkshere-title": "連結至「$1」的頁面",
        "whatlinkshere-page": "頁面:",
-       "linkshere": "以下頁面連結至 <strong>[[:$1]]</strong>:",
-       "nolinkshere": "沒有頁面連結至 <strong>[[:$1]]</strong>。",
-       "nolinkshere-ns": "已選擇的命名空間中沒有頁面連結到 [[:$1]]。",
+       "linkshere-2": "以下頁面連結至 <strong>$1</strong>:",
+       "nolinkshere-2": "沒有頁面連結至 <strong>$1</strong>。",
+       "nolinkshere-ns-2": "已選擇的命名空間中沒有頁面連結到 $1。",
        "isredirect": "重新導向頁面",
        "istemplate": "引用",
        "isimage": "檔案連結",
        "tag-mw-replace-description": "移除超過90%頁面內容的編輯",
        "tag-mw-rollback": "回退",
        "tag-mw-rollback-description": "使用回退連結回退上一編輯的編輯",
-       "tag-mw-undo": "撤銷",
+       "tag-mw-undo": "復原",
        "tag-mw-undo-description": "使用撤銷連結來撤銷上一筆編輯的編輯數",
        "tags-title": "標籤",
        "tags-intro": "此頁面列出所有可用來標示編輯內容的標籤以及這些標籤所代表的意思。",
        "duration-centuries": "$1世紀",
        "duration-millennia": "$1千年",
        "rotate-comment": "已順時針旋轉圖片 $1 {{PLURAL:$1|度|度}}",
-       "limitreport-title": "析器分析資料:",
+       "limitreport-title": "析器分析資料:",
        "limitreport-cputime": "CPU 使用時間",
        "limitreport-cputime-value": "$1 秒",
        "limitreport-walltime": "實際使用時間",
        "limitreport-templateargumentsize": "模板參數大小",
        "limitreport-templateargumentsize-value": "$1/$2 個{{PLURAL:$2|位元組}}",
        "limitreport-expansiondepth": "最高展開深度",
-       "limitreport-expensivefunctioncount": "高消耗解析器函數次數",
+       "limitreport-expensivefunctioncount": "高度耗費剖析器函數次數",
        "limitreport-unstrip-depth": "Unstrip 迴圈深度",
        "limitreport-unstrip-depth-value": "$1/$2",
        "limitreport-unstrip-size": "Unstrip 傳遞擴充大小",
        "pagedata-text": "此頁面提供了至頁面的資料介面。請使用子頁面語法在 URL 裡提供頁面標題。\n* 內容協商會基於您客戶端接受標頭來套用,這代表頁面資料會以由您客戶端所首選格式來提供。",
        "pagedata-not-acceptable": "查無符合的格式,支援的 MIME 類型有:$1",
        "pagedata-bad-title": "無效的標題:$1。",
-       "unregistered-user-config": "基於安全緣故未註冊的使用者不會載入 JavaScript、CSS,以及 JSON 使用者子頁面。"
+       "unregistered-user-config": "基於安全緣故未註冊的使用者不會載入 JavaScript、CSS,以及 JSON 使用者子頁面。",
+       "passwordpolicies": "密碼方針",
+       "passwordpolicies-summary": "這是定義在此 wiki 上可用於使用者群組的有效密碼方針清單。",
+       "passwordpolicies-group": "群組",
+       "passwordpolicies-policies": "方針",
+       "passwordpolicies-policy-minimalpasswordlength": "密碼必須至少 $1 個{{PLURAL:$1|字元|字元}}長度",
+       "passwordpolicies-policy-minimumpasswordlengthtologin": "密碼必須至少 $1 個{{PLURAL:$1|字元|字元}}長度以用於登入",
+       "passwordpolicies-policy-passwordcannotmatchusername": "密碼不可以和使用者名稱相同",
+       "passwordpolicies-policy-passwordcannotmatchblacklist": "密碼不可以同於被列入黑名單的特定密碼",
+       "passwordpolicies-policy-maximalpasswordlength": "密碼必須小於 $1 個{{PLURAL:$1|字元|字元}}長度",
+       "passwordpolicies-policy-passwordcannotbepopular": "密碼不可以是{{PLURAL:$1|常用密碼內容|在清單中的編號 $1 常用密碼}}"
 }
index f16aab4..131172a 100644 (file)
@@ -71,7 +71,7 @@
        "rev-deleted-comment": "(註釋已除)",
        "rev-deleted-event": "(日誌已除)",
        "revdelete-suppress-text": "壓制'''只'''應用於以下的情況:\n* 不合適的個人資料\n*: ''地址、電話號碼、身份證號碼等。''",
-       "editundo": "撤銷",
+       "editundo": "復原",
        "prefs-user-pages": "用戶頁面",
        "username": "{{GENDER:$1|用戶名稱}}:",
        "prefs-help-gender": "可選:用於軟件中的性別指定。此項資料將會被公開。",
index 16a12de..7a7370f 100644 (file)
@@ -468,6 +468,7 @@ $specialPageAliases = [
        'PagesWithProp'             => [ 'PagesWithProp', 'Pageswithprop', 'PagesByProp', 'Pagesbyprop' ],
        'PageData'                  => [ 'PageData' ],
        'PageLanguage'              => [ 'PageLanguage' ],
+       'PasswordPolicies'          => [ 'PasswordPolicies' ],
        'PasswordReset'             => [ 'PasswordReset' ],
        'PermanentLink'             => [ 'PermanentLink', 'PermaLink' ],
        'Preferences'               => [ 'Preferences' ],
index eed5e7f..e0676a6 100644 (file)
@@ -42,7 +42,10 @@ $specialPageAliases = [
        'Allmessages'               => [ 'TodosLosMensajes', 'Todos_los_mensajes' ],
        'AllMyUploads'              => [ 'TodasMisSubidas', 'Todas_mis_subidas', 'TodosMisArchivos', 'Todos_mis_archivos' ],
        'Allpages'                  => [ 'Todas', 'Todas_las_páginas' ],
+       'ApiHelp'                   => [ 'AyudaAPI', 'Ayuda_de_la_API' ],
+       'ApiSandbox'                => [ 'Zona_de_pruebas_de_la_API' ],
        'Ancientpages'              => [ 'PáginasAntiguas', 'Páginas_antiguas' ],
+       'Autoblocklist'             => [ 'Lista_de_bloqueos_automáticos' ],
        'Badtitle'                  => [ 'Título_incorrecto' ],
        'Blankpage'                 => [ 'PáginaEnBlanco', 'Blanquear_página', 'BlanquearPágina', 'Página_en_blanco' ],
        'Block'                     => [ 'Bloquear' ],
@@ -97,6 +100,7 @@ $specialPageAliases = [
        'Myuploads'                 => [ 'MisArchivosSubidos', 'Mis_archivos_subidos' ],
        'Newimages'                 => [ 'NuevasImágenes', 'Nuevas_imágenes' ],
        'Newpages'                  => [ 'PáginasNuevas', 'Páginas_nuevas' ],
+       'PasswordPolicies'          => [ 'Política_de_contraseñas' ],
        'PasswordReset'             => [ 'RestablecerContraseña', 'Restablecer_contraseña' ],
        'PermanentLink'             => [ 'EnlacePermanente', 'Enlace_permanente' ],
        'Preferences'               => [ 'Preferencias' ],
index 16d1f7e..eccb66b 100644 (file)
@@ -28,3 +28,116 @@ $namespaceNames = [
        NS_CATEGORY         => "Dalala",
        NS_CATEGORY_TALK    => "Lo'iya_dalala",
 ];
+
+$specialPageAliases = [
+       'Activeusers'               => [ 'TaOhu\'uwoAktif' ],
+       'Allmessages'               => [ 'Nga\'amilaTahuli' ],
+       'AllMyUploads'              => [ 'Nga\'amilaDiletohu\'u', 'Nga\'amilaBerkasi\'u' ],
+       'Allpages'                  => [ 'Nga\'amilaHalaman' ],
+       'ApiHelp'                   => [ 'ApiWubodu' ],
+       'ApiSandbox'                => [ 'ApiBakiLoHungayo' ],
+       'Ancientpages'              => [ 'HalamanMulolo' ],
+       'AutoblockList'             => [ 'AutoblockDaputari', 'DaputariAutoblocks' ],
+       'Badtitle'                  => [ 'JudulMoleto' ],
+       'Blankpage'                 => [ 'HalamanKosongi' ],
+       'Block'                     => [ 'BlockTaOhu\'uwo' ],
+       'Booksources'               => [ 'BukuBungo' ],
+       'BotPasswords'              => [ 'BotTaheU\'unti' ],
+       'BrokenRedirects'           => [ 'BrokenLopobale' ],
+       'Categories'                => [ 'Dalala' ],
+       'ChangeContentModel'        => [ 'Boli\'aTuangoModel' ],
+       'ChangeCredentials'         => [ 'Boli\'aKredensial' ],
+       'ChangeEmail'               => [ 'Boli\'aEmail' ],
+       'ChangePassword'            => [ 'Boli\'aPassword', 'Tulo\'iPass', 'Tulo\'iPassword' ],
+       'ComparePages'              => [ 'PopotadengaHlaman' ],
+       'Confirmemail'              => [ 'KomfirmEmail' ],
+       'Contributions'             => [ 'Kontributor', 'Kontrib' ],
+       'CreateAccount'             => [ 'MohutuAkun' ],
+       'Deadendpages'              => [ 'HalamanBuntu' ],
+       'DeletedContributions'      => [ 'LulutaKontribusi' ],
+       'DoubleRedirects'           => [ 'DubuluRedirects' ],
+       'EditTags'                  => [ 'Boli\'aTags' ],
+       'EditWatchlist'             => [ 'Boli\'aHeAwasiyalo' ],
+       'Emailuser'                 => [ 'EmailTaOhu\'uwo', 'Email' ],
+       'ExpandTemplates'           => [ 'DuhengiTemplates' ],
+       'Export'                    => [ 'Ekspor' ],
+       'Fewestrevisions'           => [ 'RevisiNgo\'idi' ],
+       'FileDuplicateSearch'       => [ 'LoloheBerkasDubulu' ],
+       'GoToInterwiki'             => [ 'NtaliOdeInterwiki' ],
+       'Invalidateemail'           => [ 'TilalaTanggalEmail' ],
+       'BlockList'                 => [ 'BlockDaputari', 'DaputariBlocks', 'IPBlockDputari' ],
+       'LinkSearch'                => [ 'LoloheWumbuta' ],
+       'LinkAccounts'              => [ 'WumbutaAkun' ],
+       'Listadmins'                => [ 'DaputariAdmins' ],
+       'Listbots'                  => [ 'DaputariBots' ],
+       'Listfiles'                 => [ 'DaputariBerkas', 'BerkasDaputari', 'DaputariGambari' ],
+       'Listgrouprights'           => [ 'DaputariGroupRights', 'TaOhu\'uwoGroupRights' ],
+       'Listgrants'                => [ 'DaputariGrants' ],
+       'Listredirects'             => [ 'DaputariLopobale' ],
+       'ListDuplicatedFiles'       => [ 'DaputariBerkasDubulu', 'DaputariBerkasDubulu' ],
+       'Listusers'                 => [ 'DaputariTaOhu\'uwo', 'TaOhu\'uwoDaputari' ],
+       'Lonelypages'               => [ 'HalamanTutuwawu', 'OrphanedHalaman' ],
+       'Longpages'                 => [ 'HalamanHayahaya\'o' ],
+       'MediaStatistics'           => [ 'MediaStatistik' ],
+       'MIMEsearch'                => [ 'MIMELolohe' ],
+       'Mostcategories'            => [ 'DalalaUda\'a' ],
+       'Mostimages'                => [ 'WumbutaBerkasUda\'a', 'BerkasUda\'a', 'GambariUdara' ],
+       'Mostinterwikis'            => [ 'InterwikiUda\'a' ],
+       'Mostlinked'                => [ 'HalamanWumbutaUda\'a', 'WumbutaUda\'a' ],
+       'Mostlinkedcategories'      => [ 'WumbutaDalalaUda\'a', 'DalalaUda\'aPilomake' ],
+       'Mostlinkedtemplates'       => [ 'HalamanTranscludedUda\'a', 'WumbutaUda\'aTemplate', 'TemplateUda\'aPilomake' ],
+       'Mostrevisions'             => [ 'Boli\'oUda\'a' ],
+       'Movepage'                  => [ 'MoheyiHalaman' ],
+       'Mycontributions'           => [ 'Kontribusi\'u' ],
+       'MyLanguage'                => [ 'Bahasa\'u' ],
+       'Mypage'                    => [ 'Halamani\'u' ],
+       'Mytalk'                    => [ 'Lo\'iya\'u' ],
+       'Myuploads'                 => [ 'Diletohu\'u', 'Berkasi\'u' ],
+       'Newimages'                 => [ 'BerkasBohu', 'GambariBaohu' ],
+       'Newpages'                  => [ 'HalamanBohu' ],
+       'PagesWithProp'             => [ 'PagesWithProp', 'Pageswithprop', 'PagesByProp', 'Pagesbyprop' ],
+       'PageData'                  => [ 'DataHalaman' ],
+       'PageLanguage'              => [ 'BahasaHalaman' ],
+       'PasswordReset'             => [ 'ResetTaheU\'unti' ],
+       'PermanentLink'             => [ 'WumbutaKakali', 'WumbKakali' ],
+       'Preferences'               => [ 'Preperensi' ],
+       'Prefixindex'               => [ 'PrefixIndeks' ],
+       'Protectedpages'            => [ 'HalamanOdudaha' ],
+       'Protectedtitles'           => [ 'JudulOdudaha' ],
+       'Randompage'                => [ 'Totonula', 'HalamanTotonula' ],
+       'RandomInCategory'          => [ 'TotonulaLoDalala' ],
+       'Randomredirect'            => [ 'TotonulaMopobale' ],
+       'Randomrootpage'            => [ 'TotonulaRootpage' ],
+       'Recentchanges'             => [ 'BoheliLoboli\'aMola' ],
+       'Recentchangeslinked'       => [ 'WumbutaBoheliLoboli\'aMola', 'RelatedLoboli\'a' ],
+       'Redirect'                  => [ 'Mopobale' ],
+       'RemoveCredentials'         => [ 'YinggilaKredensial' ],
+       'Revisiondelete'            => [ 'MolulutoRevisi' ],
+       'Search'                    => [ 'Lolohe' ],
+       'Shortpages'                => [ 'HalamanLimbu\'o' ],
+       'Specialpages'              => [ 'HalamanSpesial' ],
+       'Statistics'                => [ 'Statistik', 'Stat' ],
+       'TrackingCategories'        => [ 'TrackingDalala' ],
+       'Uncategorizedcategories'   => [ 'DalalaJaOdalala' ],
+       'Uncategorizedimages'       => [ 'BerkasJaOdalala', 'GambariJaOdalala' ],
+       'Uncategorizedpages'        => [ 'HalamanJaOdalala' ],
+       'Uncategorizedtemplates'    => [ 'TemplateJaOdalala' ],
+       'Undelete'                  => [ 'BataliMoluluto' ],
+       'UnlinkAccounts'            => [ 'BataliyaWumbutaLoAkun' ],
+       'Unusedcategories'          => [ 'DalalaJaPilomake' ],
+       'Unusedimages'              => [ 'BerkasJaPilomake', 'GambariJaPilomake' ],
+       'Unusedtemplates'           => [ 'TemplateJaPilomake' ],
+       'Unwatchedpages'            => [ 'HalamanJaOdudaha' ],
+       'Upload'                    => [ 'Detohe' ],
+       'UploadStash'               => [ 'DetoheStash' ],
+       'Userlogin'                 => [ 'TumuwotoTaOhu\'uwo', 'Tumuwoto' ],
+       'Userlogout'                => [ 'LumuwaloTaOhu\'uwo', 'Lumuwalo' ],
+       'Version'                   => [ 'Versi' ],
+       'Wantedcategories'          => [ 'DalalaOtohilawo' ],
+       'Wantedfiles'               => [ 'BerkasOtohilawo' ],
+       'Wantedpages'               => [ 'HalamanOtohilawo', 'WumbutaLorusa' ],
+       'Wantedtemplates'           => [ 'TemplateOtohilawo' ],
+       'Watchlist'                 => [ 'DaputariHe\'awasiyalo' ],
+       'Whatlinkshere'             => [ 'WoloWumbutaTeye' ],
+       'Withoutinterwiki'          => [ 'Diya\'aInterwiki' ]
+];
diff --git a/languages/messages/MessagesShy_latn.php b/languages/messages/MessagesShy_latn.php
new file mode 100644 (file)
index 0000000..6cc4400
--- /dev/null
@@ -0,0 +1,9 @@
+<?php
+/** Shawiya (Latin script) (Tachawit)
+ *
+ * To improve a translation please visit https://translatewiki.net
+ *
+ * @ingroup Language
+ * @file
+ *
+ */
index 18eb9fa..e607992 100644 (file)
@@ -11,6 +11,8 @@
  * @author Reedy
  */
 
+$fallback = 'pt';
+
 $namespaceNames = [
        NS_MEDIA            => 'Media',
        NS_SPECIAL          => 'Espesiál',
diff --git a/maintenance/archives/patch-change_tag-tag_id.sql b/maintenance/archives/patch-change_tag-tag_id.sql
new file mode 100644 (file)
index 0000000..15b1c95
--- /dev/null
@@ -0,0 +1,7 @@
+--
+-- Add ctd_tag_id to change_tag table to normalize it
+--
+ALTER TABLE /*_*/change_tag
+  ADD COLUMN ct_tag_id int unsigned NULL;
+
+CREATE INDEX /*i*/change_tag_tag_id_id ON /*_*/change_tag (ct_tag_id,ct_rc_id,ct_rev_id,ct_log_id);
index fafc1c6..aec9252 100644 (file)
@@ -67,8 +67,8 @@ class GenerateCollationData extends Maintenance {
 
                // As of January 2013, these links work for all versions of Unicode
                // between 5.1 and 6.2, inclusive.
-               $allkeysURL = "http://www.unicode.org/Public/UCA/<Unicode version>/allkeys.txt";
-               $ucdallURL = "http://www.unicode.org/Public/<Unicode version>/ucdxml/ucd.all.grouped.zip";
+               $allkeysURL = "https://www.unicode.org/Public/UCA/<Unicode version>/allkeys.txt";
+               $ucdallURL = "https://www.unicode.org/Public/<Unicode version>/ucdxml/ucd.all.grouped.zip";
 
                if ( !$allkeysPresent || !$ucdallPresent ) {
                        $icuVersion = IcuCollation::getICUVersion();
index 90ca41e..b8b2b8e 100644 (file)
@@ -35,7 +35,7 @@ class GenerateNormalizerDataAr extends Maintenance {
                parent::__construct();
                $this->addDescription( 'Generate the normalizer data file for Arabic' );
                $this->addOption( 'unicode-data-file', 'The local location of the data file ' .
-                       'from http://unicode.org/Public/UNIDATA/UnicodeData.txt', false, true );
+                       'from https://unicode.org/Public/UNIDATA/UnicodeData.txt', false, true );
        }
 
        public function getDbType() {
@@ -61,7 +61,7 @@ class GenerateNormalizerDataAr extends Maintenance {
                        $this->fatalError( 'Unable to open the data file.' );
                }
 
-               // For the file format, see http://www.unicode.org/reports/tr44/
+               // For the file format, see https://www.unicode.org/reports/tr44/
                $fieldNames = [
                        'Code',
                        'Name',
index 664f06c..0bb491f 100644 (file)
@@ -42,7 +42,7 @@ class GenerateNormalizerDataMl extends Maintenance {
 
        public function execute() {
                $hexPairs = [
-                       # From http://unicode.org/versions/Unicode5.1.0/#Malayalam_Chillu_Characters
+                       # From https://www.unicode.org/versions/Unicode5.1.0/#Malayalam_Chillu_Characters
                        '0D23 0D4D 200D' => '0D7A',
                        '0D28 0D4D 200D' => '0D7B',
                        '0D30 0D4D 200D' => '0D7C',
index abe08e4..88128ae 100755 (executable)
@@ -301,7 +301,7 @@ def PHPArray(table):
 
 def main():
     # Get Unihan.zip:
-    url = 'http://www.unicode.org/Public/%s/ucd/Unihan.zip' % UNIHAN_VER
+    url = 'https://www.unicode.org/Public/%s/ucd/Unihan.zip' % UNIHAN_VER
     han_dest = 'Unihan-%s.zip' % UNIHAN_VER
     download(url, han_dest)
 
diff --git a/maintenance/mssql/archives/patch-change_tag-tag_id.sql b/maintenance/mssql/archives/patch-change_tag-tag_id.sql
new file mode 100644 (file)
index 0000000..869ee11
--- /dev/null
@@ -0,0 +1,7 @@
+--
+-- Add ctd_tag_id to change_tag table to normalize it
+--
+ALTER TABLE /*_*/change_tag
+  ADD COLUMN ct_tag_id int NULL CONSTRAINT ctd_tag_id__fk FOREIGN KEY REFERENCES /*_*/change_tag_def(ctd_id);
+
+CREATE INDEX /*i*/change_tag_tag_id_id ON /*_*/change_tag (ct_tag_id,ct_rc_id,ct_rev_id,ct_log_id);
index 315cb20..fbe207d 100644 (file)
@@ -1403,7 +1403,9 @@ CREATE TABLE /*_*/change_tag (
   -- Tag applied
   ct_tag nvarchar(255) NOT NULL,
   -- Parameters for the tag, presently unused
-  ct_params nvarchar(max) NULL
+  ct_params nvarchar(max) NULL,
+  -- Foreign key to change_tag_def row
+  ct_tag_id int NULL CONSTRAINT ctd_tag_id__fk FOREIGN KEY REFERENCES /*_*/change_tag_def(ctd_id)
 );
 
 CREATE UNIQUE INDEX /*i*/change_tag_rc_tag ON /*_*/change_tag (ct_rc_id,ct_tag);
@@ -1411,7 +1413,7 @@ CREATE UNIQUE INDEX /*i*/change_tag_log_tag ON /*_*/change_tag (ct_log_id,ct_tag
 CREATE UNIQUE INDEX /*i*/change_tag_rev_tag ON /*_*/change_tag (ct_rev_id,ct_tag);
 -- Covering index, so we can pull all the info only out of the index.
 CREATE INDEX /*i*/change_tag_tag_id ON /*_*/change_tag (ct_tag,ct_rc_id,ct_rev_id,ct_log_id);
-
+CREATE INDEX /*i*/change_tag_tag_id_id ON /*_*/change_tag (ct_tag_id,ct_rc_id,ct_rev_id,ct_log_id);
 
 -- Rollup table to pull a LIST of tags simply without ugly GROUP_CONCAT
 -- that only works on MySQL 4.1+
diff --git a/maintenance/oracle/archives/patch-change_tag-tag_id.sql b/maintenance/oracle/archives/patch-change_tag-tag_id.sql
new file mode 100644 (file)
index 0000000..1f4067c
--- /dev/null
@@ -0,0 +1,6 @@
+--
+-- Add ctd_tag_id to change_tag table to normalize it
+--
+ALTER TABLE &mw_prefix.change_tag ADD ( ct_tag_id NUMBER DEFAULT NULL );
+
+CREATE INDEX &mw_prefix.change_tag_i02 ON &mw_prefix.change_tag (ct_tag_id,ct_rc_id,ct_rev_id,ct_log_id);
index df74f64..6e36752 100644 (file)
@@ -942,13 +942,15 @@ CREATE TABLE &mw_prefix.change_tag (
   ct_log_id NUMBER NULL,
   ct_rev_id NUMBER NULL,
   ct_tag VARCHAR2(255) NOT NULL,
-  ct_params BLOB NULL
+  ct_params BLOB NULL,
+  ct_tag_id NUMBER NULL,
 );
 ALTER TABLE &mw_prefix.change_tag ADD CONSTRAINT &mw_prefix.change_tag_pk PRIMARY KEY (ct_id);
 CREATE UNIQUE INDEX &mw_prefix.change_tag_u01 ON &mw_prefix.change_tag (ct_rc_id,ct_tag);
 CREATE UNIQUE INDEX &mw_prefix.change_tag_u02 ON &mw_prefix.change_tag (ct_log_id,ct_tag);
 CREATE UNIQUE INDEX &mw_prefix.change_tag_u03 ON &mw_prefix.change_tag (ct_rev_id,ct_tag);
 CREATE INDEX &mw_prefix.change_tag_i01 ON &mw_prefix.change_tag (ct_tag,ct_rc_id,ct_rev_id,ct_log_id);
+CREATE INDEX &mw_prefix.change_tag_i02 ON &mw_prefix.change_tag (ct_tag_id,ct_rc_id,ct_rev_id,ct_log_id);
 
 CREATE TABLE &mw_prefix.tag_summary (
   ts_id NUMBER NOT NULL,
index 492a0d5..cf0eb2f 100644 (file)
@@ -807,13 +807,15 @@ CREATE TABLE change_tag (
   ct_log_id  INTEGER      NULL,
   ct_rev_id  INTEGER      NULL,
   ct_tag     TEXT     NOT NULL,
-  ct_params  TEXT         NULL
+  ct_params  TEXT         NULL,
+  ct_tag_id  INTEGER      NULL
 );
 ALTER SEQUENCE change_tag_ct_id_seq OWNED BY change_tag.ct_id;
 CREATE UNIQUE INDEX change_tag_rc_tag ON change_tag(ct_rc_id,ct_tag);
 CREATE UNIQUE INDEX change_tag_log_tag ON change_tag(ct_log_id,ct_tag);
 CREATE UNIQUE INDEX change_tag_rev_tag ON change_tag(ct_rev_id,ct_tag);
 CREATE INDEX change_tag_tag_id ON change_tag(ct_tag,ct_rc_id,ct_rev_id,ct_log_id);
+CREATE INDEX change_tag_tag_id_id ON change_tag(ct_tag_id,ct_rc_id,ct_rev_id,ct_log_id);
 
 CREATE SEQUENCE tag_summary_ts_id_seq;
 CREATE TABLE tag_summary (
index a67e261..a9b9b9e 100644 (file)
@@ -104,7 +104,7 @@ class CompressOld extends Maintenance {
                global $wgDBname;
                if ( !function_exists( "gzdeflate" ) ) {
                        $this->fatalError( "You must enable zlib support in PHP to compress old revisions!\n" .
-                               "Please see http://www.php.net/manual/en/ref.zlib.php\n" );
+                               "Please see https://secure.php.net/manual/en/ref.zlib.php\n" );
                }
 
                $type = $this->getOption( 'type', 'concat' );
index ed3bd43..53c1529 100644 (file)
@@ -1842,10 +1842,12 @@ CREATE TABLE /*_*/change_tag (
   ct_log_id int unsigned NULL,
   -- REVID for the change
   ct_rev_id int unsigned NULL,
-  -- Tag applied
+  -- Tag applied, this will go away and be replaced with ct_tag_id
   ct_tag varchar(255) NOT NULL,
   -- Parameters for the tag; used by some extensions
-  ct_params blob NULL
+  ct_params blob NULL,
+  -- Foreign key to change_tag_def row, this will be "NOT NULL" once populated
+  ct_tag_id int unsigned NULL
 ) /*$wgDBTableOptions*/;
 
 CREATE UNIQUE INDEX /*i*/change_tag_rc_tag ON /*_*/change_tag (ct_rc_id,ct_tag);
@@ -1853,7 +1855,7 @@ CREATE UNIQUE INDEX /*i*/change_tag_log_tag ON /*_*/change_tag (ct_log_id,ct_tag
 CREATE UNIQUE INDEX /*i*/change_tag_rev_tag ON /*_*/change_tag (ct_rev_id,ct_tag);
 -- Covering index, so we can pull all the info only out of the index.
 CREATE INDEX /*i*/change_tag_tag_id ON /*_*/change_tag (ct_tag,ct_rc_id,ct_rev_id,ct_log_id);
-
+CREATE INDEX /*i*/change_tag_tag_id_id ON /*_*/change_tag (ct_tag_id,ct_rc_id,ct_rev_id,ct_log_id);
 
 -- Rollup table to pull a LIST of tags simply without ugly GROUP_CONCAT
 -- that only works on MySQL 4.1+
index bb62067..99290f4 100644 (file)
@@ -73,7 +73,9 @@
 
                // Hide "other" textboxes by default
                // Should not be done in CSS for javascript disabled compatibility
-               $( '.enabledByOther' ).closest( '.config-block' ).hide();
+               if ( !$( '#config__NamespaceType_other' ).is( ':checked' ) ) {
+                       $( '.enabledByOther' ).closest( '.config-block' ).hide();
+               }
 
                // Enable/disable "other" textboxes
                $( '.enableForOther' ).click( function () {
index b9b2161..b92ff2e 100644 (file)
@@ -46,8 +46,8 @@ $response->header( 'Cache-control: max-age=600' );
 print '<?xml version="1.0"?>';
 print Xml::openElement( 'OpenSearchDescription',
        [
-               'xmlns' => 'http://a9.com/-/spec/opensearch/1.1/',
-               'xmlns:moz' => 'http://www.mozilla.org/2006/browser/search/' ] );
+               'xmlns' => 'http://www.opensearch.org/Specifications/OpenSearch/1.1',
+               'xmlns:moz' => 'https://www.mozilla.org/2006/browser/search/' ] );
 
 /* The spec says the ShortName must be no longer than 16 characters,
  * but 16 is *realllly* short. In practice, browsers don't appear to care
index 77391a8..4e0a452 100644 (file)
@@ -132,7 +132,7 @@ return [
 
        'mediawiki.skinning.content.externallinks' => [
                'styles' => [
-                       'resources/src/mediawiki.skinning/content.externallinks.css' => [ 'media' => 'screen' ],
+                       'resources/src/mediawiki.skinning/content.externallinks.less' => [ 'media' => 'screen' ],
                ],
        ],
 
@@ -212,15 +212,6 @@ return [
        'jquery.expandableField' => [
                'scripts' => 'resources/src/jquery/jquery.expandableField.js',
        ],
-       'jquery.farbtastic' => [
-               'scripts' => 'resources/src/jquery/jquery.farbtastic.js',
-               'styles' => 'resources/src/jquery/jquery.farbtastic.css',
-               'dependencies' => 'jquery.colorUtil',
-       ],
-       'jquery.footHovzer' => [
-               'scripts' => 'resources/src/jquery/jquery.footHovzer.js',
-               'styles' => 'resources/src/jquery/jquery.footHovzer.css',
-       ],
        'jquery.form' => [
                'scripts' => 'resources/lib/jquery/jquery.form.js',
        ],
@@ -321,6 +312,7 @@ return [
                'scripts' => 'resources/src/jquery/jquery.tabIndex.js',
        ],
        'jquery.tablesorter' => [
+               'targets' => [ 'desktop', 'mobile' ],
                'scripts' => 'resources/src/jquery.tablesorter/jquery.tablesorter.js',
                'styles' => 'resources/src/jquery.tablesorter/jquery.tablesorter.less',
                'messages' => [ 'sort-descending', 'sort-ascending' ],
@@ -890,75 +882,73 @@ return [
                'targets' => [ 'desktop', 'mobile' ],
        ],
        'mediawiki.api' => [
-               'scripts' => 'resources/src/mediawiki.api.js',
+               'scripts' => [
+                       'resources/src/mediawiki.api/index.js',
+                       'resources/src/mediawiki.api/category.js',
+                       'resources/src/mediawiki.api/edit.js',
+                       'resources/src/mediawiki.api/login.js',
+                       'resources/src/mediawiki.api/messages.js',
+                       'resources/src/mediawiki.api/options.js',
+                       'resources/src/mediawiki.api/parse.js',
+                       'resources/src/mediawiki.api/rollback.js',
+                       'resources/src/mediawiki.api/upload.js',
+                       'resources/src/mediawiki.api/user.js',
+                       'resources/src/mediawiki.api/watch.js',
+               ],
                'dependencies' => [
+                       'mediawiki.Title',
                        'mediawiki.util',
                        'user.tokens',
                ],
                'targets' => [ 'desktop', 'mobile' ],
        ],
        'mediawiki.api.category' => [
-               'scripts' => 'resources/src/mediawiki.api.category.js',
-               'dependencies' => [
-                       'mediawiki.api',
-                       'mediawiki.Title',
-               ],
+               'deprecated' => 'Use "mediawiki.api" instead.',
+               'dependencies' => 'mediawiki.api',
        ],
        'mediawiki.api.edit' => [
-               'scripts' => 'resources/src/mediawiki.api.edit.js',
+               'deprecated' => 'Use "mediawiki.api" instead.',
                'dependencies' => [
                        'mediawiki.api',
-                       'mediawiki.user',
                ],
                'targets' => [ 'desktop', 'mobile' ],
        ],
        'mediawiki.api.login' => [
-               'scripts' => 'resources/src/mediawiki.api.login.js',
+               'deprecated' => 'Use "mediawiki.api" instead.',
                'dependencies' => 'mediawiki.api',
        ],
        'mediawiki.api.options' => [
-               'scripts' => 'resources/src/mediawiki.api.options.js',
+               'deprecated' => 'Use "mediawiki.api" instead.',
                'dependencies' => 'mediawiki.api',
                'targets' => [ 'desktop', 'mobile' ],
        ],
        'mediawiki.api.parse' => [
-               'scripts' => 'resources/src/mediawiki.api.parse.js',
+               'deprecated' => 'Use "mediawiki.api" instead.',
                'dependencies' => 'mediawiki.api',
                'targets' => [ 'desktop', 'mobile' ],
        ],
        'mediawiki.api.upload' => [
-               'scripts' => 'resources/src/mediawiki.api.upload.js',
-               'dependencies' => [
-                       'mediawiki.api',
-                       'mediawiki.api.edit',
-               ],
+               'deprecated' => 'Use "mediawiki.api" instead.',
+               'dependencies' => 'mediawiki.api',
                'targets' => [ 'desktop', 'mobile' ],
        ],
        'mediawiki.api.user' => [
-               'scripts' => 'resources/src/mediawiki.api.user.js',
-               'dependencies' => [
-                       'mediawiki.api',
-               ],
+               'deprecated' => 'Use "mediawiki.api" instead.',
+               'dependencies' => 'mediawiki.api',
                'targets' => [ 'desktop', 'mobile' ],
        ],
        'mediawiki.api.watch' => [
-               'scripts' => 'resources/src/mediawiki.api.watch.js',
-               'dependencies' => [
-                       'mediawiki.api',
-               ],
+               'deprecated' => 'Use "mediawiki.api" instead.',
+               'dependencies' => 'mediawiki.api',
        ],
        'mediawiki.api.messages' => [
-               'scripts' => 'resources/src/mediawiki.api.messages.js',
-               'dependencies' => [
-                       'mediawiki.api',
-               ],
+               'deprecated' => 'Use "mediawiki.api" instead.',
+               'dependencies' => 'mediawiki.api',
                'targets' => [ 'desktop', 'mobile' ],
        ],
        'mediawiki.api.rollback' => [
-               'scripts' => 'resources/src/mediawiki.api.rollback.js',
-               'dependencies' => [
-                       'mediawiki.api',
-               ],
+               'deprecated' => 'Use "mediawiki.api" instead.',
+               'dependencies' => 'mediawiki.api',
        ],
        'mediawiki.content.json' => [
                'styles' => 'resources/src/mediawiki.content.json.less',
@@ -971,13 +961,14 @@ return [
        ],
        'mediawiki.debug' => [
                'scripts' => [
+                       'resources/src/mediawiki.debug/jquery.footHovzer.js',
                        'resources/src/mediawiki.debug/debug.js',
                ],
                'styles' => [
+                       'resources/src/mediawiki.debug/jquery.footHovzer.css',
                        'resources/src/mediawiki.debug/debug.less',
                ],
                'dependencies' => [
-                       'jquery.footHovzer',
                        'oojs-ui-core',
                ],
        ],
@@ -1149,7 +1140,7 @@ return [
                        'resources/src/mediawiki.messagePoster.wikitext/WikitextMessagePoster.js',
                ],
                'dependencies' => [
-                       'mediawiki.api.edit',
+                       'mediawiki.api',
                        'mediawiki.messagePoster',
                ],
                'targets' => [ 'desktop', 'mobile' ],
@@ -1230,7 +1221,7 @@ return [
        'mediawiki.Upload' => [
                'scripts' => 'resources/src/mediawiki.Upload.js',
                'dependencies' => [
-                       'mediawiki.api.upload',
+                       'mediawiki.api',
                ],
        ],
        'mediawiki.ForeignUpload' => [
@@ -1330,7 +1321,7 @@ return [
                        'mediawiki.widgets.CategoryMultiselectWidget',
                        'mediawiki.widgets.DateInputWidget',
                        'mediawiki.jqueryMsg',
-                       'mediawiki.api.messages',
+                       'mediawiki.api',
                        'moment',
                        'mediawiki.libs.jpegmeta',
                ],
@@ -1371,7 +1362,6 @@ return [
                'scripts' => 'resources/src/mediawiki.user.js',
                'dependencies' => [
                        'mediawiki.api',
-                       'mediawiki.api.user',
                        'mediawiki.storage',
                        'user.options',
                        'user.tokens',
@@ -1651,6 +1641,7 @@ return [
        ],
 
        'mediawiki.language.months' => [
+               'targets' => [ 'desktop', 'mobile' ],
                'scripts' => 'resources/src/mediawiki.language/mediawiki.language.months.js',
                'dependencies' => 'mediawiki.language',
                'messages' => array_merge(
@@ -1739,7 +1730,7 @@ return [
        'mediawiki.page.watch.ajax' => [
                'scripts' => 'resources/src/mediawiki.page.watch.ajax.js',
                'dependencies' => [
-                       'mediawiki.api.watch',
+                       'mediawiki.api',
                        'mediawiki.notify',
                        'mediawiki.util',
                        'mediawiki.Title',
@@ -1764,7 +1755,7 @@ return [
        'mediawiki.page.rollback' => [
                'scripts' => 'resources/src/mediawiki.page.rollback.js',
                'dependencies' => [
-                       'mediawiki.api.rollback',
+                       'mediawiki.api',
                        'mediawiki.notify',
                        'mediawiki.util',
                        'jquery.spinner',
@@ -1812,7 +1803,6 @@ return [
                        'mediawiki.String',
                        'oojs',
                        'mediawiki.api',
-                       'mediawiki.api.options',
                        'mediawiki.jqueryMsg',
                        'mediawiki.Uri',
                        'mediawiki.user',
@@ -2276,7 +2266,6 @@ return [
                ],
                'dependencies' => [
                        'mediawiki.api',
-                       'mediawiki.api.watch',
                        'mediawiki.notify',
                        'mediawiki.Title',
                        'mediawiki.util',
@@ -2303,7 +2292,6 @@ return [
                        'jquery.spinner',
                        'mediawiki.jqueryMsg',
                        'mediawiki.api',
-                       'mediawiki.api.parse',
                        'mediawiki.libs.jpegmeta',
                        'mediawiki.Title',
                        'mediawiki.util',
@@ -2364,7 +2352,7 @@ return [
                        'watchlist-unwatch-undo',
                ],
                'dependencies' => [
-                       'mediawiki.api.watch',
+                       'mediawiki.api',
                        'mediawiki.jqueryMsg',
                        'mediawiki.Title',
                        'mediawiki.util',
@@ -2559,11 +2547,6 @@ return [
                ],
                'targets' => [ 'desktop', 'mobile' ],
        ],
-       'mediawiki.widgets.visibleByteLimit' => [
-               'dependencies' => 'mediawiki.widgets.visibleLengthLimit',
-               'deprecated' => 'Use "mediawiki.widgets.visibleLengthLimit" instead.',
-               'targets' => [ 'desktop', 'mobile' ]
-       ],
        'mediawiki.widgets.visibleLengthLimit' => [
                'scripts' => [
                        'resources/src/mediawiki.widgets.visibleLengthLimit/mediawiki.widgets.visibleLengthLimit.js'
@@ -2783,12 +2766,6 @@ return [
                ],
        ],
 
-       /* es5-shim */
-       'es5-shim' => [
-               'deprecated' => 'Use of the "es5-shim" module is deprecated since MediaWiki 1.29.0',
-               'targets' => [ 'desktop', 'mobile' ],
-       ],
-
        /* dom-level2-shim */
        'dom-level2-shim' => [
                'deprecated' => 'Use of the "dom-level2-shim" module is deprecated since MediaWiki 1.29.0',
@@ -2888,9 +2865,9 @@ return [
        'oojs-ui-widgets' => [
                'class' => ResourceLoaderOOUIFileModule::class,
                'scripts' => 'resources/lib/oojs-ui/oojs-ui-widgets.js',
-               'themeStyles' => 'widgets',
                'dependencies' => [
                        'oojs-ui-core',
+                       'oojs-ui-widgets.styles',
                        'oojs-ui.styles.icons-interactions',
                        'oojs-ui.styles.icons-content',
                        'oojs-ui.styles.icons-editing-advanced',
@@ -2909,6 +2886,14 @@ return [
                ],
                'targets' => [ 'desktop', 'mobile' ],
        ],
+       // You should never directly load this module. The CSS classes it defines are not a public API,
+       // they depend on the internal structure of OOUI widgets, which can change at any time. If you
+       // find that you need to load this module, you're probably doing something wrong or very hacky.
+       'oojs-ui-widgets.styles' => [
+               'class' => ResourceLoaderOOUIFileModule::class,
+               'themeStyles' => 'widgets',
+               'targets' => [ 'desktop', 'mobile' ],
+       ],
        // Toolbar and tools module.
        'oojs-ui-toolbars' => [
                'class' => ResourceLoaderOOUIFileModule::class,
diff --git a/resources/src/jquery/images/marker.png b/resources/src/jquery/images/marker.png
deleted file mode 100644 (file)
index 915b347..0000000
Binary files a/resources/src/jquery/images/marker.png and /dev/null differ
diff --git a/resources/src/jquery/images/mask.png b/resources/src/jquery/images/mask.png
deleted file mode 100644 (file)
index c9606b0..0000000
Binary files a/resources/src/jquery/images/mask.png and /dev/null differ
diff --git a/resources/src/jquery/images/wheel.png b/resources/src/jquery/images/wheel.png
deleted file mode 100644 (file)
index d930224..0000000
Binary files a/resources/src/jquery/images/wheel.png and /dev/null differ
diff --git a/resources/src/jquery/jquery.farbtastic.css b/resources/src/jquery/jquery.farbtastic.css
deleted file mode 100644 (file)
index 0cba34f..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Farbtastic Color Picker 1.2
- * © 2008 Steven Wittens
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- */
-.farbtastic {
-       position: relative;
-}
-.farbtastic * {
-       position: absolute;
-       cursor: crosshair;
-}
-.farbtastic,
-.farbtastic .wheel {
-       width: 195px;
-       height: 195px;
-}
-.farbtastic .color,
-.farbtastic .overlay {
-       top: 47px;
-       left: 47px;
-       width: 101px;
-       height: 101px;
-}
-.farbtastic .wheel {
-       /* @embed */
-       background: url( images/wheel.png ) no-repeat;
-       width: 195px;
-       height: 195px;
-}
-.farbtastic .overlay {
-       /* @embed */
-       background: url( images/mask.png ) no-repeat;
-}
-.farbtastic .marker {
-       width: 17px;
-       height: 17px;
-       margin: -8px 0 0 -8px;
-       overflow: hidden;
-       /* @embed */
-       background: url( images/marker.png ) no-repeat;
-}
diff --git a/resources/src/jquery/jquery.farbtastic.js b/resources/src/jquery/jquery.farbtastic.js
deleted file mode 100644 (file)
index f70913f..0000000
+++ /dev/null
@@ -1,286 +0,0 @@
-/**
- * Farbtastic Color Picker 1.2
- * © 2008 Steven Wittens
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-//Adapted to uniform style with jQuery UI widgets and slightly change behavior
-//TODO:
-// - remove duplicated code by replacing it with jquery.colorUtils and modern jQuery
-// - uniform code style
-
-jQuery.fn.farbtastic = function (callback) {
-       $.farbtastic(this, callback);
-       return this;
-};
-
-jQuery.farbtastic = function (container, callback) {
-       var container = $(container).get(0);
-       return container.farbtastic || (container.farbtastic = new jQuery._farbtastic(container, callback));
-}
-
-jQuery._farbtastic = function (container, callback) {
-       // Store farbtastic object
-       var fb = this;
-
-       // Insert markup
-       $(container).html('<div class="farbtastic ui-widget-content"><div class="color"></div><div class="wheel"></div><div class="overlay"></div><div class="h-marker marker"></div><div class="sl-marker marker"></div></div>');
-       $(container).addClass('ui-widget');
-       var e = $('.farbtastic', container);
-       fb.wheel = $('.wheel', container).get(0);
-       // Dimensions
-       fb.radius = 84;
-       fb.square = 100;
-       fb.width = 194;
-
-       // Fix background PNGs in IE6
-       if (navigator.appVersion.match(/MSIE [0-6]\./)) {
-               $('*', e).each(function () {
-                       if (this.currentStyle.backgroundImage != 'none') {
-                               var image = this.currentStyle.backgroundImage;
-                               image = this.currentStyle.backgroundImage.slice(5, image.length - 2);
-                               $(this).css( {
-                                       backgroundImage: 'none',
-                                       filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='" + image + "')"
-                               } );
-                       }
-               });
-       }
-
-       /**
-        * Link to the given element(s) or callback.
-        */
-       fb.linkTo = function (callback) {
-               // Unbind previous nodes
-               if (typeof fb.callback == 'object') {
-                       $(fb.callback).unbind('keyup', fb.updateValue);
-               }
-
-               // Reset color
-               fb.color = null;
-
-               // Bind callback or elements
-               if (typeof callback == 'function') {
-                       fb.callback = callback;
-               }
-               else if (typeof callback == 'object' || typeof callback == 'string') {
-                       fb.callback = $(callback);
-                       fb.callback.bind('keyup', fb.updateValue);
-                       if (fb.callback.get(0).value) {
-                               fb.setColor(fb.callback.get(0).value);
-                       }
-               }
-               return this;
-       }
-       fb.updateValue = function (event) {
-               if (this.value != fb.color) {
-                       fb.setColor(this.value);
-               }
-       }
-
-       /**
-        * Change color with HTML syntax #123456
-        */
-       fb.setColor = function (color) {
-               var rgb = $.colorUtil.getRGB( color );
-               if (fb.color != color && rgb) {
-                       rgb = rgb.slice( 0 ); //make a clone
-                       //TODO: rewrite code so that this is not needed
-                       rgb[0] /= 255;
-                       rgb[1] /= 255;
-                       rgb[2] /= 255;
-                       fb.color = color;
-                       fb.rgb = rgb;
-                       fb.hsl = fb.RGBToHSL(fb.rgb);
-                       fb.updateDisplay();
-               }
-               return this;
-       }
-
-       /**
-        * Change color with HSL triplet [0..1, 0..1, 0..1]
-        */
-       fb.setHSL = function (hsl) {
-               fb.hsl = hsl;
-               fb.rgb = fb.HSLToRGB(hsl);
-               fb.color = fb.pack(fb.rgb);
-               fb.updateDisplay();
-               return this;
-       }
-
-       /////////////////////////////////////////////////////
-
-       /**
-        * Retrieve the coordinates of the given event relative to the center
-        * of the widget.
-        */
-       fb.widgetCoords = function (event) {
-               var ref = $( fb.wheel ).offset();
-               return {
-                       x: event.pageX - ref.left - fb.width / 2,
-                       y: event.pageY - ref.top - fb.width / 2
-               };
-       }
-
-       /**
-        * Mousedown handler
-        */
-       fb.mousedown = function (event) {
-               // Capture mouse
-               if (!document.dragging) {
-                       $(document).bind('mousemove', fb.mousemove).bind('mouseup', fb.mouseup);
-                       document.dragging = true;
-               }
-
-               // Check which area is being dragged
-               var pos = fb.widgetCoords(event);
-               fb.circleDrag = Math.max(Math.abs(pos.x), Math.abs(pos.y)) * 2 > fb.square;
-
-               // Process
-               fb.mousemove(event);
-               return false;
-       }
-
-       /**
-        * Mousemove handler
-        */
-       fb.mousemove = function (event) {
-               // Get coordinates relative to color picker center
-               var pos = fb.widgetCoords(event);
-
-               // Set new HSL parameters
-               if (fb.circleDrag) {
-                       var hue = Math.atan2(pos.x, -pos.y) / 6.28;
-                       if (hue < 0) hue += 1;
-                       fb.setHSL([hue, fb.hsl[1], fb.hsl[2]]);
-               }
-               else {
-                       var sat = Math.max(0, Math.min(1, -(pos.x / fb.square) + .5));
-                       var lum = Math.max(0, Math.min(1, -(pos.y / fb.square) + .5));
-                       fb.setHSL([fb.hsl[0], sat, lum]);
-               }
-               return false;
-       }
-
-       /**
-        * Mouseup handler
-        */
-       fb.mouseup = function () {
-               // Uncapture mouse
-               $(document).unbind('mousemove', fb.mousemove);
-               $(document).unbind('mouseup', fb.mouseup);
-               document.dragging = false;
-       }
-
-       /**
-        * Update the markers and styles
-        */
-       fb.updateDisplay = function () {
-               // Markers
-               var angle = fb.hsl[0] * 6.28;
-               $('.h-marker', e).css({
-                       left: Math.round(Math.sin(angle) * fb.radius + fb.width / 2) + 'px',
-                       top: Math.round(-Math.cos(angle) * fb.radius + fb.width / 2) + 'px'
-               });
-
-               $('.sl-marker', e).css({
-                       left: Math.round(fb.square * (.5 - fb.hsl[1]) + fb.width / 2) + 'px',
-                       top: Math.round(fb.square * (.5 - fb.hsl[2]) + fb.width / 2) + 'px'
-               });
-
-               // Saturation/Luminance gradient
-               $('.color', e).css('backgroundColor', fb.pack(fb.HSLToRGB([fb.hsl[0], 1, 0.5])));
-
-               // Linked elements or callback
-               if (typeof fb.callback == 'object') {
-                       // Set background/foreground color
-                       $(fb.callback).css({
-                               backgroundColor: fb.color,
-                               color: fb.hsl[2] > 0.5 ? '#000' : '#fff'
-                       });
-
-                       // Change linked value
-                       $(fb.callback).each(function() {
-                               if ( $( this ).val() != fb.color) {
-                                       $( this ).val( fb.color ).change();
-                               }
-                       });
-               }
-               else if (typeof fb.callback == 'function') {
-                       fb.callback.call(fb, fb.color);
-               }
-       }
-
-       /* Various color utility functions */
-       fb.pack = function (rgb) {
-               var r = Math.round(rgb[0] * 255);
-               var g = Math.round(rgb[1] * 255);
-               var b = Math.round(rgb[2] * 255);
-               return '#' + (r < 16 ? '0' : '') + r.toString(16) +
-                                        (g < 16 ? '0' : '') + g.toString(16) +
-                                        (b < 16 ? '0' : '') + b.toString(16);
-       }
-
-       fb.HSLToRGB = function (hsl) {
-               var m1, m2, r, g, b;
-               var h = hsl[0], s = hsl[1], l = hsl[2];
-               m2 = (l <= 0.5) ? l * (s + 1) : l + s - l*s;
-               m1 = l * 2 - m2;
-               return [this.hueToRGB(m1, m2, h+0.33333),
-                               this.hueToRGB(m1, m2, h),
-                               this.hueToRGB(m1, m2, h-0.33333)];
-       }
-
-       fb.hueToRGB = function (m1, m2, h) {
-               h = (h < 0) ? h + 1 : ((h > 1) ? h - 1 : h);
-               if (h * 6 < 1) return m1 + (m2 - m1) * h * 6;
-               if (h * 2 < 1) return m2;
-               if (h * 3 < 2) return m1 + (m2 - m1) * (0.66666 - h) * 6;
-               return m1;
-       }
-
-       fb.RGBToHSL = function (rgb) {
-               var min, max, delta, h, s, l;
-               var r = rgb[0], g = rgb[1], b = rgb[2];
-               min = Math.min(r, Math.min(g, b));
-               max = Math.max(r, Math.max(g, b));
-               delta = max - min;
-               l = (min + max) / 2;
-               s = 0;
-               if (l > 0 && l < 1) {
-                       s = delta / (l < 0.5 ? (2 * l) : (2 - 2 * l));
-               }
-               h = 0;
-               if (delta > 0) {
-                       if (max == r && max != g) h += (g - b) / delta;
-                       if (max == g && max != b) h += (2 + (b - r) / delta);
-                       if (max == b && max != r) h += (4 + (r - g) / delta);
-                       h /= 6;
-               }
-               return [h, s, l];
-       }
-
-       // Install mousedown handler (the others are set on the document on-demand)
-       $('*', e).mousedown(fb.mousedown);
-
-               // Init color
-       fb.setColor('#000000');
-
-       // Set linked elements/callback
-       if (callback) {
-               fb.linkTo(callback);
-       }
-}
diff --git a/resources/src/jquery/jquery.footHovzer.css b/resources/src/jquery/jquery.footHovzer.css
deleted file mode 100644 (file)
index 77d9514..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#jquery-foot-hovzer {
-       position: fixed;
-       bottom: 0;
-       width: 100%;
-       z-index: 1000;
-}
diff --git a/resources/src/jquery/jquery.footHovzer.js b/resources/src/jquery/jquery.footHovzer.js
deleted file mode 100644 (file)
index e601ddb..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- * @class jQuery.plugin.footHovzer
- */
-( function ( $ ) {
-       var $hovzer, footHovzer, $spacer;
-
-       function getHovzer() {
-               if ( $hovzer === undefined ) {
-                       $hovzer = $( '<div id="jquery-foot-hovzer"></div>' ).appendTo( 'body' );
-               }
-               return $hovzer;
-       }
-
-       /**
-        * Utility to stack stuff in an overlay fixed on the bottom of the page.
-        *
-        * Usage:
-        *
-        *     var hovzer = $.getFootHovzer();
-        *     hovzer.$.append( $myCollection );
-        *     hovzer.update();
-        *
-        * @static
-        * @inheritable
-        * @return {jQuery.footHovzer}
-        */
-       $.getFootHovzer = function () {
-               footHovzer.$ = getHovzer();
-               return footHovzer;
-       };
-
-       /**
-        * @private
-        * @class jQuery.footHovzer
-        */
-       footHovzer = {
-
-               /**
-                * @property {jQuery} $ The stack container
-                */
-
-               /**
-                * Update dimensions of stack to account for changes in the subtree.
-                */
-               update: function () {
-                       var $body;
-
-                       $body = $( 'body' );
-
-                       if ( $spacer === undefined ) {
-                               $spacer = $( '<div>' ).attr( 'id', 'jquery-foot-hovzer-spacer' );
-                               $spacer.appendTo( $body );
-                       }
-                       // Ensure CSS is applied by browser before using .outerHeight()
-                       setTimeout( function () {
-                               $spacer.css( 'height', getHovzer().outerHeight( /* includeMargin = */ true ) );
-                       }, 0 );
-               }
-       };
-
-       /**
-        * @class jQuery
-        * @mixins jQuery.plugin.footHovzer
-        */
-
-}( jQuery ) );
index c3d7dbf..eb42311 100644 (file)
@@ -47,7 +47,6 @@
                };
 
                // Handle different kinds of elements
-
                if ( !options.plainMode && $collapsible.is( 'table' ) ) {
                        // Tables
                        // If there is a caption, hide all rows; otherwise, only hide body rows
                                $containers = $containers.not( $defaultToggle.closest( 'tr' ) );
                        }
 
-                       if ( action === 'collapse' ) {
-                               // Hide all table rows of this table
-                               // Slide doesn't work with tables, but fade does as of jQuery 1.1.3
-                               // http://stackoverflow.com/questions/467336#920480
-                               if ( options.instantHide ) {
-                                       $containers.hide();
-                                       hookCallback();
-                               } else {
-                                       $containers.stop( true, true ).fadeOut().promise().done( hookCallback );
-                               }
-                       } else {
-                               $containers.stop( true, true ).fadeIn().promise().done( hookCallback );
-                       }
-
                } else if ( !options.plainMode && ( $collapsible.is( 'ul' ) || $collapsible.is( 'ol' ) ) ) {
                        // Lists
                        $containers = $collapsible.find( '> li' );
                                // Exclude list-item containing togglelink
                                $containers = $containers.not( $defaultToggle.parent() );
                        }
-
-                       if ( action === 'collapse' ) {
-                               if ( options.instantHide ) {
-                                       $containers.hide();
-                                       hookCallback();
-                               } else {
-                                       $containers.stop( true, true ).slideUp().promise().done( hookCallback );
-                               }
-                       } else {
-                               $containers.stop( true, true ).slideDown().promise().done( hookCallback );
-                       }
-
                } else {
                        // Everything else: <div>, <p> etc.
                        $collapsibleContent = $collapsible.find( '> .mw-collapsible-content' );
 
                        // If a collapsible-content is defined, act on it
                        if ( !options.plainMode && $collapsibleContent.length ) {
-                               if ( action === 'collapse' ) {
-                                       if ( options.instantHide ) {
-                                               $collapsibleContent.hide();
-                                               hookCallback();
-                                       } else {
-                                               $collapsibleContent.slideUp().promise().done( hookCallback );
-                                       }
-                               } else {
-                                       $collapsibleContent.slideDown().promise().done( hookCallback );
-                               }
+                               $containers = $collapsibleContent;
 
                        // Otherwise assume this is a customcollapse with a remote toggle
                        // .. and there is no collapsible-content because the entire element should be toggled
                        } else {
-                               if ( action === 'collapse' ) {
-                                       if ( options.instantHide ) {
-                                               $collapsible.hide();
-                                               hookCallback();
-                                       } else {
-                                               if ( $collapsible.is( 'tr' ) || $collapsible.is( 'td' ) || $collapsible.is( 'th' ) ) {
-                                                       $collapsible.fadeOut().promise().done( hookCallback );
-                                               } else {
-                                                       $collapsible.slideUp().promise().done( hookCallback );
-                                               }
-                                       }
-                               } else {
-                                       if ( $collapsible.is( 'tr' ) || $collapsible.is( 'td' ) || $collapsible.is( 'th' ) ) {
-                                               $collapsible.fadeIn().promise().done( hookCallback );
-                                       } else {
-                                               $collapsible.slideDown().promise().done( hookCallback );
-                                       }
-                               }
+                               $containers = $collapsible;
                        }
                }
+
+               $containers.toggle( action === 'expand' );
+               hookCallback();
        }
 
        /**
 
                        $( this ).data( 'mw-collapsible', {
                                collapse: function () {
-                                       actionHandler.call( $toggleLink.get( 0 ), null, { instantHide: true, wasCollapsed: false } );
+                                       actionHandler.call( $toggleLink.get( 0 ), null, { wasCollapsed: false } );
                                },
                                expand: function () {
-                                       actionHandler.call( $toggleLink.get( 0 ), null, { instantHide: true, wasCollapsed: true } );
+                                       actionHandler.call( $toggleLink.get( 0 ), null, { wasCollapsed: true } );
                                },
                                toggle: function () {
                                        actionHandler.call( $toggleLink.get( 0 ), null, null );
                        if ( options.collapsed || $collapsible.hasClass( 'mw-collapsed' ) ) {
                                // One toggler can hook to multiple elements, and one element can have
                                // multiple togglers. This is the sanest way to handle that.
-                               actionHandler.call( $toggleLink.get( 0 ), null, { instantHide: true, wasCollapsed: false } );
+                               actionHandler.call( $toggleLink.get( 0 ), null, { wasCollapsed: false } );
                        }
 
                } );
index bd6b5dd..eda939d 100644 (file)
@@ -1,6 +1,6 @@
 .client-js {
        // Reserve space for table sortable controls
-       table.sortable th {
+       table.sortable > thead > tr > th:not( .unsortable ) {
                padding-right: 21px;
        }
 }
index 2b76187..dcaae3e 100644 (file)
                rWhitespace = /[ _\u00A0\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]+/g,
 
                // From MediaWikiTitleCodec::splitTitleString() in PHP
-               rUnicodeBidi = /[\u200E\u200F\u202A-\u202E]/g,
+               rStripCharacters = /[\u00AD\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g,
 
                /**
                 * Slightly modified from Flinfo. Credit goes to Lupo and Flominator.
                        namespace = defaultNamespace === undefined ? NS_MAIN : defaultNamespace;
 
                        title = title
-                               // Strip Unicode bidi override characters
-                               .replace( rUnicodeBidi, '' )
+                               // Strip soft hyphens and Unicode directional formatting characters
+                               .replace( rStripCharacters, '' )
                                // Normalise whitespace to underscores and remove duplicates
                                .replace( rWhitespace, '_' )
                                // Trim underscores
diff --git a/resources/src/mediawiki.api.category.js b/resources/src/mediawiki.api.category.js
deleted file mode 100644 (file)
index 85df90e..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- * @class mw.Api.plugin.category
- */
-( function ( mw, $ ) {
-
-       $.extend( mw.Api.prototype, {
-               /**
-                * Determine if a category exists.
-                *
-                * @param {mw.Title|string} title
-                * @return {jQuery.Promise}
-                * @return {Function} return.done
-                * @return {boolean} return.done.isCategory Whether the category exists.
-                */
-               isCategory: function ( title ) {
-                       var apiPromise = this.get( {
-                               formatversion: 2,
-                               prop: 'categoryinfo',
-                               titles: [ String( title ) ]
-                       } );
-
-                       return apiPromise
-                               .then( function ( data ) {
-                                       return !!(
-                                               data.query && // query is missing on title=""
-                                               data.query.pages && // query.pages is missing on title="#" or title="mw:"
-                                               data.query.pages[ 0 ].categoryinfo
-                                       );
-                               } )
-                               .promise( { abort: apiPromise.abort } );
-               },
-
-               /**
-                * Get a list of categories that match a certain prefix.
-                *
-                * E.g. given "Foo", return "Food", "Foolish people", "Foosball tables"...
-                *
-                * @param {string} prefix Prefix to match.
-                * @return {jQuery.Promise}
-                * @return {Function} return.done
-                * @return {string[]} return.done.categories Matched categories
-                */
-               getCategoriesByPrefix: function ( prefix ) {
-                       // Fetch with allpages to only get categories that have a corresponding description page.
-                       var apiPromise = this.get( {
-                               formatversion: 2,
-                               list: 'allpages',
-                               apprefix: prefix,
-                               apnamespace: mw.config.get( 'wgNamespaceIds' ).category
-                       } );
-
-                       return apiPromise
-                               .then( function ( data ) {
-                                       return data.query.allpages.map( function ( category ) {
-                                               return new mw.Title( category.title ).getMainText();
-                                       } );
-                               } )
-                               .promise( { abort: apiPromise.abort } );
-               },
-
-               /**
-                * Get the categories that a particular page on the wiki belongs to.
-                *
-                * @param {mw.Title|string} title
-                * @return {jQuery.Promise}
-                * @return {Function} return.done
-                * @return {boolean|mw.Title[]} return.done.categories List of category titles or false
-                *  if title was not found.
-                */
-               getCategories: function ( title ) {
-                       var apiPromise = this.get( {
-                               formatversion: 2,
-                               prop: 'categories',
-                               titles: [ String( title ) ]
-                       } );
-
-                       return apiPromise
-                               .then( function ( data ) {
-                                       var page;
-
-                                       if ( !data.query || !data.query.pages ) {
-                                               return false;
-                                       }
-                                       page = data.query.pages[ 0 ];
-                                       if ( !page.categories ) {
-                                               return false;
-                                       }
-                                       return page.categories.map( function ( cat ) {
-                                               return new mw.Title( cat.title );
-                                       } );
-                               } )
-                               .promise( { abort: apiPromise.abort } );
-               }
-       } );
-
-       /**
-        * @class mw.Api
-        * @mixins mw.Api.plugin.category
-        */
-
-}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api.edit.js b/resources/src/mediawiki.api.edit.js
deleted file mode 100644 (file)
index 21c55c7..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-/**
- * @class mw.Api.plugin.edit
- */
-( function ( mw, $ ) {
-
-       $.extend( mw.Api.prototype, {
-
-               /**
-                * Post to API with csrf token. If we have no token, get one and try to post.
-                * If we have a cached token try using that, and if it fails, blank out the
-                * cached token and start over.
-                *
-                * @param {Object} params API parameters
-                * @param {Object} [ajaxOptions]
-                * @return {jQuery.Promise} See #post
-                */
-               postWithEditToken: function ( params, ajaxOptions ) {
-                       return this.postWithToken( 'csrf', params, ajaxOptions );
-               },
-
-               /**
-                * API helper to grab a csrf token.
-                *
-                * @return {jQuery.Promise} Received token.
-                */
-               getEditToken: function () {
-                       return this.getToken( 'csrf' );
-               },
-
-               /**
-                * Create a new page.
-                *
-                * Example:
-                *
-                *     new mw.Api().create( 'Sandbox',
-                *         { summary: 'Load sand particles.' },
-                *         'Sand.'
-                *     );
-                *
-                * @since 1.28
-                * @param {mw.Title|string} title Page title
-                * @param {Object} params Edit API parameters
-                * @param {string} params.summary Edit summary
-                * @param {string} content
-                * @return {jQuery.Promise} API response
-                */
-               create: function ( title, params, content ) {
-                       return this.postWithEditToken( $.extend( {
-                               action: 'edit',
-                               title: String( title ),
-                               text: content,
-                               formatversion: '2',
-
-                               // Protect against errors and conflicts
-                               assert: mw.user.isAnon() ? undefined : 'user',
-                               createonly: true
-                       }, params ) ).then( function ( data ) {
-                               return data.edit;
-                       } );
-               },
-
-               /**
-                * Edit an existing page.
-                *
-                * To create a new page, use #create() instead.
-                *
-                * Simple transformation:
-                *
-                *     new mw.Api()
-                *         .edit( 'Sandbox', function ( revision ) {
-                *             return revision.content.replace( 'foo', 'bar' );
-                *         } )
-                *         .then( function () {
-                *             console.log( 'Saved! ');
-                *         } );
-                *
-                * Set save parameters by returning an object instead of a string:
-                *
-                *     new mw.Api().edit(
-                *         'Sandbox',
-                *         function ( revision ) {
-                *             return {
-                *                 text: revision.content.replace( 'foo', 'bar' ),
-                *                 summary: 'Replace "foo" with "bar".',
-                *                 assert: 'bot',
-                *                 minor: true
-                *             };
-                *         }
-                *     )
-                *     .then( function () {
-                *         console.log( 'Saved! ');
-                *     } );
-                *
-                * Transform asynchronously by returning a promise.
-                *
-                *     new mw.Api()
-                *         .edit( 'Sandbox', function ( revision ) {
-                *             return Spelling
-                *                 .corrections( revision.content )
-                *                 .then( function ( report ) {
-                *                     return {
-                *                         text: report.output,
-                *                         summary: report.changelog
-                *                     };
-                *                 } );
-                *         } )
-                *         .then( function () {
-                *             console.log( 'Saved! ');
-                *         } );
-                *
-                * @since 1.28
-                * @param {mw.Title|string} title Page title
-                * @param {Function} transform Callback that prepares the edit
-                * @param {Object} transform.revision Current revision
-                * @param {string} transform.revision.content Current revision content
-                * @param {string|Object|jQuery.Promise} transform.return New content, object with edit
-                *  API parameters, or promise providing one of those.
-                * @return {jQuery.Promise} Edit API response
-                */
-               edit: function ( title, transform ) {
-                       var basetimestamp, curtimestamp,
-                               api = this;
-
-                       title = String( title );
-
-                       return api.get( {
-                               action: 'query',
-                               prop: 'revisions',
-                               rvprop: [ 'content', 'timestamp' ],
-                               titles: [ title ],
-                               formatversion: '2',
-                               curtimestamp: true
-                       } )
-                               .then( function ( data ) {
-                                       var page, revision;
-                                       if ( !data.query || !data.query.pages ) {
-                                               return $.Deferred().reject( 'unknown' );
-                                       }
-                                       page = data.query.pages[ 0 ];
-                                       if ( !page || page.invalid ) {
-                                               return $.Deferred().reject( 'invalidtitle' );
-                                       }
-                                       if ( page.missing ) {
-                                               return $.Deferred().reject( 'nocreate-missing' );
-                                       }
-                                       revision = page.revisions[ 0 ];
-                                       basetimestamp = revision.timestamp;
-                                       curtimestamp = data.curtimestamp;
-                                       return transform( {
-                                               timestamp: revision.timestamp,
-                                               content: revision.content
-                                       } );
-                               } )
-                               .then( function ( params ) {
-                                       var editParams = typeof params === 'object' ? params : { text: String( params ) };
-                                       return api.postWithEditToken( $.extend( {
-                                               action: 'edit',
-                                               title: title,
-                                               formatversion: '2',
-
-                                               // Protect against errors and conflicts
-                                               assert: mw.user.isAnon() ? undefined : 'user',
-                                               basetimestamp: basetimestamp,
-                                               starttimestamp: curtimestamp,
-                                               nocreate: true
-                                       }, editParams ) );
-                               } )
-                               .then( function ( data ) {
-                                       return data.edit;
-                               } );
-               },
-
-               /**
-                * Post a new section to the page.
-                *
-                * @see #postWithEditToken
-                * @param {mw.Title|string} title Target page
-                * @param {string} header
-                * @param {string} message wikitext message
-                * @param {Object} [additionalParams] Additional API parameters, e.g. `{ redirect: true }`
-                * @return {jQuery.Promise}
-                */
-               newSection: function ( title, header, message, additionalParams ) {
-                       return this.postWithEditToken( $.extend( {
-                               action: 'edit',
-                               section: 'new',
-                               title: String( title ),
-                               summary: header,
-                               text: message
-                       }, additionalParams ) );
-               }
-       } );
-
-       /**
-        * @class mw.Api
-        * @mixins mw.Api.plugin.edit
-        */
-
-}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api.js b/resources/src/mediawiki.api.js
deleted file mode 100644 (file)
index 0038ed8..0000000
+++ /dev/null
@@ -1,506 +0,0 @@
-( function ( mw, $ ) {
-
-       /**
-        * @class mw.Api
-        */
-
-       /**
-        * @property {Object} defaultOptions Default options for #ajax calls. Can be overridden by passing
-        *     `options` to mw.Api constructor.
-        * @property {Object} defaultOptions.parameters Default query parameters for API requests.
-        * @property {Object} defaultOptions.ajax Default options for jQuery#ajax.
-        * @property {boolean} defaultOptions.useUS Whether to use U+001F when joining multi-valued
-        *     parameters (since 1.28). Default is true if ajax.url is not set, false otherwise for
-        *     compatibility.
-        * @private
-        */
-       var defaultOptions = {
-                       parameters: {
-                               action: 'query',
-                               format: 'json'
-                       },
-                       ajax: {
-                               url: mw.util.wikiScript( 'api' ),
-                               timeout: 30 * 1000, // 30 seconds
-                               dataType: 'json'
-                       }
-               },
-
-               // Keyed by ajax url and symbolic name for the individual request
-               promises = {};
-
-       function mapLegacyToken( action ) {
-               // Legacy types for backward-compatibility with API action=tokens.
-               var csrfActions = [
-                       'edit',
-                       'delete',
-                       'protect',
-                       'move',
-                       'block',
-                       'unblock',
-                       'email',
-                       'import',
-                       'options'
-               ];
-               if ( csrfActions.indexOf( action ) !== -1 ) {
-                       mw.track( 'mw.deprecate', 'apitoken_' + action );
-                       mw.log.warn( 'Use of the "' + action + '" token is deprecated. Use "csrf" instead.' );
-                       return 'csrf';
-               }
-               return action;
-       }
-
-       // Pre-populate with fake ajax promises to save http requests for tokens
-       // we already have on the page via the user.tokens module (T36733).
-       promises[ defaultOptions.ajax.url ] = {};
-       $.each( mw.user.tokens.get(), function ( key, value ) {
-               // This requires #getToken to use the same key as user.tokens.
-               // Format: token-type + "Token" (eg. csrfToken, patrolToken, watchToken).
-               promises[ defaultOptions.ajax.url ][ key ] = $.Deferred()
-                       .resolve( value )
-                       .promise( { abort: function () {} } );
-       } );
-
-       /**
-        * Constructor to create an object to interact with the API of a particular MediaWiki server.
-        * mw.Api objects represent the API of a particular MediaWiki server.
-        *
-        *     var api = new mw.Api();
-        *     api.get( {
-        *         action: 'query',
-        *         meta: 'userinfo'
-        *     } ).done( function ( data ) {
-        *         console.log( data );
-        *     } );
-        *
-        * Since MW 1.25, multiple values for a parameter can be specified using an array:
-        *
-        *     var api = new mw.Api();
-        *     api.get( {
-        *         action: 'query',
-        *         meta: [ 'userinfo', 'siteinfo' ] // same effect as 'userinfo|siteinfo'
-        *     } ).done( function ( data ) {
-        *         console.log( data );
-        *     } );
-        *
-        * Since MW 1.26, boolean values for a parameter can be specified directly. If the value is
-        * `false` or `undefined`, the parameter will be omitted from the request, as required by the API.
-        *
-        * @constructor
-        * @param {Object} [options] See #defaultOptions documentation above. Can also be overridden for
-        *  each individual request by passing them to #get or #post (or directly #ajax) later on.
-        */
-       mw.Api = function ( options ) {
-               options = options || {};
-
-               // Force a string if we got a mw.Uri object
-               if ( options.ajax && options.ajax.url !== undefined ) {
-                       options.ajax.url = String( options.ajax.url );
-               }
-
-               options = $.extend( { useUS: !options.ajax || !options.ajax.url }, options );
-
-               options.parameters = $.extend( {}, defaultOptions.parameters, options.parameters );
-               options.ajax = $.extend( {}, defaultOptions.ajax, options.ajax );
-
-               this.defaults = options;
-               this.requests = [];
-       };
-
-       mw.Api.prototype = {
-               /**
-                * Abort all unfinished requests issued by this Api object.
-                *
-                * @method
-                */
-               abort: function () {
-                       this.requests.forEach( function ( request ) {
-                               if ( request ) {
-                                       request.abort();
-                               }
-                       } );
-               },
-
-               /**
-                * Perform API get request
-                *
-                * @param {Object} parameters
-                * @param {Object} [ajaxOptions]
-                * @return {jQuery.Promise}
-                */
-               get: function ( parameters, ajaxOptions ) {
-                       ajaxOptions = ajaxOptions || {};
-                       ajaxOptions.type = 'GET';
-                       return this.ajax( parameters, ajaxOptions );
-               },
-
-               /**
-                * Perform API post request
-                *
-                * @param {Object} parameters
-                * @param {Object} [ajaxOptions]
-                * @return {jQuery.Promise}
-                */
-               post: function ( parameters, ajaxOptions ) {
-                       ajaxOptions = ajaxOptions || {};
-                       ajaxOptions.type = 'POST';
-                       return this.ajax( parameters, ajaxOptions );
-               },
-
-               /**
-                * Massage parameters from the nice format we accept into a format suitable for the API.
-                *
-                * NOTE: A value of undefined/null in an array will be represented by Array#join()
-                * as the empty string. Should we filter silently? Warn? Leave as-is?
-                *
-                * @private
-                * @param {Object} parameters (modified in-place)
-                * @param {boolean} useUS Whether to use U+001F when joining multi-valued parameters.
-                */
-               preprocessParameters: function ( parameters, useUS ) {
-                       var key;
-                       // Handle common MediaWiki API idioms for passing parameters
-                       for ( key in parameters ) {
-                               // Multiple values are pipe-separated
-                               if ( Array.isArray( parameters[ key ] ) ) {
-                                       if ( !useUS || parameters[ key ].join( '' ).indexOf( '|' ) === -1 ) {
-                                               parameters[ key ] = parameters[ key ].join( '|' );
-                                       } else {
-                                               parameters[ key ] = '\x1f' + parameters[ key ].join( '\x1f' );
-                                       }
-                               } else if ( parameters[ key ] === false || parameters[ key ] === undefined ) {
-                                       // Boolean values are only false when not given at all
-                                       delete parameters[ key ];
-                               }
-                       }
-               },
-
-               /**
-                * Perform the API call.
-                *
-                * @param {Object} parameters
-                * @param {Object} [ajaxOptions]
-                * @return {jQuery.Promise} Done: API response data and the jqXHR object.
-                *  Fail: Error code
-                */
-               ajax: function ( parameters, ajaxOptions ) {
-                       var token, requestIndex,
-                               api = this,
-                               apiDeferred = $.Deferred(),
-                               xhr, key, formData;
-
-                       parameters = $.extend( {}, this.defaults.parameters, parameters );
-                       ajaxOptions = $.extend( {}, this.defaults.ajax, ajaxOptions );
-
-                       // Ensure that token parameter is last (per [[mw:API:Edit#Token]]).
-                       if ( parameters.token ) {
-                               token = parameters.token;
-                               delete parameters.token;
-                       }
-
-                       this.preprocessParameters( parameters, this.defaults.useUS );
-
-                       // If multipart/form-data has been requested and emulation is possible, emulate it
-                       if (
-                               ajaxOptions.type === 'POST' &&
-                               window.FormData &&
-                               ajaxOptions.contentType === 'multipart/form-data'
-                       ) {
-
-                               formData = new FormData();
-
-                               for ( key in parameters ) {
-                                       formData.append( key, parameters[ key ] );
-                               }
-                               // If we extracted a token parameter, add it back in.
-                               if ( token ) {
-                                       formData.append( 'token', token );
-                               }
-
-                               ajaxOptions.data = formData;
-
-                               // Prevent jQuery from mangling our FormData object
-                               ajaxOptions.processData = false;
-                               // Prevent jQuery from overriding the Content-Type header
-                               ajaxOptions.contentType = false;
-                       } else {
-                               // This works because jQuery accepts data as a query string or as an Object
-                               ajaxOptions.data = $.param( parameters );
-                               // If we extracted a token parameter, add it back in.
-                               if ( token ) {
-                                       ajaxOptions.data += '&token=' + encodeURIComponent( token );
-                               }
-
-                               // Depending on server configuration, MediaWiki may forbid periods in URLs, due to an IE 6
-                               // XSS bug. So let's escape them here. See WebRequest::checkUrlExtension() and T30235.
-                               ajaxOptions.data = ajaxOptions.data.replace( /\./g, '%2E' );
-
-                               if ( ajaxOptions.contentType === 'multipart/form-data' ) {
-                                       // We were asked to emulate but can't, so drop the Content-Type header, otherwise
-                                       // it'll be wrong and the server will fail to decode the POST body
-                                       delete ajaxOptions.contentType;
-                               }
-                       }
-
-                       // Make the AJAX request
-                       xhr = $.ajax( ajaxOptions )
-                               // If AJAX fails, reject API call with error code 'http'
-                               // and details in second argument.
-                               .fail( function ( xhr, textStatus, exception ) {
-                                       apiDeferred.reject( 'http', {
-                                               xhr: xhr,
-                                               textStatus: textStatus,
-                                               exception: exception
-                                       } );
-                               } )
-                               // AJAX success just means "200 OK" response, also check API error codes
-                               .done( function ( result, textStatus, jqXHR ) {
-                                       var code;
-                                       if ( result === undefined || result === null || result === '' ) {
-                                               apiDeferred.reject( 'ok-but-empty',
-                                                       'OK response but empty result (check HTTP headers?)',
-                                                       result,
-                                                       jqXHR
-                                               );
-                                       } else if ( result.error ) {
-                                               // errorformat=bc
-                                               code = result.error.code === undefined ? 'unknown' : result.error.code;
-                                               apiDeferred.reject( code, result, result, jqXHR );
-                                       } else if ( result.errors ) {
-                                               // errorformat!=bc
-                                               code = result.errors[ 0 ].code === undefined ? 'unknown' : result.errors[ 0 ].code;
-                                               apiDeferred.reject( code, result, result, jqXHR );
-                                       } else {
-                                               apiDeferred.resolve( result, jqXHR );
-                                       }
-                               } );
-
-                       requestIndex = this.requests.length;
-                       this.requests.push( xhr );
-                       xhr.always( function () {
-                               api.requests[ requestIndex ] = null;
-                       } );
-                       // Return the Promise
-                       return apiDeferred.promise( { abort: xhr.abort } ).fail( function ( code, details ) {
-                               if ( !( code === 'http' && details && details.textStatus === 'abort' ) ) {
-                                       mw.log( 'mw.Api error: ', code, details );
-                               }
-                       } );
-               },
-
-               /**
-                * Post to API with specified type of token. If we have no token, get one and try to post.
-                * If we have a cached token try using that, and if it fails, blank out the
-                * cached token and start over. For example to change an user option you could do:
-                *
-                *     new mw.Api().postWithToken( 'csrf', {
-                *         action: 'options',
-                *         optionname: 'gender',
-                *         optionvalue: 'female'
-                *     } );
-                *
-                * @param {string} tokenType The name of the token, like options or edit.
-                * @param {Object} params API parameters
-                * @param {Object} [ajaxOptions]
-                * @return {jQuery.Promise} See #post
-                * @since 1.22
-                */
-               postWithToken: function ( tokenType, params, ajaxOptions ) {
-                       var api = this,
-                               abortedPromise = $.Deferred().reject( 'http',
-                                       { textStatus: 'abort', exception: 'abort' } ).promise(),
-                               abortable,
-                               aborted;
-
-                       return api.getToken( tokenType, params.assert ).then( function ( token ) {
-                               params.token = token;
-                               // Request was aborted while token request was running, but we
-                               // don't want to unnecessarily abort token requests, so abort
-                               // a fake request instead
-                               if ( aborted ) {
-                                       return abortedPromise;
-                               }
-
-                               return ( abortable = api.post( params, ajaxOptions ) ).catch(
-                                       // Error handler
-                                       function ( code ) {
-                                               if ( code === 'badtoken' ) {
-                                                       api.badToken( tokenType );
-                                                       // Try again, once
-                                                       params.token = undefined;
-                                                       abortable = null;
-                                                       return api.getToken( tokenType, params.assert ).then( function ( token ) {
-                                                               params.token = token;
-                                                               if ( aborted ) {
-                                                                       return abortedPromise;
-                                                               }
-
-                                                               return ( abortable = api.post( params, ajaxOptions ) );
-                                                       } );
-                                               }
-
-                                               // Let caller handle the error code
-                                               return $.Deferred().rejectWith( this, arguments );
-                                       }
-                               );
-                       } ).promise( { abort: function () {
-                               if ( abortable ) {
-                                       abortable.abort();
-                               } else {
-                                       aborted = true;
-                               }
-                       } } );
-               },
-
-               /**
-                * Get a token for a certain action from the API.
-                *
-                * The assert parameter is only for internal use by #postWithToken.
-                *
-                * @since 1.22
-                * @param {string} type Token type
-                * @param {string} [assert]
-                * @return {jQuery.Promise} Received token.
-                */
-               getToken: function ( type, assert ) {
-                       var apiPromise, promiseGroup, d, reject;
-                       type = mapLegacyToken( type );
-                       promiseGroup = promises[ this.defaults.ajax.url ];
-                       d = promiseGroup && promiseGroup[ type + 'Token' ];
-
-                       if ( !promiseGroup ) {
-                               promiseGroup = promises[ this.defaults.ajax.url ] = {};
-                       }
-
-                       if ( !d ) {
-                               apiPromise = this.get( {
-                                       action: 'query',
-                                       meta: 'tokens',
-                                       type: type,
-                                       assert: assert
-                               } );
-                               reject = function () {
-                                       // Clear promise. Do not cache errors.
-                                       delete promiseGroup[ type + 'Token' ];
-
-                                       // Let caller handle the error code
-                                       return $.Deferred().rejectWith( this, arguments );
-                               };
-                               d = apiPromise
-                                       .then( function ( res ) {
-                                               if ( !res.query ) {
-                                                       return reject( 'query-missing', res );
-                                               }
-                                               // If token type is unknown, it is omitted from the response
-                                               if ( !res.query.tokens[ type + 'token' ] ) {
-                                                       return $.Deferred().reject( 'token-missing', res );
-                                               }
-                                               return res.query.tokens[ type + 'token' ];
-                                       }, reject )
-                                       // Attach abort handler
-                                       .promise( { abort: apiPromise.abort } );
-
-                               // Store deferred now so that we can use it again even if it isn't ready yet
-                               promiseGroup[ type + 'Token' ] = d;
-                       }
-
-                       return d;
-               },
-
-               /**
-                * Indicate that the cached token for a certain action of the API is bad.
-                *
-                * Call this if you get a 'badtoken' error when using the token returned by #getToken.
-                * You may also want to use #postWithToken instead, which invalidates bad cached tokens
-                * automatically.
-                *
-                * @param {string} type Token type
-                * @since 1.26
-                */
-               badToken: function ( type ) {
-                       var promiseGroup = promises[ this.defaults.ajax.url ];
-
-                       type = mapLegacyToken( type );
-                       if ( promiseGroup ) {
-                               delete promiseGroup[ type + 'Token' ];
-                       }
-               }
-       };
-
-       /**
-        * @static
-        * @property {Array}
-        * Very incomplete and outdated list of errors we might receive from the API. Do not use.
-        * @deprecated since 1.29
-        */
-       mw.Api.errors = [
-               // occurs when POST aborted
-               // jQuery 1.4 can't distinguish abort or lost connection from 200 OK + empty result
-               'ok-but-empty',
-
-               // timeout
-               'timeout',
-
-               // really a warning, but we treat it like an error
-               'duplicate',
-               'duplicate-archive',
-
-               // upload succeeded, but no image info.
-               // this is probably impossible, but might as well check for it
-               'noimageinfo',
-               // remote errors, defined in API
-               'uploaddisabled',
-               'nomodule',
-               'mustbeposted',
-               'badaccess-groups',
-               'missingresult',
-               'missingparam',
-               'invalid-file-key',
-               'copyuploaddisabled',
-               'mustbeloggedin',
-               'empty-file',
-               'file-too-large',
-               'filetype-missing',
-               'filetype-banned',
-               'filetype-banned-type',
-               'filename-tooshort',
-               'illegal-filename',
-               'verification-error',
-               'hookaborted',
-               'unknown-error',
-               'internal-error',
-               'overwrite',
-               'badtoken',
-               'fetchfileerror',
-               'fileexists-shared-forbidden',
-               'invalidtitle',
-               'notloggedin',
-               'autoblocked',
-               'blocked',
-
-               // Stash-specific errors - expanded
-               'stashfailed',
-               'stasherror',
-               'stashedfilenotfound',
-               'stashpathinvalid',
-               'stashfilestorage',
-               'stashzerolength',
-               'stashnotloggedin',
-               'stashwrongowner',
-               'stashnosuchfilekey'
-       ];
-       mw.log.deprecate( mw.Api, 'errors', mw.Api.errors, null, 'mw.Api.errors' );
-
-       /**
-        * @static
-        * @property {Array}
-        * Very incomplete and outdated list of warnings we might receive from the API. Do not use.
-        * @deprecated since 1.29
-        */
-       mw.Api.warnings = [
-               'duplicate',
-               'exists'
-       ];
-       mw.log.deprecate( mw.Api, 'warnings', mw.Api.warnings, null, 'mw.Api.warnings' );
-
-}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api.login.js b/resources/src/mediawiki.api.login.js
deleted file mode 100644 (file)
index 2b709aa..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Make the two-step login easier.
- *
- * @author Niklas Laxström
- * @class mw.Api.plugin.login
- * @since 1.22
- */
-( function ( mw, $ ) {
-       'use strict';
-
-       $.extend( mw.Api.prototype, {
-               /**
-                * @param {string} username
-                * @param {string} password
-                * @return {jQuery.Promise} See mw.Api#post
-                */
-               login: function ( username, password ) {
-                       var params, apiPromise, innerPromise,
-                               api = this;
-
-                       params = {
-                               action: 'login',
-                               lgname: username,
-                               lgpassword: password
-                       };
-
-                       apiPromise = api.post( params );
-
-                       return apiPromise
-                               .then( function ( data ) {
-                                       params.lgtoken = data.login.token;
-                                       innerPromise = api.post( params )
-                                               .then( function ( data ) {
-                                                       var code;
-                                                       if ( data.login.result !== 'Success' ) {
-                                                               // Set proper error code whenever possible
-                                                               code = data.error && data.error.code || 'unknown';
-                                                               return $.Deferred().reject( code, data );
-                                                       }
-                                                       return data;
-                                               } );
-                                       return innerPromise;
-                               } )
-                               .promise( {
-                                       abort: function () {
-                                               apiPromise.abort();
-                                               if ( innerPromise ) {
-                                                       innerPromise.abort();
-                                               }
-                                       }
-                               } );
-               }
-       } );
-
-       /**
-        * @class mw.Api
-        * @mixins mw.Api.plugin.login
-        */
-
-}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api.messages.js b/resources/src/mediawiki.api.messages.js
deleted file mode 100644 (file)
index 688f0b2..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
- * Allows to retrieve a specific or a set of
- * messages to be added to mw.messages and returned
- * by the Api.
- *
- * @class mw.Api.plugin.messages
- * @since 1.27
- */
-( function ( mw, $ ) {
-       'use strict';
-
-       $.extend( mw.Api.prototype, {
-               /**
-                * Get a set of messages.
-                *
-                * @param {Array} messages Messages to retrieve
-                * @param {Object} [options] Additional parameters for the API call
-                * @return {jQuery.Promise}
-                */
-               getMessages: function ( messages, options ) {
-                       options = options || {};
-                       return this.get( $.extend( {
-                               action: 'query',
-                               meta: 'allmessages',
-                               ammessages: messages,
-                               amlang: mw.config.get( 'wgUserLanguage' ),
-                               formatversion: 2
-                       }, options ) ).then( function ( data ) {
-                               var result = {};
-
-                               data.query.allmessages.forEach( function ( obj ) {
-                                       if ( !obj.missing ) {
-                                               result[ obj.name ] = obj.content;
-                                       }
-                               } );
-
-                               return result;
-                       } );
-               },
-
-               /**
-                * Loads a set of messages and add them to mw.messages.
-                *
-                * @param {Array} messages Messages to retrieve
-                * @param {Object} [options] Additional parameters for the API call
-                * @return {jQuery.Promise}
-                */
-               loadMessages: function ( messages, options ) {
-                       return this.getMessages( messages, options ).then( $.proxy( mw.messages, 'set' ) );
-               },
-
-               /**
-                * Loads a set of messages and add them to mw.messages. Only messages that are not already known
-                * are loaded. If all messages are known, the returned promise is resolved immediately.
-                *
-                * @param {Array} messages Messages to retrieve
-                * @param {Object} [options] Additional parameters for the API call
-                * @return {jQuery.Promise}
-                */
-               loadMessagesIfMissing: function ( messages, options ) {
-                       var missing = messages.filter( function ( msg ) {
-                               return !mw.message( msg ).exists();
-                       } );
-
-                       if ( missing.length === 0 ) {
-                               return $.Deferred().resolve();
-                       }
-
-                       return this.getMessages( missing, options ).then( $.proxy( mw.messages, 'set' ) );
-               }
-       } );
-
-       /**
-        * @class mw.Api
-        * @mixins mw.Api.plugin.messages
-        */
-
-}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api.options.js b/resources/src/mediawiki.api.options.js
deleted file mode 100644 (file)
index 4930c4f..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-/**
- * @class mw.Api.plugin.options
- */
-( function ( mw, $ ) {
-
-       $.extend( mw.Api.prototype, {
-
-               /**
-                * Asynchronously save the value of a single user option using the API. See #saveOptions.
-                *
-                * @param {string} name
-                * @param {string|null} value
-                * @return {jQuery.Promise}
-                */
-               saveOption: function ( name, value ) {
-                       var param = {};
-                       param[ name ] = value;
-                       return this.saveOptions( param );
-               },
-
-               /**
-                * Asynchronously save the values of user options using the API.
-                *
-                * If a value of `null` is provided, the given option will be reset to the default value.
-                *
-                * Any warnings returned by the API, including warnings about invalid option names or values,
-                * are ignored. However, do not rely on this behavior.
-                *
-                * If necessary, the options will be saved using several sequential API requests. Only one promise
-                * is always returned that will be resolved when all requests complete.
-                *
-                * @param {Object} options Options as a `{ name: value, … }` object
-                * @return {jQuery.Promise}
-                */
-               saveOptions: function ( options ) {
-                       var name, value, bundleable,
-                               grouped = [],
-                               promise = $.Deferred().resolve();
-
-                       for ( name in options ) {
-                               value = options[ name ] === null ? null : String( options[ name ] );
-
-                               // Can we bundle this option, or does it need a separate request?
-                               if ( this.defaults.useUS ) {
-                                       bundleable = name.indexOf( '=' ) === -1;
-                               } else {
-                                       bundleable =
-                                               ( value === null || value.indexOf( '|' ) === -1 ) &&
-                                               ( name.indexOf( '|' ) === -1 && name.indexOf( '=' ) === -1 );
-                               }
-
-                               if ( bundleable ) {
-                                       if ( value !== null ) {
-                                               grouped.push( name + '=' + value );
-                                       } else {
-                                               // Omitting value resets the option
-                                               grouped.push( name );
-                                       }
-                               } else {
-                                       if ( value !== null ) {
-                                               promise = promise.then( function ( name, value ) {
-                                                       return this.postWithToken( 'csrf', {
-                                                               formatversion: 2,
-                                                               action: 'options',
-                                                               optionname: name,
-                                                               optionvalue: value
-                                                       } );
-                                               }.bind( this, name, value ) );
-                                       } else {
-                                               // Omitting value resets the option
-                                               promise = promise.then( function ( name ) {
-                                                       return this.postWithToken( 'csrf', {
-                                                               formatversion: 2,
-                                                               action: 'options',
-                                                               optionname: name
-                                                       } );
-                                               }.bind( this, name ) );
-                                       }
-                               }
-                       }
-
-                       if ( grouped.length ) {
-                               promise = promise.then( function () {
-                                       return this.postWithToken( 'csrf', {
-                                               formatversion: 2,
-                                               action: 'options',
-                                               change: grouped
-                                       } );
-                               }.bind( this ) );
-                       }
-
-                       return promise;
-               }
-
-       } );
-
-       /**
-        * @class mw.Api
-        * @mixins mw.Api.plugin.options
-        */
-
-}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api.parse.js b/resources/src/mediawiki.api.parse.js
deleted file mode 100644 (file)
index f38e88b..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * @class mw.Api.plugin.parse
- */
-( function ( mw, $ ) {
-
-       $.extend( mw.Api.prototype, {
-               /**
-                * Convenience method for 'action=parse'.
-                *
-                * @param {string|mw.Title} content Content to parse, either as a wikitext string or
-                *   a mw.Title.
-                * @param {Object} additionalParams Parameters object to set custom settings, e.g.
-                *   redirects, sectionpreview.  prop should not be overridden.
-                * @return {jQuery.Promise}
-                * @return {Function} return.done
-                * @return {string} return.done.data Parsed HTML of `wikitext`.
-                */
-               parse: function ( content, additionalParams ) {
-                       var apiPromise,
-                               config = $.extend( {
-                                       formatversion: 2,
-                                       action: 'parse',
-                                       contentmodel: 'wikitext'
-                               }, additionalParams );
-
-                       if ( mw.Title && content instanceof mw.Title ) {
-                               // Parse existing page
-                               config.page = content.getPrefixedDb();
-                       } else {
-                               // Parse wikitext from input
-                               config.text = String( content );
-                       }
-
-                       apiPromise = this.get( config );
-
-                       return apiPromise
-                               .then( function ( data ) {
-                                       return data.parse.text;
-                               } )
-                               .promise( { abort: apiPromise.abort } );
-               }
-       } );
-
-       /**
-        * @class mw.Api
-        * @mixins mw.Api.plugin.parse
-        */
-
-}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api.rollback.js b/resources/src/mediawiki.api.rollback.js
deleted file mode 100644 (file)
index 322143d..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * @class mw.Api.plugin.rollback
- * @since 1.28
- */
-( function ( mw, $ ) {
-
-       $.extend( mw.Api.prototype, {
-               /**
-                * Convenience method for `action=rollback`.
-                *
-                * @param {string|mw.Title} page
-                * @param {string} user
-                * @param {Object} [params] Additional parameters
-                * @return {jQuery.Promise}
-                */
-               rollback: function ( page, user, params ) {
-                       return this.postWithToken( 'rollback', $.extend( {
-                               action: 'rollback',
-                               title: String( page ),
-                               user: user,
-                               uselang: mw.config.get( 'wgUserLanguage' )
-                       }, params ) ).then( function ( data ) {
-                               return data.rollback;
-                       } );
-               }
-       } );
-
-       /**
-        * @class mw.Api
-        * @mixins mw.Api.plugin.rollback
-        */
-
-}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api.upload.js b/resources/src/mediawiki.api.upload.js
deleted file mode 100644 (file)
index 29bd59a..0000000
+++ /dev/null
@@ -1,668 +0,0 @@
-/**
- * Provides an interface for uploading files to MediaWiki.
- *
- * @class mw.Api.plugin.upload
- * @singleton
- */
-( function ( mw, $ ) {
-       var nonce = 0,
-               fieldsAllowed = {
-                       stash: true,
-                       filekey: true,
-                       filename: true,
-                       comment: true,
-                       text: true,
-                       watchlist: true,
-                       ignorewarnings: true,
-                       chunk: true,
-                       offset: true,
-                       filesize: true,
-                       async: true
-               };
-
-       /**
-        * Get nonce for iframe IDs on the page.
-        *
-        * @private
-        * @return {number}
-        */
-       function getNonce() {
-               return nonce++;
-       }
-
-       /**
-        * Given a non-empty object, return one of its keys.
-        *
-        * @private
-        * @param {Object} obj
-        * @return {string}
-        */
-       function getFirstKey( obj ) {
-               var key;
-               for ( key in obj ) {
-                       if ( obj.hasOwnProperty( key ) ) {
-                               return key;
-                       }
-               }
-       }
-
-       /**
-        * Get new iframe object for an upload.
-        *
-        * @private
-        * @param {string} id
-        * @return {HTMLIframeElement}
-        */
-       function getNewIframe( id ) {
-               var frame = document.createElement( 'iframe' );
-               frame.id = id;
-               frame.name = id;
-               return frame;
-       }
-
-       /**
-        * Shortcut for getting hidden inputs
-        *
-        * @private
-        * @param {string} name
-        * @param {string} val
-        * @return {jQuery}
-        */
-       function getHiddenInput( name, val ) {
-               return $( '<input>' ).attr( 'type', 'hidden' )
-                       .attr( 'name', name )
-                       .val( val );
-       }
-
-       /**
-        * Process the result of the form submission, returned to an iframe.
-        * This is the iframe's onload event.
-        *
-        * @param {HTMLIframeElement} iframe Iframe to extract result from
-        * @return {Object} Response from the server. The return value may or may
-        *   not be an XMLDocument, this code was copied from elsewhere, so if you
-        *   see an unexpected return type, please file a bug.
-        */
-       function processIframeResult( iframe ) {
-               var json,
-                       doc = iframe.contentDocument || frames[ iframe.id ].document;
-
-               if ( doc.XMLDocument ) {
-                       // The response is a document property in IE
-                       return doc.XMLDocument;
-               }
-
-               if ( doc.body ) {
-                       // Get the json string
-                       // We're actually searching through an HTML doc here --
-                       // according to mdale we need to do this
-                       // because IE does not load JSON properly in an iframe
-                       json = $( doc.body ).find( 'pre' ).text();
-
-                       return JSON.parse( json );
-               }
-
-               // Response is a xml document
-               return doc;
-       }
-
-       function formDataAvailable() {
-               return window.FormData !== undefined &&
-                       window.File !== undefined &&
-                       window.File.prototype.slice !== undefined;
-       }
-
-       $.extend( mw.Api.prototype, {
-               /**
-                * Upload a file to MediaWiki.
-                *
-                * The file will be uploaded using AJAX and FormData, if the browser supports it, or via an
-                * iframe if it doesn't.
-                *
-                * Caveats of iframe upload:
-                * - The returned jQuery.Promise will not receive `progress` notifications during the upload
-                * - It is incompatible with uploads to a foreign wiki using mw.ForeignApi
-                * - You must pass a HTMLInputElement and not a File for it to be possible
-                *
-                * @param {HTMLInputElement|File|Blob} file HTML input type=file element with a file already inside
-                *  of it, or a File object.
-                * @param {Object} data Other upload options, see action=upload API docs for more
-                * @return {jQuery.Promise}
-                */
-               upload: function ( file, data ) {
-                       var isFileInput, canUseFormData;
-
-                       isFileInput = file && file.nodeType === Node.ELEMENT_NODE;
-
-                       if ( formDataAvailable() && isFileInput && file.files ) {
-                               file = file.files[ 0 ];
-                       }
-
-                       if ( !file ) {
-                               throw new Error( 'No file' );
-                       }
-
-                       // Blobs are allowed in formdata uploads, it turns out
-                       canUseFormData = formDataAvailable() && ( file instanceof window.File || file instanceof window.Blob );
-
-                       if ( !isFileInput && !canUseFormData ) {
-                               throw new Error( 'Unsupported argument type passed to mw.Api.upload' );
-                       }
-
-                       if ( canUseFormData ) {
-                               return this.uploadWithFormData( file, data );
-                       }
-
-                       return this.uploadWithIframe( file, data );
-               },
-
-               /**
-                * Upload a file to MediaWiki with an iframe and a form.
-                *
-                * This method is necessary for browsers without the File/FormData
-                * APIs, and continues to work in browsers with those APIs.
-                *
-                * The rough sketch of how this method works is as follows:
-                * 1. An iframe is loaded with no content.
-                * 2. A form is submitted with the passed-in file input and some extras.
-                * 3. The MediaWiki API receives that form data, and sends back a response.
-                * 4. The response is sent to the iframe, because we set target=(iframe id)
-                * 5. The response is parsed out of the iframe's document, and passed back
-                *    through the promise.
-                *
-                * @private
-                * @param {HTMLInputElement} file The file input with a file in it.
-                * @param {Object} data Other upload options, see action=upload API docs for more
-                * @return {jQuery.Promise}
-                */
-               uploadWithIframe: function ( file, data ) {
-                       var key,
-                               tokenPromise = $.Deferred(),
-                               api = this,
-                               deferred = $.Deferred(),
-                               nonce = getNonce(),
-                               id = 'uploadframe-' + nonce,
-                               $form = $( '<form>' ),
-                               iframe = getNewIframe( id ),
-                               $iframe = $( iframe );
-
-                       for ( key in data ) {
-                               if ( !fieldsAllowed[ key ] ) {
-                                       delete data[ key ];
-                               }
-                       }
-
-                       data = $.extend( {}, this.defaults.parameters, { action: 'upload' }, data );
-                       $form.addClass( 'mw-api-upload-form' );
-
-                       $form.css( 'display', 'none' )
-                               .attr( {
-                                       action: this.defaults.ajax.url,
-                                       method: 'POST',
-                                       target: id,
-                                       enctype: 'multipart/form-data'
-                               } );
-
-                       $iframe.one( 'load', function () {
-                               $iframe.one( 'load', function () {
-                                       var result = processIframeResult( iframe );
-                                       deferred.notify( 1 );
-
-                                       if ( !result ) {
-                                               deferred.reject( 'ok-but-empty', 'No response from API on upload attempt.' );
-                                       } else if ( result.error ) {
-                                               if ( result.error.code === 'badtoken' ) {
-                                                       api.badToken( 'csrf' );
-                                               }
-
-                                               deferred.reject( result.error.code, result );
-                                       } else if ( result.upload && result.upload.warnings ) {
-                                               deferred.reject( getFirstKey( result.upload.warnings ), result );
-                                       } else {
-                                               deferred.resolve( result );
-                                       }
-                               } );
-                               tokenPromise.done( function () {
-                                       $form.submit();
-                               } );
-                       } );
-
-                       $iframe.on( 'error', function ( error ) {
-                               deferred.reject( 'http', error );
-                       } );
-
-                       $iframe.prop( 'src', 'about:blank' ).hide();
-
-                       file.name = 'file';
-
-                       $.each( data, function ( key, val ) {
-                               $form.append( getHiddenInput( key, val ) );
-                       } );
-
-                       if ( !data.filename && !data.stash ) {
-                               throw new Error( 'Filename not included in file data.' );
-                       }
-
-                       if ( this.needToken() ) {
-                               this.getEditToken().then( function ( token ) {
-                                       $form.append( getHiddenInput( 'token', token ) );
-                                       tokenPromise.resolve();
-                               }, tokenPromise.reject );
-                       } else {
-                               tokenPromise.resolve();
-                       }
-
-                       $( 'body' ).append( $form, $iframe );
-
-                       deferred.always( function () {
-                               $form.remove();
-                               $iframe.remove();
-                       } );
-
-                       return deferred.promise();
-               },
-
-               /**
-                * Uploads a file using the FormData API.
-                *
-                * @private
-                * @param {File} file
-                * @param {Object} data Other upload options, see action=upload API docs for more
-                * @return {jQuery.Promise}
-                */
-               uploadWithFormData: function ( file, data ) {
-                       var key, request,
-                               deferred = $.Deferred();
-
-                       for ( key in data ) {
-                               if ( !fieldsAllowed[ key ] ) {
-                                       delete data[ key ];
-                               }
-                       }
-
-                       data = $.extend( {}, this.defaults.parameters, { action: 'upload' }, data );
-                       if ( !data.chunk ) {
-                               data.file = file;
-                       }
-
-                       if ( !data.filename && !data.stash ) {
-                               throw new Error( 'Filename not included in file data.' );
-                       }
-
-                       // Use this.postWithEditToken() or this.post()
-                       request = this[ this.needToken() ? 'postWithEditToken' : 'post' ]( data, {
-                               // Use FormData (if we got here, we know that it's available)
-                               contentType: 'multipart/form-data',
-                               // No timeout (default from mw.Api is 30 seconds)
-                               timeout: 0,
-                               // Provide upload progress notifications
-                               xhr: function () {
-                                       var xhr = $.ajaxSettings.xhr();
-                                       if ( xhr.upload ) {
-                                               // need to bind this event before we open the connection (see note at
-                                               // https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest/Using_XMLHttpRequest#Monitoring_progress)
-                                               xhr.upload.addEventListener( 'progress', function ( ev ) {
-                                                       if ( ev.lengthComputable ) {
-                                                               deferred.notify( ev.loaded / ev.total );
-                                                       }
-                                               } );
-                                       }
-                                       return xhr;
-                               }
-                       } )
-                               .done( function ( result ) {
-                                       deferred.notify( 1 );
-                                       if ( result.upload && result.upload.warnings ) {
-                                               deferred.reject( getFirstKey( result.upload.warnings ), result );
-                                       } else {
-                                               deferred.resolve( result );
-                                       }
-                               } )
-                               .fail( function ( errorCode, result ) {
-                                       deferred.notify( 1 );
-                                       deferred.reject( errorCode, result );
-                               } );
-
-                       return deferred.promise( { abort: request.abort } );
-               },
-
-               /**
-                * Upload a file in several chunks.
-                *
-                * @param {File} file
-                * @param {Object} data Other upload options, see action=upload API docs for more
-                * @param {number} [chunkSize] Size (in bytes) per chunk (default: 5MB)
-                * @param {number} [chunkRetries] Amount of times to retry a failed chunk (default: 1)
-                * @return {jQuery.Promise}
-                */
-               chunkedUpload: function ( file, data, chunkSize, chunkRetries ) {
-                       var start, end, promise, next, active,
-                               deferred = $.Deferred();
-
-                       chunkSize = chunkSize === undefined ? 5 * 1024 * 1024 : chunkSize;
-                       chunkRetries = chunkRetries === undefined ? 1 : chunkRetries;
-
-                       if ( !data.filename ) {
-                               throw new Error( 'Filename not included in file data.' );
-                       }
-
-                       // Submit first chunk to get the filekey
-                       active = promise = this.uploadChunk( file, data, 0, chunkSize, '', chunkRetries )
-                               .done( chunkSize >= file.size ? deferred.resolve : null )
-                               .fail( deferred.reject )
-                               .progress( deferred.notify );
-
-                       // Now iteratively submit the rest of the chunks
-                       for ( start = chunkSize; start < file.size; start += chunkSize ) {
-                               end = Math.min( start + chunkSize, file.size );
-                               next = $.Deferred();
-
-                               // We could simply chain one this.uploadChunk after another with
-                               // .then(), but then we'd hit an `Uncaught RangeError: Maximum
-                               // call stack size exceeded` at as low as 1024 calls in Firefox
-                               // 47. This'll work around it, but comes with the drawback of
-                               // having to properly relay the results to the returned promise.
-                               // eslint-disable-next-line no-loop-func
-                               promise.done( function ( start, end, next, result ) {
-                                       var filekey = result.upload.filekey;
-                                       active = this.uploadChunk( file, data, start, end, filekey, chunkRetries )
-                                               .done( end === file.size ? deferred.resolve : next.resolve )
-                                               .fail( deferred.reject )
-                                               .progress( deferred.notify );
-                               // start, end & next must be bound to closure, or they'd have
-                               // changed by the time the promises are resolved
-                               }.bind( this, start, end, next ) );
-
-                               promise = next;
-                       }
-
-                       return deferred.promise( { abort: active.abort } );
-               },
-
-               /**
-                * Uploads 1 chunk.
-                *
-                * @private
-                * @param {File} file
-                * @param {Object} data Other upload options, see action=upload API docs for more
-                * @param {number} start Chunk start position
-                * @param {number} end Chunk end position
-                * @param {string} [filekey] File key, for follow-up chunks
-                * @param {number} [retries] Amount of times to retry request
-                * @return {jQuery.Promise}
-                */
-               uploadChunk: function ( file, data, start, end, filekey, retries ) {
-                       var upload,
-                               api = this,
-                               chunk = this.slice( file, start, end );
-
-                       // When uploading in chunks, we're going to be issuing a lot more
-                       // requests and there's always a chance of 1 getting dropped.
-                       // In such case, it could be useful to try again: a network hickup
-                       // doesn't necessarily have to result in upload failure...
-                       retries = retries === undefined ? 1 : retries;
-
-                       data.filesize = file.size;
-                       data.chunk = chunk;
-                       data.offset = start;
-
-                       // filekey must only be added when uploading follow-up chunks; the
-                       // first chunk should never have a filekey (it'll be generated)
-                       if ( filekey && start !== 0 ) {
-                               data.filekey = filekey;
-                       }
-
-                       upload = this.uploadWithFormData( file, data );
-                       return upload.then(
-                               null,
-                               function ( code, result ) {
-                                       var retry;
-
-                                       // uploadWithFormData will reject uploads with warnings, but
-                                       // these warnings could be "harmless" or recovered from
-                                       // (e.g. exists-normalized, when it'll be renamed later)
-                                       // In the case of (only) a warning, we still want to
-                                       // continue the chunked upload until it completes: then
-                                       // reject it - at least it's been fully uploaded by then and
-                                       // failure handlers have a complete result object (including
-                                       // possibly more warnings, e.g. duplicate)
-                                       // This matches .upload, which also completes the upload.
-                                       if ( result.upload && result.upload.warnings && code in result.upload.warnings ) {
-                                               if ( end === file.size ) {
-                                                       // uploaded last chunk = reject with result data
-                                                       return $.Deferred().reject( code, result );
-                                               } else {
-                                                       // still uploading chunks = resolve to keep going
-                                                       return $.Deferred().resolve( result );
-                                               }
-                                       }
-
-                                       if ( retries === 0 ) {
-                                               return $.Deferred().reject( code, result );
-                                       }
-
-                                       // If the call flat out failed, we may want to try again...
-                                       retry = api.uploadChunk.bind( this, file, data, start, end, filekey, retries - 1 );
-                                       return api.retry( code, result, retry );
-                               },
-                               function ( fraction ) {
-                                       // Since we're only uploading small parts of a file, we
-                                       // need to adjust the reported progress to reflect where
-                                       // we actually are in the combined upload
-                                       return ( start + fraction * ( end - start ) ) / file.size;
-                               }
-                       ).promise( { abort: upload.abort } );
-               },
-
-               /**
-                * Launch the upload anew if it failed because of network issues.
-                *
-                * @private
-                * @param {string} code Error code
-                * @param {Object} result API result
-                * @param {Function} callable
-                * @return {jQuery.Promise}
-                */
-               retry: function ( code, result, callable ) {
-                       var uploadPromise,
-                               retryTimer,
-                               deferred = $.Deferred(),
-                               // Wrap around the callable, so that once it completes, it'll
-                               // resolve/reject the promise we'll return
-                               retry = function () {
-                                       uploadPromise = callable();
-                                       uploadPromise.then( deferred.resolve, deferred.reject );
-                               };
-
-                       // Don't retry if the request failed because we aborted it (or if
-                       // it's another kind of request failure)
-                       if ( code !== 'http' || result.textStatus === 'abort' ) {
-                               return deferred.reject( code, result );
-                       }
-
-                       retryTimer = setTimeout( retry, 1000 );
-                       return deferred.promise( { abort: function () {
-                               // Clear the scheduled upload, or abort if already in flight
-                               if ( retryTimer ) {
-                                       clearTimeout( retryTimer );
-                               }
-                               if ( uploadPromise.abort ) {
-                                       uploadPromise.abort();
-                               }
-                       } } );
-               },
-
-               /**
-                * Slice a chunk out of a File object.
-                *
-                * @private
-                * @param {File} file
-                * @param {number} start
-                * @param {number} stop
-                * @return {Blob}
-                */
-               slice: function ( file, start, stop ) {
-                       if ( file.mozSlice ) {
-                               // FF <= 12
-                               return file.mozSlice( start, stop, file.type );
-                       } else if ( file.webkitSlice ) {
-                               // Chrome <= 20
-                               return file.webkitSlice( start, stop, file.type );
-                       } else {
-                               // On really old browser versions (before slice was prefixed),
-                               // slice() would take (start, length) instead of (start, end)
-                               // We'll ignore that here...
-                               return file.slice( start, stop, file.type );
-                       }
-               },
-
-               /**
-                * This function will handle how uploads to stash (via uploadToStash or
-                * chunkedUploadToStash) are resolved/rejected.
-                *
-                * After a successful stash, it'll resolve with a callback which, when
-                * called, will finalize the upload in stash (with the given data, or
-                * with additional/conflicting data)
-                *
-                * A failed stash can still be recovered from as long as 'filekey' is
-                * present. In that case, it'll also resolve with the callback to
-                * finalize the upload (all warnings are then ignored.)
-                * Otherwise, it'll just reject as you'd expect, with code & result.
-                *
-                * @private
-                * @param {jQuery.Promise} uploadPromise
-                * @param {Object} data
-                * @return {jQuery.Promise}
-                * @return {Function} return.finishUpload Call this function to finish the upload.
-                * @return {Object} return.finishUpload.data Additional data for the upload.
-                * @return {jQuery.Promise} return.finishUpload.return API promise for the final upload
-                * @return {Object} return.finishUpload.return.data API return value for the final upload
-                */
-               finishUploadToStash: function ( uploadPromise, data ) {
-                       var filekey,
-                               api = this;
-
-                       function finishUpload( moreData ) {
-                               return api.uploadFromStash( filekey, $.extend( data, moreData ) );
-                       }
-
-                       return uploadPromise.then(
-                               function ( result ) {
-                                       filekey = result.upload.filekey;
-                                       return finishUpload;
-                               },
-                               function ( errorCode, result ) {
-                                       if ( result && result.upload && result.upload.filekey ) {
-                                               // Ignore any warnings if 'filekey' was returned, that's all we care about
-                                               filekey = result.upload.filekey;
-                                               return $.Deferred().resolve( finishUpload );
-                                       }
-                                       return $.Deferred().reject( errorCode, result );
-                               }
-                       );
-               },
-
-               /**
-                * Upload a file to the stash.
-                *
-                * This function will return a promise, which when resolved, will pass back a function
-                * to finish the stash upload. You can call that function with an argument containing
-                * more, or conflicting, data to pass to the server. For example:
-                *
-                *     // upload a file to the stash with a placeholder filename
-                *     api.uploadToStash( file, { filename: 'testing.png' } ).done( function ( finish ) {
-                *         // finish is now the function we can use to finalize the upload
-                *         // pass it a new filename from user input to override the initial value
-                *         finish( { filename: getFilenameFromUser() } ).done( function ( data ) {
-                *             // the upload is complete, data holds the API response
-                *         } );
-                *     } );
-                *
-                * @param {File|HTMLInputElement} file
-                * @param {Object} [data]
-                * @return {jQuery.Promise}
-                * @return {Function} return.finishUpload Call this function to finish the upload.
-                * @return {Object} return.finishUpload.data Additional data for the upload.
-                * @return {jQuery.Promise} return.finishUpload.return API promise for the final upload
-                * @return {Object} return.finishUpload.return.data API return value for the final upload
-                */
-               uploadToStash: function ( file, data ) {
-                       var promise;
-
-                       if ( !data.filename ) {
-                               throw new Error( 'Filename not included in file data.' );
-                       }
-
-                       promise = this.upload( file, { stash: true, filename: data.filename } );
-
-                       return this.finishUploadToStash( promise, data );
-               },
-
-               /**
-                * Upload a file to the stash, in chunks.
-                *
-                * This function will return a promise, which when resolved, will pass back a function
-                * to finish the stash upload.
-                *
-                * @see #method-uploadToStash
-                * @param {File|HTMLInputElement} file
-                * @param {Object} [data]
-                * @param {number} [chunkSize] Size (in bytes) per chunk (default: 5MB)
-                * @param {number} [chunkRetries] Amount of times to retry a failed chunk (default: 1)
-                * @return {jQuery.Promise}
-                * @return {Function} return.finishUpload Call this function to finish the upload.
-                * @return {Object} return.finishUpload.data Additional data for the upload.
-                * @return {jQuery.Promise} return.finishUpload.return API promise for the final upload
-                * @return {Object} return.finishUpload.return.data API return value for the final upload
-                */
-               chunkedUploadToStash: function ( file, data, chunkSize, chunkRetries ) {
-                       var promise;
-
-                       if ( !data.filename ) {
-                               throw new Error( 'Filename not included in file data.' );
-                       }
-
-                       promise = this.chunkedUpload(
-                               file,
-                               { stash: true, filename: data.filename },
-                               chunkSize,
-                               chunkRetries
-                       );
-
-                       return this.finishUploadToStash( promise, data );
-               },
-
-               /**
-                * Finish an upload in the stash.
-                *
-                * @param {string} filekey
-                * @param {Object} data
-                * @return {jQuery.Promise}
-                */
-               uploadFromStash: function ( filekey, data ) {
-                       data.filekey = filekey;
-                       data.action = 'upload';
-                       data.format = 'json';
-
-                       if ( !data.filename ) {
-                               throw new Error( 'Filename not included in file data.' );
-                       }
-
-                       return this.postWithEditToken( data ).then( function ( result ) {
-                               if ( result.upload && result.upload.warnings ) {
-                                       return $.Deferred().reject( getFirstKey( result.upload.warnings ), result ).promise();
-                               }
-                               return result;
-                       } );
-               },
-
-               needToken: function () {
-                       return true;
-               }
-       } );
-
-       /**
-        * @class mw.Api
-        * @mixins mw.Api.plugin.upload
-        */
-}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api.user.js b/resources/src/mediawiki.api.user.js
deleted file mode 100644 (file)
index e7b4b6d..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * @class mw.Api.plugin.user
- * @since 1.27
- */
-( function ( mw, $ ) {
-
-       $.extend( mw.Api.prototype, {
-
-               /**
-                * Get the current user's groups and rights.
-                *
-                * @return {jQuery.Promise}
-                * @return {Function} return.done
-                * @return {Object} return.done.userInfo
-                * @return {string[]} return.done.userInfo.groups User groups that the current user belongs to
-                * @return {string[]} return.done.userInfo.rights Current user's rights
-                */
-               getUserInfo: function () {
-                       return this.get( {
-                               action: 'query',
-                               meta: 'userinfo',
-                               uiprop: [ 'groups', 'rights' ]
-                       } ).then( function ( data ) {
-                               if ( data.query && data.query.userinfo ) {
-                                       return data.query.userinfo;
-                               }
-                               return $.Deferred().reject().promise();
-                       } );
-               }
-       } );
-
-       /**
-        * @class mw.Api
-        * @mixins mw.Api.plugin.user
-        */
-
-}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api.watch.js b/resources/src/mediawiki.api.watch.js
deleted file mode 100644 (file)
index 025c111..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * @class mw.Api.plugin.watch
- * @since 1.19
- */
-( function ( mw, $ ) {
-
-       /**
-        * @private
-        * @static
-        * @context mw.Api
-        *
-        * @param {string|mw.Title|string[]|mw.Title[]} pages Full page name or instance of mw.Title, or an
-        *  array thereof. If an array is passed, the return value passed to the promise will also be an
-        *  array of appropriate objects.
-        * @param {Object} [addParams]
-        * @return {jQuery.Promise}
-        * @return {Function} return.done
-        * @return {Object|Object[]} return.done.watch Object or list of objects (depends on the `pages`
-        *  parameter)
-        * @return {string} return.done.watch.title Full pagename
-        * @return {boolean} return.done.watch.watched Whether the page is now watched or unwatched
-        */
-       function doWatchInternal( pages, addParams ) {
-               // XXX: Parameter addParams is undocumented because we inherit this
-               // documentation in the public method...
-               var apiPromise = this.postWithToken( 'watch',
-                       $.extend(
-                               {
-                                       formatversion: 2,
-                                       action: 'watch',
-                                       titles: Array.isArray( pages ) ? pages : String( pages )
-                               },
-                               addParams
-                       )
-               );
-
-               return apiPromise
-                       .then( function ( data ) {
-                               // If a single page was given (not an array) respond with a single item as well.
-                               return Array.isArray( pages ) ? data.watch : data.watch[ 0 ];
-                       } )
-                       .promise( { abort: apiPromise.abort } );
-       }
-
-       $.extend( mw.Api.prototype, {
-               /**
-                * Convenience method for `action=watch`.
-                *
-                * @inheritdoc #doWatchInternal
-                */
-               watch: function ( pages ) {
-                       return doWatchInternal.call( this, pages );
-               },
-
-               /**
-                * Convenience method for `action=watch&unwatch=1`.
-                *
-                * @inheritdoc #doWatchInternal
-                */
-               unwatch: function ( pages ) {
-                       return doWatchInternal.call( this, pages, { unwatch: 1 } );
-               }
-       } );
-
-       /**
-        * @class mw.Api
-        * @mixins mw.Api.plugin.watch
-        */
-
-}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api/category.js b/resources/src/mediawiki.api/category.js
new file mode 100644 (file)
index 0000000..85df90e
--- /dev/null
@@ -0,0 +1,101 @@
+/**
+ * @class mw.Api.plugin.category
+ */
+( function ( mw, $ ) {
+
+       $.extend( mw.Api.prototype, {
+               /**
+                * Determine if a category exists.
+                *
+                * @param {mw.Title|string} title
+                * @return {jQuery.Promise}
+                * @return {Function} return.done
+                * @return {boolean} return.done.isCategory Whether the category exists.
+                */
+               isCategory: function ( title ) {
+                       var apiPromise = this.get( {
+                               formatversion: 2,
+                               prop: 'categoryinfo',
+                               titles: [ String( title ) ]
+                       } );
+
+                       return apiPromise
+                               .then( function ( data ) {
+                                       return !!(
+                                               data.query && // query is missing on title=""
+                                               data.query.pages && // query.pages is missing on title="#" or title="mw:"
+                                               data.query.pages[ 0 ].categoryinfo
+                                       );
+                               } )
+                               .promise( { abort: apiPromise.abort } );
+               },
+
+               /**
+                * Get a list of categories that match a certain prefix.
+                *
+                * E.g. given "Foo", return "Food", "Foolish people", "Foosball tables"...
+                *
+                * @param {string} prefix Prefix to match.
+                * @return {jQuery.Promise}
+                * @return {Function} return.done
+                * @return {string[]} return.done.categories Matched categories
+                */
+               getCategoriesByPrefix: function ( prefix ) {
+                       // Fetch with allpages to only get categories that have a corresponding description page.
+                       var apiPromise = this.get( {
+                               formatversion: 2,
+                               list: 'allpages',
+                               apprefix: prefix,
+                               apnamespace: mw.config.get( 'wgNamespaceIds' ).category
+                       } );
+
+                       return apiPromise
+                               .then( function ( data ) {
+                                       return data.query.allpages.map( function ( category ) {
+                                               return new mw.Title( category.title ).getMainText();
+                                       } );
+                               } )
+                               .promise( { abort: apiPromise.abort } );
+               },
+
+               /**
+                * Get the categories that a particular page on the wiki belongs to.
+                *
+                * @param {mw.Title|string} title
+                * @return {jQuery.Promise}
+                * @return {Function} return.done
+                * @return {boolean|mw.Title[]} return.done.categories List of category titles or false
+                *  if title was not found.
+                */
+               getCategories: function ( title ) {
+                       var apiPromise = this.get( {
+                               formatversion: 2,
+                               prop: 'categories',
+                               titles: [ String( title ) ]
+                       } );
+
+                       return apiPromise
+                               .then( function ( data ) {
+                                       var page;
+
+                                       if ( !data.query || !data.query.pages ) {
+                                               return false;
+                                       }
+                                       page = data.query.pages[ 0 ];
+                                       if ( !page.categories ) {
+                                               return false;
+                                       }
+                                       return page.categories.map( function ( cat ) {
+                                               return new mw.Title( cat.title );
+                                       } );
+                               } )
+                               .promise( { abort: apiPromise.abort } );
+               }
+       } );
+
+       /**
+        * @class mw.Api
+        * @mixins mw.Api.plugin.category
+        */
+
+}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api/edit.js b/resources/src/mediawiki.api/edit.js
new file mode 100644 (file)
index 0000000..e6f5668
--- /dev/null
@@ -0,0 +1,199 @@
+/**
+ * @class mw.Api.plugin.edit
+ */
+( function ( mw, $ ) {
+
+       $.extend( mw.Api.prototype, {
+
+               /**
+                * Post to API with csrf token. If we have no token, get one and try to post.
+                * If we have a cached token try using that, and if it fails, blank out the
+                * cached token and start over.
+                *
+                * @param {Object} params API parameters
+                * @param {Object} [ajaxOptions]
+                * @return {jQuery.Promise} See #post
+                */
+               postWithEditToken: function ( params, ajaxOptions ) {
+                       return this.postWithToken( 'csrf', params, ajaxOptions );
+               },
+
+               /**
+                * API helper to grab a csrf token.
+                *
+                * @return {jQuery.Promise} Received token.
+                */
+               getEditToken: function () {
+                       return this.getToken( 'csrf' );
+               },
+
+               /**
+                * Create a new page.
+                *
+                * Example:
+                *
+                *     new mw.Api().create( 'Sandbox',
+                *         { summary: 'Load sand particles.' },
+                *         'Sand.'
+                *     );
+                *
+                * @since 1.28
+                * @param {mw.Title|string} title Page title
+                * @param {Object} params Edit API parameters
+                * @param {string} params.summary Edit summary
+                * @param {string} content
+                * @return {jQuery.Promise} API response
+                */
+               create: function ( title, params, content ) {
+                       return this.postWithEditToken( $.extend( {
+                               action: 'edit',
+                               title: String( title ),
+                               text: content,
+                               formatversion: '2',
+
+                               // Protect against errors and conflicts
+                               assert: mw.config.get( 'wgUserName' ) ? 'user' : undefined,
+                               createonly: true
+                       }, params ) ).then( function ( data ) {
+                               return data.edit;
+                       } );
+               },
+
+               /**
+                * Edit an existing page.
+                *
+                * To create a new page, use #create() instead.
+                *
+                * Simple transformation:
+                *
+                *     new mw.Api()
+                *         .edit( 'Sandbox', function ( revision ) {
+                *             return revision.content.replace( 'foo', 'bar' );
+                *         } )
+                *         .then( function () {
+                *             console.log( 'Saved! ');
+                *         } );
+                *
+                * Set save parameters by returning an object instead of a string:
+                *
+                *     new mw.Api().edit(
+                *         'Sandbox',
+                *         function ( revision ) {
+                *             return {
+                *                 text: revision.content.replace( 'foo', 'bar' ),
+                *                 summary: 'Replace "foo" with "bar".',
+                *                 assert: 'bot',
+                *                 minor: true
+                *             };
+                *         }
+                *     )
+                *     .then( function () {
+                *         console.log( 'Saved! ');
+                *     } );
+                *
+                * Transform asynchronously by returning a promise.
+                *
+                *     new mw.Api()
+                *         .edit( 'Sandbox', function ( revision ) {
+                *             return Spelling
+                *                 .corrections( revision.content )
+                *                 .then( function ( report ) {
+                *                     return {
+                *                         text: report.output,
+                *                         summary: report.changelog
+                *                     };
+                *                 } );
+                *         } )
+                *         .then( function () {
+                *             console.log( 'Saved! ');
+                *         } );
+                *
+                * @since 1.28
+                * @param {mw.Title|string} title Page title
+                * @param {Function} transform Callback that prepares the edit
+                * @param {Object} transform.revision Current revision
+                * @param {string} transform.revision.content Current revision content
+                * @param {string|Object|jQuery.Promise} transform.return New content, object with edit
+                *  API parameters, or promise providing one of those.
+                * @return {jQuery.Promise} Edit API response
+                */
+               edit: function ( title, transform ) {
+                       var basetimestamp, curtimestamp,
+                               api = this;
+
+                       title = String( title );
+
+                       return api.get( {
+                               action: 'query',
+                               prop: 'revisions',
+                               rvprop: [ 'content', 'timestamp' ],
+                               titles: [ title ],
+                               formatversion: '2',
+                               curtimestamp: true
+                       } )
+                               .then( function ( data ) {
+                                       var page, revision;
+                                       if ( !data.query || !data.query.pages ) {
+                                               return $.Deferred().reject( 'unknown' );
+                                       }
+                                       page = data.query.pages[ 0 ];
+                                       if ( !page || page.invalid ) {
+                                               return $.Deferred().reject( 'invalidtitle' );
+                                       }
+                                       if ( page.missing ) {
+                                               return $.Deferred().reject( 'nocreate-missing' );
+                                       }
+                                       revision = page.revisions[ 0 ];
+                                       basetimestamp = revision.timestamp;
+                                       curtimestamp = data.curtimestamp;
+                                       return transform( {
+                                               timestamp: revision.timestamp,
+                                               content: revision.content
+                                       } );
+                               } )
+                               .then( function ( params ) {
+                                       var editParams = typeof params === 'object' ? params : { text: String( params ) };
+                                       return api.postWithEditToken( $.extend( {
+                                               action: 'edit',
+                                               title: title,
+                                               formatversion: '2',
+
+                                               // Protect against errors and conflicts
+                                               assert: mw.config.get( 'wgUserName' ) ? 'user' : undefined,
+                                               basetimestamp: basetimestamp,
+                                               starttimestamp: curtimestamp,
+                                               nocreate: true
+                                       }, editParams ) );
+                               } )
+                               .then( function ( data ) {
+                                       return data.edit;
+                               } );
+               },
+
+               /**
+                * Post a new section to the page.
+                *
+                * @see #postWithEditToken
+                * @param {mw.Title|string} title Target page
+                * @param {string} header
+                * @param {string} message wikitext message
+                * @param {Object} [additionalParams] Additional API parameters, e.g. `{ redirect: true }`
+                * @return {jQuery.Promise}
+                */
+               newSection: function ( title, header, message, additionalParams ) {
+                       return this.postWithEditToken( $.extend( {
+                               action: 'edit',
+                               section: 'new',
+                               title: String( title ),
+                               summary: header,
+                               text: message
+                       }, additionalParams ) );
+               }
+       } );
+
+       /**
+        * @class mw.Api
+        * @mixins mw.Api.plugin.edit
+        */
+
+}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api/index.js b/resources/src/mediawiki.api/index.js
new file mode 100644 (file)
index 0000000..0038ed8
--- /dev/null
@@ -0,0 +1,506 @@
+( function ( mw, $ ) {
+
+       /**
+        * @class mw.Api
+        */
+
+       /**
+        * @property {Object} defaultOptions Default options for #ajax calls. Can be overridden by passing
+        *     `options` to mw.Api constructor.
+        * @property {Object} defaultOptions.parameters Default query parameters for API requests.
+        * @property {Object} defaultOptions.ajax Default options for jQuery#ajax.
+        * @property {boolean} defaultOptions.useUS Whether to use U+001F when joining multi-valued
+        *     parameters (since 1.28). Default is true if ajax.url is not set, false otherwise for
+        *     compatibility.
+        * @private
+        */
+       var defaultOptions = {
+                       parameters: {
+                               action: 'query',
+                               format: 'json'
+                       },
+                       ajax: {
+                               url: mw.util.wikiScript( 'api' ),
+                               timeout: 30 * 1000, // 30 seconds
+                               dataType: 'json'
+                       }
+               },
+
+               // Keyed by ajax url and symbolic name for the individual request
+               promises = {};
+
+       function mapLegacyToken( action ) {
+               // Legacy types for backward-compatibility with API action=tokens.
+               var csrfActions = [
+                       'edit',
+                       'delete',
+                       'protect',
+                       'move',
+                       'block',
+                       'unblock',
+                       'email',
+                       'import',
+                       'options'
+               ];
+               if ( csrfActions.indexOf( action ) !== -1 ) {
+                       mw.track( 'mw.deprecate', 'apitoken_' + action );
+                       mw.log.warn( 'Use of the "' + action + '" token is deprecated. Use "csrf" instead.' );
+                       return 'csrf';
+               }
+               return action;
+       }
+
+       // Pre-populate with fake ajax promises to save http requests for tokens
+       // we already have on the page via the user.tokens module (T36733).
+       promises[ defaultOptions.ajax.url ] = {};
+       $.each( mw.user.tokens.get(), function ( key, value ) {
+               // This requires #getToken to use the same key as user.tokens.
+               // Format: token-type + "Token" (eg. csrfToken, patrolToken, watchToken).
+               promises[ defaultOptions.ajax.url ][ key ] = $.Deferred()
+                       .resolve( value )
+                       .promise( { abort: function () {} } );
+       } );
+
+       /**
+        * Constructor to create an object to interact with the API of a particular MediaWiki server.
+        * mw.Api objects represent the API of a particular MediaWiki server.
+        *
+        *     var api = new mw.Api();
+        *     api.get( {
+        *         action: 'query',
+        *         meta: 'userinfo'
+        *     } ).done( function ( data ) {
+        *         console.log( data );
+        *     } );
+        *
+        * Since MW 1.25, multiple values for a parameter can be specified using an array:
+        *
+        *     var api = new mw.Api();
+        *     api.get( {
+        *         action: 'query',
+        *         meta: [ 'userinfo', 'siteinfo' ] // same effect as 'userinfo|siteinfo'
+        *     } ).done( function ( data ) {
+        *         console.log( data );
+        *     } );
+        *
+        * Since MW 1.26, boolean values for a parameter can be specified directly. If the value is
+        * `false` or `undefined`, the parameter will be omitted from the request, as required by the API.
+        *
+        * @constructor
+        * @param {Object} [options] See #defaultOptions documentation above. Can also be overridden for
+        *  each individual request by passing them to #get or #post (or directly #ajax) later on.
+        */
+       mw.Api = function ( options ) {
+               options = options || {};
+
+               // Force a string if we got a mw.Uri object
+               if ( options.ajax && options.ajax.url !== undefined ) {
+                       options.ajax.url = String( options.ajax.url );
+               }
+
+               options = $.extend( { useUS: !options.ajax || !options.ajax.url }, options );
+
+               options.parameters = $.extend( {}, defaultOptions.parameters, options.parameters );
+               options.ajax = $.extend( {}, defaultOptions.ajax, options.ajax );
+
+               this.defaults = options;
+               this.requests = [];
+       };
+
+       mw.Api.prototype = {
+               /**
+                * Abort all unfinished requests issued by this Api object.
+                *
+                * @method
+                */
+               abort: function () {
+                       this.requests.forEach( function ( request ) {
+                               if ( request ) {
+                                       request.abort();
+                               }
+                       } );
+               },
+
+               /**
+                * Perform API get request
+                *
+                * @param {Object} parameters
+                * @param {Object} [ajaxOptions]
+                * @return {jQuery.Promise}
+                */
+               get: function ( parameters, ajaxOptions ) {
+                       ajaxOptions = ajaxOptions || {};
+                       ajaxOptions.type = 'GET';
+                       return this.ajax( parameters, ajaxOptions );
+               },
+
+               /**
+                * Perform API post request
+                *
+                * @param {Object} parameters
+                * @param {Object} [ajaxOptions]
+                * @return {jQuery.Promise}
+                */
+               post: function ( parameters, ajaxOptions ) {
+                       ajaxOptions = ajaxOptions || {};
+                       ajaxOptions.type = 'POST';
+                       return this.ajax( parameters, ajaxOptions );
+               },
+
+               /**
+                * Massage parameters from the nice format we accept into a format suitable for the API.
+                *
+                * NOTE: A value of undefined/null in an array will be represented by Array#join()
+                * as the empty string. Should we filter silently? Warn? Leave as-is?
+                *
+                * @private
+                * @param {Object} parameters (modified in-place)
+                * @param {boolean} useUS Whether to use U+001F when joining multi-valued parameters.
+                */
+               preprocessParameters: function ( parameters, useUS ) {
+                       var key;
+                       // Handle common MediaWiki API idioms for passing parameters
+                       for ( key in parameters ) {
+                               // Multiple values are pipe-separated
+                               if ( Array.isArray( parameters[ key ] ) ) {
+                                       if ( !useUS || parameters[ key ].join( '' ).indexOf( '|' ) === -1 ) {
+                                               parameters[ key ] = parameters[ key ].join( '|' );
+                                       } else {
+                                               parameters[ key ] = '\x1f' + parameters[ key ].join( '\x1f' );
+                                       }
+                               } else if ( parameters[ key ] === false || parameters[ key ] === undefined ) {
+                                       // Boolean values are only false when not given at all
+                                       delete parameters[ key ];
+                               }
+                       }
+               },
+
+               /**
+                * Perform the API call.
+                *
+                * @param {Object} parameters
+                * @param {Object} [ajaxOptions]
+                * @return {jQuery.Promise} Done: API response data and the jqXHR object.
+                *  Fail: Error code
+                */
+               ajax: function ( parameters, ajaxOptions ) {
+                       var token, requestIndex,
+                               api = this,
+                               apiDeferred = $.Deferred(),
+                               xhr, key, formData;
+
+                       parameters = $.extend( {}, this.defaults.parameters, parameters );
+                       ajaxOptions = $.extend( {}, this.defaults.ajax, ajaxOptions );
+
+                       // Ensure that token parameter is last (per [[mw:API:Edit#Token]]).
+                       if ( parameters.token ) {
+                               token = parameters.token;
+                               delete parameters.token;
+                       }
+
+                       this.preprocessParameters( parameters, this.defaults.useUS );
+
+                       // If multipart/form-data has been requested and emulation is possible, emulate it
+                       if (
+                               ajaxOptions.type === 'POST' &&
+                               window.FormData &&
+                               ajaxOptions.contentType === 'multipart/form-data'
+                       ) {
+
+                               formData = new FormData();
+
+                               for ( key in parameters ) {
+                                       formData.append( key, parameters[ key ] );
+                               }
+                               // If we extracted a token parameter, add it back in.
+                               if ( token ) {
+                                       formData.append( 'token', token );
+                               }
+
+                               ajaxOptions.data = formData;
+
+                               // Prevent jQuery from mangling our FormData object
+                               ajaxOptions.processData = false;
+                               // Prevent jQuery from overriding the Content-Type header
+                               ajaxOptions.contentType = false;
+                       } else {
+                               // This works because jQuery accepts data as a query string or as an Object
+                               ajaxOptions.data = $.param( parameters );
+                               // If we extracted a token parameter, add it back in.
+                               if ( token ) {
+                                       ajaxOptions.data += '&token=' + encodeURIComponent( token );
+                               }
+
+                               // Depending on server configuration, MediaWiki may forbid periods in URLs, due to an IE 6
+                               // XSS bug. So let's escape them here. See WebRequest::checkUrlExtension() and T30235.
+                               ajaxOptions.data = ajaxOptions.data.replace( /\./g, '%2E' );
+
+                               if ( ajaxOptions.contentType === 'multipart/form-data' ) {
+                                       // We were asked to emulate but can't, so drop the Content-Type header, otherwise
+                                       // it'll be wrong and the server will fail to decode the POST body
+                                       delete ajaxOptions.contentType;
+                               }
+                       }
+
+                       // Make the AJAX request
+                       xhr = $.ajax( ajaxOptions )
+                               // If AJAX fails, reject API call with error code 'http'
+                               // and details in second argument.
+                               .fail( function ( xhr, textStatus, exception ) {
+                                       apiDeferred.reject( 'http', {
+                                               xhr: xhr,
+                                               textStatus: textStatus,
+                                               exception: exception
+                                       } );
+                               } )
+                               // AJAX success just means "200 OK" response, also check API error codes
+                               .done( function ( result, textStatus, jqXHR ) {
+                                       var code;
+                                       if ( result === undefined || result === null || result === '' ) {
+                                               apiDeferred.reject( 'ok-but-empty',
+                                                       'OK response but empty result (check HTTP headers?)',
+                                                       result,
+                                                       jqXHR
+                                               );
+                                       } else if ( result.error ) {
+                                               // errorformat=bc
+                                               code = result.error.code === undefined ? 'unknown' : result.error.code;
+                                               apiDeferred.reject( code, result, result, jqXHR );
+                                       } else if ( result.errors ) {
+                                               // errorformat!=bc
+                                               code = result.errors[ 0 ].code === undefined ? 'unknown' : result.errors[ 0 ].code;
+                                               apiDeferred.reject( code, result, result, jqXHR );
+                                       } else {
+                                               apiDeferred.resolve( result, jqXHR );
+                                       }
+                               } );
+
+                       requestIndex = this.requests.length;
+                       this.requests.push( xhr );
+                       xhr.always( function () {
+                               api.requests[ requestIndex ] = null;
+                       } );
+                       // Return the Promise
+                       return apiDeferred.promise( { abort: xhr.abort } ).fail( function ( code, details ) {
+                               if ( !( code === 'http' && details && details.textStatus === 'abort' ) ) {
+                                       mw.log( 'mw.Api error: ', code, details );
+                               }
+                       } );
+               },
+
+               /**
+                * Post to API with specified type of token. If we have no token, get one and try to post.
+                * If we have a cached token try using that, and if it fails, blank out the
+                * cached token and start over. For example to change an user option you could do:
+                *
+                *     new mw.Api().postWithToken( 'csrf', {
+                *         action: 'options',
+                *         optionname: 'gender',
+                *         optionvalue: 'female'
+                *     } );
+                *
+                * @param {string} tokenType The name of the token, like options or edit.
+                * @param {Object} params API parameters
+                * @param {Object} [ajaxOptions]
+                * @return {jQuery.Promise} See #post
+                * @since 1.22
+                */
+               postWithToken: function ( tokenType, params, ajaxOptions ) {
+                       var api = this,
+                               abortedPromise = $.Deferred().reject( 'http',
+                                       { textStatus: 'abort', exception: 'abort' } ).promise(),
+                               abortable,
+                               aborted;
+
+                       return api.getToken( tokenType, params.assert ).then( function ( token ) {
+                               params.token = token;
+                               // Request was aborted while token request was running, but we
+                               // don't want to unnecessarily abort token requests, so abort
+                               // a fake request instead
+                               if ( aborted ) {
+                                       return abortedPromise;
+                               }
+
+                               return ( abortable = api.post( params, ajaxOptions ) ).catch(
+                                       // Error handler
+                                       function ( code ) {
+                                               if ( code === 'badtoken' ) {
+                                                       api.badToken( tokenType );
+                                                       // Try again, once
+                                                       params.token = undefined;
+                                                       abortable = null;
+                                                       return api.getToken( tokenType, params.assert ).then( function ( token ) {
+                                                               params.token = token;
+                                                               if ( aborted ) {
+                                                                       return abortedPromise;
+                                                               }
+
+                                                               return ( abortable = api.post( params, ajaxOptions ) );
+                                                       } );
+                                               }
+
+                                               // Let caller handle the error code
+                                               return $.Deferred().rejectWith( this, arguments );
+                                       }
+                               );
+                       } ).promise( { abort: function () {
+                               if ( abortable ) {
+                                       abortable.abort();
+                               } else {
+                                       aborted = true;
+                               }
+                       } } );
+               },
+
+               /**
+                * Get a token for a certain action from the API.
+                *
+                * The assert parameter is only for internal use by #postWithToken.
+                *
+                * @since 1.22
+                * @param {string} type Token type
+                * @param {string} [assert]
+                * @return {jQuery.Promise} Received token.
+                */
+               getToken: function ( type, assert ) {
+                       var apiPromise, promiseGroup, d, reject;
+                       type = mapLegacyToken( type );
+                       promiseGroup = promises[ this.defaults.ajax.url ];
+                       d = promiseGroup && promiseGroup[ type + 'Token' ];
+
+                       if ( !promiseGroup ) {
+                               promiseGroup = promises[ this.defaults.ajax.url ] = {};
+                       }
+
+                       if ( !d ) {
+                               apiPromise = this.get( {
+                                       action: 'query',
+                                       meta: 'tokens',
+                                       type: type,
+                                       assert: assert
+                               } );
+                               reject = function () {
+                                       // Clear promise. Do not cache errors.
+                                       delete promiseGroup[ type + 'Token' ];
+
+                                       // Let caller handle the error code
+                                       return $.Deferred().rejectWith( this, arguments );
+                               };
+                               d = apiPromise
+                                       .then( function ( res ) {
+                                               if ( !res.query ) {
+                                                       return reject( 'query-missing', res );
+                                               }
+                                               // If token type is unknown, it is omitted from the response
+                                               if ( !res.query.tokens[ type + 'token' ] ) {
+                                                       return $.Deferred().reject( 'token-missing', res );
+                                               }
+                                               return res.query.tokens[ type + 'token' ];
+                                       }, reject )
+                                       // Attach abort handler
+                                       .promise( { abort: apiPromise.abort } );
+
+                               // Store deferred now so that we can use it again even if it isn't ready yet
+                               promiseGroup[ type + 'Token' ] = d;
+                       }
+
+                       return d;
+               },
+
+               /**
+                * Indicate that the cached token for a certain action of the API is bad.
+                *
+                * Call this if you get a 'badtoken' error when using the token returned by #getToken.
+                * You may also want to use #postWithToken instead, which invalidates bad cached tokens
+                * automatically.
+                *
+                * @param {string} type Token type
+                * @since 1.26
+                */
+               badToken: function ( type ) {
+                       var promiseGroup = promises[ this.defaults.ajax.url ];
+
+                       type = mapLegacyToken( type );
+                       if ( promiseGroup ) {
+                               delete promiseGroup[ type + 'Token' ];
+                       }
+               }
+       };
+
+       /**
+        * @static
+        * @property {Array}
+        * Very incomplete and outdated list of errors we might receive from the API. Do not use.
+        * @deprecated since 1.29
+        */
+       mw.Api.errors = [
+               // occurs when POST aborted
+               // jQuery 1.4 can't distinguish abort or lost connection from 200 OK + empty result
+               'ok-but-empty',
+
+               // timeout
+               'timeout',
+
+               // really a warning, but we treat it like an error
+               'duplicate',
+               'duplicate-archive',
+
+               // upload succeeded, but no image info.
+               // this is probably impossible, but might as well check for it
+               'noimageinfo',
+               // remote errors, defined in API
+               'uploaddisabled',
+               'nomodule',
+               'mustbeposted',
+               'badaccess-groups',
+               'missingresult',
+               'missingparam',
+               'invalid-file-key',
+               'copyuploaddisabled',
+               'mustbeloggedin',
+               'empty-file',
+               'file-too-large',
+               'filetype-missing',
+               'filetype-banned',
+               'filetype-banned-type',
+               'filename-tooshort',
+               'illegal-filename',
+               'verification-error',
+               'hookaborted',
+               'unknown-error',
+               'internal-error',
+               'overwrite',
+               'badtoken',
+               'fetchfileerror',
+               'fileexists-shared-forbidden',
+               'invalidtitle',
+               'notloggedin',
+               'autoblocked',
+               'blocked',
+
+               // Stash-specific errors - expanded
+               'stashfailed',
+               'stasherror',
+               'stashedfilenotfound',
+               'stashpathinvalid',
+               'stashfilestorage',
+               'stashzerolength',
+               'stashnotloggedin',
+               'stashwrongowner',
+               'stashnosuchfilekey'
+       ];
+       mw.log.deprecate( mw.Api, 'errors', mw.Api.errors, null, 'mw.Api.errors' );
+
+       /**
+        * @static
+        * @property {Array}
+        * Very incomplete and outdated list of warnings we might receive from the API. Do not use.
+        * @deprecated since 1.29
+        */
+       mw.Api.warnings = [
+               'duplicate',
+               'exists'
+       ];
+       mw.log.deprecate( mw.Api, 'warnings', mw.Api.warnings, null, 'mw.Api.warnings' );
+
+}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api/login.js b/resources/src/mediawiki.api/login.js
new file mode 100644 (file)
index 0000000..2b709aa
--- /dev/null
@@ -0,0 +1,60 @@
+/**
+ * Make the two-step login easier.
+ *
+ * @author Niklas Laxström
+ * @class mw.Api.plugin.login
+ * @since 1.22
+ */
+( function ( mw, $ ) {
+       'use strict';
+
+       $.extend( mw.Api.prototype, {
+               /**
+                * @param {string} username
+                * @param {string} password
+                * @return {jQuery.Promise} See mw.Api#post
+                */
+               login: function ( username, password ) {
+                       var params, apiPromise, innerPromise,
+                               api = this;
+
+                       params = {
+                               action: 'login',
+                               lgname: username,
+                               lgpassword: password
+                       };
+
+                       apiPromise = api.post( params );
+
+                       return apiPromise
+                               .then( function ( data ) {
+                                       params.lgtoken = data.login.token;
+                                       innerPromise = api.post( params )
+                                               .then( function ( data ) {
+                                                       var code;
+                                                       if ( data.login.result !== 'Success' ) {
+                                                               // Set proper error code whenever possible
+                                                               code = data.error && data.error.code || 'unknown';
+                                                               return $.Deferred().reject( code, data );
+                                                       }
+                                                       return data;
+                                               } );
+                                       return innerPromise;
+                               } )
+                               .promise( {
+                                       abort: function () {
+                                               apiPromise.abort();
+                                               if ( innerPromise ) {
+                                                       innerPromise.abort();
+                                               }
+                                       }
+                               } );
+               }
+       } );
+
+       /**
+        * @class mw.Api
+        * @mixins mw.Api.plugin.login
+        */
+
+}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api/messages.js b/resources/src/mediawiki.api/messages.js
new file mode 100644 (file)
index 0000000..688f0b2
--- /dev/null
@@ -0,0 +1,78 @@
+/**
+ * Allows to retrieve a specific or a set of
+ * messages to be added to mw.messages and returned
+ * by the Api.
+ *
+ * @class mw.Api.plugin.messages
+ * @since 1.27
+ */
+( function ( mw, $ ) {
+       'use strict';
+
+       $.extend( mw.Api.prototype, {
+               /**
+                * Get a set of messages.
+                *
+                * @param {Array} messages Messages to retrieve
+                * @param {Object} [options] Additional parameters for the API call
+                * @return {jQuery.Promise}
+                */
+               getMessages: function ( messages, options ) {
+                       options = options || {};
+                       return this.get( $.extend( {
+                               action: 'query',
+                               meta: 'allmessages',
+                               ammessages: messages,
+                               amlang: mw.config.get( 'wgUserLanguage' ),
+                               formatversion: 2
+                       }, options ) ).then( function ( data ) {
+                               var result = {};
+
+                               data.query.allmessages.forEach( function ( obj ) {
+                                       if ( !obj.missing ) {
+                                               result[ obj.name ] = obj.content;
+                                       }
+                               } );
+
+                               return result;
+                       } );
+               },
+
+               /**
+                * Loads a set of messages and add them to mw.messages.
+                *
+                * @param {Array} messages Messages to retrieve
+                * @param {Object} [options] Additional parameters for the API call
+                * @return {jQuery.Promise}
+                */
+               loadMessages: function ( messages, options ) {
+                       return this.getMessages( messages, options ).then( $.proxy( mw.messages, 'set' ) );
+               },
+
+               /**
+                * Loads a set of messages and add them to mw.messages. Only messages that are not already known
+                * are loaded. If all messages are known, the returned promise is resolved immediately.
+                *
+                * @param {Array} messages Messages to retrieve
+                * @param {Object} [options] Additional parameters for the API call
+                * @return {jQuery.Promise}
+                */
+               loadMessagesIfMissing: function ( messages, options ) {
+                       var missing = messages.filter( function ( msg ) {
+                               return !mw.message( msg ).exists();
+                       } );
+
+                       if ( missing.length === 0 ) {
+                               return $.Deferred().resolve();
+                       }
+
+                       return this.getMessages( missing, options ).then( $.proxy( mw.messages, 'set' ) );
+               }
+       } );
+
+       /**
+        * @class mw.Api
+        * @mixins mw.Api.plugin.messages
+        */
+
+}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api/options.js b/resources/src/mediawiki.api/options.js
new file mode 100644 (file)
index 0000000..4930c4f
--- /dev/null
@@ -0,0 +1,102 @@
+/**
+ * @class mw.Api.plugin.options
+ */
+( function ( mw, $ ) {
+
+       $.extend( mw.Api.prototype, {
+
+               /**
+                * Asynchronously save the value of a single user option using the API. See #saveOptions.
+                *
+                * @param {string} name
+                * @param {string|null} value
+                * @return {jQuery.Promise}
+                */
+               saveOption: function ( name, value ) {
+                       var param = {};
+                       param[ name ] = value;
+                       return this.saveOptions( param );
+               },
+
+               /**
+                * Asynchronously save the values of user options using the API.
+                *
+                * If a value of `null` is provided, the given option will be reset to the default value.
+                *
+                * Any warnings returned by the API, including warnings about invalid option names or values,
+                * are ignored. However, do not rely on this behavior.
+                *
+                * If necessary, the options will be saved using several sequential API requests. Only one promise
+                * is always returned that will be resolved when all requests complete.
+                *
+                * @param {Object} options Options as a `{ name: value, … }` object
+                * @return {jQuery.Promise}
+                */
+               saveOptions: function ( options ) {
+                       var name, value, bundleable,
+                               grouped = [],
+                               promise = $.Deferred().resolve();
+
+                       for ( name in options ) {
+                               value = options[ name ] === null ? null : String( options[ name ] );
+
+                               // Can we bundle this option, or does it need a separate request?
+                               if ( this.defaults.useUS ) {
+                                       bundleable = name.indexOf( '=' ) === -1;
+                               } else {
+                                       bundleable =
+                                               ( value === null || value.indexOf( '|' ) === -1 ) &&
+                                               ( name.indexOf( '|' ) === -1 && name.indexOf( '=' ) === -1 );
+                               }
+
+                               if ( bundleable ) {
+                                       if ( value !== null ) {
+                                               grouped.push( name + '=' + value );
+                                       } else {
+                                               // Omitting value resets the option
+                                               grouped.push( name );
+                                       }
+                               } else {
+                                       if ( value !== null ) {
+                                               promise = promise.then( function ( name, value ) {
+                                                       return this.postWithToken( 'csrf', {
+                                                               formatversion: 2,
+                                                               action: 'options',
+                                                               optionname: name,
+                                                               optionvalue: value
+                                                       } );
+                                               }.bind( this, name, value ) );
+                                       } else {
+                                               // Omitting value resets the option
+                                               promise = promise.then( function ( name ) {
+                                                       return this.postWithToken( 'csrf', {
+                                                               formatversion: 2,
+                                                               action: 'options',
+                                                               optionname: name
+                                                       } );
+                                               }.bind( this, name ) );
+                                       }
+                               }
+                       }
+
+                       if ( grouped.length ) {
+                               promise = promise.then( function () {
+                                       return this.postWithToken( 'csrf', {
+                                               formatversion: 2,
+                                               action: 'options',
+                                               change: grouped
+                                       } );
+                               }.bind( this ) );
+                       }
+
+                       return promise;
+               }
+
+       } );
+
+       /**
+        * @class mw.Api
+        * @mixins mw.Api.plugin.options
+        */
+
+}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api/parse.js b/resources/src/mediawiki.api/parse.js
new file mode 100644 (file)
index 0000000..f38e88b
--- /dev/null
@@ -0,0 +1,49 @@
+/**
+ * @class mw.Api.plugin.parse
+ */
+( function ( mw, $ ) {
+
+       $.extend( mw.Api.prototype, {
+               /**
+                * Convenience method for 'action=parse'.
+                *
+                * @param {string|mw.Title} content Content to parse, either as a wikitext string or
+                *   a mw.Title.
+                * @param {Object} additionalParams Parameters object to set custom settings, e.g.
+                *   redirects, sectionpreview.  prop should not be overridden.
+                * @return {jQuery.Promise}
+                * @return {Function} return.done
+                * @return {string} return.done.data Parsed HTML of `wikitext`.
+                */
+               parse: function ( content, additionalParams ) {
+                       var apiPromise,
+                               config = $.extend( {
+                                       formatversion: 2,
+                                       action: 'parse',
+                                       contentmodel: 'wikitext'
+                               }, additionalParams );
+
+                       if ( mw.Title && content instanceof mw.Title ) {
+                               // Parse existing page
+                               config.page = content.getPrefixedDb();
+                       } else {
+                               // Parse wikitext from input
+                               config.text = String( content );
+                       }
+
+                       apiPromise = this.get( config );
+
+                       return apiPromise
+                               .then( function ( data ) {
+                                       return data.parse.text;
+                               } )
+                               .promise( { abort: apiPromise.abort } );
+               }
+       } );
+
+       /**
+        * @class mw.Api
+        * @mixins mw.Api.plugin.parse
+        */
+
+}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api/rollback.js b/resources/src/mediawiki.api/rollback.js
new file mode 100644 (file)
index 0000000..322143d
--- /dev/null
@@ -0,0 +1,33 @@
+/**
+ * @class mw.Api.plugin.rollback
+ * @since 1.28
+ */
+( function ( mw, $ ) {
+
+       $.extend( mw.Api.prototype, {
+               /**
+                * Convenience method for `action=rollback`.
+                *
+                * @param {string|mw.Title} page
+                * @param {string} user
+                * @param {Object} [params] Additional parameters
+                * @return {jQuery.Promise}
+                */
+               rollback: function ( page, user, params ) {
+                       return this.postWithToken( 'rollback', $.extend( {
+                               action: 'rollback',
+                               title: String( page ),
+                               user: user,
+                               uselang: mw.config.get( 'wgUserLanguage' )
+                       }, params ) ).then( function ( data ) {
+                               return data.rollback;
+                       } );
+               }
+       } );
+
+       /**
+        * @class mw.Api
+        * @mixins mw.Api.plugin.rollback
+        */
+
+}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api/upload.js b/resources/src/mediawiki.api/upload.js
new file mode 100644 (file)
index 0000000..29bd59a
--- /dev/null
@@ -0,0 +1,668 @@
+/**
+ * Provides an interface for uploading files to MediaWiki.
+ *
+ * @class mw.Api.plugin.upload
+ * @singleton
+ */
+( function ( mw, $ ) {
+       var nonce = 0,
+               fieldsAllowed = {
+                       stash: true,
+                       filekey: true,
+                       filename: true,
+                       comment: true,
+                       text: true,
+                       watchlist: true,
+                       ignorewarnings: true,
+                       chunk: true,
+                       offset: true,
+                       filesize: true,
+                       async: true
+               };
+
+       /**
+        * Get nonce for iframe IDs on the page.
+        *
+        * @private
+        * @return {number}
+        */
+       function getNonce() {
+               return nonce++;
+       }
+
+       /**
+        * Given a non-empty object, return one of its keys.
+        *
+        * @private
+        * @param {Object} obj
+        * @return {string}
+        */
+       function getFirstKey( obj ) {
+               var key;
+               for ( key in obj ) {
+                       if ( obj.hasOwnProperty( key ) ) {
+                               return key;
+                       }
+               }
+       }
+
+       /**
+        * Get new iframe object for an upload.
+        *
+        * @private
+        * @param {string} id
+        * @return {HTMLIframeElement}
+        */
+       function getNewIframe( id ) {
+               var frame = document.createElement( 'iframe' );
+               frame.id = id;
+               frame.name = id;
+               return frame;
+       }
+
+       /**
+        * Shortcut for getting hidden inputs
+        *
+        * @private
+        * @param {string} name
+        * @param {string} val
+        * @return {jQuery}
+        */
+       function getHiddenInput( name, val ) {
+               return $( '<input>' ).attr( 'type', 'hidden' )
+                       .attr( 'name', name )
+                       .val( val );
+       }
+
+       /**
+        * Process the result of the form submission, returned to an iframe.
+        * This is the iframe's onload event.
+        *
+        * @param {HTMLIframeElement} iframe Iframe to extract result from
+        * @return {Object} Response from the server. The return value may or may
+        *   not be an XMLDocument, this code was copied from elsewhere, so if you
+        *   see an unexpected return type, please file a bug.
+        */
+       function processIframeResult( iframe ) {
+               var json,
+                       doc = iframe.contentDocument || frames[ iframe.id ].document;
+
+               if ( doc.XMLDocument ) {
+                       // The response is a document property in IE
+                       return doc.XMLDocument;
+               }
+
+               if ( doc.body ) {
+                       // Get the json string
+                       // We're actually searching through an HTML doc here --
+                       // according to mdale we need to do this
+                       // because IE does not load JSON properly in an iframe
+                       json = $( doc.body ).find( 'pre' ).text();
+
+                       return JSON.parse( json );
+               }
+
+               // Response is a xml document
+               return doc;
+       }
+
+       function formDataAvailable() {
+               return window.FormData !== undefined &&
+                       window.File !== undefined &&
+                       window.File.prototype.slice !== undefined;
+       }
+
+       $.extend( mw.Api.prototype, {
+               /**
+                * Upload a file to MediaWiki.
+                *
+                * The file will be uploaded using AJAX and FormData, if the browser supports it, or via an
+                * iframe if it doesn't.
+                *
+                * Caveats of iframe upload:
+                * - The returned jQuery.Promise will not receive `progress` notifications during the upload
+                * - It is incompatible with uploads to a foreign wiki using mw.ForeignApi
+                * - You must pass a HTMLInputElement and not a File for it to be possible
+                *
+                * @param {HTMLInputElement|File|Blob} file HTML input type=file element with a file already inside
+                *  of it, or a File object.
+                * @param {Object} data Other upload options, see action=upload API docs for more
+                * @return {jQuery.Promise}
+                */
+               upload: function ( file, data ) {
+                       var isFileInput, canUseFormData;
+
+                       isFileInput = file && file.nodeType === Node.ELEMENT_NODE;
+
+                       if ( formDataAvailable() && isFileInput && file.files ) {
+                               file = file.files[ 0 ];
+                       }
+
+                       if ( !file ) {
+                               throw new Error( 'No file' );
+                       }
+
+                       // Blobs are allowed in formdata uploads, it turns out
+                       canUseFormData = formDataAvailable() && ( file instanceof window.File || file instanceof window.Blob );
+
+                       if ( !isFileInput && !canUseFormData ) {
+                               throw new Error( 'Unsupported argument type passed to mw.Api.upload' );
+                       }
+
+                       if ( canUseFormData ) {
+                               return this.uploadWithFormData( file, data );
+                       }
+
+                       return this.uploadWithIframe( file, data );
+               },
+
+               /**
+                * Upload a file to MediaWiki with an iframe and a form.
+                *
+                * This method is necessary for browsers without the File/FormData
+                * APIs, and continues to work in browsers with those APIs.
+                *
+                * The rough sketch of how this method works is as follows:
+                * 1. An iframe is loaded with no content.
+                * 2. A form is submitted with the passed-in file input and some extras.
+                * 3. The MediaWiki API receives that form data, and sends back a response.
+                * 4. The response is sent to the iframe, because we set target=(iframe id)
+                * 5. The response is parsed out of the iframe's document, and passed back
+                *    through the promise.
+                *
+                * @private
+                * @param {HTMLInputElement} file The file input with a file in it.
+                * @param {Object} data Other upload options, see action=upload API docs for more
+                * @return {jQuery.Promise}
+                */
+               uploadWithIframe: function ( file, data ) {
+                       var key,
+                               tokenPromise = $.Deferred(),
+                               api = this,
+                               deferred = $.Deferred(),
+                               nonce = getNonce(),
+                               id = 'uploadframe-' + nonce,
+                               $form = $( '<form>' ),
+                               iframe = getNewIframe( id ),
+                               $iframe = $( iframe );
+
+                       for ( key in data ) {
+                               if ( !fieldsAllowed[ key ] ) {
+                                       delete data[ key ];
+                               }
+                       }
+
+                       data = $.extend( {}, this.defaults.parameters, { action: 'upload' }, data );
+                       $form.addClass( 'mw-api-upload-form' );
+
+                       $form.css( 'display', 'none' )
+                               .attr( {
+                                       action: this.defaults.ajax.url,
+                                       method: 'POST',
+                                       target: id,
+                                       enctype: 'multipart/form-data'
+                               } );
+
+                       $iframe.one( 'load', function () {
+                               $iframe.one( 'load', function () {
+                                       var result = processIframeResult( iframe );
+                                       deferred.notify( 1 );
+
+                                       if ( !result ) {
+                                               deferred.reject( 'ok-but-empty', 'No response from API on upload attempt.' );
+                                       } else if ( result.error ) {
+                                               if ( result.error.code === 'badtoken' ) {
+                                                       api.badToken( 'csrf' );
+                                               }
+
+                                               deferred.reject( result.error.code, result );
+                                       } else if ( result.upload && result.upload.warnings ) {
+                                               deferred.reject( getFirstKey( result.upload.warnings ), result );
+                                       } else {
+                                               deferred.resolve( result );
+                                       }
+                               } );
+                               tokenPromise.done( function () {
+                                       $form.submit();
+                               } );
+                       } );
+
+                       $iframe.on( 'error', function ( error ) {
+                               deferred.reject( 'http', error );
+                       } );
+
+                       $iframe.prop( 'src', 'about:blank' ).hide();
+
+                       file.name = 'file';
+
+                       $.each( data, function ( key, val ) {
+                               $form.append( getHiddenInput( key, val ) );
+                       } );
+
+                       if ( !data.filename && !data.stash ) {
+                               throw new Error( 'Filename not included in file data.' );
+                       }
+
+                       if ( this.needToken() ) {
+                               this.getEditToken().then( function ( token ) {
+                                       $form.append( getHiddenInput( 'token', token ) );
+                                       tokenPromise.resolve();
+                               }, tokenPromise.reject );
+                       } else {
+                               tokenPromise.resolve();
+                       }
+
+                       $( 'body' ).append( $form, $iframe );
+
+                       deferred.always( function () {
+                               $form.remove();
+                               $iframe.remove();
+                       } );
+
+                       return deferred.promise();
+               },
+
+               /**
+                * Uploads a file using the FormData API.
+                *
+                * @private
+                * @param {File} file
+                * @param {Object} data Other upload options, see action=upload API docs for more
+                * @return {jQuery.Promise}
+                */
+               uploadWithFormData: function ( file, data ) {
+                       var key, request,
+                               deferred = $.Deferred();
+
+                       for ( key in data ) {
+                               if ( !fieldsAllowed[ key ] ) {
+                                       delete data[ key ];
+                               }
+                       }
+
+                       data = $.extend( {}, this.defaults.parameters, { action: 'upload' }, data );
+                       if ( !data.chunk ) {
+                               data.file = file;
+                       }
+
+                       if ( !data.filename && !data.stash ) {
+                               throw new Error( 'Filename not included in file data.' );
+                       }
+
+                       // Use this.postWithEditToken() or this.post()
+                       request = this[ this.needToken() ? 'postWithEditToken' : 'post' ]( data, {
+                               // Use FormData (if we got here, we know that it's available)
+                               contentType: 'multipart/form-data',
+                               // No timeout (default from mw.Api is 30 seconds)
+                               timeout: 0,
+                               // Provide upload progress notifications
+                               xhr: function () {
+                                       var xhr = $.ajaxSettings.xhr();
+                                       if ( xhr.upload ) {
+                                               // need to bind this event before we open the connection (see note at
+                                               // https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest/Using_XMLHttpRequest#Monitoring_progress)
+                                               xhr.upload.addEventListener( 'progress', function ( ev ) {
+                                                       if ( ev.lengthComputable ) {
+                                                               deferred.notify( ev.loaded / ev.total );
+                                                       }
+                                               } );
+                                       }
+                                       return xhr;
+                               }
+                       } )
+                               .done( function ( result ) {
+                                       deferred.notify( 1 );
+                                       if ( result.upload && result.upload.warnings ) {
+                                               deferred.reject( getFirstKey( result.upload.warnings ), result );
+                                       } else {
+                                               deferred.resolve( result );
+                                       }
+                               } )
+                               .fail( function ( errorCode, result ) {
+                                       deferred.notify( 1 );
+                                       deferred.reject( errorCode, result );
+                               } );
+
+                       return deferred.promise( { abort: request.abort } );
+               },
+
+               /**
+                * Upload a file in several chunks.
+                *
+                * @param {File} file
+                * @param {Object} data Other upload options, see action=upload API docs for more
+                * @param {number} [chunkSize] Size (in bytes) per chunk (default: 5MB)
+                * @param {number} [chunkRetries] Amount of times to retry a failed chunk (default: 1)
+                * @return {jQuery.Promise}
+                */
+               chunkedUpload: function ( file, data, chunkSize, chunkRetries ) {
+                       var start, end, promise, next, active,
+                               deferred = $.Deferred();
+
+                       chunkSize = chunkSize === undefined ? 5 * 1024 * 1024 : chunkSize;
+                       chunkRetries = chunkRetries === undefined ? 1 : chunkRetries;
+
+                       if ( !data.filename ) {
+                               throw new Error( 'Filename not included in file data.' );
+                       }
+
+                       // Submit first chunk to get the filekey
+                       active = promise = this.uploadChunk( file, data, 0, chunkSize, '', chunkRetries )
+                               .done( chunkSize >= file.size ? deferred.resolve : null )
+                               .fail( deferred.reject )
+                               .progress( deferred.notify );
+
+                       // Now iteratively submit the rest of the chunks
+                       for ( start = chunkSize; start < file.size; start += chunkSize ) {
+                               end = Math.min( start + chunkSize, file.size );
+                               next = $.Deferred();
+
+                               // We could simply chain one this.uploadChunk after another with
+                               // .then(), but then we'd hit an `Uncaught RangeError: Maximum
+                               // call stack size exceeded` at as low as 1024 calls in Firefox
+                               // 47. This'll work around it, but comes with the drawback of
+                               // having to properly relay the results to the returned promise.
+                               // eslint-disable-next-line no-loop-func
+                               promise.done( function ( start, end, next, result ) {
+                                       var filekey = result.upload.filekey;
+                                       active = this.uploadChunk( file, data, start, end, filekey, chunkRetries )
+                                               .done( end === file.size ? deferred.resolve : next.resolve )
+                                               .fail( deferred.reject )
+                                               .progress( deferred.notify );
+                               // start, end & next must be bound to closure, or they'd have
+                               // changed by the time the promises are resolved
+                               }.bind( this, start, end, next ) );
+
+                               promise = next;
+                       }
+
+                       return deferred.promise( { abort: active.abort } );
+               },
+
+               /**
+                * Uploads 1 chunk.
+                *
+                * @private
+                * @param {File} file
+                * @param {Object} data Other upload options, see action=upload API docs for more
+                * @param {number} start Chunk start position
+                * @param {number} end Chunk end position
+                * @param {string} [filekey] File key, for follow-up chunks
+                * @param {number} [retries] Amount of times to retry request
+                * @return {jQuery.Promise}
+                */
+               uploadChunk: function ( file, data, start, end, filekey, retries ) {
+                       var upload,
+                               api = this,
+                               chunk = this.slice( file, start, end );
+
+                       // When uploading in chunks, we're going to be issuing a lot more
+                       // requests and there's always a chance of 1 getting dropped.
+                       // In such case, it could be useful to try again: a network hickup
+                       // doesn't necessarily have to result in upload failure...
+                       retries = retries === undefined ? 1 : retries;
+
+                       data.filesize = file.size;
+                       data.chunk = chunk;
+                       data.offset = start;
+
+                       // filekey must only be added when uploading follow-up chunks; the
+                       // first chunk should never have a filekey (it'll be generated)
+                       if ( filekey && start !== 0 ) {
+                               data.filekey = filekey;
+                       }
+
+                       upload = this.uploadWithFormData( file, data );
+                       return upload.then(
+                               null,
+                               function ( code, result ) {
+                                       var retry;
+
+                                       // uploadWithFormData will reject uploads with warnings, but
+                                       // these warnings could be "harmless" or recovered from
+                                       // (e.g. exists-normalized, when it'll be renamed later)
+                                       // In the case of (only) a warning, we still want to
+                                       // continue the chunked upload until it completes: then
+                                       // reject it - at least it's been fully uploaded by then and
+                                       // failure handlers have a complete result object (including
+                                       // possibly more warnings, e.g. duplicate)
+                                       // This matches .upload, which also completes the upload.
+                                       if ( result.upload && result.upload.warnings && code in result.upload.warnings ) {
+                                               if ( end === file.size ) {
+                                                       // uploaded last chunk = reject with result data
+                                                       return $.Deferred().reject( code, result );
+                                               } else {
+                                                       // still uploading chunks = resolve to keep going
+                                                       return $.Deferred().resolve( result );
+                                               }
+                                       }
+
+                                       if ( retries === 0 ) {
+                                               return $.Deferred().reject( code, result );
+                                       }
+
+                                       // If the call flat out failed, we may want to try again...
+                                       retry = api.uploadChunk.bind( this, file, data, start, end, filekey, retries - 1 );
+                                       return api.retry( code, result, retry );
+                               },
+                               function ( fraction ) {
+                                       // Since we're only uploading small parts of a file, we
+                                       // need to adjust the reported progress to reflect where
+                                       // we actually are in the combined upload
+                                       return ( start + fraction * ( end - start ) ) / file.size;
+                               }
+                       ).promise( { abort: upload.abort } );
+               },
+
+               /**
+                * Launch the upload anew if it failed because of network issues.
+                *
+                * @private
+                * @param {string} code Error code
+                * @param {Object} result API result
+                * @param {Function} callable
+                * @return {jQuery.Promise}
+                */
+               retry: function ( code, result, callable ) {
+                       var uploadPromise,
+                               retryTimer,
+                               deferred = $.Deferred(),
+                               // Wrap around the callable, so that once it completes, it'll
+                               // resolve/reject the promise we'll return
+                               retry = function () {
+                                       uploadPromise = callable();
+                                       uploadPromise.then( deferred.resolve, deferred.reject );
+                               };
+
+                       // Don't retry if the request failed because we aborted it (or if
+                       // it's another kind of request failure)
+                       if ( code !== 'http' || result.textStatus === 'abort' ) {
+                               return deferred.reject( code, result );
+                       }
+
+                       retryTimer = setTimeout( retry, 1000 );
+                       return deferred.promise( { abort: function () {
+                               // Clear the scheduled upload, or abort if already in flight
+                               if ( retryTimer ) {
+                                       clearTimeout( retryTimer );
+                               }
+                               if ( uploadPromise.abort ) {
+                                       uploadPromise.abort();
+                               }
+                       } } );
+               },
+
+               /**
+                * Slice a chunk out of a File object.
+                *
+                * @private
+                * @param {File} file
+                * @param {number} start
+                * @param {number} stop
+                * @return {Blob}
+                */
+               slice: function ( file, start, stop ) {
+                       if ( file.mozSlice ) {
+                               // FF <= 12
+                               return file.mozSlice( start, stop, file.type );
+                       } else if ( file.webkitSlice ) {
+                               // Chrome <= 20
+                               return file.webkitSlice( start, stop, file.type );
+                       } else {
+                               // On really old browser versions (before slice was prefixed),
+                               // slice() would take (start, length) instead of (start, end)
+                               // We'll ignore that here...
+                               return file.slice( start, stop, file.type );
+                       }
+               },
+
+               /**
+                * This function will handle how uploads to stash (via uploadToStash or
+                * chunkedUploadToStash) are resolved/rejected.
+                *
+                * After a successful stash, it'll resolve with a callback which, when
+                * called, will finalize the upload in stash (with the given data, or
+                * with additional/conflicting data)
+                *
+                * A failed stash can still be recovered from as long as 'filekey' is
+                * present. In that case, it'll also resolve with the callback to
+                * finalize the upload (all warnings are then ignored.)
+                * Otherwise, it'll just reject as you'd expect, with code & result.
+                *
+                * @private
+                * @param {jQuery.Promise} uploadPromise
+                * @param {Object} data
+                * @return {jQuery.Promise}
+                * @return {Function} return.finishUpload Call this function to finish the upload.
+                * @return {Object} return.finishUpload.data Additional data for the upload.
+                * @return {jQuery.Promise} return.finishUpload.return API promise for the final upload
+                * @return {Object} return.finishUpload.return.data API return value for the final upload
+                */
+               finishUploadToStash: function ( uploadPromise, data ) {
+                       var filekey,
+                               api = this;
+
+                       function finishUpload( moreData ) {
+                               return api.uploadFromStash( filekey, $.extend( data, moreData ) );
+                       }
+
+                       return uploadPromise.then(
+                               function ( result ) {
+                                       filekey = result.upload.filekey;
+                                       return finishUpload;
+                               },
+                               function ( errorCode, result ) {
+                                       if ( result && result.upload && result.upload.filekey ) {
+                                               // Ignore any warnings if 'filekey' was returned, that's all we care about
+                                               filekey = result.upload.filekey;
+                                               return $.Deferred().resolve( finishUpload );
+                                       }
+                                       return $.Deferred().reject( errorCode, result );
+                               }
+                       );
+               },
+
+               /**
+                * Upload a file to the stash.
+                *
+                * This function will return a promise, which when resolved, will pass back a function
+                * to finish the stash upload. You can call that function with an argument containing
+                * more, or conflicting, data to pass to the server. For example:
+                *
+                *     // upload a file to the stash with a placeholder filename
+                *     api.uploadToStash( file, { filename: 'testing.png' } ).done( function ( finish ) {
+                *         // finish is now the function we can use to finalize the upload
+                *         // pass it a new filename from user input to override the initial value
+                *         finish( { filename: getFilenameFromUser() } ).done( function ( data ) {
+                *             // the upload is complete, data holds the API response
+                *         } );
+                *     } );
+                *
+                * @param {File|HTMLInputElement} file
+                * @param {Object} [data]
+                * @return {jQuery.Promise}
+                * @return {Function} return.finishUpload Call this function to finish the upload.
+                * @return {Object} return.finishUpload.data Additional data for the upload.
+                * @return {jQuery.Promise} return.finishUpload.return API promise for the final upload
+                * @return {Object} return.finishUpload.return.data API return value for the final upload
+                */
+               uploadToStash: function ( file, data ) {
+                       var promise;
+
+                       if ( !data.filename ) {
+                               throw new Error( 'Filename not included in file data.' );
+                       }
+
+                       promise = this.upload( file, { stash: true, filename: data.filename } );
+
+                       return this.finishUploadToStash( promise, data );
+               },
+
+               /**
+                * Upload a file to the stash, in chunks.
+                *
+                * This function will return a promise, which when resolved, will pass back a function
+                * to finish the stash upload.
+                *
+                * @see #method-uploadToStash
+                * @param {File|HTMLInputElement} file
+                * @param {Object} [data]
+                * @param {number} [chunkSize] Size (in bytes) per chunk (default: 5MB)
+                * @param {number} [chunkRetries] Amount of times to retry a failed chunk (default: 1)
+                * @return {jQuery.Promise}
+                * @return {Function} return.finishUpload Call this function to finish the upload.
+                * @return {Object} return.finishUpload.data Additional data for the upload.
+                * @return {jQuery.Promise} return.finishUpload.return API promise for the final upload
+                * @return {Object} return.finishUpload.return.data API return value for the final upload
+                */
+               chunkedUploadToStash: function ( file, data, chunkSize, chunkRetries ) {
+                       var promise;
+
+                       if ( !data.filename ) {
+                               throw new Error( 'Filename not included in file data.' );
+                       }
+
+                       promise = this.chunkedUpload(
+                               file,
+                               { stash: true, filename: data.filename },
+                               chunkSize,
+                               chunkRetries
+                       );
+
+                       return this.finishUploadToStash( promise, data );
+               },
+
+               /**
+                * Finish an upload in the stash.
+                *
+                * @param {string} filekey
+                * @param {Object} data
+                * @return {jQuery.Promise}
+                */
+               uploadFromStash: function ( filekey, data ) {
+                       data.filekey = filekey;
+                       data.action = 'upload';
+                       data.format = 'json';
+
+                       if ( !data.filename ) {
+                               throw new Error( 'Filename not included in file data.' );
+                       }
+
+                       return this.postWithEditToken( data ).then( function ( result ) {
+                               if ( result.upload && result.upload.warnings ) {
+                                       return $.Deferred().reject( getFirstKey( result.upload.warnings ), result ).promise();
+                               }
+                               return result;
+                       } );
+               },
+
+               needToken: function () {
+                       return true;
+               }
+       } );
+
+       /**
+        * @class mw.Api
+        * @mixins mw.Api.plugin.upload
+        */
+}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api/user.js b/resources/src/mediawiki.api/user.js
new file mode 100644 (file)
index 0000000..e7b4b6d
--- /dev/null
@@ -0,0 +1,37 @@
+/**
+ * @class mw.Api.plugin.user
+ * @since 1.27
+ */
+( function ( mw, $ ) {
+
+       $.extend( mw.Api.prototype, {
+
+               /**
+                * Get the current user's groups and rights.
+                *
+                * @return {jQuery.Promise}
+                * @return {Function} return.done
+                * @return {Object} return.done.userInfo
+                * @return {string[]} return.done.userInfo.groups User groups that the current user belongs to
+                * @return {string[]} return.done.userInfo.rights Current user's rights
+                */
+               getUserInfo: function () {
+                       return this.get( {
+                               action: 'query',
+                               meta: 'userinfo',
+                               uiprop: [ 'groups', 'rights' ]
+                       } ).then( function ( data ) {
+                               if ( data.query && data.query.userinfo ) {
+                                       return data.query.userinfo;
+                               }
+                               return $.Deferred().reject().promise();
+                       } );
+               }
+       } );
+
+       /**
+        * @class mw.Api
+        * @mixins mw.Api.plugin.user
+        */
+
+}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.api/watch.js b/resources/src/mediawiki.api/watch.js
new file mode 100644 (file)
index 0000000..025c111
--- /dev/null
@@ -0,0 +1,70 @@
+/**
+ * @class mw.Api.plugin.watch
+ * @since 1.19
+ */
+( function ( mw, $ ) {
+
+       /**
+        * @private
+        * @static
+        * @context mw.Api
+        *
+        * @param {string|mw.Title|string[]|mw.Title[]} pages Full page name or instance of mw.Title, or an
+        *  array thereof. If an array is passed, the return value passed to the promise will also be an
+        *  array of appropriate objects.
+        * @param {Object} [addParams]
+        * @return {jQuery.Promise}
+        * @return {Function} return.done
+        * @return {Object|Object[]} return.done.watch Object or list of objects (depends on the `pages`
+        *  parameter)
+        * @return {string} return.done.watch.title Full pagename
+        * @return {boolean} return.done.watch.watched Whether the page is now watched or unwatched
+        */
+       function doWatchInternal( pages, addParams ) {
+               // XXX: Parameter addParams is undocumented because we inherit this
+               // documentation in the public method...
+               var apiPromise = this.postWithToken( 'watch',
+                       $.extend(
+                               {
+                                       formatversion: 2,
+                                       action: 'watch',
+                                       titles: Array.isArray( pages ) ? pages : String( pages )
+                               },
+                               addParams
+                       )
+               );
+
+               return apiPromise
+                       .then( function ( data ) {
+                               // If a single page was given (not an array) respond with a single item as well.
+                               return Array.isArray( pages ) ? data.watch : data.watch[ 0 ];
+                       } )
+                       .promise( { abort: apiPromise.abort } );
+       }
+
+       $.extend( mw.Api.prototype, {
+               /**
+                * Convenience method for `action=watch`.
+                *
+                * @inheritdoc #doWatchInternal
+                */
+               watch: function ( pages ) {
+                       return doWatchInternal.call( this, pages );
+               },
+
+               /**
+                * Convenience method for `action=watch&unwatch=1`.
+                *
+                * @inheritdoc #doWatchInternal
+                */
+               unwatch: function ( pages ) {
+                       return doWatchInternal.call( this, pages, { unwatch: 1 } );
+               }
+       } );
+
+       /**
+        * @class mw.Api
+        * @mixins mw.Api.plugin.watch
+        */
+
+}( mediaWiki, jQuery ) );
index 830ff33..3f5a5db 100644 (file)
 
                        bitDiv( 'phpversion' )
                                .append( $( this.data.phpEngine === 'HHVM' ?
-                                       '<a href="http://hhvm.com/">HHVM</a>' :
+                                       '<a href="https://hhvm.com/">HHVM</a>' :
                                        '<a href="https://php.net/">PHP</a>'
                                ) )
                                .append( ': ' + this.data.phpVersion );
diff --git a/resources/src/mediawiki.debug/jquery.footHovzer.css b/resources/src/mediawiki.debug/jquery.footHovzer.css
new file mode 100644 (file)
index 0000000..77d9514
--- /dev/null
@@ -0,0 +1,6 @@
+#jquery-foot-hovzer {
+       position: fixed;
+       bottom: 0;
+       width: 100%;
+       z-index: 1000;
+}
diff --git a/resources/src/mediawiki.debug/jquery.footHovzer.js b/resources/src/mediawiki.debug/jquery.footHovzer.js
new file mode 100644 (file)
index 0000000..091aa25
--- /dev/null
@@ -0,0 +1,67 @@
+/**
+ * @private
+ * @class jQuery.plugin.footHovzer
+ */
+( function ( $ ) {
+       var $hovzer, footHovzer, $spacer;
+
+       function getHovzer() {
+               if ( $hovzer === undefined ) {
+                       $hovzer = $( '<div id="jquery-foot-hovzer"></div>' ).appendTo( 'body' );
+               }
+               return $hovzer;
+       }
+
+       /**
+        * Utility to stack stuff in an overlay fixed on the bottom of the page.
+        *
+        * Usage:
+        *
+        *     var hovzer = $.getFootHovzer();
+        *     hovzer.$.append( $myCollection );
+        *     hovzer.update();
+        *
+        * @static
+        * @inheritable
+        * @return {jQuery.footHovzer}
+        */
+       $.getFootHovzer = function () {
+               footHovzer.$ = getHovzer();
+               return footHovzer;
+       };
+
+       /**
+        * @private
+        * @class jQuery.footHovzer
+        */
+       footHovzer = {
+
+               /**
+                * @property {jQuery} $ The stack container
+                */
+
+               /**
+                * Update dimensions of stack to account for changes in the subtree.
+                */
+               update: function () {
+                       var $body;
+
+                       $body = $( 'body' );
+
+                       if ( $spacer === undefined ) {
+                               $spacer = $( '<div>' ).attr( 'id', 'jquery-foot-hovzer-spacer' );
+                               $spacer.appendTo( $body );
+                       }
+                       // Ensure CSS is applied by browser before using .outerHeight()
+                       setTimeout( function () {
+                               $spacer.css( 'height', getHovzer().outerHeight( /* includeMargin = */ true ) );
+                       }, 0 );
+               }
+       };
+
+       /**
+        * @class jQuery
+        * @mixins jQuery.plugin.footHovzer
+        */
+
+}( jQuery ) );
index 2392089..267210c 100644 (file)
                /**
                 * Apply pattern to format value as a string.
                 *
-                * Using patterns from [Unicode TR35](http://www.unicode.org/reports/tr35/#Number_Format_Patterns).
+                * Using patterns from [Unicode TR35](https://www.unicode.org/reports/tr35/#Number_Format_Patterns).
                 *
                 * @param {number} value
                 * @param {string} pattern Pattern string as described by Unicode TR35
index 79937e5..9448ab8 100644 (file)
@@ -1,6 +1,8 @@
 /*!
- * Show gallery captions when focused. Copied directly from jquery.mw-jump.js.
- * Also Dynamically resize images to justify them.
+ * Enhance MediaWiki galleries (from the `<gallery>` parser tag).
+ *
+ * - Toggle gallery captions when focused.
+ * - Dynamically resize images to fill horizontal space.
  */
 ( function ( mw, $ ) {
        var $galleries,
                                .addClass( 'mw-gallery-packed-overlay' )
                                .removeClass( 'mw-gallery-packed-hover' );
                } else {
-                       // Note use of just "a", not a.image, since we want this to trigger if a link in
-                       // the caption receives focus
+                       // Note use of just `a`, not `a.image`, since we also want this to trigger if a link
+                       // within the caption text receives focus.
+                       // This is based on code from the 'jquery.mw-jump' module.
                        $content.find( 'ul.mw-gallery-packed-hover li.gallerybox' ).on( 'focus blur', 'a', function ( e ) {
                                // Confusingly jQuery leaves e.type as focusout for delegated blur events
                                var gettingFocus = e.type !== 'blur' && e.type !== 'focusout';
diff --git a/resources/src/mediawiki.skinning/content.externallinks.css b/resources/src/mediawiki.skinning/content.externallinks.css
deleted file mode 100644 (file)
index d82ffe0..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-/*!
- * Icons and colors for external links.
- */
-
-/* T68091 is blocking is from converting this file to LESS
- * and using the .background-image-svg mixin. */
-
-/* SVG support using a transparent gradient to guarantee cross-browser
- * compatibility ( browsers able to understand gradient syntax support also SVG ).
- * http://pauginer.tumblr.com/post/36614680636/invisible-gradient-technique */
-
-.mw-parser-output a.external,
-.link-https {
-       background: url( images/external-ltr.png ) center right no-repeat;
-       /* @embed */
-       background-image: -webkit-linear-gradient( transparent, transparent ), url( images/external-ltr.svg );
-       /* @embed */
-       background-image: linear-gradient( transparent, transparent ), url( images/external-ltr.svg );
-       padding-right: 15px;
-}
-
-.mw-parser-output a.external[ href^='mailto:' ],
-.link-mailto {
-       background: url( images/mail.png ) center right no-repeat;
-       /* @embed */
-       background-image: linear-gradient( transparent, transparent ), url( images/mail.svg );
-       padding-right: 15px;
-}
-
-.mw-parser-output a.external[ href^='ftp://' ],
-.link-ftp {
-       background: url( images/ftp-ltr.png ) center right no-repeat;
-       /* @embed */
-       background-image: linear-gradient( transparent, transparent ), url( images/ftp-ltr.svg );
-       padding-right: 15px;
-}
-
-.mw-parser-output a.external[ href^='irc://' ],
-.mw-parser-output a.external[ href^='ircs://' ],
-.link-irc {
-       background: url( images/chat-ltr.png ) center right no-repeat;
-       /* @embed */
-       background-image: linear-gradient( transparent, transparent ), url( images/chat-ltr.svg );
-       padding-right: 15px;
-}
-
-.mw-parser-output a.external[ href$='.ogg' ],
-.mw-parser-output a.external[ href$='.OGG' ],
-.mw-parser-output a.external[ href$='.mid' ],
-.mw-parser-output a.external[ href$='.MID' ],
-.mw-parser-output a.external[ href$='.midi' ],
-.mw-parser-output a.external[ href$='.MIDI' ],
-.mw-parser-output a.external[ href$='.mp3' ],
-.mw-parser-output a.external[ href$='.MP3' ],
-.mw-parser-output a.external[ href$='.wav' ],
-.mw-parser-output a.external[ href$='.WAV' ],
-.mw-parser-output a.external[ href$='.wma' ],
-.mw-parser-output a.external[ href$='.WMA' ],
-.link-audio {
-       background: url( images/audio-ltr.png ) center right no-repeat;
-       /* @embed */
-       background-image: linear-gradient( transparent, transparent ), url( images/audio-ltr.svg );
-       padding-right: 15px;
-}
-
-.mw-parser-output a.external[ href$='.ogm' ],
-.mw-parser-output a.external[ href$='.OGM' ],
-.mw-parser-output a.external[ href$='.avi' ],
-.mw-parser-output a.external[ href$='.AVI' ],
-.mw-parser-output a.external[ href$='.mpeg' ],
-.mw-parser-output a.external[ href$='.MPEG' ],
-.mw-parser-output a.external[ href$='.mpg' ],
-.mw-parser-output a.external[ href$='.MPG' ],
-.link-video {
-       background: url( images/video.png ) center right no-repeat;
-       /* @embed */
-       background-image: linear-gradient( transparent, transparent ), url( images/video.svg );
-       padding-right: 15px;
-}
-
-.mw-parser-output a.external[ href$='.pdf' ],
-.mw-parser-output a.external[ href$='.PDF' ],
-.mw-parser-output a.external[ href*='.pdf#' ],
-.mw-parser-output a.external[ href*='.PDF#' ],
-.mw-parser-output a.external[ href*='.pdf?' ],
-.mw-parser-output a.external[ href*='.PDF?' ],
-.link-document {
-       background: url( images/document-ltr.png ) center right no-repeat;
-       /* @embed */
-       background-image: linear-gradient( transparent, transparent ), url( images/document-ltr.svg );
-       padding-right: 15px;
-}
-
-/* Interwiki styling */
-.mw-parser-output a.extiw,
-.mw-parser-output a.extiw:active {
-       color: #36b;
-}
-
-/* External link color */
-.mw-parser-output a.external {
-       color: #36b;
-}
diff --git a/resources/src/mediawiki.skinning/content.externallinks.less b/resources/src/mediawiki.skinning/content.externallinks.less
new file mode 100644 (file)
index 0000000..c6390c0
--- /dev/null
@@ -0,0 +1,96 @@
+/*!
+ * Icons and colors for external links.
+ */
+
+@import 'mediawiki.mixins';
+
+.mw-parser-output a.external,
+.link-https {
+       background-position: center right;
+       background-repeat: no-repeat;
+       .background-image-svg( 'images/external-ltr.svg', 'images/external-ltr.png' );
+       padding-right: 13px;
+}
+
+.mw-parser-output a.external[ href^='mailto:' ],
+.link-mailto {
+       background-position: center right;
+       background-repeat: no-repeat;
+       .background-image-svg( 'images/mail.svg', 'images/mail.png' );
+       padding-right: 13px;
+}
+
+.mw-parser-output a.external[ href^='ftp://' ],
+.link-ftp {
+       background-position: center right;
+       background-repeat: no-repeat;
+       .background-image-svg( 'images/ftp-ltr.svg', 'images/ftp-ltr.png' );
+       padding-right: 13px;
+}
+
+.mw-parser-output a.external[ href^='irc://' ],
+.mw-parser-output a.external[ href^='ircs://' ],
+.link-irc {
+       background-position: center right;
+       background-repeat: no-repeat;
+       .background-image-svg( 'images/chat-ltr.svg', 'images/chat-ltr.png' );
+       padding-right: 13px;
+}
+
+.mw-parser-output a.external[ href$='.ogg' ],
+.mw-parser-output a.external[ href$='.OGG' ],
+.mw-parser-output a.external[ href$='.mid' ],
+.mw-parser-output a.external[ href$='.MID' ],
+.mw-parser-output a.external[ href$='.midi' ],
+.mw-parser-output a.external[ href$='.MIDI' ],
+.mw-parser-output a.external[ href$='.mp3' ],
+.mw-parser-output a.external[ href$='.MP3' ],
+.mw-parser-output a.external[ href$='.wav' ],
+.mw-parser-output a.external[ href$='.WAV' ],
+.mw-parser-output a.external[ href$='.wma' ],
+.mw-parser-output a.external[ href$='.WMA' ],
+.link-audio {
+       background-position: center right;
+       background-repeat: no-repeat;
+       .background-image-svg( 'images/audio-ltr.svg', 'images/audio-ltr.png' );
+       padding-right: 13px;
+}
+
+.mw-parser-output a.external[ href$='.ogm' ],
+.mw-parser-output a.external[ href$='.OGM' ],
+.mw-parser-output a.external[ href$='.avi' ],
+.mw-parser-output a.external[ href$='.AVI' ],
+.mw-parser-output a.external[ href$='.mpeg' ],
+.mw-parser-output a.external[ href$='.MPEG' ],
+.mw-parser-output a.external[ href$='.mpg' ],
+.mw-parser-output a.external[ href$='.MPG' ],
+.link-video {
+       background-position: center right;
+       background-repeat: no-repeat;
+       .background-image-svg( 'images/video.svg', 'images/video.png' );
+       padding-right: 13px;
+}
+
+.mw-parser-output a.external[ href$='.pdf' ],
+.mw-parser-output a.external[ href$='.PDF' ],
+.mw-parser-output a.external[ href*='.pdf#' ],
+.mw-parser-output a.external[ href*='.PDF#' ],
+.mw-parser-output a.external[ href*='.pdf?' ],
+.mw-parser-output a.external[ href*='.PDF?' ],
+.link-document {
+       background-position: center right;
+       background-repeat: no-repeat;
+       .background-image-svg( 'images/document-ltr.svg', 'images/document-ltr.png' );
+       padding-right: 13px;
+}
+
+/* Interwiki styling */
+.mw-parser-output a.extiw,
+.mw-parser-output a.extiw:active {
+       color: #36b;
+}
+
+/* External link color */
+.mw-parser-output a.external {
+       color: #36b;
+}
index c948ff0..40c9df9 100644 (file)
@@ -56,6 +56,7 @@
                } );
                wrapper.$element.append( tabs.$element );
                $preferences.prepend( wrapper.$element );
+               $( '.mw-prefs-faketabs' ).remove();
 
                function updateHash( panel ) {
                        var scrollTop, active;
index 8810318..a72186b 100644 (file)
        transform: none;
 }
 
-#preferences .oo-ui-panelLayout-framed .oo-ui-panelLayout-framed {
-       border-color: #c8ccd1;
-       border-width: 1px 0 0;
+#preferences .oo-ui-menuLayout .oo-ui-panelLayout-framed .oo-ui-panelLayout-framed {
+       border-width: 0;
        border-radius: 0;
+       box-shadow: none;
        padding-left: 0;
        padding-right: 0;
+}
+
+.mw-prefs-faketabs > .oo-ui-menuLayout > .oo-ui-menuLayout-menu a {
+       color: inherit;
+       text-decoration: none;
+}
+
+/* Adjust the borders when JS is disabled: frame each prefsection instead of the
+ * whole tabLayout wrapper */
+.client-nojs #preferences .oo-ui-menuLayout .oo-ui-panelLayout-framed .oo-ui-panelLayout-framed {
+       border-color: #c8ccd1;
+       border-width: 1px 0 0;
+}
+
+.client-nojs .mw-prefs-faketabs {
+       border-width: 0;
+       border-radius: 0;
        box-shadow: none;
 }
 
-/* Tweak the margins to reduce the shifting of form contents
- * after JS code loads and rearranges the page */
-.client-js #preferences > .oo-ui-panelLayout {
-       margin: 1em 0;
+.client-nojs .mw-prefs-faketabs > .oo-ui-menuLayout > .oo-ui-menuLayout-content > .oo-ui-stackLayout {
+       margin-bottom: 1em;
 }
 
-.client-js #preferences .oo-ui-panelLayout-framed .oo-ui-panelLayout-framed {
-       margin-left: 0.25em;
+/* Hide the tab menu when JS is disabled as we can't use this feature */
+.client-nojs .mw-prefs-faketabs > .oo-ui-menuLayout > .oo-ui-menuLayout-menu {
+       display: none;
+}
+
+.client-nojs #preferences .oo-ui-panelLayout-framed .oo-ui-panelLayout-framed:last-child {
+       padding-bottom: 0;
+       margin-bottom: 0;
+}
+
+/* Hide top level legends when JS is enabled, as they will not be visible
+ * when the real tabLayout is built */
+.client-js #preferences .oo-ui-tabPanelLayout > fieldset > legend {
+       display: none;
 }
 
 .client-js #preferences .oo-ui-tabPanelLayout {
        padding-top: 0.5em;
-       padding-bottom: 0.5em;
 }
 
-.client-js #preferences .oo-ui-tabPanelLayout .oo-ui-panelLayout-framed {
+.client-js #preferences .oo-ui-panelLayout-framed .oo-ui-panelLayout-framed {
        margin-left: 0;
        margin-bottom: 0;
-       border: 0;
-       padding-top: 0;
+       padding: 0;
+       border-width: 0;
+       border-radius: 0;
+       box-shadow: none;
 }
 
 .client-js #preferences > .oo-ui-panelLayout > .oo-ui-fieldsetLayout > .oo-ui-fieldsetLayout-header {
index 0676bfc..0404c45 100644 (file)
        color: #72777d;
        font-size: 90%;
 }
+
+/* Special:PasswordPolicies */
+.mw-passwordpolicies-table tr {
+       vertical-align: top;
+}
index 486fb80..702c18d 100644 (file)
        mw.trackSubscribe( 'resourceloader.exception', logError );
        mw.trackSubscribe( 'resourceloader.assert', logError );
 
-       /**
-        * Fired when all modules associated with the page have finished loading.
-        *
-        * @event resourceloader_loadEnd
-        * @member mw.hook
-        */
-       $( function () {
-               var loading, modules;
-
-               modules = mw.loader.getModuleNames().filter( function ( module ) {
-                       return mw.loader.getState( module ) === 'loading';
-               } );
-               // We only need a callback, not any actual module. First try a single using()
-               // for all loading modules. If one fails, fall back to tracking each module
-               // separately via $.when(), this is expensive.
-               loading = mw.loader.using( modules ).catch( function () {
-                       var all = modules.map( function ( module ) {
-                               return mw.loader.using( module ).catch( function () {
-                                       return $.Deferred().resolve();
-                               } );
-                       } );
-                       return $.when.apply( $, all );
-               } );
-               loading.then( function () {
-                       if ( window.performance && performance.mark ) {
-                               performance.mark( 'mwLoadEnd' );
-                       }
-                       mw.hook( 'resourceloader.loadEnd' ).fire();
-               } );
-       } );
-
        // Attach to window and globally alias
        window.mw = window.mediaWiki = mw;
 }( jQuery ) );
index 45aed88..0a04d85 100644 (file)
@@ -23,13 +23,13 @@ first-letters-root.ser: allkeys.txt ucd.all.grouped.xml
        php ../maintenance/language/generateCollationData.php
 
 UnicodeData.txt:
-       wget http://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/UnicodeData.txt
+       wget https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/UnicodeData.txt
 
 allkeys.txt:
-       wget http://www.unicode.org/Public/UCA/$(UNICODE_VERSION)/allkeys.txt
+       wget https://www.unicode.org/Public/UCA/$(UNICODE_VERSION)/allkeys.txt
 
 ucd.all.grouped.xml: ucd.all.grouped.zip
        unzip ucd.all.grouped.zip ucd.all.grouped.xml
 
 ucd.all.grouped.zip:
-       wget http://www.unicode.org/Public/$(UNICODE_VERSION)/ucdxml/ucd.all.grouped.zip
+       wget https://www.unicode.org/Public/$(UNICODE_VERSION)/ucdxml/ucd.all.grouped.zip
index 05afefa..d17fbbe 100644 (file)
@@ -28805,7 +28805,7 @@ foo {{echo|<span>bar</span> [[Category:baz]]}} bar
 # of the categories in wikitext
 # Do not remove these characters in edits.
 #
-# As part of the serialization, these bidi characters will get stripped.
+# As part of the serialization, these Unicode directional formatting characters will get stripped.
 !! test
 RTL (\u200f) and LTR (\u200e) markers around category tags should be stripped
 !! options
@@ -30811,3 +30811,27 @@ header
 *foo
 footer
 !! end
+
+!! test
+Check soft hyphens as entities (&shy;) in displaytitle (T66528)
+!! options
+showtitle
+title=[[Lopadotemachoselachogaleokranioleipsanodrimhypotrimmatosilphioparaomelitokatakechymenokichlepikossyphophattoperisteralektryonoptekephalliokigklopeleiolagoiosiraiobaphetraganopterygon]]
+!! wikitext
+{{DISPLAYTITLE:Lopado&shy;temacho&shy;selacho&shy;galeo&shy;kranio&shy;leipsano&shy;drim&shy;hypo&shy;trimmato&shy;silphio&shy;parao&shy;melito&shy;katakechy&shy;meno&shy;kichl&shy;epi&shy;kossypho&shy;phatto&shy;perister&shy;alektryon&shy;opte&shy;kephallio&shy;kigklo&shy;peleio&shy;lagoio&shy;siraio&shy;baphe&shy;tragano&shy;pterygon}}
+!! html/php
+Lopado&#173;temacho&#173;selacho&#173;galeo&#173;kranio&#173;leipsano&#173;drim&#173;hypo&#173;trimmato&#173;silphio&#173;parao&#173;melito&#173;katakechy&#173;meno&#173;kichl&#173;epi&#173;kossypho&#173;phatto&#173;perister&#173;alektryon&#173;opte&#173;kephallio&#173;kigklo&#173;peleio&#173;lagoio&#173;siraio&#173;baphe&#173;tragano&#173;pterygon
+
+!! end
+
+!! test
+Check soft hyphens as Unicode characters (U+00AD) in displaytitle (T66528)
+!! options
+showtitle
+title=[[Lopadotemachoselachogaleokranioleipsanodrimhypotrimmatosilphioparaomelitokatakechymenokichlepikossyphophattoperisteralektryonoptekephalliokigklopeleiolagoiosiraiobaphetraganopterygon]]
+!! wikitext
+{{DISPLAYTITLE:Lopado­temacho­selacho­galeo­kranio­leipsano­drim­hypo­trimmato­silphio­parao­melito­katakechy­meno­kichl­epi­kossypho­phatto­perister­alektryon­opte­kephallio­kigklo­peleio­lagoio­siraio­baphe­tragano­pterygon}}
+!! html/php
+Lopado­temacho­selacho­galeo­kranio­leipsano­drim­hypo­trimmato­silphio­parao­melito­katakechy­meno­kichl­epi­kossypho­phatto­perister­alektryon­opte­kephallio­kigklo­peleio­lagoio­siraio­baphe­tragano­pterygon
+
+!! end
index d5c14a2..f0c78ec 100644 (file)
@@ -31,12 +31,14 @@ abstract class ResourceLoaderTestCase extends MediaWikiTestCase {
                        'skin' => 'vector',
                        'modules' => 'startup',
                        'only' => 'scripts',
+                       'safemode' => null,
                ];
                $resourceLoader = $rl ?: new ResourceLoader();
                $request = new FauxRequest( [
                                'lang' => $options['lang'],
                                'modules' => $options['modules'],
                                'only' => $options['only'],
+                               'safemode' => $options['safemode'],
                                'skin' => $options['skin'],
                                'target' => 'phpunit',
                ] );
index c7725a2..110e00b 100644 (file)
@@ -1,3 +1,3 @@
-@import "test.common.mixins";
+@import "../common/test.common.mixins";
 
 @unitTestColor: green;
diff --git a/tests/phpunit/data/less/module/use-import-dir.less b/tests/phpunit/data/less/module/use-import-dir.less
new file mode 100644 (file)
index 0000000..4710bc6
--- /dev/null
@@ -0,0 +1,6 @@
+@import "test.common.mixins";
+
+/* @noflip */
+.unit-tests {
+       .test-mixin(green);
+}
diff --git a/tests/phpunit/data/registration/bad_url.json b/tests/phpunit/data/registration/bad_url.json
new file mode 100644 (file)
index 0000000..ee0f4b9
--- /dev/null
@@ -0,0 +1,5 @@
+{
+       "name": "Test",
+       "url": "http://www.mediawiki.org/",
+       "manifest_version": 1
+}
diff --git a/tests/phpunit/data/registration/bad_url2.json b/tests/phpunit/data/registration/bad_url2.json
new file mode 100644 (file)
index 0000000..813e9d6
--- /dev/null
@@ -0,0 +1,5 @@
+{
+       "name": "Test",
+       "url": "http://mediawiki.org/",
+       "manifest_version": 1
+}
index f0fa611..3f24030 100644 (file)
@@ -94,68 +94,68 @@ class ContentSecurityPolicyTest extends MediaWikiTestCase {
                        [ false, '', '', '' ],
                        [
                                true,
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json",
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1&",
                                "script-src 'unsafe-eval' 'self' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'",
                        ],
                        [
                                [],
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json",
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1&",
                                "script-src 'unsafe-eval' 'self' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'",
                         ],
                        [
                                [ 'script-src' => [ 'http://example.com', 'http://something,else.com' ] ],
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' http://example.com http://something%2Celse.com 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json",
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' http://example.com http://something%2Celse.com 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' http://example.com http://something%2Celse.com 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' http://example.com http://something%2Celse.com 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1&",
                                "script-src 'unsafe-eval' 'self' http://example.com http://something%2Celse.com sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'",
                        ],
                        [
                                [ 'unsafeFallback' => false ],
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json",
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1&",
                                "script-src 'unsafe-eval' 'self' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'",
                        ],
                        [
                                [ 'unsafeFallback' => true ],
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json",
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1&",
                                "script-src 'unsafe-eval' 'self' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'",
                        ],
                        [
                                [ 'default-src' => false ],
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json",
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1&",
                                "script-src 'unsafe-eval' 'self' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'",
                        ],
                        [
                                [ 'default-src' => true ],
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org sister-site.somewhere.com *.wikipedia.org; style-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org sister-site.somewhere.com *.wikipedia.org 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json",
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org sister-site.somewhere.com *.wikipedia.org; style-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org sister-site.somewhere.com *.wikipedia.org 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org sister-site.somewhere.com *.wikipedia.org; style-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org sister-site.somewhere.com *.wikipedia.org 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org sister-site.somewhere.com *.wikipedia.org; style-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org sister-site.somewhere.com *.wikipedia.org 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1&",
                                "script-src 'unsafe-eval' 'self' sister-site.somewhere.com *.wikipedia.org; default-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org sister-site.somewhere.com *.wikipedia.org; style-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org sister-site.somewhere.com *.wikipedia.org 'unsafe-inline'",
                        ],
                        [
                                [ 'default-src' => [ 'https://foo.com', 'http://bar.com', 'baz.de' ] ],
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org https://foo.com http://bar.com baz.de sister-site.somewhere.com *.wikipedia.org; style-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org https://foo.com http://bar.com baz.de sister-site.somewhere.com *.wikipedia.org 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json",
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org https://foo.com http://bar.com baz.de sister-site.somewhere.com *.wikipedia.org; style-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org https://foo.com http://bar.com baz.de sister-site.somewhere.com *.wikipedia.org 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org https://foo.com http://bar.com baz.de sister-site.somewhere.com *.wikipedia.org; style-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org https://foo.com http://bar.com baz.de sister-site.somewhere.com *.wikipedia.org 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org https://foo.com http://bar.com baz.de sister-site.somewhere.com *.wikipedia.org; style-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org https://foo.com http://bar.com baz.de sister-site.somewhere.com *.wikipedia.org 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1&",
                                "script-src 'unsafe-eval' 'self' sister-site.somewhere.com *.wikipedia.org; default-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org https://foo.com http://bar.com baz.de sister-site.somewhere.com *.wikipedia.org; style-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org https://foo.com http://bar.com baz.de sister-site.somewhere.com *.wikipedia.org 'unsafe-inline'",
                        ],
                        [
                                [ 'includeCORS' => false ],
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline'; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json",
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline'; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline'; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline'; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1&",
                                "script-src 'unsafe-eval' 'self'; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'",
                        ],
                        [
                                [ 'includeCORS' => false, 'default-src' => true ],
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline'; default-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org; style-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json",
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline'; default-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org; style-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline'; default-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org; style-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline'; default-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org; style-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1&",
                                "script-src 'unsafe-eval' 'self'; default-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org; style-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org 'unsafe-inline'",
                        ],
                        [
                                [ 'includeCORS' => true ],
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json",
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1&",
                                "script-src 'unsafe-eval' 'self' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'",
                        ],
                        [
@@ -166,8 +166,8 @@ class ContentSecurityPolicyTest extends MediaWikiTestCase {
                        ],
                        [
                                [ 'report-uri' => true ],
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json",
-                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&",
+                               "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1&",
                                "script-src 'unsafe-eval' 'self' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'",
                        ],
                        [
@@ -190,7 +190,7 @@ class ContentSecurityPolicyTest extends MediaWikiTestCase {
 
                $wgAllowImageTag = $origImg;
 
-               $expected = "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json";
+               $expected = "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&";
                $this->assertEquals( $expected, $actual );
        }
 
@@ -202,7 +202,7 @@ class ContentSecurityPolicyTest extends MediaWikiTestCase {
                        true,
                        ContentSecurityPolicy::REPORT_ONLY_MODE
                );
-               $expected = "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1";
+               $expected = "script-src 'unsafe-eval' 'self' 'nonce-secret' 'unsafe-inline' sister-site.somewhere.com *.wikipedia.org; default-src * data: blob:; style-src * data: blob: 'unsafe-inline'; report-uri /w/api.php?action=cspreport&format=json&reportonly=1&";
                $this->assertEquals( $expected, $actual );
                // @codingStandardsIgnoreEnd Generic.Files.LineLength
        }
@@ -226,17 +226,17 @@ class ContentSecurityPolicyTest extends MediaWikiTestCase {
         */
        public function testGetReportUri() {
                $full = $this->csp->getReportUri( ContentSecurityPolicy::FULL_MODE );
-               $fullExpected = '/w/api.php?action=cspreport&format=json';
+               $fullExpected = '/w/api.php?action=cspreport&format=json&';
                $this->assertEquals( $full, $fullExpected, 'normal report uri' );
 
                $report = $this->csp->getReportUri( ContentSecurityPolicy::REPORT_ONLY_MODE );
-               $reportExpected = $fullExpected . '&reportonly=1';
+               $reportExpected = $fullExpected . 'reportonly=1&';
                $this->assertEquals( $report, $reportExpected, 'report only' );
 
                global $wgScriptPath;
                $origPath = wfSetVar( $wgScriptPath, '/tl;dr/a,%20wiki' );
                $esc = $this->csp->getReportUri( ContentSecurityPolicy::FULL_MODE );
-               $escExpected = '/tl%3Bdr/a%2C%20wiki/api.php?action=cspreport&format=json';
+               $escExpected = '/tl%3Bdr/a%2C%20wiki/api.php?action=cspreport&format=json&';
                $wgScriptPath = $origPath;
                $this->assertEquals( $esc, $escExpected, 'test esc rules' );
        }
index 21d1bf2..17a4182 100644 (file)
@@ -40,8 +40,8 @@ class TestLogger extends \Psr\Log\AbstractLogger {
         * @param bool $collect Whether to collect logs. @see setCollect()
         * @param callable $filter Filter logs before collecting/printing. Signature is
         *  string|null function ( string $message, string $level, array $context );
-        * @param bool $collectContext Whether to keep the context passed to log.
-        *                             @since 1.29 @see setCollectContext()
+        * @param bool $collectContext Whether to keep the context passed to log
+        *             (since 1.29, @see setCollectContext()).
         */
        public function __construct( $collect = false, $filter = null, $collectContext = false ) {
                $this->collect = $collect;
diff --git a/tests/phpunit/includes/actions/WatchActionTest.php b/tests/phpunit/includes/actions/WatchActionTest.php
new file mode 100644 (file)
index 0000000..044c30a
--- /dev/null
@@ -0,0 +1,367 @@
+<?php
+
+/**
+ * @covers WatchAction
+ *
+ * @group Action
+ */
+class WatchActionTest extends MediaWikiTestCase {
+
+       /**
+        * @var WatchAction
+        */
+       private $watchAction;
+
+       /**
+        * @var WikiPage
+        */
+       private $testWikiPage;
+
+       protected function setUp() {
+               parent::setUp();
+
+               $testTitle = Title::newFromText( 'UTTest' );
+               $this->testWikiPage = new WikiPage( $testTitle );
+               $testContext = new DerivativeContext( RequestContext::getMain() );
+               $testContext->setTitle( $testTitle );
+               $this->watchAction = new WatchAction( $this->testWikiPage, $testContext );
+       }
+
+       /**
+        * @throws MWException
+        */
+       protected function tearDown() {
+               parent::tearDown();
+
+               Hooks::clear( 'WatchArticle' );
+               Hooks::clear( 'UnwatchArticle' );
+       }
+
+       /**
+        * @covers WatchAction::getName()
+        */
+       public function testGetName() {
+               $this->assertEquals( 'watch', $this->watchAction->getName() );
+       }
+
+       /**
+        * @covers WatchAction::requiresUnblock()
+        */
+       public function testRequiresUnlock() {
+               $this->assertFalse( $this->watchAction->requiresUnblock() );
+       }
+
+       /**
+        * @covers WatchAction::doesWrites()
+        */
+       public function testDoesWrites() {
+               $this->assertTrue( $this->watchAction->doesWrites() );
+       }
+
+       /**
+        * @covers WatchAction::onSubmit()
+        * @covers WatchAction::doWatch()
+        */
+       public function testOnSubmit() {
+               /** @var Status $actual */
+               $actual = $this->watchAction->onSubmit( [] );
+
+               $this->assertTrue( $actual->isGood() );
+       }
+
+       /**
+        * @covers WatchAction::onSubmit()
+        * @covers WatchAction::doWatch()
+        */
+       public function testOnSubmitHookAborted() {
+               Hooks::register( 'WatchArticle', function () {
+                       return false;
+               } );
+
+               /** @var Status $actual */
+               $actual = $this->watchAction->onSubmit( [] );
+
+               $this->assertInstanceOf( Status::class, $actual );
+               $this->assertTrue( $actual->hasMessage( 'hookaborted' ) );
+       }
+
+       /**
+        * @covers WatchAction::checkCanExecute()
+        */
+       public function testShowUserNotLoggedIn() {
+               $notLoggedInUser = new User();
+               $testContext = new DerivativeContext( $this->watchAction->getContext() );
+               $testContext->setUser( $notLoggedInUser );
+               $watchAction = new WatchAction( $this->testWikiPage, $testContext );
+               $this->setExpectedException( UserNotLoggedIn::class );
+
+               $watchAction->show();
+       }
+
+       /**
+        * @covers WatchAction::checkCanExecute()
+        */
+       public function testShowUserLoggedInNoException() {
+               $loggedInUser = $this->getMock( User::class );
+               $loggedInUser->method( 'isLoggedIn' )->willReturn( true );
+               $testContext = new DerivativeContext( $this->watchAction->getContext() );
+               $testContext->setUser( $loggedInUser );
+               $watchAction = new WatchAction( $this->testWikiPage, $testContext );
+
+               $exception = null;
+               try {
+                       $watchAction->show();
+               } catch ( UserNotLoggedIn $e ) {
+                       $exception = $e;
+               }
+               $this->assertNull( $exception,
+                       'UserNotLoggedIn exception should not be thrown if user is logged in.' );
+       }
+
+       /**
+        * @covers WatchAction::onSuccess()
+        */
+       public function testOnSuccessMainNamespaceTitle() {
+               $testContext = $this->getMock(
+                       DerivativeContext::class,
+                       [ 'msg' ],
+                       [ $this->watchAction->getContext() ]
+               );
+               $testOutput = new OutputPage( $testContext );
+               $testContext->setOutput( $testOutput );
+               $testContext->method( 'msg' )->willReturnCallback( function ( $msgKey ) {
+                       return new RawMessage( $msgKey );
+               } );
+               $watchAction = new WatchAction( $this->testWikiPage, $testContext );
+
+               $watchAction->onSuccess();
+
+               $this->assertEquals( '<p>addedwatchtext
+</p>', $testOutput->getHTML() );
+       }
+
+       /**
+        * @covers WatchAction::onSuccess()
+        */
+       public function testOnSuccessTalkPage() {
+               $testContext = $this->getMock(
+                       DerivativeContext::class,
+                       [],
+                       [ $this->watchAction->getContext() ]
+               );
+               $testOutput = new OutputPage( $testContext );
+               $testContext->method( 'getOutput' )->willReturn( $testOutput );
+               $testContext->method( 'msg' )->willReturnCallback( function ( $msgKey ) {
+                       return new RawMessage( $msgKey );
+               } );
+               $talkPageTitle = Title::newFromText( 'Talk:UTTest' );
+               $testContext->setTitle( $talkPageTitle );
+               $watchAction = new WatchAction( new WikiPage( $talkPageTitle ), $testContext );
+
+               $watchAction->onSuccess();
+
+               $this->assertEquals( '<p>addedwatchtext-talk
+</p>', $testOutput->getHTML() );
+       }
+
+       /**
+        * @covers WatchAction::doWatch()
+        */
+       public function testDoWatchNoCheckRights() {
+               $notPermittedUser = $this->getMock( User::class );
+               $notPermittedUser->method( 'isAllowed' )->willReturn( false );
+
+               $actual = WatchAction::doWatch( $this->testWikiPage->getTitle(), $notPermittedUser, false );
+
+               $this->assertTrue( $actual->isGood() );
+       }
+
+       /**
+        * @covers WatchAction::doWatch()
+        */
+       public function testDoWatchUserNotPermittedStatusNotGood() {
+               $notPermittedUser = $this->getMock( User::class );
+               $notPermittedUser->method( 'isAllowed' )->willReturn( false );
+
+               $actual = WatchAction::doWatch( $this->testWikiPage->getTitle(), $notPermittedUser, true );
+
+               $this->assertFalse( $actual->isGood() );
+       }
+
+       /**
+        * @covers WatchAction::doWatch()
+        */
+       public function testDoWatchCallsUserAddWatch() {
+               $permittedUser = $this->getMock( User::class );
+               $permittedUser->method( 'isAllowed' )->willReturn( true );
+               $permittedUser->expects( $this->once() )
+                       ->method( 'addWatch' )
+                       ->with( $this->equalTo( $this->testWikiPage->getTitle() ), $this->equalTo( true ) );
+
+               $actual = WatchAction::doWatch( $this->testWikiPage->getTitle(), $permittedUser );
+
+               $this->assertTrue( $actual->isGood() );
+       }
+
+       /**
+        * @covers WatchAction::doUnWatch()
+        */
+       public function testDoUnWatchWithoutRights() {
+               $notPermittedUser = $this->getMock( User::class );
+               $notPermittedUser->method( 'isAllowed' )->willReturn( false );
+
+               $actual = WatchAction::doUnWatch( $this->testWikiPage->getTitle(), $notPermittedUser );
+
+               $this->assertFalse( $actual->isGood() );
+       }
+
+       /**
+        * @covers WatchAction::doUnWatch()
+        */
+       public function testDoUnWatchUserHookAborted() {
+               $permittedUser = $this->getMock( User::class );
+               $permittedUser->method( 'isAllowed' )->willReturn( true );
+               Hooks::register( 'UnwatchArticle', function () {
+                       return false;
+               } );
+
+               $status = WatchAction::doUnWatch( $this->testWikiPage->getTitle(), $permittedUser );
+
+               $this->assertFalse( $status->isGood() );
+               $errors = $status->getErrors();
+               $this->assertEquals( 1, count( $errors ) );
+               $this->assertEquals( 'hookaborted', $errors[0]['message'] );
+       }
+
+       /**
+        * @covers WatchAction::doUnWatch()
+        */
+       public function testDoUnWatchCallsUserRemoveWatch() {
+               $permittedUser = $this->getMock( User::class );
+               $permittedUser->method( 'isAllowed' )->willReturn( true );
+               $permittedUser->expects( $this->once() )
+                       ->method( 'removeWatch' )
+                       ->with( $this->equalTo( $this->testWikiPage->getTitle() ) );
+
+               $actual = WatchAction::doUnWatch( $this->testWikiPage->getTitle(), $permittedUser );
+
+               $this->assertTrue( $actual->isGood() );
+       }
+
+       /**
+        * @covers WatchAction::getWatchToken()
+        */
+       public function testGetWatchTokenNormalizesToWatch() {
+               $user = $this->getMock( User::class );
+               $user->expects( $this->once() )
+                       ->method( 'getEditToken' )
+                       ->with( $this->equalTo( 'watch' ) );
+
+               WatchAction::getWatchToken( $this->watchAction->getTitle(), $user, 'INVALID_ACTION' );
+       }
+
+       /**
+        * @covers WatchAction::getWatchToken()
+        */
+       public function testGetWatchTokenProxiesUserGetEditToken() {
+               $user = $this->getMock( User::class );
+               $user->expects( $this->once() )->method( 'getEditToken' );
+
+               WatchAction::getWatchToken( $this->watchAction->getTitle(), $user );
+       }
+
+       /**
+        * @covers WatchAction::getUnwatchToken()
+        */
+       public function testGetUnwatchToken() {
+               $user = $this->getMock( User::class );
+               $user->expects( $this->once() )->method( 'getEditToken' );
+               $this->hideDeprecated( 'WatchAction::getUnwatchToken' );
+
+               WatchAction::getUnWatchToken( $this->watchAction->getTitle(), $user );
+       }
+
+       /**
+        * @covers WatchAction::doWatchOrUnwatch()
+        */
+       public function testDoWatchOrUnwatchUserNotLoggedIn() {
+               $user = $this->getLoggedInIsWatchedUser( false );
+               $user->expects( $this->never() )->method( 'removeWatch' );
+               $user->expects( $this->never() )->method( 'addWatch' );
+
+               $status = WatchAction::doWatchOrUnwatch( true, $this->watchAction->getTitle(), $user );
+
+               $this->assertTrue( $status->isGood() );
+       }
+
+       /**
+        * @covers WatchAction::doWatchOrUnwatch()
+        */
+       public function testDoWatchOrUnwatchSkipsIfAlreadyWatched() {
+               $user = $this->getLoggedInIsWatchedUser();
+               $user->expects( $this->never() )->method( 'removeWatch' );
+               $user->expects( $this->never() )->method( 'addWatch' );
+
+               $status = WatchAction::doWatchOrUnwatch( true, $this->watchAction->getTitle(), $user );
+
+               $this->assertTrue( $status->isGood() );
+       }
+
+       /**
+        * @covers WatchAction::doWatchOrUnwatch()
+        */
+       public function testDoWatchOrUnwatchSkipsIfAlreadyUnWatched() {
+               $user = $this->getLoggedInIsWatchedUser( true, false );
+               $user->expects( $this->never() )->method( 'removeWatch' );
+               $user->expects( $this->never() )->method( 'addWatch' );
+
+               $status = WatchAction::doWatchOrUnwatch( false, $this->watchAction->getTitle(), $user );
+
+               $this->assertTrue( $status->isGood() );
+       }
+
+       /**
+        * @covers WatchAction::doWatchOrUnwatch()
+        */
+       public function testDoWatchOrUnwatchWatchesIfWatch() {
+               $user = $this->getLoggedInIsWatchedUser( true, false );
+               $user->expects( $this->never() )->method( 'removeWatch' );
+               $user->expects( $this->once() )
+                       ->method( 'addWatch' )
+                       ->with( $this->equalTo( $this->testWikiPage->getTitle() ), $this->equalTo( false ) );
+
+               $status = WatchAction::doWatchOrUnwatch( true, $this->watchAction->getTitle(), $user );
+
+               $this->assertTrue( $status->isGood() );
+       }
+
+       /**
+        * @covers WatchAction::doWatchOrUnwatch()
+        */
+       public function testDoWatchOrUnwatchUnwatchesIfUnwatch() {
+               $user = $this->getLoggedInIsWatchedUser();
+               $user->method( 'isAllowed' )->willReturn( true );
+               $user->expects( $this->never() )->method( 'addWatch' );
+               $user->expects( $this->once() )
+                       ->method( 'removeWatch' )
+                       ->with( $this->equalTo( $this->testWikiPage->getTitle() ) );
+
+               $status = WatchAction::doWatchOrUnwatch( false, $this->watchAction->getTitle(), $user );
+
+               $this->assertTrue( $status->isGood() );
+       }
+
+       /**
+        * @param bool $isLoggedIn Whether the user should be "marked" as logged in
+        * @param bool $isWatched The value any call to isWatched should return
+        * @return PHPUnit_Framework_MockObject_MockObject
+        */
+       private function getLoggedInIsWatchedUser( $isLoggedIn = true, $isWatched = true ) {
+               $user = $this->getMock( User::class );
+               $user->method( 'isLoggedIn' )->willReturn( $isLoggedIn );
+               $user->method( 'isWatched' )->willReturn( $isWatched );
+
+               return $user;
+       }
+
+}
index e7db68e..4e3e3fc 100644 (file)
@@ -363,8 +363,10 @@ class ApiBaseTest extends ApiTestCase {
                                        ApiBase::PARAM_ISMULTI => true,
                                        ApiBase::PARAM_ISMULTI_LIMIT1 => 2,
                                ],
-                               [ 'a', 'b' ],
-                               [ [ 'apiwarn-toomanyvalues', 'myParam', 2 ] ],
+                               ApiUsageException::newWithMessage(
+                                       null, [ 'apierror-toomanyvalues', 'myParam', 2 ], 'too-many-myParam'
+                               ),
+                               []
                        ],
                        'Multi-valued parameter with exceeded limits for non-bot' => [
                                'a|b|c',
@@ -373,8 +375,10 @@ class ApiBaseTest extends ApiTestCase {
                                        ApiBase::PARAM_ISMULTI_LIMIT1 => 2,
                                        ApiBase::PARAM_ISMULTI_LIMIT2 => 3,
                                ],
-                               [ 'a', 'b' ],
-                               [ [ 'apiwarn-toomanyvalues', 'myParam', 2 ] ],
+                               ApiUsageException::newWithMessage(
+                                       null, [ 'apierror-toomanyvalues', 'myParam', 2 ], 'too-many-myParam'
+                               ),
+                               []
                        ],
                        'Multi-valued parameter with non-exceeded limits for bot' => [
                                'a|b|c',
@@ -995,6 +999,12 @@ class ApiBaseTest extends ApiTestCase {
                                'Foo bar',
                                [],
                        ],
+                       'User prefixed with "User:"' => [
+                               'User:foo_bar',
+                               [ ApiBase::PARAM_TYPE => 'user' ],
+                               'Foo bar',
+                               [],
+                       ],
                        'Invalid username "|"' => [
                                '|',
                                [ ApiBase::PARAM_TYPE => 'user' ],
diff --git a/tests/phpunit/includes/collation/CollationFaTest.php b/tests/phpunit/includes/collation/CollationFaTest.php
deleted file mode 100644 (file)
index f745541..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/**
- * @covers CollationFa
- */
-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
-        */
-
-       public function setUp() {
-               parent::setUp();
-               $this->checkPHPExtension( 'intl' );
-       }
-
-       /**
-        * @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" ],
-               ];
-       }
-}
index 6e23e53..0395bff 100644 (file)
@@ -606,4 +606,38 @@ class LBFactoryTest extends MediaWikiTestCase {
                        return $db->addIdentifierQuotes( $table );
                }
        }
+
+       /**
+        * @covers \Wikimedia\Rdbms\LBFactory::makeCookieValueFromCPIndex()
+        * @covers \Wikimedia\Rdbms\LBFactory::getCPIndexFromCookieValue()
+        */
+       public function testCPPosIndexCookieValues() {
+               $this->assertEquals( '3@542', LBFactory::makeCookieValueFromCPIndex( 3, 542 ) );
+
+               $time = 1526522031;
+               $this->assertSame(
+                       5,
+                       LBFactory::getCPIndexFromCookieValue( "5", $time - 10 )
+               );
+               $this->assertSame(
+                       null,
+                       LBFactory::getCPIndexFromCookieValue( "0", $time - 10 )
+               );
+               $this->assertSame(
+                       2,
+                       LBFactory::getCPIndexFromCookieValue( "2@$time", $time - 10 )
+               );
+               $this->assertSame(
+                       2,
+                       LBFactory::getCPIndexFromCookieValue( "2@$time", $time + 9 - 10 )
+               );
+               $this->assertSame(
+                       null,
+                       LBFactory::getCPIndexFromCookieValue( "0@$time", $time + 9 - 10 )
+               );
+               $this->assertSame(
+                       null,
+                       LBFactory::getCPIndexFromCookieValue( "2@$time", $time + 11 - 10 )
+               );
+       }
 }
index f80d18c..cd24be4 100644 (file)
@@ -515,8 +515,8 @@ class MWHttpRequestTester extends MWHttpRequest {
                if ( !Http::$httpEngine ) {
                        Http::$httpEngine = function_exists( 'curl_init' ) ? 'curl' : 'php';
                } elseif ( Http::$httpEngine == 'curl' && !function_exists( 'curl_init' ) ) {
-                       throw new DomainException( __METHOD__ . ': curl (http://php.net/curl) is not installed, but' .
-                               'Http::$httpEngine is set to "curl"' );
+                       throw new DomainException( __METHOD__ . ': curl (https://secure.php.net/curl) is not ' .
+                               'installed, but Http::$httpEngine is set to "curl"' );
                }
 
                switch ( Http::$httpEngine ) {
@@ -526,7 +526,7 @@ class MWHttpRequestTester extends MWHttpRequest {
                                if ( !wfIniGetBool( 'allow_url_fopen' ) ) {
                                        throw new DomainException( __METHOD__ .
                                                ': allow_url_fopen needs to be enabled for pure PHP HTTP requests to work. '
-                                                       . 'If possible, curl should be used instead. See http://php.net/curl.' );
+                                                       . 'If possible, curl should be used instead. See https://secure.php.net/curl.' );
                                }
 
                                return new PhpHttpRequestTester( $url, $options, $caller );
index 7dfb3cf..5ddbe27 100644 (file)
@@ -156,4 +156,21 @@ class PasswordPolicyChecksTest extends MediaWikiTestCase {
                $status = PasswordPolicyChecks::checkPopularPasswordBlacklist( PHP_INT_MAX, $user, $password );
                $this->assertSame( $expected, $status->isGood() );
        }
+
+       /**
+        * Verify that all password policy description messages actually exist.
+        * Messages used on Special:PasswordPolicies
+        */
+       public function testPasswordPolicyDescriptionsExist() {
+               global $wgPasswordPolicy;
+               $lang = Language::factory( 'en' );
+
+               foreach ( array_keys( $wgPasswordPolicy['checks'] ) as $check ) {
+                       $msgKey = 'passwordpolicies-policy-' . strtolower( $check );
+                       $this->assertTrue(
+                               wfMessage( $msgKey )->useDatabase( false )->inLanguage( $lang )->exists(),
+                               "Message '$msgKey' required by '$check' must exist"
+                       );
+               }
+       }
 }
index d69ad59..355f4ef 100644 (file)
@@ -78,6 +78,15 @@ class ExtensionJsonValidatorTest extends MediaWikiTestCase {
                                'good.json',
                                true
                        ],
+                       [
+                               'bad_url.json', 'bad_url.json did not pass validation.
+[url] Should use HTTPS for www.mediawiki.org URLs'
+                       ],
+                       [
+                               'bad_url2.json', 'bad_url2.json did not pass validation.
+[url] Should use www.mediawiki.org domain
+[url] Should use HTTPS for www.mediawiki.org URLs'
+                       ]
                ];
        }
 
index e763a19..9b03c5c 100644 (file)
@@ -72,6 +72,10 @@ class ResourceLoaderClientHtmlTest extends PHPUnit\Framework\TestCase {
                                'shouldEmbed' => true,
                                'styles' => '.shouldembed{}',
                        ],
+                       'test.styles.deprecated' => [
+                               'type' => ResourceLoaderModule::LOAD_STYLES,
+                               'deprecated' => 'Deprecation message.',
+                       ],
 
                        'test.scripts' => [],
                        'test.scripts.user' => [ 'group' => 'user' ],
@@ -125,6 +129,7 @@ class ResourceLoaderClientHtmlTest extends PHPUnit\Framework\TestCase {
                        'test.styles.private',
                        'test.styles.pure',
                        'test.styles.shouldembed',
+                       'test.styles.deprecated',
                        'test.unregistered.styles',
                ] );
                $client->setModuleScripts( [
@@ -145,6 +150,7 @@ class ResourceLoaderClientHtmlTest extends PHPUnit\Framework\TestCase {
                                'test.styles.user.empty' => 'ready',
                                'test.styles.private' => 'ready',
                                'test.styles.shouldembed' => 'ready',
+                               'test.styles.deprecated' => 'ready',
                                'test.scripts' => 'loading',
                                'test.scripts.user' => 'loading',
                                'test.scripts.user.empty' => 'ready',
@@ -155,6 +161,7 @@ class ResourceLoaderClientHtmlTest extends PHPUnit\Framework\TestCase {
                        ],
                        'styles' => [
                                'test.styles.pure',
+                               'test.styles.deprecated',
                        ],
                        'scripts' => [
                                'test.scripts',
@@ -169,6 +176,13 @@ class ResourceLoaderClientHtmlTest extends PHPUnit\Framework\TestCase {
                                        'test.user',
                                ],
                        ],
+                       'styledeprecations' => [
+                               Xml::encodeJsCall(
+                                       'mw.log.warn',
+                                       [ 'This page is using the deprecated ResourceLoader module "test.styles.deprecated".
+Deprecation message.' ]
+                               )
+                       ],
                ];
 
                $access = TestingAccessWrapper::newFromObject( $client );
@@ -186,7 +200,9 @@ class ResourceLoaderClientHtmlTest extends PHPUnit\Framework\TestCase {
                $context = self::makeContext();
                $context->getResourceLoader()->register( self::makeSampleModules() );
 
-               $client = new ResourceLoaderClientHtml( $context );
+               $client = new ResourceLoaderClientHtml( $context, [
+                       'nonce' => false,
+               ] );
                $client->setConfig( [ 'key' => 'value' ] );
                $client->setModules( [
                        'test',
@@ -195,6 +211,7 @@ class ResourceLoaderClientHtmlTest extends PHPUnit\Framework\TestCase {
                $client->setModuleStyles( [
                        'test.styles.pure',
                        'test.styles.private',
+                       'test.styles.deprecated',
                ] );
                $client->setModuleScripts( [
                        'test.scripts',
@@ -207,18 +224,19 @@ class ResourceLoaderClientHtmlTest extends PHPUnit\Framework\TestCase {
                $expected = '<script>document.documentElement.className = document.documentElement.className.replace( /(^|\s)client-nojs(\s|$)/, "$1client-js$2" );</script>' . "\n"
                        . '<script>(window.RLQ=window.RLQ||[]).push(function(){'
                        . 'mw.config.set({"key":"value"});'
-                       . 'mw.loader.state({"test.exempt":"ready","test.private":"loading","test.styles.pure":"ready","test.styles.private":"ready","test.scripts":"loading"});'
+                       . 'mw.loader.state({"test.exempt":"ready","test.private":"loading","test.styles.pure":"ready","test.styles.private":"ready","test.styles.deprecated":"ready","test.scripts":"loading"});'
                        . 'mw.loader.implement("test.private@{blankVer}",function($,jQuery,require,module){},{"css":[]});'
                        . 'mw.loader.load(["test"]);'
                        . 'mw.loader.load("/w/load.php?debug=false\u0026lang=nl\u0026modules=test.scripts\u0026only=scripts\u0026skin=fallback");'
+                       . 'mw.log.warn("This page is using the deprecated ResourceLoader module \"test.styles.deprecated\".\nDeprecation message.");'
                        . '});</script>' . "\n"
-                       . '<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=nl&amp;modules=test.styles.pure&amp;only=styles&amp;skin=fallback"/>' . "\n"
+                       . '<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=nl&amp;modules=test.styles.deprecated%2Cpure&amp;only=styles&amp;skin=fallback"/>' . "\n"
                        . '<style>.private{}</style>' . "\n"
                        . '<script async="" src="/w/load.php?debug=false&amp;lang=nl&amp;modules=startup&amp;only=scripts&amp;skin=fallback"></script>';
                // phpcs:enable
                $expected = self::expandVariables( $expected );
 
-               $this->assertEquals( $expected, $client->getHeadHtml( false ) );
+               $this->assertEquals( $expected, $client->getHeadHtml() );
        }
 
        /**
@@ -237,7 +255,26 @@ class ResourceLoaderClientHtmlTest extends PHPUnit\Framework\TestCase {
                        . '<script async="" src="/w/load.php?debug=false&amp;lang=nl&amp;modules=startup&amp;only=scripts&amp;skin=fallback&amp;target=example"></script>';
                // phpcs:enable
 
-               $this->assertEquals( $expected, $client->getHeadHtml( false ) );
+               $this->assertEquals( $expected, $client->getHeadHtml() );
+       }
+
+       /**
+        * Confirm that 'safemode' is passed down to startup.
+        *
+        * @covers ResourceLoaderClientHtml::getHeadHtml
+        */
+       public function testGetHeadHtmlWithSafemode() {
+               $client = new ResourceLoaderClientHtml(
+                       self::makeContext(),
+                       [ 'safemode' => '1' ]
+               );
+
+               // phpcs:disable Generic.Files.LineLength
+               $expected = '<script>document.documentElement.className = document.documentElement.className.replace( /(^|\s)client-nojs(\s|$)/, "$1client-js$2" );</script>' . "\n"
+                       . '<script async="" src="/w/load.php?debug=false&amp;lang=nl&amp;modules=startup&amp;only=scripts&amp;safemode=1&amp;skin=fallback"></script>';
+               // phpcs:enable
+
+               $this->assertEquals( $expected, $client->getHeadHtml() );
        }
 
        /**
@@ -256,7 +293,7 @@ class ResourceLoaderClientHtmlTest extends PHPUnit\Framework\TestCase {
                        . '<script async="" src="/w/load.php?debug=false&amp;lang=nl&amp;modules=startup&amp;only=scripts&amp;skin=fallback"></script>';
                // phpcs:enable
 
-               $this->assertEquals( $expected, $client->getHeadHtml( false ) );
+               $this->assertEquals( $expected, $client->getHeadHtml() );
        }
 
        /**
index 564f50b..ca4fb34 100644 (file)
@@ -162,6 +162,75 @@ mw.loader.register( [
         "test.blank",
         "{blankVer}"
     ]
+] );'
+                       ] ],
+                       [ [
+                               'msg' => 'Safemode disabled (default; register all modules)',
+                               'modules' => [
+                                       // Default origin: ORIGIN_CORE_SITEWIDE
+                                       'test.blank' => new ResourceLoaderTestModule(),
+                                       'test.core-generated' => new ResourceLoaderTestModule( [
+                                               'origin' => ResourceLoaderModule::ORIGIN_CORE_INDIVIDUAL
+                                       ] ),
+                                       'test.sitewide' => new ResourceLoaderTestModule( [
+                                               'origin' => ResourceLoaderModule::ORIGIN_USER_SITEWIDE
+                                       ] ),
+                                       'test.user' => new ResourceLoaderTestModule( [
+                                               'origin' => ResourceLoaderModule::ORIGIN_USER_INDIVIDUAL
+                                       ] ),
+                               ],
+                               'out' => '
+mw.loader.addSource( {
+    "local": "/w/load.php"
+} );
+mw.loader.register( [
+    [
+        "test.blank",
+        "{blankVer}"
+    ],
+    [
+        "test.core-generated",
+        "{blankVer}"
+    ],
+    [
+        "test.sitewide",
+        "{blankVer}"
+    ],
+    [
+        "test.user",
+        "{blankVer}"
+    ]
+] );'
+                       ] ],
+                       [ [
+                               'msg' => 'Safemode enabled (filter modules with user/site origin)',
+                               'extraQuery' => [ 'safemode' => '1' ],
+                               'modules' => [
+                                       // Default origin: ORIGIN_CORE_SITEWIDE
+                                       'test.blank' => new ResourceLoaderTestModule(),
+                                       'test.core-generated' => new ResourceLoaderTestModule( [
+                                               'origin' => ResourceLoaderModule::ORIGIN_CORE_INDIVIDUAL
+                                       ] ),
+                                       'test.sitewide' => new ResourceLoaderTestModule( [
+                                               'origin' => ResourceLoaderModule::ORIGIN_USER_SITEWIDE
+                                       ] ),
+                                       'test.user' => new ResourceLoaderTestModule( [
+                                               'origin' => ResourceLoaderModule::ORIGIN_USER_INDIVIDUAL
+                                       ] ),
+                               ],
+                               'out' => '
+mw.loader.addSource( {
+    "local": "/w/load.php"
+} );
+mw.loader.register( [
+    [
+        "test.blank",
+        "{blankVer}"
+    ],
+    [
+        "test.core-generated",
+        "{blankVer}"
+    ]
 ] );'
                        ] ],
                        [ [
@@ -394,7 +463,8 @@ mw.loader.register( [
                        $this->setMwGlobals( 'wgResourceLoaderSources', $case['sources'] );
                }
 
-               $context = $this->getResourceLoaderContext();
+               $extraQuery = isset( $case['extraQuery'] ) ? $case['extraQuery'] : [];
+               $context = $this->getResourceLoaderContext( $extraQuery );
                $rl = $context->getResourceLoader();
                $rl->register( $case['modules'] );
                $module = new ResourceLoaderStartUpModule();
index e811d87..95006aa 100644 (file)
@@ -8,9 +8,7 @@ class ResourceLoaderTest extends ResourceLoaderTestCase {
                parent::setUp();
 
                $this->setMwGlobals( [
-                       'wgResourceLoaderLESSImportPaths' => [
-                               dirname( dirname( __DIR__ ) ) . '/data/less/common',
-                       ],
+                       'wgResourceLoaderLESSImportPaths' => [],
                        'wgResourceLoaderLESSVars' => [
                                'foo'  => '2px',
                                'Foo' => '#eeeeee',
@@ -264,6 +262,20 @@ class ResourceLoaderTest extends ResourceLoaderTestCase {
                $this->assertStringEqualsFile( $basePath . '/styles.css', $styles['all'] );
        }
 
+       /**
+        * @covers ResourceLoader::getLessCompiler
+        */
+       public function testLessImportDirs() {
+               $rl = new EmptyResourceLoader();
+               $lc = $rl->getLessCompiler();
+               $basePath = dirname( dirname( __DIR__ ) ) . '/data/less';
+               $lc->SetImportDirs( [
+                        "$basePath/common" => '',
+               ] );
+               $css = $lc->parseFile( "$basePath/module/use-import-dir.less" )->getCss();
+               $this->assertStringEqualsFile( "$basePath/module/styles.css", $css );
+       }
+
        public static function providePackedModules() {
                return [
                        [
index e1b98ec..c272551 100644 (file)
@@ -104,6 +104,13 @@ class MediaWikiTitleCodecTest extends MediaWikiTestCase {
                        // names ending in "a" to be female.
                        [ NS_USER, 'Lisa_Müller', '', '', 'de', 'Benutzerin:Lisa Müller' ],
                        [ NS_MAIN, 'FooBar', '', 'remotetestiw', 'en', 'remotetestiw:FooBar' ],
+                       // Strip soft hyphen and Unicode directional formatting characters
+                       [ NS_MAIN, "Foo\xC2\xAD\xD8\x9C\xE2\x80\x8E\xE2\x80\x8F\xE2\x80\xAA\xE2\x80\xAB" .
+                               "\xE2\x80\xAC\xE2\x80\xAD\xE2\x80\xAE\xE2\x81\xA6\xE2\x81\xA7" .
+                               "\xE2\x81\xA8\xE2\x81\xA9bar", '', '', 'en',
+                               "Foo\xC2\xAD\xD8\x9C\xE2\x80\x8E\xE2\x80\x8F\xE2\x80\xAA\xE2\x80\xAB" .
+                               "\xE2\x80\xAC\xE2\x80\xAD\xE2\x80\xAE\xE2\x81\xA6\xE2\x81\xA7" .
+                               "\xE2\x81\xA8\xE2\x81\xA9bar", 'Foobar' ],
                ];
        }
 
index 5a554a0..11c1097 100644 (file)
@@ -3,6 +3,7 @@
 /**
  * @covers LanguageCrh
  * @covers CrhConverter
+ * @covers MediaWiki\Languages\Data\CrhExceptions
  */
 class LanguageCrhTest extends LanguageClassesTestCase {
        /**
@@ -103,6 +104,14 @@ class LanguageCrhTest extends LanguageClassesTestCase {
                                ],
                                'ДЖУРЬМЕК CÜRMEK кетсин ketsin джумлеси cümlesi ильи ilyi Ильи İlyi'
                        ],
+                       [ // recent problem words, part 7
+                               [
+                                       'crh'      => 'бруцел brutsel коцюб kotsüb плацен platsen эпицентр epitsentr',
+                                       'crh-cyrl' => 'бруцел бруцел коцюб коцюб плацен плацен эпицентр эпицентр',
+                                       'crh-latn' => 'brutsel brutsel kotsüb kotsüb platsen platsen epitsentr epitsentr',
+                               ],
+                               'бруцел brutsel коцюб kotsüb плацен platsen эпицентр epitsentr'
+                       ],
                        [ // regex pattern words
                                [
                                        'crh'      => 'köyünden коюнден ange аньге',
index e81d537..30b4df8 100644 (file)
@@ -68,7 +68,7 @@ class LanguageSrTest extends LanguageClassesTestCase {
         * @covers LanguageConverter::convertTo
         */
        public function testConversionToCyrillic() {
-               // A simple convertion of Latin to Cyrillic
+               // A simple conversion of Latin to Cyrillic
                $this->assertEquals( 'абвг',
                        $this->convertToCyrillic( 'abvg' )
                );
@@ -76,7 +76,7 @@ class LanguageSrTest extends LanguageClassesTestCase {
                $this->assertEquals( 'ljабnjвгdž',
                        $this->convertToCyrillic( '-{lj}-ab-{nj}-vg-{dž}-' )
                );
-               // A simple convertion of Cyrillic to Cyrillic
+               // A simple conversion of Cyrillic to Cyrillic
                $this->assertEquals( 'абвг',
                        $this->convertToCyrillic( 'абвг' )
                );
@@ -110,11 +110,11 @@ class LanguageSrTest extends LanguageClassesTestCase {
         * @covers LanguageConverter::convertTo
         */
        public function testConversionToLatin() {
-               // A simple convertion of Latin to Latin
+               // A simple conversion of Latin to Latin
                $this->assertEquals( 'abcd',
                        $this->convertToLatin( 'abcd' )
                );
-               // A simple convertion of Cyrillic to Latin
+               // A simple conversion of Cyrillic to Latin
                $this->assertEquals( 'abcd',
                        $this->convertToLatin( 'абцд' )
                );
index 785e114..1922de5 100644 (file)
@@ -115,12 +115,6 @@ return [
                        'jquery.tablesorter',
                        'jquery.textSelection',
                        'mediawiki.api',
-                       'mediawiki.api.category',
-                       'mediawiki.api.messages',
-                       'mediawiki.api.options',
-                       'mediawiki.api.parse',
-                       'mediawiki.api.upload',
-                       'mediawiki.api.watch',
                        'mediawiki.ForeignApi.core',
                        'mediawiki.jqueryMsg',
                        'mediawiki.messagePoster',
index 2300949..3b710c4 100644 (file)
  * @author Lupo
  * @since 1.20
  */
+
+// This file doesn't run as part of MediaWiki
+// phpcs:disable MediaWiki.Usage.SuperGlobalsUsage.SuperGlobals
+
 header( 'Content-Type: text/javascript; charset=utf-8' );
 
 $moduleImplementations = [
index 0e84581..e37f67d 100644 (file)
  * @author Timo Tijhof
  * @since 1.20
  */
+
+// This file doesn't run as part of MediaWiki
+// phpcs:disable MediaWiki.Usage.SuperGlobalsUsage.SuperGlobals
+
 header( 'Content-Type: text/css; charset=utf-8' );
 
 /**
index 74caf5c..495ce74 100644 (file)
                                '<tr><td>B</td></tr>' +
                                '<tr><td>G</td></tr>' +
                                '<tr><td data-sort-value="F">C</td></tr>' +
+                               '<tr><td><span data-sort-value="D">H</span></td></tr>' +
                                '</tbody></table>'
                );
                $table.tablesorter().find( '.headerSort:eq(0)' ).click();
                                data: undefined,
                                text: 'D'
                        },
+                       {
+                               data: undefined,
+                               text: 'H'
+                       },
                        {
                                data: 'E',
                                text: 'A'
index d6fe744..e8db4e1 100644 (file)
                title = new mw.Title( 'Foo \u00A0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000 bar' );
                assert.equal( title.getMain(), 'Foo_bar', 'Merge multiple types of whitespace/underscores into a single underscore' );
 
-               title = new mw.Title( 'Foo\u200E\u200F\u202A\u202B\u202C\u202D\u202Ebar' );
-               assert.equal( title.getMain(), 'Foobar', 'Strip Unicode bidi override characters' );
+               title = new mw.Title( 'Foo\u00AD\u061C\u200E\u200F\u202A\u202B\u202C\u202D\u202E\u2066\u2067\u2068\u2069bar' );
+               assert.equal( title.getMain(), 'Foobar', 'Strip soft hyphen and Unicode directional formatting characters' );
 
                // Regression test: Previously it would only detect an extension if there is no space after it
                title = new mw.Title( 'Example.js  ' );
                                },
                                {
                                        fileName: 'BI\u200EDI.jpg',
-                                       typeOfName: 'Name containing BIDI overrides',
+                                       typeOfName: 'Name containing Unicode directional formatting characters',
                                        nameText: 'BIDI',
                                        prefixedText: 'File:BIDI.jpg'
                                },
index 3b71413..a3c9d84 100644 (file)
--- a/thumb.php
+++ b/thumb.php
@@ -35,7 +35,7 @@ if ( defined( 'THUMB_HANDLER' ) ) {
        wfThumbHandle404();
 } else {
        // Called directly, use $_GET params
-       wfStreamThumb( $_GET );
+       wfStreamThumb( $wgRequest->getQueryValues() );
 }
 
 $mediawiki = new MediaWiki();