=== Bug fixes in 1.29 ===
* (T62604) Core parser functions returning a number now format the number according
to the page content language, not wiki content language.
+* (T27187) Search suggestions based on jquery.suggestions will now correctly only
+ highlight prefix matches in the results.
=== Action API changes in 1.29 ===
* Submitting sensitive authentication request parameters to action=clientlogin,
"apihelp-protect-example-unprotect": "Unprotect a page by setting restrictions to <kbd>all</kbd> (i.e. everyone is allowed to take the action).",
"apihelp-protect-example-unprotect2": "Unprotect a page by setting no restrictions.",
- "apihelp-purge-description": "Purge the cache for the given titles.\n\nRequires a POST request if the user is not logged in.",
+ "apihelp-purge-description": "Purge the cache for the given titles.",
"apihelp-purge-param-forcelinkupdate": "Update the links tables.",
"apihelp-purge-param-forcerecursivelinkupdate": "Update the links table, and update the links tables for any page that uses this page as a template.",
"apihelp-purge-example-simple": "Purge the <kbd>Main Page</kbd> and the <kbd>API</kbd> page.",
"apihelp-feedwatchlist-description": "Renvoie un flux de liste de suivi.",
"apihelp-feedwatchlist-param-feedformat": "Le format du flux.",
"apihelp-feedwatchlist-param-hours": "Lister les pages modifiées lors de ce nombre d’heures depuis maintenant.",
- "apihelp-feedwatchlist-param-linktosections": "Lier directement pour modifier les sections si possible.",
+ "apihelp-feedwatchlist-param-linktosections": "Lier directement vers les sections modifées si possible.",
"apihelp-feedwatchlist-example-default": "Afficher le flux de la liste de suivi",
"apihelp-feedwatchlist-example-all6hrs": "Afficher toutes les modifications sur les pages suivies dans les dernières 6 heures",
"apihelp-filerevert-description": "Rétablir un fichier dans une ancienne version.",
return
"<fieldset id='mw-searchoptions'>" .
"<legend>" . $this->specialSearch->msg( 'powersearch-legend' )->escaped() . '</legend>' .
- "<h4>" . $this->specialSearch->msg( 'powersearch-ns' )->escaped() . '</h4>' .
+ "<h4>" . $this->specialSearch->msg( 'powersearch-ns' )->parse() . '</h4>' .
// populated by js if available
"<div id='mw-search-togglebox'></div>" .
$divider .
"passwordreset-emaildisabled": "Tanda e-surat ka geupeumaté lam wiki nyoë",
"passwordreset-username": "Ureueng ngui:",
"passwordreset-domain": "Domain",
- "passwordreset-capture": "Eu hasé surat-e?",
- "passwordreset-capture-help": "Meunyoë droëneuh neuceuë kutak nyoë, e-surat (ngon narit rahsia siat) ka geupeuleumah keudroëneuh ngon geukirém cit keu ureuëng ngui",
"passwordreset-email": "Alamat surat-e:",
"passwordreset-emailtitle": "Teuneurang nan ureueng ngui bak {{SITENAME}}",
"passwordreset-emailelement": "Nan ureuëng ngui: \n$1\n\nLageuëm rahsia sijamong: \n$2",
"searchprofile-advanced-tooltip": "Mita bak ruweuëng nan meupat-pat",
"search-result-size": "$1 ({{PLURAL:$2|1 narit|$2 narit}})",
"search-result-category-size": "{{PLURAL:$1|1 anggeeta|$1 anggeeta}} ({{PLURAL:$2|1 aneuk kawan|$2 aneuk kawan}}, {{PLURAL:$3|1 beureukaih|$3 beureukaih}})",
- "search-redirect": "(peuninah $1)",
+ "search-redirect": "(geupupinah nibak $1)",
"search-section": "(bideuëng $1)",
"search-suggest": "Kadang meukeusud Droëneuh nakeuh: $1",
"search-interwiki-caption": "Buët la’én",
"prefs-rendering": "Seuneudeuh",
"saveprefs": "Keubah",
"prefs-editing": "Neuandam",
- "rows": "Baréh:",
"searchresultshead": "Mita",
"stub-threshold-disabled": "Geupeumaté",
"timezoneuseoffset": "La'én (peuteuntèe bidajih)",
"userrights-groupsmember": "Anggèeta nibak:",
"userrights-reason": "Dalèh:",
"userrights-no-interwiki": "Droeneuh hana izin keu neuubah khut ureueng ngui bak wiki la'én.",
- "userrights-notallowed": "Droeneuh hana izin keu neutamah atawa neupeugadöh khut ureueng ngui.",
"userrights-changeable-col": "Kawan nyang jeut neugantoe",
"userrights-unchangeable-col": "Kawan nyang han jeut neugantoe",
"group": "Kawan:",
"rcnotefrom": "Di yup nyoë nakeuh neuubah yôh <strong>$2</strong> (geupeudeuh trôh ‘an <strong>$1</strong> neuubah).",
"rclistfrom": "Peudeuih neuubah barô yôh $3 $2 kön",
"rcshowhideminor": "$1 andam bacut",
+ "rcshowhideminor-show": "Peuleumah",
"rcshowhideminor-hide": "Peusom",
"rcshowhidebots": "$1 bot",
"rcshowhidebots-show": "Peuleumah",
+ "rcshowhidebots-hide": "Peusom",
"rcshowhideliu": "$1 ureuëng ngui tamöng",
"rcshowhideliu-hide": "Peusom",
"rcshowhideanons": "$1 ureuëng ngui hana nan",
+ "rcshowhideanons-show": "Peuleumah",
"rcshowhideanons-hide": "Peusom",
"rcshowhidepatr": "$1 andam teurunda",
"rcshowhidemine": "$1 atra lôn andam",
+ "rcshowhidemine-show": "Peuleumah",
"rcshowhidemine-hide": "Peusom",
"rclinks": "Peudeuih $1 neuubah barô lam $2 uroë nyoë<br />$3",
"diff": "bida",
"deleteotherreason": "Nyang la’én/choë la’én:",
"deletereasonotherlist": "Choë la’én",
"rollbacklink": "pulang",
+ "rollbacklinkcount": "peuriwang $1 {{PLURAL:$1|neuandam}}",
"protectlogpage": "Log lindông",
"protectedarticle": "peulindông \"[[$1]]\"",
"modifiedarticleprotection": "Ubah tingkat lindông \"[[$1]]\"",
"contributions": "Beuneuri {{GENDER:$1|ureuëng ngui}}",
"contributions-title": "Beuneuri ureuëng ngui keu $1",
"mycontris": "Beuneuri",
+ "anoncontribs": "Beuneuri",
"contribsub2": "Keu {{GENDER:$3|$1}} ($2)",
"uctop": "(jinoë)",
"month": "Mula phôn buleuën (ngön sigohlomjih)",
"thumbnail-more": "Peurayek",
"thumbnail_error": "Salah bak peugöt gamba cut: $1",
"importlogpage": "Log impor",
- "tooltip-pt-userpage": "Laman ureuëng ngui droëneuh",
+ "tooltip-pt-userpage": "Mieng {{GENDER:|ureueng ngui Droeneuh}}",
"tooltip-pt-mytalk": "Laman marit droëneuh",
- "tooltip-pt-preferences": "Geunalak",
+ "tooltip-pt-preferences": "Atô",
"tooltip-pt-watchlist": "Dapeuta laman nyang lônkalön",
"tooltip-pt-mycontris": "Dapeuta beuneuri Droëneuh",
"tooltip-pt-login": "Droëneuh geupadan keu tamong log, bah pih nyan hana geupeuwajéb.",
"exif-software": "Software geungui",
"exif-exifversion": "Versi Exif",
"exif-colorspace": "Ruweuëng wareuna",
+ "exif-datetimeoriginal": "Uroe buleuen ngön watèe peugöt data",
"exif-datetimedigitized": "Uroë buleuën ngön watèë digital",
"exif-orientation-1": "Biasa",
"namespacesall": "ban dum",
"tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Tag}}]]: $2)",
"logentry-delete-delete": "$1 {{GENDER:$2|geusampôh}} miëng $3",
"logentry-newusers-create": "$1 {{GENDER:$2|geupeugöt}} akun ureuëng ngui",
- "searchsuggest-search": "Mita",
+ "logentry-upload-upload": "$1 {{GENDER:$2|geupasoe}} $3",
+ "searchsuggest-search": "Mita {{SITENAME}}",
"duration-seconds": "{{PLURAL:$1|deutik}}",
"duration-minutes": "{{PLURAL:$1|minèt}}",
"duration-hours": "{{PLURAL:$1|jeum}}",
"missingarticle-rev": "(nīwung#: $1)",
"internalerror": "Inweard wōh",
"internalerror_info": "Inweard wōh: $1",
+ "internalerror-fatal-exception": "Wælgescead þæs cynn is \"$1\"",
"filecopyerror": "Nē cūðe biwrītan þā ymelan \"$1\" tō \"$2\".",
"filerenameerror": "Ne cūðe ednemnan ymelan \"$1\" tō \"$2\".",
"filedeleteerror": "Ne cūðe forlēosan þā ymelan \"$1\".",
+ "directorycreateerror": "We ne mot scieppan ymbfeng \"$1\"",
"filenotfound": "Ne cūðe findan ymelan \"$1\".",
"formerror": "Wōh: ne cūðe cȳþþugewrit forþsendan.",
"badarticleerror": "Þēos dǣd ne cann bēon gefremed on þissum tramete.",
"prefs-rc": "Nīwa andwendunga",
"prefs-watchlist": "Wæccgetæl",
"saveprefs": "Hordian",
- "rows": "Rǣwa:",
- "columns": "Sȳla:",
"searchresultshead": "Sōcn",
"recentchangescount": "Hū mæniga adihtunga to īwenne gewunelīce:",
"savedprefs": "Þīna foreberunga wurdon gehordod.",
"باسم",
"Moud hosny",
"ديفيد",
- "Super ninja2"
+ "Super ninja2",
+ "Mr. Ibrahem"
]
},
"tog-underline": "سطر تحت الوصلات:",
"uploaded-setting-handler-svg": "SVG الذي يضبط سمة \"handler\" مع خارجي/بيانات/سكريبت ممنوع. تم العثور على <code>$1=\"$2\"</code> في ملف SVG المرفوع.",
"uploaded-remote-url-svg": "SVG الذي يضبط أي سمة شكل مع URL خارجي ممنوع. تم العثور على <code>$1=\"$2\"</code> في ملف SVG المرفوع.",
"uploaded-image-filter-svg": "تم العثور على فلتر صورة مع URL: <code><$1 $2=\"$3\"></code> في ملف SVG المرفوع.",
- "uploadscriptednamespace": "يحتوي ملف SVG هذا على اسم نطاق غير مشروع \" <nowiki>$1</nowiki> \"",
+ "uploadscriptednamespace": "يحتوي ملف SVG هذا على اسم نطاق غير مشروع \"<nowiki>$1</nowiki>\"",
"uploadinvalidxml": "تعذر تحليل XML في الملف المرفوع.",
"uploadvirus": "الملف يحتوي على فيروس! التفاصيل: $1",
"uploadjava": "يحتوي ملف ZIP هذا على ملفات جافا .class.\nلا يسمح برفع ملفات جافا لأنها تتيح تخطي القيود الأمنية.",
"booksources-search": "بحث",
"booksources-text": "توجد أدناه قائمة بوصلات لمواقع أخرى تبيع الكتب الجديدة والمستعملة، أيضا يمكنك أن تحصل على معلومات إضافية عن الكتب التي تبحث عنها من هناك:",
"booksources-invalid-isbn": "رقم ISBN المعطى لا يبدو صحيحا؛ تحقق من أخطاء النسخ من المصدر الأصلي.",
- "magiclink-tracking-rfc": "الصفحات التي تستخدم الوصلات السحرية لRFC",
+ "magiclink-tracking-rfc": "الصفحات التي تستخدم وصلات RFC السحرية",
"magiclink-tracking-rfc-desc": "هذه الصفحة تستخدم الوصلات السحرية لRFC. انظر [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] حول كيفية التغيير.",
- "magiclink-tracking-pmid": "الصفحات التي تستخدم الوصلات السحرية لPMID",
+ "magiclink-tracking-pmid": "الصفحات التي تستخدم وصلات PMID السحرية",
"magiclink-tracking-pmid-desc": "هذه الصفحة تستخدم الوصلات السحرية لPMID. انظر [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] حول كيفية التغيير.",
- "magiclink-tracking-isbn": "الصفحات التي تستخدم الوصلات السحرية لISBN",
+ "magiclink-tracking-isbn": "الصفحات التي تستخدم وصلات ISBN السحرية",
"magiclink-tracking-isbn-desc": "هذه الصفحة تستخدم الوصلات السحرية لISBN. انظر [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] حول كيفية التغيير.",
"specialloguserlabel": "المؤدي:",
"speciallogtitlelabel": "الهدف (عنوان أو {{ns:user}}:اسم المستخدم للمستخدم):",
"search-interwiki-caption": "Сумежныя праекты",
"search-interwiki-default": "Вынікі з $1:",
"search-interwiki-more": "(яшчэ)",
+ "search-interwiki-more-results": "больш вынікаў",
"search-relatedarticle": "Зьвязаны",
"searchrelated": "зьвязаны",
"searchall": "усе",
"editusergroup": "Загрузіць групы ўдзельніка",
"editinguser": "Зьмена правоў {{GENDER:$1|удзельніка|удзельніцы}} <strong>[[User:$1|$1]]</strong> $2",
"viewinguserrights": "Прагляд правоў {{GENDER:$1|удзельніка|удзельніцы}} <strong>[[User:$1|$1]]</strong> $2",
- "userrights-editusergroup": "Рэдагаваць групы ўдзельнікаў і ўдзельніц",
- "userrights-viewusergroup": "Прагляд групаў удзельніка",
+ "userrights-editusergroup": "Рэдагаваць групы {{GENDER:$1|ўдзельніка|ўдзельніцы}}",
+ "userrights-viewusergroup": "Прагляд групаў {{GENDER:$1|удзельніка|удзельніцы}}",
"saveusergroups": "Захаваць групы {{GENDER:$1|ўдзельнікаў і ўдзельніц}}",
"userrights-groupsmember": "Уваходзіць у:",
"userrights-groupsmember-auto": "Няяўны чалец:",
"unprotectthispage": "Промяна на защитата на тази страница",
"newpage": "Нова страница",
"talkpage": "Дискусионна страница",
- "talkpagelinktext": "Ð\91еседа",
+ "talkpagelinktext": "беседа",
"specialpage": "Специална страница",
"personaltools": "Лични инструменти",
"articlepage": "Преглед на страница",
"confirmemail": "Potvrdite adresu e-pošte",
"confirmemail_noemail": "Niste unijeli tačnu e-mail adresu u Vaše [[Special:Preferences|korisničke postavke]].",
"confirmemail_text": "Ova viki zahtjeva da potvrdite adresu Vaše e-pošte prije nego što koristite mogućnosti e-pošte. Aktivirajte dugme ispod kako bi ste poslali poštu za potvrdu na Vašu adresu. Pošta uključuje link koji sadrži kod; učitajte link u Vaš preglednik da bi ste potvrdili da je adresa Vaše e-pošte validna.",
- "confirmemail_pending": "Konfirmacioni kod Vam je već poslan putem e-maila;\nako ste nedavno otvorili Vaš račun, trebali bi pričekati par minuta da poslana pošta stigne, prije nego što ponovno zahtijevate novi kod.",
+ "confirmemail_pending": "Potvrdni kod Vam je već poslan e-poštom;\nako ste nedavno otvorili račun, trebali biste pričekati nekoliko minuta da poslana pošta stigne, prije nego što ponovo zahtijevate novi kod.",
"confirmemail_send": "Pošaljite kod za potvrdu",
"confirmemail_sent": "E-pošta za potvrđivanje poslata.",
"confirmemail_oncreate": "Kod za potvrđivanje Vam je poslat na Vašu e-mail adresu.\nTaj kod nije neophodan za prijavljivanje, ali Vam ne potreban kako bi ste omogućili funkcije wikija zasnovane na e-mailu.",
"search-interwiki-caption": "Projectes germans",
"search-interwiki-default": "Resultats de $1:",
"search-interwiki-more": "(més)",
+ "search-interwiki-more-results": "més resultats",
"search-relatedarticle": "Relacionat",
"searchrelated": "relacionat",
"searchall": "tots",
"editusergroup": "Carrega els grups d'usuari",
"editinguser": "Modificació dels permisos de {{GENDER:$1|l'usuari|la usuària}} <strong>[[User:$1|$1]]</strong>$2",
"viewinguserrights": "Visualització del drets de {{GENDER:$1|l'usuari|la usuària}} <strong>[[User:$1|$1]]</strong> $2",
- "userrights-editusergroup": "Edita els grups d'usuaris",
- "userrights-viewusergroup": "Mostra els grups d'usuari",
+ "userrights-editusergroup": "Edita els grups de l'{{GENDER:$1|usuari|usuària}}",
+ "userrights-viewusergroup": "Mostra els grups de l'{{GENDER:$1|usuari|usuària}}",
"saveusergroups": "Desa els grups d'{{GENDER:$1|usuari}}",
"userrights-groupsmember": "Membre de:",
"userrights-groupsmember-auto": "Membre implícit de:",
"mw-widgets-titleinput-description-new-page": "la pàgina no existeix encara",
"mw-widgets-titleinput-description-redirect": "redirigeix a $1",
"mw-widgets-categoryselector-add-category-placeholder": "Afegeix una categoria...",
+ "mw-widgets-usersmultiselect-placeholder": "Afegeix-ne més...",
"sessionmanager-tie": "No es poden combinar diferents tipus de sol·licituds d'autenticació: $1.",
"sessionprovider-generic": "$1 sessions",
"sessionprovider-mediawiki-session-cookiesessionprovider": "sessions basades en galetes",
"Warszk",
"לערי ריינהארט",
"아라",
- "Kirsan"
+ "Kirsan",
+ "Ankry"
]
},
"tog-underline": "Pòdsztrëchiwùjë lënczi:",
"group-autoconfirmed": "Aùtomatno zacwierdzony brëkòwnicë",
"group-bot": "Bòtë",
"group-sysop": "Sprôwnicë",
- "group-bureaucrat": "Biurokracë",
+ "group-bureaucrat": "Biórokracë",
"group-suppress": "Rewizorzë",
"group-all": "(wszëtcë)",
- "group-user-member": "{{GENDER:$1|Brëkòwnik}}",
- "group-autoconfirmed-member": "aùtomatno zacwierdzony brëkòwnik",
- "group-bot-member": "bòt",
- "group-sysop-member": "sprôwnik",
- "group-bureaucrat-member": "biurokrata",
+ "group-user-member": "{{GENDER:$1|brëkòwnik|brëkòwniczka}}",
+ "group-autoconfirmed-member": "{{GENDER:$1|aùtomatno zacwierdzony brëkòwnik|aùtomatno zacwierdzonô brëkòwniczka}}",
+ "group-bot-member": "{{GENDER:$1|bòt}}",
+ "group-sysop-member": "{{GENDER:$1|sprôwnik}}",
+ "group-bureaucrat-member": "{{GENDER:$1|biórokrata|biórokratka}}",
"group-suppress-member": "rewizora",
"grouppage-user": "{{ns:project}}:Brëkòwnicë",
"grouppage-autoconfirmed": "{{ns:project}}:Aùtomatno zacwierdzeni brëkòwnicë",
"grouppage-bot": "{{ns:project}}:Bòtë",
"grouppage-sysop": "{{ns:project}}:Sprôwnicë",
- "grouppage-bureaucrat": "{{ns:project}}:Biurokracë",
+ "grouppage-bureaucrat": "{{ns:project}}:Biórokracë",
"grouppage-suppress": "{{ns:project}}:Rewizorzë",
"right-read": "Czëtanié starnów",
"right-edit": "Edicëjô starnów",
"unwatchthispage": "Òprzestôj ùzerac ną starnã",
"notanarticle": "To nie je artikel",
"watchlist-details": "Ùzérôsz {{PLURAL:$1|$1 artikel|$1 artikle/-ów}}, nie rechùjąc diskùsëjów.",
- "wlheader-showupdated": "Artiklë jakczé òsta zmienioné òd Twòji slédny wizytë są wëapratnioné '''pògrëbieniém'''",
+ "wlheader-showupdated": "Artiklë jakczé òsta zmienioné òd Twòji slédny wizytë są wëapratnioné <strong>pògrëbieniém</strong>",
"wlnote": "Niżi môsz wëskrzënioné {{PLURAL:$1|slédną zmianã|'''$1''' slédnëch zmianów}} zrobioné òb {{PLURAL:$2|gòdzënã|'''$2''' gòdzënë/gòdzënów}}.",
"wlshowlast": "Wëskrzëni zjinaczi z $1 gòdzënów $2 dni",
"watchlist-options": "Òptacëje ùzérónych",
"mediastatistics-summary": "Statistiken über hochgeladene Dateitypen. Dies beinhaltet nur die aktuellste Version einer Datei. Alte oder gelöschte Dateiversionen sind ausgeschlossen.",
"mediastatistics-nfiles": "$1 ($2 %)",
"mediastatistics-nbytes": "{{PLURAL:$1|Ein Byte|$1 Bytes}} ($2; $3 %)",
- "mediastatistics-bytespertype": "Gesamte Dateigröße für diesen Abschnitt: {{PLURAL:$1|Ein Byte|$1 Bytes}} ($2; $3%).",
+ "mediastatistics-bytespertype": "Gesamte Dateigröße für diesen Abschnitt: {{PLURAL:$1|Ein Byte|$1 Bytes}} ($2; $3 %).",
"mediastatistics-allbytes": "Gesamte Dateigröße für alle Dateien: {{PLURAL:$1|Ein Byte|$1 Bytes}} ($2).",
"mediastatistics-table-mimetype": "MIME-Typ",
"mediastatistics-table-extensions": "Mögliche Erweiterungen",
"resetpass_submit": "Δώστε κωδικό πρόσβασης και συνδεθείτε",
"changepassword-success": "Ο κωδικός πρόσβασής σας άλλαξε!",
"changepassword-throttled": "Κάνατε πάρα πολλές πρόσφατες απόπειρες σύνδεσης.\nΠαρακαλούμε περιμένετε $1 προτού ξαναδοκιμάσετε.",
- "botpasswords": "Î\9aÏ\89δικοί Ï\80Ï\81Ï\8cÏ\83βαÏ\83ηÏ\82 για Î\9cÏ\80οτ",
- "botpasswords-summary": "<em>Î\9fι κÏ\89δικοί Ï\84Ï\89ν μÏ\80οÏ\84</em> δίνοÏ\85ν Ï\80Ï\81Ï\8cÏ\83βαÏ\83η Ï\83ε λογαÏ\81ιαÏ\83μÏ\8c Ï\87Ï\81ήÏ\83Ï\84η μÎÏ\83Ï\89 Ï\84οÏ\85 API Ï\87Ï\89Ï\81ίÏ\82 να Ï\87Ï\81ηÏ\83ιμοÏ\80οιοÏ\8dνÏ\84αι Ï\84α Ï\83Ï\85νθημαÏ\84ικά Ï\84ηÏ\82 κÏ\8dÏ\81ιαÏ\82 Ï\83Ï\8dνδεÏ\83ηÏ\82 Ï\84οÏ\85 λογαÏ\81ιαÏ\83μοÏ\8d. Τα δικαιÏ\8eμαÏ\84α Ï\87Ï\81ήÏ\83Ï\84η Ï\8cÏ\84αν με Ï\83Ï\8dνδεÏ\83η μÎÏ\83Ï\89 κÏ\89δικοÏ\8d μÏ\80οÏ\84 μÏ\80οÏ\81εί να είναι Ï\80εÏ\81ιοÏ\81ιÏ\83μÎνα.\n\nÎ\91ν δεν ξÎÏ\81εÏ\84ε γιαÏ\84ί θÎλεÏ\84ε να Ï\84ο κάνεÏ\84ε αÏ\85Ï\84Ï\8c, καλÏ\8dÏ\84εÏ\81α να μην Ï\84ο κάνεÏ\84ε. Î\9aανÎνα δεν θα Ï\80Ï\81ÎÏ\80ει να Ï\83αÏ\82 ζηÏ\84ήÏ\83ει να δημιοÏ\85Ï\81γήÏ\83εÏ\84ε Îνα Ï\84ÎÏ\84οιο κÏ\89δικÏ\8c και να Ï\84οÏ\85 Ï\84ον γνωστοποιήσετε.",
- "botpasswords-disabled": "Î\9fι κÏ\89δικοί Ï\80Ï\81Ï\8cÏ\83βαÏ\83ηÏ\82 Ï\84Ï\89ν Ï\81ομÏ\80Ï\8cÏ\84 είναι αÏ\80ενεÏ\81γοÏ\80οιημÎνοι.",
- "botpasswords-no-central-id": "Î\93ια να Ï\87Ï\81ηÏ\83ιμοÏ\80οιήÏ\83εÏ\84ε Ï\84οÏ\85Ï\82 κÏ\89δικοÏ\8dÏ\82 Ï\80Ï\81Ï\8cÏ\83βαÏ\83ηÏ\82 Ï\84Ï\89ν ρομπότ θα πρέπει να συνδεθείτε με έναν κεντρικό λογαριασμό.",
- "botpasswords-existing": "Î¥Ï\80άÏ\81Ï\87ονÏ\84εÏ\82 κÏ\89δικοί Ï\80Ï\81Ï\8cÏ\83βαÏ\83ηÏ\82 ρομπότ",
- "botpasswords-createnew": "Δημιουργία νέου κωδικού πρόσβασης ρομπότ",
- "botpasswords-editexisting": "Επεξεργασία υπάρχοντος κωδικού πρόσβασης ρομπότ",
- "botpasswords-label-appid": "Î\9fνομαÏ\83ία ρομπότ:",
+ "botpasswords": "ΣÏ\85νθημαÏ\84ικά για Ï\81ομÏ\80Ï\8cτ",
+ "botpasswords-summary": "<em>Τα Ï\83Ï\85νθημαÏ\84ικά για Ï\81ομÏ\80Ï\8cÏ\84</em> εÏ\80ιÏ\84Ï\81ÎÏ\80οÏ\85ν Ï\80Ï\81Ï\8cÏ\83βαÏ\83η Ï\83ε λογαÏ\81ιαÏ\83μÏ\8c Ï\87Ï\81ήÏ\83Ï\84η μÎÏ\83Ï\89 Ï\84οÏ\85 API Ï\87Ï\89Ï\81ίÏ\82 να Ï\87Ï\81ηÏ\83ιμοÏ\80οιοÏ\8dνÏ\84αι Ï\84α κÏ\8dÏ\81ια διαÏ\80ιÏ\83Ï\84εÏ\85Ï\84ήÏ\81ια Ï\83Ï\8dνδεÏ\83ηÏ\82 Ï\84οÏ\85 λογαÏ\81ιαÏ\83μοÏ\8d. Τα διαθÎÏ\83ιμα δικαιÏ\8eμαÏ\84α Ï\87Ï\81ήÏ\83Ï\84η Ï\8cÏ\84αν είναι Ï\83ε Ï\83Ï\8dνδεÏ\83η μÎÏ\83Ï\89 Ï\83Ï\85νθημαÏ\84ικοÏ\8d για Ï\81ομÏ\80Ï\8cÏ\84 μÏ\80οÏ\81εί να είναι Ï\80εÏ\81ιοÏ\81ιÏ\83μÎνα.\n\nÎ\91ν δεν ξÎÏ\81εÏ\84ε γιαÏ\84ί να Ï\84ο κάνεÏ\84ε αÏ\85Ï\84Ï\8c, καλÏ\8dÏ\84εÏ\81α να μην Ï\84ο κάνεÏ\84ε. Î\9aανείÏ\82 Ï\80οÏ\84Πδεν Ï\80Ï\81ÎÏ\80ει να Ï\83αÏ\82 ζηÏ\84ήÏ\83ει να δημιοÏ\85Ï\81γήÏ\83εÏ\84ε Îνα Ï\84ÎÏ\84οιο Ï\83Ï\85νθημαÏ\84ικÏ\8c και να Ï\84οÏ\85 Ï\84ο γνωστοποιήσετε.",
+ "botpasswords-disabled": "Τα Ï\83Ï\85νθημαÏ\84ικά Ï\84Ï\89ν Ï\81ομÏ\80Ï\8cÏ\84 είναι αÏ\80ενεÏ\81γοÏ\80οιημÎνα.",
+ "botpasswords-no-central-id": "Î\93ια να Ï\87Ï\81ηÏ\83ιμοÏ\80οιήÏ\83εÏ\84ε Ï\83Ï\85νθημαÏ\84ικά για ρομπότ θα πρέπει να συνδεθείτε με έναν κεντρικό λογαριασμό.",
+ "botpasswords-existing": "Î¥Ï\80άÏ\81Ï\87ονÏ\84α Ï\83Ï\85νθημαÏ\84ικά ρομπότ",
+ "botpasswords-createnew": "Δημιουργία νέου συνθηματικού ρομπότ",
+ "botpasswords-editexisting": "Επεξεργασία υπάρχοντος συνθηματικού ρομπότ",
+ "botpasswords-label-appid": "Î\8cνομα Ï\84οÏ\85 ρομπότ:",
"botpasswords-label-create": "Δημιουργία",
"botpasswords-label-update": "Ενημέρωση",
"botpasswords-label-cancel": "Ακύρωση",
"botpasswords-label-delete": "Διαγραφή",
- "botpasswords-label-resetpassword": "Επαναφορά κωδικού",
+ "botpasswords-label-resetpassword": "Επαναφορά του συνθηματικού",
"botpasswords-label-grants": "Ισχύουσες άδειες:",
"botpasswords-help-grants": "Κάθε παραχώρηση δίνει πρόσβαση στα ορισμένα δικαιώματα χρήστη που που ήδη έχει ένας λογαριασμός χρήστη. Δείτε τη [[Special:ListGrants|πίνακας παραχωρήσεων]] για περισσότερες πληροφορίες.",
"botpasswords-label-grants-column": "Χορηγήθηκε",
- "botpasswords-bad-appid": "Î\97 ονομαÏ\83ία Ï\84οÏ\85 Ï\81ομÏ\80Ï\8cÏ\84 «$1» δεν είναι ÎγκÏ\85Ï\81η.",
+ "botpasswords-bad-appid": "Το Ï\8cνομα Ï\84οÏ\85 Ï\81ομÏ\80Ï\8cÏ\84 «$1» δεν είναι ÎγκÏ\85Ï\81ο.",
"botpasswords-insert-failed": "Αποτυχία να προστεθεί το όνομα bot \"$1\". Έχει ήδη προστεθεί;",
- "botpasswords-update-failed": "Î\91Ï\80οÏ\84Ï\85Ï\87ία ενημÎÏ\81Ï\89Ï\83ηÏ\82 Ï\84ηÏ\82 ονομαÏ\83ίαÏ\82 Ï\84οÏ\85 Ï\81ομÏ\80Ï\8cÏ\84 «$1». Î\9cήÏ\80Ï\89Ï\82 διαγÏ\81άÏ\86Ï\84ηκε ο κÏ\89δικÏ\8cÏ\82;",
- "botpasswords-created-title": "Î\9f κÏ\89δικÏ\8cÏ\82 Ï\80Ï\81Ï\8cÏ\83βαÏ\83ηÏ\82 του ρομπότ δημιουργήθηκε",
- "botpasswords-created-body": "Î\9f κÏ\89δικÏ\8cÏ\82 Ï\80Ï\81Ï\8cÏ\83βαÏ\83ηÏ\82 για Ï\84ο Ï\8cνομα Ï\81ομÏ\80Ï\8cÏ\84 \"$1\" Ï\84οÏ\85 Ï\87Ï\81ήÏ\83Ï\84η \"$2\" δημιουργήθηκε.",
- "botpasswords-updated-title": "Î\9f κÏ\89δικÏ\8cÏ\82 Ï\80Ï\81Ï\8cÏ\83βαÏ\83ηÏ\82 του ρομπότ ενημερώθηκε",
- "botpasswords-updated-body": "Î\9f κÏ\89δικÏ\8cÏ\82 Ï\80Ï\81Ï\8cÏ\83βαÏ\83ηÏ\82 Ï\84οÏ\85 Ï\81ομÏ\80Ï\8cÏ\84 «$1» του χρήστη «$2» ενημερώθηκε.",
- "botpasswords-deleted-title": "Î\9f κÏ\89δικÏ\8cÏ\82 Ï\80Ï\81Ï\8cÏ\83βαÏ\83ηÏ\82 Ï\84οÏ\85 Ï\81ομÏ\80Ï\8cÏ\84 διαγÏ\81άÏ\86Ï\84ηκε",
+ "botpasswords-update-failed": "Î\91Ï\80οÏ\84Ï\85Ï\87ία ενημÎÏ\81Ï\89Ï\83ηÏ\82 Ï\84οÏ\85 Ï\81ομÏ\80Ï\8cÏ\84 με Ï\8cνομα «$1». Î\9cήÏ\80Ï\89Ï\82 διαγÏ\81άÏ\86ηκε;",
+ "botpasswords-created-title": "Το Ï\83Ï\85νθημαÏ\84ικÏ\8c του ρομπότ δημιουργήθηκε",
+ "botpasswords-created-body": "Το Ï\83Ï\85νθημαÏ\84ικÏ\8c για Ï\84ο Ï\81ομÏ\80Ï\8cÏ\84 με Ï\8cνομα «$1» Ï\84οÏ\85 Ï\87Ï\81ήÏ\83Ï\84η «$2» δημιουργήθηκε.",
+ "botpasswords-updated-title": "Το Ï\83Ï\85νθημαÏ\84ικÏ\8c του ρομπότ ενημερώθηκε",
+ "botpasswords-updated-body": "Το Ï\83Ï\85νθημαÏ\84ικÏ\8c για Ï\84ο Ï\81ομÏ\80Ï\8cÏ\84 με Ï\8cνομα «$1» του χρήστη «$2» ενημερώθηκε.",
+ "botpasswords-deleted-title": "Το Ï\83Ï\85νθημαÏ\84ικÏ\8c Ï\84οÏ\85 Ï\81ομÏ\80Ï\8cÏ\84 διαγÏ\81άÏ\86ηκε",
"botpasswords-deleted-body": "Ο κωδικός πρόσβασης για το όνομα ρομπότ \"$1\" του χρήστη \"$2\" διαγράφηκε.",
"botpasswords-newpassword": "Ο νέος κωδικός πρόσβασης για να συνδεθείτε με το <strong>$1</strong> είναι <strong>$2</strong>. <em>Παρακαλούμε σημειώστε το για μελλοντική αναφορά.</em><br />(Για παλιά bot που απαιτούν το όνομα σύνδεσης να είναι το ίδιο με το τελικό όνομα χρήστη, μπορείτε επίσης να χρησιμοποιήσετε το <strong>$3</strong> ως όνομα χρήστη και <strong>$4</strong> ως κωδικό.)",
- "botpasswords-no-provider": "BotPasswordsSessionProvider δεν είναι διαθέσιμο.",
+ "botpasswords-no-provider": "Το BotPasswordsSessionProvider δεν είναι διαθέσιμο.",
"botpasswords-restriction-failed": "Περιορισμοί κωδικών πρόσβασης bot εμποδίζουν τη συγκεκριμένη σύνδεση.",
- "botpasswords-invalid-name": "Το όνομα χρήστη που ορίζεται δεν περιέχει το διαχωριστικό κωδικό πρόσβασης bot (\"$1\").",
- "botpasswords-not-exist": "Ο χρήστης \"$1\" δεν έχει κωδικό bot με όνομα \"$2\"",
+ "botpasswords-invalid-name": "Το όνομα χρήστη που ορίζεται δεν περιέχει το διαχωριστικό συνθηματικού ρομπότ («$1»).",
+ "botpasswords-not-exist": "Ο χρήστης «$1» δεν έχει συνθηματικό για ρομπότ με όνομα «$2».",
"resetpass_forbidden": "Οι κωδικοί πρόσβασης δεν μπορούν να αλλαχθούν",
"resetpass_forbidden-reason": "Οι κωδικοί πρόσβασης δεν μπορούν να αλλαχθούν: $1",
"resetpass-no-info": "Πρέπει να είστε συνδεδεμένος για να δείτε αυτήν την σελίδα απευθείας",
"right-editmyprivateinfo": "Επεξεργαστείτε τα προσωπικά σας δεδομένα (π.χ. διεύθυνση ηλεκτρονικού ταχυδρομείου, πραγματικό όνομα)",
"right-editmyoptions": "Επεξεργασία των προτιμήσεών σας",
"right-rollback": "Γρήγορη αναστροφή των επεξεργασιών του τελευταίου χρήστη που επεξεργάστηκε μια σελίδα",
- "right-markbotedits": "Σήμανση επαναφερόμενων επεξεργασιών ως επεξεργασιών μποτ",
+ "right-markbotedits": "Σήμανση επαναφερόμενων επεξεργασιών ως επεξεργασιών ρομπότ",
"right-noratelimit": "Να μην επηρεάζεται από τα όρια ρυθμού",
"right-import": "Εισαγωγή σελίδων από άλλα wikis",
"right-importupload": "Εισαγωγή σελίδων με ανέβασμα αρχείου",
"right-override-export-depth": "Εξαγωγή σελίδων συμπεριλαμβάνοντας συνδεδεμένες σελίδες έως ένα βάθος 5 επιπέδων",
"right-sendemail": "Αποστολή ηλεκτρονικού μηνύματος σε άλλους χρήστες",
"right-managechangetags": "Δημιουργία και (απ)ενεργοποίηση [[Special:Tags|ετικετών]]",
- "right-applychangetags": "Εφαρμόστε [[Special:Tags|ετικέτες]] μαζί με τις αλλαγές",
+ "right-applychangetags": "Εφαρμογή [[Special:Tags|ετικετών]] παράλληλα με τις όποιες αλλαγές κάνει κάποιος",
"right-changetags": "Προσθέστε και αφαιρέστε αυθαίρετες [[Special:Tags|ετικέτες]] σε μεμονωμένες εκδόσεις και καταχωρήσεις καταγραφών",
"right-deletechangetags": "Διαγραφή [[Special:Tags|ετικετών]] από τη βάση δεδομένων",
"grant-group-page-interaction": "Αλληλεπίδραση με σελίδες",
"grant-blockusers": "Φραγή και αναίρεση φραγής χρηστών",
"grant-createaccount": "Δημιουργία λογαριασμών",
"grant-createeditmovepage": "Δημιουργία, επεξεργασία και μετακίνηση σελίδων",
- "grant-delete": "Διαγραφή σελίδων, αναθεωρήσεων, και αρχείων καταγραφής",
- "grant-editinterface": "Επεξεργασία του ονοματοχώρου Mediawiki και της CSS/JavaScript χρήστη",
- "grant-editmycssjs": "Επεξεργαστείτε το δικό σας CSS/JavaScript",
- "grant-editmyoptions": "Î\95Ï\80εξεÏ\81γαÏ\83ία Ï\84Ï\89ν Ï\80Ï\81οÏ\84ιμήÏ\83εÏ\8eν χρήστη σας",
+ "grant-delete": "Διαγραφή σελίδων, αναθεωρήσεων και καταχωρίσεων σε αρχεία καταγραφής",
+ "grant-editinterface": "Επεξεργασία του ονοματοχώρου Mediawiki και των CSS/JavaScript των χρηστών",
+ "grant-editmycssjs": "Επεξεργασία των CSS/JavaScript χρήστη σας",
+ "grant-editmyoptions": "Î\95Ï\80εξεÏ\81γαÏ\83ία Ï\84Ï\89ν Ï\80Ï\81οÏ\84ιμήÏ\83εÏ\89ν χρήστη σας",
"grant-editmywatchlist": "Επεξεργασία της λίστας παρακολούθησής σας",
"grant-editpage": "Επεξεργασία υπαρχουσών σελίδων",
"grant-editprotected": "Επεξεργασία προστατευμένων σελίδων",
- "grant-highvolume": "Î¥Ï\88ηλήÏ\82 ÎνÏ\84αÏ\83ηÏ\82 εÏ\80εξεÏ\81γαÏ\83ία",
+ "grant-highvolume": "Î\95Ï\80εξεÏ\81γαÏ\83ία Ï\85Ï\88ηλοÏ\8d Ï\8cγκοÏ\85",
"grant-oversight": "Απόκρυψη χρηστών και καταστολή αναθεωρήσεων",
"grant-patrol": "Περιπολία αλλαγών σε σελίδες",
"grant-privateinfo": "Πρόσβαση σε προσωπικές πληροφορίες",
"grant-protect": "Προστασία και κατάργηση προστασίας σελίδων",
- "grant-rollback": "Î\97 επαναφορά αλλαγών σε σελίδες",
+ "grant-rollback": "Î\95παναφορά αλλαγών σε σελίδες",
"grant-sendemail": "Αποστολή μηνύματος ηλεκτρονικού ταχυδρομείου σε άλλους χρήστες",
- "grant-uploadeditmovefile": "Ανέβασμα, αντικατάσταση, και μετακίνηση αρχείων",
+ "grant-uploadeditmovefile": "Ανέβασμα, αντικατάσταση και μετακίνηση αρχείων",
"grant-uploadfile": "Ανέβασμα νέων αρχείων",
"grant-basic": "Βασικά δικαιώματα",
- "grant-viewdeleted": "Î\94είÏ\84ε Ï\84α διαγεγÏ\81αμμÎνα αÏ\81Ï\87εία και Ï\83ελίδεÏ\82",
+ "grant-viewdeleted": "Î Ï\81οβολή διαγεγÏ\81αμμÎνÏ\89ν αÏ\81Ï\87είÏ\89ν και Ï\83ελίδÏ\89ν",
"grant-viewmywatchlist": "Προβολή της λίστας παρακολούθησής σας",
+ "grant-viewrestrictedlogs": "Προβολή υποκείμενων σε περιορισμούς καταχωρίσεων στα αρχεία καταγραφών",
"newuserlogpage": "Αρχείο καταγραφών δημιουργίας χρηστών",
"newuserlogpagetext": "Αυτή είναι μια καταγραφή δημιουργίας χρηστών.",
"rightslog": "Αρχείο καταγραφών δικαιωμάτων χρηστών",
"action-editmyprivateinfo": "επεξεργαστείτε τις προσωπικές σας πληροφορίες",
"action-editcontentmodel": "επεξεργαστείτε το μοντέλο περιεχομένου σελίδας",
"action-managechangetags": "δημιουργήσετε και διαγράψετε ετικέτες από τη βάση δεδομένων",
- "action-applychangetags": "εφαρμογή ετικετών μαζί με τις αλλαγές σας",
+ "action-applychangetags": "εφαρμογή ετικετών παράλληλα με τις αλλαγές σας",
"action-changetags": "πρόσθεση και αφαίρεση αυθαίρετων ετικετών σε μεμονωμένες εκδόσεις και καταχωρήσεις καταγραφών",
"action-deletechangetags": "διαγράψετε ετικέτες από τη βάση δεδομένων",
"action-purge": "εκκαθάριση αυτής της σελίδας",
"nocontribs": "Δεν βρέθηκαν αλλαγές με αυτά τα κριτήρια.",
"uctop": "(τρέχουσα)",
"month": "Από το μήνα (και νωρίτερα):",
- "year": "Î\91Ï\80Ï\8c Ï\84η Ï\87Ï\81ονιά (και νωρίτερα):",
+ "year": "Î\91Ï\80Ï\8c Ï\84ο ÎÏ\84οÏ\82 (και νωρίτερα):",
"sp-contributions-newbies": "Εμφάνιση των συνεισφορών των νέων λογαριασμών μόνο",
"sp-contributions-newbies-sub": "Για νέους λογαριασμούς",
"sp-contributions-newbies-title": "Συνεισφορές χρηστών για νέους λογαριασμούς",
"confirmrecreate-noreason": "{{GENDER:$1|Ο χρήστης|Η χρήστρια}} [[User:$1|$1]] ([[User talk:$1|συζήτηση]]) διέγραψε αυτή τη σελίδα αφότου ξεκινήσατε την επεξεργασία.\nΠαρακαλούμε επιβεβαιώστε ότι θέλετε πραγματικά να ξαναδημιουργήσετε αυτή τη σελίδα.",
"recreate": "Αναδημιουργία",
"confirm_purge_button": "Εντάξει",
- "confirm-purge-top": "Î\9aαθαÏ\81ιÏ\83μÏ\8cÏ\82 Ï\84ηÏ\82 λανθάνοÏ\85Ï\83αÏ\82 μνήμηÏ\82 αÏ\85Ï\84ήÏ\82 Ï\84ηÏ\82 Ï\83ελίδαÏ\82.",
- "confirm-purge-bottom": "Î\97 εκκαθάÏ\81ιÏ\83η μιαÏ\82 Ï\83ελίδαÏ\82 εκκαθαÏ\81ίζει Ï\84ην μνήμη cache και εξαναγκάζει Ï\84ην Ï\80λÎον Ï\80Ï\81Ï\8cÏ\83Ï\86αÏ\84η Îκδοση να εμφανιστεί.",
+ "confirm-purge-top": "Î\9dα αÏ\80αλειÏ\86θεί η Ï\80Ï\81οÏ\83Ï\89Ï\81ινή μνήμη αÏ\85Ï\84ήÏ\82 Ï\84ηÏ\82 Ï\83ελίδαÏ\82;",
+ "confirm-purge-bottom": "Î\9f καθαÏ\81ιÏ\83μÏ\8cÏ\82 Ï\83ελίδαÏ\82 αÏ\80αλείÏ\86ει Ï\84ην Ï\80Ï\81οÏ\83Ï\89Ï\81ινή μνήμη και εξαναγκάζει Ï\84ην Ï\80λÎον Ï\80Ï\81Ï\8cÏ\83Ï\86αÏ\84η αναθεÏ\8eÏ\81ηση να εμφανιστεί.",
"confirm-watch-button": "Εντάξει",
"confirm-watch-top": "Προσθήκη αυτής της σελίδας στη λίστα παρακολούθησης σας;",
"confirm-unwatch-button": "Εντάξει",
"search-interwiki-caption": "Proyectos hermanos",
"search-interwiki-default": "Resultados de $1:",
"search-interwiki-more": "(más)",
+ "search-interwiki-more-results": "más resultados",
"search-relatedarticle": "Relacionado",
"searchrelated": "relacionado",
"searchall": "todos",
"editusergroup": "Cargar grupos de usuarios",
"editinguser": "Cambio de los permisos {{GENDER:$1|del usuario|de la usuaria}} <strong>[[User:$1|$1]]</strong> $2",
"viewinguserrights": "Visualización de los derechos {{GENDER:$1|del usuario|de la usuaria}} <strong>[[User:$1|$1]]</strong> $2",
- "userrights-editusergroup": "Modificar grupos {{GENDER:$1|del usuario| de la usuaria}}",
+ "userrights-editusergroup": "Modificar grupos {{GENDER:$1|del usuario|de la usuaria}}",
"userrights-viewusergroup": "Ver grupos de usuarios",
"saveusergroups": "Guardar grupos {{GENDER:$1|del usuario|de la usuaria}}",
"userrights-groupsmember": "Miembro de:",
"mw-widgets-titleinput-description-new-page": "la página aún no existe",
"mw-widgets-titleinput-description-redirect": "redirigir a $1",
"mw-widgets-categoryselector-add-category-placeholder": "Agregar una categoría...",
+ "mw-widgets-usersmultiselect-placeholder": "Agregar más...",
"sessionmanager-tie": "No se pueden combinar múltiples tipos de autenticación de solicitudes: $1.",
"sessionprovider-generic": "sesiones $1",
"sessionprovider-mediawiki-session-cookiesessionprovider": "sesiones basadas en cookies",
"youremail": "E-posti aadress:",
"username": "{{GENDER:$1|Kasutajanimi}}:",
"prefs-memberingroups": "{{PLURAL:$1|Järgmise rühma|Järgmiste rühmade}} {{GENDER:$2|liige}}:",
+ "group-membership-link-with-expiry": "$1 (tähtaeg $2)",
"prefs-registration": "Registreerumise aeg:",
"yourrealname": "Tegelik nimi:",
"yourlanguage": "Keel:",
"editusergroup": "Laadi kasutajarühmad",
"editinguser": "Kasutaja '''[[User:$1|$1]]''' $2 õiguste muutmine",
"viewinguserrights": "{{GENDER:$1|Kasutaja}} <strong>[[User:$1|$1]]</strong> $2 õiguste vaatamine",
- "userrights-editusergroup": "Kasutajarühmade muutmine",
- "userrights-viewusergroup": "Kasutajarühmade vaatamine",
+ "userrights-editusergroup": "{{GENDER:$1|Kasutajarühmade}} muutmine",
+ "userrights-viewusergroup": "{{GENDER:$1|Kasutajarühmade}} vaatamine",
"saveusergroups": "Salvesta {{GENDER:$1|kasutajarühmad}}",
"userrights-groupsmember": "Kuulub rühmadesse:",
"userrights-groupsmember-auto": "Kuulub vaikimisi rühmadesse:",
- "userrights-groups-help": "Sa võid muuta selle kasutaja kuuluvust eri kasutajarühmadesse.\n* Märgitud kast tähendab, et kasutaja kuulub sellesse rühma.\n* Märkimata kast tähendab, et kasutaja ei kuulu sellesse rühma.\n* Aga * kasutajarühma juures tähistab õigust, mida sa peale lisamist enam eemaldada ei saa, või siis ka vastupidi.",
+ "userrights-groups-help": "Võid muuta selle kasutaja kuuluvust eri kasutajarühmadesse.\n* Märgitud ruut tähendab, et kasutaja kuulub sellesse rühma.\n* Märkimata ruut tähendab, et kasutaja ei kuulu sellesse rühma.\n* Märk * tähistab kasutajarühma, mida sa ei saa pärast lisamist eemaldada, või vastupidi.\n* Märk # tähistab kasutajarühma, millesse kuulumise aegumistähtaega saad ainult edasi lükata, sa ei saa tähtaega varasemale ajale tuua.",
"userrights-reason": "Põhjus:",
"userrights-no-interwiki": "Sul ei ole luba muuta kasutajaõigusi teistes vikides.",
"userrights-nodatabase": "Andmebaasi $1 ei ole olemas või pole see kohalik.",
"userrights-changeable-col": "Rühmad, mida sa saad muuta",
"userrights-unchangeable-col": "Rühmad, mida sa ei saa muuta",
+ "userrights-expiry-current": "Aegumistähtaeg $1",
+ "userrights-expiry-none": "Ei aegu",
+ "userrights-expiry": "Aegumistähtaeg:",
+ "userrights-expiry-existing": "Kehtiv aegumistähtaeg: $2, kell $3",
+ "userrights-expiry-othertime": "Muu tähtaeg:",
+ "userrights-expiry-options": "1 päev:1 day,1 nädal:1 week,1 kuu:1 month,3 kuud:3 months,6 kuud:6 months,1 aasta:1 year",
+ "userrights-invalid-expiry": "Rühma \"$1\" aegumistähtaeg on vigane.",
+ "userrights-expiry-in-past": "Rühma \"$1\" aegumistähtaeg on minevikus.",
+ "userrights-cannot-shorten-expiry": "Rühma \"$1\" aegumistähtaega ei saa varasemale ajale tuua. Ainult kasutajad, kellel on õigus seda rühma lisada ja eemaldada, saavad aegumistähtaegu varsemale ajale tuua.",
"userrights-conflict": "Kasutajaõiguste muutmise konflikt! Palun vaata oma muudatused üle ja kinnita need.",
"group": "Rühm:",
"group-user": "Kasutajad",
"protect-norestrictiontypes-title": "Kaitstamatu lehekülg",
"protect-legend": "Kaitse kinnitamine",
"protectcomment": "Põhjus:",
- "protectexpiry": "Aegub:",
+ "protectexpiry": "Aegumistähtaeg:",
"protect_expiry_invalid": "Sobimatu aegumise tähtaeg.",
"protect_expiry_old": "Aegumise tähtaeg on minevikus.",
"protect-unchain-permissions": "Ava edasised kaitsmissuvandid",
"protect-cantedit": "Sa ei saa lehekülje kaitsetaset muuta, sest sul puudub lehekülje redigeerimise õigus.",
"protect-othertime": "Muu aeg:",
"protect-othertime-op": "muu aeg",
- "protect-existing-expiry": "Kehtiv aegumisaeg: $2 kell $3",
- "protect-existing-expiry-infinity": "Kehtiv aegumisaeg: igavene",
+ "protect-existing-expiry": "Kehtiv aegumistähtaeg: $2, kell $3",
+ "protect-existing-expiry-infinity": "Kehtiv aegumistähtaeg: tähtajatu",
"protect-otherreason": "Muu või täiendav põhjus:",
"protect-otherreason-op": "Muu põhjus",
"protect-dropdown": "*Tavalised kaitsmise põhjused\n** Liigne vandalism\n** Liigne rämpspostitamine\n** Redigeerimissõja pidamine\n** Suure liiklusega lehekülg",
"protect-edit-reasonlist": "Muudatuste eest kaitsmise põhjused",
- "protect-expiry-options": "1 tund:1 hour,1 päev:1 day,1 nädal:1 week,2 nädalat: 2 weeks,1 kuu:1 month,3 kuud:3 months,6 kuud:6 months,1 aasta:1 year,igavene:infinite",
+ "protect-expiry-options": "1 tund:1 hour,1 päev:1 day,1 nädal:1 week,2 nädalat: 2 weeks,1 kuu:1 month,3 kuud:3 months,6 kuud:6 months,1 aasta:1 year,tähtajatu:infinite",
"restriction-type": "Lubatud:",
"restriction-level": "Kaitsmise tase:",
"minimum-size": "Min suurus",
"blockip-legend": "Kasutaja blokeerimine",
"blockiptext": "See vorm on kindla IP-aadressi või kasutajanime kirjutamisõiguste blokeerimiseks.\nSeda tohib teha ainult vandalismi vältimiseks ja kooskõlas [[{{MediaWiki:Policy-url}}|{{GRAMMAR:genitive|{{SITENAME}}}} sisekorraga]].\nTäida ka põhjuse väli, näiteks viidates lehekülgedele, mis rikuti.\nIP-aadresside vahemikke saad blokeerida [https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR]-süntaksi abil; suurim lubatud vahemik on IPv4 jaoks /$1 ja IPv6 jaoks /$2.",
"ipaddressorusername": "IP-aadress või kasutajanimi:",
- "ipbexpiry": "Kehtivus:",
+ "ipbexpiry": "Aegumistähtaeg:",
"ipbreason": "Põhjus:",
"ipbreason-dropdown": "*Tavalised blokeerimise põhjused\n** Valeandmete lisamine\n** Lehekülgedelt sisu kustutamine\n** Välislinkide rämpspostitus\n** Sodimine\n** Hirmutav käitumine/ahistamine\n** Mitme konto väärkasutus\n** Lubamatu kasutajanimi",
"ipb-hardblock": "Keela sellelt IP-aadressilt sisseloginud kasutajatel redigeerida",
"ipblocklist-submit": "Otsi",
"ipblocklist-localblock": "Kohalik blokeering",
"ipblocklist-otherblocks": "{{PLURAL:$1|Muu blokeering|Muud blokeeringud}}",
- "infiniteblock": "igavene",
+ "infiniteblock": "tähtajatu",
"expiringblock": "aegumistähtaeg $1, $2",
"anononlyblock": "ainult nimetuna",
"noautoblockblock": "IP-aadressi ei blokita automaatselt",
"exbeforeblank": "محتوای صفحه قبل از خالیکردن این بود: «$1»",
"delete-confirm": "حذف «$1»",
"delete-legend": "حذف",
- "historywarning": "<strong>هشدار:</strong> صفحهای که در حال پاککردن آن هستید دارای یک تاریخچه همراه $1 {{PLURAL:$1|بازبینی|بازبینی}} است:",
+ "historywarning": "<strong>هشدار:</strong> صفحهای که در حال پاک کردن آن هستید دارای یک تاریخچه همراه $1 {{PLURAL:$1|بازبینی|بازبینی}} است:",
"historyaction-submit": "نمایش",
"confirmdeletetext": "شما در حال حذف کردن یک صفحه یا تصویر از پایگاه دادهها همراه با تمام تاریخچهٔ آن هستید.\nلطفاً این عمل را تأیید کنید و اطمینان حاصل کنید که عواقب این کار را میدانید و این عمل را مطابق با [[{{MediaWiki:Policy-url}}|سیاستها]] انجام میدهید.",
"actioncomplete": "عمل انجام شد",
"search-interwiki-caption": "Projets frères",
"search-interwiki-default": "Résultats de $1 :",
"search-interwiki-more": "(plus)",
+ "search-interwiki-more-results": "résultats supplémentaires",
"search-relatedarticle": "Reliés",
"searchrelated": "reliés",
"searchall": "tout",
"search-interwiki-caption": "מיזמי אחות",
"search-interwiki-default": "תוצאות מתוך $1:",
"search-interwiki-more": "(עוד)",
+ "search-interwiki-more-results": "תוצאות נוספות",
"search-relatedarticle": "קשור",
"searchrelated": "קשור",
"searchall": "הכול",
"uploaded-setting-handler-svg": "SVG שמגדיר את המאפיין \"handler\" עם remote/data/script חסום. נמצא <code dir=\"ltr\">$1=\"$2\"</code> בקובץ ה־SVG שהועלה.",
"uploaded-remote-url-svg": "SVG שמגדיר כל מאפיין style עם URL מרוחק חסום. נמצא <code dir=\"ltr\">$1=\"$2\"</code> בקובץ ה־SVG שהועלה.",
"uploaded-image-filter-svg": "נמצא מסנן תמונה עם URL: <code dir=\"ltr\"><$1 $2=\"$3\"></code> בקובץ ה־SVG שהועלה.",
- "uploadscriptednamespace": "קובץ ה֫־SVG הזה כולל מרחב שם בלתי חוקי \"<nowiki><nowiki>$1</nowiki></nowiki>\".",
+ "uploadscriptednamespace": "קובץ ה֫־SVG הזה כולל מרחב שם בלתי חוקי \"<nowiki>$1</nowiki>\".",
"uploadinvalidxml": "לא ניתן לפרש את ה־XML בקובץ שהועלה.",
"uploadvirus": "הקובץ מכיל וירוס!\nפרטים:\n<div dir=\"ltr\">$1</div>",
"uploadjava": "קובץ זה הוא קובץ ZIP שמכיל קובץ ‎.class של Java.\nהעלאת קובצי Java אסורה, כיוון שהם יכולים לגרום לעקיפת מגבלות האבטחה.",
"fri": "शुक्र",
"sat": "शनि",
"january": "जनवरी",
- "february": "फरवरी",
+ "february": "फ़रवरà¥\80",
"march": "मार्च",
"april": "अप्रैल",
"may_long": "मई",
"november": "नवम्बर",
"december": "दिसम्बर",
"january-gen": "जनवरी",
- "february-gen": "फरवरी",
+ "february-gen": "फ़रवरà¥\80",
"march-gen": "मार्च",
"april-gen": "अप्रैल",
"may-gen": "मई",
"nov": "नव॰",
"dec": "दिस॰",
"january-date": "$1 जनवरी",
- "february-date": "$1 फरवरी",
+ "february-date": "$1 फ़रवरà¥\80",
"march-date": "$1 मार्च",
"april-date": "$1 अप्रैल",
"may-date": "$1 मई",
"log-action-filter-rights-autopromote": "automatska promjena",
"log-action-filter-upload-upload": "novo postavljanje",
"log-action-filter-upload-overwrite": "ponovno postavljanje",
+ "authmanager-authn-autocreate-failed": "Automatsko stvaranje lokalnoga računa nije uspjelo: $1",
+ "authmanager-autocreate-noperm": "Automatsko stvaranje računa nije dopušteno.",
"authmanager-provider-password": "Autorizacija zaporkom",
"authmanager-provider-temporarypassword": "Privremena zaporka",
"changecredentials": "Promjena vjerodajnica",
"Beeyan",
"Bonaditya",
"Irus",
- "Presidenvolksraad"
+ "Presidenvolksraad",
+ "Hidayatsrf"
]
},
"tog-underline": "Garis bawahi pranala:",
"searcharticle": "Lanjut",
"history": "Riwayat halaman",
"history_short": "Versi terdahulu",
+ "history_small": "riwayat",
"updatedmarker": "diubah sejak kunjungan terakhir saya",
"printableversion": "Versi cetak",
"permalink": "Pranala permanen",
"username": "{{GENDER:$1|Nama pengguna}}:",
"prefs-memberingroups": "{{GENDER:$2|Anggota}} {{PLURAL:$1|kelompok|kelompok}}:",
"prefs-memberingroups-type": "$1",
+ "group-membership-link-with-expiry": "$1 (sampai $2)",
"prefs-registration": "Waktu pendaftaran:",
"prefs-registration-date-time": "$1",
"yourrealname": "Nama asli:",
"userrights-changeable-col": "Kelompok yang dapat Anda ubah",
"userrights-unchangeable-col": "Kelompok yang tidak dapat Anda ubah",
"userrights-irreversible-marker": "$1*",
+ "userrights-expiry-othertime": "Waktu lain:",
"userrights-conflict": "Konflik perubahan hak pengguna! Silakan tinjau ulang dan konfirmasi perubahan Anda.",
"group": "Kelompok:",
"group-user": "Pengguna",
"recentchanges-legend-heading": "<strong>Keterangan:</strong>",
"recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (lihat pula [[Special:NewPages|daftar halaman baru]])",
"recentchanges-submit": "Tampilkan",
+ "rcfilters-activefilters": "Filter aktif",
+ "rcfilters-filter-registered-label": "Terdaftar",
+ "rcfilters-filter-unregistered-label": "Tidak terdaftar",
+ "rcfilters-filter-userExpLevel-newcomer-label": "Pendatang baru",
+ "rcfilters-filter-bots-label": "Bot",
+ "rcfilters-filter-minor-label": "Suntingan kecil",
+ "rcfilters-filter-categorization-label": "Perubahan kategori",
"rcnotefrom": "Di bawah ini adalah {{PLURAL:$5|perubahan}} sejak <strong>$3, $4</strong> (ditampilkan sampai <strong>$1</strong> perubahan).",
"rclistfrom": "Perlihatkan perubahan terbaru sejak $3 $2",
"rcshowhideminor": "$1 suntingan kecil",
"title-invalid-characters": "La demandita pagino-titulo kontenas ne-valida literi: \"$1\".",
"perfcached": "La sequanta datumi esas kashizita* e li povus ne aktualigesar nuntempe. A maximum of {{PLURAL:$1|one result is|$1 results are}} available in the cache.",
"viewsource": "Vidar font-kodo",
+ "actionthrottled": "Agado limitizita",
"protectedpagetext": "Ta pagino protektesis por preventar redaktadi od altra agi.",
"viewsourcetext": "Vu povas vidar ed kopiar la fonto-kodexo di ta pagino.",
"viewyourtext": "Vu darfas vidar e kopiar la fonto di <strong>vua redakti</strong> ad ita pagino.",
"search-interwiki-caption": "자매 프로젝트",
"search-interwiki-default": "$1로부터의 결과:",
"search-interwiki-more": "(더 보기)",
+ "search-interwiki-more-results": "더 많은 결과",
"search-relatedarticle": "관련",
"searchrelated": "관련",
"searchall": "모두",
"editusergroup": "사용자 그룹 불러오기",
"editinguser": "<strong>[[User:$1|$1]]</strong> $2 {{GENDER:$1|사용자}}의 권한 바꾸기",
"viewinguserrights": "<strong>[[User:$1|$1]]</strong> $2 {{GENDER:$1|사용자}}의 권한을 보는 중",
- "userrights-editusergroup": "{{GENDER:$1|user}} 그룹 편집",
+ "userrights-editusergroup": "{{GENDER:$1|사용자}} 그룹 편집",
"userrights-viewusergroup": "{{GENDER:$1|사용자}} 그룹을 보기",
"saveusergroups": "{{GENDER:$1|사용자}} 권한 저장",
"userrights-groupsmember": "현재 권한:",
"mw-widgets-titleinput-description-new-page": "문서가 존재하지 않습니다",
"mw-widgets-titleinput-description-redirect": "$1 문서로 넘겨주기",
"mw-widgets-categoryselector-add-category-placeholder": "분류 추가...",
+ "mw-widgets-usersmultiselect-placeholder": "더 추가하기...",
"sessionmanager-tie": "여러 요청 인증 유형 결합할 수 없습니다: $1.",
"sessionprovider-generic": "$1 세션",
"sessionprovider-mediawiki-session-cookiesessionprovider": "쿠키 기반 세션",
"editing": "\"$1\" tê guherandin",
"creating": "\"$1\" tê çêkirin",
"editingsection": "\"$1\" (beş) tê guherandin",
- "editingcomment": "$1 (beşek nû) tê guherandin.",
+ "editingcomment": "\"$1\" (beşek nû) tê guherandin.",
"editconflict": "Têkçûna guherandinan: $1",
"explainconflict": "Ji dema te dest bi guherandinê kir heta niha kesekê/î din ev rûpel guherand.\nLi jor guhertoya heyî tê dîtîn.\nGuherandinên te li jêr tên nîşandan.\nDivê tu wan bikî yek.\nHeke niha tomar bikî, '''bi tenê''' nivîsara qutiya jor wê bê tomarkirin.",
"yourtext": "Nivîsara te",
"ilsubmit": "Lêgerîn",
"bydate": "li gor dîrokê",
"sp-newimages-showfrom": "Daneyên nû ji dema $1, saet $2 ve bibîne",
+ "seconds-abbrev": "$1 s",
+ "hours-abbrev": "$1 st",
+ "days-abbrev": "$1 r",
+ "seconds": "{{PLURAL:$1|$1 saniye}}",
+ "hours": "{{PLURAL:$1|$1 saet|$1 saet}}",
+ "days": "{{PLURAL:$1|$1 roj}}",
"weeks": "{{PLURAL:$1|$1 hefte}}",
"months": "{{PLURAL:$1|$1 meh}}",
"years": "{{PLURAL:$1|$1 sal}}",
"search-interwiki-caption": "Schwësterprojeten",
"search-interwiki-default": "Resultater vu(n) $1:",
"search-interwiki-more": "(méi)",
+ "search-interwiki-more-results": "méi Resultater",
"search-relatedarticle": "A Verbindung",
"searchrelated": "a Verbindng",
"searchall": "all",
"userrights-user-editname": "Benotzernumm uginn:",
"editusergroup": "Benotzergruppe lueden",
"editinguser": "Ännere vun de Rechter vum {{GENDER:$1|Benotzer}} <strong>[[User:$1|$1]]</strong> $2",
- "userrights-editusergroup": "Benotzergruppen änneren",
- "userrights-viewusergroup": "Benotzergruppe weisen",
+ "userrights-editusergroup": "{{GENDER:$1|Benotzer}}gruppen änneren",
+ "userrights-viewusergroup": "{{GENDER:$1|Benotzer}}gruppe weisen",
"saveusergroups": "{{GENDER:$1|Benotzer}}gruppe späicheren",
"userrights-groupsmember": "Member vun:",
"userrights-groupsmember-auto": "Implizit Member vun:",
- "userrights-groups-help": "Dir kënnt d'Gruppen zu deenen dëse Benotzer gehéiert änneren.\n* Een ugekräizt Haische bedeit, datt de Benotzer Member vun dëser Grupp ass.\n* Een net ugekräizt Haische bedeit, datt de Benotzer net Member vun dëser Grupp ass.\n* E Stäerchen (*) bedeit datt Dir d'Grupp net méi ewechhuele kënnt wann e bis eemol derbäigesat ass oder gouf.",
+ "userrights-groups-help": "Dir kënnt d'Gruppen zu deenen dëse Benotzer gehéiert änneren.\n* Een ugekräizt Haische bedeit, datt de Benotzer Member vun dëser Grupp ass.\n* Een net ugekräizt Haische bedeit, datt de Benotzer net Member vun dëser Grupp ass.\n* E Stäerchen (*) bedeit datt Dir d'Grupp net méi ewechhuele kënnt wann e bis eemol dobäigesat ass oder gouf.\n* Eng Raut (#) gëtt un Datt Dir d'Oflafzäit vun dëser Grupp just zrécksetze kënnt; Dir kënnt se net no vir setzen.",
"userrights-reason": "Grond:",
"userrights-no-interwiki": "Dir hutt net déi néideg Rechter, fir d'Rechter vu Benoutzer op anere Wikien z'änneren.",
"userrights-nodatabase": "D'Datebank $1 gëtt et net oder se ass net lokal.",
"mw-widgets-titleinput-description-new-page": "Säit gëtt et nach net",
"mw-widgets-titleinput-description-redirect": "viruleeden op $1",
"mw-widgets-categoryselector-add-category-placeholder": "Eng Kategorie derbäisetzen...",
+ "mw-widgets-usersmultiselect-placeholder": "Méi derbäisetzen...",
"sessionprovider-generic": "$1-Sessiounen",
"sessionprovider-mediawiki-session-cookiesessionprovider": "cookie-baséiert Sessiounen",
"sessionprovider-nocookies": "Cookië sinn eventuell desaktivéiert. Vergewëssert Iech datt Dir d'Cookien aktivéiert hutt a probéiert nach eng Kéier.",
"tog-watchlisthideanons": "Paslēpt anonīmo dalībnieku labojumus uzraugāmo lapu sarakstā",
"tog-watchlisthidepatrolled": "Paslēpt pārbaudītās lapas uzraugāmo lapu sarakstā",
"tog-watchlisthidecategorization": "Paslēpt lapu kategorizēšanu",
- "tog-ccmeonemails": "Sūtīt sev citiem dalībniekiem nosūtīto epastu kopijas",
+ "tog-ccmeonemails": "Sūtīt sev citiem dalībniekiem nosūtīto e-pastu kopijas",
"tog-diffonly": "Nerādīt lapu saturu zem izmaiņām",
"tog-showhiddencats": "Rādīt slēptās kategorijas",
"tog-norollbackdiff": "Neņemt vērā atšķirības, veicot atriti",
"right-editmyusercss": "Rediģējiet savus dalībnieka CSS failus",
"right-editmyuserjs": "Rediģējiet savus dalībnieka JavaScript failus",
"right-viewmywatchlist": "Apskatīt savu uzraugāmo rakstu sarakstu",
+ "right-viewmyprivateinfo": "Skatit savus privātos datus (piemēram, e-pasta adresi, īsto vārdu)",
+ "right-editmyprivateinfo": "Labot savus privātos datus (piemēram, e-pasta adresi, īsto vārdu)",
+ "right-editmyoptions": "Labot savas izvēles",
"right-rollback": "Ātri veikt atriti pēdējā dalībnieka labojumiem, kas veica izmaiņas kādā konkrētā lapā",
"right-markbotedits": "Atzīmēt labojumus, kam veikta atrite, kā bota labojumus",
"right-noratelimit": "Būt darbību ātruma ierobežojumu neietekmētiem",
"listgrouprights-removegroup": "Noņemt {{PLURAL:$2|grupas|grupu|grupas}}: $1",
"listgrouprights-addgroup-all": "Pievienot visas grupas",
"listgrouprights-removegroup-all": "Noņemt visas grupas",
+ "listgrouprights-removegroup-self": "Noņemt {{PLURAL:$2|grupu|grupas}} no sava konta: $1",
"listgrouprights-addgroup-self-all": "Pievienot visas grupas savam kontam",
"listgrouprights-removegroup-self-all": "Noņemt visas grupas no sava konta",
"listgrouprights-namespaceprotection-header": "Vārdtelpas ierobežojumi",
"search-interwiki-caption": "Збратимени проекти",
"search-interwiki-default": "Најдено на $1:",
"search-interwiki-more": "(уште)",
+ "search-interwiki-more-results": "повеќе ставки",
"search-relatedarticle": "Поврзано",
"searchrelated": "поврзано",
"searchall": "сè",
"editusergroup": "Вчитај кориснички групи",
"editinguser": "Менување на правата на {{GENDER:$1|корисникот}} <strong>[[User:$1|$1]]</strong> $2",
"viewinguserrights": "Поглед на правата на {{GENDER:$1|корисникот}} <strong>[[User:$1|$1]]</strong> $2",
- "userrights-editusergroup": "Уреди ги корисничките групи",
- "userrights-viewusergroup": "Преглед на корисничките групи",
+ "userrights-editusergroup": "Уреди ги {{GENDER:$1|корисничките}} групи",
+ "userrights-viewusergroup": "Преглед на {{GENDER:$1|корисничките}} групи",
"saveusergroups": "Зачувај ги {{GENDER:$1|корисничките}} групи",
"userrights-groupsmember": "Член на:",
"userrights-groupsmember-auto": "Подразбран член на:",
- "userrights-groups-help": "Можете да измените на кои групи припаѓа корисник:\n* Штиклирано - корисникот е во таа група.\n* Нештиклирано - корисникот не припаѓа на групата.\n* Ѕвездичка (*) - не можете да ја отстраните групата откако сте ја додале (и обратно).",
+ "userrights-groups-help": "Можете да измените на кои групи припаѓа корисник:\n* Штиклирано — корисникот е во таа група.\n* Нештиклирано — корисникот не припаѓа на групата.\n* Ѕвездичка (*) — не можете да ја отстраните групата откако сте ја додале (и обратно).\n* Тараба (#) — можете само да го вратите истекот на групава, но не можете да го поместите нанапред.",
"userrights-reason": "Причина:",
"userrights-no-interwiki": "Немате дозвола за уредување на кориснички права на други викија.",
"userrights-nodatabase": "Базата на податоци $1 не постои или не е месна.",
"userrights-expiry-options": "1 ден:1 day,1 недела:1 week,1 месец:1 month,3 месеци:3 months,6 месеци:6 months,1 година:1 year",
"userrights-invalid-expiry": "Истекот за групата „$1“ е неважечки.",
"userrights-expiry-in-past": "Истекот за групата „$1“ е во минатото.",
+ "userrights-cannot-shorten-expiry": "Не можете да го поместити нанапред истекот на групата „$1“. Ова можат да го прават само корисници со дозвола за додавање или одземање на оваа група.",
"userrights-conflict": "Спротиставеност во измените на корисничките права. Прегледајте ги и потврдете ги.",
"group": "Група:",
"group-user": "Корисници",
"mw-widgets-titleinput-description-new-page": "страницата сè уште не постои",
"mw-widgets-titleinput-description-redirect": "пренасочување кон $1",
"mw-widgets-categoryselector-add-category-placeholder": "Додај категорија...",
+ "mw-widgets-usersmultiselect-placeholder": "Додај уште...",
"sessionmanager-tie": "Не можете истовремено да користите повеќе типови барања за заверка: $1.",
"sessionprovider-generic": "$1 седници",
"sessionprovider-mediawiki-session-cookiesessionprovider": "седници со колачиња",
"search-interwiki-caption": "Zusterprojecten",
"search-interwiki-default": "Resultaten van $1:",
"search-interwiki-more": "(meer)",
+ "search-interwiki-more-results": "meer resultaten",
"search-relatedarticle": "Gerelateerd",
"searchrelated": "gerelateerd",
"searchall": "alle",
"apisandbox-loading-results": "API-resultaten ontvangen...",
"apisandbox-results-error": "Er is een fout opgetreden tijdens het laden van het antwoord op het API-verzoek: $1.",
"apisandbox-request-selectformat-label": "Toon resultaat als:",
+ "apisandbox-request-format-url-label": "URL query string",
"apisandbox-request-url-label": "Verzoek-URL:",
"apisandbox-request-json-label": "Verzoek JSON:",
"apisandbox-request-time": "Doorlooptijd verzoek: {{PLURAL:$1|$1 ms}}",
"search-interwiki-caption": "Projekty siostrzane",
"search-interwiki-default": "Wyniki od $1:",
"search-interwiki-more": "(więcej)",
+ "search-interwiki-more-results": "Więcej wyników",
"search-relatedarticle": "Pokrewne",
"searchrelated": "pokrewne",
"searchall": "wszystkie",
"search-interwiki-caption": "Projetos irmãos",
"search-interwiki-default": "Resultados de $1:",
"search-interwiki-more": "(mais)",
+ "search-interwiki-more-results": "Mais resultados",
"search-relatedarticle": "Relacionado",
"searchrelated": "relacionados",
"searchall": "todos",
"editinguser": "Modificando privilégios d{{GENDER:$1|o usuário|a usuária|o(a) usuário(a)}} <strong>[[User:$1|$1]]</Strong> $2",
"viewinguserrights": "Visualizar os privilégios {{GENDER:$1|do usuário|da usuária}} <strong>[[User:$1|$1]]</strong> $2",
"userrights-editusergroup": "Editar grupos {{GENDER:$1|do usuário|da usuária|do(a) usuário(a)}}",
- "userrights-viewusergroup": "Ver grupos de usuários",
+ "userrights-viewusergroup": "Ver grupos de {{GENDER:$1|usuários}}",
"saveusergroups": "Salvar grupos de{{GENDER:$1|usuário}}",
"userrights-groupsmember": "Membro de:",
"userrights-groupsmember-auto": "Membro implícito de:",
"userrights-expiry-options": "1 dia:1 day,1 semana:1 week,1 mês:1 month,3 meses:3 months,6 meses:6 months,1 ano:1 year",
"userrights-invalid-expiry": "O tempo de expiração para o grupo \"$1\" é inválido.",
"userrights-expiry-in-past": "O tempo de expiração para o grupo \"$1\" está no passado.",
+ "userrights-cannot-shorten-expiry": "Você não pode antecipar a expiração do grupo \"$1\". Somente usuários com permissão para adicionar e remover este grupo pode apresentar tempos de expiração.",
"userrights-conflict": "Há um comflito de permissões de usuário! Por favor, revise e confirme as alterações novamente.",
"group": "Grupo:",
"group-user": "Usuários",
"mw-widgets-titleinput-description-new-page": "a página ainda não existe",
"mw-widgets-titleinput-description-redirect": "redirecionar para $1",
"mw-widgets-categoryselector-add-category-placeholder": "Adicionar uma categoria...",
+ "mw-widgets-usersmultiselect-placeholder": "Adicione mais...",
"sessionmanager-tie": "Não é possível combinar vários tipos de autenticação de solicitação: $1.",
"sessionprovider-generic": "$1 sessões",
"sessionprovider-mediawiki-session-cookiesessionprovider": "Sessões baseadas em cookie",
"Kareyac",
"Mailman",
"Аль-Гимравий",
- "Gamliel Fishkin"
+ "Gamliel Fishkin",
+ "Ping08"
]
},
"tog-underline": "Подчёркивание ссылок:",
"tog-watchdeletion": "Добавлять в список наблюдения удалённые мной страницы и файлы",
"tog-watchuploads": "Добавлять закачанные мною файлы в список наблюдения",
"tog-watchrollback": "Добавлять страницы, где я выполнил откат, в мой список наблюдения",
- "tog-minordefault": "Помечать по умолчанию правки как малозначимые",
+ "tog-minordefault": "По умолчанию помечать правки как малые",
"tog-previewontop": "Помещать предпросмотр перед окном редактирования",
"tog-previewonfirst": "Показывать предпросмотр при переходе к редактированию",
"tog-enotifwatchlistpages": "Уведомлять по электронной почте об изменениях страниц и файлов из списка наблюдения",
"search-interwiki-caption": "Родственные проекты",
"search-interwiki-default": "Результаты из $1:",
"search-interwiki-more": "(ещё)",
+ "search-interwiki-more-results": "ещё результаты",
"search-relatedarticle": "Связанный",
"searchrelated": "связанный",
"searchall": "все",
"editusergroup": "Загрузка групп участников",
"editinguser": "Изменение прав {{GENDER:$1|участника|участницы}} <strong>[[User:$1|$1]]</strong> $2",
"viewinguserrights": "Просмотр прав {{GENDER:$1|участника|участницы}} <strong>[[User:$1|$1]]</strong> $2",
- "userrights-editusergroup": "Изменение членства в группах",
- "userrights-viewusergroup": "пÑ\80оÑ\81моÑ\82Ñ\80 гÑ\80Ñ\83пп Ñ\83Ñ\87аÑ\81Ñ\82ника",
+ "userrights-editusergroup": "Изменение групп {{GENDER:$1|участника|участницы}}",
+ "userrights-viewusergroup": "Ð\9fÑ\80оÑ\81моÑ\82Ñ\80 гÑ\80Ñ\83пп {{GENDER:$1|Ñ\83Ñ\87аÑ\81Ñ\82ника|Ñ\83Ñ\87аÑ\81Ñ\82ниÑ\86Ñ\8b}}",
"saveusergroups": "Сохранить группы {{GENDER:$1|участника|участницы}}",
"userrights-groupsmember": "Состоит в группах:",
"userrights-groupsmember-auto": "Неявно состоит в группах:",
- "userrights-groups-help": "Ð\92Ñ\8b можеÑ\82е измениÑ\82Ñ\8c гÑ\80Ñ\83ппÑ\8b, в коÑ\82оÑ\80Ñ\8bе вÑ\85одиÑ\82 Ñ\8dÑ\82оÑ\82 Ñ\83Ñ\87аÑ\81Ñ\82ник.\n* Ð\95Ñ\81ли около названиÑ\8f гÑ\80Ñ\83ппÑ\8b Ñ\81Ñ\82оиÑ\82 оÑ\82меÑ\82ка â\80\94 Ñ\83Ñ\87аÑ\81Ñ\82ник вÑ\85одиÑ\82 в Ñ\8dÑ\82Ñ\83 гÑ\80Ñ\83ппÑ\83.\n* Ð\95Ñ\81ли оÑ\82меÑ\82ка не Ñ\81Ñ\82оиÑ\82 â\80\94 Ñ\83Ñ\87аÑ\81Ñ\82ник не вÑ\85одиÑ\82 в Ñ\8dÑ\82Ñ\83 гÑ\80Ñ\83ппÑ\83.\n* Ð\97нак * оÑ\82меÑ\87аеÑ\82, Ñ\87Ñ\82о вÑ\8b не Ñ\81можеÑ\82е Ñ\83далиÑ\82Ñ\8c Ñ\83Ñ\87аÑ\81Ñ\82ника из гÑ\80Ñ\83ппÑ\8b, еÑ\81ли добавиÑ\82е его в неÑ\91, или наобоÑ\80оÑ\82.",
+ "userrights-groups-help": "Ð\92Ñ\8b можеÑ\82е измениÑ\82Ñ\8c гÑ\80Ñ\83ппÑ\8b, в коÑ\82оÑ\80Ñ\8bе вÑ\85одиÑ\82 Ñ\8dÑ\82оÑ\82 Ñ\83Ñ\87аÑ\81Ñ\82ник.\n* Ð\95Ñ\81ли около названиÑ\8f гÑ\80Ñ\83ппÑ\8b Ñ\81Ñ\82оиÑ\82 оÑ\82меÑ\82ка â\80\94 Ñ\83Ñ\87аÑ\81Ñ\82ник вÑ\85одиÑ\82 в Ñ\8dÑ\82Ñ\83 гÑ\80Ñ\83ппÑ\83.\n* Ð\95Ñ\81ли оÑ\82меÑ\82ка не Ñ\81Ñ\82оиÑ\82 â\80\94 Ñ\83Ñ\87аÑ\81Ñ\82ник не вÑ\85одиÑ\82 в Ñ\8dÑ\82Ñ\83 гÑ\80Ñ\83ппÑ\83.\n* Символ * Ñ\83казÑ\8bваеÑ\82 на Ñ\82о, Ñ\87Ñ\82о вÑ\8b не Ñ\81можеÑ\82е Ñ\83далиÑ\82Ñ\8c Ñ\83Ñ\87аÑ\81Ñ\82ника из гÑ\80Ñ\83ппÑ\8b, еÑ\81ли добавиÑ\82е его в неÑ\91 (или наобоÑ\80оÑ\82).\n* Символ # Ñ\83казÑ\8bваеÑ\82 на Ñ\82о, Ñ\87Ñ\82о вÑ\8b можеÑ\82е Ñ\82олÑ\8cко оÑ\82ложиÑ\82Ñ\8c вÑ\80емÑ\8f иÑ\81Ñ\82еÑ\87ениÑ\8f Ñ\8dÑ\82ой гÑ\80Ñ\83ппÑ\8b, вÑ\8b не можеÑ\82е пеÑ\80енеÑ\81Ñ\82и его на более Ñ\80анний Ñ\81Ñ\80ок.",
"userrights-reason": "Причина:",
"userrights-no-interwiki": "У вас нет разрешения изменять права участников в других вики.",
"userrights-nodatabase": "База данных $1 не существует или расположена не локально.",
"userrights-expiry-options": "1 день:1 day,1 неделя:1 week,1 месяц:1 mopnth,3 месяца:3 months,6 месяцев:6 months,1 год:1 year",
"userrights-invalid-expiry": "Время истечения для группы «$1» задано неверно.",
"userrights-expiry-in-past": "Время истечения для группы «$1» задано в прошлом.",
+ "userrights-cannot-shorten-expiry": "Вы не можете перенести на более ранний срок дату истечения группы «$1». Только участники, имеющие право на добавление и удаление этой группы, могут перенести её на более ранний срок.",
"userrights-conflict": "Конфликт изменения прав участника! Пожалуйста, проверьте и примените изменения заново.",
"group": "Группа:",
"group-user": "Участники",
"mw-widgets-titleinput-description-new-page": "страница ещё не существует",
"mw-widgets-titleinput-description-redirect": "перенаправление на $1",
"mw-widgets-categoryselector-add-category-placeholder": "Добавить категорию…",
+ "mw-widgets-usersmultiselect-placeholder": "Добавить ещё…",
"sessionmanager-tie": "Невозможно использовать одновременно несколько типов проверки подлинности запроса: $1.",
"sessionprovider-generic": "$1 сессий",
"sessionprovider-mediawiki-session-cookiesessionprovider": "сессий на основе куки",
"search-interwiki-caption": "Sorodni projekti",
"search-interwiki-default": "Rezultati s strani $1:",
"search-interwiki-more": "(več)",
+ "search-interwiki-more-results": "več zadetkov",
"search-relatedarticle": "Podobno",
"searchrelated": "povezano",
"searchall": "vse",
"createacct-yourpassword-ph": "Гожтэ паролез",
"createacct-yourpasswordagain": "Юнматэ паролез",
"createacct-yourpasswordagain-ph": "Гожтэ паролез эшшо одӥг пол",
- "userlogin-remembermypassword": "Кылем сӧзнэтэз",
+ "userlogin-remembermypassword": "Кылёно системаын",
"cannotcreateaccount-title": "Учётной записьёсты кылдытыны уг луы",
"yourdomainname": "Тӥляд доменды:",
"login": "Пырыны",
"sp-contributions-blocklog": "блокировкаосыз",
"sp-contributions-deleted": "{{GENDER:$1|викиавторлэн}} быдтэм тупатонъёсыз",
"sp-contributions-userrights": "пыриськисьлэн правоосыныз кивалтон",
- "sp-contributions-blocked-notice": "Ð\9fолÑ\8cзоваÑ\82елÑ\8c заблокиÑ\80оваÑ\82Ñ\8c Ñ\81Ñ\91Ñ\82ӥз Ñ\82а Ñ\83Ñ\87Ñ\8bÑ\80лÑ\8b. СпÑ\80авка понна Ñ\80адÑ\8aÑ\8fÑ\81Ñ\8cкÑ\8bлӥÑ\81Ñ\8c жÑ\83Ñ\80нал блокиÑ\80овка лапег беÑ\80пÑ\83меÑ\82Ó¥ гожÑ\82Ñ\8dÑ\82:",
- "sp-contributions-blocked-notice-anon": "Со ip-адÑ\80еÑ\81 вие заблокиÑ\80оваÑ\82Ñ\8c Ñ\81Ñ\91Ñ\82ӥзÑ\8b. Ð\91локиÑ\80овка жÑ\83Ñ\80налÑ\8aÑ\91Ñ\81Ñ\82Ñ\8b вайÑ\8bÑ\82Ñ\8dк Ñ\83лӥзÑ\8b беÑ\80пÑ\83меÑ\82Ó¥ книгаÑ\8bÑ\81Ñ\8c:",
+ "sp-contributions-blocked-notice": "Ð\90ли дÑ\8bÑ\80е Ñ\82а викиавÑ\82оÑ\80 заблокиÑ\80оваÑ\82Ñ\8c каÑ\80емÑ\8bн.\nÐ\92алÑ\8dкÑ\82он понна блокиÑ\80овкаоÑ\81Ñ\8bн жÑ\83Ñ\80налÑ\8bÑ\81Ñ\8c беÑ\80ло гожÑ\8aÑ\8fм Ñ\83лӥ возÑ\8cмаÑ\82Ñ\8dмÑ\8bн:",
+ "sp-contributions-blocked-notice-anon": "Ð\90ли дÑ\8bÑ\80е Ñ\82а IP-адÑ\80еÑ\81 заблокиÑ\80оваÑ\82Ñ\8c каÑ\80емÑ\8bн.\nÐ\92алÑ\8dкÑ\82он понна блокиÑ\80овкаоÑ\81Ñ\8bн жÑ\83Ñ\80налÑ\8bÑ\81Ñ\8c беÑ\80ло гожÑ\8aÑ\8fм Ñ\83лӥ возÑ\8cмаÑ\82Ñ\8dмÑ\8bн:",
"sp-contributions-submit": "Шедьтыны",
"whatlinkshere": "Татчы чӧлсконъёс",
"whatlinkshere-title": "«$1» вылэ чӧлскись бамъёс",
"expiringblock": "йылпумъяськоз $1 $2",
"anononlyblock": "анонимъёс гинэ",
"noautoblockblock": "автоблокировка ӧвӧл",
- "createaccountblock": "учётной записьёсыз кылдытон дугдытэмын",
+ "createaccountblock": "аккаунтъёсыз кылдытон дугдытэмын",
"emailblock": "гожтэтъёсыз ыстылыны уг луы",
"blocklist-nousertalk": "уг быгаты ас вераськон бамзэ вошъяны",
"blocklink": "блокировать карыны",
"blocklogtext": "Викиавторъёсты блокировкаосын но разблокировкаосын журнал.\nАвтоматически блокировать кариськись IP-адресъёс татын уг адӟытӥсько.\nУчке [[Special:BlockList|списокез али кутӥськись блокировкаослы]].",
"unblocklogentry": "разблокировать кариз $1",
"block-log-flags-anononly": "аноним викиавторъёс гинэ",
- "block-log-flags-nocreate": "регистрация учётной книгая ужъёсты быдэстон",
- "block-log-flags-noemail": "лÑ\8dзÑ\8cÑ\8bмÑ\82Ñ\8d гожÑ\82Ñ\8dÑ\82 Ñ\8bÑ\81Ñ\82он",
+ "block-log-flags-nocreate": "аккаунтъёсыз кылдытон дугдытэмын",
+ "block-log-flags-noemail": "гожÑ\82Ñ\8dÑ\82Ñ\8aÑ\91Ñ\81Ñ\8bз Ñ\8bÑ\81Ñ\82Ñ\8bлÑ\8bнÑ\8b Ñ\83г лÑ\83Ñ\8b",
"block-log-flags-nousertalk": "уг быгаты ас вераськон бамзэ вошъяны",
"range_block_disabled": "Администраторъёслэн диапазонъёсыз блокировать карыны луонлыксы дугдытэмын.",
"move-watch": "Чаклан списоке пыртоно инъет но валтӥсь бамъёсыз",
"tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|1=Метка|Меткаос}}]]: $2)",
"tags-title": "Меткаос",
"logentry-delete-delete": "$1 {{GENDER:$2|быдтӥз}} $3 бамез",
- "logentry-delete-restore": "$1 {{GENDER:$2|вÑ\8bлÑ\8cÑ\8bÑ\81Ñ\8c}} бам $3",
+ "logentry-delete-restore": "$1 {{GENDER:$2|беÑ\80ен Ñ\81Ñ\91Ñ\82ӥз}} $3 бамез",
"logentry-block-block": "$1 {{GENDER:$2|заблокировать}} {{GENDER:$4|$3}} ын дыраз $5 $6",
"logentry-block-reblock": "$1 {{GENDER:$2|воштыны}} блокировка дыръя {{GENDER:$4|$3}} ын дыраз $5 $6",
"logentry-suppress-block": "$1 {{GENDER:$2|заблокировать}} {{GENDER:$4|$3}} ын дыраз $5 $6",
"search-interwiki-caption": "Братні проекти",
"search-interwiki-default": "Результати із $1:",
"search-interwiki-more": "(більше)",
+ "search-interwiki-more-results": "більше результатів",
"search-relatedarticle": "Пов'язаний",
"searchrelated": "пов'язаний",
"searchall": "усі",
"editinguser": "Зміна прав {{GENDER:$1|користувача}} <strong>[[User:$1|$1]]</strong> $2",
"viewinguserrights": "Перегляд прав {{GENDER:$1|користувача|користувачки}} <strong>[[User:$1|$1]]</strong> $2",
"userrights-editusergroup": "Змінити групи {{GENDER:$1|користувача|користувачки}}",
- "userrights-viewusergroup": "Перегляд груп користувача",
+ "userrights-viewusergroup": "Перегляд груп {{GENDER:$1|користувача|користувачки}}",
"saveusergroups": "Зберегти групи {{GENDER:$1|користувачів}}",
"userrights-groupsmember": "Член груп:",
"userrights-groupsmember-auto": "Неявний член:",
- "userrights-groups-help": "Ви можете змінити групи, до яких належить цей користувач:\n* Якщо біля назви групи стоїть позначка, то користувач належить до цієї групи.\n* Якщо позначка не стоїть — користувач не належить до відповідної групи.\n* Зірочка означає, що ви не можете вилучити користувача з групи, якщо додасте його до неї, і навпаки.",
+ "userrights-groups-help": "Ви можете змінити групи, до яких належить цей користувач:\n* Якщо біля назви групи стоїть позначка, то користувач належить до цієї групи.\n* Якщо позначка не стоїть — користувач не належить до відповідної групи.\n* Зірочка «*» означає, що ви не можете вилучити користувача з групи, якщо додасте його до неї, і навпаки.\n* Ґратка «#» означає, що ви можете зменшити строк членства в групі, але не збільшити.",
"userrights-reason": "Причина:",
"userrights-no-interwiki": "У вас нема дозволу змінювати права користувачів на інших вікі.",
"userrights-nodatabase": "База даних $1 не існує або не є локальною.",
"userrights-expiry-options": "1 день:1 day,1 тиждень:1 week,1 місяць:1 month,3 місяці:3 months,6 місяців:6 months,1 рік:1 year",
"userrights-invalid-expiry": "Для групи «$1» задано неправильний час закінчення прав.",
"userrights-expiry-in-past": "Для групи «$1» задано минулий час закінчення прав.",
+ "userrights-cannot-shorten-expiry": "Ви не можете продовжити строк членства в групі «$1». Тільки користувачі з правом додавати і видаляти з групи мають право продовжувати членство.",
"userrights-conflict": "Конфлікт зміни прав користувача! Будь ласка, перевірте та підтвердіть зміни знову.",
"group": "Група:",
"group-user": "Користувачі",
"mw-widgets-titleinput-description-new-page": "сторінка ще не існує",
"mw-widgets-titleinput-description-redirect": "перенаправлення на $1",
"mw-widgets-categoryselector-add-category-placeholder": "Додати категорію...",
+ "mw-widgets-usersmultiselect-placeholder": "Додати ще...",
"sessionmanager-tie": "Не можна поєднувати кілька типів автентифікації запиту: $1.",
"sessionprovider-generic": "сесій $1",
"sessionprovider-mediawiki-session-cookiesessionprovider": "сесій на основі кук",
"search-interwiki-caption": "姊妹项目",
"search-interwiki-default": "来自$1的结果:",
"search-interwiki-more": "(更多)",
+ "search-interwiki-more-results": "更多结果",
"search-relatedarticle": "相关",
"searchrelated": "相关",
"searchall": "所有",
"editusergroup": "加载用户组",
"editinguser": "更改{{GENDER:$1|用户}}<strong>[[User:$1|$1]]</strong>的用户权限$2",
"viewinguserrights": "查看{{GENDER:$1|用户}}<strong>[[User:$1|$1]]</strong>的用户权限$2",
- "userrights-editusergroup": "编辑用户组",
- "userrights-viewusergroup": "查看用户组",
+ "userrights-editusergroup": "编辑{{GENDER:$1|用户}}组",
+ "userrights-viewusergroup": "查看{{GENDER:$1|用户}}组",
"saveusergroups": "保存{{GENDER:$1|用户}}组",
"userrights-groupsmember": "用户组:",
"userrights-groupsmember-auto": "自动用户组:",
- "userrights-groups-help": "æ\82¨å\8f¯ä»¥æ\9b´æ\94¹è¯¥ç\94¨æ\88·ç\9a\84ç\94¨æ\88·ç»\84ï¼\9a\n* é\80\89ä¸ç\9a\84é\80\89项æ¡\86表示该ç\94¨æ\88·å±\9eäº\8e该ç\94¨æ\88·ç»\84ã\80\82\n* æ\9cªé\80\89ä¸ç\9a\84é\80\89项æ¡\86表示该ç\94¨æ\88·ä¸\8då±\9eäº\8e该ç\94¨æ\88·ç»\84ã\80\82\n* æ\98\9få\8f·ï¼\88*ï¼\89表示ä¸\80æ\97¦æ·»å\8a 该ç\94¨æ\88·ç»\84å\90\8eä¸\8dè\83½å\88 é\99¤ï¼\8cå\8f\8dä¹\8b亦ç\84¶。",
+ "userrights-groups-help": "æ\82¨å\8f¯ä»¥æ\9b´æ\94¹è¯¥ç\94¨æ\88·ç\9a\84ç\94¨æ\88·ç»\84ï¼\9a\n* é\80\89ä¸ç\9a\84é\80\89项æ¡\86表示该ç\94¨æ\88·å±\9eäº\8e该ç\94¨æ\88·ç»\84ã\80\82\n* æ\9cªé\80\89ä¸ç\9a\84é\80\89项æ¡\86表示该ç\94¨æ\88·ä¸\8då±\9eäº\8e该ç\94¨æ\88·ç»\84ã\80\82\n* æ\98\9få\8f·ï¼\88*ï¼\89表示ä¸\80æ\97¦æ\82¨è¢«æ·»å\8a è\87³è¯¥ç\94¨æ\88·ç»\84å\90\8eï¼\8cæ\82¨ä¸\8dè\83½äº²è\87ªç§»é\99¤å\85¶æ\9d\83é\99\90ï¼\8cå\8f\8dä¹\8b亦ç\84¶ã\80\82\n* äº\95å\8f·ï¼\88#ï¼\89表示æ\82¨å\8fªå\8f¯ä»¥æ\8e¨è¿\9f该ç\94¨æ\88·ç»\84ç\9a\84è¿\87æ\9c\9fæ\97¶é\97´ï¼\9bæ\82¨ä¸\8dè\83½å°\86å\85¶æ\8f\90å\89\8d。",
"userrights-reason": "原因:",
"userrights-no-interwiki": "您并没有权限去编辑在其它wiki上的用户权限。",
"userrights-nodatabase": "数据库$1不存在或并非为本地的。",
"userrights-expiry-options": "1天:1 day,1周:1 week,1个月:1 month,3个月:3 months,6个月:6 months,1年:1 year",
"userrights-invalid-expiry": "组“$1”的终止时间无效。",
"userrights-expiry-in-past": "组“$1”的终止时间是在过去。",
+ "userrights-cannot-shorten-expiry": "您不能将用户组“$1”的过期时间提前。只有拥有添加或移除该组权限的用户可以将其提前。",
"userrights-conflict": "用户权限的更改存在冲突!请检查并确认您的更改。",
"group": "用户组:",
"group-user": "用户",
"mw-widgets-titleinput-description-new-page": "页面不存在",
"mw-widgets-titleinput-description-redirect": "重定向至$1",
"mw-widgets-categoryselector-add-category-placeholder": "添加分类...",
+ "mw-widgets-usersmultiselect-placeholder": "添加更多...",
"sessionmanager-tie": "不能结合多个请求的身份验证类型:$1。",
"sessionprovider-generic": "$1会话",
"sessionprovider-mediawiki-session-cookiesessionprovider": "基于cookie的会话",
"userrights-nodatabase": "資料庫 $1 不存在或不在本地主機的。",
"userrights-changeable-col": "您可變更的群組",
"userrights-unchangeable-col": "您不可變更的群組",
+ "userrights-expiry-othertime": "其他時間:",
"userrights-conflict": "使用者權限變更發生衝突!請檢閱並確認你的變更。",
"group": "群組:",
"group-user": "使用者",
'scripts' => [
'resources/src/mediawiki.rcfilters/mw.rcfilters.js',
'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FilterItem.js',
+ 'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FilterGroup.js',
'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FiltersViewModel.js',
'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FiltersListWidget.js',
'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterGroupWidget.js',
$.highlightText = {
// Split our pattern string at spaces and run our highlight function on the results
- splitAndHighlight: function ( node, pat ) {
+ splitAndHighlight: function ( node, text ) {
var i,
- patArray = pat.split( ' ' );
- for ( i = 0; i < patArray.length; i++ ) {
- if ( patArray[ i ].length === 0 ) {
+ words = text.split( ' ' );
+ for ( i = 0; i < words.length; i++ ) {
+ if ( words[ i ].length === 0 ) {
continue;
}
- $.highlightText.innerHighlight( node, patArray[ i ] );
+ $.highlightText.innerHighlight(
+ node,
+ new RegExp( '(^|\\s)' + mw.RegExp.escape( words[ i ] ), 'i' )
+ );
}
return node;
},
+ prefixHighlight: function ( node, prefix ) {
+ $.highlightText.innerHighlight(
+ node,
+ new RegExp( '(^)' + mw.RegExp.escape( prefix ), 'i' )
+ );
+ },
+
// scans a node looking for the pattern and wraps a span around each match
innerHighlight: function ( node, pat ) {
var i, match, pos, spannode, middlebit, middleclone;
// non latin characters can make regex think a new word has begun: do not use \b
// http://stackoverflow.com/questions/3787072/regex-wordwrap-with-utf8-characters-in-js
// look for an occurrence of our pattern and store the starting position
- match = node.data.match( new RegExp( '(^|\\s)' + mw.RegExp.escape( pat ), 'i' ) );
+ match = node.data.match( pat );
if ( match ) {
pos = match.index + match[ 1 ].length; // include length of any matched spaces
// create the span wrapper for the matched text
// shave off the characters preceding the matched text
middlebit = node.splitText( pos );
// shave off any unmatched text off the end
- middlebit.splitText( pat.length );
+ middlebit.splitText( match[ 0 ].length - match[ 1 ].length );
// clone for appending to our span
middleclone = middlebit.cloneNode( true );
// append the matched text node to the span
}
};
- $.fn.highlightText = function ( matchString ) {
+ /**
+ * Highlight certain text in current nodes (by wrapping it in `<span class="highlight">...</span>`).
+ *
+ * @param {string} matchString String to match
+ * @param {Object} [options]
+ * @param {string} [options.method='splitAndHighlight'] Method of matching to use, one of:
+ * - 'splitAndHighlight': Split `matchString` on spaces, then match each word separately.
+ * - 'prefixHighlight': Match `matchString` at the beginning of text only.
+ * @return {[type]} [description]
+ */
+ $.fn.highlightText = function ( matchString, options ) {
+ options = options || {};
+ options.method = options.method || 'splitAndHighlight';
return this.each( function () {
var $el = $( this );
$el.data( 'highlightText', { originalText: $el.text() } );
- $.highlightText.splitAndHighlight( this, matchString );
+ $.highlightText[ options.method ]( this, matchString );
} );
};
}
if ( context.config.highlightInput ) {
- $result.highlightText( context.data.prevText );
+ $result.highlightText( context.data.prevText, { method: 'prefixHighlight' } );
}
// Widen results box if needed (new width is only calculated here, applied later).
--- /dev/null
+( function ( mw ) {
+ /**
+ * View model for a filter group
+ *
+ * @mixins OO.EventEmitter
+ * @mixins OO.EmitterList
+ *
+ * @constructor
+ * @param {Object} [config] Configuration options
+ * @cfg {string} [type='send_unselected_if_any'] Group type
+ * @cfg {string} [title] Group title
+ * @cfg {string} [separator='|'] Value separator for 'string_options' groups
+ * @cfg {string} [exclusionType='default'] Group exclusion type
+ * @cfg {boolean} [active] Group is active
+ */
+ mw.rcfilters.dm.FilterGroup = function MwRcfiltersDmFilterGroup( config ) {
+ config = config || {};
+
+ // Mixin constructor
+ OO.EventEmitter.call( this );
+ OO.EmitterList.call( this );
+
+ this.type = config.type || 'send_unselected_if_any';
+ this.title = config.title;
+ this.separator = config.separator || '|';
+ this.exclusionType = config.exclusionType || 'default';
+ this.active = !!config.active;
+ };
+
+ /* Initialization */
+ OO.initClass( mw.rcfilters.dm.FilterGroup );
+ OO.mixinClass( mw.rcfilters.dm.FilterGroup, OO.EventEmitter );
+ OO.mixinClass( mw.rcfilters.dm.FilterGroup, OO.EmitterList );
+
+ /* Events */
+
+ /**
+ * @event update
+ *
+ * Group state has been updated
+ */
+
+ /* Methods */
+
+ /**
+ * Check the active status of the group and set it accordingly.
+ *
+ * @fires update
+ */
+ mw.rcfilters.dm.FilterGroup.prototype.checkActive = function () {
+ var active,
+ count = 0;
+
+ // Recheck group activity
+ this.getItems().forEach( function ( filterItem ) {
+ count += Number( filterItem.isSelected() );
+ } );
+
+ active = (
+ count > 0 &&
+ count < this.getItemCount()
+ );
+
+ if ( this.active !== active ) {
+ this.active = active;
+ this.emit( 'update' );
+ }
+ };
+
+ /**
+ * Get group active state
+ *
+ * @return {boolean} Active state
+ */
+ mw.rcfilters.dm.FilterGroup.prototype.isActive = function () {
+ return this.active;
+ };
+
+ /**
+ * Get group type
+ *
+ * @return {string} Group type
+ */
+ mw.rcfilters.dm.FilterGroup.prototype.getType = function () {
+ return this.type;
+ };
+
+ /**
+ * Get group's title
+ *
+ * @return {string} Title
+ */
+ mw.rcfilters.dm.FilterGroup.prototype.getTitle = function () {
+ return this.title;
+ };
+
+ /**
+ * Get group's values separator
+ *
+ * @return {string} Values separator
+ */
+ mw.rcfilters.dm.FilterGroup.prototype.getSeparator = function () {
+ return this.separator;
+ };
+
+ /**
+ * Get group exclusion type
+ *
+ * @return {string} Exclusion type
+ */
+ mw.rcfilters.dm.FilterGroup.prototype.getExclusionType = function () {
+ return this.exclusionType;
+ };
+}( mediaWiki ) );
// Reapply the active state of filters
this.reapplyActiveFilters( item );
+ // Recheck group activity state
+ this.getGroup( item.getGroup() ).checkActive();
+
this.emit( 'itemUpdate', item );
};
group = item.getGroup(),
model = this;
if (
- !this.groups[ group ].exclusionType ||
- this.groups[ group ].exclusionType === 'default'
+ !this.getGroup( group ).getExclusionType() ||
+ this.getGroup( group ).getExclusionType() === 'default'
) {
// Default behavior
// If any parameter is selected, but:
// - If the entire group is selected, all are inactive
// Check what's selected in the group
- selectedItemsCount = this.groups[ group ].filters.filter( function ( filterItem ) {
+ selectedItemsCount = this.getGroupFilters( group ).filter( function ( filterItem ) {
return filterItem.isSelected();
} ).length;
- this.groups[ group ].filters.forEach( function ( filterItem ) {
+ this.getGroupFilters( group ).forEach( function ( filterItem ) {
filterItem.toggleActive(
selectedItemsCount > 0 ?
// If some items are selected
(
- selectedItemsCount === model.groups[ group ].filters.length ?
+ selectedItemsCount === model.groups[ group ].getItemCount() ?
// If **all** items are selected, they're all inactive
false :
// If not all are selected, then the selected are active
true
);
} );
- } else if ( this.groups[ group ].exclusionType === 'explicit' ) {
+ } else if ( this.getGroup( group ).getExclusionType() === 'explicit' ) {
// Explicit behavior
// - Go over the list of excluded filters to change their
// active states accordingly
this.excludedByMap = {};
$.each( filters, function ( group, data ) {
- model.groups[ group ] = model.groups[ group ] || {};
- model.groups[ group ].filters = model.groups[ group ].filters || [];
-
- model.groups[ group ].title = data.title;
- model.groups[ group ].type = data.type;
- model.groups[ group ].separator = data.separator || '|';
- model.groups[ group ].exclusionType = data.exclusionType || 'default';
+ if ( !model.groups[ group ] ) {
+ model.groups[ group ] = new mw.rcfilters.dm.FilterGroup( {
+ type: data.type,
+ title: data.title,
+ separator: data.separator,
+ exclusionType: data.exclusionType
+ } );
+ }
selectedFilterNames = [];
for ( i = 0; i < data.filters.length; i++ ) {
selectedFilterNames.push( data.filters[ i ].name );
}
- model.groups[ group ].filters.push( filterItem );
+ model.groups[ group ].addItems( filterItem );
items.push( filterItem );
}
// Store the default parameter group state
// For this group, the parameter is group name and value is the names
// of selected items
- model.defaultParams[ group ] = model.sanitizeStringOptionGroup( group, selectedFilterNames ).join( model.groups[ group ].separator );
+ model.defaultParams[ group ] = model.sanitizeStringOptionGroup( group, selectedFilterNames ).join( model.groups[ group ].getSeparator() );
}
} );
};
/**
- * Get the object that defines groups and their filter items.
- * The structure of this response:
- * {
- * groupName: {
- * title: {string} Group title
- * type: {string} Group type
- * filters: {string[]} Filters in the group
- * }
- * }
+ * Get the object that defines groups by their name.
*
* @return {Object} Filter groups
*/
return this.groups;
};
- /**
- * Get the current state of the filters.
- *
- * Checks whether the filter group is active. This means at least one
- * filter is selected, but not all filters are selected.
- *
- * @param {string} groupName Group name
- * @return {boolean} Filter group is active
- */
- mw.rcfilters.dm.FiltersViewModel.prototype.isFilterGroupActive = function ( groupName ) {
- var count = 0,
- filters = this.groups[ groupName ].filters;
-
- filters.forEach( function ( filterItem ) {
- count += Number( filterItem.isSelected() );
- } );
-
- return (
- count > 0 &&
- count < filters.length
- );
- };
-
/**
* Update the representation of the parameters. These are the back-end
* parameters representing the filters, but they represent the given
result = {},
groupItems = filterGroups || this.getFilterGroups();
- $.each( groupItems, function ( group, data ) {
- filterItems = data.filters;
+ $.each( groupItems, function ( group, model ) {
+ filterItems = model.getItems();
- if ( data.type === 'send_unselected_if_any' ) {
+ if ( model.getType() === 'send_unselected_if_any' ) {
// First, check if any of the items are selected at all.
// If none is selected, we're treating it as if they are
// all false
result[ filterItems[ i ].getName() ] = anySelected ?
Number( !filterItems[ i ].isSelected() ) : 0;
}
- } else if ( data.type === 'string_options' ) {
+ } else if ( model.getType() === 'string_options' ) {
values = [];
for ( i = 0; i < filterItems.length; i++ ) {
if ( filterItems[ i ].isSelected() ) {
if ( values.length === 0 || values.length === filterItems.length ) {
result[ group ] = 'all';
} else {
- result[ group ] = values.join( data.separator );
+ result[ group ] = values.join( model.getSeparator() );
}
}
} );
*/
mw.rcfilters.dm.FiltersViewModel.prototype.sanitizeStringOptionGroup = function( groupName, valueArray ) {
var result = [],
- validNames = this.groups[ groupName ].filters.map( function ( filterItem ) {
+ validNames = this.getGroupFilters( groupName ).map( function ( filterItem ) {
return filterItem.getName();
} );
} else if ( model.groups.hasOwnProperty( paramName ) ) {
// This parameter represents a group (values are the filters)
// this is equivalent to checking if the group is 'string_options'
- groupMap[ paramName ] = { filters: model.groups[ paramName ].filters };
+ groupMap[ paramName ] = { filters: model.groups[ paramName ].getItems() };
}
} );
var paramValues, filterItem,
allItemsInGroup = data.filters;
- if ( model.groups[ group ].type === 'send_unselected_if_any' ) {
+ if ( model.groups[ group ].getType() === 'send_unselected_if_any' ) {
for ( i = 0; i < allItemsInGroup.length; i++ ) {
filterItem = allItemsInGroup[ i ];
// group, which means the state is false
false;
}
- } else if ( model.groups[ group ].type === 'string_options' ) {
- paramValues = model.sanitizeStringOptionGroup( group, params[ group ].split( model.groups[ group ].separator ) );
+ } else if ( model.groups[ group ].getType() === 'string_options' ) {
+ paramValues = model.sanitizeStringOptionGroup( group, params[ group ].split( model.groups[ group ].getSeparator() ) );
for ( i = 0; i < allItemsInGroup.length; i++ ) {
filterItem = allItemsInGroup[ i ];
// If it is the word 'all'
paramValues.length === 1 && paramValues[ 0 ] === 'all' ||
// All values are written
- paramValues.length === model.groups[ group ].filters.length
+ paramValues.length === model.groups[ group ].getItemCount()
) ?
// All true (either because all values are written or the term 'all' is written)
// is the same as all filters set to false
}
};
+ /**
+ * Get a group model from its name
+ *
+ * @param {string} groupName Group name
+ * @return {mw.rcfilters.dm.FilterGroup} Group model
+ */
+ mw.rcfilters.dm.FiltersViewModel.prototype.getGroup = function ( groupName ) {
+ return this.groups[ groupName ];
+ };
+
+ /**
+ * Get all filters within a specified group by its name
+ *
+ * @param {string} groupName Group name
+ * @return {mw.rcfilters.dm.FilterItem[]} Filters belonging to this group
+ */
+ mw.rcfilters.dm.FiltersViewModel.prototype.getGroupFilters = function ( groupName ) {
+ return ( this.getGroup( groupName ) && this.getGroup( groupName ).getItems() ) || [];
+ };
+
/**
* Find items whose labels match the given string
*
* @mixins OO.ui.mixin.LabelElement
*
* @constructor
- * @param {string} name Group name
+ * @param {mw.rcfilters.Controller} controller Controller
+ * @param {mw.rcfilters.dm.FilterGroup} model Filter group model
* @param {Object} config Configuration object
*/
- mw.rcfilters.ui.FilterGroupWidget = function MwRcfiltersUiFilterGroupWidget( name, config ) {
+ mw.rcfilters.ui.FilterGroupWidget = function MwRcfiltersUiFilterGroupWidget( controller, model, config ) {
config = config || {};
// Parent
mw.rcfilters.ui.FilterGroupWidget.parent.call( this, config );
+
+ this.controller = controller;
+ this.model = model;
+
// Mixin constructors
OO.ui.mixin.GroupWidget.call( this, config );
OO.ui.mixin.LabelElement.call( this, $.extend( {}, config, {
+ label: this.model.getTitle(),
$label: $( '<div>' )
.addClass( 'mw-rcfilters-ui-filterGroupWidget-title' )
} ) );
- this.name = name;
+ // Populate
+ this.populateFromModel();
+
+ this.model.connect( this, { update: 'onModelUpdate' } );
this.$element
.addClass( 'mw-rcfilters-ui-filterGroupWidget' )
OO.mixinClass( mw.rcfilters.ui.FilterGroupWidget, OO.ui.mixin.LabelElement );
/**
- * Get the group name
- *
- * @return {string} Group name
+ * Respond to model update event
*/
- mw.rcfilters.ui.FilterGroupWidget.prototype.getName = function () {
- return this.name;
+ mw.rcfilters.ui.FilterGroupWidget.prototype.onModelUpdate = function () {
+ this.$element.toggleClass(
+ 'mw-rcfilters-ui-filterGroupWidget-active',
+ this.model.isActive()
+ );
+ };
+
+ mw.rcfilters.ui.FilterGroupWidget.prototype.populateFromModel = function () {
+ var widget = this;
+
+ this.addItems(
+ this.model.getItems().map( function ( filterItem ) {
+ return new mw.rcfilters.ui.FilterItemWidget(
+ widget.controller,
+ filterItem,
+ {
+ label: filterItem.getLabel(),
+ description: filterItem.getDescription()
+ }
+ );
+ } )
+ );
};
/**
- * Toggle the active state of this group
+ * Get the group name
*
- * @param {boolean} isActive The group is active
+ * @return {string} Group name
*/
- mw.rcfilters.ui.FilterGroupWidget.prototype.toggleActiveState = function ( isActive ) {
- this.$element.toggleClass( 'mw-rcfilters-ui-filterGroupWidget-active', isActive );
+ mw.rcfilters.ui.FilterGroupWidget.prototype.getName = function () {
+ return this.model.getName();
};
-
}( mediaWiki, jQuery ) );
* @param {mw.rcfilters.dm.FilterItem} item Filter item that was updated
*/
mw.rcfilters.ui.FilterWrapperWidget.prototype.onModelItemUpdate = function ( item ) {
- var widget = this;
-
if ( item.isSelected() ) {
this.addCapsuleItemFromName( item.getName() );
} else {
this.capsule.removeItemsFromData( [ item.getName() ] );
}
-
- // Toggle the active state of the group
- this.filterPopup.getItems().forEach( function ( groupWidget ) {
- if ( groupWidget.getName() === item.getGroup() ) {
- groupWidget.toggleActiveState( widget.model.isFilterGroupActive( groupWidget.getName() ) );
- }
- } );
};
/**
* Respond to initialize event from the model
*/
mw.rcfilters.ui.FiltersListWidget.prototype.onModelInitialize = function () {
- var i, group, groupWidget,
- itemWidgets = [],
- groupWidgets = [],
- groups = this.model.getFilterGroups();
+ var widget = this;
// Reset
this.clearItems();
- for ( group in groups ) {
- groupWidget = new mw.rcfilters.ui.FilterGroupWidget( group, {
- label: groups[ group ].title
- } );
- groupWidgets.push( groupWidget );
-
- itemWidgets = [];
- if ( groups[ group ].filters ) {
- for ( i = 0; i < groups[ group ].filters.length; i++ ) {
- itemWidgets.push(
- new mw.rcfilters.ui.FilterItemWidget(
- this.controller,
- groups[ group ].filters[ i ],
- {
- label: groups[ group ].filters[ i ].getLabel(),
- description: groups[ group ].filters[ i ].getDescription()
- }
- )
- );
- }
-
- groupWidget.addItems( itemWidgets );
- }
- }
-
- this.addItems( groupWidgets );
+ this.addItems(
+ Object.keys( this.model.getFilterGroups() ).map( function ( groupName ) {
+ return new mw.rcfilters.ui.FilterGroupWidget(
+ widget.controller,
+ widget.model.getGroup( groupName )
+ );
+ } )
+ );
};
/**