diff options
Diffstat (limited to 'extensions')
112 files changed, 6604 insertions, 1637 deletions
diff --git a/extensions/Cite/COPYING b/extensions/Cite/COPYING new file mode 100644 index 00000000..d159169d --- /dev/null +++ b/extensions/Cite/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + 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. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/extensions/Cite/Cite.i18n.php b/extensions/Cite/Cite.i18n.php index 2f204203..895a4d80 100644 --- a/extensions/Cite/Cite.i18n.php +++ b/extensions/Cite/Cite.i18n.php @@ -249,6 +249,7 @@ Defina-ne mas en o mensache <nowiki>[[MediaWiki:$2]]</nowiki>.', /** Arabic (العربية) * @author Aiman titi + * @author Asaifm * @author Meno25 * @author OsamaK * @author زكريا @@ -279,7 +280,7 @@ $messages['ar'] = array( لا نص تم توÙيره للمراجع المسماة <code>$1</code>', 'cite_error_included_ref' => 'إغلاق <code></ref></code> Ù…Ùقود لوسم <code><ref></code>', 'cite_error_refs_without_references' => 'وسم <code><ref></code> موجود، لكن لا وسم <code><references/></code> تم العثور عليه', - 'cite_error_group_refs_without_references' => 'وسوم <code><ref></code> موجودة لمجموعة اسمها "$1"ØŒ لكن لا وسم <code><references group="$1"/></code> مماثل تم العثور عليه', # Fuzzy + 'cite_error_group_refs_without_references' => 'وسوم <code><ref></code> موجودة لمجموعة اسمها "$1"ØŒ ولكن لم يتم العثور على وسم <code><references group="$1"/></code> أو هناك وسم <code></ref></code> ناقص', 'cite_error_references_group_mismatch' => 'الوسم <code><ref></code> ÙÙŠ <code><references></code> Ùيه خاصية group متضاربة "$1".', 'cite_error_references_missing_group' => 'الوسم <code><ref></code> المÙعرّ٠ÙÙŠ <code><references></code> Ùيه خاصية group "$1" التي لا تظهر ÙÙŠ النص السابق.', 'cite_error_references_missing_key' => 'الوسم <code><ref></code> ذو الاسم "$1" المÙعرّ٠ÙÙŠ <code><references></code> غير مستخدم ÙÙŠ النص السابق.', @@ -287,6 +288,8 @@ $messages['ar'] = array( 'cite_error_empty_references_define' => 'الوسم <code><ref></code> المÙعرّ٠ÙÙŠ <code><references></code> بالاسم "$1" ليس له Ù…Øتوى.', 'cite_references_link_many' => '<li id="$1"><span class="mw-cite-backlink"><b>^</b> $2</span> $3</li>', 'cite_references_link_many_format_backlink_labels' => 'Ø£ ب ت Ø« ج Ø Ø® د Ø° ر ز س Ø´ ص ض Ø· ظ ع غ Ù Ù‚ Ùƒ Ù„ Ù… Ù† Ù‡ Ùˆ ÙŠ أأ أب أت أث أج Ø£Ø Ø£Ø® أد أذ أر أز أس أش أص أض أط أظ أع أغ أ٠أق أك أل أم أن أه أو أي بأ بب بت بث بج Ø¨Ø Ø¨Ø® بد بذ بر بز بس بش بص بض بط بظ بع بغ ب٠بق بك بل بم بن به بو بي تأ تب تت تث تج ØªØ ØªØ® تد تذ تر تز تس تش تص تض تط تظ تع تغ ت٠تق تك تل تم تن ته تو تي ثأ ثب ثت ثث ثج Ø«Ø Ø«Ø® ثد ثذ ثر ثز ثس ثش ثص ثض ثط ثظ ثع ثغ ث٠ثق ثك ثل ثم ثن ثه ثو ثي جأ جب جت جث جج Ø¬Ø Ø¬Ø® جد جذ جر جز جس جش جص جض جط جظ جع جغ ج٠جق جك جل جم جن جه جو جي ØØ£ Øب Øت ØØ« Øج ØØ ØØ® Øد ØØ° Øر Øز Øس ØØ´ Øص Øض ØØ· Øظ Øع Øغ ØÙ ØÙ‚ ØÙƒ ØÙ„ ØÙ… ØÙ† ØÙ‡ ØÙˆ ØÙŠ خأ خب خت خث خج Ø®Ø Ø®Ø® خد خذ خر خز خس خش خص خض خط خظ خع خغ خ٠خق خك خل خم خن خه خو خي دأ دب دت دث دج Ø¯Ø Ø¯Ø® دد دذ در دز دس دش دص دض دط دظ دع دغ د٠دق دك دل دم دن ده دو دي ذأ ذب ذت ذث ذج Ø°Ø Ø°Ø® ذد ذذ ذر ذز ذس ذش ذص ذض ذط ذظ ذع ذغ ذ٠ذق ذك ذل ذم ذن ذه ذو ذي رأ رب رت رث رج Ø±Ø Ø±Ø® رد رذ رر رز رس رش رص رض رط رظ رع رغ ر٠رق رك رل رم رن ره رو ري زأ زب زت زث زج Ø²Ø Ø²Ø® زد زذ زر زز زس زش زص زض زط زظ زع زغ ز٠زق زك زل زم زن زه زو زي سأ سب ست سث سج Ø³Ø Ø³Ø® سد سذ سر سز سس سش سص سض سط سظ سع سغ س٠سق سك سل سم سن سه سو سي شأ شب شت شث شج Ø´Ø Ø´Ø® شد شذ شر شز شس شش شص شض شط شظ شع شغ ش٠شق شك شل شم شن شه شو شي صأ صب صت صث صج ØµØ ØµØ® صد صذ صر صز صس صش صص صض صط صظ صع صغ ص٠صق صك صل صم صن صه صو صي ضأ ضب ضت ضث ضج Ø¶Ø Ø¶Ø® ضد ضذ ضر ضز ضس ضش ضص ضض ضط ضظ ضع ضغ ض٠ضق ضك ضل ضم ضن ضه ضو ضي طأ طب طت طث طج Ø·Ø Ø·Ø® طد طذ طر طز طس طش طص طض طط طظ طع طغ ط٠طق طك طل طم طن طه طو طي ظأ ظب ظت ظث ظج Ø¸Ø Ø¸Ø® ظد ظذ ظر ظز ظس ظش ظص ظض ظط ظظ ظع ظغ ظ٠ظق ظك ظل ظم ظن ظه ظو ظي عأ عب عت عث عج Ø¹Ø Ø¹Ø® عد عذ عر عز عس عش عص عض عط عظ عع عغ ع٠عق عك عل عم عن عه عو عي غأ غب غت غث غج ØºØ ØºØ® غد غذ غر غز غس غش غص غض غط غظ غع غغ غ٠غق غك غل غم غن غه غو غي ÙØ£ Ùب Ùت ÙØ« Ùج ÙØ ÙØ® Ùد ÙØ° Ùر Ùز Ùس ÙØ´ Ùص Ùض ÙØ· Ùظ Ùع Ùغ ÙÙ ÙÙ‚ ÙÙƒ ÙÙ„ ÙÙ… ÙÙ† ÙÙ‡ ÙÙˆ ÙÙŠ قأ قب قت قث قج Ù‚Ø Ù‚Ø® قد قذ قر قز قس قش قص قض قط قظ قع قغ ق٠قق قك قل قم قن قه قو قي كأ كب كت كث كج ÙƒØ ÙƒØ® كد كذ كر كز كس كش كص كض كط كظ كع كغ ك٠كق كك كل كم كن كه كو كي لأ لب لت لث لج Ù„Ø Ù„Ø® لد لذ لر لز لس لش لص لض لط لظ لع لغ ل٠لق لك لل لم لن له لو لي مأ مب مت مث مج Ù…Ø Ù…Ø® مد مذ مر مز مس مش مص مض مط مظ مع مغ م٠مق مك مل مم من مه مو مي نأ نب نت نث نج Ù†Ø Ù†Ø® ند نذ نر نز نس نش نص نض نط نظ نع نغ ن٠نق نك نل نم نن نه نو ني هأ هب هت هث هج Ù‡Ø Ù‡Ø® هد هذ هر هز هس هش هص هض هط هظ هع هغ ه٠هق هك هل هم هن هه هو هي وأ وب وت وث وج ÙˆØ ÙˆØ® ود وذ ور وز وس وش وص وض وط وظ وع وغ و٠وق وك ول وم ون وه وو وي يأ يب يت يث يج ÙŠØ ÙŠØ® يد يذ ير يز يس يش يص يض يط يظ يع يغ ي٠يق يك يل يم ين يه يو يي', + 'cite_references_link_accessibility_label' => 'تعدى المØتوى الØالي إلى أعلى الصÙØØ©', + 'cite_references_link_many_accessibility_label' => 'تعدى إلى الأعلى Ù„:', ); /** Aramaic (ÜܪܡÜÜ) @@ -714,7 +717,7 @@ Defineix més al missatge <nowiki>[[MediaWiki:$2]]</nowiki>.', 'cite_error_references_no_text' => "Etiqueta <code><ref></code> no và lida; no s'ha proporcionat text per les refs amb l'etiqueta <code>$1</code>", 'cite_error_included_ref' => 'Es tanca el <code></ref></code> que manca per una etiqueta <code><ref></code>', - 'cite_error_refs_without_references' => 'Hi ha etiquetes <code><ref></code> però no cap etiqueta <code><references/></code>', + 'cite_error_refs_without_references' => "Hi ha etiquetes <code><ref></code> però no s'ha trobat cap etiqueta <code><references/></code>", 'cite_error_group_refs_without_references' => 'Existeixen etiquetes <code><ref></code> pel grup «$1» però no l\'etiqueta <code><references group="$1"/></code> corresponent', # Fuzzy 'cite_error_references_group_mismatch' => 'L\'etiqueta <code><ref></code> a <code><references></code> té un conflicte amb l\'atribut de grup "$1".', 'cite_error_references_missing_group' => 'L\'etiqueta <code><ref></code> definida a <code><references></code> té l\'atribut de grup "$1" que no apareix en el text anterior.', @@ -727,6 +730,7 @@ no s'ha proporcionat text per les refs amb l'etiqueta <code>$1</code>", * @author Умар */ $messages['ce'] = array( + 'cite-desc' => '<nowiki><ref[ name=id]></nowiki> а <nowiki><references/></nowiki> тегаш тӀетовжорашан тӀетуху', 'cite_error' => 'ГӀалат дешнаш далорна $1', 'cite_error_references_no_text' => 'Тег <code><ref></code> нийÑа Ñц; Ñ‚Iетовжаран <code>$1</code> йоза Ñздина дац', 'cite_error_refs_without_references' => 'Йолуш йолу тегаца <code><ref></code> йогӀуш йолу тег <code><references/></code> ца карийна', @@ -735,7 +739,7 @@ $messages['ce'] = array( 'cite_references_link_many_accessibility_label' => 'Дехьа гӀо:', ); -/** Czech (Äesky) +/** Czech (ÄeÅ¡tina) * @author Danny B. * @author Li-sung * @author Littledogboy @@ -770,7 +774,7 @@ ZvyÅ¡te jejich poÄet ve zprávÄ› <nowiki>[[MediaWiki:$2]]</nowiki>.', 'cite_references_link_many_accessibility_label' => 'SkoÄit nahoru k:', ); -/** Church Slavic (ÑловѣÌньÑкъ / ⰔⰎⰑⰂⰡâ°â° â°”â°â°Ÿ) +/** Church Slavic (ÑловѣньÑкъ / ⰔⰎⰑⰂⰡâ°â° â°”â°â°Ÿ) * @author ОйЛ */ $messages['cu'] = array( @@ -853,12 +857,13 @@ Definer flere i beskeden <nowiki>[[MediaWiki:$2]]</nowiki>.', /** German (Deutsch) * @author Kghbln * @author Metalhead64 + * @author Purodha * @author Raimond Spekking * @author The Evil IP address * @author Umherirrender */ $messages['de'] = array( - 'cite-desc' => 'Ergänzt die Tags <code><nowiki><ref[ name=id]></nowiki></code> und <code><nowiki><references /></nowiki></code> für die Referenzierung von Wikiseiten', + 'cite-desc' => 'Ergänzt die Tags <code><nowiki><ref[ name=id]></nowiki></code> und <code><nowiki><references /></nowiki></code> für Referenzierungen in Wikiseiten', 'cite_error' => 'Referenzfehler: $1', 'cite_error_ref_numeric_key' => 'Ungültige Verwendung von <code><ref></code>: Der Parameter „name“ darf kein reiner Zahlenwert sein. Benutze einen beschreibenden Namen.', 'cite_error_ref_no_key' => 'Ungültige Verwendung von <code><ref></code>: Der Parameter „ref“ ohne Inhalt muss einen Namen haben.', @@ -980,12 +985,14 @@ DefinÄ›ruj dalÅ¡ne w powÄ›sći <nowiki>[[MediaWiki:$2]]</nowiki>.', za ref z mjenim <code>$1</code> njejo se tekst pódaÅ‚', 'cite_error_included_ref' => 'Kóńceca toflicka <code></ref></code> felujo za toflicku <code><ref></code>', 'cite_error_refs_without_references' => 'Toflicki <code><ref></code> eksistÄ›ruju, ale toflicka <code><references/></code> njejo se namakaÅ‚a', - 'cite_error_group_refs_without_references' => 'Toflicki <code><ref></code> eksistÄ›ruju za kupku z mjenim "$1", ale wótpowÄ›dujuca toflicka <code><references group="$1"/></code> njejo se namakaÅ‚a', # Fuzzy + 'cite_error_group_refs_without_references' => 'Toflicki <code><ref></code> eksistÄ›ruju za kupku z mjenim "$1", ale wótpowÄ›dujuca toflicka <code><references group="$1"/></code> njejo se namakaÅ‚a abo zacynjacy <code></ref></code> felujo', 'cite_error_references_group_mismatch' => 'Toflicka <code><ref></code> w <code><references></code> jo ze kupkowym atributom "$1" w konflikÅ›e.', 'cite_error_references_missing_group' => 'Toflicka <code><ref></code>, kótaraž jo w <code><references></code> definÄ›rowana, ma kupkowy atribut "$1", kótaryž njepokazujo se w pjerwjejÅ¡nem teksće.', 'cite_error_references_missing_key' => 'Toflicka <code><ref></code> z mjenim "$1", kótaraž jo w <code><references></code> definÄ›rowana, njewužywa se w pjerwjejÅ¡nem teksće.', 'cite_error_references_no_key' => 'Toflicka <code><ref></code>, kótaraž jo w <code><references></code> definÄ›rowana, njama mjenjowy atribut.', 'cite_error_empty_references_define' => 'Toflicka <code><ref></code>, kótaraž jo w <code><references></code> z mjenim "$1" definÄ›rowana, njama wopÅ›imjeÅ›e.', + 'cite_references_link_accessibility_label' => 'Górjej skócyÅ›', + 'cite_references_link_many_accessibility_label' => 'Górjej skócys do:', ); /** Greek (Ελληνικά) @@ -1070,7 +1077,9 @@ neniu teksto estis donita por ref-oj nomataj <code>$1</code>', * @author Crazymadlover * @author Drini * @author Erdemaslancan + * @author Fitoschido * @author Gustronico + * @author Ihojose * @author Locos epraix * @author Manuelt15 * @author McDutchie @@ -1104,13 +1113,15 @@ Define más en el mensaje <nowiki>[[MediaWiki:$2]]</nowiki>.', no se ha definido el contenido de las referencias llamadas <code>$1</code>', 'cite_error_included_ref' => 'Etiqueta de apertura <code><ref></code> sin su correspondiente cierre <code></ref></code>', 'cite_error_refs_without_references' => 'Existen etiquetas <code><ref></code>, pero no se encontró una etiqueta <code><references /></code>', - 'cite_error_group_refs_without_references' => 'Existen etiquetas <code><ref></code> para un grupo llamado "$1", pero no se encontró una etiqueta <code><references group="$1"/></code>', # Fuzzy + 'cite_error_group_refs_without_references' => 'Existen etiquetas <code><ref></code> para un grupo llamado «$1», pero no se encontró la etiqueta <code><references group="$1"/></code> correspondiente, o falta la etiqueta <code></ref></code> de cierre', 'cite_error_references_group_mismatch' => 'La etiqueta <code><ref></code> en <code><references></code> presenta el atributo de grupo "$1" en conflicto.', 'cite_error_references_missing_group' => 'La etiqueta <code><ref></code> definida en <code><references></code> pertenece al grupo "$1" no declarado en el texto precedente.', 'cite_error_references_missing_key' => 'La etiqueta <code><ref></code> con nombre "$1" definida en <code><references></code> no se utiliza en el texto precedente.', 'cite_error_references_no_key' => 'La etiqueta <code><ref></code> definida en <code><references></code> no tiene atributo de nombre.', 'cite_error_empty_references_define' => 'La etiqueta <code><ref></code> definida en <code><references></code> con nombre "$1" no tiene contenido.', 'cite_references_link_many_format_backlink_labels' => 'a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc cd ce cf cg ch ci cj ck cl cm cn co cp cq cr cs ct cu cv cw cx cy cz da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz ea eb ec ed ee ef eg eh ei ej ek el em en eo ep eq er es et eu ev ew ex ey ez fa fb fc fd fe ff fg fh fi fj fk fl fm fn fo fp fq fr fs ft fu fv fw fx fy fz ga gb gc gd ge gf gg gh gi gj gk gl gm gn go gp gq gr gs gt gu gv gw gx gy gz ha hb hc hd he hf hg hh hi hj hk hl hm hn ho hp hq hr hs ht hu hv hw hx hy hz ia ib ic id ie if ig ih ii ij ik il im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js jt ju jv jw jx jy jz ka kb kc kd ke kf kg kh ki kj kk kl km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf lg lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os ot ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm pn po pp pq pr ps pt pu pv pw px py pz qa qb qc qd qe qf qg qh qi qj qk ql qm qn qo qp qq qr qs qt qu qv qw qx qy qz ra rb rc rd re rf rg rh ri rj rk rl rm rn ro rp rq rr rs rt ru rv rw rx ry rz sa sb sc sd se sf sg sh si sj sk sl sm sn so sp sq sr ss st su sv sw sx sy sz ta tb tc td te tf tg th ti tj tk tl tm tn to tp tq tr ts tt tu tv tw tx ty tz ua ub uc ud ue uf ug uh ui uj uk ul um un uo up uq ur us ut uu uv uw ux uy uz va vb vc vd ve vf vg vh vi vj vk vl vm vn vo vp vq vr vs vt vu vv vw vx vy vz wa wb wc wd we wf wg wh wi wj wk wl wm wn wo wp wq wr ws wt wu wv ww wx wy wz xa xb xc xd xe xf xg xh xi xj xk xl xm xn xo xp xq xr xs xt xu xv xw xx xy xz ya yb yc yd ye yf yg yh yi yj yk yl ym yn yo yp yq yr ys yt yu yv yw yx yy yz za zb zc zd ze zf zg zh zi zj zk zl zm zn zo zp zq zr zs zt zu zv zw zx zy zz', + 'cite_references_link_accessibility_label' => 'Ir a', + 'cite_references_link_many_accessibility_label' => 'Saltar a:', ); /** Estonian (eesti) @@ -1180,7 +1191,7 @@ $messages['fa'] = array( 'cite_error_references_no_text' => 'برچسب <code><ref></code> نامجاز؛ متنی برای یادکردهای با نام <code>$1</code> وارد نشده‌است', 'cite_error_included_ref' => 'برچسب تمام کنندهٔ <code></ref></code> بدون برچسب <code><ref></code>', 'cite_error_refs_without_references' => 'برچسب <code><ref></code> وجود دارد اما برچسب <code><references/></code> پیدا نشد', - 'cite_error_group_refs_without_references' => 'برچسب <code><ref></code> برای گروهی به نام «$1» وجود دارد، اما برچسب <code><references group="$1"/></code> متناظر پیدا نشد', # Fuzzy + 'cite_error_group_refs_without_references' => 'برچسب <code><ref></code> برای گروهی به نام «$1» وجود دارد، اما برچسب متناظر با <code><references group="$1"/></code> یاÙت نشد یا <code></ref></code> بسته جا گذاشته شده‌است.', 'cite_error_references_group_mismatch' => 'برچسپ <code><ref></code> درون <code><references></code> در تضاد با ویژگی‌های گروه «$1» است.', 'cite_error_references_missing_group' => 'برچسپ <code><ref></code> در <code><references></code> تعری٠شده، ویژگی‌های گروهی «$1» را دارد Ú©Ù‡ درون متن قبل از آن ظاهر نمی‌شود.', 'cite_error_references_missing_key' => 'پرچسپ <code><ref></code> Ú©Ù‡ با نام «$1» درون <code><references></code> تعری٠شده، در متن قبل از آن استÙاده نشده‌است.', @@ -1188,6 +1199,8 @@ $messages['fa'] = array( 'cite_error_empty_references_define' => 'برچسپ <code><ref></code> تعری٠شده درون <code><references></code> با نام «$1» Ù…Øتوایی ندارد.', 'cite_reference_link_key_with_num' => '$1_$2', 'cite_reference_link_prefix' => 'cite_ref-', + 'cite_references_link_accessibility_label' => 'پرش به بالا', + 'cite_references_link_many_accessibility_label' => 'پرش به بالا به:', ); /** Finnish (suomi) @@ -1278,6 +1291,7 @@ aucun texte n’a été fourni pour les références nommées <code>$1</code>.', 'cite_error_references_missing_key' => 'La balise <code><ref></code> avec le nom « $1 » définie dans <code><references></code> n’est pas utilisé dans le texte précédent.', 'cite_error_references_no_key' => 'La balise <code><ref></code> définie dans <code><references></code> n’a pas d’attribut de nom.', 'cite_error_empty_references_define' => 'La balise <code><ref></code> défini dans <code><references></code> avec le nom « $1 » n’a pas de contenu.', + 'cite_references_link_many_format' => '<sup style="margin-left:.2em;margin-right:.2em;">[[#$1|$2]]</sup>', 'cite_references_link_many_sep' => ', ', 'cite_references_link_many_and' => ' et ', 'cite_references_link_accessibility_label' => 'Aller', @@ -1490,10 +1504,11 @@ $messages['he'] = array( /** Hindi (हिनà¥à¤¦à¥€) * @author Ansumang * @author Kaustubh + * @author Shubhamkanodia * @author Siddhartha Ghai */ $messages['hi'] = array( - 'cite-desc' => '<nowiki><ref[ name=id]></nowiki> और <nowiki><references/></nowiki> टैग जोड़ता है, उदà¥à¤§à¤°à¤£à¥‹à¤‚ के लिये।', + 'cite-desc' => 'उदà¥à¤§à¤°à¤£à¥‹à¤‚ के लिये <nowiki><ref[ name=id]></nowiki> और <nowiki><references/></nowiki> टैग जोड़ता है।', 'cite_error' => 'सनà¥à¤¦à¤°à¥à¤ तà¥à¤°à¥à¤Ÿà¤¿: $1', 'cite_error_ref_numeric_key' => 'अमानà¥à¤¯ <code><ref></code> टैग; नाम साधारण संखà¥à¤¯à¤¾ (integer) नहीं हो सकता, कृपया विसà¥à¤¤à¥ƒà¤¤ शीरà¥à¤·à¤• दें।', @@ -1523,8 +1538,9 @@ $messages['hi'] = array( 'cite_error_references_missing_key' => '<code><references></code> में "$1" नाम के साथ परिà¤à¤¾à¤·à¤¿à¤¤ <code><ref></code> टैग उससे पहले के पाठमें पà¥à¤°à¤¯à¥à¤•à¥à¤¤ नहीं है।', 'cite_error_references_no_key' => '<code><references></code> टैग में परिà¤à¤¾à¤·à¤¿à¤¤ <code><ref></code> टैग का कोई नाम नहीं है।', 'cite_error_empty_references_define' => '<code><references></code> टैग में परिà¤à¤¾à¤·à¤¿à¤¤ "$1" नामक <code><ref></code> टैग में कोई सामगà¥à¤°à¥€ नहीं है।', - 'cite_references_link_accessibility_label' => 'वापिस ऊपर जायें', - 'cite_references_link_many_accessibility_label' => 'इस तक वापिस ऊपर जायें:', + 'cite_references_link_many_format_backlink_labels' => 'अ आ इ ई उ ऊ ठठओ औ क ख ग घ ङ च छ ज ठञ ट ठड ढ ण त थ द ध न प फ ब ठम य र ल व श ष स ह अ॰अ अ॰आ अ॰इ अ॰ई अ॰उ अ॰ऊ अ॰ठअ॰ठअ॰ओ अ॰औ अ॰क अ॰ख अ॰ग अ॰घ अ॰ङ अ॰च अ॰छ अ॰ज अ॰ठअ॰ञ अ॰ट अ॰ठअ॰ड अ॰ढ अ॰ण अ॰त अ॰थ अ॰द अ॰ध अ॰न अ॰प अ॰फ अ॰ब अ॰ठअ॰म अ॰य अ॰र अ॰ल अ॰व अ॰श अ॰ष अ॰स अ॰ह आ॰अ आ॰आ आ॰इ आ॰ई आ॰उ आ॰ऊ आ॰ठआ॰ठआ॰ओ आ॰औ आ॰क आ॰ख आ॰ग आ॰घ आ॰ङ आ॰च आ॰छ आ॰ज आ॰ठआ॰ञ आ॰ट आ॰ठआ॰ड आ॰ढ आ॰ण आ॰त आ॰थ आ॰द आ॰ध आ॰न आ॰प आ॰फ आ॰ब आ॰ठअ॰म आ॰य आ॰र आ॰ल आ॰व आ॰श आ॰ष आ॰स आ॰ह इ॰अ इ॰आ इ॰इ इ॰ई इ॰उ इ॰ऊ इ॰ठइ॰ठइ॰ओ इ॰औ इ॰क इ॰ख इ॰ग इ॰घ इ॰ङ इ॰च इ॰छ इ॰ज इ॰ठइ॰ञ इ॰ट इ॰ठइ॰ड इ॰ढ इ॰ण इ॰त इ॰थ इ॰द इ॰ध इ॰न इ॰प इ॰फ इ॰ब इ॰ठइ॰म इ॰य इ॰र इ॰ल इ॰व इ॰श इ॰ष इ॰स इ॰ह ई॰अ ई॰आ ई॰इ ई॰ई ई॰उ ई॰ऊ ई॰ठई॰ठई॰ओ ई॰औ ई॰क ई॰ख ई॰ग ई॰घ ई॰ङ ई॰च ई॰छ ई॰ज ई॰ठई॰ञ ई॰ट ई॰ठई॰ड ई॰ढ ई॰ण ई॰त ई॰थ ई॰द ई॰ध ई॰न ई॰प ई॰फ ई॰ब ई॰ठई॰म ई॰य ई॰र ई॰ल ई॰व ई॰श ई॰ष ई॰स ई॰ह उ॰अ उ॰आ उ॰इ उ॰ई उ॰उ उ॰ऊ उ॰ठउ॰ठउ॰ओ उ॰औ उ॰क उ॰ख उ॰ग उ॰घ उ॰ङ उ॰च उ॰छ उ॰ज उ॰ठउ॰ञ उ॰ट उ॰ठउ॰ड उ॰ढ उ॰ण उ॰त उ॰थ उ॰द उ॰ध उ॰न उ॰प उ॰फ उ॰ब उ॰ठउ॰म उ॰य उ॰र उ॰ल उ॰व उ॰श उ॰ष उ॰स उ॰ह ऊ॰अ ऊ॰आ ऊ॰इ ऊ॰ई ऊ॰उ ऊ॰ऊ ऊ॰ठऊ॰ठऊ॰ओ ऊ॰औ ऊ॰क ऊ॰ख ऊ॰ग ऊ॰घ ऊ॰ङ ऊ॰च ऊ॰छ ऊ॰ज ऊ॰ठऊ॰ञ ऊ॰ट ऊ॰ठऊ॰ड ऊ॰ढ ऊ॰ण ऊ॰त ऊ॰थ ऊ॰द ऊ॰ध ऊ॰न ऊ॰प ऊ॰फ ऊ॰ब ऊ॰ठऊ॰म ऊ॰य ऊ॰र ऊ॰ल ऊ॰व ऊ॰श ऊ॰ष ऊ॰स ऊ॰ह à¤à¥°à¤… à¤à¥°à¤† à¤à¥°à¤‡ à¤à¥°à¤ˆ à¤à¥°à¤‰ à¤à¥°à¤Š à¤à¥°à¤ à¤à¥°à¤ à¤à¥°à¤“ à¤à¥°à¤” à¤à¥°à¤• à¤à¥°à¤– à¤à¥°à¤— à¤à¥°à¤˜ à¤à¥°à¤™ à¤à¥°à¤š à¤à¥°à¤› à¤à¥°à¤œ à¤à¥°à¤ à¤à¥°à¤ž à¤à¥°à¤Ÿ à¤à¥°à¤ à¤à¥°à¤¡ à¤à¥°à¤¢ à¤à¥°à¤£ à¤à¥°à¤¤ à¤à¥°à¤¥ à¤à¥°à¤¦ à¤à¥°à¤§ à¤à¥°à¤¨ à¤à¥°à¤ª à¤à¥°à¤« à¤à¥°à¤¬ à¤à¥°à¤ à¤à¥°à¤® à¤à¥°à¤¯ à¤à¥°à¤° à¤à¥°à¤² à¤à¥°à¤µ à¤à¥°à¤¶ à¤à¥°à¤· à¤à¥°à¤¸ à¤à¥°à¤¹ à¤à¥°à¤… à¤à¥°à¤† à¤à¥°à¤‡ à¤à¥°à¤ˆ à¤à¥°à¤‰ à¤à¥°à¤Š à¤à¥°à¤ à¤à¥°à¤ à¤à¥°à¤“ à¤à¥°à¤” à¤à¥°à¤• à¤à¥°à¤– à¤à¥°à¤— à¤à¥°à¤˜ à¤à¥°à¤™ à¤à¥°à¤š à¤à¥°à¤› à¤à¥°à¤œ à¤à¥°à¤ à¤à¥°à¤ž à¤à¥°à¤Ÿ à¤à¥°à¤ à¤à¥°à¤¡ à¤à¥°à¤¢ à¤à¥°à¤£ à¤à¥°à¤¤ à¤à¥°à¤¥ à¤à¥°à¤¦ à¤à¥°à¤§ à¤à¥°à¤¨ à¤à¥°à¤ª à¤à¥°à¤« à¤à¥°à¤¬ à¤à¥°à¤ à¤à¥°à¤® à¤à¥°à¤¯ à¤à¥°à¤° à¤à¥°à¤² à¤à¥°à¤µ à¤à¥°à¤¶ à¤à¥°à¤· à¤à¥°à¤¸ à¤à¥°à¤¹ ओ॰अ ओ॰आ ओ॰इ ओ॰ई ओ॰उ ओ॰ऊ ओ॰ठओ॰ठओ॰ओ ओ॰औ ओ॰क ओ॰ख ओ॰ग ओ॰घ ओ॰ङ ओ॰च ओ॰छ ओ॰ज ओ॰ठओ॰ञ ओ॰ट ओ॰ठओ॰ड ओ॰ढ ओ॰ण ओ॰त ओ॰थ ओ॰द ओ॰ध ओ॰न ओ॰प ओ॰फ ओ॰ब ओ॰ठओ॰म ओ॰य ओ॰र ओ॰ल ओ॰व ओ॰श ओ॰ष ओ॰स ओ॰ह औ॰अ औ॰आ औ॰इ औ॰ई औ॰उ औ॰ऊ औ॰ठऔ॰ठऔ॰ओ औ॰औ औ॰क औ॰ख औ॰ग औ॰घ औ॰ङ औ॰च औ॰छ औ॰ज औ॰ठऔ॰ञ औ॰ट औ॰ठऔ॰ड औ॰ढ औ॰ण औ॰त औ॰थ औ॰द औ॰ध औ॰न औ॰प औ॰फ औ॰ब औ॰ठऔ॰म औ॰य औ॰र औ॰ल औ॰व औ॰श औ॰ष औ॰स औ॰ह क॰अ क॰आ क॰इ क॰ई क॰उ क॰ऊ क॰ठक॰ठक॰ओ क॰औ क॰क क॰ख क॰ग क॰घ क॰ङ क॰च क॰छ क॰ज क॰ठक॰ञ क॰ट क॰ठक॰ड क॰ढ क॰ण क॰त क॰थ क॰द क॰ध क॰न क॰प क॰फ क॰ब क॰ठक॰म क॰य क॰र क॰ल क॰व क॰श क॰ष क॰स क॰ह ख॰अ ख॰आ ख॰इ ख॰ई ख॰उ ख॰ऊ ख॰ठख॰ठख॰ओ ख॰औ ख॰क ख॰ख ख॰ग ख॰घ ख॰ङ ख॰च ख॰छ ख॰ज ख॰ठख॰ञ ख॰ट ख॰ठख॰ड ख॰ढ ख॰ण ख॰त ख॰थ ख॰द ख॰ध ख॰न ख॰प ख॰फ ख॰ब ख॰ठख॰म ख॰य ख॰र ख॰ल ख॰व ख॰श ख॰ष ख॰स ख॰ह ग॰अ ग॰आ ग॰इ ग॰ई ग॰उ ग॰ऊ ग॰ठग॰ठग॰ओ ग॰औ ग॰क ग॰ख ग॰ग ग॰घ ग॰ङ ग॰च ग॰छ ग॰ज ग॰ठग॰ञ ग॰ट ग॰ठग॰ड ग॰ढ ग॰ण ग॰त ग॰थ ग॰द ग॰ध ग॰न ग॰प ग॰फ ग॰ब ग॰ठग॰म ग॰य ग॰र ग॰ल ग॰व ग॰श ग॰ष ग॰स ग॰ह घ॰अ घ॰आ घ॰इ घ॰ई घ॰उ घ॰ऊ घ॰ठघ॰ठघ॰ओ घ॰औ घ॰क घ॰ख घ॰ग घ॰घ घ॰ङ घ॰च घ॰छ घ॰ज घ॰ठघ॰ञ घ॰ट घ॰ठघ॰ड घ॰ढ घ॰ण घ॰त घ॰थ घ॰द घ॰ध घ॰न घ॰प घ॰फ घ॰ब घ॰ठघ॰म घ॰य घ॰र घ॰ल घ॰व घ॰श घ॰ष घ॰स घ॰ह ङ॰अ ङ॰आ ङ॰इ ङ॰ई ङ॰उ ङ॰ऊ ङ॰ठङ॰ठङ॰ओ ङ॰औ ङ॰क ङ॰ख ङ॰ग ङ॰घ ङ॰ङ ङ॰च ङ॰छ ङ॰ज ङ॰ठङ॰ञ ङ॰ट ङ॰ठङ॰ड ङ॰ढ ङ॰ण ङ॰त ङ॰थ ङ॰द ङ॰ध ङ॰न ङ॰प ङ॰फ ङ॰ब ङ॰ठङ॰म ङ॰य ङ॰र ङ॰ल ङ॰व ङ॰श ङ॰ष ङ॰स ङ॰ह', + 'cite_references_link_accessibility_label' => 'ऊपर जायें', + 'cite_references_link_many_accessibility_label' => 'इस तक ऊपर जायें:', ); /** Croatian (hrvatski) @@ -1579,12 +1595,14 @@ Definuj dalÅ¡e w zdźělence <nowiki>[[MediaWiki:$2]]</nowiki>.', 'cite_error_references_no_text' => 'NjepÅ‚aćiwa referenca formy <code><ref></code>; žadyn tekst za referency z mjenom <code>$1</code> podaty.', 'cite_error_included_ref' => 'KónÄny <code></ref></code> za tafliÄku <code><ref></code> faluje', 'cite_error_refs_without_references' => 'TafliÄki <code><ref></code> ekistuja, ale žana tafliÄka code><references/></code> je so namakaÅ‚a', - 'cite_error_group_refs_without_references' => 'TafliÄki <code><ref></code> eksistuja za skupinu z mjenom "$1", ale njeje so wotpowÄ›dowaca tafliÄka <code><references group="$1"/></code> namakaÅ‚a', # Fuzzy + 'cite_error_group_refs_without_references' => 'TafliÄki <code><ref></code> eksistuja za skupinu z mjenom "$1", ale njeje so wotpowÄ›dowaca tafliÄka <code><references group="$1"/></code> namakaÅ‚a abo zaÄinjacy <code></ref></code> faluje', 'cite_error_references_group_mismatch' => 'TafliÄka <code><ref></code> w <code><references></code> je ze skupinskim atributom "$1" w konflikće.', 'cite_error_references_missing_group' => 'TafliÄka <code><ref></code>, kotraž je w <code><references></code> definowana, ma skupinski atribut "$1", kotryž so w prjedawÅ¡im teksće njejewi.', 'cite_error_references_missing_key' => 'TafliÄka <code><ref></code> z mjenom "$1", kotraž je w <code><references></code> definowana, so w prjedawÅ¡im teksće njewužiwa.', 'cite_error_references_no_key' => 'TafliÄka <code><ref></code>, kotraž je w <code><references></code> definowana, mjenowy atribut nima.', 'cite_error_empty_references_define' => 'TafliÄka <code><ref></code>, kotraž je w <code><references></code> z mjenom "$1" definowana, wobsah nima.', + 'cite_references_link_accessibility_label' => 'Horje skoÄić', + 'cite_references_link_many_accessibility_label' => 'Horje skoÄić do:', ); /** Haitian (Kreyòl ayisyen) @@ -1734,38 +1752,38 @@ $messages['ig'] = array( * @author Lam-ang */ $messages['ilo'] = array( - 'cite-desc' => 'Agnayon ti <nowiki><ref[ name=id]></nowiki> ken <nowiki><references/></nowiki> nga etiketa, para kadagiti pagdakamat', + 'cite-desc' => 'Aginayon kadagiti etiketa ti <nowiki><ref[ name=id]></nowiki> ken <nowiki><references/></nowiki>, para kadagiti panagdakamat', 'cite_error' => 'Biddut ti dakamat: $1', - 'cite_error_ref_numeric_key' => 'Imbalido a <code><ref></code> nga etiketa; -ti nagan ket saan a mabalin a nalaka a sibubukel. Agusar ti agipalpalawag a titulo', - 'cite_error_ref_no_key' => 'Imbalido a <code><ref></code> nga etiketa; -dagita ref nga awan nagyanna ket masapul a managanan', - 'cite_error_ref_too_many_keys' => 'Imbalido a <code><ref></code> nga etiketa; + 'cite_error_ref_numeric_key' => 'Imbalido ti etiketa ti <code><ref></code>; +ti nagan ket saan a mabalin a nalaka a sibubukel. Agusar ti makaipalawag a titulo', + 'cite_error_ref_no_key' => 'Imbalido nga etiketa ti <code><ref></code> ; +dagita ref nga awan nagyanna ket masapul nga adda naganna', + 'cite_error_ref_too_many_keys' => 'Imbalido nga etiketa ti <code><ref></code> ; imbalido a nag-nagan, a kas adu unay', - 'cite_error_ref_no_input' => 'Imbalido a <code><ref></code> nga etiketa; + 'cite_error_ref_no_input' => 'Imbalido nga etiketa ti <code><ref></code> ; dagiti ref nga awan ti naganna ket masapul nga addaan ti nagyan', - 'cite_error_references_invalid_parameters' => 'Imbalido a <code><references></code> nga etiketa -awan dagiti parametro a maipalubos. + 'cite_error_references_invalid_parameters' => 'Imbalido nga etiketa ti <code><references></code>; +saan a maipalubos dagiti parametro. Usaren ti <code><references /></code>', - 'cite_error_references_invalid_parameters_group' => 'Imbalido a <code><references></code> nga etiketa; -parametro a "grupo" ket ti maipalubos laeng. + 'cite_error_references_invalid_parameters_group' => 'Imbalido nga etiketa ti <code><references></code> ; +maipalubos laeng ti parametro ti "grupo" . Usaren ti <code><references /></code> , wenno<code><references group="..." /></code>', - 'cite_error_references_no_backlink_label' => 'Naibusan kadagiti nagrunaan a likud ti silpo nga etiketa. -Ipalawag pay ti adu idiay <nowiki>[[MediaWiki:Cite references link many format backlink labels]]</nowiki> a mensahe', - 'cite_error_no_link_label_group' => 'Naibusan ti nangruna a silpo nga etiketa para iti grupo ti "$1". -Ipalawag pay ti adu idiay <nowiki>[[MediaWiki:$2]]</nowiki> a mensahe.', - 'cite_error_references_no_text' => 'Imbalido a <code><ref></code> nga etiketa; -awan ti testo a naited para dagiti ref a nanaganan <code>$1</code>', - 'cite_error_included_ref' => 'Irikrikep ti <code></ref></code> napukaw para iti <code><ref></code> nga etiketa', - 'cite_error_refs_without_references' => 'Ti <code><ref></code> nga etiketa ket addan, ngem awan ti <code><references/></code> nga etiketa a nabirukan', - 'cite_error_group_refs_without_references' => 'Adda dagiti <code><ref></code> para iti grupo a nanaganan ti "$1", ngem awan ti kapada a <code><references group="$1"/></code> nga etiketa ti nabirukan, wenno pangrikep a <code></ref></code> ket awan', - 'cite_error_references_group_mismatch' => 'Ti <code><ref></code> nga etiketa iday <code><references></code> ket addan ti nagsungat a gupit ti grupo "$1".', - 'cite_error_references_missing_group' => 'Ti <code><ref></code> nga etiketa a naipalawag idiay <code><references></code> ket addaan ti gupit ti grupo ti "$1" a saan nga agparang iti napalabas a testo.', - 'cite_error_references_missing_key' => 'Ti <code><ref></code> nga etiketa nga addaan ti nagan ti "$1" a naipalawag idiay <code><references></code> ket saan a nausar iti napalabas a testo.', - 'cite_error_references_no_key' => 'Ti <code><ref></code> nga etiketa a naipalawag idiay <code><references></code> ket awan ti nainagan a gupit.', - 'cite_error_empty_references_define' => 'Ti <code><ref></code> nga etiketa a naipalawag idiay <code><references></code> nga addaan ti nagan a "$1" ket awan ti nagyanna.', - 'cite_references_link_accessibility_label' => 'Lumagto ti ngato', - 'cite_references_link_many_accessibility_label' => 'Lumagto ti ngato iti:', + 'cite_error_references_no_backlink_label' => 'Naibusan kadagiti etiketa ti naisangayan a silpo ti likud. +Ipalawag pay ti adu idiay mensahe ti <nowiki>[[MediaWiki:Cite references link many format backlink labels]]</nowiki>', + 'cite_error_no_link_label_group' => 'Naibusan kadagiti etiketa ti nangruna a silpo para iti grupo ti "$1". +Ipalawag pay ti adu idiay mensahe ti <nowiki>[[MediaWiki:$2]]</nowiki> .', + 'cite_error_references_no_text' => 'Imbalido nga etiketa ti <code><ref></code> ; +awan ti testo a naited para kadagiti ref a nanaganan <code>$1</code>', + 'cite_error_included_ref' => 'Irikepen ti <code></ref></code> napukaw para iti etiketa ti <code><ref></code>', + 'cite_error_refs_without_references' => 'Ti etiketa ti <code><ref></code> ket addan, ngem awan ti etiketa ti <code><references/></code> a nabirukan', + 'cite_error_group_refs_without_references' => 'Adda dagiti etiketa ti <code><ref></code> para iti grupo a nanaganan ti "$1", ngem awan ti kapada nga etiketa ti <code><references group="$1"/></code> a nabirukan, wenno awan ti pangrikep ti <code></ref></code>', + 'cite_error_references_group_mismatch' => 'Ti etiketa ti <code><ref></code> iday <code><references></code> ket addan ti kasinnungat a gupit ti grupo ti "$1".', + 'cite_error_references_missing_group' => 'Ti etiketa ti <code><ref></code> a naipalawag idiay <code><references></code> ket addaan ti gupit ti grupo ti "$1" a saan nga agparang iti napalabas a testo.', + 'cite_error_references_missing_key' => 'Ti etiketa ti <code><ref></code> nga addaan ti nagan ti "$1" a naipalawag idiay <code><references></code> ket saan a nausar iti napalabas a testo.', + 'cite_error_references_no_key' => 'Ti etiketa ti <code><ref></code> a naipalawag idiay <code><references></code> ket awan ti nainagan a gupit.', + 'cite_error_empty_references_define' => 'Ti etiketa ti <code><ref></code> a naipalawag idiay <code><references></code> nga addaan ti nagan a "$1" ket awan ti nagyanna.', + 'cite_references_link_accessibility_label' => 'Mapan iti ngato', + 'cite_references_link_many_accessibility_label' => 'Mapan aginggana iti:', ); /** Ido (Ido) @@ -1878,6 +1896,8 @@ $messages['ja'] = array( 'cite_error_references_missing_key' => '<code><references></code> ã§å®šç¾©ã•ã‚Œã¦ã„ã‚‹ <code><ref></code> ã‚¿ã‚° (name="$1") ã¯ã€å…ˆè¡Œã™ã‚‹ãƒ†ã‚スト内ã§ä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã›ã‚“。', 'cite_error_references_no_key' => '<code><references></code> ã§å®šç¾©ã•ã‚Œã¦ã„ã‚‹ <code><ref></code> ã‚¿ã‚°ã« name 属性ãŒã‚ã‚Šã¾ã›ã‚“。', 'cite_error_empty_references_define' => '<code><references></code> ã§å®šç¾©ã•ã‚Œã¦ã„ã‚‹ <code><ref></code> ã‚¿ã‚° (name="$1") ã«å†…容ãŒã‚ã‚Šã¾ã›ã‚“。', + 'cite_references_link_accessibility_label' => 'å…ƒã®ä½ç½®ã«æˆ»ã‚‹', + 'cite_references_link_many_accessibility_label' => '以下ã®ä½ç½®ã«æˆ»ã‚‹:', ); /** Jutish (jysk) @@ -1895,6 +1915,7 @@ $messages['jut'] = array( ); /** Javanese (Basa Jawa) + * @author Bennylin * @author Iwan Novirion * @author Meursault2004 * @author NoiX180 @@ -1925,10 +1946,12 @@ Tambahaké katemton nèng layang <nowiki>[[MediaWiki:$2]]</nowiki>.', ora ditemokaké tèks kanggo ref mawa jeneng <code>$1</code>', 'cite_error_included_ref' => 'Panutupan <code></ref></code> kélangan tag <code><ref></code>', 'cite_error_refs_without_references' => 'Tag <code><ref></code> ditemokaké, nanging tag <code><references/></code> ora ditemokaké', - 'cite_error_group_refs_without_references' => 'Tag <code><ref></code> ditemokaké kanggo paguyuban ajeneng "$1", nanging tag <code><references group="$1"/></code> sing ana kaitané ora ditemokaké', # Fuzzy + 'cite_error_group_refs_without_references' => 'Tag <code><ref></code> ditemokaké kanggo paguyuban ajeneng "$1", nanging tag <code><references group="$1"/></code> sing ana kaitané ora ditemokaké, utawa tag panutup <code></ref></code> ora diwénéhi', 'cite_error_references_group_mismatch' => '<code><ref></code> tandha <code><references></code> nduwèni atribut klompok sing marai konflik "$1".', 'cite_error_references_missing_group' => '<code><ref></code> tag sing didhèfinisikaké <code><references></code> nduwèni atribut klompok "$1" sing ora njedhul sing tèks sakdurungé.', 'cite_error_references_missing_key' => '<code><ref></code> tag sing didhefinisikaké mawa jeneng "$1" <code><references></code> ora dianggo nèng tèks sakdurungé.', + 'cite_error_references_no_key' => 'Tag <code><ref></code> yang didefinisikan di di <code><references></code> tidak memiliki nama atribut.', + 'cite_error_empty_references_define' => 'Tag <code><ref></code> yang didefinisikan di di <code><references></code> dengan nama "$1" tidak memiliki isi.', 'cite_reference_link_key_with_num' => '$1_$2', 'cite_reference_link_prefix' => 'cite_ref-', 'cite_references_link_prefix' => 'cite_note-', @@ -1939,6 +1962,8 @@ ora ditemokaké tèks kanggo ref mawa jeneng <code>$1</code>', 'cite_references_link_many_format_backlink_labels' => 'a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc cd ce cf cg ch ci cj ck cl cm cn co cp cq cr cs ct cu cv cw cx cy cz da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz ea eb ec ed ee ef eg eh ei ej ek el em en eo ep eq er es et eu ev ew ex ey ez fa fb fc fd fe ff fg fh fi fj fk fl fm fn fo fp fq fr fs ft fu fv fw fx fy fz ga gb gc gd ge gf gg gh gi gj gk gl gm gn go gp gq gr gs gt gu gv gw gx gy gz ha hb hc hd he hf hg hh hi hj hk hl hm hn ho hp hq hr hs ht hu hv hw hx hy hz ia ib ic id ie if ig ih ii ij ik il im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js jt ju jv jw jx jy jz ka kb kc kd ke kf kg kh ki kj kk kl km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf lg lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os ot ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm pn po pp pq pr ps pt pu pv pw px py pz qa qb qc qd qe qf qg qh qi qj qk ql qm qn qo qp qq qr qs qt qu qv qw qx qy qz ra rb rc rd re rf rg rh ri rj rk rl rm rn ro rp rq rr rs rt ru rv rw rx ry rz sa sb sc sd se sf sg sh si sj sk sl sm sn so sp sq sr ss st su sv sw sx sy sz ta tb tc td te tf tg th ti tj tk tl tm tn to tp tq tr ts tt tu tv tw tx ty tz ua ub uc ud ue uf ug uh ui uj uk ul um un uo up uq ur us ut uu uv uw ux uy uz va vb vc vd ve vf vg vh vi vj vk vl vm vn vo vp vq vr vs vt vu vv vw vx vy vz wa wb wc wd we wf wg wh wi wj wk wl wm wn wo wp wq wr ws wt wu wv ww wx wy wz xa xb xc xd xe xf xg xh xi xj xk xl xm xn xo xp xq xr xs xt xu xv xw xx xy xz ya yb yc yd ye yf yg yh yi yj yk yl ym yn yo yp yq yr ys yt yu yv yw yx yy yz za zb zc zd ze zf zg zh zi zj zk zl zm zn zo zp zq zr zs zt zu zv zw zx zy zz', 'cite_references_link_many_sep' => ' ', 'cite_references_link_many_and' => ' ', + 'cite_references_link_accessibility_label' => 'Mencolot munggah', + 'cite_references_link_many_accessibility_label' => 'Mencolot munggah menyang:', ); /** Georgian (ქáƒáƒ თული) @@ -1971,7 +1996,7 @@ $messages['ka'] = array( სქáƒáƒšáƒ˜áƒáƒ¡áƒáƒ—ვის <code>$1</code> áƒáƒ áƒáƒ ის მითითებული ტექსტი', 'cite_error_included_ref' => 'დáƒáƒ›áƒ®áƒ£áƒ áƒáƒ•áƒ˜ ტეგი <code></ref></code> დáƒáƒ™áƒáƒ გულიáƒ', 'cite_error_refs_without_references' => 'áƒáƒ სებული ტეგისáƒáƒ—ვის <code><ref></code> ვერმáƒáƒ˜áƒ«áƒ”ბნრშესáƒáƒ‘áƒáƒ›áƒ˜áƒ¡áƒ˜ ტეგი <code><references/></code>', - 'cite_error_group_refs_without_references' => 'ჯგუფი „$1“ áƒáƒ სებული ტეგებისáƒáƒ—ვის <code><ref></code> ვერმáƒáƒ˜áƒ«áƒ”ბნრშესáƒáƒ‘áƒáƒ›áƒ˜áƒ¡áƒ˜ ტეგი <code><references group="$1"/></code>', # Fuzzy + 'cite_error_group_refs_without_references' => 'ჯგუფი „$1“ áƒáƒ სებული ტეგებისáƒáƒ—ვის <code><ref></code> ვერმáƒáƒ˜áƒ«áƒ”ბნრშესáƒáƒ‘áƒáƒ›áƒ˜áƒ¡áƒ˜ ტეგი <code><references group="$1"/></code>, áƒáƒœ გáƒáƒ›áƒáƒ¢áƒáƒ•áƒ”ბულირდáƒáƒ›áƒ®áƒ£áƒ áƒáƒ•áƒ˜ ტეგი <code></ref></code>', 'cite_error_references_group_mismatch' => 'ტეგს <code><ref></code> <code><references></code>-ში გáƒáƒáƒ©áƒœáƒ˜áƒ áƒáƒ¢áƒ იბუტთრკáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ£áƒ ი ჯგუფები „$1“.', 'cite_error_references_missing_group' => 'ტეგს <code><ref></code>, გáƒáƒœáƒ›áƒáƒ ტებულს <code><references></code>-ში, გáƒáƒáƒ©áƒœáƒ˜áƒ ჯგუფის áƒáƒ¢áƒ იბუტი „$1“, რáƒáƒ›áƒ”ლიც áƒáƒ“რეულ ტექსტში áƒáƒ მáƒáƒ˜áƒ®áƒ¡áƒ”ნიებáƒ.', 'cite_error_references_missing_key' => 'ტეგი <code><ref></code> სáƒáƒ®áƒ”ლáƒáƒ“ „$1“, გáƒáƒ კვეული <code><references></code>-ში, áƒáƒ გáƒáƒ›áƒáƒ˜áƒ§áƒ”ნებრწინრტექსტში.', @@ -1999,18 +2024,38 @@ $messages['kk-arab'] = array( ); /** Kazakh (Cyrillic script) (қазақша (кирил)‎) + * @author Arystanbek * @author Kaztrans */ $messages['kk-cyrl'] = array( - 'cite_error' => 'ДәйекÑөз алу $1 қатеÑÑ–', - 'cite_error_ref_numeric_key' => 'ЖарамÑыз <code><ref></code> белгішеÑÑ–; атау кәдімгі бүтін Ñан болуы мүмкін емеÑ, Ñиппатауыш атау қолданыңыз', - 'cite_error_ref_no_key' => 'ЖарамÑыз <code><ref></code> белгішеÑÑ–; мағлұматÑыз Ñ‚Ò¯Ñініктемелерде атау болуы қажет', - 'cite_error_ref_too_many_keys' => 'ЖарамÑыз <code><ref></code> белгіше; жарамÑыз атаулар, мыÑалы, тым көп', - 'cite_error_ref_no_input' => 'ЖарамÑыз <code><ref></code> белгіше; атауÑыз Ñ‚Ò¯Ñініктемелерде мағлұматы болуы қажет', - 'cite_error_references_invalid_parameters' => 'ЖарамÑыз <code><references></code> белгіше; еш баптар Ñ€Ò±Ò›Ñат етілмейді, былай <code><references /></code> қолданыңыз', - 'cite_error_references_no_backlink_label' => 'ҚоÑымша белгілердің Ñаны бітті, одан әрі көбірек <nowiki>[[MediaWiki:Cite_references_link_many_format_backlink_labels]]</nowiki> жүйе хабарында белгілеңіз', # Fuzzy + 'cite-desc' => 'Сілтемелер үшін <nowiki><ref[ name=id]></nowiki> және <nowiki><references/></nowiki> белгішелерін қолданыңыз', + 'cite_error' => 'Дереккөз алу қатеÑÑ–: $1', + 'cite_error_ref_numeric_key' => 'ЖарамÑыз <code><ref></code> белгішеÑÑ–; +атау кәдімгі бүтін Ñан болуы мүмкін емеÑ. Сипатауыш атау қолданыңыз', + 'cite_error_ref_no_key' => 'ЖарамÑыз <code><ref></code> белгішеÑÑ–; +мағлұматÑыз дерекөздерде атау болуы қажет', + 'cite_error_ref_too_many_keys' => 'ЖарамÑыз <code><ref></code> белгіше; +жарамÑыз атаулар, мыÑалы, тым көп', + 'cite_error_ref_no_input' => 'ЖарамÑыз <code><ref></code> белгіше; +атауÑыз дереккөздерде мағлұматы болуы қажет', + 'cite_error_references_invalid_parameters' => 'ЖарамÑыз <code><references></code> белгіше; +еш параметр Ñ€Ò±Ò›Ñат етілмейді, +былай <code><references /></code> қолданыңыз', + 'cite_error_references_invalid_parameters_group' => 'ЖарамÑыз <code><references></code> тегі; +тек "group" параметрін Ñ€Ò±Ò›Ñат етеді. +КелеÑідей қолданыңыз: <code><references /></code>, or <code><references group="..." /></code>', + 'cite_error_references_no_backlink_label' => 'Өзгертпелі белгілердің Ñаны бітті, одан әрі көбірек <nowiki>[[MediaWiki:Cite references link many format backlink labels]]</nowiki> жүйе хабарында белгілеңіз', + 'cite_error_no_link_label_group' => '"$1" тобы үшін өзгертпелі Ñілтеме белгілері бітті. +Define more in the <nowiki>[[MediaWiki:$2]]</nowiki> message.', + 'cite_error_references_no_text' => 'ЖарамÑыз <code><ref></code> тегі; +no text was provided for refs named <code>$1</code>', + 'cite_error_included_ref' => '<code><ref></code> тегін <code></ref></code> тегімен жабуды қажет етеді', + 'cite_error_refs_without_references' => '<code><ref></code> тегі бар, бірақ <code><references/></code> тегі табылмады', + 'cite_error_group_refs_without_references' => '"$1" деп аталған дереккөз тобында <code><ref></code> тегі бар, бірақ тиіÑÑ‚Ñ– <code><references group="$1"/></code> тегі табылмады, немеÑе <code></ref></code> жабу тегін қажет етеді', 'cite_references_link_one' => '<li id="$1"><span class="mw-cite-backlink">[[#$2|↑]]</span> $3</li>', 'cite_references_link_many' => '<li id="$1"><span class="mw-cite-backlink">↑ $2</span> $3</li>', + 'cite_references_link_accessibility_label' => 'Жоғарыға көтеріліңіз', + 'cite_references_link_many_accessibility_label' => 'Мынаған өту:', ); /** Kazakh (Latin script) (qazaqÅŸa (latın)‎) @@ -2110,7 +2155,7 @@ Et wohr keine Tex aanjejovve för de <code><ref></code>s met dämm Name „<code>$1</code>“.', 'cite_error_included_ref' => 'Hee för dat <code><ref></code> ham_mer kei zopaß <code></ref></code>', 'cite_error_refs_without_references' => 'Et sinn_er <code><ref></code>-Befähle en dä Sigg, ävver mer han keine <code><references/></code>-Befähl jefunge.', - 'cite_error_group_refs_without_references' => 'Et sinn_er <code><ref></code>-Befähle för de jrop „$1“ en hee dä Sigg, ävver mer han keine <code><references group="$1"/></code>-Befähl jefunge.', # Fuzzy + 'cite_error_group_refs_without_references' => 'Et sinn_er <code><ref></code>-Befähle för de Jrop „$1“ en heh dä Sigg, ävver mer han keine <code><references group="$1"/></code>-Befähl jefonge, udder dä Befähl <code></ref></code> zom zohmaache es nit doh.', 'cite_error_references_group_mismatch' => 'Dä <code><ref></code> Befähl en <code><references></code> hät en widerschpröschlesche Jroppe-Eijeschaff „$1“.', 'cite_error_references_missing_group' => 'Dä <code><ref></code> Befähl, aanjejoove em Befähl <code><references></code>, hät en Jroppe-Eijeschaff „$1“, di ävver em Täx doför nit vörjekumme es.', 'cite_error_references_missing_key' => 'Dä <code><ref></code> Befähl mem Naame „$1“, aanjejoove em Befähl <code><references></code>, es em Täx doför nit vörjekumme.', @@ -2120,6 +2165,8 @@ Et wohr keine Tex aanjejovve för de 'cite_reference_link_prefix' => 'fohss_noht_betreck_', 'cite_references_link_prefix' => 'fohss_noht_nommer_', 'cite_references_link_many_and' => ' ', + 'cite_references_link_accessibility_label' => 'Jangk noh bovve', + 'cite_references_link_many_accessibility_label' => 'Jangk noh bovve op:', ); /** Cornish (kernowek) @@ -2195,6 +2242,17 @@ Doe kans d\'r mier insjtelle in \'t sysyeemberich <nowiki>[[MediaWiki:$2]]</nowi 'cite_error_empty_references_define' => 'De tag <code><ref></code> dae is gedefinieerd in <code><references></code> mit de naam "$1" haet geinen inhawd.', ); +/** لوری (لوری) + * @author Bonevarluri + * @author Mogoeilor + */ +$messages['lrc'] = array( + 'cite-desc' => ' <nowiki><ref[ name=id]></nowiki> Ùˆ <nowiki><سرچشمه یا/></nowiki> tags,Ùˆ تگیا نه د گوتنیا اضا٠بکید', + 'cite_error' => 'خطا جاگه:$1', + 'cite_references_link_accessibility_label' => 'بالا پرسن', + 'cite_references_link_many_accessibility_label' => 'پرستن د', +); + /** Lithuanian (lietuvių) * @author Garas * @author Homo @@ -2314,6 +2372,7 @@ $messages['mk'] = array( 'cite_error_references_missing_key' => 'Ознаката <code><ref></code> Ñо име „$1“ определена во <code><references></code> не Ñе кориÑти во претходен текÑÑ‚.', 'cite_error_references_no_key' => 'Ознаката <code><ref></code> определена во <code><referencesgt;</code> нема именÑки атрибут.', 'cite_error_empty_references_define' => 'Ознаката <code><ref></code> определена во <code><references></code> Ñо име „$1“ нема Ñодржина.', + 'cite_references_link_many_format_backlink_labels' => 'а б в г д Ñ“ е ж з Ñ• и ј к л Ñ™ м н Ñš о п Ñ€ Ñ Ñ‚ Ñœ у Ñ„ Ñ… ц ч ÑŸ ш аа аб ав аг ад аѓ ае аж аз аѕ аи ај ак ал аљ ам ан ањ ао ап ар Ð°Ñ Ð°Ñ‚ аќ ау аф ах ац ач аџ аш ба бб бв бг бд бѓ бе бж бз бѕ би бј бк бл бљ бм бн бњ бо бп бр Ð±Ñ Ð±Ñ‚ бќ бу бф бх бц бч бџ бш ва вб вв вг вд вѓ ве вж вз бѕ ви вј вк вл вљ вм вн вњ во вп вр Ð²Ñ Ð²Ñ‚ вќ ву вф вх вц вч вџ вш га гб гв гг гд гѓ ге гж гз гѕ ги гј гк гл гљ гм гн гњ го гп гр Ð³Ñ Ð³Ñ‚ гќ гу гф гх гц гч гџ гш да дб дв дг дд дѓ де дж дз дѕ ди дј дк дл дљ дм дн дњ до дп др Ð´Ñ Ð´Ñ‚ дќ ду дф дх дц дч дџ дш ѓа ѓб ѓв ѓг ѓд ѓе ѓж ѓз Ñ“Ñ• ѓи ѓј ѓк ѓл Ñ“Ñ™ ѓм ѓн Ñ“Ñš ѓо ѓп Ñ“Ñ€ Ñ“Ñ Ñ“Ñ‚ Ñ“Ñœ ѓу Ñ“Ñ„ Ñ“Ñ… ѓц ѓч Ñ“ÑŸ ѓш еа еб ев ег ед еѓ ее еж ез еѕ еи еј ек ел ељ ем ен ењ ео еп ер ÐµÑ ÐµÑ‚ еќ еу еф ех ец еч еџ еш жа жб жв жг жд жѓ же жж жз жѕ жи жј жк жл жљ жм жн жњ жо жп жр Ð¶Ñ Ð¶Ñ‚ жќ жу жф жх жц жч жџ жш за зб зв зг зд зѓ зе зж зз зѕ зи зј зк зл зљ зм зн зњ зо зп зр Ð·Ñ Ð·Ñ‚ зќ зу зф зх зц зч зџ зш ѕа ѕб ѕв ѕг ѕд Ñ•Ñ“ ѕе ѕж ѕз Ñ•Ñ• ѕи ѕј ѕк ѕл Ñ•Ñ™ ѕм ѕн Ñ•Ñš ѕо ѕп Ñ•Ñ€ Ñ•Ñ Ñ•Ñ‚ Ñ•Ñœ ѕу Ñ•Ñ„ Ñ•Ñ… ѕц ѕч Ñ•ÑŸ ѕш иа иб ив иг ид иѓ ие иж из иѕ ии иј ик ил иљ им ин ињ ио ип ир Ð¸Ñ Ð¸Ñ‚ иќ иу иф их иц ич иџ иш ја јб јв јг јд јѓ је јж јз јѕ ји јј јк јл јљ јм јн јњ јо јп јр Ñ˜Ñ Ñ˜Ñ‚ јќ ју јф јх јц јч јџ јш ка кб кв кг кд кѓ ке кж кз кѕ ки кј кк кл кљ км кн књ ко кп кр ÐºÑ ÐºÑ‚ кќ ку кф кх кц кч кџ кш ла лб лв лг лд лѓ ле лж лз лѕ ли лј лк лл лљ лм лн лњ ло лп лр Ð»Ñ Ð»Ñ‚ лќ лу лф лх лц лч лџ лш ља љб љв љг љд љѓ ље љж љз љѕ љи љј љк љл љљ љм љн љњ љо љп љр Ñ™Ñ Ñ™Ñ‚ љќ љу љф љх љц љч љџ љш ма мб мв мг мд мѓ ме мж мз мѕ ми мј мк мл мљ мм мн мњ мо мп мр Ð¼Ñ Ð¼Ñ‚ мќ му мф мх мц мч мџ мш на нб нв нг нд нѓ не нж нз нѕ ни нј нк нл нљ нм нн нњ но нп нр Ð½Ñ Ð½Ñ‚ нќ ну нф нх нц нч нџ нш ња њб њв њг њд њѓ ње њж њз њѕ њи њј њк њл њљ њм њн њњ њо њп њр ÑšÑ ÑšÑ‚ њќ њу њф њх њц њч њџ њш оа об ов ог од оѓ ое ож оз оѕ ои ој ок ол ољ ом он оњ оо оп ор Ð¾Ñ Ð¾Ñ‚ оќ оу оф ох оц оч оџ ош па пб пв пг пд пѓ пе пж пз пѕ пи пј пк пл пљ пм пн пњ по пп пр Ð¿Ñ Ð¿Ñ‚ пќ пу пф пх пц пч пџ пш ра рб рв рг рд рѓ ре рж рз рѕ ри рј рк рл рљ рм рн рњ ро рп рр Ñ€Ñ Ñ€Ñ‚ рќ ру рф рх рц рч рџ рш Ñа Ñб Ñв Ñг Ñд ÑÑ“ Ñе Ñж Ñз ÑÑ• Ñи Ñј Ñк Ñл ÑÑ™ Ñм Ñн ÑÑš Ñо Ñп ÑÑ€ ÑÑ ÑÑ‚ ÑÑœ Ñу ÑÑ„ ÑÑ… Ñц Ñч ÑÑŸ Ñш та тб тв тг тд Ñ‚Ñ“ те тж тз Ñ‚Ñ• ти тј тк тл Ñ‚Ñ™ тм тн Ñ‚Ñš то тп Ñ‚Ñ€ Ñ‚Ñ Ñ‚Ñ‚ Ñ‚Ñœ ту Ñ‚Ñ„ Ñ‚Ñ… тц тч Ñ‚ÑŸ тш ќа ќб ќв ќг ќд ќѓ ќе ќж ќз ќѕ ќи ќј ќк ќл ќљ ќм ќн ќњ ќо ќп ќр ÑœÑ ÑœÑ‚ ќќ ќу ќф ќх ќц ќч ќџ ќш уа уб ув уг уд уѓ уе уж уз уѕ уи уј ук ул уљ ум ун уњ уо уп ур ÑƒÑ ÑƒÑ‚ уќ уу уф ух уц уч уџ уш фа фб фв фг фд Ñ„Ñ“ фе фж фз Ñ„Ñ• фи фј фк фл Ñ„Ñ™ фм фн Ñ„Ñš фо фп Ñ„Ñ€ Ñ„Ñ Ñ„Ñ‚ Ñ„Ñœ фу Ñ„Ñ„ Ñ„Ñ… фц фч Ñ„ÑŸ фш ха хб хв хг хд Ñ…Ñ“ хе хж хз Ñ…Ñ• хи хј хк хл Ñ…Ñ™ хм хн Ñ…Ñš хо хп Ñ…Ñ€ Ñ…Ñ Ñ…Ñ‚ Ñ…Ñœ ху Ñ…Ñ„ Ñ…Ñ… хц хч Ñ…ÑŸ хш ца цб цв цг цд цѓ це цж цз цѕ ци цј цк цл цљ цм цн цњ цо цп цр Ñ†Ñ Ñ†Ñ‚ цќ цу цф цх цц цч цџ цш ча чб чв чг чд чѓ че чж чз чѕ чи чј чк чл чљ чм чн чњ чо чп чр Ñ‡Ñ Ñ‡Ñ‚ чќ чу чф чх чц чч чџ чш џа џб џв џг џд ÑŸÑ“ џе џж џз ÑŸÑ• џи џј џк џл ÑŸÑ™ џм џн ÑŸÑš џо џп ÑŸÑ€ ÑŸÑ ÑŸÑ‚ ÑŸÑœ џу ÑŸÑ„ ÑŸÑ… џц џч ÑŸÑŸ џш ша шб шв шг шд шѓ ше шж шз шѕ ши шј шк шл шљ шм шн шњ шо шп шр ÑˆÑ ÑˆÑ‚ шќ шу шф шх шц шч шџ шш', 'cite_references_link_accessibility_label' => 'Следно', 'cite_references_link_many_accessibility_label' => 'Отиди кај:', ); @@ -2353,6 +2412,8 @@ $messages['ml'] = array( 'cite_error_empty_references_define' => ' <code><references></code> ആവശàµà´¯à´¤àµà´¤à´¿à´¨à´¾à´¯à´¿ "$1" à´Žà´¨àµà´¨ പേരിൽ നിർ‌വചികàµà´•à´ªàµà´ªàµ†à´Ÿàµà´Ÿ <code><ref></code> à´±àµà´±à´¾à´—ിനൠഉളàµà´³à´Ÿà´•àµà´•à´®àµŠà´¨àµà´¨àµà´®à´¿à´²àµà´².', 'cite_reference_link_prefix' => 'ഉദàµà´§à´°à´¿à´£à´¿_അവലംബം-', 'cite_references_link_prefix' => 'ഉദàµà´§à´°à´¿à´£à´¿_à´•àµà´±à´¿à´ªàµà´ªàµ-', + 'cite_references_link_accessibility_label' => 'à´®àµà´•à´³à´¿à´²àµ‡à´¯àµà´•àµà´•àµ', + 'cite_references_link_many_accessibility_label' => 'à´®àµà´•à´³à´¿àµ½ ഇവിടേയàµà´•àµà´•àµ:', ); /** Mongolian (монгол) @@ -2370,7 +2431,7 @@ $messages['mn'] = array( * @author V.narsikar */ $messages['mr'] = array( - 'cite-desc' => '<nowiki><ref[ name=id]></nowiki> व <nowiki><references/></nowiki> हे दोन संदरà¥à¤ देणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी वापरणà¥à¤¯à¤¾à¤¤ येणारे शबà¥à¤¦ वाढविले जातील.', + 'cite-desc' => '<nowiki><ref[ name=id]></nowiki> व <nowiki><references/></nowiki> हे दोन संदरà¥à¤ देणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी वापरणà¥à¤¯à¤¾à¤¤ येणारे शबà¥à¤¦ जोडलà¥à¤¯à¤¾ जातील.', 'cite_error' => 'तà¥à¤°à¥‚टी उधृत करा: $1', 'cite_error_ref_numeric_key' => '<code><ref></code> चà¥à¤•à¥€à¤šà¤¾ कोड; नाव हे पूरà¥à¤£à¤¾à¤‚की संखà¥à¤¯à¤¾ असू शकत नाही, कृपया माहितीपूरà¥à¤£ शीरà¥à¤·à¤• दà¥à¤¯à¤¾', 'cite_error_ref_no_key' => '<code><ref></code> चà¥à¤•à¥€à¤šà¤¾ कोड; रिकामà¥à¤¯à¤¾ संदरà¥à¤à¤¾à¤‚ना नाव असणे गरजेचे आहे', @@ -2383,14 +2444,17 @@ $messages['mr'] = array( 'cite_error_no_link_label_group' => '"$1" करिता नमूदकेलेलà¥à¤¯à¤¾ कसà¥à¤Ÿà¤® लिंक खूणा संपलà¥à¤¯à¤¾ . <nowiki>[[MediaWiki:$2]]</nowiki> संदेशात अधिक खूणा नमूद करा', 'cite_error_references_no_text' => '<code><ref></code> चà¥à¤•à¥€à¤šà¤¾ कोड; <code>$1</code> नावाने दिलेलà¥à¤¯à¤¾ संदरà¥à¤à¤¾à¤‚मधà¥à¤¯à¥‡ काहीही माहिती नाही', - 'cite_error_included_ref' => '<code><ref></code> ला बंद करणारी <code></ref></code> ही खूण गायब आहे.', - 'cite_error_refs_without_references' => 'पानामधे <code><ref></code> (संदरà¥à¤) आहे, परंतॠ<code><references/></code> (<nowiki>{{संदरà¥à¤à¤¯à¤¾à¤¦à¥€}}<nowiki />) सापडले नाही. <nowiki>{{संदरà¥à¤à¤¯à¤¾à¤¦à¥€}}<nowiki /> असलà¥à¤¯à¤¾à¤¶à¤¿à¤µà¤¾à¤¯ पानाचà¥à¤¯à¤¾ तळाशी संदरà¥à¤à¤¾à¤‚चे तपशील दिसणार नाहीत.', + 'cite_error_included_ref' => '<code><ref></code> ला बंद करणारी <code></ref></code> ही खूणपताका गायब आहे.', + 'cite_error_refs_without_references' => "या पानामधे \"<code><ref></code>\" ही खूणपताका(संदरà¥à¤à¤Ÿà¥…ग) आहे, परंतॠ<code><references/></code> अथवा <code> <nowiki>{{</nowiki> +</code>संदरà¥à¤à¤¯à¤¾à¤¦à¥€<code><nowiki>}}</nowiki></code>या पैकी à¤à¤•à¤¹à¥€ लावणà¥à¤¯à¤¾à¤¤ आलेले नाही.''' या पानात \"<code><nowiki>{{</nowiki></code>संदरà¥à¤à¤¯à¤¾à¤¦à¥€<code><nowiki>}}</nowiki></code>\" हा साचा कॉपीपेसà¥à¤Ÿ करावा''' ''कारण,तà¥à¤¯à¤¾à¤¶à¤¿à¤µà¤¾à¤¯ पानाचà¥à¤¯à¤¾ तळाशी संदरà¥à¤à¤¾à¤‚चे तपशील दिसणार नाहीत.''", 'cite_error_group_refs_without_references' => '"$1" नावाचà¥à¤¯à¤¾ गटाकरिता <code><ref></code>खूणपताका उपलबà¥à¤§ आहेत, पण संबंधीत <code><references group="$1"/></code> खूण मिळाली नाही.', - 'cite_error_references_group_mismatch' => 'tag in <code><references></code>मधील <code><ref></code> खूणांना खटका उडणारे group attribute "$1" आहे.', - 'cite_error_references_missing_group' => 'गट "$1" मधील <code><ref></code> टà¥à¤¯à¤¾à¤— <code><references></code> हà¥à¤¯à¤¾ पूरà¥à¤µà¥€ वापलà¥à¤¯à¤¾ गेलेले नाही', - 'cite_error_references_missing_key' => '<code><references></code> हà¥à¤¯à¤¾ मधà¥à¤¯à¥‡ सांगितलेला <code><ref></code> "$1" हà¥à¤¯à¤¾ नावाचा टà¥à¤¯à¤¾à¤— हà¥à¤¯à¤¾ पूरà¥à¤µà¥€ वापरणà¥à¤¯à¤¾à¤¤ आलेला नाही.', - 'cite_error_references_no_key' => '<code><ref></code> टà¥à¤¯à¤¾à¤— मधà¥à¤¯à¥‡ विशारद गोषà¥à¤Ÿà¥€à¤‚ना <code><references></code> ला नाम गà¥à¤£à¤§à¤°à¥à¤® नाहीत', - 'cite_error_empty_references_define' => '<code><ref></code> टà¥à¤¯à¤¾à¤— मधà¥à¤¯à¥‡ विशारद गोषà¥à¤Ÿà¥€à¤‚ <code><references></code> जà¥à¤¯à¤¾ "$1" हà¥à¤¯à¤¾ नावाने संबोधलà¥à¤¯à¤¾ आहेत तà¥à¤¯à¤¾à¤¤ माहिती नाही', + 'cite_error_references_group_mismatch' => '<code><references></code>मधील खूणपताकेस<code><ref></code> खूणांशी विसंवाद असणारे group attribute "$1" आहे.', + 'cite_error_references_missing_group' => 'गट "$1" मधील <code><ref></code> खूणपताका <code><references></code> हà¥à¤¯à¤¾ पूरà¥à¤µà¥€ वापलà¥à¤¯à¤¾ गेलेलà¥à¤¯à¤¾ नाहीत.', + 'cite_error_references_missing_key' => '<code><references></code> हà¥à¤¯à¤¾ मधà¥à¤¯à¥‡ टाकलेला <code><ref></code> "$1" हà¥à¤¯à¤¾ नावाची खूणपताका हà¥à¤¯à¤¾ पूरà¥à¤µà¥€ वापरणà¥à¤¯à¤¾à¤¤ आलेली नाही.', + 'cite_error_references_no_key' => '<code><ref></code>खूणपताकेत नमूद गोषà¥à¤Ÿà¥€à¤‚ना <code><references></code> ला नाम-गà¥à¤£à¤§à¤°à¥à¤® नाहीत.', + 'cite_error_empty_references_define' => '<code><ref></code>खूणपताकेत नमूद गोषà¥à¤Ÿà¥€à¤‚ना, <code><references></code> जà¥à¤¯à¤¾ "$1" हà¥à¤¯à¤¾ नावाने संबोधलà¥à¤¯à¤¾ आहेत, तà¥à¤¯à¤¾à¤¤ माहिती नाही.', + 'cite_references_link_accessibility_label' => 'वर उडी मारा', + 'cite_references_link_many_accessibility_label' => 'ला वर उडी मारा:', ); /** Malay (Bahasa Melayu) @@ -2508,6 +2572,7 @@ $messages['nds-nl'] = array( ); /** Dutch (Nederlands) + * @author Flightmare * @author Niels * @author Romaine * @author Siebrand @@ -2544,6 +2609,8 @@ er is geen tekst opgegeven voor refs met de naam <code>$1</code>', 'cite_error_references_missing_key' => 'De tag <code><ref></code> met de naam "$1" gedefinieerd in <code><references></code> wordt niet eerder in de tekst gebruikt.', 'cite_error_references_no_key' => 'De tag <code><ref></code> die is gedefinieerd in <code><references></code> heeft geen eigenschapsnaam.', 'cite_error_empty_references_define' => 'De tag <code><ref></code> die is gedefinieerd in <code><references></code> met de naam "$1" heeft geen inhoud.', + 'cite_references_link_accessibility_label' => 'Omhoog', + 'cite_references_link_many_accessibility_label' => 'Omhoog naar:', ); /** Norwegian Nynorsk (norsk nynorsk) @@ -2596,6 +2663,8 @@ pas de tèxte per las referéncias nomenadas <code>$1</code>.', 'cite_error_references_missing_key' => 'La balisa <code><ref></code> amb lo nom « $1 » definida dins <code><references></code> es pas utilizada dins lo tèxte precedent.', 'cite_error_references_no_key' => 'La balisa <code><ref></code> definida dins <code><references></code> a pas de nom d’atribut.', 'cite_error_empty_references_define' => 'La balisa <code><ref></code> definida dins <code><references></code> amb lo nom « $1 » a pas de contengut.', + 'cite_references_link_accessibility_label' => 'Anar', + 'cite_references_link_many_accessibility_label' => 'Anar a :', ); /** Oriya (ଓଡ଼ିଆ) @@ -2784,12 +2853,14 @@ Defina mais na mensagem <nowiki>[[MediaWiki:$2]]</nowiki>.', 'cite_error_references_no_text' => 'Tag <code><ref></code> inválida; não foi fornecido texto para as refs chamadas <code>$1</code>', 'cite_error_included_ref' => '<code></ref></code> de fecho em falta, para o elemento <code><ref></code>', 'cite_error_refs_without_references' => 'existem tags <code><ref></code>, mas nenhuma tag <code><references/></code> foi encontrada', - 'cite_error_group_refs_without_references' => 'existem tags <code><ref></code> para um grupo chamado "$1", mas nenhuma tag <code><references group="$1"/></code> correspondente foi encontrada', # Fuzzy + 'cite_error_group_refs_without_references' => 'existem marcas <code><ref></code> para um grupo chamado "$1", mas nenhuma marca <code><references group="$1"/></code> correspondente foi encontrada (ou uma marca de fechamento <code></ref></code> está faltando)', 'cite_error_references_group_mismatch' => 'O elemento <code><ref></code> em <code><references></code> tem o atributo de grupo "$1", que está em conflito com o de <code><references></code>.', 'cite_error_references_missing_group' => 'O elemento <code><ref></code> definido em <code><references></code> tem o atributo de grupo "$1", que não aparece no texto anterior.', 'cite_error_references_missing_key' => 'A etiqueta <code><ref></code> com nome "$1" definida em <code><references></code> não é utilizada no texto acima.', 'cite_error_references_no_key' => 'O elemento <code><ref></code> definido em <code><references></code> não tem um atributo de nome.', 'cite_error_empty_references_define' => 'O elemento <code><ref></code> definido em <code><references></code> com o nome "$1" não tem conteúdo.', + 'cite_references_link_accessibility_label' => 'Ir para cima', + 'cite_references_link_many_accessibility_label' => 'Ir para:', ); /** Brazilian Portuguese (português do Brasil) @@ -3114,6 +3185,13 @@ Usari <code><references /></code> oppuru <code><references group="..." 'cite_references_link_many_format_backlink_labels' => 'a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc cd ce cf cg ch ci cj ck cl cm cn co cp cq cr cs ct cu cv cw cx cy cz da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz ea eb ec ed ee ef eg eh ei ej ek el em en eo ep eq er es et eu ev ew ex ey ez fa fb fc fd fe ff fg fh fi fj fk fl fm fn fo fp fq fr fs ft fu fv fw fx fy fz ga gb gc gd ge gf gg gh gi gj gk gl gm gn go gp gq gr gs gt gu gv gw gx gy gz ha hb hc hd he hf hg hh hi hj hk hl hm hn ho hp hq hr hs ht hu hv hw hx hy hz ia ib ic id ie if ig ih ii ij ik il im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js jt ju jv jw jx jy jz ka kb kc kd ke kf kg kh ki kj kk kl km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf lg lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os ot ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm pn po pp pq pr ps pt pu pv pw px py pz qa qb qc qd qe qf qg qh qi qj qk ql qm qn qo qp qq qr qs qt qu qv qw qx qy qz ra rb rc rd re rf rg rh ri rj rk rl rm rn ro rp rq rr rs rt ru rv rw rx ry rz sa sb sc sd se sf sg sh si sj sk sl sm sn so sp sq sr ss st su sv sw sx sy sz ta tb tc td te tf tg th ti tj tk tl tm tn to tp tq tr ts tt tu tv tw tx ty tz ua ub uc ud ue uf ug uh ui uj uk ul um un uo up uq ur us ut uu uv uw ux uy uz va vb vc vd ve vf vg vh vi vj vk vl vm vn vo vp vq vr vs vt vu vv vw vx vy vz wa wb wc wd we wf wg wh wi wj wk wl wm wn wo wp wq wr ws wt wu wv ww wx wy wz xa xb xc xd xe xf xg xh xi xj xk xl xm xn xo xp xq xr xs xt xu xv xw xx xy xz ya yb yc yd ye yf yg yh yi yj yk yl ym yn yo yp yq yr ys yt yu yv yw yx yy yz za zb zc zd ze zf zg zh zi zj zk zl zm zn zo zp zq zr zs zt zu zv zw zx zy zz', ); +/** Serbo-Croatian (srpskohrvatski / ÑрпÑкохрватÑки) + * @author Kolega2357 + */ +$messages['sh'] = array( + 'cite_error' => 'GreÅ¡ka citiranja $1; $2', # Fuzzy +); + /** Sinhala (සිංහල) * @author Budhajeewa * @author Thameera123 @@ -3261,6 +3339,7 @@ asnjë tekst nuk u dha për refs e quajtura <code>$1</code>', ); /** Serbian (Cyrillic script) (ÑрпÑки (ћирилица)‎) + * @author Milicevic01 * @author Millosh * @author Rancher * @author Михајло Ðнђелковић @@ -3286,13 +3365,14 @@ $messages['sr-ec'] = array( 'cite_references_link_one' => '<li id="$1"><span class="mw-cite-backlink">[[#$2|↑]]</span> $3</li>', 'cite_references_link_many' => '<li id="$1"><span class="mw-cite-backlink">↑ $2</span> $3</li>', 'cite_references_link_many_format' => '<sup>[[#$1|$2]]</sup>', - 'cite_references_link_many_format_backlink_labels' => 'a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc cd ce cf cg ch ci cj ck cl cm cn co cp cq cr cs ct cu cv cw cx cy cz da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz ea eb ec ed ee ef eg eh ei ej ek el em en eo ep eq er es et eu ev ew ex ey ez fa fb fc fd fe ff fg fh fi fj fk fl fm fn fo fp fq fr fs ft fu fv fw fx fy fz ga gb gc gd ge gf gg gh gi gj gk gl gm gn go gp gq gr gs gt gu gv gw gx gy gz ha hb hc hd he hf hg hh hi hj hk hl hm hn ho hp hq hr hs ht hu hv hw hx hy hz ia ib ic id ie if ig ih ii ij ik il im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js jt ju jv jw jx jy jz ka kb kc kd ke kf kg kh ki kj kk kl km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf lg lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os ot ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm pn po pp pq pr ps pt pu pv pw px py pz qa qb qc qd qe qf qg qh qi qj qk ql qm qn qo qp qq qr qs qt qu qv qw qx qy qz ra rb rc rd re rf rg rh ri rj rk rl rm rn ro rp rq rr rs rt ru rv rw rx ry rz sa sb sc sd se sf sg sh si sj sk sl sm sn so sp sq sr ss st su sv sw sx sy sz ta tb tc td te tf tg th ti tj tk tl tm tn to tp tq tr ts tt tu tv tw tx ty tz ua ub uc ud ue uf ug uh ui uj uk ul um un uo up uq ur us ut uu uv uw ux uy uz va vb vc vd ve vf vg vh vi vj vk vl vm vn vo vp vq vr vs vt vu vv vw vx vy vz wa wb wc wd we wf wg wh wi wj wk wl wm wn wo wp wq wr ws wt wu wv ww wx wy wz xa xb xc xd xe xf xg xh xi xj xk xl xm xn xo xp xq xr xs xt xu xv xw xx xy xz ya yb yc yd ye yf yg yh yi yj yk yl ym yn yo yp yq yr ys yt yu yv yw yx yy yz za zb zc zd ze zf zg zh zi zj zk zl zm zn zo zp zq zr zs zt zu zv zw zx zy zz', + 'cite_references_link_many_format_backlink_labels' => 'а б в г д Ñ’ е ж з и ј к л Ñ™ м н Ñš о п Ñ€ Ñ Ñ‚ Ñ› у Ñ„ Ñ… ц ч ÑŸ ш аа аб ав аг ад ађ ае аж аз аи ај ак ал аљ ам ан ањ ао ап ар Ð°Ñ Ð°Ñ‚ аћ ау аф ах ац ач аџ аш ба бб бв бг бд бђ бе бж бз би бј бк бл бљ бм бн бњ бо бп бр Ð±Ñ Ð±Ñ‚ бћ бу бф бх бц бч бџ бш ва вб вв вг вд вђ ве вж вз ви вј вк вл вљ вм вн вњ во вп вр Ð²Ñ Ð²Ñ‚ вћ ву вф вх вц вч вџ вш га гб гв гг гд гђ ге гж гз ги гј гк гл гљ гм гн гњ го гп гр Ð³Ñ Ð³Ñ‚ гћ гу гф гх гц гч гџ гш да дб дв дг дд дђ де дж дз ди дј дк дл дљ дм дн дњ до дп др Ð´Ñ Ð´Ñ‚ дћ ду дф дх дц дч дџ дш ђа ђб ђв ђг ђд ]] ђе ђж ђз ђи ђј ђк ђл Ñ’Ñ™ ђм ђн Ñ’Ñš ђо ђп Ñ’Ñ€ Ñ’Ñ Ñ’Ñ‚ Ñ’Ñ› ђу Ñ’Ñ„ Ñ’Ñ… ђц ђч Ñ’ÑŸ ђш еа еб ев ег ед еђ ее еж ез еи еј ек ел ељ ем ен ењ ео еп ер ÐµÑ ÐµÑ‚ ећ еу еф ех ец еч еџ еш жа жб жв жг жд жђ же жж жз жи жј жк жл жљ жм жн жњ жо жп жр Ð¶Ñ Ð¶Ñ‚ жћ жу жф жх жц жч жџ жш за зб зв зг зд зђ зе зж зз зи зј зк зл зљ зм зн зњ зо зп зр Ð·Ñ Ð·Ñ‚ зћ зу зф зх зц зч зџ зш иа иб ив иг ид иђ ие иж из ии иј ик ил иљ им ин ињ ио ип ир Ð¸Ñ Ð¸Ñ‚ ић иу иф их иц ич иџ иш ја јб јв јг јд јђ је јж јз ји јј јк јл јљ јм јн јњ јо јп јр Ñ˜Ñ Ñ˜Ñ‚ јћ ју јф јх јц јч јџ јш ка кб кв кг кд кђ ке кж кз ки кј кк кл кљ км кн књ ко кп кр ÐºÑ ÐºÑ‚ кћ ку кф кх кц кч кџ кш ла лб лв лг лд лђ ле лж лз ли лј лк лл лљ лм лн лњ ло лп лр Ð»Ñ Ð»Ñ‚ лћ лу лф лх лц лч лџ лш ља љб љв љг љд љђ ље љж љз љи љј љк љл љљ љм љн љњ љо љп љр Ñ™Ñ Ñ™Ñ‚ љћ љу љф љх љц љч љџ љш ма мб мв мг мд мђ ме мж мз ми мј мк мл мљ мм мн мњ мо мп мр Ð¼Ñ Ð¼Ñ‚ мћ му мф мх мц мч мџ мш на нб нв нг нд нђ не нж нз ни нј нк нл нљ нм нн нњ но нп нр Ð½Ñ Ð½Ñ‚ нћ ну нф нх нц нч нџ нш ња њб њв њг њд њђ ње њж њз њи њј њк њл њљ њм њн њњ њо њп њр ÑšÑ ÑšÑ‚ њћ њу њф њх њц њч њџ њш оа об ов ог од ођ ое ож оз ои ој ок ол ољ ом он оњ оо оп ор Ð¾Ñ Ð¾Ñ‚ оћ оу оф ох оц оч оџ ош па пб пв пг пд пђ пе пж пз пи пј пк пл пљ пм пн пњ по пп пр Ð¿Ñ Ð¿Ñ‚ пћ пу пф пх пц пч пџ пш ра рб рв рг рд рђ ре рж рз ри рј рк рл рљ рм рн рњ ро рп рр Ñ€Ñ Ñ€Ñ‚ рћ ру рф рх рц рч рџ рш Ñа Ñб Ñв Ñг Ñд ÑÑ’ Ñе Ñж Ñз Ñи Ñј Ñк Ñл ÑÑ™ Ñм Ñн ÑÑš Ñо Ñп ÑÑ€ ÑÑ ÑÑ‚ ÑÑ› Ñу ÑÑ„ ÑÑ… Ñц Ñч ÑÑŸ Ñш та тб тв тг тд Ñ‚Ñ’ те тж тз ти тј тк тл Ñ‚Ñ™ тм тн Ñ‚Ñš то тп Ñ‚Ñ€ Ñ‚Ñ Ñ‚Ñ‚ Ñ‚Ñ› ту Ñ‚Ñ„ Ñ‚Ñ… тц тч Ñ‚ÑŸ тш ћа ћб ћв ћг ћд ћђ ће ћж ћз ћи ћј ћк ћл ћљ ћм ћн ћњ ћо ћп ћр Ñ›Ñ Ñ›Ñ‚ ћћ ћу ћф ћх ћц ћч ћџ ћш уа уб ув уг уд уђ уе уж уз уи уј ук ул уљ ум ун уњ уо уп ур ÑƒÑ ÑƒÑ‚ ућ уу уф ух уц уч уџ уш фа фб фв фг фд Ñ„Ñ’ фе фж фз фи фј фк фл Ñ„Ñ™ фм фн Ñ„Ñš фо фп Ñ„Ñ€ Ñ„Ñ Ñ„Ñ‚ Ñ„Ñ› фу Ñ„Ñ„ Ñ„Ñ… фц фч Ñ„ÑŸ фш ха хб хв хг хд Ñ…Ñ’ хе хж хз хи хј хк хл Ñ…Ñ™ хм хн Ñ…Ñš хо хп Ñ…Ñ€ Ñ…Ñ Ñ…Ñ‚ Ñ…Ñ› ху Ñ…Ñ„ Ñ…Ñ… хц хч Ñ…ÑŸ хш ца цб цв цг цд цђ це цж цз ци цј цк цл цљ цм цн цњ цо цп цр Ñ†Ñ Ñ†Ñ‚ цћ цу цф цх цц цч цџ цш ча чб чв чг чд чђ че чж чз чи чј чк чл чљ чм чн чњ чо чп чр Ñ‡Ñ Ñ‡Ñ‚ чћ чу чф чх чц чч чџ чш џа џб џв џг џд ÑŸÑ’ џе џж џз џи џј џк џл ÑŸÑ™ џм џн ÑŸÑš џо џп ÑŸÑ€ ÑŸÑ ÑŸÑ‚ ÑŸÑ› џу ÑŸÑ„ ÑŸÑ… џц џч ÑŸÑŸ џш ша шб шв шг шд шђ ше шж шз ши шј шк шл шљ шм шн шњ шо шп шр ÑˆÑ ÑˆÑ‚ шћ шу шф шх шц шч шџ шш', # Fuzzy 'cite_references_link_many_sep' => ' ', 'cite_references_link_many_and' => ' ', ); /** Serbian (Latin script) (srpski (latinica)‎) * @author Michaello + * @author Milicevic01 */ $messages['sr-el'] = array( 'cite-desc' => 'Dodaje <nowiki><ref[ name=id]></nowiki> i <nowiki><references/></nowiki> oznake za citiranje.', @@ -3315,7 +3395,7 @@ $messages['sr-el'] = array( 'cite_references_link_one' => '<li id="$1"><span class="mw-cite-backlink">[[#$2|↑]]</span> $3</li>', 'cite_references_link_many' => '<li id="$1"><span class="mw-cite-backlink">↑ $2</span> $3</li>', 'cite_references_link_many_format' => '<sup>[[#$1|$2]]</sup>', - 'cite_references_link_many_format_backlink_labels' => 'a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc cd ce cf cg ch ci cj ck cl cm cn co cp cq cr cs ct cu cv cw cx cy cz da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz ea eb ec ed ee ef eg eh ei ej ek el em en eo ep eq er es et eu ev ew ex ey ez fa fb fc fd fe ff fg fh fi fj fk fl fm fn fo fp fq fr fs ft fu fv fw fx fy fz ga gb gc gd ge gf gg gh gi gj gk gl gm gn go gp gq gr gs gt gu gv gw gx gy gz ha hb hc hd he hf hg hh hi hj hk hl hm hn ho hp hq hr hs ht hu hv hw hx hy hz ia ib ic id ie if ig ih ii ij ik il im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js jt ju jv jw jx jy jz ka kb kc kd ke kf kg kh ki kj kk kl km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf lg lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os ot ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm pn po pp pq pr ps pt pu pv pw px py pz qa qb qc qd qe qf qg qh qi qj qk ql qm qn qo qp qq qr qs qt qu qv qw qx qy qz ra rb rc rd re rf rg rh ri rj rk rl rm rn ro rp rq rr rs rt ru rv rw rx ry rz sa sb sc sd se sf sg sh si sj sk sl sm sn so sp sq sr ss st su sv sw sx sy sz ta tb tc td te tf tg th ti tj tk tl tm tn to tp tq tr ts tt tu tv tw tx ty tz ua ub uc ud ue uf ug uh ui uj uk ul um un uo up uq ur us ut uu uv uw ux uy uz va vb vc vd ve vf vg vh vi vj vk vl vm vn vo vp vq vr vs vt vu vv vw vx vy vz wa wb wc wd we wf wg wh wi wj wk wl wm wn wo wp wq wr ws wt wu wv ww wx wy wz xa xb xc xd xe xf xg xh xi xj xk xl xm xn xo xp xq xr xs xt xu xv xw xx xy xz ya yb yc yd ye yf yg yh yi yj yk yl ym yn yo yp yq yr ys yt yu yv yw yx yy yz za zb zc zd ze zf zg zh zi zj zk zl zm zn zo zp zq zr zs zt zu zv zw zx zy zz', + 'cite_references_link_many_format_backlink_labels' => 'a b v g d Ä‘ e ž z i j k l lj m n nj o p r s t ć u f h c Ä dž Å¡ aa ab av ag ad aÄ‘ ae až az ai aj ak al alj am an anj ao ap ar as at ać au af ah ac aÄ adž aÅ¡ ba bb bv bg bd bÄ‘ be bž bz bi bj bk bl blj bm bn bnj bo bp br bs bt bć bu bf bh bc bÄ bdž bÅ¡ va vb vv vg vd vÄ‘ ve vž vz vi vj vk vl vlj vm vn vnj vo vp vr vs vt vć vu vf vh vc vÄ vdž vÅ¡ ga gb gv gg gd gÄ‘ ge gž gz gi gj gk gl glj gm gn gnj go gp gr gs gt gć gu gf gh gc gÄ gdž gÅ¡ da db dv dg dd dÄ‘ de dž dz di dj dk dl dlj dm dn dnj do dp dr ds dt dć du df dh dc dÄ ddž dÅ¡ Ä‘a Ä‘b Ä‘v Ä‘g Ä‘d ]] Ä‘e đž Ä‘z Ä‘i Ä‘j Ä‘k Ä‘l Ä‘lj Ä‘m Ä‘n Ä‘nj Ä‘o Ä‘p Ä‘r Ä‘s Ä‘t đć Ä‘u Ä‘f Ä‘h Ä‘c Ä‘Ä Ä‘dž Ä‘Å¡ ea eb ev eg ed eÄ‘ ee ež ez ei ej ek el elj em en enj eo ep er es et eć eu ef eh ec eÄ edž eÅ¡ ža žb žv žg žd žđ že žž žz ži žj žk žl žlj žm žn žnj žo žp žr žs žt žć žu žf žh žc Å¾Ä Å¾dž žš za zb zv zg zd zÄ‘ ze zž zz zi zj zk zl zlj zm zn znj zo zp zr zs zt zć zu zf zh zc zÄ zdž zÅ¡ ia ib iv ig id iÄ‘ ie iž iz ii ij ik il ilj im in inj io ip ir is it ić iu if ih ic iÄ idž iÅ¡ ja jb jv jg jd jÄ‘ je jž jz ji jj jk jl jlj jm jn jnj jo jp jr js jt jć ju jf jh jc jÄ jdž jÅ¡ ka kb kv kg kd kÄ‘ ke kž kz ki kj kk kl klj km kn knj ko kp kr ks kt kć ku kf kh kc kÄ kdž kÅ¡ la lb lv lg ld lÄ‘ le lž lz li lj lk ll llj lm ln lnj lo lp lr ls lt lć lu lf lh lc lÄ ldž lÅ¡ lja ljb ljv ljg ljd ljÄ‘ lje ljž ljz lji ljj ljk ljl ljlj ljm ljn ljnj ljo ljp ljr ljs ljt ljć lju ljf ljh ljc ljÄ ljdž ljÅ¡ ma mb mv mg md mÄ‘ me mž mz mi mj mk ml mlj mm mn mnj mo mp mr ms mt mć mu mf mh mc mÄ mdž mÅ¡ na nb nv ng nd nÄ‘ ne nž nz ni nj nk nl nlj nm nn nnj no np nr ns nt nć nu nf nh nc nÄ ndž nÅ¡ nja njb njv njg njd njÄ‘ nje njž njz nji njj njk njl njlj njm njn njnj njo njp njr njs njt njć nju njf njh njc njÄ njdž njÅ¡ oa ob ov og od oÄ‘ oe ož oz oi oj ok ol olj om on onj oo op or os ot oć ou of oh oc oÄ odž oÅ¡ pa pb pv pg pd pÄ‘ pe pž pz pi pj pk pl plj pm pn pnj po pp pr ps pt pć pu pf ph pc pÄ pdž pÅ¡ ra rb rv rg rd rÄ‘ re rž rz ri rj rk rl rlj rm rn rnj ro rp rr rs rt rć ru rf rh rc rÄ rdž rÅ¡ sa sb sv sg sd sÄ‘ se sž sz si sj sk sl slj sm sn snj so sp sr ss st sć su sf sh sc sÄ sdž sÅ¡ ta tb tv tg td tÄ‘ te tž tz ti tj tk tl tlj tm tn tnj to tp tr ts tt tć tu tf th tc tÄ tdž tÅ¡ ća ćb ćv ćg ćd ćđ će ćž ćz ći ćj ćk ćl ćlj ćm ćn ćnj ćo ćp ćr ćs ćt ćć ću ćf ćh ćc Ä‡Ä Ä‡dž ćš ua ub uv ug ud uÄ‘ ue už uz ui uj uk ul ulj um un unj uo up ur us ut uć uu uf uh uc uÄ udž uÅ¡ fa fb fv fg fd fÄ‘ fe fž fz fi fj fk fl flj fm fn fnj fo fp fr fs ft fć fu ff fh fc fÄ fdž fÅ¡ ha hb hv hg hd hÄ‘ he hž hz hi hj hk hl hlj hm hn hnj ho hp hr hs ht hć hu hf hh hc hÄ hdž hÅ¡ ca cb cv cg cd cÄ‘ ce cž cz ci cj ck cl clj cm cn cnj co cp cr cs ct cć cu cf ch cc cÄ cdž cÅ¡ Äa Äb Äv Äg Äd ÄÄ‘ Äe Äž Äz Äi Äj Äk Äl Älj Äm Än Änj Äo Äp Är Äs Ät Äć Äu Äf Äh Äc ÄÄ Ädž ÄÅ¡ dža džb džv džg džd džđ dže džž džz dži džj džk džl džlj džm džn džnj džo džp džr džs džt džć džu džf džh džc dÅ¾Ä dždž džš Å¡a Å¡b Å¡v Å¡g Å¡d Å¡Ä‘ Å¡e šž Å¡z Å¡i Å¡j Å¡k Å¡l Å¡lj Å¡m Å¡n Å¡nj Å¡o Å¡p Å¡r Å¡s Å¡t šć Å¡u Å¡f Å¡h Å¡c Å¡Ä Å¡dž Å¡Å¡', # Fuzzy 'cite_references_link_many_sep' => ' ', 'cite_references_link_many_and' => ' ', ); @@ -3389,16 +3469,21 @@ Definera fler i <nowiki>[[MediaWiki:$2]]</nowiki>-meddelandet.', ); /** Tamil (தமிழà¯) + * @author Jayarathina * @author Shanmugamp7 * @author செலà¯à®µà®¾ */ $messages['ta'] = array( 'cite-desc' => 'சேரà¯à®•à¯à®•à®¿à®±à®¤à¯ <nowiki><ref[ name=id]></nowiki>மறà¯à®±à¯à®®à¯ <nowiki><references/></nowiki> கà¯à®±à®¿à®šà¯à®šà¯Šà®±à¯à®•à®³à¯, மேறà¯à®•à¯‹à®³à¯à®•à®³à¯à®•à¯à®•à®¾à®•', 'cite_error' => 'பிழை காடà¯à®Ÿà¯: $1', + 'cite_error_references_no_text' => 'செலà¯à®²à®¾à®¤ <code><ref></code> கà¯à®±à®¿à®šà¯à®šà¯Šà®²à¯; +<code>$1</code> எனà¯à®©à¯à®®à¯ பெயரில௠உளà¯à®³ ref கà¯à®±à®¿à®šà¯à®šà¯Šà®²à¯à®²à¯à®•à¯à®•à¯ உரையேதà¯à®®à¯ வழஙà¯à®•à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ', + 'cite_error_refs_without_references' => '<code><ref></code> கà¯à®±à®¿à®šà¯à®šà¯Šà®²à¯ உளà¯à®³à®¤à¯, ஆனால௠<code><references/></code> கà¯à®±à®¿à®šà¯à®šà¯Šà®²à¯ காணபà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ', ); /** Telugu (తెలà±à°—à±) * @author Chaduvari + * @author Ravichandra * @author Veeven */ $messages['te'] = array( @@ -3411,6 +3496,7 @@ $messages['te'] = array( 'cite_error_references_invalid_parameters' => 'సరైన <code><references></code> à°Ÿà±à°¯à°¾à°—ౠకాదà±; పారామీటరà±à°²à°•à± à°•à± à°…à°¨à±à°®à°¤à°¿ లేదà±, à°ˆ లోపానà±à°¨à°¿ à°•à°²à±à°—జేసే à°’à°• ఉదాహరణ: <references someparameter="value" />', 'cite_error_references_no_backlink_label' => 'మీ à°¸à±à°µà°‚à°¤ à°¬à±à°¯à°¾à°•à±â€Œà°²à°¿à°‚కౠలేబà±à°³à±à°³à± అయిపోయాయి. <nowiki>[[MediaWiki:Cite references link many format backlink labels]]</nowiki> సందేశంలో మరినà±à°¨à°¿ లేబà±à°³à±à°³à°¨à± నిరà±à°µà°šà°¿à°‚à°šà±à°•à±‹à°‚à°¡à°¿.', 'cite_error_references_no_text' => 'సరైన <code><ref></code> కాదà±; <code>$1</code> అనే పేరà±à°—à°² ref లకౠపాఠà±à°¯à°®à±‡à°®à±€ ఇవà±à°µà°²à±‡à°¦à±', + 'cite_references_link_accessibility_label' => 'పైకి దూకà±', ); /** Tajik (Cyrillic script) (тоҷикӣ) @@ -3599,6 +3685,8 @@ sadece "group" parametresine izin verilir. 'cite_error_references_no_key' => "<code><references></code>'da tanımlanan <code><ref></code> etiketinin hiçbir ad özniteliÄŸi yok.", 'cite_error_empty_references_define' => '<code><references></code>\'da tanımlanan "$1" adlı <code><ref></code> etiketinin içeriÄŸi yok.', 'cite_references_link_many_format_backlink_labels' => 'a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc cd ce cf cg ch ci cj ck cl cm cn co cp cq cr cs ct cu cv cw cx cy cz da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz ea eb ec ed ee ef eg eh ei ej ek el em en eo ep eq er es et eu ev ew ex ey ez fa fb fc fd fe ff fg fh fi fj fk fl fm fn fo fp fq fr fs ft fu fv fw fx fy fz ga gb gc gd ge gf gg gh gi gj gk gl gm gn go gp gq gr gs gt gu gv gw gx gy gz ha hb hc hd he hf hg hh hi hj hk hl hm hn ho hp hq hr hs ht hu hv hw hx hy hz ia ib ic id ie if ig ih ii ij ik il im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js jt ju jv jw jx jy jz ka kb kc kd ke kf kg kh ki kj kk kl km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf lg lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os ot ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm pn po pp pq pr ps pt pu pv pw px py pz qa qb qc qd qe qf qg qh qi qj qk ql qm qn qo qp qq qr qs qt qu qv qw qx qy qz ra rb rc rd re rf rg rh ri rj rk rl rm rn ro rp rq rr rs rt ru rv rw rx ry rz sa sb sc sd se sf sg sh si sj sk sl sm sn so sp sq sr ss st su sv sw sx sy sz ta tb tc td te tf tg th ti tj tk tl tm tn to tp tq tr ts tt tu tv tw tx ty tz ua ub uc ud ue uf ug uh ui uj uk ul um un uo up uq ur us ut uu uv uw ux uy uz va vb vc vd ve vf vg vh vi vj vk vl vm vn vo vp vq vr vs vt vu vv vw vx vy vz wa wb wc wd we wf wg wh wi wj wk wl wm wn wo wp wq wr ws wt wu wv ww wx wy wz xa xb xc xd xe xf xg xh xi xj xk xl xm xn xo xp xq xr xs xt xu xv xw xx xy xz ya yb yc yd ye yf yg yh yi yj yk yl ym yn yo yp yq yr ys yt yu yv yw yx yy yz za zb zc zd ze zf zg zh zi zj zk zl zm zn zo zp zq zr zs zt zu zv zw zx zy zz', + 'cite_references_link_accessibility_label' => 'Yukarı git', + 'cite_references_link_many_accessibility_label' => 'Åžuraya git:', ); /** Tatar (Cyrillic script) (татарча) diff --git a/extensions/Cite/Cite.php b/extensions/Cite/Cite.php index 4b2f70ff..045bb8cc 100644 --- a/extensions/Cite/Cite.php +++ b/extensions/Cite/Cite.php @@ -18,8 +18,6 @@ if ( ! defined( 'MEDIAWIKI' ) ) */ $wgHooks['ParserFirstCallInit'][] = 'wfCite'; -$wgHooks['BeforePageDisplay'][] = 'wfCiteBeforePageDisplay'; - $wgExtensionCredits['parserhook'][] = array( 'path' => __FILE__, @@ -98,22 +96,4 @@ $wgResourceModules['ext.rtlcite'] = $citeResourceTemplate + array( 'position' => 'top', ); -/** - * @param $out OutputPage - * @param $sk Skin - * @return bool - */ -function wfCiteBeforePageDisplay( $out, &$sk ) { - global $wgCiteEnablePopups; - - $out->addModules( 'ext.cite' ); - if ( $wgCiteEnablePopups ) { - $out->addModules( 'ext.cite.popups' ); - } - - /* RTL support quick-fix module */ - $out->addModuleStyles( 'ext.rtlcite' ); - return true; -} - /**#@-*/ diff --git a/extensions/Cite/Cite_body.php b/extensions/Cite/Cite_body.php index 27432f47..08c60722 100644 --- a/extensions/Cite/Cite_body.php +++ b/extensions/Cite/Cite_body.php @@ -155,6 +155,7 @@ class Cite { * @return string */ function ref( $str, $argv, $parser ) { + global $wgCiteEnablePopups; if ( $this->mInCite ) { return htmlspecialchars( "<ref>$str</ref>" ); } else { @@ -162,6 +163,12 @@ class Cite { $this->mInCite = true; $ret = $this->guardedRef( $str, $argv, $parser ); $this->mInCite = false; + $parserOutput = $parser->getOutput(); + $parserOutput->addModules( 'ext.cite' ); + if ( $wgCiteEnablePopups ) { + $parserOutput->addModules( 'ext.cite.popups' ); + } + $parserOutput->addModuleStyles( 'ext.rtlcite' ); return $ret; } } diff --git a/extensions/Cite/SpecialCite.alias.php b/extensions/Cite/SpecialCite.alias.php index 8061afcc..cbcdafbb 100644 --- a/extensions/Cite/SpecialCite.alias.php +++ b/extensions/Cite/SpecialCite.alias.php @@ -74,7 +74,7 @@ $specialPageAliases['ce'] = array( 'Cite' => array( 'Дош' ), ); -/** Czech (Äesky) */ +/** Czech (ÄeÅ¡tina) */ $specialPageAliases['cs'] = array( 'Cite' => array( 'Citovat' ), ); diff --git a/extensions/Cite/SpecialCite.i18n.php b/extensions/Cite/SpecialCite.i18n.php index 635025d4..79665633 100644 --- a/extensions/Cite/SpecialCite.i18n.php +++ b/extensions/Cite/SpecialCite.i18n.php @@ -395,7 +395,7 @@ $messages['arz'] = array( * @author Gitartha.bordoloi */ $messages['as'] = array( - 'cite_article_desc' => 'à¦à¦–ন [[Special:Cite|উদà§à¦§à§ƒà¦¤à¦¿]] পৃষà§à¦ া আৰৠà¦à¦Ÿà¦¾ টà§à¦²à¦¬à¦•à§à¦¸ লিংক যোগ কৰে', + 'cite_article_desc' => 'à¦à¦Ÿà¦¾ [[Special:Cite|উদà§à¦§à§ƒà¦¤à¦¿]] পৃষà§à¦ া আৰৠà¦à¦Ÿà¦¾ সা-সৰঞà§à¦œà¦¾à¦® লিংক যোগ কৰে', 'cite_article_link' => 'à¦à¦‡ পৃষà§à¦ াৰ উদà§à¦§à§ƒà¦¤à¦¿ দিয়ক', 'tooltip-cite-article' => 'à¦à¦‡ পৃষà§à¦ াখনৰ উদà§à¦§à§ƒà¦¤à¦¿ দিয়াৰ বিষয়ে তথà§à¦¯', 'cite' => '↓উদà§à¦§à§ƒà¦¤', @@ -1014,6 +1014,7 @@ $messages['cdo'] = array( * @author Умар */ $messages['ce'] = array( + 'cite_article_desc' => 'ГӀирÑан тӀе туху [[Special:Cite|дешнаш дало]] белхан агӀо а хьажораг а', 'cite_article_link' => 'ÐгӀонах лаьцна дешнаш дало', 'tooltip-cite-article' => 'ХӀара бу хаам агӀонах лаьцна дешнаш муха дало деза гойтуш', 'cite' => 'Далийнадош', @@ -1048,7 +1049,7 @@ $messages['co'] = array( 'cite_page' => 'Pagina:', ); -/** Czech (Äesky) +/** Czech (ÄeÅ¡tina) * @author Beren * @author Li-sung * @author Martin Kozák @@ -1130,7 +1131,7 @@ PÅ™i použità [[LaTeX]]ového balÃÄku url (nÄ›kde na zaÄátku dokumentu je u </div> <!--closing div for \"plainlinks\"-->", ); -/** Church Slavic (ÑловѣÌньÑкъ / ⰔⰎⰑⰂⰡâ°â° â°”â°â°Ÿ) +/** Church Slavic (ÑловѣньÑкъ / ⰔⰎⰑⰂⰡâ°â° â°”â°â°Ÿ) * @author ОйЛ */ $messages['cu'] = array( @@ -1285,9 +1286,10 @@ NÃ¥r du bruger [[LaTeX]] pakkens URL-adressen (<code>\\usepackage{url}</code> et /** German (Deutsch) * @author Kghbln + * @author Purodha */ $messages['de'] = array( - 'cite_article_desc' => 'Ergänzt eine [[Special:Cite|Spezialseite]] als Zitierhilfe sowie einen zugehörigen Link im Bereich Werkzeuge', + 'cite_article_desc' => 'Erweitert das Wiki um eine [[Special:Cite|Spezialseite]] als Zitierhilfe sowie einen Link darauf im Bereich Werkzeuge', 'cite_article_link' => 'Seite zitieren', 'tooltip-cite-article' => 'Hinweis, wie diese Seite zitiert werden kann', 'cite' => 'Zitierhilfe', @@ -1955,6 +1957,77 @@ $messages['frp'] = array( 'cite_submit' => 'Citar', ); +/** Northern Frisian (Nordfriisk) + * @author Murma174 + */ +$messages['frr'] = array( + 'cite_article_desc' => 'Diar komt en nei [[Special:Cite|spezial-sidj]] tu, am sitiarin ianfacher tu maagin, an uk en ferwisang bi a werktjüügen', + 'cite_article_link' => 'Detdiar sidj sitiare', + 'tooltip-cite-article' => 'Hü detdiar sidj sitiaret wurd koon', + 'cite' => 'Sitiare', + 'cite_page' => 'Sidj:', + 'cite_submit' => 'Sitiare', + 'cite_text' => "__NOTOC__ +<div class=\"mw-specialcite-bibliographic\"> + +== Bibliograafisk dooten för {{FULLPAGENAME}} == + +* Sidj: {{FULLPAGENAME}} +* Skriiwer: {{SITENAME}} contributors +* Ãœtjden faan: ''{{SITENAME}}, {{int:sitesubtitle}}''. +* Leetst feranrang: {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} {{CURRENTTIME}} UTC +* Ufrepen: <citation>{{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} {{CURRENTTIME}} UTC</citation> +* Permanent URL: {{canonicalurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}} +* Sidjenwerjuun ID: {{REVISIONID}} + +</div> +<div class=\"plainlinks mw-specialcite-styles\"> + +== Sitiarmuudin för {{FULLPAGENAME}} == + +=== [[APA muude]] === +{{FULLPAGENAME}}. ({{CURRENTYEAR}}, {{CURRENTMONTHNAME}} {{CURRENTDAY}}). ''{{SITENAME}}, {{int:sitesubtitle}}''. Ufrepen <citation>{{CURRENTTIME}}, {{CURRENTMONTHNAME}} {{CURRENTDAY}}, {{CURRENTYEAR}}</citation> faan {{canonicalurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}. + +=== [[MLA muude]] === +\"{{FULLPAGENAME}}.\" ''{{SITENAME}}, {{int:sitesubtitle}}''. {{CURRENTDAY}} {{CURRENTMONTHABBREV}} {{CURRENTYEAR}}, {{CURRENTTIME}} UTC. <citation>{{CURRENTDAY}} {{CURRENTMONTHABBREV}} {{CURRENTYEAR}}, {{CURRENTTIME}}</citation> <{{canonicalurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}>. + +=== [[MHRA muude]] === +{{SITENAME}} bewerkern, '{{FULLPAGENAME}}', ''{{SITENAME}}, {{int:sitesubtitle}},'' {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}, {{CURRENTTIME}} UTC, <{{canonicalurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}> [accessed <citation>{{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}</citation>] + +=== [[Chicago muude]] === +{{SITENAME}} bewerkern, \"{{FULLPAGENAME}},\" ''{{SITENAME}}, {{int:sitesubtitle}},'' {{canonicalurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}} (ufrepen <citation>{{CURRENTMONTHNAME}} {{CURRENTDAY}}, {{CURRENTYEAR}}</citation>). + +=== [[CBE/CSE muude]] === +{{SITENAME}} bewerkern. {{FULLPAGENAME}} [Internet]. {{SITENAME}}, {{int:sitesubtitle}}; {{CURRENTYEAR}} {{CURRENTMONTHABBREV}} {{CURRENTDAY}}, {{CURRENTTIME}} UTC [sitiaret <citation>{{CURRENTYEAR}} {{CURRENTMONTHABBREV}} {{CURRENTDAY}}</citation>]. Tu fun faan: +{{canonicalurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}. + +=== [[Bluebook muude]] === +{{FULLPAGENAME}}, {{canonicalurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}} (ufrepen <citation>{{CURRENTMONTHNAME}} {{CURRENTDAY}}, {{CURRENTYEAR}}</citation>). + +=== [[BibTeX]] iindrach === + + @misc{ wiki:xxx, + author = \"{{SITENAME}}\", + title = \"{{FULLPAGENAME}} --- {{SITENAME}}{,} {{int:sitesubtitle}}\", + year = \"{{CURRENTYEAR}}\", + url = \"{{canonicalurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}\", + note = \"[Online; ufrepen <citation>{{CURRENTDAY}}-{{CURRENTMONTHNAME}}-{{CURRENTYEAR}}</citation>]\" + } + +Wan det [[LaTeX]]-moduul (<code>\\usepackage{url}</code> uun't iinfeerang) mä en smoker wääb-adres brükt woort, as det ferlicht neter so: + + @misc{ wiki:xxx, + author = \"{{SITENAME}}\", + title = \"{{FULLPAGENAME}} --- {{SITENAME}}{,} {{int:sitesubtitle}}\", + year = \"{{CURRENTYEAR}}\", + url = \"'''\\url{'''{{canonicalurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}'''}'''\", + note = \"[Online; ufrepen <citation>{{CURRENTDAY}}-{{CURRENTMONTHNAME}}-{{CURRENTYEAR}}</citation>]\" + } + + +</div> <!--closing div for \"plainlinks\"-->", +); + /** Friulian (furlan) * @author Klenje * @author MF-Warburg @@ -1989,6 +2062,13 @@ $messages['ga'] = array( 'cite_submit' => 'Luaigh', ); +/** Scottish Gaelic (Gà idhlig) + * @author Akerbeltz + */ +$messages['gd'] = array( + 'cite_article_link' => 'Thoir iomradh air an duilleag seo', +); + /** Galician (galego) * @author Toliño * @author Xosé @@ -3585,6 +3665,7 @@ $messages['kw'] = array( ); /** Latin (Latina) + * @author Autokrator * @author MissPetticoats * @author SPQRobin * @author UV @@ -3592,17 +3673,26 @@ $messages['kw'] = array( $messages['la'] = array( 'cite_article_desc' => ' Addet [[Special:Cite|citation]] specialem paginam et arcam instrumenti', # Fuzzy 'cite_article_link' => 'Hanc paginam citare', + 'tooltip-cite-article' => 'Institutiones de hanc pagina citanda', 'cite' => 'Paginam citare', 'cite_page' => 'Pagina:', 'cite_submit' => 'Citare', ); +/** Ladino (Ladino) + * @author Menachem.Moreira + */ +$messages['lad'] = array( + 'cite_page' => 'Pajina:', +); + /** Luxembourgish (Lëtzebuergesch) * @author Kaffi * @author Robby + * @author Soued031 */ $messages['lb'] = array( - 'cite_article_desc' => "Setzt eng [[Special:Cite|Zitatioun op dëser Spezialsäit]] bäi an e Link an d'Geschiirkëscht", + 'cite_article_desc' => "Setzt eng [[Special:Cite|Zitatioun op dëser Spezialsäit]] bei an e Link an d'Geschiirkëscht", 'cite_article_link' => 'Dës Säit zitéieren', 'tooltip-cite-article' => 'Informatioune wéi een dës Säit zitéiere kann', 'cite' => 'Zitéierhëllef', @@ -3726,10 +3816,15 @@ $messages['lo'] = array( ); /** لوری (لوری) + * @author Bonevarluri * @author Mogoeilor */ $messages['lrc'] = array( + 'cite_article_link' => 'جاگه ای بلگه', + 'tooltip-cite-article' => 'دونسمنیا Ú†Ù‡ جور دای بلگه جاگر بوئه', + 'cite' => 'جاگه', 'cite_page' => 'بلگه', + 'cite_submit' => 'جاگه', ); /** Lithuanian (lietuvių) @@ -4086,7 +4181,7 @@ $messages['mn'] = array( * @author V.narsikar */ $messages['mr'] = array( - 'cite_article_desc' => 'à¤à¤• विशेष [[Special:Cite|बाहà¥à¤¯à¤¦à¥à¤µà¥‡]] देणारे पान व टूलबॉकà¥à¤¸à¤šà¥€ लिंक तयार करा', + 'cite_article_desc' => 'à¤à¤• [[Special:Cite|बाहà¥à¤¯à¤¦à¥à¤µà¥‡]] देणारे विशेषपान व साधनपेटीचा दà¥à¤µà¤¾ जोडते', 'cite_article_link' => 'हे पान उधृत करा', 'tooltip-cite-article' => 'हे पृषà¥à¤ बघणà¥à¤¯à¤¾à¤¸à¤¾à¤ ीची माहिती', 'cite' => 'उधृत करा', @@ -5411,6 +5506,16 @@ $messages['sgs'] = array( 'cite_page' => 'Poslapis:', ); +/** Serbo-Croatian (srpskohrvatski / ÑрпÑкохрватÑки) + * @author Kolega2357 + */ +$messages['sh'] = array( + 'cite_article_link' => 'Citiraj ovaj Älanak', + 'cite' => 'Citiraj', + 'cite_page' => 'Stranica:', + 'cite_submit' => 'Citiraj - Цитирај', +); + /** Sinhala (සිංහල) * @author Budhajeewa * @author නන්දිමිà¶à·”රු @@ -5580,6 +5685,7 @@ When using the [[LaTeX]] package url (<code>\\usepackage{url}</code> somewhere i ); /** Serbian (Cyrillic script) (ÑрпÑки (ћирилица)‎) + * @author Milicevic01 * @author Millosh * @author Rancher * @author Sasa Stefanovic @@ -5588,25 +5694,144 @@ When using the [[LaTeX]] package url (<code>\\usepackage{url}</code> somewhere i */ $messages['sr-ec'] = array( 'cite_article_desc' => 'Додаје поÑебну Ñтраницу за [[Special:Cite|цитирање]] и везу Ñ Ð°Ð»Ð°Ñ‚ÐºÐ°Ð¼Ð°', - 'cite_article_link' => 'БиблиографÑки подаци', + 'cite_article_link' => 'Цитирај ову Ñтраницу', 'tooltip-cite-article' => 'Информације о томе како цитирати ову Ñтрану', - 'cite' => 'цитат', + 'cite' => 'Цитирање', 'cite_page' => 'Страница:', - 'cite_submit' => 'цитат', + 'cite_submit' => 'Цитирај', + 'cite_text' => "__NOTOC__ +<div class=\"mw-specialcite-bibliographic\"> + +== БиблиографÑки детаљи за Ñтрану {{FULLPAGENAME}} == + +* Ðазив Ñтране: {{FULLPAGENAME}} +* Ðутор: {{SITENAME}} Ñарадници +* Издавач: ''{{SITENAME}}, {{int:sitesubtitle}}''. +* Датум поÑледње ревизије: {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} {{CURRENTTIME}} UTC +* Датум узимања: <citation>{{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} {{CURRENTTIME}} UTC</citation> +* Стални URL: {{fullurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}} +* ID верзије Ñтране: {{REVISIONID}} + +</div> +<div class=\"plainlinks mw-specialcite-styles\"> + +== Стилови цитирања за Ñтрану {{FULLPAGENAME}} == + +=== [[APA style|APA Ñтил]] === +{{FULLPAGENAME}}. ({{CURRENTYEAR}}, {{CURRENTMONTHNAME}} {{CURRENTDAY}}). ''{{SITENAME}}, {{int:sitesubtitle}}''. Узето <citation>{{CURRENTTIME}}, {{CURRENTMONTHNAME}} {{CURRENTDAY}}, {{CURRENTYEAR}}</citation> од {{fullurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}. + +=== [[The MLA style manual|MLA Ñтил]] === +\"{{FULLPAGENAME}}.\" ''{{SITENAME}}, {{int:sitesubtitle}}''. {{CURRENTDAY}} {{CURRENTMONTHABBREV}} {{CURRENTYEAR}}, {{CURRENTTIME}} UTC. <citation>{{CURRENTDAY}} {{CURRENTMONTHABBREV}} {{CURRENTYEAR}}, {{CURRENTTIME}}</citation> <{{fullurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}>. + +=== [[MHRA Style Guide|MHRA Ñтил]] === +Википедијини Ñарадници, '{{FULLPAGENAME}}', ''{{SITENAME}}, {{int:sitesubtitle}},'' {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}, {{CURRENTTIME}} UTC, <{{fullurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}> [приÑтупљено <citation>{{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}</citation>] + +=== [[The Chicago Manual of Style|Чикаго Ñтил]] === +Википедијини Ñарадници, \"{{FULLPAGENAME}},\" ''{{SITENAME}}, {{int:sitesubtitle}},'' {{fullurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}} (приÑтупљено <citation>{{CURRENTMONTHNAME}} {{CURRENTDAY}}, {{CURRENTYEAR}}</citation>). + +=== [[Council of Science Editors|CBE/CSE Ñтил]] === +Википедијини Ñарадници. {{FULLPAGENAME}} [Интернет]. {{SITENAME}}, {{int:sitesubtitle}}; {{CURRENTYEAR}} {{CURRENTMONTHABBREV}} {{CURRENTDAY}}, {{CURRENTTIME}} UTC [цитирано <citation>{{CURRENTYEAR}} {{CURRENTMONTHABBREV}} {{CURRENTDAY}}</citation>]. ДоÑтупно Ñа: +{{fullurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}. + +=== [[Bluebook|Bluebook Ñтил]] === +{{FULLPAGENAME}}, {{fullurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}} (поÑледња поÑета <citation>{{CURRENTMONTHNAME}} {{CURRENTDAY}}, {{CURRENTYEAR}}</citation>). + +=== [[BibTeX]] ÑƒÐ½Ð¾Ñ === + + @misc{ wiki:xxx, + author = \"{{SITENAME}}\", + title = \"{{FULLPAGENAME}} --- {{SITENAME}}{,} {{int:sitesubtitle}}\", + year = \"{{CURRENTYEAR}}\", + url = \"{{fullurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}\", + note = \"[Online; accessed <citation>{{CURRENTDAY}}-{{CURRENTMONTHNAME}}-{{CURRENTYEAR}}</citation>]\" + } + +Када кориÑтите [[LaTeX]] пакет url (<code>\\usepackage{url}</code> негде у преамбули) који тежи да да далеко лепше форматирану адреÑу, Ñледеће је можда боље: + + @misc{ wiki:xxx, + author = \"{{SITENAME}}\", + title = \"{{FULLPAGENAME}} --- {{SITENAME}}{,} {{int:sitesubtitle}}\", + year = \"{{CURRENTYEAR}}\", + url = \"'''\\url{'''{{fullurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}'''}'''\", + note = \"[Online; accessed <citation>{{CURRENTDAY}}-{{CURRENTMONTHNAME}}-{{CURRENTYEAR}}</citation>]\" + } + + +</div><!--cerrando div para \"plainlinks\"-->", ); /** Serbian (Latin script) (srpski (latinica)‎) * @author Liangent * @author Michaello + * @author Milicevic01 * @author Жељко Тодоровић */ $messages['sr-el'] = array( 'cite_article_desc' => 'Dodaje specijalnu stranu za [[Special:Cite|citiranje]] i vezu ka oruÄ‘ima.', - 'cite_article_link' => 'citiranje ove strane', + 'cite_article_link' => 'Citiraj ovu stranicu', 'tooltip-cite-article' => 'Informacije o tome kako citirati ovu stranu', - 'cite' => 'citat', + 'cite' => 'Citiranje', 'cite_page' => 'Stranica:', - 'cite_submit' => 'citat', + 'cite_submit' => 'Citiraj', + 'cite_text' => "__NOTOC__ +<div class=\"mw-specialcite-bibliographic\"> + +== Bibliografski detalji za stranu {{FULLPAGENAME}} == + +* Naziv strane: {{FULLPAGENAME}} +* Autor: {{SITENAME}} saradnici +* IzdavaÄ: ''{{SITENAME}}, {{int:sitesubtitle}}''. +* Datum poslednje revizije: {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} {{CURRENTTIME}} UTC +* Datum uzimanja: <citation>{{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} {{CURRENTTIME}} UTC</citation> +* Stalni URL: {{fullurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}} +* ID verzije strane: {{REVISIONID}} + +</div> +<div class=\"plainlinks mw-specialcite-styles\"> + +== Stilovi citiranja za stranu {{FULLPAGENAME}} == + +=== [[APA style|APA stil]] === +{{FULLPAGENAME}}. ({{CURRENTYEAR}}, {{CURRENTMONTHNAME}} {{CURRENTDAY}}). ''{{SITENAME}}, {{int:sitesubtitle}}''. Uzeto <citation>{{CURRENTTIME}}, {{CURRENTMONTHNAME}} {{CURRENTDAY}}, {{CURRENTYEAR}}</citation> od {{fullurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}. + +=== [[The MLA style manual|MLA stil]] === +\"{{FULLPAGENAME}}.\" ''{{SITENAME}}, {{int:sitesubtitle}}''. {{CURRENTDAY}} {{CURRENTMONTHABBREV}} {{CURRENTYEAR}}, {{CURRENTTIME}} UTC. <citation>{{CURRENTDAY}} {{CURRENTMONTHABBREV}} {{CURRENTYEAR}}, {{CURRENTTIME}}</citation> <{{fullurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}>. + +=== [[MHRA Style Guide|MHRA stil]] === +Vikipedijini saradnici, '{{FULLPAGENAME}}', ''{{SITENAME}}, {{int:sitesubtitle}},'' {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}, {{CURRENTTIME}} UTC, <{{fullurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}> [pristupljeno <citation>{{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}</citation>] + +=== [[The Chicago Manual of Style|ÄŒikago stil]] === +Vikipedijini saradnici, \"{{FULLPAGENAME}},\" ''{{SITENAME}}, {{int:sitesubtitle}},'' {{fullurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}} (pristupljeno <citation>{{CURRENTMONTHNAME}} {{CURRENTDAY}}, {{CURRENTYEAR}}</citation>). + +=== [[Council of Science Editors|CBE/CSE stil]] === +Vikipedijini saradnici. {{FULLPAGENAME}} [Internet]. {{SITENAME}}, {{int:sitesubtitle}}; {{CURRENTYEAR}} {{CURRENTMONTHABBREV}} {{CURRENTDAY}}, {{CURRENTTIME}} UTC [citirano <citation>{{CURRENTYEAR}} {{CURRENTMONTHABBREV}} {{CURRENTDAY}}</citation>]. Dostupno sa: +{{fullurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}. + +=== [[Bluebook|Bluebook stil]] === +{{FULLPAGENAME}}, {{fullurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}} (poslednja poseta <citation>{{CURRENTMONTHNAME}} {{CURRENTDAY}}, {{CURRENTYEAR}}</citation>). + +=== [[BibTeX]] unos === + + @misc{ wiki:xxx, + author = \"{{SITENAME}}\", + title = \"{{FULLPAGENAME}} --- {{SITENAME}}{,} {{int:sitesubtitle}}\", + year = \"{{CURRENTYEAR}}\", + url = \"{{fullurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}\", + note = \"[Online; accessed <citation>{{CURRENTDAY}}-{{CURRENTMONTHNAME}}-{{CURRENTYEAR}}</citation>]\" + } + +Kada koristite [[LaTeX]] paket url (<code>\\usepackage{url}</code> negde u preambuli) koji teži da da daleko lepÅ¡e formatiranu adresu, sledeće je možda bolje: + + @misc{ wiki:xxx, + author = \"{{SITENAME}}\", + title = \"{{FULLPAGENAME}} --- {{SITENAME}}{,} {{int:sitesubtitle}}\", + year = \"{{CURRENTYEAR}}\", + url = \"'''\\url{'''{{fullurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}'''}'''\", + note = \"[Online; accessed <citation>{{CURRENTDAY}}-{{CURRENTMONTHNAME}}-{{CURRENTYEAR}}</citation>]\" + } + + +</div><!--closing div for \"plainlinks\"-->", ); /** Seeltersk (Seeltersk) diff --git a/extensions/Cite/citeParserTests.txt b/extensions/Cite/citeParserTests.txt index 3076eeb6..052cd56a 100644 --- a/extensions/Cite/citeParserTests.txt +++ b/extensions/Cite/citeParserTests.txt @@ -311,16 +311,20 @@ AAA<ref group="å‚">ref a</ref>BBB<ref group="注">note b</ref>CCC<ref group="å !! result <p>AAA<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[å‚ 1]</a></sup>BBB<sup id="cite_ref-2" class="reference"><a href="#cite_note-2">[注 1]</a></sup>CCC<sup id="cite_ref-3" class="reference"><a href="#cite_note-3">[å‚ 2]</a></sup> </p> -<dl><dt>refs -</dt></dl> +<dl> +<dt>refs +</dt> +</dl> <ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text">ref a</span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text">ref c</span> </li> </ol> -<dl><dt>notes -</dt></dl> +<dl> +<dt>notes +</dt> +</dl> <ol class="references"> <li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text">note b</span> </li> diff --git a/extensions/ConfirmEdit/Asirra.i18n.php b/extensions/ConfirmEdit/Asirra.i18n.php index 23190c29..451107bb 100644 --- a/extensions/ConfirmEdit/Asirra.i18n.php +++ b/extensions/ConfirmEdit/Asirra.i18n.php @@ -76,10 +76,28 @@ $messages['be-tarask'] = array( * @author Fohanno */ $messages['br'] = array( + 'asirra-desc' => 'Modulenn Asirra evit ConfirmEdit', + 'asirra-edit' => 'Evit sikour da wareziñ ar wiki diouzh ar stroboù emgefre, diuzit ar skeudennoù kizhier er voest dindan :', 'asirra-nojs' => "'''Gweredekait JavaScript, mar plij, hag adkasit ar bajenn.'''", + 'asirra-failed' => 'Diuzit an holl skeudennoù kizhier, mar plij', ); -/** Czech (Äesky) +/** Catalan (català ) + * @author Toniher + */ +$messages['ca'] = array( + 'asirra-desc' => 'Mòdul Asirra de ConfirmEdit', + 'asirra-edit' => 'Per tal de protegir el wiki contra les edicions brosses, us demanem que seleccioneu només les fotos de gats del requadre a continuació:', + 'asirra-addurl' => "La modificació inclou nous enllaços externs. Per tal de protegir el wiki davant d'edicions brossa, us demanem que seleccioneu només les fotos de gots del requadre a continuació:", + 'asirra-badlogin' => 'Per tal de protegir el wiki contra els intents de trencament de contrasenyes, us demanem que seleccioneu només les fotos de gats del requadre a continuació:', + 'asirra-createaccount' => 'Per tal de protegir el wiki contra la creació automatitzada de comptes, us demanem que seleccioneu només les fotos de gats del requadre a continuació:', + 'asirra-createaccount-fail' => 'Identifiqueu correctament els gats.', + 'asirra-create' => 'Per tal de protegir el wiki contra la creació automà tica de pà gines, us demanem que seleccioneu només les fotos de gats del requadre a continuació:', + 'asirra-nojs' => "'''Habilitieu el JavaScript i torneu a enviar la pà gina.'''", + 'asirra-failed' => 'Identifiqueu totes les imatges de gats', +); + +/** Czech (ÄeÅ¡tina) * @author Vks */ $messages['cs'] = array( @@ -123,19 +141,35 @@ $messages['diq'] = array( /** Spanish (español) * @author Armando-Martin + * @author Ciencia Al Poder */ $messages['es'] = array( 'asirra-desc' => 'Módulo de Asirra para ConfirmEdit', 'asirra-edit' => 'Para ayudar a protegernos contra el spam de edición automática, seleccione sólo las fotos de gatos en el cuadro siguiente:', # Fuzzy - 'asirra-addurl' => 'Su edición incluye nuevos enlaces externos. Para ayudar a protegernos contra el spam automatizado, por favor, seleccione solo las fotos de gato en el cuadro siguiente:', # Fuzzy - 'asirra-badlogin' => 'Para ayudar a protegernos del robo automatizado de contraseñas, seleccione sólo las fotos de gatos en el cuadro siguiente:', # Fuzzy - 'asirra-createaccount' => 'Para ayudar a protegernos contra la creación automatizada de cuentas, seleccione sólo las fotos de gato en el cuadro siguiente:', # Fuzzy + 'asirra-addurl' => 'Tu edición incluye nuevos enlaces externos. Para proteger el wiki contra el spam automatizado, por favor, te pedimos que selecciones solo las fotos de gatos en el cuadro siguiente:', + 'asirra-badlogin' => 'Para proteger el wiki contra el robo automatizado de contraseñas, te pedimos por favor que selecciones únicamente las fotos de gatos en el cuadro siguiente:', + 'asirra-createaccount' => 'Para proteger el wiki contra la creación automatizada de cuentas de usuario, te pedimos por favor que selecciones únicamente las fotos de gatos en el cuadro siguiente:', 'asirra-createaccount-fail' => 'Identifique correctamente los gatos.', - 'asirra-create' => 'Para ayudar a protegernos contra la creación automática de páginas, seleccione sólo las fotos de gato en el cuadro siguiente:', # Fuzzy + 'asirra-create' => 'Para proteger el wiki contra la creación automatizada de páginas, te pedimos por favor que selecciones únicamente las fotos de gatos en el cuadro siguiente:', 'asirra-nojs' => "'''Por favor active JavaScript y vuelva a la página.'''", 'asirra-failed' => 'Identifique todas las imágenes de gatos', ); +/** Persian (Ùارسی) + * @author Armin1392 + */ +$messages['fa'] = array( + 'asirra-desc' => 'بخش آسیرا برای تایید ویرایش', + 'asirra-edit' => ' برای Ù…ØاÙظت ویکی دربرابر ویرایش خودکار اسپم، ما دوستانه از شما درخواست می‌کنیم Ú©Ù‡ تنها عکس‌های گربه را در جعبهٔ زیر انتخاب کنید:', + 'asirra-addurl' => 'ویرایش شما شامل لینک‌های خارجی جدید است.برای Ù…ØاÙظت ویکی دربرابر ویرایش خودکار اسپم، ما دوستانه از شما درخواست می‌کنیم Ú©Ù‡ تنها عکس‌های گربه را در جعبهٔ زیر انتخاب کنید:', + 'asirra-badlogin' => 'برای Ù…ØاÙظت ویکی دربرابر رخنه به رمز‌ عبور به طور خودکار، ما دوستانه از شما درخواست می‌کنیم Ú©Ù‡ تنها عکس‌های گربه را در جعبهٔ زیر انتخاب کنید:', + 'asirra-createaccount' => 'برای Ù…ØاÙظت ویکی دربرابر ایجاد Øساب به طور خودکار، ما دوستانه از شما درخواست می‌کنیم Ú©Ù‡ تنها عکس‌های گربه را در جعبهٔ زیر انتخاب کنید:', + 'asirra-createaccount-fail' => 'لطÙاً این گربه‌ها را به درستی شناسایی کنید.', + 'asirra-create' => 'برای Ù…ØاÙظت ویکی دربرابر ایجاد صÙØÙ‡ به طور خودکار، ما دوستانه از شما درخواست می‌کنیم Ú©Ù‡ تنها عکس‌های گربه را در جعبهٔ زیر انتخاب کنید:', + 'asirra-nojs' => "'''لطÙاً جاوااسکریپت را Ùعال کنید Ùˆ صÙØÙ‡ را دوباره ارائه کنید.'''", + 'asirra-failed' => 'لطÙاً همهٔ عکس‌های گربه را شناسایی کنید', +); + /** Finnish (suomi) * @author VezonThunder */ @@ -183,17 +217,33 @@ $messages['gl'] = array( 'asirra-failed' => 'Identifique todas as fotos de gatos', ); +/** Hebrew (עברית) + * @author Yona b + * @author ערן + */ +$messages['he'] = array( + 'asirra-desc' => 'מודול Asirra ל×ישור עריכה (ConfirmEdit)', + 'asirra-edit' => 'כדי להגן על הוויקי מעריכות ספ×× ×וטומטיות, × ×‘×§×©×š לבחור רק ×ת ×ª×ž×•× ×•×ª ×”×—×ª×•×œ×™× ×‘×ª×™×‘×” שלהלן:', + 'asirra-addurl' => 'העריכה שלך כוללת ×§×™×©×•×¨×™× ×—×™×¦×•× ×™×™× ×—×“×©×™×. כדי להגן על הויקי מעריכות ספ×× ×וטומטיות, × ×‘×§×©×š לבחור רק ×ת ×ª×ž×•× ×•×ª ×”×—×ª×•×œ×™× ×‘×ª×™×‘×” שלהלן:', + 'asirra-badlogin' => 'כדי להגן על הוויקי מפיצוח ×וטומטי של סיסמ×ות, × ×‘×§×©×š לבחור רק ×ת ×ª×ž×•× ×•×ª ×”×—×ª×•×œ×™× ×‘×ª×™×‘×” שלהלן:', + 'asirra-createaccount' => 'כדי להגן על הוויקי ×ž×¤× ×™ יצירה ×וטומטית של ×—×©×‘×•× ×•×ª, × ×‘×§×©×š לבחור רק ×ת ×ª×ž×•× ×•×ª ×”×—×ª×•×œ×™× ×‘×ª×™×‘×” שלהלן:', + 'asirra-createaccount-fail' => 'יש לזהות כר×וי ×ת החתולי×.', + 'asirra-create' => 'כדי להגן על הוויקי ×ž×¤× ×™ יצירה ×וטומטית של דפי×, × ×‘×§×©×š לבחור רק ×ת ×ª×ž×•× ×•×ª ×”×—×ª×•×œ×™× ×‘×ª×™×‘×” שלהלן:', + 'asirra-nojs' => "'''יש ל×פשר JavaScript ולשלוח מחדש ×ת הדף.'''", + 'asirra-failed' => 'יש לזהות ×ת כל ×ª×ž×•× ×•×ª החתולי×', +); + /** Upper Sorbian (hornjoserbsce) * @author Michawiki */ $messages['hsb'] = array( 'asirra-desc' => 'Modul Asirra za ConfirmEdit', - 'asirra-edit' => 'Za Å¡kit pÅ™ećiwo awtomatizowanemu spamej, proÅ¡u wubjer jenož fota kóÄkow w slÄ›dowacym polu:', # Fuzzy - 'asirra-addurl' => 'Twoja zmÄ›na wobsahuje nowe eksterne wotkazy. Za Å¡kit pÅ™ećiwo awtomatizowanemu spamej, proÅ¡u wubjer jenož fota kóÄkow w slÄ›dowacym polu:', # Fuzzy - 'asirra-badlogin' => 'Za Å¡kit pÅ™ećiwo awtomatizowanemu zÅ‚amanju hesÅ‚ow, proÅ¡u wubjer jenož fota kóÄkow w slÄ›dowacym polu:', # Fuzzy - 'asirra-createaccount' => 'Za Å¡kit pÅ™ećiwo awtomatiskemu wutworjenju konta, proÅ¡u wubjer jenož fota kóÄkow w slÄ›dowacym polu:', # Fuzzy + 'asirra-edit' => 'Za Å¡kit pÅ™ećiwo awtomatizowanemu spamej, proÅ¡u wubjer jenož fota kóÄkow w slÄ›dowacym polu:', + 'asirra-addurl' => 'Twoja zmÄ›na wobsahuje nowe eksterne wotkazy. Za Å¡kit pÅ™ećiwo awtomatizowanemu spamej, proÅ¡u wubjer jenož fota kóÄkow w slÄ›dowacym polu:', + 'asirra-badlogin' => 'Za Å¡kit pÅ™ećiwo awtomatizowanemu zÅ‚amanju hesÅ‚ow, proÅ¡u wubjer jenož fota kóÄkow w slÄ›dowacym polu:', + 'asirra-createaccount' => 'Za Å¡kit pÅ™ećiwo awtomatiskemu wutworjenju konta, proÅ¡u wubjer jenož fota kóÄkow w slÄ›dowacym polu:', 'asirra-createaccount-fail' => 'ProÅ¡u identifikuj kóÄki.', - 'asirra-create' => 'Za Å¡kit pÅ™ećiwo awtomatiskemu wutworjenju strony, proÅ¡u wubjer jenož fota kóÄkow w slÄ›dowacym polu:', # Fuzzy + 'asirra-create' => 'Za Å¡kit pÅ™ećiwo awtomatiskemu wutworjenju strony, proÅ¡u wubjer jenož fota kóÄkow w slÄ›dowacym polu:', 'asirra-nojs' => "'''ProÅ¡u zmóžń JavaScript a skÅ‚aduj stronu hišće raz.'''", 'asirra-failed' => 'ProÅ¡u identifikuj wÅ¡Ä› wobrazy z kóÄkami', ); @@ -245,16 +295,17 @@ $messages['ja'] = array( ); /** Korean (í•œêµì–´) + * @author Hym411 * @author ì•„ë¼ */ $messages['ko'] = array( 'asirra-desc' => 'ConfirmEditì— ëŒ€í•œ Asirra 모듈', - 'asirra-edit' => 'ìžë™í™”ëœ íŽ¸ì§‘ 스팸으로부터 보호하기 위해, 아래 ìƒìžì— 있는 ê³ ì–‘ì´ ì‚¬ì§„ì„ ì„ íƒí•˜ì„¸ìš”:', # Fuzzy - 'asirra-addurl' => 'íŽ¸ì§‘ì— ìƒˆë¡œìš´ 바깥 ë§í¬ê°€ í¬í•¨ë˜ì–´ 있습니다. ìžë™í™”ëœ ìŠ¤íŒ¸ìœ¼ë¡œë¶€í„° 보호하기 위해, 아래 ìƒìžì— 있는 ê³ ì–‘ì´ ì‚¬ì§„ì„ ì„ íƒí•˜ì„¸ìš”:', # Fuzzy - 'asirra-badlogin' => '비밀번호 깨기로부터 보호하기 위해, 아래 ìƒìžì— 있는 ê³ ì–‘ì´ ì‚¬ì§„ì„ ì„ íƒí•˜ì„¸ìš”:', # Fuzzy - 'asirra-createaccount' => 'ìžë™í™”ëœ ê³„ì • 만들기로부터 보호하기 위해, 아래 ìƒìžì— 있는 ê³ ì–‘ì´ ì‚¬ì§„ì„ ì„ íƒí•˜ì„¸ìš”:', # Fuzzy + 'asirra-edit' => 'ìžë™í™”ëœ íŽ¸ì§‘ 스팸으로부터 보호하기 위해, 아래 ìƒìžì— 있는 ê³ ì–‘ì´ ì‚¬ì§„ì„ ì„ íƒí•˜ì„¸ìš”:', + 'asirra-addurl' => 'íŽ¸ì§‘ì— ìƒˆë¡œìš´ 바깥 ë§í¬ê°€ í¬í•¨ë˜ì–´ 있습니다. ìžë™í™”ëœ ìŠ¤íŒ¸ìœ¼ë¡œë¶€í„° 보호하기 위해, 아래 ìƒìžì— 있는 ê³ ì–‘ì´ ì‚¬ì§„ì„ ì„ íƒí•˜ì„¸ìš”:', + 'asirra-badlogin' => 'ìžë™í™”ëœ ë¹„ë°€ë²ˆí˜¸ í¬ëž˜í‚¹ìœ¼ë¡œë¶€í„° 보호하기 위해, 아래 ìƒìžì— 있는 ê³ ì–‘ì´ ì‚¬ì§„ì„ ì„ íƒí•˜ì„¸ìš”:', + 'asirra-createaccount' => 'ìžë™í™”ëœ ê³„ì • 만들기로부터 위키를 보호하기 위해, 아래 ìƒìžì— 있는 ê³ ì–‘ì´ ì‚¬ì§„ì„ ì„ íƒí•˜ì„¸ìš”:', 'asirra-createaccount-fail' => 'ê³ ì–‘ì´ë¥¼ 올바르게 ì„ íƒí•˜ì„¸ìš”.', - 'asirra-create' => 'ìžë™í™”ëœ ë¬¸ì„œ 만들기로부터 보호하기 위해, 아래 ìƒìžì— 있는 ê³ ì–‘ì´ ì‚¬ì§„ì„ ì„ íƒí•˜ì„¸ìš”:', # Fuzzy + 'asirra-create' => 'ìžë™í™”ëœ ë¬¸ì„œ 만들기로부터 위키를 보호하기 위해, 아래 ìƒìžì— 있는 ê³ ì–‘ì´ ì‚¬ì§„ì„ ì„ íƒí•˜ì„¸ìš”:', 'asirra-nojs' => "'''ìžë°”스í¬ë¦½íŠ¸ë¥¼ í™œì„±í™”í•˜ê³ ë¬¸ì„œë¥¼ 다시 ì œì¶œí•˜ì„¸ìš”.'''", 'asirra-failed' => 'ê³ ì–‘ì´ ê·¸ë¦¼ì„ ëª¨ë‘ ì„ íƒí•˜ì„¸ìš”', ); @@ -421,12 +472,12 @@ $messages['pt'] = array( */ $messages['roa-tara'] = array( 'asirra-desc' => 'Module Asirra pe confermà le cangiaminde', - 'asirra-edit' => "Pe darne 'na mà ne a proteggere condre le cangiaminde automatece de le rummate, pe piacere scacchie ìa categorije de le fote jndr'à buatte aqquà sotte:", # Fuzzy - 'asirra-addurl' => "Le cangiaminde tune 'ngludone collegaminde de fore nuève. Pe darne 'na mà ne a proteggere condre le cangiaminde automatece de le rummate, pe piacere scacchie 'a categorije d'a fote 'ndruche jndr'à buatte aqquà sotte:", # Fuzzy - 'asirra-badlogin' => "Pe darne 'na mà ne a proteggere condre le futteminde automatece de le passuord, pe piacere scacchie 'a categorije de le fote jndr'à buatte aqquà sotte:", # Fuzzy - 'asirra-createaccount' => "Pe darne 'na mà ne a proteggere condre le ccrejaziune automatece de le cunde, pe piacere scacchie 'a categorije de le fote jndr'à buatte aqquà sotte:", # Fuzzy + 'asirra-edit' => "Pe proteggere condre le cangiaminde automatece de le rummate, pe piacere scacchie 'a categorije de le fote jndr'à buatte aqquà sotte:", + 'asirra-addurl' => "Le cangiaminde tune 'ngludone collegaminde de fore nuève. Pe proteggere condre le cangiaminde automatece de le rummate, pe piacere scacchie 'a categorije d'a fote 'ndruche jndr'à buatte aqquà sotte:", + 'asirra-badlogin' => "Pe proteggere condre le futteminde automatece de le passuord, pe piacere scacchie 'a categorije de le fote jndr'à buatte aqquà sotte:", + 'asirra-createaccount' => "Pe proteggere condre le ccrejaziune automatece de le cunde, pe piacere scacchie 'a categorije de le fote jndr'à buatte aqquà sotte:", 'asirra-createaccount-fail' => 'Pe piacere idendifiche correttamende le categorije.', - 'asirra-create' => "Pe darne 'na mà ne a proteggere condre le ccrejaziune automatece de le pà ggene, pe piacere scacchie 'a categorije de le fote jndr'à buatte aqquà sotte:", # Fuzzy + 'asirra-create' => "Pe proteggere condre le ccrejaziune automatece de le pà ggene, pe piacere scacchie 'a categorije de le fote jndr'à buatte aqquà sotte:", 'asirra-nojs' => "'''Pe piacere abbilite JavaScript e conferme arrete 'a pà gene.'''", 'asirra-failed' => 'Pe piacere idendifiche tutte le categorije de le immaggine', ); @@ -459,6 +510,7 @@ $messages['si'] = array( /** Swedish (svenska) * @author Jopparn * @author Rotsee + * @author Tobulos1 * @author WikiPhoenix */ $messages['sv'] = array( @@ -466,6 +518,7 @@ $messages['sv'] = array( 'asirra-addurl' => 'Din redigering innehÃ¥ller nya externa länkar. För att skydda wikin mot automatiserat redigerings-spam ber vi dig att endast markera fotografierna pÃ¥ katter i rutan nedan:', 'asirra-badlogin' => 'För att skydda wikin mot automatiserade försök att knäcka lösenord ber vi dig att endast markera fotografierna pÃ¥ katter i rutan nedan:', 'asirra-createaccount' => 'För att skydda wikin mot automatiserat kontoskapande ber vi dig att endast markera fotografierna pÃ¥ katter i rutan nedan:', + 'asirra-createaccount-fail' => 'Vänligen identifiera katterna korrekt.', 'asirra-create' => 'För att skydda wikin mot automatiserat sidskapande ber vi dig att endast markera fotografierna pÃ¥ katter i rutan nedan:', 'asirra-nojs' => "'''Var god aktivera JavaScript och hämta sidan igen.'''", 'asirra-failed' => 'Var god identifiera alla kattbilder', diff --git a/extensions/ConfirmEdit/Captcha.php b/extensions/ConfirmEdit/Captcha.php index 3be6d917..20b2dfd4 100644 --- a/extensions/ConfirmEdit/Captcha.php +++ b/extensions/ConfirmEdit/Captcha.php @@ -355,26 +355,38 @@ class SimpleCaptcha { */ function filterLink( $url ) { global $wgCaptchaWhitelist; - $source = wfMessage( 'captcha-addurl-whitelist' )->inContentLanguage()->text(); + static $regexes = null; - $whitelist = wfMessage( 'captcha-addurl-whitelist', $source )->isDisabled() - ? false - : $this->buildRegexes( explode( "\n", $source ) ); + if ( $regexes === null ) { + $source = wfMessage( 'captcha-addurl-whitelist' )->inContentLanguage(); - $cwl = $wgCaptchaWhitelist !== false ? preg_match( $wgCaptchaWhitelist, $url ) : false; - $wl = $whitelist !== false ? preg_match( $whitelist, $url ) : false; + $regexes = $source->isDisabled() + ? array() + : $this->buildRegexes( explode( "\n", $source->plain() ) ); - return !( $cwl || $wl ); + if ( $wgCaptchaWhitelist !== false ) { + array_unshift( $regexes, $wgCaptchaWhitelist ); + } + } + + foreach ( $regexes as $regex ) { + if ( preg_match( $regex, $url ) ) { + return false; + } + } + + return true; } /** * Build regex from whitelist * @param $lines string from [[MediaWiki:Captcha-addurl-whitelist]] - * @return string Regex or bool false if whitelist is empty + * @return array Regexes * @access private */ function buildRegexes( $lines ) { # Code duplicated from the SpamBlacklist extension (r19197) + # and later modified. # Strip comments and whitespace, then remove blanks $lines = array_filter( array_map( 'trim', preg_replace( '/#.*$/', '', $lines ) ) ); @@ -382,34 +394,59 @@ class SimpleCaptcha { # No lines, don't make a regex which will match everything if ( count( $lines ) == 0 ) { wfDebug( "No lines\n" ); - return false; + return array(); } else { # Make regex # It's faster using the S modifier even though it will usually only be run once // $regex = 'http://+[a-z0-9_\-.]*(' . implode( '|', $lines ) . ')'; // return '/' . str_replace( '/', '\/', preg_replace('|\\\*/|', '/', $regex) ) . '/Si'; - $regexes = ''; - $regexStart = '/^https?:\/\/+[a-z0-9_\-.]*('; - $regexEnd = ')/Si'; + $regexes = array(); + $regexStart = array( + 'normal' => '/^https?:\/\/+[a-z0-9_\-.]*(?:', + 'noprotocol' => '/^(?:', + ); + $regexEnd = array( + 'normal' => ')/Si', + 'noprotocol' => ')/Si', + ); $regexMax = 4096; - $build = false; + $build = array(); foreach ( $lines as $line ) { + # Extract flags from the line + $options = array(); + if ( preg_match( '/^(.*?)\s*<([^<>]*)>$/', $line, $matches ) ) { + if ( $matches[1] === '' ) { + wfDebug( "Line with empty regex\n" ); + continue; + } + $line = $matches[1]; + $opts = preg_split( '/\s*\|\s*/', trim( $matches[2] ) ); + foreach ( $opts as $opt ) { + $opt = strtolower( $opt ); + if ( $opt == 'noprotocol' ) { + $options['noprotocol'] = true; + } + } + } + + $key = isset( $options['noprotocol'] ) ? 'noprotocol' : 'normal'; + // FIXME: not very robust size check, but should work. :) - if ( $build === false ) { - $build = $line; - } elseif ( strlen( $build ) + strlen( $line ) > $regexMax ) { - $regexes .= $regexStart . - str_replace( '/', '\/', preg_replace( '|\\\*/|', '/', $build ) ) . - $regexEnd; - $build = $line; + if ( !isset( $build[$key] ) ) { + $build[$key] = $line; + } elseif ( strlen( $build[$key] ) + strlen( $line ) > $regexMax ) { + $regexes[] = $regexStart[$key] . + str_replace( '/', '\/', preg_replace( '|\\\*/|', '/', $build[$key] ) ) . + $regexEnd[$key]; + $build[$key] = $line; } else { - $build .= '|' . $line; + $build[$key] .= '|' . $line; } } - if ( $build !== false ) { - $regexes .= $regexStart . - str_replace( '/', '\/', preg_replace( '|\\\*/|', '/', $build ) ) . - $regexEnd; + foreach ( $build as $key => $value ) { + $regexes[] = $regexStart[$key] . + str_replace( '/', '\/', preg_replace( '|\\\*/|', '/', $build[$key] ) ) . + $regexEnd[$key]; } return $regexes; } @@ -500,25 +537,42 @@ class SimpleCaptcha { * Hook for user creation form submissions. * @param User $u * @param string $message + * @param Status $status * @return bool true to continue, false to abort user creation */ - function confirmUserCreate( $u, &$message ) { + function confirmUserCreate( $u, &$message, &$status = null ) { + if ( $this->needCreateAccountCaptcha() ) { + $this->trigger = "new account '" . $u->getName() . "'"; + if ( !$this->passCaptcha() ) { + // For older MediaWiki + $message = wfMessage( 'captcha-createaccount-fail' )->text(); + // For MediaWiki 1.23+ + $status = Status::newFatal( 'captcha-createaccount-fail' ); + return false; + } + } + return true; + } + + /** + * Logic to check if we need to pass a captcha for the current user + * to create a new account, or not + * + * @return bool true to show captcha, false to skip captcha + */ + function needCreateAccountCaptcha() { global $wgCaptchaTriggers, $wgUser; if ( $wgCaptchaTriggers['createaccount'] ) { if ( $wgUser->isAllowed( 'skipcaptcha' ) ) { wfDebug( "ConfirmEdit: user group allows skipping captcha on account creation\n" ); - return true; + return false; } - if ( $this->isIPWhitelisted() ) - return true; - - $this->trigger = "new account '" . $u->getName() . "'"; - if ( !$this->passCaptcha() ) { - $message = wfMessage( 'captcha-createaccount-fail' )->text(); + if ( $this->isIPWhitelisted() ) { return false; } + return true; } - return true; + return false; } /** @@ -582,7 +636,7 @@ class SimpleCaptcha { * @return bool */ protected function isAPICaptchaModule( $module ) { - return $module instanceof ApiEditPage; + return $module instanceof ApiEditPage || $module instanceof ApiCreateAccount; } /** @@ -733,4 +787,50 @@ class SimpleCaptcha { $wgOut->addWikiMsg( 'captchahelp-cookies-needed' ); } } + + /** + * Pass API captcha parameters on to the login form when using + * API account creation. + * + * @param ApiCreateAccount $apiModule + * @param LoginForm $loginForm + * @return hook return value + */ + function addNewAccountApiForm( $apiModule, $loginForm ) { + global $wgRequest; + $main = $apiModule->getMain(); + + $id = $main->getVal( 'captchaid' ); + if ( $id ) { + $wgRequest->setVal( 'wpCaptchaId', $id ); + + // Suppress "unrecognized parameter" warning: + $main->getVal( 'wpCaptchaId' ); + } + + $word = $main->getVal( 'captchaword' ); + if ( $word ) { + $wgRequest->setVal( 'wpCaptchaWord', $word ); + + // Suppress "unrecognized parameter" warning: + $main->getVal( 'wpCaptchaWord' ); + } + + return true; + } + + /** + * Pass extra data back in API results for account creation. + * + * @param ApiCreateAccount $apiModule + * @param LoginForm &loginForm + * @param array &$params + * @return hook return value + */ + function addNewAccountApiResult( $apiModule, $loginPage, &$result ) { + if ( $result['result'] !== 'Success' && $this->needCreateAccountCaptcha() ) { + $this->addCaptchaAPI( $result ); + } + return true; + } } diff --git a/extensions/ConfirmEdit/ConfirmEdit.i18n.php b/extensions/ConfirmEdit/ConfirmEdit.i18n.php index e5e4c6bf..21a451e1 100644 --- a/extensions/ConfirmEdit/ConfirmEdit.i18n.php +++ b/extensions/ConfirmEdit/ConfirmEdit.i18n.php @@ -16,11 +16,11 @@ $messages['en'] = array( To protect the wiki against automated spam, we kindly ask you to solve the simple sum below and enter the answer in the box in order to save your edit ([[Special:Captcha/help|more info]]):', 'captcha-badlogin' => 'To protect the wiki against automated password cracking, we kindly ask you to solve the simple sum below and enter the answer in the box ([[Special:Captcha/help|more info]]):', 'captcha-createaccount' => 'To protect the wiki against automated account creation, we kindly ask you to solve the simple sum below and enter the answer in the box ([[Special:Captcha/help|more info]]):', - 'captcha-createaccount-fail' => 'Incorrect or missing confirmation code.', + 'captcha-createaccount-fail' => 'Incorrect or missing CAPTCHA.', 'captcha-create' => 'To create the page, please solve the simple sum below and enter the answer in the box ([[Special:Captcha/help|more info]]):', 'captcha-sendemail' => 'To protect the wiki against automated spamming, we kindly ask you to solve the simple sum below and enter the answer in the box ([[Special:Captcha/help|more info]]):', - 'captcha-sendemail-fail' => 'Incorrect or missing confirmation code.', - 'captcha-disabledinapi' => 'This action requires a captcha, so it cannot be performed through the API.', + 'captcha-sendemail-fail' => 'Incorrect or missing CAPTCHA.', + 'captcha-disabledinapi' => 'This action requires a CAPTCHA, so it cannot be performed through the API.', 'captchahelp-title' => 'CAPTCHA help', 'captchahelp-cookies-needed' => 'You will need to have cookies enabled in your browser for this to work.', 'captchahelp-text' => "Web sites that accept postings from the public, like this wiki, are often abused by spammers who use automated tools to post their links to many sites. @@ -31,7 +31,7 @@ Since this is a task that's hard to automate, it will allow most real humans to Unfortunately this may inconvenience users with limited vision or using text-based or speech-based browsers. At the moment we do not have an audio alternative available. -Please contact the [[Special:ListAdmins|site administrators]] for assistance if this is unexpectedly preventing you from making legitimate actions. +Please contact the [[Special:ListAdmins|site administrators]] for assistance if this is unexpectedly preventing you from making legitimate actions. Hit the \"back\" button in your browser to return to the page editor.", 'captcha-addurl-whitelist' => ' #<!-- leave this line exactly as it is --> <pre> @@ -213,11 +213,11 @@ $messages['ar'] = array( للمساعدة ÙÙŠ الØماية من السبام الأوتوماتيكي، من Ùضلك ØÙ„ عملية الجمع بالأسÙÙ„ وأدخل الإجابة ÙÙŠ الصندوق لكي يتم ØÙظ تعديلك ([[Special:Captcha/help|مزيد من المعلومات]]):', 'captcha-badlogin' => 'للمساعدة ÙÙŠ الØماية ضد سرقة كلمات السر، من Ùضلك ØÙ„ عملية الجمع البسيطة بالأسÙÙ„ وأدخل الØÙ„ ÙÙŠ الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', 'captcha-createaccount' => 'ÙƒØماية ضد إنشاء الØسابات الأوتوماتيكي، من Ùضلك ØÙ„ عملية الجمع البسيطة بالأسÙÙ„ وأدخل الإجابة ÙÙŠ الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', - 'captcha-createaccount-fail' => 'كود تأكيد غير صØÙŠØ Ø£Ùˆ Ù…Ùقود.', + 'captcha-createaccount-fail' => 'كابتشا غير صØÙŠØØ© أو Ù…Ùقودة.', 'captcha-create' => 'لإنشاء هذه الصÙØØ©ØŒ من Ùضلك ØÙ„ المسألة الرياضية التالية وأدخل الإجابة ÙÙŠ الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', 'captcha-sendemail' => 'للمساعدة ÙÙŠ الØماية ضد السخام الأتوماتيكي، من Ùضلك ØÙ„ عملية الجمع البسيطة بالأسÙÙ„ وأدخل الإجابة ÙÙŠ الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', - 'captcha-sendemail-fail' => 'كود تأكيد غير صØÙŠØ Ø£Ùˆ Ù…Ùقود', + 'captcha-sendemail-fail' => 'كابتشا غير صØÙŠØØ© أو Ù…Ùقودة.', 'captcha-disabledinapi' => 'هذا الإجراء يتطلب تØقيق , لذلك لايمكن أعتمادها من API.', 'captchahelp-title' => 'مساعدة الكابتشا', 'captchahelp-cookies-needed' => 'ستØتاج إلى أن تكون الكوكيز Ù…Ùعلة ÙÙŠ متصÙØÙƒ لكي يعمل هذا', @@ -330,10 +330,10 @@ $messages['ast'] = array( 'captcha-addurl' => "La to edición inclúi nuevos enllaces esternos. Pa protexer la wiki escontra'l spam automatizáu, pidimoste por favor que resuelvas la suma simple d'embaxo y pongas la rempuesta na caxella pa guardar la edición ([[Special:Captcha/help|más información]]):", 'captcha-badlogin' => "Pa protexer la wiki escontra'l descifráu automáticu de claves, pidimoste por favor que resuelvas la suma simple d'embaxo y pongas la rempuesta na caxella ([[Special:Captcha/help|más información]]):", 'captcha-createaccount' => "Pa protexer la wiki escontra la creación automática de cuentes, pidimoste por favor que resuelvas la suma simple d'embaxo y pongas la rempuesta na caxella ([[Special:Captcha/help|más información]]):", - 'captcha-createaccount-fail' => 'Códigu de confirmación incorreutu o ausente.', + 'captcha-createaccount-fail' => 'CAPTCHA incorreutu o ausente.', 'captcha-create' => "Pa crear la páxina, por favor resuelvi la suma simple d'embaxo y pon la rempuesta nel caxellu ([[Special:Captcha/help|más información]]):", 'captcha-sendemail' => "Pa protexer la wiki escontra la puxarra automatizada, pidimoste por favor que resuelvas la suma cenciella d'embaxo y pongas la rempuesta na caxella ([[Special:Captcha/help|más información]]):", - 'captcha-sendemail-fail' => 'Códigu de confirmación incorreutu o ausente.', + 'captcha-sendemail-fail' => 'CAPTCHA incorreutu o ausente.', 'captcha-disabledinapi' => 'Esta aición requier un captcha y, poro, nun pue facese pel API', 'captchahelp-title' => 'Ayuda tocante al CAPTCHA', 'captchahelp-cookies-needed' => "Has tener les cookies habilitaes nel to navegador pa que'l sistema funcione.", @@ -600,6 +600,7 @@ $messages['bn'] = array( /** Breton (brezhoneg) * @author BrokenArrow + * @author Fohanno * @author Fulup * @author VIGNERON * @author Y-M D @@ -608,13 +609,13 @@ $messages['br'] = array( 'captcha-edit' => "A-raok gellout kemmañ ar bajenn-mañ e c'houlenner ouzhoc'h respont d'ar jedadenn eeun a-is ha lakaat an disoc'h er vaezienn ([[Special:Captcha/help|Petra eo se?]])", 'captcha-desc' => 'Pourchas a ra teknikoù CAPTCHA evit en em wareziñ diouzh ar strob hag an diskuliañ gerioù-tremen', 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => "Liammoù diavaez nevez zo bet ouzhpennet ganeoc'h. A-benn talañ ouzh ar strob emgefre skrivit disoc'h ar jedadennig eeun-mañ er stern : <br />([[Special:Captcha/help|Petra eo se?]])", # Fuzzy - 'captcha-badlogin' => "A-benn talañ ouzh preizhadur emgefre ar gerioù-tremen gant ar botoù e c'houlenner ouzhoc'h jediñ an tamm oberiadenn ha skrivañ an disoc'h anezhi er vaezienn a-is ([[Special:Captcha/help|Petra eo se ?]]):", # Fuzzy - 'captcha-createaccount' => "A-benn hor skoazellañ da dalañ ouzh ar c'hrouiñ kontoù emgefre, jediñ an tamm oberiadenn ha skrivañ an disoc'h anezhi er vaezienn a-is ([[Special:Captcha/help|gouzout hiroc'h]]) :", # Fuzzy - 'captcha-createaccount-fail' => "Pe e vank ar c'hod kadarnaat pe eo fall anezhañ.", + 'captcha-addurl' => "Liammoù diavaez nevez zo bet ouzhpennet ganeoc'h. A-benn talañ ouzh ar strob emgefre skrivit disoc'h ar jedadennig eeun-mañ er stern : <br />([[Special:Captcha/help|Petra eo se?]])", + 'captcha-badlogin' => "A-benn talañ ouzh preizhadur emgefre ar gerioù-tremen e c'houlenner ouzhoc'h jediñ an tamm oberiadenn ha skrivañ an disoc'h anezhi er vaezienn a-is ([[Special:Captcha/help|Petra eo se ?]]):", + 'captcha-createaccount' => "A-benn hor sikour da dalañ ouzh ar c'hrouiñ kontoù emgefre, jedit an tamm oberiadenn ha skrivañ an disoc'h anezhi er vaezienn a-is ([[Special:Captcha/help|gouzout hiroc'h]]) :", + 'captcha-createaccount-fail' => "Pe e vank ar c'hod CAPTCHA pe ez eo fall.", 'captcha-create' => "A-benn krouiñ ar bajenn, skrivit disoc'h ar jedadennig eeun-mañ er vaezienn : <br />([[Special:Captcha/help|Petra eo se?]])", - 'captcha-sendemail' => "Evit hor skoazellañ da zizarbenn ar strob emgefre, sammit ar sifroù a-is ha skrivit an disoc'h er voest ([[Special:Captcha/help|gouzout hiroc'h]]) :", # Fuzzy - 'captcha-sendemail-fail' => "Pe e vank ar c'hod kadarnaat pe eo fall anezhañ.", + 'captcha-sendemail' => "Evit hor sikourda zizarbenn ar strob emgefre, sammit ar sifroù a-is ha skrivit an disoc'h er voest ([[Special:Captcha/help|gouzout hiroc'h]]) :", + 'captcha-sendemail-fail' => "Pe e vank ar c'hod CAPTCHA pe ez eo fall.", 'captcha-disabledinapi' => "Evit an obererezh-mañ ez eus ezhomm ur captcha, dre-se ne c'hell ket bezañ graet dre an API.", 'captchahelp-title' => 'Skoazell Capcha', 'captchahelp-cookies-needed' => "Ret eo deoc'h gweredekaet an toupinoù war ho merdeer Web evit ma'z afe en-dro.", @@ -687,13 +688,14 @@ $messages['ca'] = array( 'captcha-edit' => 'Per a poder modificar aquesta pà gina cal que resolgueu aquesta simple suma i introduïu el resultat en el quadre ([[Special:Captcha/help|més informació]]):', 'captcha-desc' => "Proporciona tècniques CAPTCHA per a protegir contra la publicitat no desitjada i l'obtenció de contrasenyes", 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'La vostra modificació conté enllaços externs nous. Com a protecció contra la brossa de propaganda automà tica, cal que resolgueu aquesta simple suma i introduïu el resultat en el quadre a continuació ([[Special:Captcha/help|més informació]]):', # Fuzzy - 'captcha-badlogin' => "Per a ajudar en la protecció contra l'obtenció automatitzada de contrasenyes haureu de resoldre la suma que apareix a continuació ([[Special:Captcha/help|més informació]]):", # Fuzzy - 'captcha-createaccount' => "Com a protecció contra la creació automà tica de comptes d'usuari necessitem que resolgueu aquesta simple suma i introduïu el resultat en el quadre a continuació ([[Special:Captcha/help|més informació]]):", # Fuzzy - 'captcha-createaccount-fail' => 'Manca el codi de confirmació, o bé és incorrecte.', + 'captcha-addurl' => 'La vostra modificació conté enllaços externs nous. +Com a protecció contra la brossa de propaganda automà tica, cal que resolgueu aquesta simple suma i introduïu el resultat en el quadre a continuació ([[Special:Captcha/help|més informació]]):', + 'captcha-badlogin' => "Com a protecció contra l'obtenció automatitzada de contrasenyes, cal que resolgueu aquesta simple suma i introduïu el resultat en el quadre a continuació ([[Special:Captcha/help|més informació]]):", + 'captcha-createaccount' => "Com a protecció contra la creació automà tica de comptes d'usuari, cal que resolgueu aquesta simple suma i introduïu el resultat en el quadre a continuació ([[Special:Captcha/help|més informació]]):", + 'captcha-createaccount-fail' => 'Hi manca el CAPTCHA o bé eÅ› incorrecte.', 'captcha-create' => 'La vostra modificació conté enllaços externs nous. Com a protecció contra la brossa de propaganda automà tica, cal que resolgueu aquesta simple suma i introduïu el resultat en el quadre a continuació ([[Special:Captcha/help|més informació]]):', - 'captcha-sendemail' => "Per tal d'ajudar-nos en la lluita contra la publicitat automatitzada, cal que solucioneu la senzilla suma que apareix a continuació, i escrigueu el resultat a la casella ([[Special:Captcha/help|més informació]]):", # Fuzzy - 'captcha-sendemail-fail' => 'Manca el codi de confirmació, o bé és incorrecte.', + 'captcha-sendemail' => 'Com a protecció contra la brossa de propaganda automà tica, cal que resolgueu aquesta simple suma i introduïu el resultat en el quadre a continuació ([[Special:Captcha/help|més informació]]):', + 'captcha-sendemail-fail' => 'Hi manca el CAPTCHA o bé és incorrecte.', 'captcha-disabledinapi' => "Aquesta acció requereix un captcha (codi d'imatge), per la qual cosa no es pot realitzar a través de l'API.", 'captchahelp-title' => 'Ajuda amb el sistema captcha', 'captchahelp-cookies-needed' => "Heu d'activar les galetes al vostre navegador per a que funcioni.", @@ -735,6 +737,7 @@ Buóh diÅng kó̤ piÄ•ng-cÄk hiÄ•k-miêng, áik \"diÅng kó̤ sèng 1 hiÄ•k\" * @author Умар */ $messages['ce'] = array( + 'captcha-desc' => 'Спамах ларо а пароль харжа а CAPTCHA таронаш хуьлуьйту', 'right-skipcaptcha' => 'CAPTCHA-хьажар кхочушдар, CAPTCHA чекхдалар доцуш', ); @@ -745,7 +748,7 @@ $messages['ckb'] = array( 'right-skipcaptcha' => 'جێبەجێکردنی کردەوەکانی پێویست بە کاپچا بەبێ بەکارھێنانی کاپچا', ); -/** Czech (Äesky) +/** Czech (ÄeÅ¡tina) * @author Danny B. * @author Li-sung * @author MatÄ›j Grabovský @@ -792,10 +795,10 @@ $messages['cy'] = array( Er mwyn gwarchod y wici rhag peiriant sbam, byddwch gystal â theipio cyfanswm y swm canlynol yn y blwch isod i roi eich golygiad ar gadw ([[Special:Captcha/help|mwy o wybodaeth]]):', 'captcha-badlogin' => 'Er mwyn arbed y wici rhag peiriannau datrys cyfrineiriau, byddwch gystal â gwneud y swm syml isod a gosod yr ateb yn y blwch ([[Special:Captcha/help|rhagor o wybodaeth]]):', 'captcha-createaccount' => 'Er mwyn arbed y wici rhag peiriannau dechrau cyfrifon, byddwch gystal â gwneud y swm syml isod a gosod yr ateb yn y blwch ([[Special:Captcha/help|mwy o wybodaeth]]):', - 'captcha-createaccount-fail' => "Côd cadarnhau ar goll neu'n anghywir.", + 'captcha-createaccount-fail' => "CAPTCHA ar goll neu'n anghywir.", 'captcha-create' => "Er mwyn gallu creu'r dudalen, gwnewch y swm isod a gosodwch y canlyniad yn y blwch ([[Special:Captcha/help|rhagor o wybodaeth]]):", 'captcha-sendemail' => "Er mwyn arbed y wici rhag sbamio awtomatig, byddwch gystal â gwneud y swm syml isod ac ysgrifennu'r ateb yn y blwch ([[Special:Captcha/help|rhagor o wybodaeth]]):", - 'captcha-sendemail-fail' => 'Y cod cadarnhau yn anghywir neu yn eisiau.', + 'captcha-sendemail-fail' => 'CAPTCHA yn anghywir neu yn eisiau.', 'captcha-disabledinapi' => 'Mae angen "captcha" i gyflawni\'r weithred hon, felly nid oes modd ei gyflawni trwy\'r API.', 'captchahelp-title' => 'Cymorth "captcha"', 'captchahelp-cookies-needed' => "Er mwyn i hyn weithio mae'n rhaid bod cookies wedi eu galluogi ar eich gwe-lywiwr.", @@ -822,6 +825,7 @@ Gwasgwch botwm 'nôl' eich porwr er mwyn dychwelyd at y dudalen golygu.", /** Danish (dansk) * @author Aputtu * @author Byrial + * @author Christian List * @author Hylle * @author Kaare * @author Peter Alberti @@ -834,13 +838,13 @@ $messages['da'] = array( Som beskyttelse af wikien mod automatiseret spam, skal du løse det enkle regnestykke nedenfor og skrive resultatet i boksen, for at kunne gemme din redigering ([[Special:Captcha/help|flere oplysninger]]):', 'captcha-badlogin' => 'For at beskytte wikien mod automatiseret adgangskodegætning, skal du løse det enkle regnestykke nedenfor og skrive resultatet i boksen ([[Special:Captcha/help|flere oplysninger]]):', 'captcha-createaccount' => 'For at beskytte wikien mod automatisk oprettelse af brugernavne, skal du løse det enkle regnestykke nedenfor og skrive resultatet i boksen ([[Special:Captcha/help|flere oplysninger]]):', - 'captcha-createaccount-fail' => 'Forkert eller manglende kodeord.', + 'captcha-createaccount-fail' => 'Forkert eller manglende CAPTCHA.', 'captcha-create' => 'For at oprette en ny side, skal du give svaret pÃ¥ regnestyket nedenfor, og angive resultatet i feltet under det. ([[Special:Captcha/help|mere information]]):', 'captcha-sendemail' => 'For at beskytte wikien mod automatisk spamning, skal du løse det enkle regnestykke nedenfor og skrive resultatet i boksen ([[Special:Captcha/help|flere oplysninger]]):', - 'captcha-sendemail-fail' => 'Forkert eller manglende bekræftelseskode.', + 'captcha-sendemail-fail' => 'Forkert eller manglende CAPTCHA.', 'captcha-disabledinapi' => "Denne handling kræver en captcha, sÃ¥ det ikke kan udføres via API'en.", 'captchahelp-title' => 'Captcha-hjælp', - 'captchahelp-cookies-needed' => 'Din browser skal understøtte cookies, før dette kan gennemføres.', + 'captchahelp-cookies-needed' => 'Din browser skal have cookies slÃ¥et til, før dette kan virke.', 'captchahelp-text' => "Websites der accepterer indhold fra offentligheden, bliver ofte udsat for angreb fra spammere. Disse angreb sker med automatiske værktøjer, der anbringer de samme links pÃ¥ et stort antal websites pÃ¥ kort tid. Selvom disse links kan fjernes, er de en vedligeholdelsesmæssig byrde. I visse tilfælde, specielt nÃ¥r der tilføjes nye links til denne wiki, vil softwaren vise dig et billede af et stykke forvredet og sløret tekst. Du skal indtaste det ord, der vises, før du kan gennemføre handlingen. FormÃ¥let er at skelne mellem mennesker og automatiserede værktøjer, da de sidste har meget svært ved at genkende ordene. @@ -873,10 +877,10 @@ $messages['de'] = array( Um das Wiki vor automatisiertem Spam zu schützen, bitten wir dich die untenstehende einfache Rechenaufgabe zu lösen und deine Antwort in das Feld einzugeben, damit deine Bearbeitung gespeichert werden kann ([[Special:Captcha/help|mehr Informationen …]]):', 'captcha-badlogin' => 'Um das Wiki vor der automatisierten Kompromittierung der Benutzerkonten zu schützen, bitten wir dich die untenstehende einfache Rechenaufgabe zu lösen und deine Antwort in das Feld einzugeben ([[Special:Captcha/help|mehr Informationen …]]):', 'captcha-createaccount' => 'Um das Wiki vor der automatisierten Erstellung von Benutzerkonten zu schützen, bitten wir dich die untenstehende einfache Rechenaufgabe zu lösen und deine Antwort in das Feld einzugeben ([[Special:Captcha/help|mehr Informationen …]]):', - 'captcha-createaccount-fail' => 'Falscher oder fehlender Bestätigungscode.', + 'captcha-createaccount-fail' => 'Falsches oder fehlendes CAPTCHA.', 'captcha-create' => 'Zur Erstellung der Seite löse die nachfolgende Rechenaufgabe und trage das Ergebnis in das Feld unten ein [[Special:Captcha/help|(Fragen oder Probleme?)]].', 'captcha-sendemail' => 'Um das Wiki vor automatisiertem Spam zu schützen, bitten wir dich die untenstehende einfache Rechenaufgabe zu lösen und deine Antwort in das Feld einzugeben ([[Special:Captcha/help|mehr Informationen …]]):', - 'captcha-sendemail-fail' => 'Falscher oder fehlender Bestätigungscode.', + 'captcha-sendemail-fail' => 'Falsches oder fehlendes CAPTCHA.', 'captcha-disabledinapi' => 'Diese Aktion benötigt ein CAPTCHA. Sie kann nicht über die API ausgeführt werden.', 'captchahelp-title' => 'CAPTCHA-Hilfe', 'captchahelp-cookies-needed' => "'''Wichtiger Hinweis:''' Es müssen Cookies im Browser erlaubt sein.", @@ -925,8 +929,10 @@ Der „Zurück“-Knopf des Browsers führt zurück zum Bearbeitungsfenster.', ); /** Zazaki (Zazaki) + * @author Asmen * @author Aspar * @author Erdemaslancan + * @author Marmase * @author Xoser */ $messages['diq'] = array( @@ -939,11 +945,11 @@ Otomatik spamî ra pawitîş, ma rica keno cewabê problemî qutiyê ke cor de z ([[Special:Captcha/help|malumato detayın]]):', 'captcha-createaccount' => 'Otomatik spam ra pawıtışi, ma rica keno cewabê problemî qutiyê ke cor de zerre ey ra binuse ([[Special:Captcha/help|malumato detayın]]):', - 'captcha-createaccount-fail' => 'Kodê testiqî vin biyo ya zi raÅŸt niyo.', + 'captcha-createaccount-fail' => 'CAPTCHA ÄŸeleto ya ki kemio', 'captcha-create' => 'Qe pel viraÅŸtîşî, ma rica keno cewabê problemî qutiyê ke cor de zerre ey ra binuse ([[Special:Captcha/help|enformasyonê bînî]]):', 'captcha-sendemail' => 'Otomatik spam ra pawıtışi, ma rica keno cewabê problemî qutiyê ke cor de zerre ey ra binuse ([[Special:Captcha/help|malumato detayın]]):', - 'captcha-sendemail-fail' => 'Kodê testiqî vin biyo ya zi raÅŸt niyo.', + 'captcha-sendemail-fail' => 'CAPTCHA ÄŸeleto ya ki kemio', 'captcha-disabledinapi' => 'Ena hereket de captcha lazim o, aye ra ser API ra ena hereket nibena.', 'captchahelp-title' => 'Yardimê captchayî', 'captchahelp-cookies-needed' => 'Eka şıma wazeno bıkewê pela Wikipedia, programê internetê şıma de cookiesi gani aktiv bê.', @@ -977,10 +983,10 @@ $messages['dsb'] = array( Za šćit pÅ›eÅ›iwo zawtomatizÄ›rowanemu spamoju, pÅ¡osymy Å›i slÄ›dujucy jadnory liceÅ„ski nadawk rozwÄ›zaÅ› a zapódaj wuslÄ›dk do kašćika, aby swóju zmÄ›nu skÅ‚adowaÅ‚ ([[Special:Captcha/help|dalÅ¡ne info]]):', 'captcha-badlogin' => 'Aby wiki pÅ›eÅ›iwo zawtomatizÄ›rowanemu wuzgónjowanjeju gronidÅ‚a šćitaÅ‚, pÅ¡osymy Å›i slÄ›dujucy jadnory liceÅ„ski nadawk rozwÄ›zaÅ› a zapódaj wuslÄ›dk do kašćika ([[Special:Captcha/help|dalÅ¡ne info]]):', 'captcha-createaccount' => 'Aby wiki pÅ›eÅ›iwo zawtomatizÄ›rowanemu zaÅ‚oženjeju kontow šćitaÅ‚, pÅ¡osymy Å›i slÄ›dujucy jadnory liceÅ„ski nadawk rozwÄ›zaÅ› a zapódaj wuslÄ›dk do kašćika ([[Special:Captcha/help|dalÅ¡ne info]]):', - 'captcha-createaccount-fail' => 'Wopacny abo felujucy wobkÅ¡uÅ›eÅ„ski kod.', + 'captcha-createaccount-fail' => 'Wopacny abo felujucy wobkÅ¡uÅ›eÅ„ski kod CAPTCHA.', 'captcha-create' => 'Aby napóraÅ‚ bok, rozwěž pÅ¡osym slÄ›dujucy jadnory liceÅ„ski nadawk a zapódaj wuslÄ›dk do kašćika ([[Special:Captcha/help|dalÅ¡ne info]]):', 'captcha-sendemail' => 'Aby wiki pÅ›eÅ›iwo awtomatiskemu spamowanjeju šćitaÅ‚, pÅ¡osymy Å›i jadnory liceÅ„ski nadawk rozwÄ›zaÅ› a zapódaj wótegrono do kašćika ([[Special:Captcha/help|dalÅ¡ne informacije]]):', - 'captcha-sendemail-fail' => 'Wopacny abo felujucy wobkÅ¡uÅ›eÅ„ski kod.', + 'captcha-sendemail-fail' => 'Wopacny abo felujucy wobkÅ¡uÅ›eÅ„ski kod CAPTCHA.', 'captcha-disabledinapi' => 'ToÅ› ta akcija pomina se captcha, togodla njedajo se pÅ›ez API wuwjasć.', 'captchahelp-title' => 'Pomoc wó captcha', 'captchahelp-cookies-needed' => 'Aby to funkcionÄ›rowaÅ‚o, muse cookieje dowólone byÅ›.', @@ -1127,6 +1133,7 @@ Klaku la 'reiru' butonon en via retumilo por reiri al la paÄo-redaktilo.", /** Spanish (español) * @author Armando-Martin + * @author Ciencia Al Poder * @author Crazymadlover * @author Drini * @author Icvav @@ -1145,10 +1152,10 @@ $messages['es'] = array( Para proteger el wiki contra el spam automatizado, por favor resuelve la sencilla suma de abajo e introduce la respuesta en la caja para guardar tu edición ([[Special:Captcha/help|más información]]):', 'captcha-badlogin' => 'Para proteger el wiki del descifrado de contraseñas automatizado, por favor resuelve la simple suma de abajo e introduce la respuesta en la caja ([[Special:Captcha/help|más información]]):', 'captcha-createaccount' => 'Para proteger el wiki de la creación automática de cuentas, resuelve por favor la simple suma de abajo e introduce la respuesta en la caja ([[Special:Captcha/help|más información]]):', - 'captcha-createaccount-fail' => 'Falta el código de confirmación, o éste es incorrecto.', + 'captcha-createaccount-fail' => 'Falta el código CAPTCHA, o éste es incorrecto.', 'captcha-create' => 'Para crear la página, por favor resuelve la simple suma de abajo e introduce la respuesta en la caja ([[Special:Captcha/help|más información]]):', 'captcha-sendemail' => 'Para proteger el wiki contra el spam automatizado, por favor resuelve la simple suma que se presenta a continuación e introduce la respuesta en el cuadro de texto ([[Special:Captcha/help|más información]]):', - 'captcha-sendemail-fail' => 'El código de confirmación falta o es incorrecto.', + 'captcha-sendemail-fail' => 'Falta el código CAPTCHA, o éste es incorrecto.', 'captcha-disabledinapi' => 'Esta acción requiere un captcha, asà que no puede ser ejecutada a través de un API.', 'captchahelp-title' => 'Ayuda sobre el captcha', 'captchahelp-cookies-needed' => 'Debe tener las cookies activadas en el navegador para que el sistema funcione.', @@ -1182,11 +1189,11 @@ $messages['et'] = array( Palun lahenda allpool lihtne tehe ja sisesta vastus kasti, et saaksid muudatuse salvestada. Abinõu on viki kaitseks automaadistatud rämpsmuudatuste eest ([[Special:Captcha/help|lisateave]]):', 'captcha-badlogin' => 'Palun lahenda allpool lihtne tehe ja sisesta vastus kasti. Abinõu on viki kaitseks automaatsete parooliäraarvajate eest ([[Special:Captcha/help|lisateave]]):', 'captcha-createaccount' => 'Palun lahenda lihtne tehe ja sisesta vastus kasti. Abinõu on viki kaitseks kontode automaatse loomise eest ([[Special:Captcha/help|lisateave]]):', - 'captcha-createaccount-fail' => 'Puuduv või valesti sisestatud kinnituskood.', + 'captcha-createaccount-fail' => 'Puuduv või valesti sisestatud robotilõksu tekst.', 'captcha-create' => 'Lehekülje loomiseks lahenda palun lihtne tehe ja sisesta vastus kasti ([[Special:Captcha/help|lisateave]]):', 'captcha-sendemail' => 'Palun lahenda allpool lihtne tehe ja sisesta vastus kasti. Abinõu on viki kaitseks automaadistatud rämpsmuudatuste eest ([[Special:Captcha/help|lisateave]]):', - 'captcha-sendemail-fail' => 'Vigane või puuduv kinnituskood.', + 'captcha-sendemail-fail' => 'Vigane või puuduv robotilõksu tekst.', 'captcha-disabledinapi' => 'Ãœhes selle toiminguga tuleb läbida robotilõks ja seetõttu ei saa seda API kaudu sooritada.', 'captchahelp-title' => 'Mis on robotilõks?', 'captchahelp-cookies-needed' => 'Selle toimimiseks peab veebilehitseja lubama küpsiseid.', @@ -1246,10 +1253,10 @@ $messages['fa'] = array( برای Ú©Ù…Ú© به جلوگیری از ارسال خودکار هرزنامه‌ها، لطÙاً Øاصل جمع زیر را Øساب کنید Ùˆ نتیجه را در جعبه وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', 'captcha-badlogin' => 'برای Ú©Ù…Ú© به جلوگیری از شکستن خودکار گذرواژه، لطÙاً Øاصل جمع زیر را Øساب کنید Ùˆ نتیجه را وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', 'captcha-createaccount' => 'برای جلوگیری از ایجاد خودکار Øساب کاربری، لطÙاً Øاصل جمع زیر را Øساب کنید Ùˆ نتیجه را در جعبه وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', - 'captcha-createaccount-fail' => 'کد تأییدی وجود ندارد یا نادرست است.', + 'captcha-createaccount-fail' => 'کد تأییدی وجود ندارد یا نادرست است.', 'captcha-create' => 'برای ایجاد صÙØÙ‡ لطÙاً Øاصل جمع زیر را Øساب کنید Ùˆ نتیجه را در جعبه وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', 'captcha-sendemail' => 'برای Ú©Ù…Ú© به ØÙاظت ویکی در برابر هرزنامه‌های خودکار، لطÙاً جمع سادهٔ زیر را ØÙ„ کنید Ùˆ جواب را در جعبه وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', - 'captcha-sendemail-fail' => 'کد تأییدی وجود ندارد یا نادرست است.', + 'captcha-sendemail-fail' => 'کد تأییدی وجود ندارد یا نادرست است.', 'captcha-disabledinapi' => 'این اقدام به کپچا نیاز دارد، بنابراین نمی‌تواند از طریق API انجام شود.', 'captchahelp-title' => 'راهنمای Captcha', 'captchahelp-cookies-needed' => 'برای کار کردن آن، شما باید کوکی‌های مرورگرتان را Ùعال کنید.', @@ -1334,6 +1341,7 @@ $messages['fo'] = array( /** French (français) * @author Crochet.david + * @author Gomoko * @author Grondin * @author IAlex * @author Meithal @@ -1355,10 +1363,10 @@ $messages['fr'] = array( Pour nous aider dans la protection contre le pourriel automatisé, veuillez calculer l’opération simple ci-dessous et en inscrire le résultat dans le champ ([[Special:Captcha/help|plus d’informations]]) :', 'captcha-badlogin' => 'Afin de nous aider à prévenir le cassage automatisé des mots de passe, veuillez calculer l’opération simple ci-dessous et en inscrire le résultat dans le champ ([[Special:Captcha/help|plus d’informations]]) :', 'captcha-createaccount' => 'Afin de nous aider à lutter contre les créations automatiques de comptes, veuillez calculer l’opération simple ci-dessous et en inscrire le résultat dans le champ ([[Special:Captcha/help|plus d’informations]]) :', - 'captcha-createaccount-fail' => 'Code de confirmation erroné ou manquant.', + 'captcha-createaccount-fail' => 'CAPTCHA erroné ou manquant.', 'captcha-create' => 'Pour créer la page, veuillez calculer l’opération simple ci-dessous et en inscrire le résultat dans le champ ([[Special:Captcha/help|plus d’informations]]) :', 'captcha-sendemail' => 'Afin de nous aider à prévenir le pollupostage automatisé, veuillez calculer l’opération simple ci-dessous et en inscrire le résultat dans le champ ([[Special:Captcha/help|plus d’informations]]) :', - 'captcha-sendemail-fail' => 'Code de confirmation incorrect ou manquant.', + 'captcha-sendemail-fail' => 'CAPTCHA incorrect ou absent.', 'captcha-disabledinapi' => 'Cette action requiert un captcha, donc elle ne peut pas être effectuée via l’IPA.', 'captchahelp-title' => 'Aide sur le captcha', 'captchahelp-cookies-needed' => "Il vous faudra autoriser les témoins (''cookies'') de votre navigateur pour que cela fonctionne.", @@ -1461,6 +1469,7 @@ $messages['ga'] = array( /** Galician (galego) * @author Alma + * @author Elisardojm * @author Toliño * @author Xosé */ @@ -1472,10 +1481,10 @@ $messages['gl'] = array( Para protexer o wiki contra o spam automático, resolva a suma que aparece a continuación e introduza a resposta na caixa ([[Special:Captcha/help|máis información]]):', 'captcha-badlogin' => 'Para protexer o wiki contra o roubo de contrasinais, resolva a suma que aparece a continuación e introduza a resposta na caixa ([[Special:Captcha/help|máis información]]):', 'captcha-createaccount' => 'Para protexer o wiki contra a creación automática de contas, resolva a suma que aparece a continuación e introduza a resposta na caixa ([[Special:Captcha/help|máis información]]):', - 'captcha-createaccount-fail' => 'Falta o código de confirmación ou é incorrecto.', + 'captcha-createaccount-fail' => 'Falta o código de confirmación (CAPTCHA) ou é incorrecto.', 'captcha-create' => 'Para crear a páxina, resolva a suma que aparece a continuación e introduza a resposta na caixa ([[Special:Captcha/help|máis información]]):', 'captcha-sendemail' => 'Para protexer o wiki contra o spam automático, resolva a suma que aparece a continuación e introduza a resposta na caixa ([[Special:Captcha/help|máis información]]):', - 'captcha-sendemail-fail' => 'Falta o código de confirmación ou é incorrecto.', + 'captcha-sendemail-fail' => 'Falta o código de confirmación (CAPTCHA) ou é incorrecto.', 'captcha-disabledinapi' => 'Esta acción necesita o captcha, polo que non se pode realizar a través da API.', 'captchahelp-title' => 'Axuda acerca do CAPTCHA', 'captchahelp-cookies-needed' => 'Necesita ter as cookies habilitadas no seu navegador para que funcione.', @@ -1579,19 +1588,20 @@ $messages['gu'] = array( /** Hebrew (עברית) * @author Amire80 + * @author Guycn2 * @author Rotem Liss * @author Rotemliss * @author YaronSh */ $messages['he'] = array( 'captcha-edit' => 'כדי לערוך ×ת הדף, ×× × ×¤×ª×¨×• ×ת תרגיל החיבור הפשוט שלהלן והקלידו ×ת התשובה בתיבה ([[Special:Captcha/help|מידע × ×•×¡×£]]):', - 'captcha-desc' => 'מתן ×˜×›× ×™×§×•×ª CAPTCHA ×œ×”×’× ×” × ×’×“ זיבול ×•× ×™×—×•×© ססמ×ות', + 'captcha-desc' => 'מתן ×˜×›× ×™×§×•×ª CAPTCHA ×œ×”×’× ×” × ×’×“ ספ×× ×•× ×™×—×•×© סיסמ×ות', 'captcha-label' => 'CAPTCHA', 'captcha-addurl' => '×¢×¨×™×›×ª×›× ×›×•×œ×œ×ª ×§×™×©×•×¨×™× ×—×™×¦×•× ×™×™× ×—×“×©×™×. ×œ×©× ×”×’× ×” ×ž×¤× ×™ ספ×× ×וטומטי, ×× × ×¤×ª×¨×• ×ת תרגיל החיבור הפשוט שלהלן והקלידו ×ת התשובה בתיבה כדי לשמור ×ת ×¢×¨×™×›×ª×›× ([[Special:Captcha/help|מידע × ×•×¡×£]]):', 'captcha-badlogin' => '×œ×©× ×”×’× ×” ×ž×¤× ×™ פריצת סיסמ×ות ×וטומטית, ×× × ×¤×ª×¨×• ×ת תרגיל החיבור הפשוט שלהלן והקלידו ×ת התשובה בתיבה ([[Special:Captcha/help|מידע × ×•×¡×£]]):', 'captcha-createaccount' => '×œ×©× ×”×’× ×” ×ž×¤× ×™ יצירת ×—×©×‘×•× ×•×ª ×וטומטית, ×× × ×¤×ª×¨×• ×ת תרגיל החיבור הפשוט שלהלן והקלידו ×ת התשובה בתיבה ([[Special:Captcha/help|מידע × ×•×¡×£]]):', - 'captcha-createaccount-fail' => '×œ× ×”×§×œ×“×ª× ×§×•×“ ×ישור, ×ו ×©×”×•× ×©×’×•×™.', + 'captcha-createaccount-fail' => 'קוד ×ישור שגוי ×ו חסר.', 'captcha-create' => 'כדי ליצור ×ת הדף, ×× × ×¤×ª×¨×• ×ת תרגיל החיבור הפשוט שלהלן והקלידו ×ת התשובה בתיבה ([[Special:Captcha/help|מידע × ×•×¡×£]]):', 'captcha-sendemail' => 'כדי לעזור ×œ×”×™×œ×—× ×‘×ž×¦×™×¤×™ זבל ×וטומטיי×, עליך לחשב ×ת ×”×¡×›×•× ×”×¤×©×•×˜ שלהלן ולהזין ×ת התוצ××” בתיבה ([[Special:Captcha/help|מידע × ×•×¡×£]]):', 'captcha-sendemail-fail' => 'קוד ×”×ישור שגוי ×ו חסר.', @@ -1707,10 +1717,10 @@ $messages['hsb'] = array( 'captcha-addurl' => 'W twojej zmÄ›nje su nowe eksterne wotkazy. Zo by wiki pÅ™ećiwo awtomatizowanemu spamej Å¡kitaÅ‚, prosymy će slÄ›dowacy nadawk wuliÄić a wuslÄ›dk do kašćika zapisować, zo by so twoja zmÄ›na skÅ‚adowaÅ‚a ([[Special:Captcha/help|dalÅ¡e informacije]]).', 'captcha-badlogin' => 'Zo by wiki pÅ™ećiwo awtomatiskemu zadobywanju do hesÅ‚ow Å¡kitaÅ‚, prosymy će slÄ›dowacy nadawk wuliÄeć a wuslÄ›dk do kašćika zapisować ([[Special:Captcha/help|dalÅ¡e informacije]]):', 'captcha-createaccount' => 'Zo by wiki pÅ™ećiwo awtomatiskemu wutworjenju wužiwarskich kontow Å¡kitaÅ‚, prosymy će slÄ›dowacy nadawk nadawk rozrisać a wuslÄ›dk do kašćika zapisować ([[Special:Captcha/help|dalÅ¡e informacije]]):', - 'captcha-createaccount-fail' => 'WopaÄny abo pobrachowacy wobkrućenski kod.', + 'captcha-createaccount-fail' => 'WopaÄny abo falowacy wobkrućenski kod CAPTCHA.', 'captcha-create' => 'Zo by stronu wutworiÅ‚, rozrisaj proÅ¡u slÄ›dowacy liÄenski nadawk a zapodaj wuslÄ›dk do kašćika ([[Special:Captcha/help|DalÅ¡e informacije]]):', 'captcha-sendemail' => 'Za Å¡kit pÅ™ećiwo awtomatiskemu spamowanju, rozrisaj proÅ¡u slÄ›dowacy jednory liÄenski nadawk a zapodaj wotmoÅ‚wu do kašćika ([[Special:Captcha/help|dalÅ¡e informacije]]):', - 'captcha-sendemail-fail' => 'WopaÄny abo falowacy wobkrućenski kod.', + 'captcha-sendemail-fail' => 'WopaÄny abo falowacy wobkrućenski kod CAPTCHA.', 'captcha-disabledinapi' => 'Tuta akcija wužaduje sej captcha, tohodla njeda so pÅ™ez API wuwjesć.', 'captchahelp-title' => 'Pomoc za CAPTCHA', 'captchahelp-cookies-needed' => 'DyrbiÅ¡ placki (cookies) w swojim wobhladowaku zmóžnić.', @@ -1798,10 +1808,10 @@ $messages['ia'] = array( Pro proteger le wiki contra le spam automatisate, per favor resolve le simple summa hic infra e entra le resultato in le quadro a fin de salveguardar tu modification ([[Special:Captcha/help|plus info]]):', 'captcha-badlogin' => 'Pro proteger le wiki contra le furto automatisate de contrasignos, per favor resolve le simple summa hic infra e entra le resultato in le quadro ([[Special:Captcha/help|plus info]]):', 'captcha-createaccount' => 'Pro proteger le wiki contra le creation automatisate de contos, per favor resolve le simple summa hic infra e entra le resultato in le quadro ([[Special:Captcha/help|plus info]]):', - 'captcha-createaccount-fail' => 'Codice de confirmation incorrecte o mancante.', + 'captcha-createaccount-fail' => 'Codice de confirmation (CAPTCHA) incorrecte o mancante.', 'captcha-create' => 'Pro crear le pagina, per favor resolve le simple summa hic infra e entra le resultato in le quadro ([[Special:Captcha/help|plus info]]):', 'captcha-sendemail' => 'Pro proteger le wiki contra le spam automatisate, per favor resolve le simple summa hic infra e entra le resultato in le quadro ([[Special:Captcha/help|plus info]]):', - 'captcha-sendemail-fail' => 'Codice de confirmation incorrecte o mancante.', + 'captcha-sendemail-fail' => 'Codice de confirmation (CAPTCHA) incorrecte o mancante.', 'captcha-disabledinapi' => 'Iste action require un captcha, dunque illo non pote esser exequite per medio del API.', 'captchahelp-title' => 'Adjuta super le captcha', 'captchahelp-cookies-needed' => 'Tu debe haber le cookies activate in tu navigator a fin que isto pote functionar.', @@ -1830,20 +1840,22 @@ Clicca le button 'retro' in tu navigator pro retornar al pagina de modification. * @author Ilham151096 * @author IvanLanin * @author Iwan Novirion + * @author Kenrick95 * @author Rex */ $messages['id'] = array( 'captcha-edit' => 'Untuk menyunting halaman ini, harap pecahkan penjumlahan sederhana di bawah ini dan masukkan jawaban di kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):', 'captcha-desc' => 'Menyediakan teknik captcha untuk melindungi terhadap spam dan penebakan sandi', 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => "Suntingan Anda menyertakan pranala luar baru. Sebagai pelindungan terhadap ''spam'' otomatis, Anda harus mengetikkan kata atau hasil perhitungan yang tertera berikut ini:<br /> -([[Special:Captcha/help|info lengkap]])", # Fuzzy - 'captcha-badlogin' => 'Untuk membantu pelindungan terhadap perengkahan kunci sandi otomatis, tolong masukkan kata atau hasil perhitungan sederhana berikut dalam kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):', # Fuzzy - 'captcha-createaccount' => 'Sebagai pelindungan terhadap spam, Anda diharuskan untuk mengetikkan kata atau hasil perhitungan di bawah ini di kotak yang tersedia untuk dapat mendaftarkan pengguna baru:<br /> -([[Special:Captcha/help|info lengkap]])', # Fuzzy + 'captcha-addurl' => "Suntingan Anda menyertakan pranala luar baru. +Sebagai pelindungan terhadap ''spam'' otomatis, Anda harus mengetikkan hasil perhitungan sederhana berikut ini +([[Special:Captcha/help|info lengkap]]):", + 'captcha-badlogin' => 'Untuk melindungi wiki ini dari perengkahan kunci sandi otomatis, harap masukkan hasil perhitungan sederhana berikut dalam kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):', + 'captcha-createaccount' => 'Untuk melindungi wiki ini dari pembuatan akun otomatis, kami meminta Anda untuk mengetikkan hasil perhitungan sederhana di bawah ini dalam kotak yang tersedia +([[Special:Captcha/help|info lengkap]]):', 'captcha-createaccount-fail' => 'Kode konfirmasi salah atau belum diisi.', 'captcha-create' => 'Untuk menyunting halaman ini, silakan pecahkan penjumlahan sederhana di bawah ini dan masukkan jawaban di kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):', - 'captcha-sendemail' => 'Sebagai pelindungan terhadap spam, silakan pecahkan penjumlahan sederhana di bawah ini dan masukkan jawaban di kotak yang tersedia ([[Special:Captcha/help|more info]]):', # Fuzzy + 'captcha-sendemail' => 'Untuk melindungi wiki ini dari spam otomatis, kami meminta Anda untuk memecahkan penjumlahan sederhana di bawah ini dan masukkan jawaban di kotak yang tersedia ([[Special:Captcha/help|more info]]):', 'captcha-sendemail-fail' => 'Kode konfirmasi salah atau belum diisi.', 'captcha-disabledinapi' => 'Tindakan ini membutuhkan captcha, sehingga tidak dapat dilakukan melalui API.', 'captchahelp-title' => 'Mengenai Captcha', @@ -1986,10 +1998,10 @@ $messages['ja'] = array( 自動ã§ã®ã‚¹ãƒ‘ム攻撃を防ããŸã‚ã€ãŠæ‰‹æ•°ã§ã™ãŒä¸‹è¨˜ã®ç°¡å˜ãªæ•°å¼ã‚’計算ã—ã¦ãã®ç”ãˆã‚’欄ã«å…¥åŠ›ã—ã¦ãã ã•ã„ ([[Special:Captcha/help|ヘルプ]]):', 'captcha-badlogin' => '自動ã§ã®ãƒ‘スワードクラック攻撃ã‹ã‚‰ã‚¦ã‚£ã‚ã‚’ä¿è·ã™ã‚‹ãŸã‚ã€ãŠæ‰‹æ•°ã§ã™ãŒä¸‹è¨˜ã®ç°¡å˜ãªæ•°å¼ã‚’計算ã—ã¦ãã®ç”ãˆã‚’欄ã«å…¥åŠ›ã—ã¦ãã ã•ã„ ([[Special:Captcha/help|詳細]]):', 'captcha-createaccount' => 'アカウントã®è‡ªå‹•ç™»éŒ²ã‹ã‚‰ã‚¦ã‚£ã‚ã‚’ä¿è·ã™ã‚‹ãŸã‚ã€ãŠæ‰‹æ•°ã§ã™ãŒä¸‹è¨˜ã®ç°¡å˜ãªæ•°å¼ã‚’計算ã—ã¦ãã®ç”ãˆã‚’欄ã«å…¥åŠ›ã—ã¦ãã ã•ã„ ([[Special:Captcha/help|ヘルプ]]):', - 'captcha-createaccount-fail' => '確èªã‚³ãƒ¼ãƒ‰ãŒæ£ã—ããªã„ã€ã¾ãŸã¯å…¥åŠ›ã•ã‚Œã¦ã„ã¾ã›ã‚“。', + 'captcha-createaccount-fail' => 'CAPTCHA ãŒæ£ã—ããªã„ã€ã¾ãŸã¯å…¥åŠ›ã•ã‚Œã¦ã„ã¾ã›ã‚“。', 'captcha-create' => 'ページを新è¦ä½œæˆã™ã‚‹ã«ã¯ã€ä¸‹è¨˜ã®ç°¡å˜ãªæ•°å¼ã‚’計算ã—ã¦ãã®ç”ãˆã‚’欄ã«å…¥åŠ›ã—ã¦ãã ã•ã„ ([[Special:Captcha/help|ヘルプ]]):', 'captcha-sendemail' => '自動ã§ã®ã‚¹ãƒ‘ム攻撃ã‹ã‚‰ã‚¦ã‚£ã‚ã‚’ä¿è·ã™ã‚‹ãŸã‚ã€ãŠæ‰‹æ•°ã§ã™ãŒä¸‹è¨˜ã®ç°¡å˜ãªæ•°å¼ã‚’計算ã—ã¦ãã®ç”ãˆã‚’欄ã«å…¥åŠ›ã—ã¦ãã ã•ã„ ([[Special:Captcha/help|詳細]]):', - 'captcha-sendemail-fail' => '確èªã‚³ãƒ¼ãƒ‰ãŒæ£ã—ããªã„ã€ã¾ãŸã¯å…¥åŠ›ã•ã‚Œã¦ã„ã¾ã›ã‚“。', + 'captcha-sendemail-fail' => 'CAPTCHA ãŒæ£ã—ããªã„ã€ã¾ãŸã¯å…¥åŠ›ã•ã‚Œã¦ã„ã¾ã›ã‚“。', 'captcha-disabledinapi' => 'ã“ã®æ“作ã«ã¯ CAPTCHA èªè¨¼ãŒå¿…è¦ãªãŸã‚ã€API ã§ã¯å®Ÿè¡Œã§ãã¾ã›ã‚“。', 'captchahelp-title' => 'CAPTCHA (ç”»åƒèªè¨¼) ヘルプ', 'captchahelp-cookies-needed' => 'ブラウザー㮠Cookie を有効ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚', @@ -2013,6 +2025,7 @@ $messages['ja'] = array( ); /** Jutish (jysk) + * @author Christian List * @author HuslÃ¥ke * @author ÆlsÃ¥n */ @@ -2020,9 +2033,9 @@ $messages['jut'] = array( 'captcha-edit' => 'For at redigere denne side, skal du give svaret pÃ¥ regnestyket nedenfor, og angive resultatet i feltet under det. ([[Special:Captcha/help|mere information]]):', 'captcha-desc' => 'Semple captcha implementÃ¥sje', # Fuzzy 'captcha-addurl' => 'Din redigering tilføjer nye eksterne henvisninger til artiklen. Som beskyttelse mod automatiseret spam, skal du give svaret pÃ¥ regnestyket nedenfor, og angive resultatet i feltet under det. ([[Special:Captcha/help|mere information]]):', # Fuzzy - 'captcha-badlogin' => 'For at beskytte mod automatiserede gæt pÃ¥ kodeord, skal du give svaret pÃ¥ regnestyket nedenfor, og angive resultatet i feltet under det. ([[Special:Captcha/help|mere information]]):', # Fuzzy + 'captcha-badlogin' => 'For at beskytte mod automatiske forsøg pÃ¥ at gætte adgangskoden, skal du give svaret pÃ¥ regnestykket nedenfor, og angive resultatet i feltet under det. ([[Special:Captcha/help|mere information]]):', 'captcha-createaccount' => 'For at beskytte mod automatisk oprettelse af brugernavne, skal du give svaret pÃ¥ regnestyket nedenfor, og angive resultatet i feltet under det. ([[Special:Captcha/help|mere information]]):', # Fuzzy - 'captcha-createaccount-fail' => 'Forkert eller manglende kodeord.', + 'captcha-createaccount-fail' => 'Forkert eller manglende bekræftelseskode.', 'captcha-create' => 'For at oprette en ny side, skal du give svaret pÃ¥ regnestyket nedenfor, og angive resultatet i feltet under det. ([[Special:Captcha/help|mere information]]):', 'captchahelp-title' => 'Captcha-hjælp', 'captchahelp-cookies-needed' => 'Din browser skal understøtte cookies, før dette kan gennemføres.', @@ -2041,6 +2054,7 @@ Tryk pÃ¥ 'tilbage'-knappen i din browser for at returnere til redigeringssiden." ); /** Javanese (Basa Jawa) + * @author Bennylin * @author Meursault2004 * @author NoiX180 * @author Pras @@ -2050,12 +2064,14 @@ $messages['jv'] = array( 'captcha-desc' => 'Nyadhiyakaké tèhnik CAPTCHA kanggo njaga saka spam lan pambedhèk sandhi', 'captcha-label' => 'CAPTCHA', 'captcha-addurl' => "Suntingan panjenengan iku nyertakaké pranala jaba anyar. -Kanggo ngéwangi ngreksa lawan ''spam'' otomatis, tulung pecahna itung-itungan ing ngisor iki lan lebokna kasilna sajroning kothak ([[Special:Captcha/help|info sabanjuré]]):", # Fuzzy - 'captcha-badlogin' => 'Kanggo ngreksa lawan parengkahan kunci sandhi otomatis, tulung lebokna tembung utawa kasil itung-itungan gampang ing ngisor sajroning kothak sing wis sumedya ([[Special:Captcha/help|info sabanjuré]]):', # Fuzzy - 'captcha-createaccount' => 'Kanggo ngreksa lawan panggawéyan rékening (akun) otomatis, tulung pecahna itung-itungan ing ngisor iki lan lebokna kasilna sajroning kothak ([[Special:Captcha/help|info sabanjuré]]):', # Fuzzy - 'captcha-createaccount-fail' => 'Kode pandhedhesan (konfirmasi) salah utawa durung diisi.', +Kanggo ngéwangi ngreksa lawan ''spam'' otomatis, tulung pecahna itung-itungan ing ngisor iki lan lebokna kasilna sajroning kothak ([[Special:Captcha/help|info sabanjuré]]):", + 'captcha-badlogin' => 'Kanggo ngreksa lawan parengkahan tembung sandhi otomatis, tulung lebokna tembung utawa kasil itung-itungan gampang ing ngisor sajroning kothak sing wis sumedya ([[Special:Captcha/help|info sabanjuré]]):', + 'captcha-createaccount' => 'Kanggo ngreksa lawan panggawéyan rékening (akun) otomatis, tulung pecahna itung-itungan ing ngisor iki lan lebokna kasilna sajroning kothak ([[Special:Captcha/help|info sabanjuré]]):', + 'captcha-createaccount-fail' => 'Kode CAPTCHA salah utawa durung diisi.', 'captcha-create' => 'Kanggo nggawé kaca iki, mangga itung-itungan ing ngisor iki diwangsuli sajroning kothak ([[Special:Captcha/help|info sabanjuré]]):', - 'captcha-sendemail-fail' => 'Kodhe pepesthèn salah utawa durung diisi.', + 'captcha-sendemail' => 'Kanggo ngreksa lawan spam otomatis, tulung lebokna tembung utawa kasil itung-itungan gampang ing ngisor sajroning kothak sing wis sumedya ([[Special:Captcha/help|info sabanjuré]]):', + 'captcha-sendemail-fail' => 'Kode CAPTCHA salah utawa durung diisi.', + 'captcha-disabledinapi' => 'Tindakan ini membutuhkan CAPTCHA, sehingga tidak dapat dilakukan melalui API.', 'captchahelp-title' => 'Pitulung Captcha', 'captchahelp-cookies-needed' => 'Panjenengan perlu ngaktifaké cookie ing panjlajah wèb panjenengan kanggo nganggo fitur iki.', 'captchahelp-text' => "Situs-situs wèb sing nampa data saka umum, kaya ta wiki iki, kerep disalahgunakaké déning panganggo-panganggo sing ora bertanggungjawab kanggo ngirimaké ''spam'' mawa program-program otomatis. Senadyan spam-spam iku bisa dibuang kabèh, nanging waé tetep ngrusuhi lan dianggep gawé masalah. @@ -2208,9 +2224,9 @@ Bet öñdewine qaýtw barw üşin «Artqa» degen tüýmesin basıñız.', # Fuz $messages['km'] = array( 'captcha-edit' => 'ដើម្បីកែប្រែ​ទំពáŸážšáž“áŸáŸ‡ សូមដោះស្រាយ​ប្រមាណវិធីបូក​ážáž¶áž„ក្រោម​នáŸáŸ‡ážšáž½áž…​បញ្ជូលចម្លើយ​ទៅក្នុង​ប្រអប់សិន([[Special:Captcha/help|áž–áŸážáŸŒáž˜áž¶áž“​បន្ážáŸ‚ម]])៖', 'captcha-desc' => 'ផ្ដល់បច្ចáŸáž€áž‘áŸážŸ CAPTCHA ដើម្បីការពារពីស្ប៉ាមនិងការការទាយពាក្យសំងាážáŸ‹', - 'captcha-addurl' => 'កំណែ​របស់អ្នក​មាន​ážáŸ†ážŽáž—្ជាប់ក្រៅ​ážáŸ’មី។ ដើម្បី​ជួយបង្ការ​ស្ប៉ាម​ស្វáŸáž™áž”្រវážáŸ’ážáž· សូមដោះស្រាយ​ប្រមាណវិធីបូក​ážáž¶áž„ក្រោម​នáŸáŸ‡ážšáž½áž…​បញ្ជូលចម្លើយ​ទៅក្នុង​ប្រអប់សិន([[Special:Captcha/help|áž–áŸážáŸŒáž˜áž¶áž“​បន្ážáŸ‚ម]])៖', # Fuzzy - 'captcha-badlogin' => 'ដើម្បីការពារការបំបែកពាក្យសំងាážáŸ‹ážŠáŸ„យស្វáŸáž™áž”្រវážáŸ’ážáž· សូមដោះស្រាយផលបូកážáž¶áž„ក្រោមរួចបញ្ជូលចម្លើយទៅក្នុងប្រអប់ ([[Special:Captcha/help|áž–áŸážáŸŒáž˜áž¶áž“បន្ážáŸ‚ម]])៖', # Fuzzy - 'captcha-createaccount' => 'ដើម្បី​បង្ការការបង្កើážâ€‹áž‚ណនី​ស្វáŸáž™áž”្រវážáŸ’ážáž· សូមដោះស្រាយ​ប្រមាណវិធីបូក​ážáž¶áž„ក្រោម​នáŸáŸ‡ážšáž½áž…​បញ្ជូលចម្លើយ​ទៅក្នុង​ប្រអប់សិន([[Special:Captcha/help|áž–áŸážáŸŒáž˜áž¶áž“​បន្ážáŸ‚ម]])៖', # Fuzzy + 'captcha-addurl' => 'កំណែ​របស់អ្នក​មាន​ážáŸ†ážŽáž—្ជាប់ក្រៅ​ážáŸ’មី។ ដើម្បី​ជួយបង្ការ​ស្ប៉ាម​ស្វáŸáž™áž”្រវážáŸ’ážáž· សូមដោះស្រាយ​ប្រមាណវិធីបូក​ážáž¶áž„ក្រោម​នáŸáŸ‡ážšáž½áž…​បញ្ជូលចម្លើយ​ទៅក្នុង​ប្រអប់សិនមុនពáŸáž›ážšáž€áŸ’សាទុកកំណែរបស់អ្នក([[Special:Captcha/help|áž–áŸážáŸŒáž˜áž¶áž“​បន្ážáŸ‚ម]])៖', + 'captcha-badlogin' => 'ដើម្បីការពារការបំបែកពាក្យសម្ងាážáŸ‹ážŠáŸ„យស្វáŸáž™áž”្រវážáŸ’ážáž· សូមដោះស្រាយផលបូកážáž¶áž„ក្រោមរួចបញ្ជូលចម្លើយទៅក្នុងប្រអប់ ([[Special:Captcha/help|áž–áŸážáŸŒáž˜áž¶áž“បន្ážáŸ‚ម]])៖', + 'captcha-createaccount' => 'ដើម្បី​បង្ការការបង្កើážâ€‹áž‚ណនី​ស្វáŸáž™áž”្រវážáŸ’ážáž· សូមដោះស្រាយ​ប្រមាណវិធីបូក​ážáž¶áž„ក្រោម​នáŸáŸ‡ážšáž½áž…​បញ្ជូលចម្លើយ​ទៅក្នុង​ប្រអប់សិន([[Special:Captcha/help|áž–áŸážáŸŒáž˜áž¶áž“​បន្ážáŸ‚ម]])៖', 'captcha-createaccount-fail' => 'កូដផ្ទៀងផ្ទាážáŸ‹áž”ាážáŸ‹áž”ង់ឬមិនážáŸ’រឹមážáŸ’រូវ។', 'captcha-create' => 'ដើម្បី​បង្កើážâ€‹áž‘ំពáŸážš សូមដោះស្រាយ​ប្រមាណវិធីបូក​ážáž¶áž„ក្រោម​នáŸáŸ‡ážšáž½áž…​បញ្ជូលចម្លើយ​ទៅក្នុង​ប្រអប់សិន([[Special:Captcha/help|áž–áŸážáŸŒáž˜áž¶áž“​បន្ážáŸ‚ម]])៖', 'captchahelp-title' => 'ជំនួយអំពី Captcha', @@ -2220,6 +2236,7 @@ $messages['km'] = array( * @author IRTC1015 * @author Klutzy * @author Kwj2772 + * @author Priviet * @author ToePeu * @author ì•„ë¼ */ @@ -2231,10 +2248,10 @@ $messages['ko'] = array( ìžë™í™”ëœ ìŠ¤íŒ¸ìœ¼ë¡œë¶€í„° 위키를 보호하기 위해, íŽ¸ì§‘ì„ ì €ìž¥í•˜ë ¤ë©´ ì•„ëž˜ì˜ ê°„ë‹¨í•œ 계산 ê°’ì„ ìž…ë ¥ ìƒìžì— ì ì–´ 주세요 ([[Special:Captcha/help|ìžì„¸í•œ ì •ë³´]]):', 'captcha-badlogin' => 'ìžë™í™”ëœ ë¹„ë°€ë²ˆí˜¸ 깨기로부터 위키를 보호하기 위해, ì•„ëž˜ì˜ ê°„ë‹¨í•œ 계산 ê°’ì„ ìž…ë ¥ ìƒìžì— ìž…ë ¥í•´ì£¼ì„¸ìš” ([[Special:Captcha/help|ìžì„¸í•œ ì •ë³´]]):', 'captcha-createaccount' => 'ìžë™í™”ëœ ê³„ì • 만들기로부터 위키를 보호하기 위해, ì•„ëž˜ì˜ ê°„ë‹¨í•œ 계산 ê°’ì„ ìž…ë ¥ ìƒìžì— ì ì–´ 주세요 ([[Special:Captcha/help|ìžì„¸í•œ ì •ë³´]]):', - 'captcha-createaccount-fail' => 'ìž…ë ¥ê°’ì´ ìž˜ëª»ë˜ì—ˆê±°ë‚˜ 없습니다.', + 'captcha-createaccount-fail' => 'ìº¡ì± ê°€ 올바르지 않거나 ìž…ë ¥ë˜ì§€ 않았습니다.', 'captcha-create' => '문서를 ë§Œë“œë ¤ë©´ ì•„ëž˜ì˜ ê°„ë‹¨í•œ 계산 ê°’ì„ ìž…ë ¥ ìƒìžì— ì ì–´ 주세요 ([[Special:Captcha/help|ìžì„¸í•œ ì •ë³´]]):', 'captcha-sendemail' => 'ìžë™í™”ëœ ìŠ¤íŒ¸ìœ¼ë¡œë¶€í„° 위키를 보호하기 위해, ì•„ëž˜ì˜ ê°„ë‹¨í•œ 계산 ê°’ì„ ìž…ë ¥ ìƒìžì— ì ì–´ 주세요 ([[Special:Captcha/help|ìžì„¸í•œ ì •ë³´]]):', - 'captcha-sendemail-fail' => 'ìž…ë ¥ê°’ì´ ìž˜ëª»ë˜ì—ˆê±°ë‚˜ 없습니다.', + 'captcha-sendemail-fail' => 'ìº¡ì± ê°€ 올바르지 않거나 ìž…ë ¥ë˜ì§€ 않았습니다.', 'captcha-disabledinapi' => 'ì´ ë™ìž‘ì€ ìº¡ì°¨ë¥¼ ê±°ì³ì•¼ 하기 ë•Œë¬¸ì— APIë¡œ ì´ ìž‘ì—…ì„ ìˆ˜í–‰í• ìˆ˜ 없습니다.', 'captchahelp-title' => 'CAPTCHA(캡차) ë„움ë§', 'captchahelp-cookies-needed' => 'ì •ìƒì 으로 ìž‘ë™í•˜ë ¤ë©´ 웹 브ë¼ìš°ì €ì˜ ì¿ í‚¤ ì‚¬ìš©ì´ í™œì„±í™”ë˜ì–´ 있어야 합니다.', @@ -2338,6 +2355,14 @@ $messages['la'] = array( 'captchahelp-title' => 'Captcha auxilium', ); +/** Ladino (Ladino) + * @author Menachem.Moreira + */ +$messages['lad'] = array( + 'captcha-label' => 'CAPTCHA', + 'captchahelp-title' => 'Ayudo de CAPTCHA', +); + /** Luxembourgish (Lëtzebuergesch) * @author Les Meloures * @author Robby @@ -2351,18 +2376,18 @@ $messages['lb'] = array( Fir dës Wiki virun automatiséiertem Spam ze schütze froe mir Iech fir déi folgend einfach Additioun ze léisen an d'Resultat an d'Feld ënnen anzedroen fir Är Ännerung ze späicheren ([[Special:Captcha/help|méi Informatiounen]]):", 'captcha-badlogin' => "Fir dës Wiki géint automatescht Hacke vu Passwierder ze schützen, léist w.e.g. déi einfach Additioun hei ënnendrënner an tippt d'Äntwert an d'Këscht ([[Special:Captcha/help|méi Informatiounen]]):", 'captcha-createaccount' => "Fir dës Wiki géint d'automatescht Uleeë vu Benotzerkonten ze schützen, léist w.e.g. déi einfach Additioun hei ënnendrënner, an tippt d'Äntwert an d'Këscht ([[Special:Captcha/help|méi Informatiounen]]):", - 'captcha-createaccount-fail' => 'Falschen oder kee Confirmatiouns-Code.', + 'captcha-createaccount-fail' => 'Falschen oder kee CAPTCHA.', 'captcha-create' => "Fir eng Nei Säit unzeleeën, léist w.e.g. déi einfach Additioun hei ënnendrënner an tippt d'Äntwert an d'Këscht ([[Special:Captcha/help|méi Informatiounen]]):", 'captcha-sendemail' => "Fir dës Wiki géint automatescht Spammen ze schützen, léist w.e.g. déi einfach Additioun hei ënnendrënner an tippt d'Äntwert an d'Këscht ([[Special:Captcha/help|méi Informatiounen]]):", - 'captcha-sendemail-fail' => 'Falschen oder kee Confirmatiouns-Code.', + 'captcha-sendemail-fail' => 'Falschen oder kee CAPTCHA.', 'captcha-disabledinapi' => 'Dës Aktioun brauch e Captcha, dofir ka se net mat enger API gemaach ginn.', 'captchahelp-title' => 'Captcha-Hëllef', 'captchahelp-cookies-needed' => 'Dir musst Cookien an Ärem Browser erlabe fir dat dëst funktionéiert.', - 'captchahelp-text' => "Websäiten, déi et jiddwerengem erlaben Ännerunge virzehuelen, sou wéi op dëser Wiki, ginn dacks vu sougenannte Spammer mëssbraucht, déi automatiséiert hir Linken op vill Internetsäite setzen. Esou Spam-Linke kënne wuel geläscht ginn, mä se sinn trotzdem eng grouss Plo. + 'captchahelp-text' => "Websäiten, déi et jiddwerengem erlaben Ännerunge virzehuelen, sou wéi op dëser Wiki, ginn dacks vu sougenannte Spammer mëssbraucht, déi automatiséiert hir Linken op vill Internetsäite setzen. Sou Spam-Linke kënne wuel geläscht ginn, mä se sinn trotzdem eng grouss Plo. Heiansdo, besonnesch wann nei Internet-Linken op eng Säit derbäigesat ginn, weist dës Wiki Iech e Bild mat faarwegem oder verzerrtem Text a freet Iech fir déi gewise Wierder anzetipppen. Well dëst eng Aufgab ass déi schwéier ze automatiséieren ass, erlaabt dëst, datt Mënschen hir Ännerunge kënnen agi während déi meescht Spammer an aner Roboter-Attacke kënnen ofgewiert ginn. -Leider kann dat zu Schwierigkeete féiere fir Persounen déi net esou gutt gesinn oder déi text-baséiert oder sprooch-baséiert Browser benotzen. +Leider kann dat zu Schwierigkeete féiere fir Persounen déi net sou gutt gesinn oder déi text-baséiert oder sprooch-baséiert Browser benotzen. Zu dësem Zäitpunkt hu mir leider keng audio-Alternativ zu eiser Verfügung. Kontaktéiert w.e.g. [[Special:ListAdmins|een Administrateur]] fir Hëllef wann dëst iech onerwaarter Weis vu legitimen Editen ofhält. @@ -2423,7 +2448,10 @@ $messages['lo'] = array( */ $messages['lrc'] = array( 'captcha-label' => 'كپچا', + 'captcha-createaccount-fail' => 'کد کپچا غلط یا Ú¯Ù… بیه.', + 'captcha-sendemail-fail' => 'کد کپچا غلط یا Ú¯Ù… بیه.', 'captchahelp-title' => 'هومياری كپچا', + 'captchahelp-cookies-needed' => 'شما با کوکیانه د جاگرد تو Ùعال بکید سی یه وه کار بکه.', ); /** Lithuanian (lietuvių) @@ -2442,15 +2470,17 @@ $messages['lt'] = array( /** Latvian (latvieÅ¡u) * @author BrokenArrow + * @author Edgars2007 * @author Marozols * @author Yyy */ $messages['lv'] = array( 'captcha-edit' => 'Lai izmainÄ«tu Å¡o lapu, atrisini Å¡o vienÄdojumu un iegÅ«to skaitli ieraksti Å¡ajÄ lodziņÄ: <br />([[Special:Captcha/help|KÄpÄ“c tÄ?]])', - 'captcha-addurl' => 'Tavas izmaiņas ietver jaunu URL saiti. Lai pasargÄtos no automÄtiskas mÄ“stuļoÅ¡anas, Tev ir jÄieraksta te redzamÄ vienÄdojuma rezultÄts: <br />([[Special:Captcha/help|KÄpÄ“c tÄ?]])', # Fuzzy + 'captcha-addurl' => 'Tavas izmaiņas ietver jaunu URL saiti. +Lai pasargÄtos no automÄtiskas mÄ“stuļoÅ¡anas, Tev ir jÄieraksta te redzamÄ vienÄdojuma rezultÄts: <br />([[Special:Captcha/help|vairÄk informÄcijas]])', 'captcha-badlogin' => 'Lai pasargÄtos no automÄtiskiem paroļu lauzÄ“jiem, lÅ«dzu aprÄ“Ä·ini Å¡Ä«s izteiksmes vÄ“rtÄ«bu un rezultÄtu ieraksti apakÅ¡Ä esoÅ¡ajÄ lodziÅ†Ä ([[Special:Captcha/help|papildus informÄcija]]):', # Fuzzy 'captcha-createaccount' => 'Lai pasargÄtos no automÄtiskas mÄ“stuļoÅ¡anas, Tev reÄ£istrÄ“joties ir jÄieraksta Å¡Ä« vienÄdojuma rezultÄts: <br />([[Special:Captcha/help|KÄpÄ“c tÄ?]])', # Fuzzy - 'captcha-createaccount-fail' => 'Nepareizs apstiprinÄjuma kods vai arÄ« tas nav ievadÄ«ts.', + 'captcha-createaccount-fail' => 'Nepareizs apstiprinÄjuma kods vai arÄ« tas nav ievadÄ«ts.', # Fuzzy 'captcha-create' => 'Lai izveidotu Å¡o lapu, atrisini Å¡o vienÄdojumu un rezulÄtu ieraksti Å¡ajÄ lodziņÄ: <br />([[Special:Captcha/help|KÄpÄ“c tÄ?]])', 'captchahelp-cookies-needed' => "Lai Å¡is darbotos, pÄrlÅ«kprogrammÄ jÄbÅ«t iespÄ“jotÄm (''enabled'') sÄ«kdatnÄ“m (''cookies'').", 'captchahelp-text' => "Interneta lapas, kurÄs iespÄ“jams pievienot tekstu, kÄ Å¡ajÄ wiki, bieži cieÅ¡ no mÄ“stuļotÄjiem, kuri izmanto automatizÄ“tus lÄ«dzekļus, lai pievienotu savus saites daudzÄs jo daudzÄs interneta lapÄs. @@ -2500,10 +2530,10 @@ $messages['mk'] = array( За да ни помогнете да Ñе заштитиме од автоматизиран Ñпам, би ве замолиле да ја решите проÑтата задача подолу и да го внеÑете резултатот во полето за да можете да го зачувате уредувањето ([[Special:Captcha/help|повеќе инфо]]):', 'captcha-badlogin' => 'За да ни помогнете да Ñе заштитиме од автоматизирано пробивање на лозинки, би ве замолиле да ја решите проÑтата задача подолу и внеÑете резултатот во полето ([[Special:Captcha/help|повеќе информации]]):', 'captcha-createaccount' => 'За да ни помогнете да Ñе заштитиме од автоматизирано Ñоздавање на Ñметки, би ве замолиле да ја решите проÑтата задача подолу и да го внеÑете резултатот во полето ([[Special:Captcha/help|повеќе инфо]]):', - 'captcha-createaccount-fail' => 'Потврдниот код е неточен или недоÑтаÑува.', + 'captcha-createaccount-fail' => 'CAPTCHA е неточен или недоÑтаÑува.', 'captcha-create' => 'За да ја Ñоздадете Ñтраницата, прво решете ја проÑтата задача подолу и впишете го решението во полето ([[Special:Captcha/help|повеќе инфо]]):', 'captcha-sendemail' => 'За да Ñе заштитиме од автоматизирано Ñпамирање, би Ñакале да ве замолиме да ја решите проÑтата задача подолу и да го внеÑете резултатот во полето ([[Special:Captcha/help|повеќе информации]]):', - 'captcha-sendemail-fail' => 'Потврдниот код е неточен или недоÑтаÑува.', + 'captcha-sendemail-fail' => 'CAPTCHA е неточен или недоÑтаÑува.', 'captcha-disabledinapi' => 'Ова дејÑтво бара captcha, така што не може да Ñе изврши преку API.', 'captchahelp-title' => 'Помош Ñо Captcha', 'captchahelp-cookies-needed' => 'Треба да имате овозможено колачиња за да може ова да работи.', @@ -2516,7 +2546,7 @@ $messages['mk'] = array( Во моментов немаме аудио-алтернатива за ова. Контактирајте ги [[Special:ListAdmins|админиÑтраторите на Ñтраната]] за помош доколку ова неочекувано ве Ñпречува во правењето на иÑкрени придонеÑи. -Кликнете на копчето „назад“ во вашиот прелиÑувач за да Ñе вратите на уредувањето на Ñтраницата.', +СтиÑнете на копчето „назад“ во вашиот прелиÑувач за да Ñе вратите на уредувањето на Ñтраницата.', 'captcha-addurl-whitelist' => ' #<!-- leave this line exactly as it is --> <pre> # ÐžÐ¿Ð¸Ñ Ð½Ð° ÑинтакÑата: # * Сето она што Ñтои по знакот „#“, па до крајот на редот е коментар @@ -2537,10 +2567,10 @@ $messages['ml'] = array( യാനàµà´¤àµà´°à´¿à´•à´®à´¾à´¯à´¿ പാഴെഴàµà´¤àµà´¤àµàµ¾à´ªàµà´ªàµ†à´Ÿàµà´¤àµà´¤àµà´¨àµà´¨à´¤à´¿àµ½ നിനàµà´¨àµà´‚ വികàµà´•à´¿ സം‌രകàµà´·à´¿à´•àµà´•àµà´¨àµà´¨à´¤à´¿à´¨àµà´±àµ† à´à´¾à´—മായി, ദയവായി താഴെ കൊടàµà´¤àµà´¤à´¿à´°à´¿à´•àµà´•àµà´¨àµà´¨ ലഘൠഗണിത à´•àµà´°à´¿à´¯ ചെയàµà´¤àµ അതിനàµà´±àµ† ഉതàµà´¤à´°à´‚ താഴെയàµà´³àµà´³ പെടàµà´Ÿà´¿à´¯à´¿àµ½ ടൈപàµà´ªàµ ചെയàµà´¯àµà´• ([[Special:Captcha/help|കൂടàµà´¤àµ½ വിവരങàµà´™àµ¾]]):', 'captcha-badlogin' => 'യാനàµà´¤àµà´°à´¿à´•à´®à´¾à´¯à´¿ രഹസàµà´¯à´µà´¾à´•àµà´•àµ പൊളികàµà´•àµà´¨àµà´¨à´¤à´¿àµ½ നിനàµà´¨àµà´‚ വികàµà´•à´¿ സംരകàµà´·à´¿à´•àµà´•àµà´¨àµà´¨à´¤à´¿à´¨àµà´±àµ† à´à´¾à´—മായി, ദയവായി താഴെ കൊടàµà´¤àµà´¤à´¿à´°à´¿à´•àµà´•àµà´¨àµà´¨ ലഘൠഗണിത à´•àµà´°à´¿à´¯ ചെയàµà´¤àµ, ഉതàµà´¤à´°à´‚ താഴെയàµà´³àµà´³ പെടàµà´Ÿà´¿à´¯à´¿àµ½ ടൈപàµà´ªàµ ചെയàµà´¯àµà´• ([[Special:Captcha/help|കൂടàµà´¤àµ½ വിവരങàµà´™àµ¾]]):', 'captcha-createaccount' => 'യാനàµà´¤àµà´°à´¿à´•à´®à´¾à´¯à´¿ à´…à´‚à´—à´¤àµà´µà´‚ സൃഷàµà´Ÿà´¿à´•àµà´•àµà´¨àµà´¨à´¤à´¿àµ½ നിനàµà´¨àµà´‚ വികàµà´•à´¿ സം‌രകàµà´·à´¿à´•àµà´•àµà´¨àµà´¨à´¤à´¿à´¨àµà´±àµ† à´à´¾à´—മായി, ദയവായി താഴെ കൊടàµà´¤àµà´¤à´¿à´°à´¿à´•àµà´•àµà´¨àµà´¨ ലഘൠഗണിത à´•àµà´°à´¿à´¯ ചെയàµà´¤àµ അതിനàµà´±àµ† ഉതàµà´¤à´°à´‚ താഴെയàµà´³àµà´³ പെടàµà´Ÿà´¿à´¯à´¿àµ½ ടൈപàµà´ªàµ ചെയàµà´¯àµà´• ([[Special:Captcha/help|കൂടàµà´¤àµ½ വിവരങàµà´™àµ¾]]):', - 'captcha-createaccount-fail' => 'തെറàµà´±à´¾à´¯à´¤àµ‹ à´²à´àµà´¯à´®à´²àµà´²à´¾à´¤àµà´¤à´¤àµ‹ ആയ à´¸àµà´¥à´¿à´°àµ€à´•à´°à´£ കോഡàµ.', + 'captcha-createaccount-fail' => 'തെറàµà´±à´¾à´¯à´¤àµ‹ à´²à´àµà´¯à´®à´²àµà´²à´¾à´¤àµà´¤à´¤àµ‹ ആയ കാപàµà´šàµà´š.', 'captcha-create' => 'à´ˆ താൾ സൃഷàµà´Ÿà´¿à´•àµà´•àµà´µà´¾àµ», ദയവായി താഴെ കൊടàµà´¤àµà´¤à´¿à´°à´¿à´•àµà´•àµà´¨àµà´¨ കൂടàµà´Ÿàµ½ à´•àµà´°à´¿à´¯à´¯àµà´Ÿàµ† ഉതàµà´¤à´°à´‚ താഴെയàµà´³àµà´³ പെടàµà´Ÿà´¿à´¯à´¿àµ½ à´Žà´´àµà´¤àµà´• ([[Special:Captcha/help|കൂടàµà´¤àµ½ വിവരങàµà´™àµ¾]]):', 'captcha-sendemail' => 'യാനàµà´¤àµà´°à´¿à´•à´®à´¾à´¯ പാഴെഴàµà´¤àµà´¤àµ ഉൾപàµà´ªàµ†à´Ÿàµà´¤àµà´¤àµà´¨àµà´¨à´¤à´¿àµ½ നിനàµà´¨àµà´‚ വികàµà´•à´¿ സംരകàµà´·à´¿à´•àµà´•àµà´¨àµà´¨à´¤à´¿à´¨àµà´±àµ† à´à´¾à´—മായി, ദയവായി താഴെ കൊടàµà´¤àµà´¤à´¿à´°à´¿à´•àµà´•àµà´¨àµà´¨ ലഘൠഗണിത à´•àµà´°à´¿à´¯ ചെയàµà´¤àµ, ഉതàµà´¤à´°à´‚ പെടàµà´Ÿà´¿à´¯à´¿àµ½ à´Žà´´àµà´¤àµà´• ([[Special:Captcha/help|കൂടàµà´¤àµ½ വിവരങàµà´™àµ¾]]):', - 'captcha-sendemail-fail' => 'തെറàµà´±à´¾à´¯à´¤àµ‹ à´²à´àµà´¯à´®à´²àµà´²à´¾à´¤àµà´¤à´¤àµ‹ ആയ à´¸àµà´¥à´¿à´°àµ€à´•à´°à´£ കോഡàµ.', + 'captcha-sendemail-fail' => 'തെറàµà´±à´¾à´¯à´¤àµ‹ à´²à´àµà´¯à´®à´²àµà´²à´¾à´¤àµà´¤à´¤àµ‹ ആയ കാപàµà´šàµà´š.', 'captcha-disabledinapi' => 'à´ˆ à´ªàµà´°à´µàµƒà´¤àµà´¤à´¿ പൂർണàµà´£à´®à´¾à´•à´¾àµ» കാപàµà´š ആവശàµà´¯à´®à´¾à´£àµ, à´…à´¤àµà´•àµŠà´£àµà´Ÿà´¿à´¤àµ à´Ž.പി.à´. ഉപയോഗിചàµà´šàµ ചെയàµà´¯à´¾àµ» കഴിയിലàµà´².', 'captchahelp-title' => 'കാപàµà´šàµà´š സഹായം', 'captchahelp-cookies-needed' => 'ഇതൠപàµà´°à´µàµ¼à´¤àµà´¤à´¿à´•àµà´•à´£à´®àµ†à´™àµà´•à´¿àµ½ താങàµà´•à´³àµà´Ÿàµ† à´¬àµà´°àµ—സറിൽ à´•àµà´•àµà´•à´¿à´•àµ¾ സജàµà´œàµ€à´•à´°à´¿à´šàµà´šà´¿à´°à´¿à´•àµà´•à´£à´‚.', @@ -2705,6 +2735,7 @@ $messages['nan'] = array( /** Norwegian BokmÃ¥l (norsk bokmÃ¥l) * @author Audun * @author Danmichaelo + * @author Event * @author Laaknor * @author Nghtwlkr */ @@ -2712,13 +2743,14 @@ $messages['nb'] = array( 'captcha-edit' => 'Skriv inn summen nedenfor i boksen for Ã¥ kunne redigere denne siden ([[Special:Captcha/help|mer informasjon]]):', 'captcha-desc' => 'Gir tilgang til CAPTCHA-teknikker for Ã¥ beskytte mot søppl og passordgjetting', 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Din redigering inneholder nye eksterne lenker. Løs det enkle regnestykket i boksen nedenfor for Ã¥ hjelpe oss Ã¥ beskytte oss mot automatisk spam ([[Special:Captcha/help|mer informasjon]]):', # Fuzzy - 'captcha-badlogin' => 'Løs det enkle regnestykket i boksen nedenfor for Ã¥ hjelpe oss Ã¥ beskytte oss mot automatisk passordtyveri ([[Special:Captcha/help|mer informasjon]]):', # Fuzzy - 'captcha-createaccount' => 'Løs det enkle regnestykket i boksen nedenfor for Ã¥ hjelpe oss Ã¥ beskytte oss mot automatisk kontoopprettelse ([[Special:Captcha/help|mer informasjon]]):', # Fuzzy - 'captcha-createaccount-fail' => 'Feil eller manglende bekreftelseskode.', + 'captcha-addurl' => 'Din redigering inneholder nye eksterne lenker. +Løs den enkle summeringen i boksen nedenfor for Ã¥ beskytte mot automatisk spam ([[Special:Captcha/help|Mer informasjon]]):', + 'captcha-badlogin' => 'Løs den enkle summeringen i boksen nedenfor for Ã¥ beskytte mot automatisk passordtyveri ([[Special:Captcha/help|Mer informasjon]]):', + 'captcha-createaccount' => 'Løs den enkle summeringen i boksen nedenfor for Ã¥ beskytte mot automatisk kontoopprettelse ([[Special:Captcha/help|Mer informasjon]]):', + 'captcha-createaccount-fail' => 'Feil eller manglende CAPTCHA-svar.', 'captcha-create' => 'Løs det enkle regnestykket i boksen nedenfor for Ã¥ opprette siden ([[Special:Captcha/help|mer informasjon]]):', - 'captcha-sendemail' => 'Løs det enkle regnestykket i boksen nedenfor for Ã¥ hjelpe oss Ã¥ beskytte oss mot automatisk spamming ([[Special:Captcha/help|mer informasjon]]):', # Fuzzy - 'captcha-sendemail-fail' => 'Ukorrekt eller manglende bekreftelseskode.', + 'captcha-sendemail' => 'Løs den enkle summeringen i boksen nedenfor for Ã¥ beskytte mot automatisk spamming ([[Special:Captcha/help|m\\Mer informasjon]]):', + 'captcha-sendemail-fail' => 'Feil eller manglende CAPTCHA-svar.', 'captcha-disabledinapi' => 'Denne handlinger krever en captcha, sÃ¥ den kan ikke bli gjort gjennom APIet.', 'captchahelp-title' => 'Hjelp med Captcha', 'captchahelp-cookies-needed' => 'Du mÃ¥ slÃ¥ pÃ¥ informasjonskapsler for at dette skal fungere.', @@ -2780,9 +2812,9 @@ Mit den „Trüch“-Knopp vun dien Browser kummst du trüch na dat Ännerfinste */ $messages['nds-nl'] = array( 'captcha-edit' => "Um disse zied te bewarken, mu'j eerst t antwoord op disse eenvoudige somme invullen ([[Special:Captcha/help|meer informasie]]):", - 'captcha-desc' => 'Biejt CAPTCHA-technieken um bescharming te biejen tegen moekpost en t raojen van wachtwoorden', + 'captcha-desc' => 'Biedt CAPTCHA-technieken um bescharming te biejen tegen spam en t raojen van wachtwoorden', 'captcha-addurl' => 'In joew bewarking staon nieje uutgaonde verwiezingen. -Vul ter de bescharming van disse wiki tegen automatiese moekpost t antwoord op de somme in, in t invoerveld dat hieronder steet, um joew bewarking op te slaon:<br /> +Vul ter de bescharming van disse wiki tegen automatiese moekbiedragen t antwoord op de somme in, in t invoerveld dat hieronder steet, um joew bewarking op te slaon:<br /> ([[Special:Captcha/help|meer informasie]])', 'captcha-badlogin' => 'Vul ter de bescharming van disse wiki tegen t automaties kraken van wachtwoorden t antwoord op de somme in, in t invoerveld ([[Special:Captcha/help|meer informasie]]):', 'captcha-createaccount' => 'Vul ter bescharming van disse wiki tegen t automaties anmaken van gebrukers t antwoord op de somme in, in t invoerveld ([[Special:Captcha/help|meer informasie]]):', @@ -2821,11 +2853,11 @@ Voer het antwoord op de onderstaande eenvoudige som in het invoervenster in ([[S Voer ter bescherming tegen geautomatiseerde spam het antwoord op de onderstaande eenvoudige som in in het invoerveld om uw bewerking op te slaan ([[Special:Captcha/help|meer informatie]]):", 'captcha-badlogin' => 'Los de onderstaande eenvoudige som op en voer het antwoord in het invoervenster in ter bescherming tegen het automatisch kraken van wachtwoorden ([[Special:Captcha/help|meer informatie]]):', 'captcha-createaccount' => 'Voer ter bescherming tegen het geautomatiseerd gebruikers aanmaken, het antwoord op de onderstaande eenvoudige som in in het invoervenster ([[Special:Captcha/help|meer informatie]]):', - 'captcha-createaccount-fail' => 'De bevestigingscode ontbreekt of is onjuist.', + 'captcha-createaccount-fail' => 'De CAPTCHA ontbreekt of is onjuist.', 'captcha-create' => 'U wilt een nieuwe pagina aanmaken. Voer het antwoord op de onderstaande eenvoudige som in het invoervenster in ([[Special:Captcha/help|meer informatie]]):', 'captcha-sendemail' => 'Voer ter bescherming tegen geautomatiseerde spam het antwoord op de onderstaande eenvoudige som in het invoervenster in ([[Special:Captcha/help|meer informatie]]):', - 'captcha-sendemail-fail' => 'De bevestigingscode ontbreekt of is onjuist.', + 'captcha-sendemail-fail' => 'De CAPTCHA ontbreekt of is onjuist.', 'captcha-disabledinapi' => 'Voor deze handeling is een captcha nodig die niet afgehandeld kan worden via de API.', 'captchahelp-title' => 'Captcha-hulppagina', 'captchahelp-cookies-needed' => 'U dient in uw browser cookies ingeschakeld te hebben om dit te laten werken.', @@ -2910,9 +2942,10 @@ Trykk pÃ¥ «attende»-knappen for Ã¥ kome tilbake til endringssida.', */ $messages['oc'] = array( 'captcha-edit' => "Per modificar aquesta pagina, vos cal efectuar lo calcul çaijós e n'inscriure lo resultat dins lo camp ([[Special:Captcha/help|Mai d’entresenhas]]) :", - 'captcha-desc' => 'Implementacion captcha simpla', # Fuzzy + 'captcha-desc' => 'Ofèrta de tecnicas CAPTCHA per protegir contra lo spam e la descobèrta dels senhals per ensages multiples', 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => "Vòstra modificacion inclutz de ligams URL novèla ; per empachar las connexions automatizadas, vos cal picar los mots que s’afichan dins l’imatge que seguÃs : <br />([[Special:Captcha/help|Qu'es aquò?]])", # Fuzzy + 'captcha-addurl' => "Vòstra modificacion inclutz de ligams extèrnes. +Per nos ajudar dins la proteccion contra lo corrièr indesirable automatizat, calculatz l'operacion simpla çaijós e inscrivissètz-ne lo resultat dins lo camp ([[Special:Captcha/help|mai d'informacions]]) :", 'captcha-badlogin' => "Per ensajar de contornar las temptativas de cracatge de senhals automatizadas per de robòts, recopiatz lo tèxte çaijós dins la bóstia de tèxte plaçada al dejós d'aqueste. ([[Special:Captcha/help|Mai d’entresenhas]])", # Fuzzy 'captcha-createaccount' => 'Coma proteccion contra las creacions de compte abusivas, entratz lo resultat de l’addicion dins la bóstia çaijós:<br /> ([[Special:Captcha/help|mai d’entresenhas]])', # Fuzzy @@ -3052,11 +3085,11 @@ e ch'a buta l'arzulta ant ël quadrèt ([[Special:Captcha/help|për savejne dë 'captcha-badlogin' => "Për goerné la wiki da ij programa ch'a fan ciav fà usse n'automà tich, i-j ciamoma për piasì ch'a fasa ël total ambelessì-sota e ch'a buta l'arzultà ant ël quadrèt ([[Special:Captcha/help|për savejne dë pì]]):", 'captcha-createaccount' => "Për goerné la wiki da ij programa ch'a deurbo dij cont n'automà tich, i-j ciamoma për piasì ch'a fasa ël total ambelessì-sota e ch'a buta l'arzultà ant ël quadrèt ([[Special:Captcha/help|për savejne dë pì]]):", - 'captcha-createaccount-fail' => "Ël còdes ëd verìfica ò ch'a manca d'autut ò ch'a l'é pa bon.", + 'captcha-createaccount-fail' => "Ël còde tërbol ò ch'a manca d'autut ò ch'a l'é pa bon.", 'captcha-create' => "Për creé d'amblé sta pà gina-sì, për piasì ch'a fasa ël total ambelessì sota e ch'a buta l'arzultà <br /> ant ël quadrèt ([[Special:Captcha/help|për savejne dë pì]]):", 'captcha-sendemail' => "Për protegi la wiki contra la rumenta automà tica, i-j ciamoma për piasì ch'a fasa l'adission sempia sì-sota e ch'a buta l'arspòsta ant la casela ([[Special:Captcha/help|për savèjne ëd pi]]):", - 'captcha-sendemail-fail' => "Ël còdes ëd verìfica ò ch'a manca d'autut ò ch'a l'é pa bon.", + 'captcha-sendemail-fail' => "Ël còdes tërbol ò ch'a manca d'autut ò ch'a l'é pa bon.", 'captcha-disabledinapi' => "St'assion-sì a ciama na captcha, parèj a peul pa esse fà ita con na API.", 'captchahelp-title' => 'Còs é-lo mai ës captcha?', 'captchahelp-cookies-needed' => "Për podej dovré sossì a l'ha da manca che sò navigator (browser) a pija ij cookies.", @@ -3186,10 +3219,10 @@ $messages['pt-br'] = array( Como prevenção contra sistemas automatizados que inserem spam, será necessário resolver a simples soma abaixo e inserir sua resposta no respectivo campo ([[Special:Captcha/help|detalhes]])', 'captcha-badlogin' => 'Como prevenção contra sistemas automatizados de pesquisa e descoberta de senhas, será necessário resolver a simples soma abaixo e inserir sua resposta no respectivo campo ([[Special:Captcha/help|detalhes]])', 'captcha-createaccount' => 'Para proteger a wiki contra sistemas automatizados de criação de contas, solicitamos que resolva a soma simples apresentada abaixo e introduza a resposta no respectivo campo ([[Special:Captcha/help|mais informações]]):', - 'captcha-createaccount-fail' => 'Código de confirmação incorreto ou não preenchido.', + 'captcha-createaccount-fail' => 'Código de confirmação incorreto ou não preenchido.', # Fuzzy 'captcha-create' => 'Para criar a página, por favor resolva a simples soma abaixo e entre com a resposta no respectivo campo ([[Special:Captcha/help|o que é isto?]])', 'captcha-sendemail' => 'Como proteção ao wiki contra spam automatizado, será necessário resolver a simples soma abaixo e inserir sua resposta no respectivo campo ([[Special:Captcha/help|detalhes]]):', - 'captcha-sendemail-fail' => 'Código de confirmação incorreto ou não preenchido.', + 'captcha-sendemail-fail' => 'Código CAPTCHA incorreto ou não preenchido.', 'captcha-disabledinapi' => 'Esta operação necessita de captcha, por isso não pode ser realizada através da API.', 'captchahelp-title' => 'Ajuda com o Captcha', 'captchahelp-cookies-needed' => 'Você precisa ter cookies habilitados em seu navegador para que possa funcionar', @@ -3216,6 +3249,7 @@ Pressione o botão 'voltar' de seu navegador para retornar à página de ediçã * @author AlimanRuna */ $messages['qu'] = array( + 'captcha-badlogin' => 'Wikita kikinmanta millay ruraq yaykuna rima chamqaymanta amachanapaqqa, kay qatiq yapayta ruraspa yapasqata kahachapi yaykuchiy ([[Special:Captcha/help|astawan yachay]]):', 'captchahelp-title' => 'Captcha nisqamanta yanapay', ); @@ -3479,10 +3513,48 @@ Fari clic supra ô buttuni 'back' dû browser pi turnari a la pà ggina di mudìf ); /** Scots (Scots) + * @author John Reid * @author OchAyeTheNoo */ $messages['sco'] = array( - 'captcha-edit' => 'Tae edit this airticle, please dae the eisy sum ablo an put the answer in the box ([[Special:Captcha/help|mair info]])', # Fuzzy + 'captcha-edit' => 'Tae edit this page, please solve the simple sum ablow an enter the answer in the box ([[Special:Captcha/help|more info]]):', + 'captcha-desc' => 'Provides CAPTCHA techniques fer tae protect again spam an passwaird-guessin', + 'captcha-label' => 'CAPTCHA.', + 'captcha-addurl' => 'Yer eidit inclædes new external airtins. +Tae protect the wiki again autæmated spam, we kindly ask ye tae solve the symple sum ablow an enter the answer in the box in order tae save yer eidit ([[Special:Captcha/help|mair info]]):', + 'captcha-badlogin' => 'Tae protect the wiki fae autaemated passwaird cracking, we kindly ask ye tae solve the symple sum ablow an enter the answer in the box ([[Special:Captcha/help|mair info]]):', + 'captcha-createaccount' => 'Tae protect the wiki fae autæmated accoont creation, we kindly ask ye tae solve the symple sum ablow an enter the answer in the box ([[Special:Captcha/help|mair info]]):', + 'captcha-createaccount-fail' => 'Oncorrect or missing CAPTCHA.', + 'captcha-create' => 'Tae mak the page, please solve the symple sum ablow an enter the answer in the box ([[Special:Captcha/help|mair info]]):', + 'captcha-sendemail' => 'Tae protect the wiki fae autæmated spamming, we kindly ask ye tae solve the symple sum ablow an enter the answer in the box ([[Special:Captcha/help|mair info]]):', + 'captcha-sendemail-fail' => 'Oncorrect or missing CAPTCHA.', + 'captcha-disabledinapi' => 'This action needs ae CAPTCHA, sae it canna be performed through the API.', + 'captchahelp-title' => 'CAPTCHA heelp', + 'captchahelp-cookies-needed' => "Ye'll need tae haee cookies enabled in yer brouser fer this tae wairk.", + 'captchahelp-text' => 'Wab sites that accept postings fae the public, like this wiki, ar aften abused bi spammers wha uise autaemated tuils tae post their links til moni sites. +While these spam links can be remuived, they ar ae signeeficant nuisance. + +Sometimes, especially whan adding new wab links til ae page, the wiki micht shaw ye aen eimage o coloured or distorted tex an ask ye tae type the wairds shawn. +Syne this is ae task that\'s hard tae autæmate, it will allou maist real bodies tae mak their posts while stapping maist spammers an ither robotic attackers. + +Onfortunately this can inconvenience uisers with limited vision or uising tex-based or speech-based brousers. +At the moment we dinna hae aen audio alternative available. +Please contact the [[Special:ListAdmins|site admeenistraters]] fer assistance gif this is onexpectedly preventin ye fae makin legeetimate actions. + +Hit the "back" button in yer brouser tae return til the page eiditer.', + 'captcha-addurl-whitelist' => ' #<!-- lea this line exactly aes it is --> <pre> +# Syntax is aes follows: +# * Awthin fae ae "#" chairacter til the end o the line is ae comment +# * Ilka no-blank line is ae regex fragment that will yinly match hosts inside URLs + #</pre> <!-- lea this line exactly aes it is -->', + 'right-skipcaptcha' => 'Perform CAPTCHA-triggering actions wiout haein tae gae through the CAPTCHA', +); + +/** Serbo-Croatian (srpskohrvatski / ÑрпÑкохрватÑки) + * @author Kolega2357 + */ +$messages['sh'] = array( + 'captcha-createaccount-fail' => 'NetaÄan unos ili nedostatak koda za potvrÄ‘ivanje.', ); /** Sinhala (සිංහල) @@ -3632,6 +3704,7 @@ Shtypni butonin "prapa" ("back") të shfletuesit tuaj për tu kthyer tek faqja e ); /** Serbian (Cyrillic script) (ÑрпÑки (ћирилица)‎) + * @author Milicevic01 * @author Millosh * @author Rancher */ @@ -3641,31 +3714,46 @@ $messages['sr-ec'] = array( 'captcha-addurl' => 'Ваша измена Ñадржи нове Ñпољашње везе. У циљу заштите од непожељних порука, решите проÑту рачуницу иÑпод и унеÑите одговор у поље ([[Special:Captcha/help|више информација]]):', # Fuzzy 'captcha-badlogin' => 'У циљу заштите од пробијања лозинки, решите проÑту рачуницу иÑпод и унеÑите одговор у поље ([[Special:Captcha/help|више информација]]):', # Fuzzy - 'captcha-createaccount' => 'У циљу заштите од Ñамоотварања налога, решите проÑту рачуницу иÑпод и унеÑите одговор у поље ([[Special:Captcha/help|више информација]]):', # Fuzzy - 'captcha-createaccount-fail' => 'Ðеправилан или непоÑтојећи код за потврду.', + 'captcha-createaccount' => 'У циљу заштите од аутоматизованог вандализма, решите проÑту рачуницу иÑпод и унеÑите одговор у поље ([[Special:Captcha/help|више информација]]):', + 'captcha-createaccount-fail' => 'Ðеправилан или непоÑтојећи код за потврду.', # Fuzzy 'captcha-create' => 'Да биÑте направили Ñтраницу, решите проÑту рачуницу иÑпод и унеÑите одговор у поље ([[Special:Captcha/help|више информација]]):', 'captcha-sendemail' => 'У циљу заштите од Ñлања непожељних порука, решите проÑту рачуницу иÑпод и унеÑите одговор у поље ([[Special:Captcha/help|више информација]]):', # Fuzzy - 'captcha-sendemail-fail' => 'Ðеправилан или непоÑтојећи код за потврду.', - 'captchahelp-title' => 'Помоћ око потврдног кôда', + 'captcha-sendemail-fail' => 'Ðеправилан или непоÑтојећи код за потврду.', # Fuzzy + 'captchahelp-title' => 'Помоћ око потврдног кoда', 'captchahelp-cookies-needed' => 'Потребно је да омогућите колачиће да би ово радило.', + 'captchahelp-text' => 'Веб-Ñајтове који подржавају Ñлање Ñадржаја из јавноÑти, као што је овај вики, чеÑто злоупотребљавају вандали који кориÑте аутоматизоване алате да шаљу Ñвоје повезнице ка многим Ñајтовима. Иако Ñе ове нежељене повезнице могу уклонити, оне задају велику муку. + +Понекад, поготово када Ñе додају нове интернет повезнице на Ñтрану, вики Ñофтвер вам може показати Ñлику обојеног и изврнутог текÑта и тражити да укуцате тражену реч. Пошто је тешко аутоматизовати овакав задатак, он омогућује Ñвим правим људима да врше Ñвоје измене, али ће зато Ñпречити вандале и оÑтале роботÑке нападаче. + +ÐажалоÑÑ‚, ово може да буде неповољно за кориÑнике Ñа ограниченим видом и за оне који кориÑте прегледаче базиране на текÑту или говору. У овом тренутку, аудио алтернатива није доÑтупна. Молимо контактирајте админиÑтраторе Ñајта ради помоћи ако Ð²Ð°Ñ Ð¾Ð²Ð¾ неочекивано омета у прављењу добрих измена. + +Кликните на дугме „назад“ вашег прегледача да Ñе вратите на поље за ÑƒÐ½Ð¾Ñ Ñ‚ÐµÐºÑта.', # Fuzzy 'right-skipcaptcha' => 'преÑкакање радњи које захтевају ÑƒÐ½Ð¾Ñ Ð¿Ð¾Ñ‚Ð²Ñ€Ð´Ð½Ð¾Ð³ кода', ); /** Serbian (Latin script) (srpski (latinica)‎) * @author Michaello + * @author Milicevic01 */ $messages['sr-el'] = array( 'captcha-edit' => 'Za izmenu ove strane, reÅ¡i jednostavan zbri ispod i unesi odgovor u kutiju ([[Special:Captcha/help|detaljnije]]):', 'captcha-desc' => 'Pruža zaÅ¡titu protiv nepoželjnih poruka u vidu potvrdnog koda', 'captcha-addurl' => 'Tvoja izmena ukljuÄuje nove spoljaÅ¡nje veze. U cilju zaÅ¡tite protiv automatskog spama, reÅ¡i jednostavan zbir ispod i upiÅ¡i odgovor u kutiju ([[Special:Captcha/help|detaljnije]]):', # Fuzzy 'captcha-badlogin' => 'U cilju zaÅ¡tite od automatske provale u lozinku, reÅ¡i jednostavan zbir ispod i unesi odgovor u kutiju ([[Special:Captcha/help|detaljnije]]):', # Fuzzy - 'captcha-createaccount' => 'U cilju zaÅ¡tite od automatskog stvaranja naloga, reÅ¡i jednostavan zbir dole i unesi ga u kutiju ([[Special:Captcha/help|detaljnije]]):', # Fuzzy - 'captcha-createaccount-fail' => 'Nepravilan ili nepostojeći kod za potvrdu.', + 'captcha-createaccount' => 'U cilju zaÅ¡tite od automatizovanog vandalizma, reÅ¡ite prostu raÄunicu ispod i unesite odgovor u polje ([[Special:Captcha/help|viÅ¡e informacija]]):', + 'captcha-createaccount-fail' => 'Nepravilan ili nepostojeći kod za potvrdu.', # Fuzzy 'captcha-create' => 'Za stvaranje strane reÅ¡i jednostavan zbir dole i unesi ga u kutiju ([[Special:Captcha/help|detaljnije]]):', - 'captcha-sendemail-fail' => 'Nepravilan ili nepostojeći kod za potvrdu.', - 'captchahelp-title' => 'pomoć za kapÄu', + 'captcha-sendemail-fail' => 'Nepravilan ili nepostojeći kod za potvrdu.', # Fuzzy + 'captchahelp-title' => 'Pomoć oko potvrdnog koda', 'captchahelp-cookies-needed' => 'Da bi ovo uradio, neophodno je da su ti kolaÄići omogućeni u brauzeru.', - 'right-skipcaptcha' => 'Izvedi akcije kapÄe bez potrebe da se proÄ‘e kroz kapÄu.', + 'captchahelp-text' => 'Veb-sajtove koji podržavaju slanje sadržaja iz javnosti, kao Å¡to je ovaj viki, Äesto zloupotrebljavaju vandali koji koriste automatizovane alate da Å¡alju svoje poveznice ka mnogim sajtovima. Iako se ove neželjene poveznice mogu ukloniti, one zadaju veliku muku. + +Ponekad, pogotovo kada se dodaju nove internet poveznice na stranu, viki softver vam može pokazati sliku obojenog i izvrnutog teksta i tražiti da ukucate traženu reÄ. PoÅ¡to je teÅ¡ko automatizovati ovakav zadatak, on omogućuje svim pravim ljudima da vrÅ¡e svoje izmene, ali će zato spreÄiti vandale i ostale robotske napadaÄe. + +Nažalost, ovo može da bude nepovoljno za korisnike sa ograniÄenim vidom i za one koji koriste pregledaÄe bazirane na tekstu ili govoru. U ovom trenutku, audio alternativa nije dostupna. Molimo kontaktirajte administratore sajta radi pomoći ako vas ovo neoÄekivano ometa u pravljenju dobrih izmena. + +Kliknite na dugme „nazad“ vaÅ¡eg pregledaÄa da se vratite na polje za unos teksta.', # Fuzzy + 'right-skipcaptcha' => 'preskakanje radnji koje zahtevaju unos potvrdnog koda', ); /** Seeltersk (Seeltersk) @@ -3734,6 +3822,7 @@ Hit the 'back' button in your browser to return to the page editor.", # Fuzzy * @author Martinwiss * @author Per * @author Rotsee + * @author WikiPhoenix */ $messages['sv'] = array( 'captcha-edit' => 'För att redigera den här sidan mÃ¥ste du först skriva svaret pÃ¥ följande @@ -3743,11 +3832,11 @@ räkneuppgift i rutan ([[Special:Captcha/help|mer information]]):', 'captcha-addurl' => 'Din ändring innebär nya externa länkar i texten. För att skydda wikin mot automatisk spam mÃ¥ste du skriva svaret pÃ¥ följande räkneuppgift i rutan ([[Special:Captcha/help|mer information]]):', 'captcha-badlogin' => 'För att skydda mot wikin mot försök att knäcka lösenord pÃ¥ automatisk väg, mÃ¥ste du skriva svaret pÃ¥ följande räkneuppgift i rutan ([[Special:Captcha/help|mer information]]):', 'captcha-createaccount' => 'För att skydda wikin mot automatiskt skapade användarkonton, mÃ¥ste du skriva svaret pÃ¥ följande räkneuppgift i rutan ([[Special:Captcha/help|mer information]]):', - 'captcha-createaccount-fail' => 'Bekräftelsekoden är felaktig eller saknas.', + 'captcha-createaccount-fail' => 'Felaktig eller saknad CAPTCHA.', 'captcha-create' => 'För att skapa den här sidan mÃ¥ste du skriva svaret pÃ¥ följande räkneuppgift i rutan ([[Special:Captcha/help|mer information]]):', 'captcha-sendemail' => 'För att skydda wikin mot spam, ber vi dig att lösa den här enkla räkneuppgiften, och skriva in svaret i rutan ([[Special:Captcha/help|mer information]]):', - 'captcha-sendemail-fail' => 'Felaktig eller saknad bekräftelsekod.', + 'captcha-sendemail-fail' => 'Felaktig eller saknad CAPTCHA.', 'captcha-disabledinapi' => 'Denna Ã¥tgärd kräver en captcha, sÃ¥ den kan inte utföras genom APIet.', 'captchahelp-title' => 'Captchahjälp', 'captchahelp-cookies-needed' => 'Du mÃ¥ste ha cookies aktiverade i din webbläsare för att det här ska fungera.', @@ -3977,13 +4066,13 @@ $messages['tr'] = array( 'captcha-desc' => 'Spam ve parola tahminine karşı korunmak için "Güvenlik Kodu" (CAPTCHA) tekniÄŸi saÄŸlar.', 'captcha-label' => 'Güvenlik Kodu', 'captcha-addurl' => 'DeÄŸiÅŸikliÄŸiniz yeni dış baÄŸlantılar içeriyor. -Otomatik spamdan korunmak için lütfen aÅŸağıdaki basit soruyu yanıtlayın ve yanıtı kutunun içine yazın ([[Special:Captcha/help|ayrıntılı bilgi]]):', # Fuzzy - 'captcha-badlogin' => 'Otomatik parola çözülmesine karşı korunmak için, lütfen aÅŸağıdaki basit soruyu yanıtlayın ve kutunın içinde yanıtı yazın ([[Special:Captcha/help|ayrıntılı bilgi]]):', # Fuzzy - 'captcha-createaccount' => 'Otomatik hesap oluÅŸturmaya karşı korunmak için, lütfen aÅŸağıdaki basit soruyu yanıtlayın ve kutunın içinde yanıtı yazın ([[Special:Captcha/help|ayrıntılı bilgi]]):', # Fuzzy - 'captcha-createaccount-fail' => 'Hatalı ya da eksik onay kodu.', +Vikiyi otomatik spamdan korumak ve deÄŸiÅŸikliÄŸinizi kaydetmek için, aÅŸağıdaki basit toplamı çözmenizi ve yanıtı kutunun içine yazmanızı rica ediyoruz ([[Special:Captcha/help|ayrıntılı bilgi]]):', + 'captcha-badlogin' => 'Vikiyi otomatik parola çözülmesine karşı korumak için, aÅŸağıdaki basit toplamı çözmenizi ve yanıtı kutunun içine yazmanızı rica ediyoruz ([[Special:Captcha/help|ayrıntılı bilgi]]):', + 'captcha-createaccount' => 'Vikiyi otomatik hesap oluÅŸturmaya karşı korumak için, aÅŸağıdaki basit toplamı çözmenizi ve yanıtı kutunun içine yazmanızı rica ediyoruz ([[Special:Captcha/help|ayrıntılı bilgi]]):', + 'captcha-createaccount-fail' => 'Hatalı ya da eksik CAPTCHA.', 'captcha-create' => 'Bu sayfayı oluÅŸturmak için, lütfen aÅŸağıdaki basit soruyu yanıtlayın ve kutunun içinde yanıtı yazın ([[Special:Captcha/help|ayrıntılı bilgi]]):', - 'captcha-sendemail' => 'Otomatik spamlara karşı korunmaya yardımcı olmak için, lütfen aÅŸağıdaki basit iÅŸlemi çözün ve yanıtı kutuya yazın ([[Special:Captcha/help|ayrıntılı bilgi]]):', # Fuzzy - 'captcha-sendemail-fail' => 'Hatalı ya da eksik onay kodu.', + 'captcha-sendemail' => 'Vikiyi otomatik spamlara karşı korumaya yardımcı olmak için, aÅŸağıdaki basit toplamı çözmenizi ve yanıtı kutunun içine yazmanızı rica ediyoruz ([[Special:Captcha/help|ayrıntılı bilgi]]):', + 'captcha-sendemail-fail' => 'Hatalı ya da eksik CAPTCHA.', 'captcha-disabledinapi' => 'Bu eylem güvenlik kodu gerektiriyor, dolayısıyla API aracılığıyla yapılamaz.', 'captchahelp-title' => 'Güvenlik kodu yardımı', 'captchahelp-cookies-needed' => 'Bunun çalışabilmesi için tarayıcınızın çerezleri etkinleÅŸtirilmelidir.', @@ -4012,6 +4101,7 @@ $messages['tru'] = array( /** Ukrainian (українÑька) * @author Ahonc * @author Alex Khimich + * @author Andriykopanytsia * @author NickK * @author Olvin * @author Riwnodennyk @@ -4026,10 +4116,10 @@ $messages['uk'] = array( Із метою захиÑту від автоматичного Ñпаму, будь лаÑка, виконайте проÑту арифметичну дію Ñ– введіть відповідь у текÑтове поле, щоб Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð±ÑƒÐ»Ð¾ збережене ([[Special:Captcha/help|докладніше]]):', 'captcha-badlogin' => 'Із метою захиÑту від автоматичного злому паролÑ, будь лаÑка, виконайте проÑту арифметичну дію Ñ– введіть відповідь у текÑтове поле ([[Special:Captcha/help|докладніше]]):', 'captcha-createaccount' => 'Із метою захиÑту від автоматичного ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±Ð»Ñ–ÐºÐ¾Ð²Ð¾Ð³Ð¾ запиÑу проÑимо виконати проÑту арифметичну дію Ñ– ввеÑти відповідь у текÑтове поле ([[Special:Captcha/help|докладніше]]):', - 'captcha-createaccount-fail' => 'Ðеправильний або відÑутній код підтвердженнÑ.', + 'captcha-createaccount-fail' => 'Ðеправильна або відÑÑƒÑ‚Ð½Ñ ÐºÐ°Ð¿Ñ‡Ð°.', 'captcha-create' => 'Щоб Ñтворити Ñторінку, будь лаÑка, виконайте проÑту арифметичну дію Ñ– введіть відповідь у текÑтове поле ([[Special:Captcha/help|докладніше]]):', 'captcha-sendemail' => "Із метою захиÑту вікі від автоматичного Ñпаму проÑимо розв'Ñзати проÑтий математичний приклад Ñ– ввеÑти відповідь ([[Special:Captcha/help|деталі]]):", - 'captcha-sendemail-fail' => 'Ðеправильний або відÑутній код підтвердженнÑ.', + 'captcha-sendemail-fail' => 'Ðеправильна або відÑÑƒÑ‚Ð½Ñ ÐºÐ°Ð¿Ñ‡Ð°.', 'captcha-disabledinapi' => 'Ð¦Ñ Ð´Ñ–Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” перевірки CAPTCHA, тому не може бути здійÑнена за допомогою API.', 'captchahelp-title' => 'Довідка про CAPTCHA', 'captchahelp-cookies-needed' => 'Вам потрібно ввімкнути куки у браузері, щоб Ñ†Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Ð·Ð°Ð¿Ñ€Ð°Ñ†ÑŽÐ²Ð°Ð»Ð°.', @@ -4095,11 +4185,11 @@ $messages['vi'] = array( 'captcha-addurl' => 'Sá»a đổi của bạn có chứa các liên kết ra bên ngoà i. Äể tránh spam tá»± Ä‘á»™ng trong wiki, xin bạn vui lòng giải phép toán Ä‘Æ¡n giản ở dÆ°á»›i và nháºp kết quả và o ô để lÆ°u giữ các sá»a đổi của bạn ([[Special:Captcha/help|thông tin thêm]]):', 'captcha-badlogin' => 'Äể tránh vụ tá»± Ä‘á»™ng bẻ máºt khẩu của ngÆ°á»i dùng wiki, xin bạn vui lòng giải phép cá»™ng Ä‘Æ¡n giản ở dÆ°á»›i và nháºp kết quả và o ô ([[Special:Captcha/help|thông tin thêm]]):', 'captcha-createaccount' => 'Äể tránh vụ tá»± Ä‘á»™ng mở tà i khoản trong wiki, xin bạn vui lòng giải phép cá»™ng Ä‘Æ¡n giản ở dÆ°á»›i và nháºp kết quả và o ô ([[Special:Captcha/help|thông tin thêm]]):', - 'captcha-createaccount-fail' => 'Thiếu mã xác nháºn hoặc mã xác nháºn sai.', + 'captcha-createaccount-fail' => 'CAPTCHA bị thiếu hoặc không chÃnh xác.', 'captcha-create' => 'Äể tạo má»›i trang, xin hãy giải phép cá»™ng Ä‘Æ¡n giản ở dÆ°á»›i và gõ câu trả lá»i và o ô ([[Special:Captcha/help|thông tin thêm]]):', 'captcha-sendemail' => 'Äể xác nháºn rằng bạn không phải là tay spam, xin bạn vui lòng giải phép cá»™ng Ä‘Æ¡n giản ở dÆ°á»›i và nháºp kết quả và o ô ([[Special:Captcha/help|thông tin thêm]]):', - 'captcha-sendemail-fail' => 'Mã xác nháºn không chÃnh xác hoặc chÆ°a được cung cấp.', + 'captcha-sendemail-fail' => 'CAPTCHA bị thiếu hoặc không chÃnh xác.', 'captcha-disabledinapi' => 'Tác vụ nà y đòi ngÆ°á»i dùng giải CAPTCHA trÆ°á»›c tiên, nên không thể thá»±c hiện nó qua API.', 'captchahelp-title' => 'Trợ giúp Captcha', 'captchahelp-cookies-needed' => 'Bạn cần phải báºt cookie trong trình duyệt để chức năng nà y hoạt Ä‘á»™ng được.', @@ -4128,7 +4218,8 @@ Nhấn chuá»™t và o nút “Back†của trình duyệt để trở lại trang */ $messages['vo'] = array( 'captcha-edit' => 'Ad redakön yegedi at, dunolös, begö! saedami dono e penolös saedoti in bokil ([[Special:Captcha/help|nüns pluik]]):', - 'captcha-addurl' => 'Redakam olik keninükon yümis plödik nulik. Ad jelön siti ta peneds itjäfidik, dunolös, begö! saedami sököl, e penolös saedoti in bokil ([[Special:Captcha/help|nüns pluik]]):', # Fuzzy + 'captcha-addurl' => 'Redakam olik keninükon yümis plödik nulik. +Ad jelön siti ta peneds badik itjäfidik, dunolös, begö! saedami balugik sököl, e penolös saedoti in bokil ad dakipön redakam ola ([[Special:Captcha/help|nüns pluik]]):', 'captcha-badlogin' => 'Ad jelön siti ta daget itjäfidik letavödas, dunolös, begö! saedami sököl e penolös saedoti in bokil ([[Special:Captcha/help|nüns pluik]]):', # Fuzzy 'captcha-createaccount' => 'Ad jelön siti ta kalijafam itjäfidik, dunolös, begö! saedami sököl e penolös saedoti in bokil ([[Special:Captcha/help|nüns pluik]]):', # Fuzzy 'captcha-createaccount-fail' => 'Kot fümükama paneveräton u paseleton.', diff --git a/extensions/ConfirmEdit/ConfirmEdit.php b/extensions/ConfirmEdit/ConfirmEdit.php index d861a04a..f0836973 100644 --- a/extensions/ConfirmEdit/ConfirmEdit.php +++ b/extensions/ConfirmEdit/ConfirmEdit.php @@ -189,6 +189,8 @@ $wgHooks['EmailUser'][] = 'ConfirmEditHooks::confirmEmailUser'; $wgHooks['APIEditBeforeSave'][] = 'ConfirmEditHooks::confirmEditAPI'; $wgHooks['APIGetAllowedParams'][] = 'ConfirmEditHooks::APIGetAllowedParams'; $wgHooks['APIGetParamDescription'][] = 'ConfirmEditHooks::APIGetParamDescription'; +$wgHooks['AddNewAccountApiForm'][] = 'ConfirmEditHooks::addNewAccountApiForm'; +$wgHooks['AddNewAccountApiResult'][] = 'ConfirmEditHooks::addNewAccountApiResult'; $wgAutoloadClasses['ConfirmEditHooks'] = "$wgConfirmEditIP/ConfirmEditHooks.php"; $wgAutoloadClasses['SimpleCaptcha'] = "$wgConfirmEditIP/Captcha.php"; @@ -196,7 +198,6 @@ $wgAutoloadClasses['CaptchaStore'] = "$wgConfirmEditIP/CaptchaStore.php"; $wgAutoloadClasses['CaptchaSessionStore'] = "$wgConfirmEditIP/CaptchaStore.php"; $wgAutoloadClasses['CaptchaCacheStore'] = "$wgConfirmEditIP/CaptchaStore.php"; $wgAutoloadClasses['CaptchaSpecialPage'] = "$wgConfirmEditIP/ConfirmEditHooks.php"; -$wgAutoloadClasses['HTMLCaptchaField'] = "$wgConfirmEditIP/HTMLCaptchaField.php"; /** * Set up $wgWhitelistRead diff --git a/extensions/ConfirmEdit/ConfirmEditHooks.php b/extensions/ConfirmEdit/ConfirmEditHooks.php index bc85138d..af8b9c44 100644 --- a/extensions/ConfirmEdit/ConfirmEditHooks.php +++ b/extensions/ConfirmEdit/ConfirmEditHooks.php @@ -4,7 +4,7 @@ class ConfirmEditHooks { /** * Get the global Captcha instance * - * @return Captcha|SimpleCaptcha + * @return SimpleCaptcha */ static function getInstance() { global $wgCaptcha, $wgCaptchaClass; @@ -26,13 +26,21 @@ class ConfirmEditHooks { static function confirmEditAPI( $editPage, $newtext, &$resultArr ) { return self::getInstance()->confirmEditAPI( $editPage, $newtext, $resultArr ); } + + static function addNewAccountApiForm( $apiModule, $loginForm ) { + return self::getInstance()->addNewAccountApiForm( $apiModule, $loginForm ); + } + + static function addNewAccountApiResult( $apiModule, $loginPage, &$result ) { + return self::getInstance()->addNewAccountApiResult( $apiModule, $loginPage, $result ); + } static function injectUserCreate( &$template ) { return self::getInstance()->injectUserCreate( $template ); } - static function confirmUserCreate( $u, &$message ) { - return self::getInstance()->confirmUserCreate( $u, $message ); + static function confirmUserCreate( $u, &$message, &$status = null ) { + return self::getInstance()->confirmUserCreate( $u, $message, $status ); } static function triggerUserLogin( $user, $password, $retval ) { diff --git a/extensions/ConfirmEdit/FancyCaptcha.class.php b/extensions/ConfirmEdit/FancyCaptcha.class.php index d1c6a41f..e2dbb82b 100644 --- a/extensions/ConfirmEdit/FancyCaptcha.class.php +++ b/extensions/ConfirmEdit/FancyCaptcha.class.php @@ -14,7 +14,8 @@ class FancyCaptcha extends SimpleCaptcha { if ( !$backend ) { $backend = new FSFileBackend( array( 'name' => 'captcha-backend', - 'lockManager' => 'nullLockManager', + 'wikiId' => wfWikiId(), + 'lockManager' => new NullLockManager( array() ), 'containerPaths' => array( 'captcha-render' => $wgCaptchaDirectory ), 'fileMode' => 777 ) ); diff --git a/extensions/ConfirmEdit/FancyCaptcha.i18n.php b/extensions/ConfirmEdit/FancyCaptcha.i18n.php index 7f28d048..b5a262c8 100644 --- a/extensions/ConfirmEdit/FancyCaptcha.i18n.php +++ b/extensions/ConfirmEdit/FancyCaptcha.i18n.php @@ -37,7 +37,8 @@ $messages['qqq'] = array( 'fancycaptcha-create' => '{{Related|ConfirmEdit-create}}', 'fancycaptcha-edit' => '{{Related|ConfirmEdit-edit}}', 'fancycaptcha-sendemail' => '{{Related|ConfirmEdit-sendemail}}', - 'fancycaptcha-reload-text' => 'Prompts a click to get a new FancyCaptcha image.', + 'fancycaptcha-reload-text' => 'Prompts a click to get a new FancyCaptcha image. +{{Identical|Refresh}}', ); /** Gheg Albanian (Gegë) @@ -76,19 +77,21 @@ $messages['an'] = array( /** Arabic (العربية) * @author Aiman titi + * @author Asaifm * @author Meno25 */ $messages['ar'] = array( 'fancycaptcha-desc' => 'مولد Ùانسي كابتشا Ù„Confirm Edit', 'fancycaptcha-addurl' => 'تعديلك يتضمن وصلات خارجية جديدة. -للØماية من السبام الأوتوماتيكي، من Ùضلك أدخل الكلمات التي تظهر بالأسÙÙ„ ÙÙŠ الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', # Fuzzy - 'fancycaptcha-badlogin' => 'للمساعدة ÙÙŠ الØماية ضد سرقة كلمات السر، من Ùضلك أدخل الكلمات التي تظهر بالأسÙÙ„ ÙÙŠ الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', # Fuzzy - 'fancycaptcha-createaccount' => 'للمساعدة ÙÙŠ منع إنشاء Øسابات بطريقة أوتوماتيكية، قم من Ùضلك بإدخال الكلمات التي تظهر أدناه ÙÙŠ الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', # Fuzzy +للØماية من السخام الأوتوماتيكي، من Ùضلك أدخل الكلمات التي تظهر بالأسÙÙ„ ÙÙŠ الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', + 'fancycaptcha-badlogin' => 'للمساعدة ÙÙŠ الØماية ضد سرقة كلمات السر، من Ùضلك أدخل الكلمات التي تظهر أدناه ÙÙŠ الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', + 'fancycaptcha-createaccount' => 'للمساعدة ÙÙŠ منع إنشاء Øسابات بطريقة أوتوماتيكية، قم من Ùضلك بإدخال الكلمات التي تظهر أدناه ÙÙŠ الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', 'fancycaptcha-create' => 'لإنشاء الصÙØØ©ØŒ من Ùضلك أدخل الكلمات التي تظهر بالأسÙÙ„ ÙÙŠ الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', 'fancycaptcha-edit' => 'لتعديل هذه الصÙØØ©ØŒ من Ùضلك أدخل الكلمات التي تظهر بالأسÙÙ„ ÙÙŠ الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', - 'fancycaptcha-sendemail' => 'للمساعدة ÙÙŠ منع إنشاء Øسابات بطريقة أوتوماتيكية، قم من Ùضلك بإدخال الكلمات التي تظهر أدناه ÙÙŠ الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', # Fuzzy + 'fancycaptcha-sendemail' => 'للمساعدة ÙÙŠ منع إنشاء Øسابات بطريقة أوتوماتيكية، قم من Ùضلك بإدخال الكلمات التي تظهر أدناه ÙÙŠ الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', + 'fancycaptcha-reload-text' => 'تØديث', ); /** Egyptian Spoken Arabic (مصرى) @@ -272,7 +275,7 @@ $messages['cdo'] = array( * @author Умар */ $messages['ce'] = array( - 'fancycaptcha-addurl' => 'Хьан ниÑдар чохь керла арахьара хьажоригаш ÑŽ. Спамах лардала дерхар до лахахь гура чохь гайтан дешнаш Ñзъе ([[Special:Captcha/help|ма-дарра…]]):', # Fuzzy + 'fancycaptcha-addurl' => 'Хьан ниÑдар чохь керла арахьара хьажорагаш ÑŽ. Спамах лардала дехар до лахахь гура чохь гайтан дешнаш Ñзъе ([[Special:Captcha/help|ма-дарра…]]):', ); /** Sorani Kurdish (کوردی) @@ -282,21 +285,23 @@ $messages['ckb'] = array( 'fancycaptcha-createaccount' => 'بۆ یارمەتیدانی بەرگری Ù„Û• دروستکردنی خۆکاری ھەژمار، تکایە ئەو وشانە Ù„Û• خوارەوەدا دیارن Ù„Û• بۆکسەکەدا بنووسە ([[Special:Captcha/help|زانیاریی زۆرتر]]):', # Fuzzy ); -/** Czech (Äesky) +/** Czech (ÄeÅ¡tina) * @author Mormegil + * @author TchoÅ™ */ $messages['cs'] = array( 'fancycaptcha-desc' => 'PokroÄilý generátor captcha pro rozÅ¡ÃÅ™enà „Confirm Edit“', - 'fancycaptcha-addurl' => 'VaÅ¡e editace obsahuje nové odkazy formou URL; v zájmu ochrany pÅ™ed automatickým spamovánÃm musÃte opsat text z následujÃcÃho obrázku: ([[Special:Captcha/help|Co tohle znamená?]])', # Fuzzy - 'fancycaptcha-badlogin' => 'V rámci ochrany proti automatickým pokusům uhodnout heslo musÃte opsat text z následujÃcÃho obrázku. ([[Special:Captcha/help|Co tohle znamená?]])', # Fuzzy - 'fancycaptcha-createaccount' => 'V rámci ochrany pÅ™ed automatickým zakládánÃm úÄtů musÃte pro provedenà registrace opsat text z následujÃcÃho obrázku: ([[Special:Captcha/help|Co tohle znamená?]])', # Fuzzy + 'fancycaptcha-addurl' => 'VaÅ¡e editace obsahuje nové odkazy formou URL. +Abychom wiki ochránili pÅ™ed automatizovaným spamovánÃm, žádáme vás o opsánà textu z následujÃcÃho obrázku ([[Special:Captcha/help|vÃce informacÃ]]):', + 'fancycaptcha-badlogin' => 'Abychom wiki ochránili proti automatizovaným pokusům uhodnout heslo, žádáme vás o opsánà textu z následujÃcÃho obrázku ([[Special:Captcha/help|vÃce informacÃ]]):', + 'fancycaptcha-createaccount' => 'Abychom wiki ochránili proti automatizovanému zakládánà úÄtů, žádáme vás o opsánà textu z následujÃcÃho obrázku ([[Special:Captcha/help|vÃce informacÃ]]):', 'fancycaptcha-create' => 'Abyste mohli založit stránku, musÃte opsat text z následujÃcÃho obrázku: ([[Special:Captcha/help|Co tohle znamená?]])', 'fancycaptcha-edit' => 'Abyste mohli editovat tuto stránku, musÃte opsat text z následujÃcÃho obrázku: ([[Special:Captcha/help|Co tohle znamená?]])', - 'fancycaptcha-sendemail' => 'V rámci ochrany proti automatickému spamovánà musÃte opsat nÞe zobrazená slova ([[Special:Captcha/help|vÃce informacÃ]]):', # Fuzzy + 'fancycaptcha-sendemail' => 'Abychom wiki ochránili proti automatizovanému spamovánÃ, žádáme vás o opsánà textu z následujÃcÃho obrázku ([[Special:Captcha/help|vÃce informacÃ]]):', 'fancycaptcha-reload-text' => 'Vygenerovat nový kód', ); -/** Church Slavic (ÑловѣÌньÑкъ / ⰔⰎⰑⰂⰡâ°â° â°”â°â°Ÿ) +/** Church Slavic (ÑловѣньÑкъ / ⰔⰎⰑⰂⰡâ°â° â°”â°â°Ÿ) * @author ОйЛ */ $messages['cu'] = array( @@ -326,7 +331,7 @@ Er mwyn arbed y wici rhag peiriannau sbam, byddwch gystal â theipio'r geiriau a $messages['da'] = array( 'fancycaptcha-addurl' => 'Din ændring tilføjer nye eksterne henvisninger. For at beskytte mod automatiseret spam, skal du indtaste ordene som vises i feltet nedenfor. ([[Special:Captcha/help|mere information]]):', - 'fancycaptcha-badlogin' => 'For at beskytte mod automatiske forsøg pÃ¥ at gætte kodeord, skal du indtaste ordene som vises i feltet nedenfor. ([[Special:Captcha/help|mere information]]):', + 'fancycaptcha-badlogin' => 'For at beskytte mod automatiske forsøg pÃ¥ at gætte adgangskoden, skal du indtaste ordene som vises i feltet nedenfor. ([[Special:Captcha/help|mere information]]):', 'fancycaptcha-createaccount' => 'For at beskytte mod automatisk oprettelse af brugerkonti, der bruges til spam, skal du indtaste ordet som vises i feltet nedenfor. ([[Special:Captcha/help|mere information]]):', 'fancycaptcha-create' => 'For at oprette en ny side, skal du indtaste ordet som vises nedenfor i feltet under det. ([[Special:Captcha/help|mere information]]):', 'fancycaptcha-edit' => 'For at redigere denne side, indtast da venligst ordene, der stÃ¥r i feltet nedenfor ([[Special:Captcha/help|mere information]]):', @@ -368,17 +373,18 @@ Zum Schutz vor automatisiertem Spamming geben Sie das folgende Wort in das Feld /** Zazaki (Zazaki) * @author Gorizon + * @author Mirzali * @author Xoser */ $messages['diq'] = array( - 'fancycaptcha-addurl' => 'Vırnayışané tod linkané hariciyé newe esto. -Qe otomatik spami ra pawıtış, ma rica keno çekuyané ke qutiya cor de inan binuse ([[Special:Captcha/help|enformasyoné bini]]):', - 'fancycaptcha-badlogin' => 'Qe otomatik parola crack kerdişî ra pawitîş, ma rica keno çekuyanê ke qutiya cor de înan binuse ([[Special:Captcha/help|enformasyonê bînî]]):', # Fuzzy - 'fancycaptcha-createaccount' => 'Qe otomatik hesab viraÅŸtişî ra pawitîş, ma rica keno çekuyanê ke qutiya cor de înan binuse ([[Special:Captcha/help|enformasyonê bînî]]):', # Fuzzy + 'fancycaptcha-addurl' => 'Vurnayışanê to de gıreyê teberiê newey estê. +Seba pawıtışê spamê otomatiki ra, ma reca kenime ke çekuyanê cêrênan zerreyê qutiye de bınusê ([[Special:Captcha/help|zêde melumat]]):', + 'fancycaptcha-badlogin' => 'Qe otomatik parola crack kerdişî ra pawitîş, ma rica keno çekuyanê ke qutiya cor de înan binuse ([[Special:Captcha/help|enformasyonê bînî]]):', + 'fancycaptcha-createaccount' => 'Qe otomatik hesab viraÅŸtişî ra pawitîş, ma rica keno çekuyanê ke qutiya cor de înan binuse ([[Special:Captcha/help|enformasyonê bînî]]):', 'fancycaptcha-create' => 'Qe pel viraÅŸtîşî, ma rica keno çekuyanê ke qutiya cor de înan binuse ([[Special:Captcha/help|enformasyonê bînî]]):', 'fancycaptcha-edit' => 'Qe pel vurnayîşî, ma rica keno çekuyanê ke qutiya cor de înan binuse ([[Special:Captcha/help|enformasyonê bînî]]):', 'fancycaptcha-sendemail' => 'Qe spamê otomayoni ra pawitîşi, ma rica keno çekuyanê ke qutiya cor de înan binuse -([[Special:Captcha/help|enformasyonê bînî]]):', # Fuzzy +([[Special:Captcha/help|enformasyonê bînî]]):', 'fancycaptcha-reload-text' => 'Newe ke', ); @@ -387,12 +393,13 @@ Qe otomatik spami ra pawıtış, ma rica keno çekuyané ke qutiya cor de inan b */ $messages['dsb'] = array( 'fancycaptcha-addurl' => 'Twója zmÄ›na wopÅ›imujo nowe eksterne wótkaze. -Za šćit pÅ›eÅ›iwo awtomatiskemu spamowanjeju, zapódaj pÅ¡osym sÅ‚owa, kótarež pokazuju se doÅ‚ojce w kašćiku ([[Special:Captcha/help|dalÅ¡ne informacije]]):', # Fuzzy - 'fancycaptcha-badlogin' => 'Za šćit pÅ›eÅ›iwo awtomatiskemu wugódanjeju gronidÅ‚a, zapódaj pÅ¡osym sÅ‚owa, kótarež pokazuju se doÅ‚ojce w kašćiku ([[Special:Captcha/help|dalÅ¡ne informacije]]):', # Fuzzy - 'fancycaptcha-createaccount' => 'Za šćit pÅ›eÅ›iwo awtomatiskemu zaÅ‚oženjeju kontow, zapódaj pÅ¡osym sÅ‚owa, kótarež pokazuju se doÅ‚ojce w kašćiku ([[Special:Captcha/help|dalÅ¡ne informacije]]):', # Fuzzy +Aby wiki pÅ›eÅ›iwo awtomatiskemu spamowanjeju šćitaÅ‚, zapódaj pÅ¡osym sÅ‚owa, kótarež pokazuju se doÅ‚ojce w kašćiku ([[Special:Captcha/help|dalÅ¡ne informacije]]):', + 'fancycaptcha-badlogin' => 'Aby wiki pÅ›eÅ›iwo awtomatiskemu wugódanjeju gronidÅ‚a šćitaÅ‚, zapódaj pÅ¡osym sÅ‚owa, kótarež pokazuju se doÅ‚ojce w kašćiku ([[Special:Captcha/help|dalÅ¡ne informacije]]):', + 'fancycaptcha-createaccount' => 'Aby wiki pÅ›eÅ›iwo awtomatiskemu zaÅ‚oženjeju kontow šćitaÅ‚, zapódaj pÅ¡osym sÅ‚owa, kótarež pokazuju se doÅ‚ojce w kašćiku ([[Special:Captcha/help|dalÅ¡ne informacije]]):', 'fancycaptcha-create' => 'Aby bok napóraÅ‚, zapódaj pÅ¡osym sÅ‚owa, kótarež pokazuju se doÅ‚ojce w kašćiku ([[Special:Captcha/help|dalÅ¡ne informacije]]):', 'fancycaptcha-edit' => 'Aby toÅ› ten bok wobźěłaÅ‚, zapódaj pÅ¡osym sÅ‚owa, kótarež pokazuju se doÅ‚ojce w kašćiku ([[Special:Captcha/help|dalÅ¡ne informacije]]):', - 'fancycaptcha-sendemail' => 'Za šćit pÅ›eÅ›iwo awtomatiskemu spamowanjeju, zapódaj pÅ¡osym sÅ‚owa, kótarež pokazuju se doÅ‚ojce w kašćiku ([[Special:Captcha/help|dalÅ¡ne informacije]]):', # Fuzzy + 'fancycaptcha-sendemail' => 'Aby wiki pÅ›eÅ›iwo awtomatiskemu spamowanjeju šćitaÅ‚, zapódaj pÅ¡osym sÅ‚owa, kótarež pokazuju se doÅ‚ojce w kašćiku ([[Special:Captcha/help|dalÅ¡ne informacije]]):', + 'fancycaptcha-reload-text' => 'AktualizÄ›rowaÅ›', ); /** Greek (Ελληνικά) @@ -461,12 +468,13 @@ Palun sisesta allpool olevas kastis kuvatud sõnad. Abinõu on kaitseks automaad /** Basque (euskara) * @author An13sa + * @author Xabier Armendaritz */ $messages['eu'] = array( 'fancycaptcha-addurl' => 'Zure aldaketak kanpo lotura berriak ditu. Spam automatikoa saihestu ahal izateko, beheko koadroan ageri diren hitzak idatzi ([[Special:Captcha/help|informazio gehigarria]]):', # Fuzzy 'fancycaptcha-badlogin' => 'Pasahitzen cracking automatikoa saihestu asmoz, beheko koadroan ageri diren hitzak idazteko eskatzen dizugu ([[Special:Captcha/help|informazio gehigarria]]):', # Fuzzy 'fancycaptcha-createaccount' => 'Erabiltzaile kontuak automatikoki sortzea saihestu asmoz, beheko koadroan ageri diren hitzak idazteko eskatzen dizugu ([[Special:Captcha/help|informazio gehigarria]]):', # Fuzzy - 'fancycaptcha-create' => 'Orrialde sortu ahal izateko, beheko koadroan ageri hitzak idatzi ([[Special:Captcha/help|informazio gehigarria]]):', + 'fancycaptcha-create' => 'Orri sortu ahal izateko, idatz itzazu beheko koadroan ageri diren hitzak ([[Special:Captcha/help|informazio gehigarria]]):', 'fancycaptcha-edit' => 'Orrialde hau aldatu ahal izateko, beheko koadroan ageri diren hitzak idatzi ([[Special:Captcha/help|informazio gehigarria]]):', 'fancycaptcha-sendemail' => 'Zabor-posta automatizatuaz babesteko, idatzi azpiko kutxako hitzak ([[Special:Captcha/help|informazio gehiago]]):', # Fuzzy ); @@ -481,13 +489,13 @@ $messages['eu'] = array( */ $messages['fa'] = array( 'fancycaptcha-addurl' => 'ویرایش شما Øاوی پیوند به بیرون جدیدی است. -برای Ú©Ù…Ú© به جلوگیری از هرزنگاری خودکار، لطÙاً واژه‌ای را Ú©Ù‡ در تصویر می‌بینید در جعبه وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', # Fuzzy +برای جلوگیری از هرزنگاری خودکار ویکی، ما با اØترام از شما می‌خواهیم واژه‌ای را Ú©Ù‡ در تصویر می‌بینید در جعبهٔ زیر وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', 'fancycaptcha-badlogin' => 'برای Ú©Ù…Ú© به جلوگیری از شکستن خودکار گذرواژه، لطÙاً واژه‌ای را Ú©Ù‡ در تصویر می‌بینید را وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', - 'fancycaptcha-createaccount' => 'برای Ú©Ù…Ú© به جلوگیری از ایجاد خودکار Øساب کاربری، لطÙاً واژه‌ای را Ú©Ù‡ در تصویر می‌بینید وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', # Fuzzy + 'fancycaptcha-createaccount' => 'برای Ú©Ù…Ú© به جلوگیری از ایجاد خودکار Øساب کاربری، ما با اØترام از شما می‌خواهید واژه‌ای را Ú©Ù‡ در تصویر می‌بینید را در جعبهٔ زیر وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', 'fancycaptcha-create' => 'برای ایجاد این صÙØه، لطÙاً واژه‌ای را Ú©Ù‡ در تصویر می‌بینید وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', 'fancycaptcha-edit' => 'برای ویرایش این صÙØه، لطÙاً واژه‌ای را Ú©Ù‡ در تصویر می‌بینید وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', - 'fancycaptcha-sendemail' => 'برای Ú©Ù…Ú© به Ù…ØاÙظت در برابر هرزه‌نگاری خودکار، لطÙاً واژه‌هایی را Ú©Ù‡ در جعبهٔ زیر نمایش داده می‌شوند وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', # Fuzzy - 'fancycaptcha-reload-text' => 'تازه کردن', + 'fancycaptcha-sendemail' => 'برای Ú©Ù…Ú© به Ù…ØاÙظت در برابر هرزه‌نگاری خودکار، ما با اØترام از شما می‌خواهیم واژه‌هایی را Ú©Ù‡ در جعبهٔ زیر نمایش داده می‌شوند وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', + 'fancycaptcha-reload-text' => 'تازه‌کردن', ); /** Finnish (suomi) @@ -594,18 +602,19 @@ Zum Schutz vor automatisiertem Spamming gib des Wort in s Fäld unten yy. Druck ); /** Gujarati (ગà«àªœàª°àª¾àª¤à«€) + * @author Ashok modhvadia * @author Dsvyas * @author Sushant savla */ $messages['gu'] = array( - 'fancycaptcha-addurl' => 'તમારા ફેરફારમાં નવી બાહà«àª¯ કડીઓ શામિલ છે. -તમે કરેલા ફેરફારોમાં નવી બાહà«àª¯ કડીઓ સામેલ છે. સà«àªµàªšàª¾àª²àª¿àª¤ સà«àªªà«‡àª®/સà«àªªàª¾àª®(spam) થી બચવા માટે નીચે આપેલા સરળ દાખલાનો જવાબ તેની બાજà«àª¨àª¾ ખાનામાં લખો -([[Special:Captcha/help|more info]]):', # Fuzzy - 'fancycaptcha-badlogin' => 'આપોઆપ થતી ગà«àªªà«àª¤àª¸àª‚જà«àªžàª¾àª¨à«€ ચોરી (password cracking)થી બચાવવા માટે નીચે આપેલા શબà«àª¦ તેની બાજà«àª¨àª¾ ખાનામાં લખો ([[Special:Captcha/help|more info]]):', # Fuzzy - 'fancycaptcha-createaccount' => 'આપોઆપ નવા ખાતા ખà«àª²àª¤àª¾ રોકવા માટે નીચે દેખાતા શબà«àª¦à«‹ ખાનામાં લખો ([[Special:Captcha/help|વધૠમાહિતી]]):', # Fuzzy + 'fancycaptcha-addurl' => 'તમે કરેલા ફેરફારોમાં નવી બાહà«àª¯ કડીઓ સામેલ છે. +વિકિને સà«àªµàªšàª¾àª²àª¿àª¤ સà«àªªà«‡àª®/સà«àªªàª¾àª®(spam)થી બચાવવા માટે અમે તમને જણાવીઠછીઠકે કૃપયા નીચે આપેલા સરળ દાખલાનો જવાબ તેની બાજà«àª¨àª¾ ખાનામાં લખો. +([[Special:Captcha/help|વધૠવિગત]]):', + 'fancycaptcha-badlogin' => 'આપોઆપ થતી ગà«àªªà«àª¤àª¸àª‚જà«àªžàª¾àª¨à«€ ચોરી (password cracking)થી વિકિને બચાવવા માટે અમે તમને જણાવીઠછીઠકે કૃપયા નીચે આપેલા શબà«àª¦ તેની બાજà«àª¨àª¾ ખાનામાં લખો. ([[Special:Captcha/help|વધૠવિગત]]):', + 'fancycaptcha-createaccount' => 'આપોઆપ નવા ખાતા ખà«àª²àª¤àª¾ રોકવા અને વિકીને તેનાથી બચાવવા માટે. અમે તમને જણાવીઠછીઠકે કૃપયા નીચે દેખાતા શબà«àª¦à«‹ ખાનામાં લખો. ([[Special:Captcha/help|વધૠમાહિતી]]):', 'fancycaptcha-create' => 'પાનà«àª‚ બનાવવા માટે નીચે દેખાતા શબà«àª¦à«‹ ખાનામાં ટાઈપ કરો ([[Special:Captcha/help|વધૠમાહિતી]]):', 'fancycaptcha-edit' => 'આ પાનામાં ફેરફાર કરવા માટે નીચે દેખાતા શબà«àª¦à«‹ ખાનામાં ટાઈપ કરો ([[Special:Captcha/help|વધૠમાહિતી]]):', - 'fancycaptcha-sendemail' => 'આપોઆપ થતી સà«àªªà«…મીંગથી બચાવવા માટે નીચે આપેલા શબà«àª¦ તેની બાજà«àª¨àª¾ ખાનામાં લખો ([[Special:Captcha/help|more info]]):', # Fuzzy + 'fancycaptcha-sendemail' => 'વિકિને આપોઆપ થતી સà«àªªà«…મીંગથી બચાવવા માટે. અમે તમને જણાવીઠછીઠકે કૃપયા નીચે આપેલા શબà«àª¦ તેની બાજà«àª¨àª¾ ખાનામાં લખો ([[Special:Captcha/help|વધૠમાહિતી]]):', ); /** Hebrew (עברית) @@ -657,12 +666,13 @@ slova koja vidite na slici dolje: <br />([[Special:Captcha/help|Pomoć]])', * @author Michawiki */ $messages['hsb'] = array( - 'fancycaptcha-addurl' => 'W twojej zmÄ›nje su nowe eksterne wotkazy. Jako Å¡kitna naprawa pÅ™ećiwo awtomatiskemu spamej zapodaj proÅ¡u sćěhowace znamjeÅ¡ka do kašćika ([[Special:Captcha/help|Äehodla?]]).', # Fuzzy - 'fancycaptcha-badlogin' => 'Jako Å¡kitna naprawa pÅ™ećiwo awtomatiskemu zadobywanju do wužiwarskich kontow zapodaj proÅ¡u sćěhowace znamjeÅ¡ka do kašćika ([[Special:Captcha/help|Äehodla?]]):', # Fuzzy - 'fancycaptcha-createaccount' => 'Jako Å¡kitna naprawa pÅ™ećiwo awtomatiskemu wutworjenju wužiwarskich kontow zapodaj proÅ¡u sćěhowace znamjeÅ¡ka do kašćika ([[Special:Captcha/help|Äehodla?]]):', # Fuzzy + 'fancycaptcha-addurl' => 'W twojej zmÄ›nje su nowe eksterne wotkazy. Jako Å¡kitnu naprawu pÅ™ećiwo awtomatiskemu spamej zapodaj proÅ¡u slÄ›dowace znamjeÅ¡ka do kašćika ([[Special:Captcha/help|dalÅ¡e informacije]]):', + 'fancycaptcha-badlogin' => 'Zo by wiki pÅ™ećiwo awtomatiskemu kradnjenju hesÅ‚ow Å¡kitaÅ‚, prosymy će, slÄ›dowace sÅ‚owa do kašćika zapisować ([[Special:Captcha/help|dalÅ¡e informacije]]):', + 'fancycaptcha-createaccount' => 'Jako Å¡kitna naprawa pÅ™ećiwo awtomatiskemu wutworjenju wužiwarskich kontow, zapodaj proÅ¡u slÄ›dowace sÅ‚owa do kašćika ([[Special:Captcha/help|dalÅ¡e informacije]]):', 'fancycaptcha-create' => 'Zo by stronu wutworić móhÅ‚ zapodaj proÅ¡u sćěhowace znamjeÅ¡ka do kašćika ([[Special:Captcha/help|Äehodla?]]):', 'fancycaptcha-edit' => 'Zo by stronu wobdźěłować móhÅ‚ zapodaj proÅ¡u sćěhowace znamjeÅ¡ka do kašćika ([[Special:Captcha/help|Äehodla?]]):', - 'fancycaptcha-sendemail' => 'Za Å¡kit pÅ™ećiwo awtomatiskemu spamowanju, zapodaj proÅ¡u sÅ‚owa, kotrež so deleka w kašćiku jewi ([[Special:Captcha/help|dalÅ¡e informacije]]):', # Fuzzy + 'fancycaptcha-sendemail' => 'Za Å¡kit pÅ™ećiwo awtomatiskemu spamowanju, zapodaj proÅ¡u sÅ‚owa, kotrež so deleka w kašćiku jewja ([[Special:Captcha/help|dalÅ¡e informacije]]):', + 'fancycaptcha-reload-text' => 'Aktualizować', ); /** Hungarian (magyar) @@ -711,13 +721,13 @@ $messages['id'] = array( * @author Lam-ang */ $messages['ilo'] = array( - 'fancycaptcha-addurl' => 'Ti inurnos mo ket adda nagyan na a baro a panilpo ti ruar. -Tapno masalakniban kadagiti automatiko a spam, pangaasim nga ikabil ti balikas nga agparang dita baba a kahon. ([[Special:Captcha/help|adu pay a pakaammo]]):', # Fuzzy - 'fancycaptcha-badlogin' => 'Tapno masalakniban kadagiti automatiko a pinagsulbar ti kontrasenias, pangaasim nga ikabil ti balikas nga agparang dita baba a kahon. ([[Special:Captcha/help|adu pay a pakaammo]]):', # Fuzzy - 'fancycaptcha-createaccount' => 'Tapno makasalaknib kadagiti automatiko a pinagaramid ti pakabilangan, pangaasim nga ikabil ti balikas nga agparang dita baba a kahon. ([[Special:Captcha/help|adu pay a pakaammo]]):', # Fuzzy + 'fancycaptcha-addurl' => 'Dagiti inurnosmo ket aglaon kadagiti baro a silpo ti ruar. +Tapno masalakniban ti wiki kadagiti automatiko nga spam, naemmakami nga agdawat nga ikabilmo dagiti balikas nga agparang dita baba iti kahon ([[Special:Captcha/help|adu pay a pakaammo]]):', + 'fancycaptcha-badlogin' => 'Tapno masalakniban kadagiti automatiko a panagsulbar ti kontrasenias, naemmakami nga agdawat nga ikabilmo dagiti balikas nga agparang dita baba iti kahon ([[Special:Captcha/help|adu pay a pakaammo]]):', + 'fancycaptcha-createaccount' => 'Tapno makasalakniban ti wiki kadagiti automatiko a panagpartuat ti pakabilangan, naemmakami nga agdawat nga ikabilmo dagiti balikas nga agparang dita baba iti kahon ([[Special:Captcha/help|adu pay a pakaammo]]):', 'fancycaptcha-create' => 'Tapno makaaramid ti panid, pangaasim nga ikabil ti balikas nga agparang dita baba a kahon. ([[Special:Captcha/help|adu pay a pakaammo]]):', 'fancycaptcha-edit' => 'Tapno makaurnos daytoy a panid, pangaasim nga ikabil ti balikas nga agparang dita baba a kahon. ([[Special:Captcha/help|adu pay a pakaammo]]):', - 'fancycaptcha-sendemail' => 'Tapno makasalaknib kadagiti automatiko a pinagspam, pangaasim nga ikabil ti balikas nga agparang dita baba a kahon. ([[Special:Captcha/help|adu pay a pakaammo]]):', # Fuzzy + 'fancycaptcha-sendemail' => 'Tapno makasalakniban ti wiki kadagiti automatiko a panag-spam, naemmakami nga agdawat nga ikabilmo dagiti balikas nga agparang dita baba iti kahon ([[Special:Captcha/help|adu pay a pakaammo]]):', 'fancycaptcha-reload-text' => 'Pasadiwaen', ); @@ -770,11 +780,12 @@ $messages['ja'] = array( ); /** Jutish (jysk) + * @author Christian List * @author HuslÃ¥ke */ $messages['jut'] = array( 'fancycaptcha-addurl' => 'Din ændring tilføjer nye eksterne henvisninger. For at beskytte mod automatiseret spam, skal du indtaste ordet som vises nedenfor i feltet under det. ([[Special:Captcha/help|mere information]]):', # Fuzzy - 'fancycaptcha-badlogin' => 'For at beskytte mod automatiske forsøg pÃ¥ at gætte kodeord, skal du indtaste ordet som vises nedenfor i feltet under det. ([[Special:Captcha/help|mere information]]):', # Fuzzy + 'fancycaptcha-badlogin' => 'For at beskytte mod automatiske forsøg pÃ¥ at gætte adgangskoden, skal du indtaste ordet som vises i feltet nedenfor. ([[Special:Captcha/help|mere information]]):', 'fancycaptcha-createaccount' => 'For at beskytte mod automatisk oprettelse af brugernavne, der bruges til spam, skal du indtaste ordet som vises nedenfor i feltet under det. ([[Special:Captcha/help|mere information]]):', # Fuzzy 'fancycaptcha-create' => 'For at oprette en ny side, skal du indtaste ordet som vises nedenfor i feltet under det. ([[Special:Captcha/help|mere information]]):', 'fancycaptcha-edit' => 'or at redigere denne side @@ -782,28 +793,33 @@ $messages['jut'] = array( ); /** Javanese (Basa Jawa) + * @author Bennylin * @author Meursault2004 */ $messages['jv'] = array( - 'fancycaptcha-addurl' => 'Suntingan panjenengan iku ngandhut pranala jaba anyar. Kanggo pangreksan marang spam otomatis, mangga lebokna tembung sing kapacak ing ngisor iki ing kothak sing wis cumepak ([[Special:Captcha/help|info jangkep]]):', # Fuzzy - 'fancycaptcha-badlogin' => 'Kanggo ngréwangi pangreksan marang parengkahan kunci sandhi otomatis, mangga lebokna tembung sing kapacak ing ngisor iki ing kothak sing wis cumepak ([[Special:Captcha/help|info jangkep]]):', # Fuzzy - 'fancycaptcha-createaccount' => 'Minangka pangreksan marang rékening (akun) sing digawé otomatis, tulung lebokna tembung sing kapacak ing ngisor iki ing kothak sing wis cumepak ([[Special:Captcha/help|info jangkep]]):', # Fuzzy + 'fancycaptcha-addurl' => 'Suntingan panjenengan iku ngandhut pranala jaba anyar. Kanggo pangreksan marang spam otomatis, mangga lebokna tembung sing kapacak ing ngisor iki ing kothak sing wis cumepak ([[Special:Captcha/help|info jangkep]]):', + 'fancycaptcha-badlogin' => 'Kanggo ngreksa lawan parengkahan tembung sandhi otomatis, tulung lebokna ukara ing ngisor iki menyang sajroning kothak sing wis sumedya ([[Special:Captcha/help|info sabanjuré]]):', + 'fancycaptcha-createaccount' => 'Kanggo ngreksa lawan panggawéyan rékening (akun) otomatis, tulung lebokna ukara ing ngisor iki menyang sajroning kothak ([[Special:Captcha/help|info sabanjuré]]):', 'fancycaptcha-create' => 'Suntingan panjenengan ngandhut pranala jaba anyar. Kanggo nggawé kaca iki, mangga isèkna tembung-tembung sing ana ing kothak iki ([[Special:Captcha/help|info jangkep]]):', 'fancycaptcha-edit' => 'Suntingan panjenengan ngandhut pranala jaba anyar. Kanggo nyunting kaca iki, mangga isèkna tembung-tembung sing ana ing kothak iki ([[Special:Captcha/help|info jangkep]]):', + 'fancycaptcha-sendemail' => 'Kanggo ngreksa lawan spam otomatis, tulung lebokna ukara ing ngisor iki menyang sajroning kothak sing wis sumedya ([[Special:Captcha/help|info sabanjuré]]):', + 'fancycaptcha-reload-text' => 'Anyarana', ); /** Georgian (ქáƒáƒ თული) * @author David1010 * @author ITshnik + * @author Tokoko */ $messages['ka'] = array( 'fancycaptcha-addurl' => 'თქვენი ცვლილებრშეიცáƒáƒ•áƒ¡ áƒáƒ®áƒáƒš გáƒáƒ ე ბმულებს. -áƒáƒ•áƒ¢áƒáƒ›áƒáƒ¢áƒ£áƒ ი სპáƒáƒ›áƒ˜áƒœáƒ’ისგáƒáƒœ თáƒáƒ•áƒ“áƒáƒªáƒ•áƒ˜áƒ¡ მიზნით, გთხáƒáƒ•áƒ—, შეიყვáƒáƒœáƒáƒ— ქვემáƒáƒ— მáƒáƒªáƒ”მული სიტყვები ყუთში ([[Special:Captcha/help|მეტი ინფáƒáƒ მáƒáƒªáƒ˜áƒ]]):', # Fuzzy - 'fancycaptcha-badlogin' => 'პáƒáƒ áƒáƒšáƒ”ბის áƒáƒ•áƒ¢áƒáƒ›áƒáƒ¢áƒ£áƒ ი გáƒáƒ¢áƒ”ხვისგáƒáƒœ თáƒáƒ•áƒ“áƒáƒªáƒ•áƒ˜áƒ¡ მიზნით, გთხáƒáƒ•áƒ—, შეიყვáƒáƒœáƒáƒ— ქვემáƒáƒ— მáƒáƒªáƒ”მული სიტყვები ყუთში ([[Special:Captcha/help|მეტი ინფáƒáƒ მáƒáƒªáƒ˜áƒ]]):', # Fuzzy - 'fancycaptcha-createaccount' => 'áƒáƒœáƒ’áƒáƒ იშების áƒáƒ•áƒ¢áƒáƒ›áƒáƒ¢áƒ£áƒ ი რეგისტრáƒáƒªáƒ˜áƒ˜áƒ¡áƒáƒ’áƒáƒœ თáƒáƒ•áƒ“áƒáƒªáƒ•áƒ˜áƒ¡ მიზნით, გთხáƒáƒ•áƒ—, შეიყვáƒáƒœáƒáƒ— ნáƒáƒ©áƒ•áƒ”ნები სიმბáƒáƒšáƒáƒ”ბი ტექსტურველში ([[Special:Captcha/help|დეტáƒáƒšáƒ£áƒ áƒáƒ“]]):', # Fuzzy +ვიკის áƒáƒ•áƒ¢áƒáƒ›áƒáƒ¢áƒ£áƒ ი სპáƒáƒ›áƒ˜áƒœáƒ’ისგáƒáƒœ თáƒáƒ•áƒ“áƒáƒªáƒ•áƒ˜áƒ¡ მიზნით, ჩვენ მáƒáƒ’იწáƒáƒ“ებთ, შეიყვáƒáƒœáƒáƒ— ქვემáƒáƒ— მáƒáƒªáƒ”მული სიტყვები ყუთში ([[Special:Captcha/help|მეტი ინფáƒáƒ მáƒáƒªáƒ˜áƒ]]):', + 'fancycaptcha-badlogin' => 'ვიკის პáƒáƒ áƒáƒšáƒ”ბის áƒáƒ•áƒ¢áƒáƒ›áƒáƒ¢áƒ£áƒ ი გáƒáƒ¢áƒ”ხვისგáƒáƒœ თáƒáƒ•áƒ“áƒáƒªáƒ•áƒ˜áƒ¡ მიზნით, ჩვენ მáƒáƒ’იწáƒáƒ“ებთ, შეიყვáƒáƒœáƒáƒ— ქვემáƒáƒ— მáƒáƒªáƒ”მული სიტყვები ყუთში ([[Special:Captcha/help|მეტი ინფáƒáƒ მáƒáƒªáƒ˜áƒ]]):', + 'fancycaptcha-createaccount' => 'ვიკის áƒáƒœáƒ’áƒáƒ იშების áƒáƒ•áƒ¢áƒáƒ›áƒáƒ¢áƒ£áƒ ი რეგისტრáƒáƒªáƒ˜áƒ˜áƒ¡áƒáƒ’áƒáƒœ თáƒáƒ•áƒ“áƒáƒªáƒ•áƒ˜áƒ¡ მიზნით, ჩვენ მáƒáƒ’იწáƒáƒ“ებთ, შეიყვáƒáƒœáƒáƒ— ნáƒáƒ©áƒ•áƒ”ნები სიმბáƒáƒšáƒáƒ”ბი ტექსტურველში ([[Special:Captcha/help|დეტáƒáƒšáƒ£áƒ áƒáƒ“]]):', 'fancycaptcha-create' => 'გვერდის შესáƒáƒ¥áƒ›áƒœáƒ”ლáƒáƒ“, გთხáƒáƒ•áƒ—, შეიყვáƒáƒœáƒ”თ áƒáƒ¡áƒáƒ”ბი, რáƒáƒ›áƒšáƒ”ბიც ნáƒáƒ©áƒ•áƒ”ნებირქვედრსურáƒáƒ—ზე ([[Special:Captcha/help|დეტáƒáƒšáƒ£áƒ áƒáƒ“…]]):', 'fancycaptcha-edit' => 'გვერდის რედáƒáƒ¥áƒ¢áƒ˜áƒ ებისáƒáƒ—ვის, გთხáƒáƒ•áƒ—, შეიყვáƒáƒœáƒ”თ áƒáƒ¡áƒáƒ”ბი, რáƒáƒ›áƒšáƒ”ბიც ნáƒáƒ©áƒ•áƒ”ნებირქვედრსურáƒáƒ—ზე ([[Special:Captcha/help|დეტáƒáƒšáƒ£áƒ áƒáƒ“…]]):', - 'fancycaptcha-sendemail' => 'áƒáƒ•áƒ¢áƒáƒ›áƒáƒ¢áƒ£áƒ ი სპáƒáƒ›áƒ˜áƒ¡áƒáƒ’áƒáƒœ თáƒáƒ•áƒ“áƒáƒªáƒ•áƒ˜áƒ¡ მიზნით, გთხáƒáƒ•áƒ—, შეიყვáƒáƒœáƒáƒ— ქვევით ნáƒáƒ©áƒ•áƒ”ნები სიტყვრტექსტურველში ([[Special:Captcha/help|მეტი ინფáƒáƒ მáƒáƒªáƒ˜áƒ]]):', # Fuzzy + 'fancycaptcha-sendemail' => 'ვიკის áƒáƒ•áƒ¢áƒáƒ›áƒáƒ¢áƒ£áƒ ი სპáƒáƒ›áƒ˜áƒ¡áƒáƒ’áƒáƒœ თáƒáƒ•áƒ“áƒáƒªáƒ•áƒ˜áƒ¡ მიზნით, ჩვენ მáƒáƒ’იწáƒáƒ“ებთ, შეიყვáƒáƒœáƒáƒ— ქვევით ნáƒáƒ©áƒ•áƒ”ნები სიტყვრტექსტურველში ([[Special:Captcha/help|მეტი ინფáƒáƒ მáƒáƒªáƒ˜áƒ]]):', + 'fancycaptcha-reload-text' => 'გáƒáƒœáƒáƒ®áƒšáƒ”ბáƒ', ); /** Kara-Kalpak (Qaraqalpaqsha) @@ -868,9 +884,9 @@ tömendegi körsetilgen sözderdi awmaqqa engiziñiz ([[{{ns:special}}:Captcha/h $messages['km'] = array( 'fancycaptcha-addurl' => 'កំណែប្រែរបស់អ្នកមានážáŸ†ážŽáž—្ជាប់ážáž¶áž„ក្រៅ។ -ដើម្បីការពារពីស្ប៉ាម(spam)ស្វáŸáž™áž”្រវážáŸ’ážáž· សូមបញ្ជូលពាក្យážáž¶áž„ក្រោមទៅក្នុងប្រអប់ ([[Special:Captcha/help|áž–áŸážáŸŒáž˜áž¶áž“បន្ážáŸ‚ម]])៖', # Fuzzy - 'fancycaptcha-badlogin' => 'ដើម្បីការពារការបំបែកពាក្យសំងាážáŸ‹ážŠáŸ„យស្វáŸáž™áž”្រវážáŸ’ážáž· សូមបញ្ជូលពាក្យážáž¶áž„ក្រោមទៅក្នុងប្រអប់ ([[Special:Captcha/help|áž–áŸážáŸŒáž˜áž¶áž“បន្ážáŸ‚ម]])៖', # Fuzzy - 'fancycaptcha-createaccount' => 'ដើម្បីការពារការបង្កើážáž‚ណនីដោយស្វáŸáž™áž”្រវážáŸ’ážáž· សូមបញ្ជូលពាក្យážáž¶áž„ក្រោមទៅក្នុងប្រអប់ ([[Special:Captcha/help|áž–áŸážáŸŒáž˜áž¶áž“បន្ážáŸ‚ម]])៖', # Fuzzy +ដើម្បីការពារពីស្ប៉ាមស្វáŸáž™áž”្រវážáŸ’ážáž· សូមបញ្ជូលពាក្យážáž¶áž„ក្រោមទៅក្នុងប្រអប់ ([[Special:Captcha/help|áž–áŸážáŸŒáž˜áž¶áž“បន្ážáŸ‚ម]])៖', + 'fancycaptcha-badlogin' => 'ដើម្បីការពារការបំបែកពាក្យសម្ងាážáŸ‹ážŠáŸ„យស្វáŸáž™áž”្រវážáŸ’ážáž· សូមបញ្ជូលពាក្យážáž¶áž„ក្រោមទៅក្នុងប្រអប់ ([[Special:Captcha/help|áž–áŸážáŸŒáž˜áž¶áž“បន្ážáŸ‚ម]])៖', + 'fancycaptcha-createaccount' => 'ដើម្បីការពារការបង្កើážáž‚ណនីដោយស្វáŸáž™áž”្រវážáŸ’ážáž· សូមបញ្ជូលពាក្យážáž¶áž„ក្រោមទៅក្នុងប្រអប់ ([[Special:Captcha/help|áž–áŸážáŸŒáž˜áž¶áž“បន្ážáŸ‚ម]])៖', 'fancycaptcha-create' => 'ដើម្បីបង្កើážáž‘ំពáŸážšáž“áŸáŸ‡ សូមបញ្ជូលពាក្យážáž¶áž„ក្រោមទៅក្នុងប្រអប់ ([[Special:Captcha/help|áž–áŸážáŸŒáž˜áž¶áž“បន្ážáŸ‚ម]])៖', 'fancycaptcha-edit' => 'ដើម្បីកែប្រែទំពáŸážšáž“áŸáŸ‡ សូមបញ្ជូលពាក្យážáž¶áž„ក្រោមទៅក្នុងប្រអប់ ([[Special:Captcha/help|áž–áŸážáŸŒáž˜áž¶áž“បន្ážáŸ‚ម]])៖', ); @@ -904,20 +920,21 @@ $messages['krc'] = array( */ $messages['ksh'] = array( 'fancycaptcha-desc' => 'Määt e nett Käptsche för dä <code lang="en">Confirm Edit</code> Projramm-Zohsatz', - 'fancycaptcha-addurl' => 'Do häß neu Lingks op frembde Websigge dobei jedonn. -Mer schöze uns Wiki jäje automatesche SPAM, dröm -don di Wööter en dat Käßje endraare. (Verklierung)', # Fuzzy + 'fancycaptcha-addurl' => 'Do häß neuje Lengks op frembde Websigge dobei jedonn. +Mer schöze ons Wiki jäje automattesche <code lang="en" xml:lang="en">SPAM</code>, dröm +don di Wööter en dat Käßje endraare. ([[Special:Captcha/help|Verklierung]])', 'fancycaptcha-badlogin' => 'Mer schöze Metmaacher en unsem Wiki jäje automatesche Paßwoot-Knackerei, dröm don di Wööt onge en dat Käßje -endraare. (Verklierung)', # Fuzzy +endraare. ([[Special:Captcha/help|Verklierung]])', 'fancycaptcha-createaccount' => 'Mer schöze uns Wiki dojäje, dat mer en Masse automatesch -Metmaacher aanmeldt. Dröm beß esu joot un -don di Wööt onge en dat Käßje endraare. (Verklierung)', # Fuzzy +Metmaacher aanmeldt. +Dröm beß esu joot un +don di Wööt onge en dat Käßje endraare. ([[Special:Captcha/help|Verklierung]])', 'fancycaptcha-create' => 'Öm di Sigg neu aanzelääje, don di Wööt onge en dat Käßje endraare. (Verklierung)', 'fancycaptcha-edit' => 'Öm de Sigg ze ändere, don di Wööt onge en dat Käßje endraare. ([[Special:Captcha/help|Verklierung]])', - 'fancycaptcha-sendemail' => 'Öm et Wiki jääje automattesch enjedraare SPAM ze schötze, + 'fancycaptcha-sendemail' => 'Öm et Wiki jääje automattesch enjedraare <code lang="en" xml:lang="en">SPAM</code> ze schötze, bes esu joot, donn di Wööter enjävve, di en däm Käßje heh dronger shtonn. -([[Special:Captcha/help|Mieh Enfommazjuhne]])', # Fuzzy +([[Special:Captcha/help|Mieh Enfommazjuhne]])', 'fancycaptcha-reload-text' => 'Nöü Aanzeije!', ); @@ -1123,12 +1140,12 @@ As Schutz gegen automaatsch Spam, geev disse Bookstavenreeg in dat Feld ünnen i */ $messages['nds-nl'] = array( 'fancycaptcha-addurl' => "Joew bewarking bevat uutgaonde verwiezingen. -Um dit projekt te bescharmen tegen ongewunste reklame, mu'j t woord dat hieronder steet invullen ([[Special:Captcha/help|hulpe]]):", +Um dit projekt te bescharmen tegen automatiese spam, mu'j t woord dat hieronder steet invullen ([[Special:Captcha/help|hulpe]]):", 'fancycaptcha-badlogin' => "Um disse webstee te beveiligen tegen t kraken van wachtwoorden, mu'j de woorden die'j hieronder zien effen invullen ([[Special:Captcha/help|hulpe]]):", 'fancycaptcha-createaccount' => "Um disse wiki te bescharmen tegen t automaties anmaken van gebrukersprofielen mu'j t woord hieronder invullen ([[Special:Captcha/help|hulpe]]):", 'fancycaptcha-create' => "Um n pagina an te maken, mö'j t woord dat hieronder steet invullen ([[Special:Captcha/help|hulpe]]):", - 'fancycaptcha-edit' => "Joew bewarking bevat nieje uutgaonde verwiezingen. Um disse wiki te bescharmen tegen ongewunste reklame mö'j de woorden hieronder invullen ([[Special:Captcha/help|hulpe]]):", + 'fancycaptcha-edit' => 'Vul de woorden die hieronder staon in um disse zied te bewarken ([[Special:Captcha/help|hulpe]]):', 'fancycaptcha-sendemail' => 'Voer de woorden die hieronder staon in t invoerveld in as bescharming tegen automatiese ongewunste reklame ([[Special:Captcha/help|hulpe]]):', 'fancycaptcha-reload-text' => 'Verniejen', @@ -1147,7 +1164,7 @@ Voer de woorden die hieronder verschijnen in het invoerveld in als bescherming t 'fancycaptcha-create' => 'Voer de woorden die hieronder verschijnen in het invoerveld in om de pagina aan te maken ([[Special:Captcha/help|meer informatie]]):', 'fancycaptcha-edit' => 'Voer de woorden die hieronder verschijnen in het invoerveld in om deze pagina te bewerken ([[Special:Captcha/help|meer informatie]]):', 'fancycaptcha-sendemail' => 'Voer de woorden die hieronder getoond worden in het invoerveld in als bescherming tegen spam ([[Special:Captcha/help|meer informatie]]):', - 'fancycaptcha-reload-text' => 'Verversen', + 'fancycaptcha-reload-text' => 'Vernieuwen', ); /** Nederlands (informeel)‎ (Nederlands (informeel)‎) @@ -1207,12 +1224,12 @@ $messages['or'] = array( */ $messages['pl'] = array( 'fancycaptcha-desc' => 'Generator obrazka, którego odczytanie jest wymagane dla zatwierdzenia edycji.', - 'fancycaptcha-addurl' => 'Twoja edycja zawiera nowe linki zewnÄ™trzne. Ze wzglÄ™du na ochronÄ™ przed zautomatyzowanym spamem prosimy o wpisanie słów, które widzisz poniżej, do pola tekstowego ([[Special:Captcha/help|pomoc]]):', # Fuzzy - 'fancycaptcha-badlogin' => 'Ze wzglÄ™du na zabezpieczenie przed automatycznym Å‚amaniem haseÅ‚ prosimy o wpisanie słów, które widzisz poniżej, do pola tekstowego ([[Special:Captcha/help|pomoc]]):', # Fuzzy - 'fancycaptcha-createaccount' => 'Ze wzglÄ™du na ochronÄ™ przed automatycznym spamem, aby siÄ™ zarejestrować musisz wpisać sÅ‚owo, które widzisz poniżej, do pola tekstowego ([[Special:Captcha/help|pomoc]])', # Fuzzy + 'fancycaptcha-addurl' => 'Twoja edycja zawiera nowe linki zewnÄ™trzne. Ze wzglÄ™du na ochronÄ™ przed zautomatyzowanym spamem prosimy o wpisanie słów, które widzisz poniżej, do pola tekstowego ([[Special:Captcha/help|wiÄ™cej informacji]]):', + 'fancycaptcha-badlogin' => 'Ze wzglÄ™du na ochronÄ™ przed automatycznym Å‚amaniem haseÅ‚ prosimy o wpisanie słów, które widzisz poniżej, do pola tekstowego ([[Special:Captcha/help|wiÄ™cej informacji]]):', + 'fancycaptcha-createaccount' => 'Ze wzglÄ™du na ochronÄ™ przed automatycznym tworzeniem kont prosimy o wpisanie słów, które widzisz poniżej, do pola tekstowego ([[Special:Captcha/help|wiÄ™cej informacji]])', 'fancycaptcha-create' => 'Aby utworzyć tÄ™ stronÄ™, przepisz sÅ‚owa, które widzisz poniżej, do pola tekstowego ([[Special:Captcha/help|pomoc]]):', 'fancycaptcha-edit' => 'Aby edytować tÄ™ stronÄ™, przepisz sÅ‚owa, które widzisz poniżej, do pola tekstowego ([[Special:Captcha/help|pomoc]]):', - 'fancycaptcha-sendemail' => 'Zabezpieczenie przed automatycznie dodawanym spamem. Wprowadzić sÅ‚owa widoczne w poniższym prostokÄ…cie ([[Special:Captcha/help|wiÄ™cej informacji]]).', # Fuzzy + 'fancycaptcha-sendemail' => 'Ze wzglÄ™du na ochronÄ™ przed zautomatyzowanym spamem prosimy o wpisanie słów, które widzisz poniżej, do pola tekstowego ([[Special:Captcha/help|wiÄ™cej informacji]]).', 'fancycaptcha-reload-text' => 'OdÅ›wież', ); @@ -1282,6 +1299,14 @@ $messages['pt-br'] = array( 'fancycaptcha-reload-text' => 'Atualizar', ); +/** Quechua (Runa Simi) + * @author AlimanRuna + */ +$messages['qu'] = array( + 'fancycaptcha-create' => "P'anqata kamarinaykipaqqa kay qatiq kahachapi kaq rimakunata yaykuchiy ([[Special:Captcha/help|astawan yachay]]):", + 'fancycaptcha-edit' => "Kay p'anqata llamk'anaykipaqqa kay qatiq kahachapi kaq rimakunata yaykuchiy ([[Special:Captcha/help|astawan yachay]]):", +); + /** Romansh (rumantsch) * @author Kazu89 */ @@ -1309,13 +1334,13 @@ Pentru a împiedica roboÈ›ii de spam, vă rugăm să introduceÈ›i cuvintele care * @author Joetaras */ $messages['roa-tara'] = array( - 'fancycaptcha-addurl' => "'U cangiamende tue inglude de le collegaminde esterne. -Pe aiutà a proteggere condre a 'u spam automateche, pe piacere mitte le parole ca combare sotte ([[Special:Captcha/help|cchiù 'mbormaziune]]):", # Fuzzy - 'fancycaptcha-badlogin' => 'Pe aiutà a proteggere condre a futteminde automatece de password, pe piacere mitte le parole ca combare aqquà sotte ([[Special:Captcha/help|more info]]):', # Fuzzy - 'fancycaptcha-createaccount' => 'Pe aiutà a proteggere condre a ccreazione automateche de cunde utinde, pe piacere mitte le parole ca combare aqquà sotte ([[Special:Captcha/help|more info]]):', # Fuzzy + 'fancycaptcha-addurl' => "'U cangiamende tune 'nglude de le collegaminde de fore. +Pe proteggere condre a 'u spam automateche, pe piacere mitte le parole ca iessene sotte ([[Special:Captcha/help|cchiù 'mbormaziune]]):", + 'fancycaptcha-badlogin' => "Pe proteggere condre a futteminde automatece de passuord, pe piacere mitte le parole ca iessene aqquà sotte ([[Special:Captcha/help|cchiù 'mbormaziune]]):", + 'fancycaptcha-createaccount' => "Pe proteggere condre a ccreazione automateche de cunde utinde, pe piacere mitte le parole ca iessene aqquà sotte ([[Special:Captcha/help|cchiù 'mbormaziune]]):", 'fancycaptcha-create' => 'Pe ccrejà sta pà gene, pe piacere mitte le parole ca combare aqquà sotte ([[Special:Captcha/help|more info]]):', 'fancycaptcha-edit' => 'Pe cangià sta pà gene, pe piacere mitte le parole combare aqquà sotte ([[Special:Captcha/help|more info]]):', - 'fancycaptcha-sendemail' => "Pe aiutà a proteggere condre a spam automatece, pe piacere mitte le parole ca combare aqquà sotte ([[Special:Captcha/help|cchiù 'mbormaziune]]):", # Fuzzy + 'fancycaptcha-sendemail' => "Pe proteggere condre a spam automatece, pe piacere mitte le parole ca iessene aqquà sotte ([[Special:Captcha/help|cchiù 'mbormaziune]]):", 'fancycaptcha-reload-text' => 'Aggiorne', ); @@ -1605,12 +1630,12 @@ Upang makatulong sa pagsasanggalang laban sa kusang pinapadalang mga \"manluluso */ $messages['tr'] = array( 'fancycaptcha-addurl' => 'DeÄŸiÅŸikliÄŸiniz yeni dış baÄŸlantılar içeriyor. -Otomatik spamdan korunmak için, lütfen aÅŸağıdaki sözcükleri kutunun içine yazın ([[Special:Captcha/help|ayrıntılı bilgiler]]):', # Fuzzy - 'fancycaptcha-badlogin' => 'Otomatik parola kırma yöntemine karşı korunmak için lütfen aÅŸağıdaki sözcükleri kutunun içine yazınız ([[Special:Captcha/help|ayrıntılı bilgi]]):', # Fuzzy - 'fancycaptcha-createaccount' => 'Otomatik hesap oluÅŸturmaya karşı korumaya yardım etmek için, lütfen aÅŸağıdaki kutuda görünen kelimeleri girin ([[Special:Captcha/help|daha fazla bilgi]]):', # Fuzzy +Vikiyi otomatik spamdan korumak için, aÅŸağıdaki sözcükleri kutunun içine yazmanızı rica ediyoruz ([[Special:Captcha/help|ayrıntılı bilgi]]):', + 'fancycaptcha-badlogin' => 'Vikiyi otomatik parola kırma yöntemine karşı korumak için, aÅŸağıdaki sözcükleri kutunun içine yazmanızı rica ediyoruz ([[Special:Captcha/help|ayrıntılı bilgi]]):', + 'fancycaptcha-createaccount' => 'Vikiyi otomatik hesap oluÅŸturmaya karşı korumaya yardım etmek için, aÅŸağıdaki sözcükleri kutunun içine yazmanızı rica ediyoruz ([[Special:Captcha/help|ayrıntılı bilgi]]):', 'fancycaptcha-create' => 'Sayfayı oluÅŸturmak için, lütfen aÅŸağıdaki kutuda görünen kelimeleri girin ([[Special:Captcha/help|daha fazla bilgi]]):', 'fancycaptcha-edit' => 'Bu sayfayı deÄŸiÅŸtirmek için, lütfen aÅŸağıdaki kutuda görünen kelimeleri girin ([[Special:Captcha/help|daha fazla bilgi]]):', - 'fancycaptcha-sendemail' => 'Otomatik spamlerden korunmaya yardımcı olmak için, lütfen aÅŸağıda görünen sözcükleri kutuya yazın ([[Special:Captcha/help|daha fazla bilgi]]):', # Fuzzy + 'fancycaptcha-sendemail' => 'Vikiyi otomatik spamlerden korumak için, aÅŸağıdaki sözcükleri kutunun içine yazmanızı rica ediyoruz ([[Special:Captcha/help|ayrıntılı bilgi]]):', 'fancycaptcha-reload-text' => 'Yenile', ); @@ -1744,10 +1769,10 @@ $messages['zh-hans'] = array( $messages['zh-hant'] = array( 'fancycaptcha-addurl' => '您的編輯內容ä¸å«æœ‰æœ¬ç¶²ç«™ä»¥å¤–的連çµã€‚ 為防æ¢ä¸ç•¶ç¨‹å¼å¤§é‡ç ´å£žï¼Œè«‹è¼¸å…¥ä»¥ä¸‹çš„æ–‡å—([[Special:Captcha/help|相關資訊]]):', - 'fancycaptcha-badlogin' => '為防æ¢ä¸ç•¶ç¨‹å¼ç ´è§£å¯†ç¢¼ï¼Œè«‹è¼¸å…¥ä»¥ä¸‹çš„æ–‡å—([[Special:Captcha/help|相關資訊]]):', # Fuzzy - 'fancycaptcha-createaccount' => '為防æ¢ä¸ç•¶ç¨‹å¼å¤§é‡å»ºç«‹å¸³æˆ¶ï¼Œè«‹è¼¸å…¥ä»¥ä¸‹çš„æ–‡å—([[Special:Captcha/help|相關資訊]]):', # Fuzzy + 'fancycaptcha-badlogin' => '為幫助wiki防範å¯è‡ªå‹•ç ´è§£å¯†ç¢¼ä¹‹ä¸ç•¶ç¨‹å¼ï¼Œæˆ‘們請您éµå…¥ä¸‹é¢è³‡è¨Šæ¡†ä¸çš„單詞([[Special:Captcha/help|相關資訊]]):', + 'fancycaptcha-createaccount' => '為幫助wiki防範å¯è‡ªå‹•å‰µå»ºè³¬æˆ¶ä¹‹ä¸ç•¶ç¨‹å¼ï¼Œæˆ‘們請您éµå…¥ä¸‹é¢è³‡è¨Šæ¡†ä¸çš„單詞([[Special:Captcha/help|相關資訊]]):', 'fancycaptcha-create' => '為防æ¢ä¸ç•¶ç¨‹å¼å¤§é‡å»ºç«‹é é¢ï¼Œè«‹è¼¸å…¥ä»¥ä¸‹çš„æ–‡å—([[Special:Captcha/help|相關資訊]]):', 'fancycaptcha-edit' => '如您想è¦ç·¨è¼¯æ¤é é¢ï¼Œè«‹è¼¸å…¥ä»¥ä¸‹çš„æ–‡å—([[Special:Captcha/help|相關資訊]]):', - 'fancycaptcha-sendemail' => '為防æ¢ä¸ç•¶ç¨‹å¼é€²è¡Œç ´å£žï¼Œè«‹è¼¸å…¥ä»¥ä¸‹çš„æ–‡å—([[Special:Captcha/help|相關資訊]]):', # Fuzzy + 'fancycaptcha-sendemail' => '為幫助wiki防範垃圾電郵,我們請您éµå…¥ä¸‹é¢è³‡è¨Šæ¡†ä¸çš„單詞([[Special:Captcha/help|相關資訊]]):', 'fancycaptcha-reload-text' => 'é‡æ–°æ•´ç†', ); diff --git a/extensions/ConfirmEdit/FancyCaptcha.php b/extensions/ConfirmEdit/FancyCaptcha.php index 46002e22..cbabb4a0 100644 --- a/extensions/ConfirmEdit/FancyCaptcha.php +++ b/extensions/ConfirmEdit/FancyCaptcha.php @@ -62,6 +62,7 @@ $wgAutoloadClasses['FancyCaptcha'] = $dir . '/FancyCaptcha.class.php'; $wgResourceModules['ext.confirmEdit.fancyCaptcha.styles'] = array( 'localBasePath' => $dir . '/resources', 'remoteExtPath' => 'ConfirmEdit/resources', + 'targets' => array( 'mobile', 'desktop' ), 'styles' => 'ext.confirmEdit.fancyCaptcha.css', ); @@ -72,5 +73,15 @@ $wgResourceModules['ext.confirmEdit.fancyCaptcha'] = array( 'dependencies' => 'mediawiki.api', ); +// FIXME: remove, add mobile target to ext.confirmEdit.fancyCaptcha and update +// MobileFrontend accordingly when bug 57629 is resolved +$wgResourceModules['ext.confirmEdit.fancyCaptchaMobile'] = array( + 'localBasePath' => $dir . '/resources', + 'remoteExtPath' => 'ConfirmEdit/resources', + 'scripts' => 'ext.confirmEdit.fancyCaptcha.js', + 'targets' => array( 'mobile', 'desktop' ), + 'dependencies' => 'mobile.startup', +); + $wgAutoloadClasses['ApiFancyCaptchaReload'] = $dir . '/ApiFancyCaptchaReload.php'; $wgAPIModules['fancycaptchareload'] = 'ApiFancyCaptchaReload'; diff --git a/extensions/ConfirmEdit/HTMLCaptchaField.php b/extensions/ConfirmEdit/HTMLCaptchaField.php deleted file mode 100644 index c069ce9e..00000000 --- a/extensions/ConfirmEdit/HTMLCaptchaField.php +++ /dev/null @@ -1,81 +0,0 @@ -<?php -/** - * HTMLFormField for inserting Captchas into a form. - * - * 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 - * - * @class - */ -class HTMLCaptchaField extends HTMLFormField { - /** - * @var Captcha - */ - private $captcha; - - public $prefix = ''; - - /** - * @var Bool|Array - */ - private $validationResult; - - public function __construct( $params ) { - parent::__construct( $params ); - - // For differentiating the type of form, mainly - if ( isset( $params['prefix'] ) ) { - $this->prefix = $params['prefix']; - } - } - - /** - * Get the captcha body. Don't include any of the surrounding table cells/rows - * - * @param $value String - * @return String - */ - public function getInputHTML( $value ) { - # TODO - } - - public function validate( $data, $alldata ) { - // We sent back the exists status of the captcha before. If it *doesn't* exist - // we actually want to validate this as true, because we don't want an angry red - // error message, just for the user to put the captcha in again - if ( $data === false ) { - return true; - } - } - - /** - * @param $request WebRequest - * @return void - */ - public function loadDataFromRequest( $request ) { - $this->captcha = Captcha::factory(); - $this->captcha->loadFromRequest( $request, $this ); - if ( !$this->captcha->exists() ) { - // The captcha doesn't exist; probably because it's already been used and - // then deleted for security. Load the field up with a new captcha which - // will be shown to the user when the validation of said new object fails - $this->captcha = Captcha::newRandom(); - } - - // This will be useful as the difference between "the captcha doesn't exist" and - // "you answered the captcha wrongly" - return $this->captcha->exists(); - } -} diff --git a/extensions/ConfirmEdit/QuestyCaptcha.i18n.php b/extensions/ConfirmEdit/QuestyCaptcha.i18n.php index ddf2ab6a..12d372a3 100644 --- a/extensions/ConfirmEdit/QuestyCaptcha.i18n.php +++ b/extensions/ConfirmEdit/QuestyCaptcha.i18n.php @@ -208,17 +208,17 @@ Per ajudar a protegir-se contra la brossa automà tica, responeu la pregunta que 'questycaptcha-create' => 'Per crear la pà gina, per favor responeu la pregunta que apareix a continuació ([[Special:Captcha/help|més informació]]):', ); -/** Czech (Äesky) +/** Czech (ÄeÅ¡tina) * @author Mormegil */ $messages['cs'] = array( 'questycaptcha-addurl' => 'VaÅ¡e editace obsahuje nové externà odkazy. -V zájmu ochrany pÅ™ed automatickým spamovánÃm musÃte zodpovÄ›dÄ›t nÞe uvedenou otázku ([[Special:Captcha/help|dalÅ¡Ã informace]]):', # Fuzzy - 'questycaptcha-badlogin' => 'V rámci ochrany proti automatickým pokusům uhodnout heslo musÃte zodpovÄ›dÄ›t nÞe uvedenou otázku ([[Special:Captcha/help|dalÅ¡Ã informace]]):', # Fuzzy - 'questycaptcha-createaccount' => 'V rámci ochrany pÅ™ed automatickým vytvářenÃm úÄtů musÃte pro provedenà registrace zodpovÄ›dÄ›t nÞe uvedenou otázku ([[Special:Captcha/help|dalÅ¡Ã informace]]):', # Fuzzy +V zájmu ochrany této wiki pÅ™ed automatickým spamovánÃm vás prosÃme o zodpovÄ›zenà nÞe uvedené otázky ([[Special:Captcha/help|dalÅ¡Ã informace]]):', + 'questycaptcha-badlogin' => 'V zájmu ochrany této wiki proti automatickým pokusům uhodnout heslo vás prosÃme o zodpovÄ›zenà nÞe uvedené otázky ([[Special:Captcha/help|dalÅ¡Ã informace]]):', + 'questycaptcha-createaccount' => 'V zájmu ochrany této wiki pÅ™ed automatickým vytvářenÃm úÄtů vás prosÃme o zodpovÄ›zenà nÞe uvedené otázky ([[Special:Captcha/help|dalÅ¡Ã informace]]):', 'questycaptcha-create' => 'Abyste mohli založit stránku, musÃte zodpovÄ›dÄ›t nÞe uvedenou otázku ([[Special:Captcha/help|dalÅ¡Ã informace]]):', 'questycaptcha-edit' => 'Abyste mohli editovat tuto stránku, musÃte zodpovÄ›dÄ›t nÞe uvedenou otázku ([[Special:Captcha/help|dalÅ¡Ã informace]]):', - 'questycaptcha-sendemail' => 'V rámci ochrany proti automatickému spamovánà musÃte zodpovÄ›dÄ›t nÞe zobrazenou otázku ([[Special:Captcha/help|vÃce informacÃ]]):', # Fuzzy + 'questycaptcha-sendemail' => 'V zájmu ochrany této wiki pÅ™ed automatickým spamovánÃm vás prosÃme o zodpovÄ›zenà nÞe uvedené otázky ([[Special:Captcha/help|dalÅ¡Ã informace]]):', 'questycaptchahelp-text' => 'Webové stránky, do kterých mohou pÅ™ispÃvat jejich návÅ¡tÄ›vnÃci (jako napÅ™Ãklad tato wiki), jsou Äasto terÄem spammerů, kteřà pomocà automatických nástrojů vkládajà své odkazy na velké množstvà stránek. PÅ™estože lze tento spam odstranit, pÅ™edstavuje nepÅ™Ãjemné obtěžovánÃ. NÄ›kdy, zvláštÄ› pÅ™i pÅ™idávánà nových webových odkazů, vás wiki může požádat o zodpovÄ›zenà otázky. @@ -303,12 +303,12 @@ Der „Zurück“-Knopf des Browsers führt zurück zum Bearbeitungsfenster.', # */ $messages['dsb'] = array( 'questycaptcha-addurl' => 'Twója zmÄ›na wopÅ›imujo nowe eksterne wótkaze. -Za šćit pÅ›eÅ›iwo zawtomatizÄ›rowanemu spamoju, wótegroÅ„ pÅ¡osym na pÅ¡aÅ¡anje, kótarež pokazujo se doÅ‚ojce ([[Special:Captcha/help|dalÅ¡ne informacije]]):', # Fuzzy - 'questycaptcha-badlogin' => 'Za šćit pÅ›eÅ›iwo zawtomatizÄ›rowanemu wusnuchlenjeju gronidÅ‚a, wótegroÅ„ pÅ¡osym na pÅ¡aÅ¡anje, kótarež pokazujo se doÅ‚ojce ([[Special:Captcha/help|dalÅ¡ne informacije]]):', # Fuzzy - 'questycaptcha-createaccount' => 'Za šćit pÅ›eÅ›iwo zawtomatizÄ›rowanemu napóranjeju kontow, wótegroÅ„ pÅ¡osym na pÅ¡aÅ¡anje, kótarež pokazujo se doÅ‚ojce ([[Special:Captcha/help|dalÅ¡ne informacije]]):', # Fuzzy +Aby wiki pÅ›eÅ›iwo zawtomatizÄ›rowanemu spamoju šćitaÅ‚, wótegroÅ„ pÅ¡osym na pÅ¡aÅ¡anje, kótarež pokazujo se doÅ‚ojce ([[Special:Captcha/help|dalÅ¡ne informacije]]):', + 'questycaptcha-badlogin' => 'Aby wiki pÅ›eÅ›iwo zawtomatizÄ›rowanemu wusnuchlenjeju gronidÅ‚a šćitaÅ‚, wótegroÅ„ pÅ¡osym na pÅ¡aÅ¡anje, kótarež pokazujo se doÅ‚ojce ([[Special:Captcha/help|dalÅ¡ne informacije]]):', + 'questycaptcha-createaccount' => 'Aby wiki pÅ›eÅ›iwo zawtomatizÄ›rowanemu napóranjeju kontow šćitaÅ‚, wótegroÅ„ pÅ¡osym na pÅ¡aÅ¡anje, kótarež pokazujo se doÅ‚ojce ([[Special:Captcha/help|dalÅ¡ne informacije]]):', 'questycaptcha-create' => 'Aby napóraÅ‚ bok, wótegroÅ„ pÅ¡osym na pÅ¡aÅ¡anje, kótarež pokazujo se doÅ‚ojce ([[Special:Captcha/help|dalÅ¡ne informacije]]):', 'questycaptcha-edit' => 'Aby wobźěłaÅ‚ toÅ› ten bok, wótegroÅ„ pÅ¡osym na pÅ¡aÅ¡anje, kótarež pokazujo se doÅ‚ojce ([[Special:Captcha/help|dalÅ¡ne informacije]]):', - 'questycaptcha-sendemail' => 'Za šćit pÅ›eÅ›iwo awtomatiskemu spamowanjeju, wótegroÅ„ pÅ¡osym pÅ¡aÅ¡anje, kótarež pokazujo se doÅ‚ojce ([[Special:Captcha/help|dalÅ¡ne informacije]]):', # Fuzzy + 'questycaptcha-sendemail' => 'Aby wiki pÅ›eÅ›iwo awtomatiskemu spamowanjeju šćitaÅ‚, wótegroÅ„ pÅ¡osym pÅ¡aÅ¡anje, kótarež pokazujo se doÅ‚ojce ([[Special:Captcha/help|dalÅ¡ne informacije]]):', 'questycaptchahelp-text' => 'WebsedÅ‚a, kótarež akceptÄ›ruju zjawne pÅ›inoski, ako toÅ› ten wiki, znjewužywaju se cesto wót spamowarjow, kótarež wužywaju zawtomatizÄ›rowane rÄ›dy, aby pÅ›idali swóje wótkaze na wjele sedÅ‚ow. LÄ›crownož toÅ› te spamowe wótkaze daju se wótpóraÅ›, su wóne bejna pógórÅ¡ota. Wótergi, wósebnje, gaž se nowe wótkaze pÅ›idawaju bokoju, jo móžno, až se Å›i wiki nÄ›co pÅ¡aÅ¡a. @@ -557,12 +557,12 @@ $messages['he'] = array( */ $messages['hsb'] = array( 'questycaptcha-addurl' => 'Twoja zmÄ›na wobsahuje nowe eksterne wotkazy. -Za Å¡kit pÅ™ećiwo awtomatizowanemu spamej, wotmoÅ‚w proÅ¡u na praÅ¡enje, kotrež so deleka jewi ([[Special:Captcha/help|dalÅ¡e informacije]]):', # Fuzzy - 'questycaptcha-badlogin' => 'Za Å¡kit pÅ™ećiwo awtomatiskemu kradnjenju hesÅ‚a, wotmoÅ‚w proÅ¡u na praÅ¡enje, kotrež so deleka jewi ([[Special:Captcha/help|dalÅ¡e informacije]]):', # Fuzzy - 'questycaptcha-createaccount' => 'Za Å¡kit pÅ™ećiwo awtomatizowanemu tworjenju kontow, wotmoÅ‚w proÅ¡u na praÅ¡enje, kotrež so deleka jewi ([[Special:Captcha/help|dalÅ¡ informacije]]):', # Fuzzy +Za Å¡kit pÅ™ećiwo awtomatizowanemu spamej, wotmoÅ‚w proÅ¡u na praÅ¡enje, kotrež so deleka jewi ([[Special:Captcha/help|dalÅ¡e informacije]]):', + 'questycaptcha-badlogin' => 'Za Å¡kit pÅ™ećiwo awtomatiskemu kradnjenju hesÅ‚a, wotmoÅ‚w proÅ¡u na praÅ¡enje, kotrež so deleka jewi ([[Special:Captcha/help|dalÅ¡e informacije]]):', + 'questycaptcha-createaccount' => 'Za Å¡kit pÅ™ećiwo awtomatizowanemu tworjenju kontow, wotmoÅ‚w proÅ¡u na praÅ¡enje, kotrež so deleka jewi ([[Special:Captcha/help|dalÅ¡e informacije]]):', 'questycaptcha-create' => 'Zo by stronu wutworiÅ‚, wotmoÅ‚w proÅ¡u na praÅ¡enje, kotrež so deleka jewi ([[Special:Captcha/help|dalÅ¡e informacije]]):', 'questycaptcha-edit' => 'Zo by tutu stronu zmÄ›niÅ‚, wotmoÅ‚w proÅ¡u na praÅ¡enje, kotrež so deleka jewi ([[Special:Captcha/help|dalÅ¡e informacije]]):', - 'questycaptcha-sendemail' => 'Za Å¡kit pÅ™ećiwo awtomatiskemu spamowanju, wotmoÅ‚w proÅ¡u na praÅ¡enje, kotrež so deleka jewi ([[Special:Captcha/help|dalÅ¡e informacije]]):', # Fuzzy + 'questycaptcha-sendemail' => 'Za Å¡kit pÅ™ećiwo awtomatiskemu spamowanju, wotmoÅ‚w proÅ¡u na praÅ¡enje, kotrež so deleka jewi ([[Special:Captcha/help|dalÅ¡e informacije]]):', 'questycaptchahelp-text' => 'WebsydÅ‚a, kotrež pÅ™inoÅ¡ki ze zjawnosće akceptuja, kaž tutón wiki, so Äasto wot spamarjow znjewužiwaja, kotÅ™iž awtomatizowane nastroje wužiwaja, zo bychu swoje wotkazy wjele sydÅ‚am pÅ™idali. HaÄrunjež so tute spamowe wotkazy hodźa wotstronić, su wone njesnadne mjerzanje. Druhdy, wosebje, hdyž so nowe webwotkazy stronje pÅ™idawaja, wiki so ći nÄ›Äeho praÅ¡a. @@ -715,17 +715,18 @@ $messages['ja'] = array( /** Korean (í•œêµì–´) * @author Kwj2772 + * @author Priviet * @author ì•„ë¼ */ $messages['ko'] = array( 'questycaptcha-desc' => '편집 확ì¸ì— 대한 íƒêµ¬ì ì¸ CAPCHA(캡차) ìƒì„±ê¸°', - 'questycaptcha-addurl' => 'íŽ¸ì§‘ì— ìƒˆë¡œìš´ 바깥 ë§í¬ê°€ í¬í•¨ë˜ì–´ 있습니다. -ìžë™í™”ëœ ìŠ¤íŒ¸ìœ¼ë¡œë¶€í„° 보호하기 위해, ì•„ëž˜ì— ë³´ì´ëŠ” ì§ˆë¬¸ì— ë‹µí•´ì£¼ì„¸ìš” ([[Special:Captcha/help|ìžì„¸í•œ ì •ë³´]]):', # Fuzzy - 'questycaptcha-badlogin' => 'ìžë™í™”ëœ ë¹„ë°€ë²ˆí˜¸ 깨기로부터 보호하기 위해, ì•„ëž˜ì— ë³´ì´ëŠ” ì§ˆë¬¸ì— ë‹µí•´ì£¼ì„¸ìš” ([[Special:Captcha/help|ìžì„¸í•œ ì •ë³´]]):', # Fuzzy - 'questycaptcha-createaccount' => 'ìžë™í™”ëœ ê³„ì • 만들기로부터 보호하기 위해, ì•„ëž˜ì— ë³´ì´ëŠ” ì§ˆë¬¸ì— ë‹µí•´ì£¼ì„¸ìš” ([[Special:Captcha/help|ìžì„¸í•œ ì •ë³´]]):', # Fuzzy + 'questycaptcha-addurl' => 'íŽ¸ì§‘ì— ìƒˆë¡œìš´ 바깥 ê³ ë¦¬ê°€ í¬í•¨ë˜ì–´ 있습니다. +ìžë™ 편집 스팸으로부터 보호하기 위해, ì•„ëž˜ì— ë³´ì´ëŠ” ì§ˆë¬¸ì— ë‹µí•´ì£¼ì„¸ìš” ([[Special:Captcha/help|ìžì„¸í•œ ì •ë³´]]):', + 'questycaptcha-badlogin' => 'ìžë™ 비밀번호 í¬ëž˜í‚¹ìœ¼ë¡œë¶€í„° 보호하기 위해, ì•„ëž˜ì— ë³´ì´ëŠ” ì§ˆë¬¸ì— ë‹µí•´ì£¼ì„¸ìš” ([[Special:Captcha/help|ìžì„¸í•œ ì •ë³´]]):', + 'questycaptcha-createaccount' => 'ìžë™ ê³„ì • 만들기로부터 보호하기 위해, ì•„ëž˜ì— ë³´ì´ëŠ” ì§ˆë¬¸ì— ë‹µí•´ì£¼ì„¸ìš” ([[Special:Captcha/help|ìžì„¸í•œ ì •ë³´]]):', 'questycaptcha-create' => '문서를 ë§Œë“œë ¤ë©´ ì•„ëž˜ì— ë³´ì´ëŠ” ì§ˆë¬¸ì— ë‹µí•´ì£¼ì„¸ìš” ([[Special:Captcha/help|ìžì„¸í•œ ì •ë³´]]):', 'questycaptcha-edit' => 'ì´ ë¬¸ì„œë¥¼ íŽ¸ì§‘í•˜ë ¤ë©´ ì•„ëž˜ì— ë³´ì´ëŠ” ì§ˆë¬¸ì— ë‹µí•´ì£¼ì„¸ìš” ([[Special:Captcha/help|ìžì„¸í•œ ì •ë³´]]):', - 'questycaptcha-sendemail' => 'ìžë™í™”ëœ ìŠ¤íŒ¸ìœ¼ë¡œë¶€í„° 보호하기 위해, ì•„ëž˜ì— ë³´ì´ëŠ” ì§ˆë¬¸ì— ë‹µí•´ì£¼ì„¸ìš” ([[Special:Captcha/help|ìžì„¸í•œ ì •ë³´]]):', # Fuzzy + 'questycaptcha-sendemail' => 'ìžë™ 스팸으로부터 보호하기 위해, ì•„ëž˜ì— ë³´ì´ëŠ” ì§ˆë¬¸ì— ë‹µí•´ì£¼ì„¸ìš” ([[Special:Captcha/help|ìžì„¸í•œ ì •ë³´]]):', 'questycaptchahelp-text' => 'ì´ ìœ„í‚¤ì™€ ê°™ì´ ì‚¬ëžŒì˜ ê³µê°œì ì¸ ì°¸ì—¬ê°€ 가능한 웹 사ì´íŠ¸ì—서는 ìžë™ í”„ë¡œê·¸ëž¨ì´ ìŠ¤íŒ¸ì„ ë¿Œë¦¬ëŠ” 경우가 있습니다. ë¬¼ë¡ ì´ëŸ¬í•œ ìŠ¤íŒ¸ì€ ì œê±°í• ìˆ˜ëŠ” 있지만 번거로운 ìž‘ì—…ì´ ëŠ˜ì–´ë‚©ë‹ˆë‹¤. @@ -793,7 +794,7 @@ Fir d'Wiki géint automatesche Spam-Ännerungen ze schützen, froe mir Iech d'Fr 'questycaptcha-edit' => "Fir dës Säit z'änneren, beäntwert w.e.g. déi Fro hei ënnedrënner ([[Special:Captcha/help|méi Informatiounen]]):", 'questycaptcha-sendemail' => 'Fir ze hëllefe dës Wiki géint automatiséierte Spam ze schütze, beäntwert w.e.g. déi Fro hei ënnendrënner ([[Special:Captcha/help|méi Informatiounen]]):', 'questycaptchahelp-text' => "Websäiten, déi et jiddwerengem erlaben Ännerunge virzehuelen, sou wéi dës Wiki, ginn dacks vu sougenannte Spammer mëssbraucht, déi automatiséiert hir Linken op vill Internetsäite setzen. -Esou Spam-Linke kënne wuel geläscht ginn, mä si sinn trotzdem eng grouss Plo. +Sou Spam-Linke kënne wuel geläscht ginn, mä si sinn trotzdeem eng grouss Plo. Heiansdo, besonnesch wann nei Internet-Linken op eng Säit derbäigesat ginn, freet dës Wiki Iech eng Fro ze beäntwerten. Well dëst eng Aufgab ass déi schwéier z'automatiséieren ass, erlaabt dëst datt Mënschen hir Ännerunge kënnen agi während déi meescht Spammer an aner Roboter-Attacke kënnen ofgewiert ginn. @@ -837,7 +838,7 @@ $messages['mk'] = array( Контактирајте ги [[Special:ListAdmins|админиÑтраторите на Ñтраната]] за помош доколку ова неочекувано ве Ñпречува во правењето на иÑкрени придонеÑи. -Кликнете на копчето „назад“ во вашиот прелиÑувач за да Ñе вратите на уредувањето на Ñтраницата.', +СтиÑнете на копчето „назад“ во вашиот прелиÑувач за да Ñе вратите на уредувањето на Ñтраницата.', ); /** Malayalam (മലയാളം) @@ -1108,13 +1109,13 @@ ApăsaÈ›i butonul „Înapoi†al navigatorului pentru a vă reîntoarce la pag * @author Joetaras */ $messages['roa-tara'] = array( - 'questycaptcha-addurl' => "'U cangiamende tue inglude de le collegaminde esterne. -Pe aiutà a proteggere condre a 'u spam automateche, pe piacere respunne a 'a domande ca combare sotte ([[Special:Captcha/help|cchiù 'mbormaziune]]):", # Fuzzy - 'questycaptcha-badlogin' => "Pe aiutà a proteggere condre a futteminde automatece de password, pe piacere respunne a 'a domande ca combare aqquà sotte ([[Special:Captcha/help|more info]]):", # Fuzzy - 'questycaptcha-createaccount' => "Pe aiutà a proteggere condre a ccreazione automateche de cunde utinde, pe piacere respunne a 'a domande ca combare aqquà sotte ([[Special:Captcha/help|more info]]):", # Fuzzy + 'questycaptcha-addurl' => "'U cangiamende tune 'nglude de le collegaminde de fore. +Peproteggere condre a 'u spam automateche, pe piacere respunne a 'a domande ca iesse sotte ([[Special:Captcha/help|cchiù 'mbormaziune]]):", + 'questycaptcha-badlogin' => "Pe proteggere condre a futteminde automatece de password, pe piacere respunne a 'a domande ca iesse aqquà sotte ([[Special:Captcha/help|cchiù 'mbormaziune]]):", + 'questycaptcha-createaccount' => "Pe proteggere condre a ccreazione automateche de cunde utinde, pe piacere respunne a 'a domande ca iesse aqquà sotte ([[Special:Captcha/help|cchiù 'mbormaziune]]):", 'questycaptcha-create' => "Pe ccrejà sta pà gene, pe piacere respunne a 'a domande ca combare aqquà sotte ([[Special:Captcha/help|more info]]):", 'questycaptcha-edit' => "Pe cangià sta pà gene, pe piacere respunne a 'a domande ca combare aqquà sotte ([[Special:Captcha/help|more info]]):", - 'questycaptcha-sendemail' => "Pe aiutà a proteggere condre a spam automatece, pe piacere respunne a 'a domande ca combare aqquà sotte ([[Special:Captcha/help|cchiù 'mbormaziune]]):", # Fuzzy + 'questycaptcha-sendemail' => "Pe proteggere condre a spam automatece, pe piacere respunne a 'a domande ca iesse aqquà sotte ([[Special:Captcha/help|cchiù 'mbormaziune]]):", 'questycaptchahelp-text' => "Le site web ca accettane condrebbute da 'u pubbleche, cumme sta Uicchi, sonde spesse abusate da le ''spammer'' ca ausane struminde automatece e aggiungene le lore collegaminde a 'nu sacche de site.<br /> Pure ca chiste collegaminde de spam ponne essere luate, lore sò sembre 'nu scassamende de palle.<br /> <br /> diff --git a/extensions/ConfirmEdit/ReCaptcha.i18n.php b/extensions/ConfirmEdit/ReCaptcha.i18n.php index 9e2c4781..5572656a 100644 --- a/extensions/ConfirmEdit/ReCaptcha.i18n.php +++ b/extensions/ConfirmEdit/ReCaptcha.i18n.php @@ -81,10 +81,10 @@ $messages['be-tarask'] = array( $messages['br'] = array( 'recaptcha-edit' => "Evit sikour en em wareziñ diouzh ar stroboù emgefre, merkit an daou c'her a welit er voest dindan :", 'recaptcha-addurl' => "Liamm diavaez nevez zo bet degaset ganeoc'h. Evit sikour en em wareziñ diouzh ar stroboù, merkit an daou c'her a welit er voest dindan :", - 'recaptcha-badlogin' => "Da sikour en em wareziñ diouzh an diskuliañ gerioù-tremen emgefre dre daolioù-esae, merkit an daou c'her a welit er voest dindan :", # Fuzzy - 'recaptcha-createaccount' => "Da sikour en em wareziñ diouzh ar c'hrouiñ kontoù emgefre, merkit an daou c'her a welit er voest dindan :", # Fuzzy + 'recaptcha-badlogin' => "Evit sikour da wareziñ ar wiki diouzh an diskuliañ gerioù-tremen emgefre dre daolioù-esae, merkit an daou c'her a welit er voest dindan :", + 'recaptcha-createaccount' => "Evit sikour d'en em wareziñ diouzh ar c'hrouiñ kontoù emgefre, merkit an daou c'her a welit er voest dindan :", 'recaptcha-createaccount-fail' => 'Respont reCAPTHCA faziek pe ezvezant.', - 'recaptcha-create' => "Da sikour en em wareziñ diouzh ar c'hrouiñ pajennoù emgefre, merkit an daou c'her a welit er voest dindan :", # Fuzzy + 'recaptcha-create' => "Evit sikour d'en em wareziñ diouzh ar c'hrouiñ pajennoù emgefre, merkit an daou c'her a welit er voest dindan :", ); /** Bosnian (bosanski) @@ -99,18 +99,18 @@ $messages['bs'] = array( 'recaptcha-create' => 'Da bismo pomogli protiv automatiziranog pravljenja stranica, molimo upiÅ¡ite dvije rijeÄi koje vidite u kutiju ispod:', # Fuzzy ); -/** Czech (Äesky) +/** Czech (ÄeÅ¡tina) * @author Jkjk * @author Mormegil */ $messages['cs'] = array( 'recaptcha-desc' => 'Podpora reCAPTCHA pro rozÅ¡ÃÅ™enà Confirm Edit', - 'recaptcha-edit' => 'V zájmu ochrany pÅ™ed automatickým spamovánÃm opiÅ¡te dvÄ› slova, která vidÃte na obrázku:', # Fuzzy - 'recaptcha-addurl' => 'VaÅ¡e editace obsahuje nové externà odkazy. V zájmu ochrany pÅ™ed automatickým spamovánÃm opiÅ¡te dvÄ› slova, která vidÃte na obrázku:', # Fuzzy - 'recaptcha-badlogin' => 'V zájmu ochrany proti automatickým pokusům uhodnout heslo opiÅ¡te dvÄ› slova, která vidÃte na obrázku:', # Fuzzy - 'recaptcha-createaccount' => 'V rámci ochrany pÅ™ed automatickým vytvářenÃm úÄtů opiÅ¡te dvÄ› slova, která vidÃte na obrázku:', # Fuzzy + 'recaptcha-edit' => 'V zájmu ochrany této wiki pÅ™ed automatickým spamovánÃm vás prosÃme o opsánà dvou slov, která vidÃte v rámeÄku nÞe:', + 'recaptcha-addurl' => 'VaÅ¡e editace obsahuje nové externà odkazy. V zájmu ochrany této wiki pÅ™ed automatickým spamovánÃm vás prosÃme o opsánà dvou slov, která vidÃte v rámeÄku nÞe:', + 'recaptcha-badlogin' => 'V zájmu ochrany této wiki proti automatickým pokusům uhodnout heslo vás prosÃme o opsánà dvou slov, která vidÃte v rámeÄku nÞe:', + 'recaptcha-createaccount' => 'V zájmu ochrany této wiki pÅ™ed automatickým vytvářenÃm úÄtů vás prosÃme o opsánà dvou slov, která vidÃte v rámeÄku nÞe:', 'recaptcha-createaccount-fail' => 'Nesprávná nebo chybÄ›jÃcà odpovÄ›Ä na reCAPTCHA.', - 'recaptcha-create' => 'V zájmu ochrany pÅ™ed automatickým zakládánÃm stránek opiÅ¡te dvÄ› slova, která vidÃte na obrázku:', # Fuzzy + 'recaptcha-create' => 'V zájmu ochrany pÅ™ed automatickým zakládánÃm stránek vás prosÃme o opsánà dvou slov, která vidÃte v rámeÄku nÞe:', ); /** Welsh (Cymraeg) @@ -166,6 +166,18 @@ $messages['es'] = array( 'recaptcha-create' => 'Para protegernos de la creación automática de páginas, escribe las dos palabras que ves en el cuadro de abajo:', # Fuzzy ); +/** Persian (Ùارسی) + * @author Armin1392 + */ +$messages['fa'] = array( + 'recaptcha-edit' => 'برای Ù…ØاÙظت ویکی دربرابر ویرایش خودکار اسپم، ما دوستانه از شما درخواست می‌کنیم Ú©Ù‡ دو کلمه‌ای را Ú©Ù‡ در جعبهٔ زیر می‌بینید را بنویسید:', + 'recaptcha-addurl' => 'ویرایش شما شامل لینک‌های خارجی جدید است.برای Ù…ØاÙظت ویکی دربرابر اسپم خودکار، ما دوستانه از شما درخواست می‌کنیم Ú©Ù‡ دو کلمه‌ای را Ú©Ù‡ در جعبهٔ زیر می‌بینید را بنویسید:', + 'recaptcha-badlogin' => 'برای Ù…ØاÙظت ویکی دربرابر رخنهٔ رمز عبور به طور خودکار، ما دوستانه از شما درخواست می‌کنیم Ú©Ù‡ دو کلمه‌ای را Ú©Ù‡ در جعبهٔ زیر می‌بینید را بنویسید:', + 'recaptcha-createaccount' => 'برای Ù…ØاÙظت ویکی دربرابر ایجاد Øساب به طور خودکار، ما دوستانه از شما درخواست می‌کنیم Ú©Ù‡ دو کلمه‌ای را Ú©Ù‡ در جعبهٔ زیر می‌بینید را بنویسید:', + 'recaptcha-createaccount-fail' => 'پاسخ نادرست یا عدم وجود ری‌سی‌اÙی‌پی‌تی‌سی‌اچ‌اÙÛŒ.', + 'recaptcha-create' => 'برای Ù…ØاÙظت ویکی دربرابر ایجاد صÙØÙ‡ به طور خودکار، ما دوستانه از شما درخواست می‌کنیم Ú©Ù‡ دو کلمه‌ای را Ú©Ù‡ در جعبهٔ زیر می‌بینید را بنویسید:', +); + /** Finnish (suomi) * @author Nedergard * @author VezonThunder @@ -182,8 +194,10 @@ $messages['fi'] = array( /** French (français) * @author Gomoko * @author Urhixidur + * @author Verdy p */ $messages['fr'] = array( + 'recaptcha-desc' => 'module reCAPTCHA pour Confirmer Modifier', 'recaptcha-edit' => 'Afin de protéger le wiki du spam des modifications automatisées, nous vous demandons de bien vouloir écrire les deux mots visibles dans le cadre ci-dessous :', 'recaptcha-addurl' => 'Votre contribution contient des liens vers un site externe. Pour protéger le wiki contre le spam automatisé, nous vous demandons de bien vouloir écrire les deux mots visibles dans le cadre qui suit :', 'recaptcha-badlogin' => 'Pour protéger le wiki des essais automatiques de cassage de mot de passe, nous vous demandons de bien vouloir écrire les deux mots visibles dans le cadre qui suit:', @@ -218,26 +232,27 @@ $messages['gsw'] = array( ); /** Hebrew (עברית) + * @author Yona b */ $messages['he'] = array( - 'recaptcha-edit' => '××™× ×›× ×ž×©×ª×ž×© רשו×.×›×”×’× ×” ×ž×¤× ×™ ספ×× ×וטומטי, ×× × ×”×§×œ×™×“×• ×ת שתי ×”×ž×™×œ×™× ×©×œ×”×œ×Ÿ. תודה.', # Fuzzy - 'recaptcha-addurl' => '××™× ×›× ×ž×©×ª×ž×© רשו×.×›×”×’× ×” ×ž×¤× ×™ ספ×× ×וטומטי, ×× × ×”×§×œ×™×“×• ×ת שתי ×”×ž×™×œ×™× ×©×œ×”×œ×Ÿ. תודה.', # Fuzzy - 'recaptcha-badlogin' => '×›×”×’× ×” ×ž×¤× ×™ מפצחי סיסמ×ות ××•×˜×•×ž×˜×™×™× ×× × ×”×§×œ×™×“×• ×ת שתי ×”×ž×™×œ×™× ×©×œ×”×œ×Ÿ:', # Fuzzy - 'recaptcha-createaccount' => '×›×”×’× ×” ×ž×¤× ×™ יצירת ×—×©×‘×•× ×•×ª ×¤×™×§×˜×™×‘×™×™× ×¢"×™ ××•×˜×•×ž×˜×™× ×× × ×”×§×œ×™×“×• ×ת שתי ×”×ž×™×œ×™× ×©×œ×”×œ×Ÿ:', # Fuzzy + 'recaptcha-edit' => '××™× ×›× ×ž×©×ª×ž×© רשו×. ×›×”×’× ×” ×ž×¤× ×™ ספ×× ×וטומטי, ×× × ×”×§×œ×™×“×• ×ת שתי ×”×ž×™×œ×™× ×©×œ×”×œ×Ÿ. תודה.', + 'recaptcha-addurl' => '×¢×¨×™×›×ª×›× ×›×•×œ×œ×ª ×§×™×©×•×¨×™× ×—×™×¦×•× ×™×™× ×—×“×©×™×. ×›×”×’× ×” ×ž×¤× ×™ ספ×× ×וטומטי, ×× × ×”×§×œ×™×“×• ×ת שתי ×”×ž×™×œ×™× ×©×œ×”×œ×Ÿ. תודה.', + 'recaptcha-badlogin' => '×›×”×’× ×” ×ž×¤× ×™ מפצחי סיסמ×ות ×וטומטיי×, ×× × ×”×§×œ×™×“×• ×ת שתי ×”×ž×™×œ×™× ×©×œ×”×œ×Ÿ:', + 'recaptcha-createaccount' => '×›×”×’× ×” ×ž×¤× ×™ יצירה ×וטומטית של ×—×©×‘×•× ×•×ª, × × ×”×§×œ×™×“×• ×ת שתי ×”×ž×™×œ×™× ×©×œ×”×œ×Ÿ:', 'recaptcha-createaccount-fail' => '×œ× ×”×•×§×œ×“×• מילות ×”×ישור, ×ו שהוקלדו ×ž×™×œ×™× ×œ× × ×›×•× ×•×ª. × ×¡×• ×©× ×™×ª.', - 'recaptcha-create' => '××™× ×›× ×ž×©×ª×ž×© רשו×.×›×”×’× ×” ×ž×¤× ×™ ספ×× ×וטומטי, ×× × ×”×§×œ×™×“×• ×ת שתי ×”×ž×™×œ×™× ×©×œ×”×œ×Ÿ. תודה.', # Fuzzy + 'recaptcha-create' => '××™× ×›× ×ž×©×ª×ž×© רשו×. ×›×”×’× ×” ×ž×¤× ×™ ספ×× ×וטומטי, ×× × ×”×§×œ×™×“×• ×ת שתי ×”×ž×™×œ×™× ×©×œ×”×œ×Ÿ. תודה.', ); /** Upper Sorbian (hornjoserbsce) * @author Michawiki */ $messages['hsb'] = array( - 'recaptcha-edit' => 'Za Å¡kit pÅ™ećiwo awtomatizowanemu spamej, proÅ¡u zapisaj dwÄ› sÅ‚owje, kotrejž w slÄ›dowacym polu widźiÅ¡:', # Fuzzy - 'recaptcha-addurl' => 'Twoja zmÄ›na wobsahuje nowe eksterne wotkazy. Za Å¡kit pÅ™ećiwo awtomatizowanemu spamej, proÅ¡u zapisaj dwÄ› sÅ‚owje, kotrerjž w slÄ›dowacym polu widźiÅ¡:', # Fuzzy - 'recaptcha-badlogin' => 'Za Å¡kit pÅ™ećiwo awtomatizowanemu zÅ‚amanju hesÅ‚ow, zapisaj proÅ¡u wobÄ› sÅ‚owje, kotrejž widźiÅ¡, do slÄ›dowaceho pola:', # Fuzzy - 'recaptcha-createaccount' => 'Za Å¡kit pÅ™ećiwo awtomatiskemu wutworjenju konta, proÅ¡u zapisaj tej wobÄ› sÅ‚owje, kotrejž w slÄ›dowacym polu widźiÅ¡:', # Fuzzy + 'recaptcha-edit' => 'Zo by wiki pÅ™ećiwo awtomatizowanemu spamej Å¡kitaÅ‚, zapisaj proÅ¡u dwÄ› sÅ‚owje, kotrejž w slÄ›dowacym polu widźiÅ¡:', + 'recaptcha-addurl' => 'Twoja zmÄ›na wobsahuje nowe eksterne wotkazy. Zo by wiki pÅ™ećiwo awtomatizowanemu spamej Å¡kitaÅ‚, zapisaj proÅ¡u dwÄ› sÅ‚owje, kotrejž w slÄ›dowacym polu widźiÅ¡:', + 'recaptcha-badlogin' => 'Zo by wiki pÅ™ećiwo awtomatizowanemu zÅ‚amanju hesÅ‚ow Å¡kitaÅ‚, zapisaj proÅ¡u dwÄ› sÅ‚owje, kotrejž widźiÅ¡, do slÄ›dowaceho pola:', + 'recaptcha-createaccount' => 'Zo by wiki pÅ™ećiwo awtomatiskemu wutworjenju konta Å¡kitaÅ‚, zapisaj proÅ¡u dwÄ› sÅ‚owje, kotrejž w slÄ›dowacym polu widźiÅ¡:', 'recaptcha-createaccount-fail' => 'WopaÄna abo falowaca wotmoÅ‚wa reCAPTCHA.', - 'recaptcha-create' => 'Za Å¡kit pÅ™ećiwo awtomatiskemu wutworjenju strony, proÅ¡u zapisaj tej wobÄ› sÅ‚owje, kotrejž w slÄ›dowacym polu widźiÅ¡:', # Fuzzy + 'recaptcha-create' => 'Zo by wiki pÅ™ećiwo awtomatiskemu wutworjenju strony Å¡kitaÅ‚, zapisaj proÅ¡u dwÄ› sÅ‚owje, kotrejž w slÄ›dowacym polu widźiÅ¡:', ); /** Interlingua (interlingua) @@ -291,16 +306,17 @@ $messages['ja'] = array( ); /** Korean (í•œêµì–´) + * @author Priviet * @author ì•„ë¼ */ $messages['ko'] = array( 'recaptcha-desc' => '편집 확ì¸ì— 대한 reCAPCHA 모듈', - 'recaptcha-edit' => 'ìžë™í™”ëœ íŽ¸ì§‘ 스팸으로부터 보호하기 위해, 아래 ìƒìžì— ë³´ì´ëŠ” ë‘ ë‚±ë§ì„ ìž…ë ¥í•˜ì„¸ìš”:', # Fuzzy - 'recaptcha-addurl' => 'íŽ¸ì§‘ì— ìƒˆë¡œìš´ 바깥 ë§í¬ê°€ í¬í•¨ë˜ì–´ 있습니다. ìžë™í™”ëœ ìŠ¤íŒ¸ìœ¼ë¡œë¶€í„° 보호하기 위해, 아래 ìƒìžì— ë³´ì´ëŠ” ë‘ ë‚±ë§ì„ ìž…ë ¥í•˜ì„¸ìš”:', # Fuzzy - 'recaptcha-badlogin' => 'ìžë™í™”ëœ ë¹„ë°€ë²ˆí˜¸ 깨기로부터 보호하기 위해, 아래 ìƒìžì— ë³´ì´ëŠ” ë‘ ë‚±ë§ì„ ìž…ë ¥í•˜ì„¸ìš”:', # Fuzzy - 'recaptcha-createaccount' => 'ìžë™í™”ëœ ê³„ì • 만들기로부터 보호하기 위해, 아래 ìƒìžì— ë³´ì´ëŠ” ë‘ ë‚±ë§ì„ ìž…ë ¥í•˜ì„¸ìš”:', # Fuzzy + 'recaptcha-edit' => 'ìžë™ 편집 스팸으로부터 보호하기 위해, 아래 ìƒìžì— ë³´ì´ëŠ” ë‘ ë‚±ë§ì„ ìž…ë ¥í•˜ì„¸ìš”:', + 'recaptcha-addurl' => 'íŽ¸ì§‘ì— ìƒˆë¡œìš´ 바깥 ê³ ë¦¬ê°€ í¬í•¨ë˜ì–´ 있습니다. ìžë™ 스팸으로부터 보호하기 위해, 아래 ìƒìžì— ë³´ì´ëŠ” ë‘ ë‚±ë§ì„ ìž…ë ¥í•˜ì„¸ìš”:', + 'recaptcha-badlogin' => 'ìžë™ 비밀번호 í¬ëž˜í‚¹ìœ¼ë¡œë¶€í„° 보호하기 위해, 아래 ìƒìžì— ë³´ì´ëŠ” ë‘ ë‚±ë§ì„ ìž…ë ¥í•˜ì„¸ìš”:', + 'recaptcha-createaccount' => 'ìžë™í™”ëœ ê³„ì • 만들기로부터 보호하기 위해, 아래 ìƒìžì— ë³´ì´ëŠ” ë‘ ë‚±ë§ì„ ìž…ë ¥í•˜ì„¸ìš”:', 'recaptcha-createaccount-fail' => 'reCAPTCHA ë‹µì´ ì˜¬ë°”ë¥´ì§€ 않거나 없습니다.', - 'recaptcha-create' => 'ìžë™í™”ëœ ë¬¸ì„œ 만들기로부터 보호하기 위해, 아래 ìƒìžì— ë³´ì´ëŠ” ë‘ ë‚±ë§ì„ ìž…ë ¥í•˜ì„¸ìš”:', # Fuzzy + 'recaptcha-create' => 'ìžë™ 문서 ìƒì„±ì„ 막기 위해 아래 ìƒìžì— ë³´ì´ëŠ” ë‘ ë‚±ë§ì„ ìž…ë ¥í•˜ì„¸ìš”:', ); /** Colognian (Ripoarisch) @@ -464,12 +480,12 @@ $messages['pt-br'] = array( * @author Joetaras */ $messages['roa-tara'] = array( - 'recaptcha-edit' => "Pe darne 'na mà ne a proteggere condre le cangiaminde automatece de le rummate, pe piacere scrive le doje parole ca 'ndruche jndr'à buatte aqquà sotte:", # Fuzzy - 'recaptcha-addurl' => "Le cangiaminde tune 'ngludone collegaminde de fore nuève. Pe darne 'na mà ne a proteggere condre le cangiaminde automatece de le rummate, pe piacere scrive le doje parole ca 'ndruche jndr'à buatte aqquà sotte:", # Fuzzy - 'recaptcha-badlogin' => "Pe darne 'na mà ne a proteggere condre le futteminde automatece de le passuord, pe piacere scrive le doje parole ca 'ndruche jndr'à buatte aqquà sotte:", # Fuzzy - 'recaptcha-createaccount' => "Pe darne 'na mà ne a proteggere condre le ccrejaziune automatece de le cunde, pe piacere scrive le doje parole ca 'ndruche jndr'à buatte aqquà sotte:", # Fuzzy + 'recaptcha-edit' => "Pe proteggere condre le cangiaminde automatece de le rummate, pe piacere scrive le doje parole ca 'ndruche jndr'à buatte aqquà sotte:", + 'recaptcha-addurl' => "Le cangiaminde tune 'ngludone collegaminde de fore nuève. Pe proteggere condre le cangiaminde automatece de le rummate, pe piacere scrive le doje parole ca 'ndruche jndr'à buatte aqquà sotte:", + 'recaptcha-badlogin' => "Pe proteggere condre le futteminde automatece de le passuord, pe piacere scrive le doje parole ca 'ndruche jndr'à buatte aqquà sotte:", + 'recaptcha-createaccount' => "Pe proteggere condre le ccrejaziune automatece de le cunde, pe piacere scrive le doje parole ca 'ndruche jndr'à buatte aqquà sotte:", 'recaptcha-createaccount-fail' => 'Resposte reCAPTCHA ingorrette o mangande.', - 'recaptcha-create' => "Pe darne 'na mà ne a proteggere condre le ccrejaziune automatece de le pà ggene, pe piacere scrive le doje parole ca 'ndruche jndr'à buatte aqquà sotte:", # Fuzzy + 'recaptcha-create' => "Pe proteggere condre le ccrejaziune automatece de le pà ggene, pe piacere scrive le doje parole ca 'ndruche jndr'à buatte aqquà sotte:", ); /** Russian (руÑÑкий) diff --git a/extensions/Gadgets/ApiQueryGadgets.php b/extensions/Gadgets/ApiQueryGadgets.php index a529daf0..94c4f04d 100644 --- a/extensions/Gadgets/ApiQueryGadgets.php +++ b/extensions/Gadgets/ApiQueryGadgets.php @@ -214,7 +214,7 @@ class ApiQueryGadgets extends ApiQueryBase { ' api.php?action=query&list=gadgets&gaprop=id|desc', 'Get a list of gadgets with all possible properties:', " api.php?action=query&list=gadgets&gaprop=$allProps", - 'Get a list of gadgets belonging to caregory "foo":', + 'Get a list of gadgets belonging to category "foo":', ' api.php?action=query&list=gadgets&gacategories=foo', 'Get information about gadgets "foo" and "bar":', ' api.php?action=query&list=gadgets&gaids=foo|bar&gaprop=id|desc|metadata', diff --git a/extensions/Gadgets/COPYING b/extensions/Gadgets/COPYING new file mode 100644 index 00000000..d159169d --- /dev/null +++ b/extensions/Gadgets/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + 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. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/extensions/Gadgets/Gadgets.alias.php b/extensions/Gadgets/Gadgets.alias.php index 7f3307a5..5ec050c9 100644 --- a/extensions/Gadgets/Gadgets.alias.php +++ b/extensions/Gadgets/Gadgets.alias.php @@ -59,7 +59,7 @@ $specialPageAliases['ce'] = array( 'Gadgets' => array( 'Гаджеташ' ), ); -/** Czech (Äesky) */ +/** Czech (ÄeÅ¡tina) */ $specialPageAliases['cs'] = array( 'Gadgets' => array( 'UdÄ›látka' ), ); @@ -136,7 +136,7 @@ $specialPageAliases['haw'] = array( /** Hebrew (עברית) */ $specialPageAliases['he'] = array( - 'Gadgets' => array( 'סקריפטי×' ), + 'Gadgets' => array( '×’×דג\'טי×', 'סקריפטי×' ), ); /** Hindi (हिनà¥à¤¦à¥€) */ diff --git a/extensions/Gadgets/Gadgets.i18n.php b/extensions/Gadgets/Gadgets.i18n.php index 2cef466a..b5cbc28a 100644 --- a/extensions/Gadgets/Gadgets.i18n.php +++ b/extensions/Gadgets/Gadgets.i18n.php @@ -379,9 +379,9 @@ $messages['ba'] = array( 'gadgets' => 'Гаджеттар', 'gadgets-title' => 'Гаджеттар', 'gadgets-uses' => 'Ò ÑƒÐ»Ð»Ð°Ð½Ñ‹Ð»Ð°', - 'gadgets-required-rights' => '{{PLURAL:$2|Хоҡуҡ талап ителә|Хоҡутар талап ителә}}: + 'gadgets-required-rights' => '{{PLURAL:$2|1=Хоҡуҡ талап ителә|Хоҡутар талап ителә}}: -$1', +$1', # Fuzzy 'gadgets-export' => 'Сығарырға', 'gadgets-not-found' => '"$1" гаджеты табылманы.', 'gadgets-export-download' => 'КүÑереп алырға', @@ -459,10 +459,10 @@ $messages['be-tarask'] = array( 'gadgets-pagetext' => 'ÐіжÑй знаходзіцца ÑÑŒÐ¿Ñ–Ñ Ð³Ð°Ð´Ð¶Ñтаў, ÑÐºÑ–Ñ ÑžÐ´Ð·ÐµÐ»ÑŒÐ½Ñ–ÐºÑ– могуць уключыць у [[Special:Preferences#mw-prefsection-gadgets|Ñваіх наладах]], у адпаведнаÑьці Ñа ÑьпіÑам на Ñтаронцы [[MediaWiki:Gadgets-definition|вызначÑньнÑÑž]]. ГÑÑ‚Ñ‹ ÑÑŒÐ¿Ñ–Ñ Ð´Ð°Ð·Ð²Ð°Ð»Ñе лёгка атрымаць доÑтуп да Ñтаронак ÑÑ‹ÑÑ‚Ñмных паведамленьнÑÑž, ÑÐºÑ–Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°ÑŽÑ†ÑŒ апіÑаньні Ñ– ÐºÑ€Ñ‹Ð½Ñ–Ñ‡Ð½Ñ‹Ñ ÐºÐ¾Ð´Ñ‹ гаджÑтаў.', 'gadgets-uses' => 'ВыкарыÑтоўвае', - 'gadgets-required-rights' => '{{PLURAL:$2|Патрабуецца права|Патрабуюцца наÑÑ‚ÑƒÐ¿Ð½Ñ‹Ñ Ð¿Ñ€Ð°Ð²Ñ‹}}: + 'gadgets-required-rights' => '{{PLURAL:$2|1=Патрабуецца права|Патрабуюцца наÑÑ‚ÑƒÐ¿Ð½Ñ‹Ñ Ð¿Ñ€Ð°Ð²Ñ‹}}: -$1', - 'gadgets-required-skins' => 'ДаÑтупны Ñž {{PLURAL:$2|Ñ‚Ñме $1|наÑтупных Ñ‚Ñмах: $1}}.', +$1', # Fuzzy + 'gadgets-required-skins' => 'ДаÑтупны Ñž {{PLURAL:$2|1=Ñ‚Ñме $1|наÑтупных Ñ‚Ñмах: $1}}.', # Fuzzy 'gadgets-default' => 'Ð”Ð°Ð·Ð²Ð¾Ð»ÐµÐ½Ñ‹Ñ Ð´Ð»Ñ ÑžÑÑ–Ñ… па змоўчваньні.', 'gadgets-export' => 'ÐкÑпартаваць', 'gadgets-export-title' => 'ÐкÑпарт гаджÑта', @@ -634,19 +634,29 @@ Heu de tenir els permisos adequats en el wiki de destinació (incloent-hi els pe */ $messages['ce'] = array( 'gadgets-desc' => 'Ðтто бо декъашхошна харжам ба [[Special:Preferences#mw-prefsection-gadgets|гIÐ¸Ñ€Ñ Ð½Ð¸Ñбарца]] CSS- а JavaScript-Ñ…Iоттончаш, лато лууш йерш', # Fuzzy - 'prefs-gadgets' => 'Ð¥lоттончаш', - 'gadgets-prefstext' => 'Лаххьа балийна леррина Ñ…lоттончаш могlам, шуьга шайга латалур йолуш хьай долахь долучу дакъан. -Ð¥lара Ñ…lоттончаш дукхачу хьолÑÑ…ÑŒ болх беш ÑŽ оцу JavaScript Ñ‚lÑÑ…ÑŒ, цундела аша латоеза JavaScript шай дуьнена машан гlирÑа чохь, цаьрга болх байта. -Диц маделаш, Ñ…lара Ñ…lоттончаш болх бÑш Ñз Ñ…lо гlÐ¸Ñ€Ñ Ð½Ð¸Ñбо агlон чохь. + 'prefs-gadgets' => 'Гаджеташ', + 'gadgets-prefstext' => 'Лаххьа балийна леррина гаджеташ могӀам, шуьга шайга латалур йолуш хьай долахь долучу дакъан. +ХӀара гаджеташ дуккхачу хьолехь болх беш ÑŽ оцу JavaScript тӀехь, цундела аша латоеза JavaScript шай браузер чохь, цаьрга болх байта. +Диц маделаш, хӀара гаджеташ болх бÑш Ñц хӀо Ð³Ó€Ð¸Ñ€Ñ Ð½Ð¸Ñбо агӀон чохь. -Ишта диц маде, Ñ…lара Ñ…lоттончаш юкъа йогуш Ñз кху MediaWiki гlирÑашна, мадарра аьльча шу Ñанна декъашхоша шаьш йеш ÑŽ. +Ишта диц маде, хӀара гаджеташ юкъа йогуш Ñц кху MediaWiki гlирÑашна, мадарра аьльча шу Ñанна декъашхоша шаьш йеш ÑŽ. Ðдманкуьйгалхошка шайг хийцало и Ñ…lоттончи могlам, Ñ…lокх могlам гlонца [[MediaWiki:Gadgets-definition|къаÑтам бало]] а [[Special:Gadgets|церах лаьцна]].', - 'gadgets' => 'Ð¥lоттончаш', - 'gadgets-title' => 'Ð¥lоттончаш', + 'gadgets' => 'Гаджеташ', + 'gadgets-title' => 'Гаджеташ', 'gadgets-pagetext' => 'ГlирÑа хааман могlамаш, къаÑтош йолу Ñ…lоттончи цlераш, хуьлаш йолу Ñ…Iокху [[MediaWiki:Gadgets-definition|къаÑтамца]]]]. Ð¥Iокху могIамо атто бо гIирÑан хаамаш атта Ñ‚Iе кхочуш барца, цуьнах лаьцна Ñ…Iоттош а йолш йолучу Ñ…Iоттончи ишарца.', # Fuzzy - 'gadgets-uses' => 'Лелош йу', + 'gadgets-uses' => 'Лелош ÑŽ', + 'gadgets-required-rights' => '{{PLURAL:$2|1=Оьшуш ÑŽ бакъо|Оьшуш ÑŽ бакъонаш}}: + +$1', # Fuzzy + 'gadgets-default' => 'Латае маÑÑарна Iад йитарца.', 'gadgets-export' => 'ÐкÑпорт Ñн', + 'gadgets-export-title' => 'Гаджет ÑкÑпорт ÑÑ€', + 'gadgets-export-text' => 'Гаджет $1 ÑкÑпорт Ñн тӀетаӀае кнопка «{{int:gadgets-export-download}}», тӀакха чуÑьккхина файл Ӏалаше, +Special:Import агӀона дехьа гӀой чуÑккха файл. ТӀакха MediaWiki:Gadgets-definition агӀона чу билла лахара могӀа: +<pre>$2</pre> +И болх бан хьан бакъо хила еза (кхин ÑиÑтемин хаамаш та Ñн бакъо а хила еза), кхи Ñерверан чохь файлаш импорт йо Ð³Ó€Ð¸Ñ€Ñ Ð»Ð°Ñ‚Ð¸Ð½Ð° хила беза.', + 'gadgets-export-download' => 'ЧуÑккха', ); /** Sorani Kurdish (کوردی) @@ -679,7 +689,7 @@ $1', 'gadgets-export-download' => 'دایبگرە', ); -/** Czech (Äesky) +/** Czech (ÄeÅ¡tina) * @author Danny B. * @author Li-sung * @author Mormegil @@ -712,7 +722,7 @@ Na cÃlové wiki musÃte mÃt pÅ™ÃsluÅ¡ná oprávnÄ›nà (vÄetnÄ› práva editov 'gadgets-export-download' => 'Stáhnout', ); -/** Church Slavic (ÑловѣÌньÑкъ / ⰔⰎⰑⰂⰡâ°â° â°”â°â°Ÿ) +/** Church Slavic (ÑловѣньÑкъ / ⰔⰎⰑⰂⰡâ°â° â°”â°â°Ÿ) * @author ОйЛ */ $messages['cu'] = array( @@ -849,6 +859,7 @@ Sie müssen über die notwendigen Berechtigungen auf dem für den Import vorgese /** Zazaki (Zazaki) * @author Erdemaslancan * @author Gorizon + * @author Mirzali * @author Neribij * @author Olvörg * @author Xoser @@ -856,12 +867,12 @@ Sie müssen über die notwendigen Berechtigungen auf dem für den Import vorgese $messages['diq'] = array( 'gadgets-desc' => "Karberan ré destur bidek [[Special:Preferences#mw-prefsection-gadgets|hesıbyayan]]'ra [[Special:Gadgets|Hacetanê CSS u JavaScriptî]] bışé weçiné", 'prefs-gadgets' => 'Haleti', - 'gadgets-prefstext' => 'Cor de yew listeya hacetanê xasî esta ke ti eÅŸkenî xesabê xo de a bikî. -Enê hacatî JavaScript ser o gurêyenê, aya ra ti ganî browserê xo de JavaScript a bikî. -Ena pela opsiyonî de hacetî tesîr nêkenê. + 'gadgets-prefstext' => 'Cêr de yew lista hacetanê xasan esta ke tı ÅŸenay xesabê xo de a kerê. +Enê haceti JavaScript sero gureyenê, aye ra tı gani ageyrayoğê xo de JavaScript a kerê. +Ena pela opsiyoni de haceti tesir nêkenê. -Enê hacatanê xasî parçê sofwarê Mediyawîkî nîyê, aye ra karberê localî enê hacetî virazenê. -ÃŽdarekarê mehelî eÅŸkenê hacetan [[MediaWiki:Gadgets-definition|definitions]] û [[Special:Gadgets|descriptions]] ra bivurnê.', +Enê hacetê xasi parçê sofwarê Mediyawiki niyê, aye ra karberê locali enê haceti vırazenê. +Ä°darekarê meheli ÅŸenê be [[MediaWiki:Gadgets-definition|kıfÅŸkerdeyan]] û [[Special:Gadgets|arezekerdışan]] ra hacetanê mınasıban bıvurnê.', 'gadgets' => 'Haleti', 'gadgets-title' => 'Haleti', 'gadgets-pagetext' => 'Cêr de yew listeya hacetanê xasan esta ke ti eÅŸkenî [[Special:Preferences#mw-prefsection-gadgets|xesabê xo]] de a bikî, seke [[MediaWiki:Gadgets-definition|definitions]] nîşan dîyayo. @@ -1116,7 +1127,7 @@ $1', 'gadgets-export-text' => 'برای برون‌بری ابزار $1ØŒ بر دکمهٔ «{{int:gadgets-export-download}}» کلیک کنید، پروندهٔ بارگیری‌شده را ذخیره کنید، به ویژه:درون‌ریزی در ویکی مقصد بروید Ùˆ بارگذاری‌اش کنید. سپس این را به صÙØÙ‡Ù” مدیاویکی:Gadgets-definition بیÙزایید: <pre>$2</pre> لازم است تا در ویکی مقصد دسترسی‌های مناسب (شامل ØÙ‚ ویرایش پیغام‌های سامانه) را داشته باشید Ùˆ درون‌ریزی از بارگذاری‌های پرونده باید Ùعال شده باشد.', - 'gadgets-export-download' => 'بارگیری', + 'gadgets-export-download' => 'دریاÙت', ); /** Finnish (suomi) @@ -1380,6 +1391,7 @@ Special:Import નિયોજીત વિકિ પર Special:Import પર à /** Hebrew (עברית) * @author Amire80 * @author Guycn1 + * @author Guycn2 * @author Rotem Liss * @author YaronSh */ @@ -1401,7 +1413,7 @@ $messages['he'] = array( $1', 'gadgets-required-skins' => 'זמין {{PLURAL:$2|בערכות העיצוב הב×ות: $1|בערכת העיצוב $1}}', - 'gadgets-default' => 'מופעל ×œ×›×•×œ× ×œ×¤×™ בררת מחדל.', + 'gadgets-default' => 'מופעל ×œ×›×•×œ× ×›×‘×¨×™×¨×ª מחדל.', 'gadgets-export' => 'יצו×', 'gadgets-export-title' => "×™×¦×•× ×’×דג'טי×", 'gadgets-not-found' => '×”×’×דג׳ט "$1" ×œ× × ×ž×¦×.', @@ -1637,32 +1649,32 @@ Anda harus memeroleh izin pada wiki tujuan (termasuk hak menyunting pesan sistem * @author Lam-ang */ $messages['ilo'] = array( - 'gadgets-desc' => 'Mabalin dagiti agar-aramat nga agpili iti [[Special:Gadgets|CSS ken JavaScript gadgets]] idiay [[Special:Preferences#mw-prefsection-gadgets|kaykayat da]]', - 'prefs-gadgets' => 'Gadgets', - 'gadgets-prefstext' => 'Adda dita baba ti listaan ti naipangruna a gadgets nga usaren idiay pakabilangam. -Dagitoy a gadgets ket naibasta iti JavaScript, masapul a pakabaelan ti JavaScript idiay "pagbasabasam" tapno agbalin da. -Saan a mabalin nga usaren dagitoy a gadgets ditoy kaykayat a panid. - -Dagitoy a gadgets ket saan a paset ti MediaWiki software, inaramid ken inayaywanan dagiti agar-aramat ti lokal a wiki. -Mabaliwan dagita administrador nga urnosen ti [[MediaWiki:Gadgets-definition|pinakailawag]] ken [[Special:Gadgets|deskripsion]] ti gadgets.', - 'gadgets' => 'Gadgets', - 'gadgets-title' => 'Gadgets', - 'gadgets-pagetext' => 'Dita baba ket adda listaan dagiti naipangruna a gadgets a dagiti agar-aramat ket mapagbalin da idiay [[Special:Preferences#mw-prefsection-gadgets|kaykayat da a panid]], a naipalawag iti [[MediaWiki:Gadgets-definition|dagiti pinakailawag]]. -Daytoy a pinakabuklan ket mangted ti nalaka a pinagserrek kadagit mensahe ti sistema a panid a nagpailawag iti deskripsion ti gadget ken kodigo.', + 'gadgets-desc' => 'Agpalubos kadagiti agar-aramat nga agpili kadagiti naiduma a [[Special:Gadgets|CSS ken JavaScript a gadget]] iti [[Special:Preferences#mw-prefsection-gadgets|kakaykayatanda]]', + 'prefs-gadgets' => 'Dagiti gadget', + 'gadgets-prefstext' => 'Dita baba ket listaan kadagiti naipangruna a gadget a mabalinmo a pakabaelan iti pakabilangam. +Dagitoy a gadget ket naibatay iti JavaScript, isunga masapul a pakabaelan ti JavaScript idiay "pagbasabasam" tapno agbalin dagitoy. +Laglagipen a dagitoy a gadget ket awan ti pagbanaganna iti daytoy panid ti kakaykayatan. + +Laglagipen pay a dagitoy a naipangruna a gadget ket saan a paset ti sopwer ti MediaWiki, ken kadawyan a pinarang-ay ken tinartaripato babaen dagiti agar-aramat iti lokal a wiki. +Dagiti lokal nga administrador ket mabalinda nga urnosen dagiti [[MediaWiki:Gadgets-definition|panangipalplawag]] ken dagiti [[Special:Gadgets|deskripsion]] dagiti magun-od a gadget.', + 'gadgets' => 'Dagiti gadget', + 'gadgets-title' => 'Dagiti gadget', + 'gadgets-pagetext' => 'Dita baba ket listaan dagiti naipangruna a gadget a mabalin a pakabaelan dagiti agar-aramat iti bukodda a [[Special:Preferences#mw-prefsection-gadgets|panid ti kakaykayatan]], a kas naipalawag babaen dagiti [[MediaWiki:Gadgets-definition|pannakaipalawag]]. +Daytoy a nakabuklan ket mangted ti nalaka a panagserrek kadagiti panid ti mensahe ti sistema a mangipalawag ti tungngal maysa a deskripsion ken kodigo ti gadget.', 'gadgets-uses' => 'Usar', - 'gadgets-required-rights' => 'Masapul dagiti sumaganad {{PLURAL:$2|a karbengan|dagiti karbengan}}: + 'gadgets-required-rights' => 'Masapul ti sumaganad a {{PLURAL:$2|karbengan|karkarbengan}}: $1', - 'gadgets-required-skins' => 'Adda mabalin idiay {{PLURAL:$2|$1 a kudil|dagiti sumaganad a kudil: $1}}.', - 'gadgets-default' => 'Pakabaelan a kinasigud iti amin nga agar-aramat.', + 'gadgets-required-skins' => 'Mabalin a magun-od {{PLURAL:$2|iti $1 a kudil|kadagiti sumaganad a kudil: $1}}.', + 'gadgets-default' => 'Pakabaelan a kasisigud para kadagiti amin.', 'gadgets-export' => 'Agipan', 'gadgets-export-title' => 'Agipan ti gadget', 'gadgets-not-found' => 'Saan a nabirukan ti "$1" a gadget.', - 'gadgets-export-text' => 'Ti pinag-ipan ti $1 a gadget, agtakla idiay "{{int:gadgets-export-download}}" a buton, idulin ti inkarga nga agpababa a papeles, -mapan idiay Special:Import ti papanan a wiki ken ikarga nga agpangato. Ken inayon dagiti sumaganad idiay MediaWiki:Gadgets-definition page: + 'gadgets-export-text' => 'Ti panag-ipan ti $1 a gadget, pinduten ti buton ti "{{int:gadgets-export-download}}", idulin ti naikarga a papeles, +mapan idiay Special:Import iti papanan a wiki ken ikarganto. Kalpasanna inayon dagiti sumaganad idiay panid ti MediaWiki:Gadgets-definition: <pre>$2</pre> -Masapul nga addaan ka ti husto a pammalubos iti papanan a wiki (nairaman ti karbegnan a pinagbaliw dagiti mensahe ti sistema) ken naipabalin ti pinagala kadagiti naggapu a papeles a naikarga nga agpangato.', - 'gadgets-export-download' => 'Ikarga nga agpababa', +Nasken nga addaanka ti maitunos a pammalubos iti papanan a wiki (mairaman ti karbengan a panag-urnos kadagiti mensahe ti sistema) ken nasken a napakabaelan ti panagikarga kadagiti papeles.', + 'gadgets-export-download' => 'Agikaraga', ); /** Ido (Ido) @@ -1789,6 +1801,7 @@ Bemærk ogsÃ¥ at disse specielle gadgets ikke er en del af MediaWiki-softwaren o ); /** Javanese (Basa Jawa) + * @author Bennylin * @author Meursault2004 * @author NoiX180 * @author Pras @@ -1813,6 +1826,10 @@ $1', 'gadgets-export' => 'Èkspor', 'gadgets-export-title' => 'Èkspor perkakas', 'gadgets-not-found' => 'Perkasas "$1" ora ditemokaké.', + 'gadgets-export-text' => 'Untuk mengekspor perkakas $1, klik tombol "{{int:gadgets-export-download}}", simpan berkas yang diunduh, +tuju ke Special:Import pada wiki tujuan dan unggah berkas itu. Kemudian tambahkan berkas tersebut ke halaman MediaWiki:Gadgets-definition: +<pre>$2</pre> +Anda harus memeroleh izin pada wiki tujuan (termasuk hak menyunting pesan sistem) dan mengimpor dari unggahan berkas yang harus diaktifkan.', 'gadgets-export-download' => 'Undhuh', ); @@ -1872,18 +1889,23 @@ $messages['kk-arab'] = array( */ $messages['kk-cyrl'] = array( 'prefs-gadgets' => 'Қажет құралдар', - 'gadgets-prefstext' => 'Төменде өз тіркелгіңізде қоÑа алатын арнаулы қажет құралдар тізімі беріледі. -ОÑÑ‹ қажет құралдар көбінеÑе JavaScript әмірлеріне негізделінеді, Ñондықтан бұлар Ð¶Ò±Ð¼Ñ‹Ñ Ñ–Ñтеуі үшін шолғышыңызда JavaScript қоÑылған болуы керек. -Бұл баптау бетіне оÑÑ‹ қажет құралдар Ó™Ñер етпейтінің еÑкеріңіз. + 'gadgets-prefstext' => 'Төменде өз тіркелгіңізде қоÑа алатын арнаулы қажет құралдар тізімі берілген. +ОÑÑ‹ қажет құралдар көбінеÑе JavaScript әмірлеріне негізделеді, Ñондықтан бұлар Ð¶Ò±Ð¼Ñ‹Ñ Ñ–Ñтеуі үшін шолғышыңызда JavaScript қоÑылған болуы керек. +Бұл баптау бетіне оÑÑ‹ қажет құралдар Ó™Ñер етпейтінін еÑкеріңіз. -Тағы да еÑкеріңіз: оÑÑ‹ қажет құралдар MediaWiki бағдарламаÑының бөлігі емеÑ, және де бұларды жайшылықта жергілікті уикидің қатыÑушылары дамытады және қоштайды. -Жергілікті әкімшілер жетімді қажет нәрÑе тізімін [[{{ns:mediawiki}}:Gadgets-definition]] және [[{{ns:special}}:Gadgets]] беттері арқылы +Тағы да еÑкеріңіз: оÑÑ‹ қажет құралдар MediaWiki бағдарламаÑының бөлігі ÐµÐ¼ÐµÑ Ð¶Ó™Ð½Ðµ бұларды әдетте Ñіздің жергілікті уикиіңіздің қатыÑушылары дамытады және қоштайды. +Жергілікті әкімшілер жетімді гаджеттерді [[MediaWiki:Gadgets-definition]] және [[Special:Gadgets|Ñипаттама]] беттері арқылы өңдей алады.', # Fuzzy 'gadgets' => 'Қажет құралдар', 'gadgets-title' => 'Қажет құралдар', - 'gadgets-pagetext' => 'Төменде арнаулы қажет құралдар тізімі беріледі. [[{{ns:mediawiki}}:Gadgets-definition]] бетінде анықталған қажет құралдарды қатыÑушылар өзінің баптауында қоÑа алады. -Бұл шолу беті арқылы әрбір қажет құралдың ÑипаттамаÑÑ‹ мен әмірін анықтайтын жүйе хабар беттеріне жеңіл қатынай алаÑыз.', # Fuzzy + 'gadgets-pagetext' => 'Төменде қатыÑушылар өзінің [[Special:Preferences#mw-prefsection-gadgets|баптауларынан]] қоÑа алатын арнаулы қажет құралдар тізімі берілген. [[MediaWiki:Gadgets-definition]] шолу беті арқылы әрбір қажет құралдың ÑипаттамаÑÑ‹ мен әмірін анықтайтын жүйе хабар беттеріне жеңіл қатынай алаÑыз.', 'gadgets-uses' => 'ҚолданыÑтағылар', + 'gadgets-required-rights' => 'КелеÑÑ– {{PLURAL:$2|құқықты|құқықтарды}} қажет етеді: $1', + 'gadgets-default' => 'Әркімге автоматты түрде қоÑылады.', + 'gadgets-export' => 'ÐкÑпорттау', + 'gadgets-export-title' => 'Гаджетті ÑкÑпорттау', + 'gadgets-not-found' => '"$1" гаджеті табылмады.', + 'gadgets-export-download' => 'ТүÑіру', ); /** Kazakh (Latin script) (qazaqÅŸa (latın)‎) @@ -2051,7 +2073,7 @@ Ausserdeem sollt Dir wëssen, datt dës Gadgete generell net Deel vu MediaWiki s Lokal Wiki-Administrateure kënnen d'Lëscht von den disponibele Gadgeten op de Säiten [[MediaWiki:Gadgets-definition|Definitioune vun Gadgeten]] a [[Special:Gadgets|Beschreiwunge vu Gadgeten]] änneren.", 'gadgets' => 'Gadgeten', 'gadgets-title' => 'Gadgeten', - 'gadgets-pagetext' => "Ënnendrënner ass eng Lëscht vun de spezielle Gadgeten déi d'Benotzer op hire [[Special:Preferences#mw-prefsection-gadgets|Benotzer-Astellungen]] aschalte kënnen, esou wéi dat op [[MediaWiki:Gadgets-definition|definéiert]] ass. + 'gadgets-pagetext' => "Ënnendrënner ass eng Lëscht vun de spezielle Gadgeten déi d'Benotzer op hire [[Special:Preferences#mw-prefsection-gadgets|Benotzer-Astellungen]] aschalte kënnen, sou wéi dat op [[MediaWiki:Gadgets-definition|definéiert]] ass. Dës Iwwersiicht gëtt einfachen Zougang zu de Systemmessage-Säiten, déi all Gadget beschreiwen an zum Programméiercode vun dem Gadget.", 'gadgets-uses' => 'Benotzt', 'gadgets-required-rights' => "Erfuerdert {{PLURAL:$2|d'Recht|dës Rechter}}: $1.", @@ -2060,8 +2082,8 @@ Dës Iwwersiicht gëtt einfachen Zougang zu de Systemmessage-Säiten, déi all G 'gadgets-export' => 'Export', 'gadgets-export-title' => 'Export vu Gadgeten', 'gadgets-not-found' => 'Gadget "$1" net fonnt.', - 'gadgets-export-text' => 'Fir de Gadget $1 z\'exportéieren klickt w.e.g. op de(n) "{{int:gadgets-export-download}}"-Knäppchen, späichert den erofgelueden Fichier, gitt op Spezial:Import op der Zil-Wiki a lued en do erop. Duerno setzt der op d\'MediaWiki:Gadgets-Definitiouns Säit dëst derbäi:<pre>$2</pre> -Dir musst déi erfuerdert Rechter(inklusiv d\'Recht fir System-Messagen z\'änneren) op der Zil-Wiki hunn an den Import vun eropgelueden Fichiere muss ageschalt sinn.', + 'gadgets-export-text' => 'Fir de Gadget $1 z\'exportéieren klickt w.e.g. op de(n) "{{int:gadgets-export-download}}"-Knäppchen, späichert den erofgelueden Fichier, gitt op Spezial:Import op der Zil-Wiki a luet en do erop. Duerno setzt der op d\'MediaWiki:Gadgets-Definitiouns Säit dëst derbäi:<pre>$2</pre> +Dir musst déi erfuerdert Rechter(inklusiv d\'Recht fir Systemmessagen z\'änneren) op der Zil-Wiki hunn an den Import vun eropgelueden Fichiere muss ageschalt sinn.', 'gadgets-export-download' => 'Eroflueden', ); @@ -2070,6 +2092,7 @@ Dir musst déi erfuerdert Rechter(inklusiv d\'Recht fir System-Messagen z\'änne * @author Soul Train */ $messages['lez'] = array( + 'prefs-gadgets' => 'Гажетар', 'gadgets' => 'Гаджетар', 'gadgets-title' => 'Гажетар', ); @@ -2109,11 +2132,16 @@ Doe mós de juuste rèchte höbben óppe doelwie, ouch óm bewirkinge aan systee ); /** لوری (لوری) + * @author Bonevarluri * @author Mogoeilor */ $messages['lrc'] = array( 'prefs-gadgets' => 'چيا هنی', + 'gadgets' => 'گجت یا', + 'gadgets-title' => 'گجت یا', + 'gadgets-uses' => 'کاروردیا', 'gadgets-export' => 'وه صØرا ديئن', + 'gadgets-not-found' => 'گجت "$1" پیدا نبی.', 'gadgets-export-download' => 'گرتن', ); @@ -2244,7 +2272,7 @@ $1', 'gadgets-export' => 'Извези', 'gadgets-export-title' => 'Извоз на алатка', 'gadgets-not-found' => 'Ðлатката „$1“ не е пронајдена.', - 'gadgets-export-text' => 'За да ја извезете алатката $1, кликнете на копчето „{{int:gadgets-export-download}}“, зачувајте ја преземената податотека, + 'gadgets-export-text' => 'За да ја извезете алатката $1, ÑтиÑнете на копчето „{{int:gadgets-export-download}}“, зачувајте ја преземената податотека, одете на Special:Import на целното вики и подигнете ја. Потоа на Ñтраницата MediaWiki:Gadgets-definition внеÑете го Ñледново: <pre>$2</pre> Мора да имате Ñоодветни дозволи на целното вики (вклучувајќи го правото за уредување на ÑиÑтемÑки пораки), и мора да биде овозможен увозот од подигања.', @@ -2301,7 +2329,7 @@ $messages['mr'] = array( 'gadgets-title' => 'गॅजेट', 'gadgets-pagetext' => 'खाली तà¥à¤®à¥à¤¹à¥€ तà¥à¤®à¤šà¥à¤¯à¤¾ सदसà¥à¤¯à¤¤à¥à¤µà¤¾à¤¸à¤¾à¤ ी [[Special:Preferences#mw-prefsection-gadgets|माà¤à¥à¤¯à¤¾ पसंती]] पानावर वापरू शकत असलेलà¥à¤¯à¤¾ [[MediaWiki:Gadgets-definition|वà¥à¤¯à¤¾à¤–à¥à¤¯à¤¾]]ने सांगितलेलà¥à¤¯à¤¾ गॅजेटà¥à¤¸à¤šà¥€ यादी दिलेली आहे. हे पान तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾ पà¥à¤°à¤¤à¥à¤¯à¥‡à¤• गॅजेटà¥à¤¸à¤šà¤¾ कोड व वà¥à¤¯à¤¾à¤–à¥à¤¯à¤¾ देणारà¥â€à¤¯à¤¾ पानासाठी सोपी संपरà¥à¤• सà¥à¤µà¤¿à¤§à¤¾ पà¥à¤°à¤µà¤¿à¤¤à¥‡.', 'gadgets-uses' => 'उपयोग', - 'gadgets-required-rights' => 'खलील गोषà¥à¤ ी साठी विनंती {{PLURAL:$2|right|rights}}: + 'gadgets-required-rights' => 'खालील {{PLURAL:$2|अधिकार}} हवेच : $1', 'gadgets-required-skins' => '{{PLURAL:$2|$1 skin|खालील देखावà¥à¤¯à¤¾à¤‚वर : $1}} उपलबà¥à¤§ आहेत', @@ -2309,11 +2337,11 @@ $1', 'gadgets-export' => 'निरà¥à¤¯à¤¾à¤¤ करा', 'gadgets-export-title' => 'उपकरण निरà¥à¤¯à¤¾à¤¤', 'gadgets-not-found' => 'उपकरण "$1" सापडत नाही.', - 'gadgets-export-text' => '$1 उपकरण-सà¥à¤µà¤¿à¤§à¤¾ निरà¥à¤¯à¤¾à¤¤à¤•à¤°à¤£à¥à¤¯à¤¾ करिता, "{{int:gadgets-export-download}}" कलीवर टिचकी मारा, उतरवलेली संचिका-फाईल जतन करा + 'gadgets-export-text' => '$1 उपकरण-सà¥à¤µà¤¿à¤§à¤¾ निरà¥à¤¯à¤¾à¤¤ करणà¥à¤¯à¤¾à¤•à¤°à¤¿à¤¤à¤¾, "{{int:gadgets-export-download}}" कळीवर टिचकी मारा, उतरवलेली संचिका-फाईल जतन करा डेसà¥à¤Ÿà¤¿à¤¨à¥‡à¤¶à¤¨ विकिचà¥à¤¯à¤¾ विशेष:आयात पानावर जाऊन संचिका-फाईल चढवावी.नंतर खालील MediaWiki:Gadgets-definition पान चढवावे : <pre>$2</pre> तà¥à¤®à¤šà¥à¤¯à¤¾à¤•à¤¡à¥‡ डेसà¥à¤Ÿà¤¿à¤¨à¥‡à¤¶à¤¨ विकिवर (सिसà¥à¤Ÿà¥€à¤® मेसेजेस सà¥à¤¦à¥à¤§à¤¾ संपादीत करणà¥à¤¯à¤¾à¤¸à¤¹à¥€à¤¤ ) सà¥à¤¯à¥‹à¤—à¥à¤¯ परवानगà¥à¤¯à¤¾ उपलबà¥à¤§ असणे अतà¥à¤¯à¤¾à¤µà¤¶à¥à¤¯à¤• आहे आणि चढवलेलà¥à¤¯à¤¾ संचिकाकरिता आयात सà¥à¤µà¤¿à¤§à¤¾ सकà¥à¤·à¤® असणे आवशà¥à¤¯à¤• आहे.', - 'gadgets-export-download' => 'उतरवा', + 'gadgets-export-download' => 'अधिà¤à¤¾à¤°à¤£ करा', ); /** Malay (Bahasa Melayu) @@ -2457,16 +2485,17 @@ Dit overzichte biejt eenvoudige toegang tot de systeemtekstzied waor de beschrie /** Nepali (नेपाली) * @author Bhawani Gautam + * @author Nirmal Dulal */ $messages['ne'] = array( - 'gadgets-desc' => 'पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾à¤•à¥‹ [[Special:Preferences#mw-prefsection-gadgets|अà¤à¤¿à¤°à¥à¤šà¤¿ अनà¥à¤¸à¤¾à¤°]] [[Special:Gadgets|CSS र जाà¤à¤¾à¤¸à¥à¤•à¥à¤°à¥€à¤ªà¥à¤Ÿ उपकरणहरà¥]] छानà¥à¤¨ दिनà¥à¤¹à¥‹à¤¸à¥', - 'prefs-gadgets' => 'उपकरणहरà¥', - 'gadgets-prefstext' => 'विशेष उपकरणहरà¥à¤•à¥‹ सूची तल दिइà¤à¤•à¥‹à¤› तपाईंले आफà¥à¤¨à¥‹ खातामा सकà¥à¤°à¤¿à¤¯ पारà¥à¤¨ सकà¥à¤¨à¥à¤¹à¥à¤¨à¥à¤›à¥¤ -पà¥à¤°à¤¾à¤¯ सबै उपकरणहरॠजाà¤à¤¾à¤¸à¥à¤•à¥à¤°à¥€à¤ªà¥à¤Ÿà¤®à¤¾ आधारित छनà¥, यस कारण बà¥à¤°à¤¾à¤‰à¤œà¤°à¤®à¤¾ काम गराउनको लागि जाà¤à¤¾à¤¸à¥à¤•à¥à¤°à¥€à¤ªà¥à¤Ÿà¤²à¤¾à¤ˆ सकà¥à¤°à¤¿à¤¯ गरà¥à¤¨à¥ परà¥à¤›à¥¤ -याद राखà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ती उपकरणहरà¥à¤²à¥‡ अà¤à¤¿à¤°à¥à¤šà¤¿ पृषà¥à¤ मा असर गरà¥à¤¦à¥ˆà¤¨à¤¨à¥à¥¤ -यो पनि याद राखà¥à¤¹à¥‹à¤¸à¥ यी विशेष उपकरणहरॠमीडिया विकि सफà¥à¤Ÿà¤µà¥‡à¤¯à¤°à¤à¤¿à¤¤à¥à¤° परà¥à¤¦à¥ˆà¤¨à¤¨à¥ र पà¥à¤°à¤¾à¤¯ सà¥à¤¥à¤¾à¤¨à¥€à¤¯ विकि पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾à¤¹à¤°à¥à¤²à¥‡ विकास यसको विकास र सञà¥à¤šà¤¾à¤²à¤¨ गरà¥à¤¦à¤›à¤¨à¥à¥¤ सà¥à¤¥à¤¾à¤¨à¥€à¤¯ पà¥à¤°à¤¬à¤¨à¥à¤§à¤•à¤¹à¤°à¥à¤²à¥‡ उपलबà¥à¤§ उपकरणहरà¥à¤•à¤¾ [[MediaWiki:Gadgets-definition|परिà¤à¤¾à¤·à¤¾à¤¹à¤°à¥]] र [[Special:Gadgets|विवरणहरà¥]] समà¥à¤ªà¤¾à¤¦à¤¨ गरà¥à¤¦à¤›à¤¨à¥à¥¤', - 'gadgets' => 'उपकरणहरà¥', - 'gadgets-title' => 'उपकरणहरà¥', + 'gadgets-desc' => 'पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾à¤•à¥‹ [[Special:Preferences#mw-prefsection-gadgets|अà¤à¤¿à¤°à¥à¤šà¤¿ अनà¥à¤¸à¤¾à¤°]] [[Special:Gadgets|CSS र जाà¤à¤¾à¤¸à¥à¤•à¥à¤°à¥€à¤ªà¥à¤Ÿ उपकरणहरू]] छानà¥à¤¨ दिनà¥à¤¹à¥‹à¤¸', + 'prefs-gadgets' => 'उपकरणहरू', + 'gadgets-prefstext' => 'विशेष उपकरणहरूको सूची तल दिइà¤à¤•à¥‹à¤› तपाईंले आफà¥à¤¨à¥‹ खातामा सकà¥à¤°à¤¿à¤¯ पारà¥à¤¨ सकà¥à¤¨à¥à¤¹à¥à¤¨à¥à¤›à¥¤ +पà¥à¤°à¤¾à¤¯ सबै उपकरणहरू जाà¤à¤¾à¤¸à¥à¤•à¥à¤°à¥€à¤ªà¥à¤Ÿà¤®à¤¾ आधारित छनà¥, यस कारण बà¥à¤°à¤¾à¤‰à¤œà¤°à¤®à¤¾ काम गराउनको लागि जाà¤à¤¾à¤¸à¥à¤•à¥à¤°à¥€à¤ªà¥à¤Ÿà¤²à¤¾à¤ˆ सकà¥à¤°à¤¿à¤¯ गरà¥à¤¨à¥ परà¥à¤›à¥¤ +याद राखà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ती उपकरणहरूले अà¤à¤¿à¤°à¥à¤šà¤¿ पृषà¥à¤ मा असर गरà¥à¤¦à¥ˆà¤¨à¤¨à¥à¥¤ +यो पनि याद राखà¥à¤¹à¥‹à¤¸à¥ यी विशेष उपकरणहरू मीडिया विकि सफà¥à¤Ÿà¤µà¥‡à¤¯à¤°à¤à¤¿à¤¤à¥à¤° परà¥à¤¦à¥ˆà¤¨à¤¨à¥ र पà¥à¤°à¤¾à¤¯ सà¥à¤¥à¤¾à¤¨à¥€à¤¯ विकि पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾à¤¹à¤°à¥à¤²à¥‡ विकास यसको विकास र सञà¥à¤šà¤¾à¤²à¤¨ गरà¥à¤¦à¤›à¤¨à¥à¥¤ सà¥à¤¥à¤¾à¤¨à¥€à¤¯ पà¥à¤°à¤¬à¤¨à¥à¤§à¤•à¤¹à¤°à¥‚ले उपलबà¥à¤§ उपकरणहरूका [[MediaWiki:Gadgets-definition|परिà¤à¤¾à¤·à¤¾à¤¹à¤°à¥‚]] र [[Special:Gadgets|विवरणहरू]] समà¥à¤ªà¤¾à¤¦à¤¨ गरà¥à¤¦à¤›à¤¨à¥à¥¤', + 'gadgets' => 'उपकरणहरू', + 'gadgets-title' => 'उपकरणहरू', 'gadgets-pagetext' => 'विशेष उपकरणहरà¥à¤•à¥‹ सूची तल दिइà¤à¤•à¥‹à¤› पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾à¤¹à¤°à¥à¤²à¥‡ [[MediaWiki:Gadgets-definition|परिà¤à¤¾à¤·à¤¾à¤¹à¤°à¥]]मा जनाठअनà¥à¤¸à¤¾à¤° आफà¥à¤¨à¥‹ [[Special:Preferences#mw-prefsection-gadgets|अà¤à¤¿à¤°à¥à¤šà¤¿ पृषà¥à¤ मा]], सकà¥à¤°à¤¿à¤¯ पारà¥à¤¨ सकà¥à¤¨à¥‡à¤›à¤¨à¥à¥¤à¥¤ यस सिंहावलोकनले पà¥à¤°à¤£à¤¾à¤²à¥€ सनà¥à¤¦à¥‡à¤¶ पृषà¥à¤ सजिलै पà¥à¤°à¤¾à¤ªà¥à¤¤ गरà¥à¤¨ सकिनेछ जसले पà¥à¤°à¤¤à¥à¤¯à¥‡à¤• उपकरणको विवरण र कोडलाई परिà¤à¤¾à¤·à¤¿à¤¤ गरेको छ।', 'gadgets-uses' => 'पà¥à¤°à¤¯à¥‹à¤—हरà¥', @@ -2913,6 +2942,7 @@ Tu a ave le permesse appropriate sus 'a Uicchi de destinazione (ingludenne le de * @author Eleferen * @author Ignatus * @author Illusion + * @author Kaganer * @author MaxSem * @author VasilievVV * @author ÐлекÑандр Сигачёв @@ -2931,10 +2961,10 @@ $messages['ru'] = array( 'gadgets-pagetext' => 'Ðиже приведён ÑпиÑок гаджетов, которые учаÑтники могут включить на Ñвоей Ñтранице наÑтроек, в ÑоответÑтвии Ñо ÑпиÑком на Ñтранице [[MediaWiki:Gadgets-definition|определений]]. Ðтот ÑпиÑок позволÑет легко получить доÑтуп к Ñтраницам ÑиÑтемных Ñообщений, определÑющих опиÑÐ°Ð½Ð¸Ñ Ð¸ иÑходные коды гаджетов.', 'gadgets-uses' => 'ИÑпользует', - 'gadgets-required-rights' => '{{PLURAL:$2|ТребуетÑÑ Ð¿Ñ€Ð°Ð²Ð¾|ТребуютÑÑ Ð¿Ñ€Ð°Ð²Ð°}}: + 'gadgets-required-rights' => '{{PLURAL:$2|1=ТребуетÑÑ Ð¿Ñ€Ð°Ð²Ð¾|ТребуютÑÑ Ð¿Ñ€Ð°Ð²Ð°}}: $1', - 'gadgets-required-skins' => 'ДоÑтупен при {{PLURAL:$2|теме Ð¾Ñ„Ð¾Ñ€Ð¼Ð»ÐµÐ½Ð¸Ñ $1|Ñледующих темах оформлениÑ: $1}}.', + 'gadgets-required-skins' => 'ДоÑтупен в {{PLURAL:$2|1=теме Ð¾Ñ„Ð¾Ñ€Ð¼Ð»ÐµÐ½Ð¸Ñ Â«$1»|Ñледующих темах оформлениÑ: $1}}.', 'gadgets-default' => 'Включён Ð´Ð»Ñ Ð²Ñех по умолчанию.', 'gadgets-export' => 'ÐкÑпортировать', 'gadgets-export-title' => 'ÐкÑпорт гаджета', @@ -3042,6 +3072,15 @@ $messages['sgs'] = array( 'gadgets' => 'RakondÄ', ); +/** Serbo-Croatian (srpskohrvatski / ÑрпÑкохрватÑки) + * @author Kolega2357 + */ +$messages['sh'] = array( + 'gadgets' => 'Alatke / Ðлатке', + 'gadgets-title' => 'Alatke / Ðлатке', + 'gadgets-uses' => 'Upotrebe / Употребе', +); + /** Sinhala (සිංහල) * @author Budhajeewa * @author නන්දිමිà¶à·”රු @@ -3179,6 +3218,7 @@ Ju duhet të keni leje të përshtatshme në wiki-n e destinuar (duke përfshirà ); /** Serbian (Cyrillic script) (ÑрпÑки (ћирилица)‎) + * @author Milicevic01 * @author Millosh * @author Nikola Smolenski * @author Rancher @@ -3186,12 +3226,12 @@ Ju duhet të keni leje të përshtatshme në wiki-n e destinuar (duke përfshirà */ $messages['sr-ec'] = array( 'gadgets-desc' => 'Омогућава кориÑницима да изаберу прилагођене [[Special:Gadgets|CSS и јаваÑкрипт гаџете]] у Ñвојим [[Special:Preferences#mw-prefsection-gadgets|подешавањима]]', - 'prefs-gadgets' => 'Гаџети', + 'prefs-gadgets' => 'Геџети', 'gadgets-prefstext' => 'ИÑпод Ñе налази ÑпиÑак поÑебних гаџета које можете да омогућите на Ñвом налогу. Ове Ñправице Ñу углавном заÑноване на јаваÑкрипти, тако да она мора бити омогућена. Гаџети неће утицати на Ñтраницу за подешавање. -Они ниÑу део Ñофтвера Медијавики, већ Ñе развијају и одржавају од Ñтране кориÑника ваше викије. +Они ниÑу део Ñофтвера Медијавики, већ Ñе развијају и одржавају од Ñтране кориÑника на вашем локалном викију. ÐдминиÑтратори могу да измене [[MediaWiki:Gadgets-definition|значења]] и [[Special:Gadgets|опиÑе]] доÑтупних гаџета.', 'gadgets' => 'Гаџети', 'gadgets-title' => 'Гаџети', @@ -3215,6 +3255,7 @@ $1', /** Serbian (Latin script) (srpski (latinica)‎) * @author Michaello + * @author Milicevic01 * @author Жељко Тодоровић */ $messages['sr-el'] = array( @@ -3224,7 +3265,7 @@ $messages['sr-el'] = array( Ove spravice su uglavnom zasnovane na javaskripti, tako da ona mora biti omogućena. Gadžeti neće uticati na stranicu za podeÅ¡avanje. -Oni nisu deo softvera Medijaviki, već se razvijaju i održavaju od strane korisnika vaÅ¡e vikije. +Oni nisu deo softvera Medijaviki, već se razvijaju i održavaju od strane korisnika na vaÅ¡em lokalnom vikiju. Administratori mogu da izmene [[MediaWiki:Gadgets-definition|znaÄenja]] i [[Special:Gadgets|opise]] dostupnih gadžeta.', 'gadgets' => 'gedžeti', 'gadgets-title' => 'gedžeti', @@ -3279,6 +3320,7 @@ $messages['su'] = array( * @author Diupwijk * @author Lejonel * @author M.M.S. + * @author Skalman */ $messages['sv'] = array( 'gadgets-desc' => 'LÃ¥ter användare aktivera personliga [[Special:Gadgets|CSS- och JavaScript-finesser]] genom sina [[Special:Preferences#mw-prefsection-gadgets|inställningar]]', @@ -3291,7 +3333,7 @@ Notera ocksÃ¥ att dessa finesser inte är en del av MediaWiki-programvaran, och Lokala administratörer kan redigera [[MediaWiki:Gadgets-definition|definitionerna]] och [[Special:Gadgets|beskrivningarna]] av de tillgängliga finesserna.', 'gadgets' => 'Finesser', 'gadgets-title' => 'Finesser', - 'gadgets-pagetext' => 'Härunder finns en lista över finesser som användare kan aktivera i sina [[Special:Preferences#mw-prefsection-gadgets|inställningar]], definierad av [[MediaWiki:Gadgets-definition|definieringarna]]. + 'gadgets-pagetext' => 'Härunder finns en lista över finesser som användare kan aktivera i sina [[Special:Preferences#mw-prefsection-gadgets|inställningar]], definierad av [[MediaWiki:Gadgets-definition|definitionerna]]. Den här översikten ger enkel Ã¥tkomst till de systemmeddelanden som definierar beskrivningarna och koden för varje finess.', 'gadgets-uses' => 'Använder', 'gadgets-required-rights' => 'Kräver följande {{PLURAL:$2|rättighet|rättigheter}}: @@ -3513,6 +3555,7 @@ $messages['ug-arab'] = array( /** Ukrainian (українÑька) * @author AS * @author Ahonc + * @author Andriykopanytsia * @author Dim Grits * @author Olvin * @author Prima klasy4na @@ -3535,10 +3578,10 @@ $messages['uk'] = array( 'gadgets-pagetext' => 'Ðижче наведено перелік додатків, Ñкі можна ввімкнути на [[Special:Preferences#mw-prefsection-gadgets|Ñторінці налаштувань]]. Цей перелік задано на [[MediaWiki:Gadgets-definition|Ñторінці визначень]]. Таким чином, можна отримати проÑтий доÑтуп до ÑиÑтемних Ñторінок, де задаєтьÑÑ Ð¾Ð¿Ð¸Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ додатку та його код.', 'gadgets-uses' => 'ВикориÑтовує', - 'gadgets-required-rights' => '{{PLURAL:$2|Потрібне право|Потрібні такі права}}: + 'gadgets-required-rights' => '{{PLURAL:$2|1=Потрібне право|Потрібні такі права}}: $1', - 'gadgets-required-skins' => 'ДоÑтупний на {{PLURAL:$2|$1 skin|наÑтупних темах оформленнÑ: $1}}.', + 'gadgets-required-skins' => 'ДоÑтупний на {{PLURAL:$2|1=$1 skin|наÑтупних темах оформленнÑ: $1}}.', 'gadgets-default' => 'Увімкнено Ð´Ð»Ñ Ð²ÑÑ–Ñ… за замовчуваннÑм.', 'gadgets-export' => 'ЕкÑпортувати', 'gadgets-export-title' => 'ЕкÑпорт додатка', diff --git a/extensions/Gadgets/SpecialGadgets.php b/extensions/Gadgets/SpecialGadgets.php index 888ba6e2..f6c3d74c 100644 --- a/extensions/Gadgets/SpecialGadgets.php +++ b/extensions/Gadgets/SpecialGadgets.php @@ -95,7 +95,7 @@ class SpecialGadgets extends SpecialPage { array( 'action' => 'edit' ) ); $links[] = Linker::link( - $this->getTitle( "export/{$gadget->getName()}" ), + $this->getPageTitle( "export/{$gadget->getName()}" ), $this->msg( 'gadgets-export' )->escaped() ); diff --git a/extensions/ImageMap/COPYING b/extensions/ImageMap/COPYING new file mode 100644 index 00000000..d159169d --- /dev/null +++ b/extensions/ImageMap/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + 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. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/extensions/ImageMap/ImageMap.i18n.php b/extensions/ImageMap/ImageMap.i18n.php index 1e07d69c..3e7e9f76 100644 --- a/extensions/ImageMap/ImageMap.i18n.php +++ b/extensions/ImageMap/ImageMap.i18n.php @@ -1,6 +1,6 @@ <?php /** - * Internationalisation file for extension FindSpam. + * Internationalisation file for extension ImageMap. * * @file * @ingroup Extensions @@ -142,7 +142,7 @@ $messages['as'] = array( 'imagemap_desc' => '<code><imagemap></code> টেগà§â€Œ বà§à¦¯à§±à¦¹à¦¾à§° কৰি কà§à¦²à¦¾à¦¯à¦¼à§‡à¦£à§à¦Ÿ-চাইড কà§à¦²à¦¿à¦•à§‡à¦¬à¦²à§â€Œ ইমেজà§â€Œ মেপৰ অনà§à¦®à¦¤à¦¿ দিয়ে', 'imagemap_no_image' => 'তà§à§°à§à¦Ÿà§€: পà§à§°à¦¥à¦® শাৰীত à¦à¦–ন ছবি নিৰà§à¦¦à¦¿à¦·à§à¦Ÿ কৰিবই লাগিব', 'imagemap_invalid_image' => 'তà§à§°à§à¦Ÿà§€: ছবিখন অবৈধ বা ছবিখন নাই', - 'imagemap_bad_image' => 'তà§à§°à§à¦Ÿà§€: à¦à¦‡ পৃষà§à¦ াত ছবিখন বà§à¦²à§‡à¦•à¦²à¦¿à¦·à§à¦Ÿà§‡à¦¡ কৰা হৈছে', + 'imagemap_bad_image' => 'তà§à§°à§à¦Ÿà§€: à¦à¦‡ পৃষà§à¦ াত ছবিখন বà§à¦²à§‡à¦•à¦²à¦¿à¦·à§à¦Ÿà§‡à¦¡ কৰা হৈছে।', 'imagemap_no_link' => "তà§à§°à§à¦Ÿà§€: $1 শাৰীৰ শেষত কোনো বৈধ লিংক পোৱা নগ'ল", 'imagemap_invalid_title' => 'তà§à§°à§à¦Ÿà§€: $1 শাৰীত থকা লিংকৰ শিৰোনাম অবৈধ', 'imagemap_missing_coord' => 'তà§à§°à§à¦Ÿà§€: $1 শাৰীত আকৃতিৰ বাবে যথেষà§à¦Ÿ সà§à¦¥à¦¾à¦¨à¦¾à¦‚ক নাই', @@ -365,7 +365,9 @@ $messages['ca'] = array( * @author Умар */ $messages['ce'] = array( + 'imagemap_desc' => 'Таро хуьлуьйту картан Ñуьрта таӀийча латораш билгалдан <code><imagemap></code> теган гӀуьнца', 'imagemap_invalid_image' => 'ГӀалат: нийÑа дац Ñ Ð¸ÑˆÑ‚Ð° Ñурт дац кху чохь', + 'imagemap_no_link' => 'ГӀалат: $1 могӀанан чаккхехь нийÑа йоцу хьажораг ÑŽ', 'imagemap_invalid_title' => 'ГӀалат: могӀана $1 хьажориган корта нийÑа Ñц', 'imagemap_description' => 'Суьртах лаьцна', ); @@ -376,7 +378,7 @@ $messages['co'] = array( 'imagemap_description' => "À prupositu d'issa imagine", ); -/** Czech (Äesky) +/** Czech (ÄeÅ¡tina) * @author Li-sung * @author Mormegil */ diff --git a/extensions/ImageMap/ImageMap.php b/extensions/ImageMap/ImageMap.php index aa4cfa0d..b263bbb5 100644 --- a/extensions/ImageMap/ImageMap.php +++ b/extensions/ImageMap/ImageMap.php @@ -1,4 +1,20 @@ <?php +/** + * ImageMap extension - Allows clickable HTML image maps. + * + * @link https://www.mediawiki.org/wiki/Extension:ImageMap Documentation + * + * @file + * @ingroup Extensions + * @package MediaWiki + * @author Tim Starling + * @copyright (C) 2007 Tim Starling + * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later + */ + +if ( !defined( 'MEDIAWIKI' ) ) { + die( 'This file is a MediaWiki extension, it is not a valid entry point' ); +} $dir = __DIR__ . '/'; $wgExtensionMessagesFiles['ImageMap'] = $dir . 'ImageMap.i18n.php'; diff --git a/extensions/ImageMap/ImageMap_body.php b/extensions/ImageMap/ImageMap_body.php index e67b4426..7b53285e 100644 --- a/extensions/ImageMap/ImageMap_body.php +++ b/extensions/ImageMap/ImageMap_body.php @@ -1,7 +1,9 @@ <?php - /** - * Image map extension. + * Main file for extension ImageMap. + * + * @file + * @ingroup Extensions * * Syntax: * <imagemap> diff --git a/extensions/InputBox/InputBox.classes.php b/extensions/InputBox/InputBox.classes.php index 380015cc..314bc6c8 100644 --- a/extensions/InputBox/InputBox.classes.php +++ b/extensions/InputBox/InputBox.classes.php @@ -84,10 +84,10 @@ class InputBox { // Use button label fallbacks if ( !$this->mButtonLabel ) { - $this->mButtonLabel = wfMessage( 'tryexact' )->escaped(); + $this->mButtonLabel = wfMessage( 'tryexact' )->text(); } if ( !$this->mSearchButtonLabel ) { - $this->mSearchButtonLabel = wfMessage( 'searchfulltext' )->escaped(); + $this->mSearchButtonLabel = wfMessage( 'searchfulltext' )->text(); } // Build HTML @@ -101,7 +101,7 @@ class InputBox { 'name' => 'searchbox', 'id' => 'searchbox', 'class' => 'searchbox', - 'action' => SpecialPage::getTitleFor( 'Search' )->escapeLocalUrl(), + 'action' => SpecialPage::getTitleFor( 'Search' )->getLocalUrl(), ) ); $htmlOut .= Xml::element( 'input', @@ -239,7 +239,7 @@ class InputBox { public function getSearchForm2() { // Use button label fallbacks if ( !$this->mButtonLabel ) { - $this->mButtonLabel = wfMessage( 'tryexact' )->escaped(); + $this->mButtonLabel = wfMessage( 'tryexact' )->text(); } $id = Sanitizer::escapeId( $this->mID, 'noninitial' ); @@ -255,7 +255,7 @@ class InputBox { 'name' => 'bodySearch' . $id, 'id' => 'bodySearch' . $id, 'class' => 'bodySearch', - 'action' => SpecialPage::getTitleFor( 'Search' )->escapeLocalUrl(), + 'action' => SpecialPage::getTitleFor( 'Search' )->getLocalUrl(), 'style' => $this->mInline ? 'display: inline;' : '' ) ); @@ -312,11 +312,11 @@ class InputBox { if ( $this->mType == "comment" ) { if ( !$this->mButtonLabel ) { - $this->mButtonLabel = wfMessage( "postcomment" )->escaped(); + $this->mButtonLabel = wfMessage( 'postcomment' )->text(); } } else { if ( !$this->mButtonLabel ) { - $this->mButtonLabel = wfMessage( 'createarticle' )->escaped(); + $this->mButtonLabel = wfMessage( 'createarticle' )->text(); } } @@ -427,7 +427,7 @@ class InputBox { global $wgScript; if ( !$this->mButtonLabel ) { - $this->mButtonLabel = wfMessage( "postcomment" )->escaped(); + $this->mButtonLabel = wfMessage( 'postcomment' )->text(); } $htmlOut = Xml::openElement( 'div', diff --git a/extensions/InputBox/InputBox.i18n.php b/extensions/InputBox/InputBox.i18n.php index 1c8519f0..972aea54 100644 --- a/extensions/InputBox/InputBox.i18n.php +++ b/extensions/InputBox/InputBox.i18n.php @@ -142,7 +142,7 @@ $messages['as'] = array( অনà§à¦—à§à§°à¦¹ কৰি "create", "comment", "search", "search2" বা "fulltext" নিৰà§à¦§à¦¾à§°à¦£ কৰক', 'tryexact' => 'কেবল দিয়া শবà§à¦¦à¦¹à§‡ বিচাৰিব', 'searchfulltext' => 'সমà§à¦ªà§‚ৰà§à¦£ পাঠà§à¦¯ বিচাৰিব', - 'createarticle' => 'পৃষà§à¦ া বনাওক', + 'createarticle' => 'পৃষà§à¦ া সৃষà§à¦Ÿà¦¿ কৰক', 'inputbox-ns-main' => 'মূখà§à¦¯', ); @@ -355,9 +355,11 @@ $messages['cdo'] = array( * @author Умар */ $messages['ce'] = array( + 'inputbox-desc' => 'Ðьтту хуьлуьйту хьалхе билгалйина HTML-формаш лато', + 'inputbox-error-no-type' => 'Ðхьа Ñзъечу меттиган тайп билгала йина Ñц.', 'tryexact' => 'Леррина лахар', 'searchfulltext' => 'Дуьззина йозанца лахар', - 'createarticle' => 'Яззам кхоллар', + 'createarticle' => 'ÐгӀо кхолла', ); /** Sorani Kurdish (کوردی) @@ -791,11 +793,12 @@ $messages['hak'] = array( /** Hebrew (עברית) * @author Amire80 + * @author Guycn2 * @author Rotem Liss */ $messages['he'] = array( 'inputbox-desc' => '×פשרות להכללת טופסי HTML שהוגדרו מר×ש', - 'inputbox-error-no-type' => '×œ× ×¦×™×™× ×ª× ×ת סוג תיבת הקלט ליצירה.', + 'inputbox-error-no-type' => '×œ× ×¦×™×™× ×ª ×ת סוג תיבת הקלט ליצירה.', 'inputbox-error-bad-type' => 'סוג תיבת הקלט "$1" ××™× ×• ידוע. ×× × ×¦×™×™× ×• "create", "comment", "search", "search2" ×ו "fulltext".', 'tryexact' => 'לדף ×‘×©× ×–×”', @@ -949,14 +952,14 @@ $messages['ig'] = array( * @author Lam-ang */ $messages['ilo'] = array( - 'inputbox-desc' => 'Pakabaelan na nga agikabil kadagiti napalasin a kinabuklan ti HTML', - 'inputbox-error-no-type' => 'Saan mo pay nga imbaga no ania a kita ti pagikabilan a kahon ti aramiden.', - 'inputbox-error-bad-type' => 'Ti kita ti pigikabilan a kahon "$1" ket saan a ma-ammoan. -Pangaasi ta ibagam nga "agaramid", "komentario", "biruken", "biruken2", "wenno sibubukel a testo".', + 'inputbox-desc' => 'Mangipalubos ti panangiraman kadagiti nasakbayan a naipalawag a porma ti HTML', + 'inputbox-error-no-type' => 'Saanmo pay a nainaganan no ania a kita ti partuaten a kahon ti pagikabilan.', + 'inputbox-error-bad-type' => 'Ti kita ti kahon a pigikabilan ti "$1" ket saan a mabigbigan. +Pangngaasi nga inaganam ti "agpartuat", "komento", "biruken", "biruken2", "wenno sibubukel a testo".', 'tryexact' => 'Padasem to pudno a kapada', - 'searchfulltext' => 'Agbiruk ti sibubukel a testo', - 'createarticle' => 'Agaramid ti panid', - 'inputbox-ns-main' => 'Dati', + 'searchfulltext' => 'Agbiruk ti napno a testo', + 'createarticle' => 'Agpartuat ti panid', + 'inputbox-ns-main' => 'Nangruna', ); /** Ido (Ido) @@ -1063,11 +1066,12 @@ $messages['kaa'] = array( /** Kabyle (Taqbaylit) * @author Agurzil + * @author Mmistmurt */ $messages['kab'] = array( 'tryexact' => 'Nadi É£ef uzwel kif-kif', 'searchfulltext' => 'Nadi aá¸ris ettmam', - 'createarticle' => 'Xleq amagrad', # Fuzzy + 'createarticle' => 'Xleq amagrad', ); /** Kazakh (Arabic script) (قازاقشا (تٴوتە)â€) @@ -1124,7 +1128,7 @@ $messages['ko'] = array( 'inputbox-error-bad-type' => '"$1" ìž…ë ¥ ìƒìž 종류는 ì •ì˜ë˜ì–´ 있지 않습니다. "create", "comment", "search", "search2"나 "fulltext" 중 하나를 ì§€ì •í•˜ì„¸ìš”.', 'tryexact' => 'ì¼ì¹˜í•˜ëŠ” í•ëª© 찾기', - 'searchfulltext' => 'ì „ì²´ 글 찾기', + 'searchfulltext' => 'ì „ì²´ 글 검색', 'createarticle' => '문서 만들기', 'inputbox-ns-main' => '문서', ); @@ -1163,6 +1167,13 @@ $messages['la'] = array( 'createarticle' => 'Paginam creare', ); +/** Ladino (Ladino) + * @author Menachem.Moreira + */ +$messages['lad'] = array( + 'createarticle' => 'Krear pajina', +); + /** Luxembourgish (Lëtzebuergesch) * @author Robby */ @@ -1231,9 +1242,11 @@ $messages['lo'] = array( ); /** لوری (لوری) + * @author Bonevarluri * @author Mogoeilor */ $messages['lrc'] = array( + 'searchfulltext' => 'Ù¾ÛŒ جوری متنی', 'createarticle' => 'راس كردن بلگه', 'inputbox-ns-main' => 'اصلی', ); @@ -1348,7 +1361,7 @@ $messages['mn'] = array( */ $messages['mr'] = array( 'inputbox-desc' => 'पूरà¥à¤µà¥€ लिहिलेले HTML अरà¥à¤œ वापरणà¥à¤¯à¤¾à¤šà¥€ परवानगी दà¥à¤¯à¤¾', - 'inputbox-error-no-type' => 'तà¥à¤®à¥à¤¹à¥€ कà¥à¤ लà¥à¤¯à¤¾ पà¥à¤°à¤•à¤¾à¤°à¤šà¥€ पृषà¥à¤ पेटी तयार करायची ते सà¥à¤ªà¤·à¥à¤Ÿ केलेले नाही.', + 'inputbox-error-no-type' => 'कà¥à¤ लà¥à¤¯à¤¾ पà¥à¤°à¤•à¤¾à¤°à¤šà¥€ पृषà¥à¤ पेटी तयार करायची ते तà¥à¤®à¥à¤¹à¥€ सà¥à¤ªà¤·à¥à¤Ÿ केलेले नाही.', 'inputbox-error-bad-type' => 'तà¥à¤®à¥à¤¹à¥€ दिलेला पृषà¥à¤ पेटीचा "$1" हा पà¥à¤°à¤•à¤¾à¤° ओळखीचा नाही. कृपया "create", "comment", "search" किंवा "search2" किंवा "fulltext".यातील à¤à¤• निवडा.', 'tryexact' => 'दिलेलेच शबà¥à¤¦ शोधा', @@ -1654,6 +1667,7 @@ Por favor, especifique "create", "comment", "search", "search2" ou "fulltext".', * @author Brunoy Anastasiya Seryozhenko * @author Eduardo.mps * @author MetalBrasil + * @author Opraco */ $messages['pt-br'] = array( 'inputbox-desc' => 'Permite a inclusão de formulários definidos de HTML', @@ -1662,7 +1676,7 @@ $messages['pt-br'] = array( Por favor, especifique "create", "comment", "search", "search2" ou "fulltext".', 'tryexact' => 'Tentar a expressão exata', 'searchfulltext' => 'Pesquisar em todo o texto.', - 'createarticle' => 'Criar página.', + 'createarticle' => 'Criar página', 'inputbox-ns-main' => 'Principal', ); @@ -1810,6 +1824,13 @@ $messages['sgs'] = array( 'searchfulltext' => 'Ä–iÅ¡kuotÄ— pÄ—lna teksta', ); +/** Serbo-Croatian (srpskohrvatski / ÑрпÑкохрватÑки) + * @author Kolega2357 + */ +$messages['sh'] = array( + 'searchfulltext' => 'Pretraži cijeli tekst - Претражи цео текÑÑ‚', +); + /** Sinhala (සිංහල) * @author Asiri wiki * @author Budhajeewa diff --git a/extensions/Interwiki/COPYING b/extensions/Interwiki/COPYING new file mode 100644 index 00000000..d159169d --- /dev/null +++ b/extensions/Interwiki/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + 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. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/extensions/Interwiki/Interwiki.alias.php b/extensions/Interwiki/Interwiki.alias.php index 30098f05..3e49249e 100644 --- a/extensions/Interwiki/Interwiki.alias.php +++ b/extensions/Interwiki/Interwiki.alias.php @@ -251,5 +251,5 @@ $specialPageAliases['zh-hans'] = array( /** Traditional Chinese (ä¸æ–‡ï¼ˆç¹é«”)‎) */ $specialPageAliases['zh-hant'] = array( - 'Interwiki' => array( 'è·¨ç¶åŸºé€£çµ' ), + 'Interwiki' => array( 'è·¨wiki', 'è·¨ç¶åŸº' ), );
\ No newline at end of file diff --git a/extensions/Interwiki/Interwiki.i18n.php b/extensions/Interwiki/Interwiki.i18n.php index a2619ff3..cebc7dc4 100644 --- a/extensions/Interwiki/Interwiki.i18n.php +++ b/extensions/Interwiki/Interwiki.i18n.php @@ -435,8 +435,11 @@ $messages['arz'] = array( /** Assamese (অসমীয়া) * @author Bishnu Saikia + * @author Gitartha.bordoloi */ $messages['as'] = array( + 'interwiki' => 'আনà§à¦¤à¦ƒà§±à¦¿à¦•à¦¿ তথà§à¦¯ চাওক আৰৠসমà§à¦ªà¦¾à¦¦à¦¨à¦¾ কৰক', + 'interwiki-title-norights' => 'আনà§à¦¤à¦ƒà§±à¦¿à¦•à¦¿ তথà§à¦¯ চাওক', 'interwiki_1' => 'হয়', 'interwiki_0' => 'নহয়', 'interwiki_edit' => 'সমà§à¦ªà¦¾à¦¦à¦¨à¦¾ কৰক', @@ -798,6 +801,7 @@ Ho pezet soñj e c'hall an dra-se terriñ liammoù zo anezho dija.", Marteze n\'eus ket anezhañ.', 'interwiki-badprefix' => 'Arouezennoù direizh zo er rakger etrewiki spisaet "$1', 'interwiki-submit-empty' => "N'hall ket ar rakger hag an URL bezañ goullo.", + 'interwiki-submit-invalidurl' => 'Direizh eo protokol an URL.', 'log-name-interwiki' => 'Deizlevr taolenn an etrewiki', 'logentry-interwiki-iw_add' => '$1 {{GENDER:$2|en deus|he deus}} ouzhpennet ar rakger "$4" ($5) (treuz: $6; lec\'hel: $7) d\'an daolenn etrewiki', 'logentry-interwiki-iw_edit' => '$1 {{GENDER:$2|en deus|he deus}} kemmet ar rakger "$4" ($5) (treuz: $6; lec\'hel: $7) en daolenn etrewiki', @@ -931,6 +935,7 @@ Possiblement no existeix.', */ $messages['ce'] = array( 'interwiki-title-norights' => 'Юкъарвикишан хаамаш хьажар', + 'interwiki-desc' => 'ТӀетуху [[Special:Interwiki|белхан агӀо]] юкъаравикин дешхьалхенашка хьажа а уьш Ñ‚Ð°Ñ Ð°.', 'interwiki_intro' => 'ХӀара ду юкъарвикишан таблице хьажар.', 'interwiki-legend-show' => 'Гайта хьехар', 'interwiki-legend-hide' => 'Къайладаккха хьехар', @@ -951,7 +956,9 @@ $messages['ce'] = array( 'interwiki_0' => 'Ñц', 'interwiki_edit' => 'ÐиÑйé', 'interwiki_reasonfield' => 'Бахьан:', - 'interwiki_addbutton' => 'Тlетоха', + 'interwiki_delquestion' => '«$1» дӀаÑккхар', + 'interwiki_addbutton' => 'ТӀетоха', + 'logentry-interwiki-iw_edit' => '$1 {{GENDER:$2|хийцина}} Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Â«$4» ($5) (trans: $6; local: $7) юкъарвики-таблицехь', ); /** Sorani Kurdish (کوردی) @@ -968,7 +975,7 @@ $messages['co'] = array( 'interwiki_reasonfield' => 'Mutivu:', ); -/** Czech (Äesky) +/** Czech (ÄeÅ¡tina) * @author Danny B. * @author Mormegil */ @@ -1030,7 +1037,7 @@ PravdÄ›podobnÄ› neexistuje.', 'action-interwiki' => 'zmÄ›nit tento záznam interwiki', ); -/** Church Slavic (ÑловѣÌньÑкъ / ⰔⰎⰑⰂⰡâ°â° â°”â°â°Ÿ) +/** Church Slavic (ÑловѣньÑкъ / ⰔⰎⰑⰂⰡâ°â° â°”â°â°Ÿ) * @author ОйЛ */ $messages['cu'] = array( @@ -1086,8 +1093,8 @@ $messages['da'] = array( 'interwiki-legend-hide' => 'Skjul forklaring', 'interwiki_prefix' => 'Præfiks', 'interwiki-prefix-label' => 'Præfiks:', - 'interwiki_prefix_intro' => 'Interwiki præfiks som skal anvendes i <code>[<nowiki />[præfiks:<em>sidenavn</em>]]</code> wikitext syntaks.', - 'interwiki_url_intro' => 'Skabelon til URL-adresser. Pladsholderen $1 vil blive erstattet af <em>sidenavn</em> af wikitext, nÃ¥r den ovennævnte wikitext syntaks bruges.', + 'interwiki_prefix_intro' => 'Interwiki præfiks som skal anvendes i <code>[<nowiki />[præfiks:<em>sidenavn</em>]]</code> wikitekst syntaks.', + 'interwiki_url_intro' => 'Skabelon til URL-adresser. Pladsholderen $1 vil blive erstattet af <em>sidenavn</em> af wikitekst, nÃ¥r den ovennævnte wikitekst syntaks bruges.', 'interwiki_local' => 'Videresend', 'interwiki-local-label' => 'Videresend:', 'interwiki_local_intro' => 'En HTTP-forespørgsel til den lokale wiki med denne interwiki præfiks i URL-adressen er:', @@ -1095,7 +1102,7 @@ $messages['da'] = array( 'interwiki_local_1_intro' => 'Omdirigeret til target URL i interwiki link definitioner (dvs. behandles som referencer i lokale sider).', 'interwiki_trans' => 'Transkluder', 'interwiki-trans-label' => 'Transkluder:', - 'interwiki_trans_intro' => 'Hvis wikitext syntaksen <code>[<nowiki />[præfiks:<em>sidenavn</em>]]</code> bruges, sÃ¥:', + 'interwiki_trans_intro' => 'Hvis wikitekst syntaksen <code>[<nowiki />[præfiks:<em>sidenavn</em>]]</code> bruges, sÃ¥:', 'interwiki_1' => 'ja', 'interwiki_0' => 'nej', 'interwiki_error' => 'Fejl: Interwikitabellen er tom eller noget andet gik galt.', @@ -1121,7 +1128,7 @@ Husk, at dette kan bryde eksisterende hyperlinks.', Det findes muligvis ikke.', 'interwiki-badprefix' => 'Det angivne interwikipræfiks "$1" indeholder ugyldige tegn.', 'right-interwiki' => 'Redigere interwikidata', - 'action-interwiki' => 'ændre dette interwiki-element', + 'action-interwiki' => 'redigere interwikidata', ); /** German (Deutsch) @@ -1402,6 +1409,7 @@ VerÅajne Äi ne ekzistas.', /** Spanish (español) * @author Armando-Martin + * @author Ciencia Al Poder * @author Crazymadlover * @author Imre * @author Invadinado @@ -1421,18 +1429,18 @@ $messages['es'] = array( 'interwiki-legend-hide' => 'Ocultar la leyenda', 'interwiki_prefix' => 'Prefijo', 'interwiki-prefix-label' => 'Prefijo:', - 'interwiki_prefix_intro' => 'Prefijo interwiki que se utilizará en sintaxis wikitexto <code>[<nowiki />[prefix:<em>pagename</em>]]</code> wikitext syntax.', - 'interwiki_url_intro' => 'Plantilla para URLs. El marcador $1 será reemplazado por el <em>nombre de página</em> del wikitexto cuando se use la sintaxis de wikitexto arriba mostrada.', - 'interwiki_local' => 'Adelante', - 'interwiki-local-label' => 'Adelante:', - 'interwiki_local_intro' => 'Una solicitud HTTP a la wiki local con este prefijo interwiki en la URL es:', - 'interwiki_local_0_intro' => 'no se satisfizo, normalmente bloqueado por "página no encontrada",', - 'interwiki_local_1_intro' => 'redirigido a la URL objetivo en las definiciones de enlaces interwiki (es decir, se la trata como a las referencias en páginas locales)', + 'interwiki_prefix_intro' => 'Prefijo interwiki que se utilizará en sintaxis wikitexto <code>[<nowiki />[prefijo:<em>nombre de página</em>]]</code>.', + 'interwiki_url_intro' => 'Plantilla para URLs. El marcador $1 será reemplazado por el <em>nombre de página</em> del wikitexto cuando se use la sintaxis de wikitexto mostrada arriba.', + 'interwiki_local' => 'Remitir', + 'interwiki-local-label' => 'Remitir:', + 'interwiki_local_intro' => 'Una solicitud HTTP a la wiki local con este prefijo interwiki en la URL:', + 'interwiki_local_0_intro' => 'no será satisfecha, normalmente mostrando una página de error "tÃtulo incorrecto" en su lugar.', + 'interwiki_local_1_intro' => 'será remitida a la URL objetivo definida en los enlaces de interwiki.', 'interwiki_trans' => 'transcluir', 'interwiki-trans-label' => 'Transcluir:', - 'interwiki_trans_intro' => 'Si se utiliza la sintaxis de wikitexto <code>{<nowiki />{prefix:<em>pagename</em>}}</code>, entonces:', - 'interwiki_trans_1_intro' => 'permitir la transclusión desde la wiki foránea, si las transclusiones de interwiki son por lo general permitidas en esta wiki,', - 'interwiki_trans_0_intro' => 'no permitirlo. En su lugar, buscar una página en el espacio de nombre de la plantilla.', + 'interwiki_trans_intro' => 'Si se utiliza la sintaxis de wikitexto <code>{<nowiki />{prefijo:<em>nombre de la página</em>}}</code>, entonces:', + 'interwiki_trans_1_intro' => 'se permitirá la transclusión desde la wiki foránea, si las transclusiones de interwiki son por lo general permitidas en este wiki.', + 'interwiki_trans_0_intro' => 'no se permitirá, y en su lugar, buscará una página en el espacio de nombres de plantilla.', 'interwiki_intro_footer' => 'Para más información consulte [//www.mediawiki.org/wiki/Manual:Interwiki_table MediaWiki.org] acerca de la tabla de interwiki. Hay un [[Special:Log/interwiki|registro de cambios]] a esta tabla de interwiki.', 'interwiki_1' => 'sÃ', @@ -1535,10 +1543,23 @@ Võimalik, et seda pole olemas.', /** Basque (euskara) * @author An13sa * @author Kobazulo + * @author Theklan + * @author Xabier Armendaritz */ $messages['eu'] = array( + 'interwiki' => 'Ikusi eta aldatu interwikiak', + 'interwiki-title-norights' => 'Ikusi interwikiak', + 'interwiki-desc' => 'Interwiki taula ikusi eta aldatzeko [[Special:Interwiki|orrialde berezi]] bat gehitzen du', + 'interwiki_intro' => 'Hau interwiki taularen ikuspegi orokor bat da.', + 'interwiki-legend-show' => 'Erakutsi azalpenak', + 'interwiki-legend-hide' => 'Ezkutatu azalpenak', 'interwiki_prefix' => 'Aurrizkia', 'interwiki-prefix-label' => 'Aurrizkia:', + 'interwiki_local' => 'Aurrera', + 'interwiki-local-label' => 'Aurrera:', + 'interwiki_trans' => 'Txertatu', + 'interwiki-trans-label' => 'Txertatu:', + 'interwiki_trans_intro' => '<code>{<nowiki />{prefix:<em>pagename</em>}}</code> wikitestu erako sintaxia erabiltzen bada, orduan:', 'interwiki_1' => 'bai', 'interwiki_0' => 'ez', 'interwiki_edit' => 'Aldatu', @@ -1547,30 +1568,48 @@ $messages['eu'] = array( 'interwiki_deleting' => '"$1" aurrizkia ezabatzen ari zara.', 'interwiki_addbutton' => 'Gehitu', 'interwiki_edittext' => 'Interwiki aurrizkia editatzen', + 'right-interwiki' => 'Interwiki datuak aldatu', + 'action-interwiki' => 'aldatu interwiki sarrera hau', ); /** Persian (Ùارسی) + * @author Armin1392 * @author Ebraminio * @author Hamid rostami * @author Huji * @author Mjbmr + * @author Omidh + * @author Reza1615 */ $messages['fa'] = array( 'interwiki' => 'نمایش Ùˆ ویرایش اطلاعات میان‌ویکی', 'interwiki-title-norights' => 'مشاهدهٔ اطلاعات میان‌ویکی', 'interwiki-desc' => 'یک [[Special:Interwiki|صÙØÙ‡Ù” ویژه]] برای مشاهده Ùˆ ویرایش جدول میان‌ویکی می‌اÙزاید.', - 'interwiki_intro' => 'قمستی از اÙزونهٔ میان‌ویکی. به صورت یک مرور Ú©Ù„ÛŒ در Special:Interwiki نمایش داده شده.', # Fuzzy + 'interwiki_intro' => 'این یک نمای Ú©Ù„ÛŒ از جدول interwiki است.', + 'interwiki-legend-show' => 'نمایش اÙسانه', + 'interwiki-legend-hide' => 'پنهان کردن اÙسانه', 'interwiki_prefix' => 'پیشوند', 'interwiki-prefix-label' => 'پیشوند:', - 'interwiki_local' => 'مشخص کردن به عنوان یک ویکی Ù…ØÙ„ÛŒ', # Fuzzy - 'interwiki-local-label' => 'مشخص کردن به عنوان یک ویکی Ù…ØÙ„ÛŒ:', # Fuzzy - 'interwiki_trans' => 'اجازهٔ گنجاندن میان‌ویکی را بده', # Fuzzy - 'interwiki-trans-label' => 'اجازهٔ گنجاندن میان‌ویکی را بده:', # Fuzzy + 'interwiki_prefix_intro' => 'پیشوند ویکی داخلی در <code>[<nowiki />[prefix:<em>pagename</em>]]</code> Ù†ØÙˆ متن ویکی استÙاده شده‌است.', + 'interwiki_url' => 'نشانی اینترنتی', + 'interwiki-url-label' => 'نشانی اینترنتی:', + 'interwiki_url_intro' => 'الگو برای یو‌ار‌ال‌ها. هنگامی Ú©Ù‡ Ù†ØÙˆ متن ویکی Ùوق‌الذکر استÙاده شده‌است، نگه‌دارندهٔ جا $1 توسط <em>pagename</em> متن ویکی جایگزین خواهد شد.', + 'interwiki_local' => 'جلو', + 'interwiki-local-label' => 'جلو:', + 'interwiki_local_intro' => 'درخواست اچ‌تی‌تی‌پی برای ویکی داخلی با این پیشوند ویکی داخلی در یوآر‌ال هست:', + 'interwiki_local_0_intro' => 'بدون اÙتخار، اغلب توسط "صÙØÙ‡ پیدا نشد" مسدود شده.', + 'interwiki_local_1_intro' => 'هدایت به یوآر‌ال مورد نظر داده‌ شده در تعاری٠لینک ویکی داخلی (یعنی مانند منابع در صÙØات داخلی Ù…Ø·Ø±Ø Ù…ÛŒâ€ŒØ´ÙˆØ¯).', + 'interwiki_trans' => 'تراگنجایش', + 'interwiki-trans-label' => 'تراگنجایش:', + 'interwiki_trans_intro' => 'اگر Ù†ØÙˆ متن ویکی <code>{<nowiki />{prefix:<em>pagename</em>}}</code> استÙاده شده‌است، سپس:', + 'interwiki_trans_1_intro' => 'اجازه دادن ترنس‌کلوژن از ویکی خارجی، اگر ترنس‌کلوژن‌های ویکی داخلی در این ویکی به طور Ú©Ù„ÛŒ اجازه داده خواهد شد.', + 'interwiki_trans_0_intro' => 'اجازه به این ندهید، بلکه به دنبال یک صÙØÙ‡ در Ùضای نام الگو باشید.', 'interwiki_intro_footer' => 'برای اطلاعات بیشتر در مورد Interwiki به [//www.mediawiki.org/wiki/Manual:Interwiki_table MediaWiki.org] مراØعه نمائید. همچنین می‌توانید [[Special:Log/interwiki|تاریخچهٔ تغییرات]] چدول Interwiki را مشاهده کنید.', 'interwiki_1' => 'بله', 'interwiki_0' => 'خیر', 'interwiki_error' => 'خطا: جدول میان‌ویکی خالی است، یا چیز دیگری مشکل دارد.', + 'interwiki-cached' => 'اطلاعات ویکی داخلی ذخیره شده‌است. Ø§ØµÙ„Ø§Ø Ø°Ø®ÛŒØ±Ù‡ ممکن نیست.', 'interwiki_edit' => 'ویرایش', 'interwiki_reasonfield' => 'دلیل:', 'interwiki_delquestion' => 'Øذ٠«$1»', @@ -1592,7 +1631,11 @@ $messages['fa'] = array( اØتمالاً این پیشوند وجود ندارد.', 'interwiki-badprefix' => 'پیشوند میان‌ویکی «$1» Øاوی نویسه‌های نامجاز است', 'interwiki-submit-empty' => 'پیشوند Ùˆ آدرس URL نمی‌توانند خالی باشند.', + 'interwiki-submit-invalidurl' => 'تÙاهم‌نامهٔ یوآر‌ال نامعتبر است.', 'log-name-interwiki' => 'سیاههٔ جدول میان‌ویکی', + 'logentry-interwiki-iw_add' => '$1 {{GENDER:$2|اضاÙÙ‡ شده}} پیشوند "$4" ($5) (ترانس: $6; local: $7) به جدول ویکی داخلی', + 'logentry-interwiki-iw_edit' => '$1 {{GENDER:$2|Ø§ØµÙ„Ø§Ø Ø´Ø¯Ù‡}} پیشوند "$4" ($5) (tترنس: $6; داخلی: $7) در جدول ویکی داخلی', + 'logentry-interwiki-iw_delete' => '$1 {{GENDER:$2|Øذ٠شده}} پیشوند "$4" از جدول ویکی داخلی', 'log-description-interwiki' => 'این یک تاریخچه از تغییرات [[Special:Interwiki|interwiki table]] است.', 'right-interwiki' => 'ویرایش اطلاعات میان‌ویکی', 'action-interwiki' => 'تغییر این مدخل میان‌ویکی', @@ -1745,6 +1788,13 @@ $messages['frp'] = array( 'action-interwiki' => 'changiér ceta entrâ entèrvouiqui', ); +/** Northern Frisian (Nordfriisk) + * @author Murma174 + */ +$messages['frr'] = array( + 'interwiki-title-norights' => 'Interwiki-dooten uunluke', +); + /** Friulian (furlan) * @author Klenje */ @@ -1969,6 +2019,7 @@ $messages['haw'] = array( /** Hebrew (עברית) * @author Agbad * @author Amire80 + * @author Guycn2 * @author Rotemliss * @author YaronSh * @author ×“× ×™×ל ב. @@ -1987,12 +2038,12 @@ $messages['he'] = array( 'interwiki_local' => 'העברה', 'interwiki-local-label' => 'העברה:', 'interwiki_local_intro' => 'בקשת HTTP ל×תר הוויקי המקומי ×¢× ×§×™×“×•×ž×ª ×‘×™× ×•×•×™×§×™ זו בכתובת:', - 'interwiki_local_0_intro' => '×œ× ×ž×›×•×‘×“×ª, לרוב × ×—×¡×ž×ª ×¢× ×”×•×“×¢×ª "הדף ×œ× × ×ž×¦×",', + 'interwiki_local_0_intro' => '×œ× ×ž×›×•×‘×“×ª, לרוב × ×—×¡×ž×ª ×¢× ×”×•×“×¢×ª "הדף ×œ× × ×ž×¦×".', 'interwiki_local_1_intro' => '×ž×•×¤× ×™×ª ×ל כתובת היעד ×©× ×™×ª× ×” בהגדרות קישור ×”×‘×™× ×•×•×™×§×™ (כלומר מטופלת כמו ×”×¤× ×™×” ×‘×“×¤×™× ×ž×§×•×ž×™×™×)', 'interwiki_trans' => 'הכללה', 'interwiki-trans-label' => 'הכללה:', 'interwiki_trans_intro' => '×× × ×¢×©×” שימוש בתחביר <code>{<nowiki />{prefix:<em>pagename</em>}}</code>, ××–:', - 'interwiki_trans_1_intro' => '×ª×™× ×ª×Ÿ ×”×פשרות להכללת ×ž×§×˜×¢×™× ×—×™×¦×•× ×™×™× ×ž×תר ויקי ×—×™×¦×•× ×™, ×× ×”×›×œ×œ×•×ª מקטעי ויקי ×—×™×¦×•× ×™×™× ×ž×•×¨×©×™× ×‘×ופן כללי ב×תר ויקי ×–×”,', + 'interwiki_trans_1_intro' => '×ª×™× ×ª×Ÿ ×”×פשרות להכללת ×ž×§×˜×¢×™× ×—×™×¦×•× ×™×™× ×ž×תר ויקי ×—×™×¦×•× ×™, ×× ×”×›×œ×œ×•×ª מקטעי ויקי ×—×™×¦×•× ×™×™× ×ž×•×¨×©×™× ×‘×ופן כללי ב×תר ויקי ×–×”.', 'interwiki_trans_0_intro' => '×ין ל×פשר ×–×ת, ×‘×ž×§×•× ×–×ת יש לחפש דף במרחב ×”×©× ×ª×‘× ×™×ª.', 'interwiki_intro_footer' => '×¢×™×™× ×• ב־[//www.mediawiki.org/wiki/Manual:Interwiki_table MediaWiki.org] למידע × ×•×¡×£ על טבלת ×”×‘×™× ×•×•×™×§×™. ×™×©× ×• [[Special:Log/interwiki|יומן ×©×™× ×•×™×™×]] לטבלת ×”×‘×™× ×•×•×™×§×™.', @@ -2363,6 +2414,7 @@ Memora que isto pote rumper ligamines existente.', Es possibile que illo non existe.', 'interwiki-badprefix' => 'Le prefixo interwiki specificate "$1" contine characteres invalide', 'interwiki-submit-empty' => 'Le prefixo e le URL non pote esser vacue.', + 'interwiki-submit-invalidurl' => 'Le protocollo del URL es invalide.', 'log-name-interwiki' => 'Registro del tabella interwiki', 'logentry-interwiki-iw_add' => '$1 {{GENDER:$2|addeva}} le prefixo "$4" ($5) (trans: $6; local: $7) al tabella interwiki', 'logentry-interwiki-iw_edit' => '$1 {{GENDER:$2|modificava}} le prefixo "$4" ($5) (trans: $6; local: $7) in le tabella interwiki', @@ -2828,7 +2880,7 @@ $messages['ko'] = array( 'logentry-interwiki-iw_add' => '$1 사용ìžê°€ "$4" ($5) (í‹€ í¬í•¨: $6, 로컬: $7) ì ‘ë‘어를 ì¸í„°ìœ„키 í…Œì´ë¸”ì— {{GENDER:$2|추가}}했습니다.', 'logentry-interwiki-iw_edit' => '$1 사용ìžê°€ ì¸í„°ìœ„키 í…Œì´ë¸”ì˜ "$4" ($5) (í‹€ í¬í•¨: $6, 로컬: $7) ì ‘ë‘어를 {{GENDER:$2|ìˆ˜ì •}}했습니다.', 'logentry-interwiki-iw_delete' => '$1 사용ìžê°€ ì¸í„°ìœ„키 í…Œì´ë¸”ì˜ "$4" ì ‘ë‘어를 {{GENDER:$2|ì‚ì œ}}했습니다.', - 'log-description-interwiki' => '[[Special:Interwiki|ì¸í„°ìœ„키]] 목ë¡ì˜ ë°”ë€ ë‚´ì—입니다.', + 'log-description-interwiki' => '[[Special:Interwiki|ì¸í„°ìœ„키 í…Œì´ë¸”]]ì´ ë°”ë€ ê¸°ë¡ìž…니다.', 'right-interwiki' => 'ì¸í„°ìœ„키 ëª©ë¡ ê³ ì¹˜ê¸°', 'action-interwiki' => 'ì´ ì¸í„°ìœ„키 ì ‘ë‘ì–´ 바꾸기', ); @@ -2979,11 +3031,11 @@ $messages['lb'] = array( 'interwiki_delfailed' => 'Prefix "$1" konnt net aus der Interwiki-Tabell erausgeholl ginn.', 'interwiki_addtext' => 'En Interwiki-prefix derbäisetzen', 'interwiki_addintro' => 'Dir setzt en neien Interwiki-Prefix derbäi. -Denkt drunn datt keng Espacen ( ), Et-commerciale (&), Gläichzeechen (=) a keng Doppelpunkten (:) däerfen dra sinn.', +Denkt drun datt keng Espacen ( ), Et-commerciale (&), Gläichzeechen (=) a keng Doppelpunkten (:) däerfen dra sinn.', 'interwiki_addbutton' => 'Derbäisetzen', 'interwiki_added' => 'De Prefix "$1" gou an d\'Interwiki-Tabell derbäigesat.', 'interwiki_addfailed' => 'De Prefix "$1" konnt net an d\'Interwiki-Tabell derbäigesat ginn. -Méiglecherweis gëtt et e schn an der Interwiki-Tabell.', +Méiglecherweis gëtt et e schonn an der Interwiki-Tabell.', 'interwiki_edittext' => 'En interwiki Prefix änneren', 'interwiki_editintro' => 'Dir ännert en Interwiki Prefix. Denkt drun, datt dat kann dozou féieren datt Linken déi et scho gëtt net méi funktionéieren.', @@ -3157,7 +3209,7 @@ $messages['mk'] = array( 'interwiki_1' => 'да', 'interwiki_0' => 'не', 'interwiki_error' => 'Грешка: Mеѓувики-табелата е празна, или нешто друго не е во ред.', - 'interwiki-cached' => 'Податоците за меѓувики Ñе кеширани. Кешот не може да Ñе измени.', + 'interwiki-cached' => 'Податоците за меѓувики Ñе меѓуÑкладирани. МеѓуÑкладот не може да Ñе измени.', 'interwiki_edit' => 'Уреди', 'interwiki_reasonfield' => 'Причина:', 'interwiki_delquestion' => 'Бришење на „$1“', @@ -3261,11 +3313,12 @@ $messages['mn'] = array( /** Marathi (मराठी) * @author Kaustubh + * @author V.narsikar */ $messages['mr'] = array( 'interwiki' => 'आंतरविकि डाटा पहा व संपादा', 'interwiki-title-norights' => 'अंतरविकि डाटा पहा', - 'interwiki-desc' => 'आंतरविकि सारणी पाहणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी व संपादनà¥à¤¯à¤¾à¤¸à¤¾à¤ ी à¤à¤• [[Special:Interwiki|विशेष पान]] वाढविते', + 'interwiki-desc' => 'आंतरविकि सारणी पाहणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी व संपादणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी à¤à¤• [[Special:Interwiki|विशेष पान]] वाढविते', 'interwiki_intro' => 'आंतरविकि सारणी बदà¥à¤¦à¤² अधिक माहीतीसाठी [http://www.mediawiki.org/wiki/Interwiki_table MediaWiki.org] पहा.', # Fuzzy 'interwiki_prefix' => 'उपपद (पूरà¥à¤µà¤ªà¥à¤°à¤¤à¥à¤¯à¤¯)', 'interwiki-prefix-label' => 'उपपद (पूरà¥à¤µà¤ªà¥à¤°à¤¤à¥à¤¯à¤¯):', # Fuzzy @@ -3280,11 +3333,11 @@ $messages['mr'] = array( 'interwiki_addbutton' => 'वाढवा', 'interwiki_added' => '"$1" उपपद आंतरविकि सारणी मधà¥à¤¯à¥‡ वाढविणà¥à¤¯à¤¾à¤¤ आलेले आहे.', 'interwiki_addfailed' => '"$1" उपपद आंतरविकि सारणी मधà¥à¤¯à¥‡ वाढवू शकलेलो नाही. कदाचित ते अगोदरच असà¥à¤¤à¤¿à¤¤à¥à¤µà¤¾à¤¤ असणà¥à¤¯à¤¾à¤šà¥€ शकà¥à¤¯à¤¤à¤¾ आहे.', - 'interwiki_edittext' => 'à¤à¤• अंतरविकि उपपद संपादित आहे', - 'interwiki_editintro' => 'तà¥à¤®à¥à¤¹à¥€ à¤à¤• अंतरविकि उपपद संपादित आहात. + 'interwiki_edittext' => 'à¤à¤• आंतरविकि उपपद संपादित आहे', + 'interwiki_editintro' => 'तà¥à¤®à¥à¤¹à¥€ à¤à¤• आंतरविकि उपपद संपादित आहात. लकà¥à¤·à¤¾à¤¤ ठेवा की यामà¥à¤³à¥‡ अगोदर दिलेले दà¥à¤µà¥‡ तà¥à¤Ÿà¥‚ शकतात.', - 'interwiki_edited' => 'अंतरविकि सारणीमधà¥à¤¯à¥‡ "$1" उपपद यशसà¥à¤µà¥€à¤°à¤¿à¤¤à¥à¤¯à¤¾ बदलणà¥à¤¯à¤¾à¤¤ आलेले आहे.', - 'interwiki_editerror' => 'अंतरविकि सारणीमधà¥à¤¯à¥‡ "$1" उपपद बदलू शकत नाही. + 'interwiki_edited' => 'आंतरविकि सारणीमधà¥à¤¯à¥‡ "$1" उपपद यशसà¥à¤µà¥€à¤°à¤¿à¤¤à¥à¤¯à¤¾ बदलणà¥à¤¯à¤¾à¤¤ आलेले आहे.', + 'interwiki_editerror' => 'आंतरविकि सारणीमधà¥à¤¯à¥‡ "$1" उपपद बदलू शकत नाही. कदाचित ते असà¥à¤¤à¤¿à¤¤à¥à¤µà¤¾à¤¤ नसेल.', 'log-name-interwiki' => 'आंतरविकि सारणी नोंद', 'log-description-interwiki' => '[[Special:Interwiki|आंतरविकि सारणीत]] à¤à¤¾à¤²à¥‡à¤²à¥à¤¯à¤¾ बदलांची ही सूची आहे.', @@ -3783,6 +3836,7 @@ Vielaischd hods des a ned.", /** Polish (polski) * @author BeginaFelicysym + * @author Chrumps * @author Leinad * @author Matma Rex * @author McMonster @@ -3808,7 +3862,7 @@ $messages['pl'] = array( 'interwiki_trans' => 'Transkluzja', 'interwiki-trans-label' => 'Transkluzja:', 'interwiki_trans_intro' => 'JeÅ›li skÅ‚adnia wiki <code>{<nowiki />{przedrostek:<em>nazwastrony</em>}}</code> zostaÅ‚a użyta, to:', - 'interwiki_trans_1_intro' => 'pozwala na transkluzjÄ™ z innych wiki, jeÅ›li transkluzja interwiki jest w ogóle dozwolona na tej wiki,', + 'interwiki_trans_1_intro' => 'pozwala na transkluzjÄ™ z innych wiki, jeÅ›li transkluzja interwiki jest w ogóle dozwolona na tej wiki.', 'interwiki_trans_0_intro' => 'nie pozwalaj na niÄ…, raczej szukaj strony w przestrzeni szablonów.', 'interwiki_intro_footer' => 'Na [//www.mediawiki.org/wiki/Manual:Interwiki_table MediaWiki.org] odnajdziesz wiÄ™cej informacji na temat tabeli interwiki. Tutaj znajduje siÄ™ [[Special:Log/interwiki|rejestr zmian]] tabeli interwiki.', @@ -4054,6 +4108,9 @@ Existe um [[Special:Log/interwiki|registro de modificações]] à tabela de inte 'interwiki-submit-empty' => 'O prefixo e o URL não podem estar vazios.', 'interwiki-submit-invalidurl' => 'O protocolo do URL é inválido.', 'log-name-interwiki' => 'Registro da tabela de interwikis', + 'logentry-interwiki-iw_add' => '$1 {{GENDER:$2|adicionou}} o prefixo "$4" ($5) (trans: $6; local: $7) à tabela de interwikis', + 'logentry-interwiki-iw_edit' => '$1 {{GENDER:$2|modificou}} o prefixo "$4" ($5) (trans: $6; local: $7) na tabela de interwikis', + 'logentry-interwiki-iw_delete' => '$1 {{GENDER:$2|removeu}} o prefixo "$4" da tabela de interwikis', 'log-description-interwiki' => 'Este é um registro das alterações à [[Special:Interwiki|tabela de interwikis]].', 'right-interwiki' => 'Editar dados de interwiki', 'action-interwiki' => 'alterar esta entrada interwiki', @@ -4107,12 +4164,16 @@ $messages['roa-tara'] = array( 'interwiki_prefix_intro' => "'U prefisse inderuicchi avène ausate jndr'à <code>[<nowiki />[prefix:<em>pagename</em>]]</code> sindasse uicchiteste.", 'interwiki_local' => 'Inoltre', 'interwiki-local-label' => 'Inoltre:', + 'interwiki_local_intro' => "'Na richieste HTTP sus a sta uicchi locale cu ste prefisse inderuicchi jndr'à URL jè:", + 'interwiki_local_0_intro' => 'none onorate, normalmende bloccate da "pà gene none acchiate".', 'interwiki_1' => 'sine', 'interwiki_0' => 'none', 'interwiki_edit' => 'Cange', 'interwiki_reasonfield' => 'Mutive:', 'interwiki_delquestion' => 'Scangellamende de "$1"', 'interwiki_deleting' => 'Tu ste scangille \'u prefisse "$1".', + 'interwiki_deleted' => '\'U prefisse "$1" ha state luate da \'a tabbelle de inderuicchi.', + 'interwiki_delfailed' => '\'U prefisse "$1" non ge pò essere luate da \'a tabbelle de inderuicchi.', 'interwiki_addtext' => "Aggiunge 'nu prefisse inderuicchi", 'interwiki_addbutton' => 'Aggiunge', 'right-interwiki' => 'Cange le date de inderuicchi', @@ -4267,16 +4328,21 @@ Lu prifissu putissi èssiri ca non c\'è.', /** Sassaresu (Sassaresu) * @author Felis + * @author Jun Misugi */ $messages['sdc'] = array( - 'interwiki' => 'Vidè e mudìfiggà li dati interwiki', + 'interwiki' => 'Vidè e mudifiggà li dati interwiki', + 'interwiki-title-norights' => 'Vidé li dati interwiki', 'interwiki_prefix' => 'Prefissu', - 'interwiki-prefix-label' => 'Prefissu:', # Fuzzy - 'interwiki_reasonfield' => 'Rasgioni', # Fuzzy - 'interwiki_delquestion' => 'Canzillendi "$1"', - 'interwiki_deleting' => 'Sei canzillendi lu prefissu "$1".', + 'interwiki-prefix-label' => 'Prefissu:', + 'interwiki_1' => 'si', + 'interwiki_0' => 'no', + 'interwiki_edit' => 'Mudifiggà ', + 'interwiki_reasonfield' => 'Rasgioni', + 'interwiki_delquestion' => 'Canzillendhi "$1"', + 'interwiki_deleting' => 'Sei canzillendhi lu prefissu "$1".', 'interwiki_addtext' => 'Aggiungi un prefissu interwiki', - 'interwiki_addbutton' => 'Aggiungi', + 'interwiki_addbutton' => 'Aggiungì', 'log-name-interwiki' => 'Rigisthru di la table interwiki', ); @@ -4411,6 +4477,7 @@ Morda ne obstaja.', ); /** Serbian (Cyrillic script) (ÑрпÑки (ћирилица)‎) + * @author Milicevic01 * @author Rancher * @author Sasa Stefanovic * @author Жељко Тодоровић @@ -4452,13 +4519,14 @@ $messages['sr-ec'] = array( 'interwiki_editerror' => 'ÐŸÑ€ÐµÑ„Ð¸ÐºÑ "$1" не може бити измењен у табели међувикија. Вероватно затшо што не поÑтоји.', 'interwiki-badprefix' => 'Задати међувики Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ "$1" Ñадржи недозвољене знакове', - 'log-name-interwiki' => 'ИÑторија табеле међувикија', + 'log-name-interwiki' => 'Дневник табеле међувикија', 'log-description-interwiki' => 'Ово је иÑторија измена [[Special:Interwiki|табеле међувикија]].', 'right-interwiki' => 'уређивање међувикија', ); /** Serbian (Latin script) (srpski (latinica)‎) * @author Michaello + * @author Milicevic01 * @author Жељко Тодоровић */ $messages['sr-el'] = array( @@ -4497,9 +4565,9 @@ Imajte na umu da može da oÅ¡teti postojeće meÄ‘uviki veze.', 'interwiki_editerror' => 'Prefiks "$1" ne može biti izmenjen u tabeli meÄ‘uvikija. Verovatno zatÅ¡o Å¡to ne postoji.', 'interwiki-badprefix' => 'Zadati meÄ‘uviki prefiks "$1" sadrži nedozvoljene znakove', - 'log-name-interwiki' => 'Istorija tabele meÄ‘uvikija', + 'log-name-interwiki' => 'Dnevnik tabele meÄ‘uvikija', 'log-description-interwiki' => 'Ovo je istorija izmena [[Special:Interwiki|tabele meÄ‘uvikija]].', - 'right-interwiki' => 'Izmeni meÄ‘uviki', + 'right-interwiki' => 'ureÄ‘ivanje meÄ‘uvikija', ); /** Seeltersk (Seeltersk) @@ -4556,13 +4624,16 @@ $messages['sv'] = array( 'interwiki_prefix' => 'Prefix', 'interwiki-prefix-label' => 'Prefix:', 'interwiki_prefix_intro' => 'Interwiki-prefix avsedda att användas i <code>[<nowiki />[prefix:<em>pagename</em>]]</code>-wikisyntax.', + 'interwiki_url_intro' => 'Mall för webbadresser. PlatshÃ¥llaren $1 kommer att ersättas av <em>sidnamnet</em> i wikitexten, när den ovannämnda wikitextsyntaxen används.', 'interwiki_local' => 'Vidarebefordra', 'interwiki-local-label' => 'Vidarebefordra:', 'interwiki_local_intro' => 'En HTTP-förfrÃ¥gan till den lokala wikin med denna interwiki-prefix i webbadressen är:', 'interwiki_local_0_intro' => 'inte accepterad, vanligtvis blockerad av "sidan kunde inte hittas".', + 'interwiki_local_1_intro' => 'omdirigeras till mÃ¥ladressen som anges i definitionerna av interwiki-länken (d.v.s. behandlas som referenser i lokala sidor).', 'interwiki_trans' => 'Transkludera', 'interwiki-trans-label' => 'Transkludera:', 'interwiki_trans_intro' => 'Om wikitextsyntax <code>{<nowiki />{prefix:<em>pagename</em>}}</code> används sÃ¥:', + 'interwiki_trans_1_intro' => 'tillÃ¥t inkludering frÃ¥n utländska wikin, om interwiki-inkluderingar är allmänt tillÃ¥ten pÃ¥ denna wiki.', 'interwiki_trans_0_intro' => 'tillÃ¥t inte det, leta istället efter en sida i mall-namnrymden.', 'interwiki_intro_footer' => 'Se [//www.mediawiki.org/wiki/Manual:Interwiki_table MediaWiki.org] för mer information om interwikitabellen. Det finns en [[Special:Log/interwiki|logg över ändringar]] i interwikitabellen.', @@ -4648,6 +4719,7 @@ $messages['tcy'] = array( ); /** Telugu (తెలà±à°—à±) + * @author Chaduvari * @author Kiranmayee * @author Veeven */ @@ -4663,7 +4735,7 @@ $messages['te'] = array( అంతరà±à°µà°¿à°•à±€ పటà±à°Ÿà°¿à°•à°•à°¿ జరిగిన [[Special:Log/interwiki|మారà±à°ªà±à°² యొకà±à°• à°šà°¿à°Ÿà±à°Ÿà°¾]] కూడా ఉంది.', 'interwiki_1' => 'à°…à°µà±à°¨à±', 'interwiki_0' => 'కాదà±', - 'interwiki_error' => 'పొరపాటà±: అంతరà±à°µà°¿à°•à±€ పటà±à°Ÿà°¿à°• ఖాళీగా ఉంది, లేదా à°à°¦à±‹ తపà±à°ªà± జరిగింది.', + 'interwiki_error' => 'లోపం: అంతరà±à°µà°¿à°•à±€ పటà±à°Ÿà°¿à°• ఖాళీగా ఉంది, లేదా మరేదో తపà±à°ªà± జరిగింది.', 'interwiki_edit' => 'మారà±à°šà±', 'interwiki_reasonfield' => 'కారణం:', 'interwiki_delquestion' => '"$1"ని తొలగిసà±à°¤à±à°¨à±à°¨à°¾à°°à±', @@ -5153,6 +5225,7 @@ $messages['yi'] = array( ); /** Cantonese (粵語) + * @author Antonytse */ $messages['yue'] = array( 'interwiki' => '去ç‡åŒç·¨è¼¯è·¨ç¶åŸºè³‡æ–™', @@ -5165,7 +5238,7 @@ $messages['yue'] = array( 'interwiki_trans' => '容許跨ç¶åŸºåŒ…å«', # Fuzzy 'interwiki-trans-label' => '容許跨ç¶åŸºåŒ…å«:', # Fuzzy 'interwiki_error' => '錯誤: è·¨ç¶åŸºè¡¨ä¿‚空ã€åˆæˆ–者有其它嘢出錯。', - 'interwiki_reasonfield' => 'åŽŸå› ', # Fuzzy + 'interwiki_reasonfield' => 'åŽŸå› ï¼š', 'interwiki_delquestion' => '刪緊 "$1"', 'interwiki_deleting' => 'ä½ è€Œå®¶æ‹Žèµ°ç·Šå‰ç¶´ "$1"。', 'interwiki_deleted' => 'å‰ç¶´ "$1" 已經æˆåŠŸå™‰éŸ¿å€‹è·¨ç¶åŸºè¡¨åº¦æ‹Žèµ°å’—。', @@ -5201,7 +5274,7 @@ $messages['yue'] = array( */ $messages['zh-hans'] = array( 'interwiki' => '查看和编辑跨wikiæ•°æ®', - 'interwiki-title-norights' => '查看跨维基数æ®', + 'interwiki-title-norights' => '查看跨wikiæ•°æ®', 'interwiki-desc' => '新增[[Special:Interwiki|特殊页é¢]]以查看和编辑跨wiki表', 'interwiki_intro' => '这是跨wiki表的概览。', 'interwiki-legend-show' => '显示说明', @@ -5224,7 +5297,7 @@ $messages['zh-hans'] = array( 'interwiki_1' => '是', 'interwiki_0' => 'å¦', 'interwiki_error' => '错误: è·¨wiki表为空,或是å‘生其它错误。', - 'interwiki-cached' => 'è·¨wikiæ•°æ®å·²ç¼“å˜ã€‚缓å˜ä¸èƒ½ç¼–辑。', + 'interwiki-cached' => '跨维基数æ®æ˜¯ç¼“å˜çš„。缓å˜ä¸èƒ½è¢«ä¿®æ”¹ã€‚', 'interwiki_edit' => '编辑', 'interwiki_reasonfield' => 'ç†ç”±ï¼š', 'interwiki_delquestion' => 'æ£åœ¨åˆ 除“$1â€', @@ -5252,7 +5325,7 @@ $messages['zh-hans'] = array( 'logentry-interwiki-iw_edit' => '$1{{GENDER:$2|已修改}}è·¨wiki表ä¸çš„å‰ç¼€â€œ$4â€($5) (包å«ï¼š$6;本地:$7)', 'logentry-interwiki-iw_delete' => '$1已从跨wiki表ä¸{{GENDER:$2|åˆ é™¤}}å‰ç¼€â€œ$4â€', 'log-description-interwiki' => '这是一个[[Special:Interwiki|è·¨wiki表]]的更改日志。', - 'right-interwiki' => '编辑跨维基数æ®', + 'right-interwiki' => '编辑跨wikiæ•°æ®', 'action-interwiki' => '更改该跨维基æ¡ç›®', ); diff --git a/extensions/Interwiki/Interwiki_body.php b/extensions/Interwiki/Interwiki_body.php index ec104968..fd982811 100644 --- a/extensions/Interwiki/Interwiki_body.php +++ b/extensions/Interwiki/Interwiki_body.php @@ -36,7 +36,7 @@ class SpecialInterwiki extends SpecialPage { $out->addModules( 'ext.interwiki.specialpage' ); $action = $par ? $par : $request->getVal( 'action', $par ); - $return = $this->getTitle(); + $return = $this->getPageTitle(); switch( $action ) { case 'delete': @@ -186,7 +186,7 @@ class SpecialInterwiki extends SpecialPage { array( 'id' => "mw-interwiki-{$action}form", 'method' => 'post', - 'action' => $this->getTitle()->getLocalUrl( array( + 'action' => $this->getPageTitle()->getLocalUrl( array( 'action' => 'submit', 'prefix' => $prefix ) ) @@ -229,7 +229,7 @@ class SpecialInterwiki extends SpecialPage { return; } $reason = $request->getText( 'wpInterwikiReason' ); - $selfTitle = $this->getTitle(); + $selfTitle = $this->getPageTitle(); $dbw = wfGetDB( DB_MASTER ); switch( $do ) { case 'delete': @@ -325,7 +325,7 @@ class SpecialInterwiki extends SpecialPage { if ( $canModify ) { $this->getOutput()->addHTML( "<br />" . $this->msg( 'interwiki_intro_footer' )->parse() ); $addtext = $this->msg( 'interwiki_addtext' )->escaped(); - $addlink = Linker::linkKnown( $this->getTitle( 'add' ), $addtext ); + $addlink = Linker::linkKnown( $this->getPageTitle( 'add' ), $addtext ); $this->getOutput()->addHTML( '<p class="mw-interwiki-addlink">' . $addlink . '</p>' ); } @@ -363,7 +363,7 @@ class SpecialInterwiki extends SpecialPage { ); $out .= Html::closeElement( 'tr' ) . "\n"; - $selfTitle = $this->getTitle(); + $selfTitle = $this->getPageTitle(); # Output the existing Interwiki prefixes table rows foreach ( $iwPrefixes as $iwPrefix ) { diff --git a/extensions/LocalisationUpdate/KNOWN_ISSUES.txt b/extensions/LocalisationUpdate/KNOWN_ISSUES.txt deleted file mode 100644 index 7ce14cd0..00000000 --- a/extensions/LocalisationUpdate/KNOWN_ISSUES.txt +++ /dev/null @@ -1,11 +0,0 @@ -- Only works with SVN revision 50605 or later of the - MediaWiki core - - - -Key issues at the moment: -* Seems to want to store a copy of the localization updates in each local database. -We've got hundreds of wikis run from the same installation set; we don't want to multiply our effort by 1000. - -* It doesn't seem to be using available memcached stuff; unsure yet whether this is taken care of -by the general message caching or if we're going to end up making extra hits we don't need. diff --git a/extensions/LocalisationUpdate/LocalisationUpdate.class.php b/extensions/LocalisationUpdate/LocalisationUpdate.class.php index 66b63232..24620545 100644 --- a/extensions/LocalisationUpdate/LocalisationUpdate.class.php +++ b/extensions/LocalisationUpdate/LocalisationUpdate.class.php @@ -3,7 +3,7 @@ /** * Class for localization updates. * - * TODO: refactor code to remove duplication + * @todo Refactor code to remove duplication */ class LocalisationUpdate { @@ -60,7 +60,7 @@ class LocalisationUpdate { $skipCore = isset( $options['skip-core'] ); $skipExtensions = isset( $options['skip-extensions'] ); - if( isset( $options['outdir'] ) ) { + if ( isset( $options['outdir'] ) ) { $wgLocalisationUpdateDirectory = $options['outdir']; } @@ -82,25 +82,25 @@ class LocalisationUpdate { $result = 0; // Update all MW core messages. - if( !$skipCore ) { + if ( !$skipCore ) { $result = self::updateMediawikiMessages( $verbose, $coreUrl ); } // Update all Extension messages. - if( !$skipExtensions ) { - if( $all ) { + if ( !$skipExtensions ) { + if ( $all ) { global $IP; $extFiles = array(); // Look in extensions/ for all available items... - // TODO: add support for $wgExtensionAssetsPath + // @todo Add support for $wgExtensionAssetsPath $dirs = new RecursiveDirectoryIterator( "$IP/extensions/" ); // I ain't kidding... RecursiveIteratorIterator. - foreach( new RecursiveIteratorIterator( $dirs ) as $pathname => $item ) { + foreach ( new RecursiveIteratorIterator( $dirs ) as $pathname => $item ) { $filename = basename( $pathname ); $matches = array(); - if( preg_match( '/^(.*)\.i18n\.php$/', $filename, $matches ) ) { + if ( preg_match( '/^(.*)\.i18n\.php$/', $filename, $matches ) ) { $group = $matches[1]; $extFiles[$group] = $pathname; } @@ -187,7 +187,14 @@ class LocalisationUpdate { ); // Compare the files. - $changedCount += self::compareFiles( $repoUrl, $localUrl, $verbose, $changedEnglishStrings, false, true ); + $changedCount += self::compareFiles( + $repoUrl, + $localUrl, + $verbose, + $changedEnglishStrings, + false, + true + ); } // Log some nice info. @@ -218,7 +225,7 @@ class LocalisationUpdate { preg_match_all( '/\$messages(.*\s)*?\);/', $contents, $results ); // But we want them all in one string. - if( !empty( $results[0] ) && is_array( $results[0] ) ) { + if ( !empty( $results[0] ) && is_array( $results[0] ) ) { $contents = implode( "\n\n", $results[0] ); } else { $contents = ''; @@ -245,8 +252,8 @@ class LocalisationUpdate { // Use cURL to get the SVN contents. if ( preg_match( "/^http/", $file ) ) { - while( !$filecontents && $attempts <= $wgLocalisationUpdateRetryAttempts ) { - if( $attempts > 0 ) { + while ( !$filecontents && $attempts <= $wgLocalisationUpdateRetryAttempts ) { + if ( $attempts > 0 ) { $delay = 1; self::myLog( 'Failed to download ' . $file . "; retrying in ${delay}s..." ); sleep( $delay ); @@ -257,11 +264,13 @@ class LocalisationUpdate { } if ( !$filecontents ) { self::myLog( 'Cannot get the contents of ' . $file . ' (curl)' ); + return false; } - } else {// otherwise try file_get_contents + } else { // otherwise try file_get_contents if ( !( $filecontents = file_get_contents( $file ) ) ) { self::myLog( 'Cannot get the contents of ' . $file ); + return false; } } @@ -281,16 +290,20 @@ class LocalisationUpdate { * * @return array */ - public static function loadFilesToCompare( $tag, $file1, $file2, $verbose, $alwaysGetResult = true ) { + public static function loadFilesToCompare( $tag, $file1, $file2, $verbose, + $alwaysGetResult = true + ) { $file1contents = self::getFileContents( $file1 ); if ( $file1contents === false || $file1contents === '' ) { self::myLog( "Failed to read $file1" ); + return array( null, null ); } $file2contents = self::getFileContents( $file2 ); if ( $file2contents === false || $file2contents === '' ) { self::myLog( "Failed to read $file2" ); + return array( null, null ); } @@ -304,7 +317,11 @@ class LocalisationUpdate { // Check if the file has changed since our last update. if ( !$alwaysGetResult ) { if ( !self::checkHash( $file1, $file1hash ) && !self::checkHash( $file2, $file2hash ) ) { - self::myLog( "Skipping {$tag} since the files haven't changed since our last update", $verbose ); + self::myLog( + "Skipping {$tag} since the files haven't changed since our last update", + $verbose + ); + return array( null, null ); } } @@ -318,6 +335,7 @@ class LocalisationUpdate { } else { // Broken file? Report and bail self::myLog( "Failed to parse $file1" ); + return array( null, null ); } } @@ -330,6 +348,7 @@ class LocalisationUpdate { $messages2 = array(); } else { self::myLog( "Failed to parse $file2" ); + return array( null, null ); } } @@ -353,7 +372,9 @@ class LocalisationUpdate { * * @return array|int */ - private static function compareLanguageArrays( $langcode, $old_messages, $new_messages, $verbose, $forbiddenKeys, $saveResults ) { + private static function compareLanguageArrays( $langcode, $old_messages, + $new_messages, $verbose, $forbiddenKeys, $saveResults + ) { // Get the currently-cached messages, if any $cur_messages = self::readFile( $langcode ); @@ -369,7 +390,6 @@ class LocalisationUpdate { ); } - if ( $saveResults ) { // If anything has changed from the saved version, save the new version if ( $new_messages != $cur_messages ) { @@ -384,10 +404,12 @@ class LocalisationUpdate { } else { $updates = 0; } + return $updates; } else { // Find all deleted or changed messages $changedStrings = array_diff_assoc( $old_messages, $new_messages ); + return $changedStrings; } } @@ -404,7 +426,9 @@ class LocalisationUpdate { * * @return array|int */ - public static function compareFiles( $newfile, $oldfile, $verbose, array $forbiddenKeys = array(), $alwaysGetResult = true, $saveResults = false ) { + public static function compareFiles( $newfile, $oldfile, $verbose, + array $forbiddenKeys = array(), $alwaysGetResult = true, $saveResults = false + ) { // Get the languagecode. $langcode = Language::getCodeFromFileName( $newfile, 'Messages' ); @@ -415,7 +439,14 @@ class LocalisationUpdate { return $saveResults ? 0 : array(); } - return self::compareLanguageArrays( $langcode, $old_messages, $new_messages, $verbose, $forbiddenKeys, $saveResults ); + return self::compareLanguageArrays( + $langcode, + $old_messages, + $new_messages, + $verbose, + $forbiddenKeys, + $saveResults + ); } /** @@ -449,7 +480,14 @@ class LocalisationUpdate { } // Find the changed english strings. - $forbiddenKeys = self::compareLanguageArrays( 'en', $old_messages['en'], $new_messages['en'], $verbose, array(), false ); + $forbiddenKeys = self::compareLanguageArrays( + 'en', + $old_messages['en'], + $new_messages['en'], + $verbose, + array(), + false + ); // Do an update for each language. foreach ( $new_messages as $language => $messages ) { @@ -461,7 +499,14 @@ class LocalisationUpdate { $old_messages[$language] = array(); } - $updates += self::compareLanguageArrays( $language, $old_messages[$language], $messages, $verbose, $forbiddenKeys, true ); + $updates += self::compareLanguageArrays( + $language, + $old_messages[$language], + $messages, + $verbose, + $forbiddenKeys, + true + ); } // And log some stuff. @@ -473,7 +518,7 @@ class LocalisationUpdate { /** * Checks whether a messages file has a certain hash. * - * TODO: Swap return values, this is insane + * @todo Swap return values, this is insane * * @param $file string Filename * @param $hash string Hash @@ -482,7 +527,12 @@ class LocalisationUpdate { */ public static function checkHash( $file, $hash ) { $hashes = self::readFile( 'hashes' ); - return @$hashes[$file] !== $hash; + + wfSuppressWarnings(); + $return = $hashes[$file] !== $hash; + wfRestoreWarnings(); + + return $return; } /** @@ -514,7 +564,7 @@ class LocalisationUpdate { if ( isset( $_SERVER ) && array_key_exists( 'REQUEST_METHOD', $_SERVER ) ) { wfDebug( $log . "\n" ); } else { - print( $log . "\n" ); + print "$log\n"; } } @@ -525,10 +575,12 @@ class LocalisationUpdate { */ public static function parsePHP( $php, $varname ) { try { - $reader = new QuickArrayReader("<?php $php"); + $reader = new QuickArrayReader( "<?php $php" ); + return $reader->getVar( $varname ); - } catch( Exception $e ) { + } catch ( Exception $e ) { self::myLog( "Failed to read file: " . $e ); + return false; } } @@ -559,7 +611,9 @@ class LocalisationUpdate { public static function readFile( $lang ) { if ( !isset( self::$filecache[$lang] ) ) { $file = self::filename( $lang ); - $contents = @file_get_contents( $file ); + wfSuppressWarnings(); + $contents = file_get_contents( $file ); + wfRestoreWarnings(); if ( $contents === false ) { wfDebug( "Failed to read file '$file'\n" ); @@ -586,11 +640,12 @@ class LocalisationUpdate { public static function writeFile( $lang, $var ) { $file = self::filename( $lang ); - if ( !@file_put_contents( $file, serialize( $var ) ) ) { + wfSuppressWarnings(); + if ( !file_put_contents( $file, serialize( $var ) ) ) { throw new MWException( "Failed to write to file '$file'" ); } + wfRestoreWarnings(); self::$filecache[$lang] = $var; } - } diff --git a/extensions/LocalisationUpdate/LocalisationUpdate.i18n.php b/extensions/LocalisationUpdate/LocalisationUpdate.i18n.php index c45af9e2..0e73e3bc 100644 --- a/extensions/LocalisationUpdate/LocalisationUpdate.i18n.php +++ b/extensions/LocalisationUpdate/LocalisationUpdate.i18n.php @@ -5,7 +5,7 @@ * @file * @ingroup Extensions */ - + $messages = array(); /** English @@ -102,7 +102,14 @@ $messages['ca'] = array( 'localisationupdate-desc' => 'Manté els missatges localitzats tan actualitzats com sigui possible', ); -/** Czech (Äesky) +/** Chechen (нохчийн) + * @author Умар + */ +$messages['ce'] = array( + 'localisationupdate-desc' => 'Таро ма хуьйла хаамашан болх бан гӀо до', +); + +/** Czech (ÄeÅ¡tina) * @author Mormegil */ $messages['cs'] = array( @@ -304,9 +311,10 @@ $messages['ksh'] = array( /** Luxembourgish (Lëtzebuergesch) * @author Robby + * @author Soued031 */ $messages['lb'] = array( - 'localisationupdate-desc' => 'hält déi lokaliséiert Messagen esou aktuell wéi méiglech.', + 'localisationupdate-desc' => 'hält déi lokaliséiert Messagen sou aktuell wéi méiglech.', ); /** Macedonian (македонÑки) diff --git a/extensions/LocalisationUpdate/LocalisationUpdate.php b/extensions/LocalisationUpdate/LocalisationUpdate.php index abec5406..f73304cd 100644 --- a/extensions/LocalisationUpdate/LocalisationUpdate.php +++ b/extensions/LocalisationUpdate/LocalisationUpdate.php @@ -11,7 +11,6 @@ */ $wgLocalisationUpdateDirectory = false; - /** * These should point to either an HTTP-accessible file or local file system. * $1 is the name of the repo (for extensions) and $2 is the name of file in the repo. @@ -19,7 +18,8 @@ $wgLocalisationUpdateDirectory = false; */ $wgLocalisationUpdateCoreURL = "https://git.wikimedia.org/raw/mediawiki%2Fcore.git/HEAD/$4"; -$wgLocalisationUpdateExtensionURL = "https://git.wikimedia.org/raw/mediawiki%2Fextensions%2F$3.git/HEAD/$4"; +$wgLocalisationUpdateExtensionURL = + "https://git.wikimedia.org/raw/mediawiki%2Fextensions%2F$3.git/HEAD/$4"; /// Deprecated $wgLocalisationUpdateSVNURL = false; @@ -28,11 +28,11 @@ $wgLocalisationUpdateRetryAttempts = 5; // Info about me! $wgExtensionCredits['other'][] = array( - 'path' => __FILE__, - 'name' => 'LocalisationUpdate', - 'author' => array( 'Tom Maaswinkel', 'Niklas Laxström', 'Roan Kattouw' ), - 'version' => '1.0', - 'url' => 'https://www.mediawiki.org/wiki/Extension:LocalisationUpdate', + 'path' => __FILE__, + 'name' => 'LocalisationUpdate', + 'author' => array( 'Tom Maaswinkel', 'Niklas Laxström', 'Roan Kattouw' ), + 'version' => '1.0', + 'url' => 'https://www.mediawiki.org/wiki/Extension:LocalisationUpdate', 'descriptionmsg' => 'localisationupdate-desc', ); diff --git a/extensions/LocalisationUpdate/QuickArrayReader.php b/extensions/LocalisationUpdate/QuickArrayReader.php index 214d5a61..453032f2 100644 --- a/extensions/LocalisationUpdate/QuickArrayReader.php +++ b/extensions/LocalisationUpdate/QuickArrayReader.php @@ -8,7 +8,7 @@ * order of magnitude slower than eval(). */ class QuickArrayReader { - var $vars = array(); + private $vars = array(); /** * @param $string string @@ -27,96 +27,100 @@ class QuickArrayReader { ); $tokens = token_get_all( $string ); $count = count( $tokens ); - for( $i = 0; $i < $count; ) { - while( isset($skipTypes[$tokens[$i][0]] ) ) { + for ( $i = 0; $i < $count; ) { + while ( isset( $skipTypes[$tokens[$i][0]] ) ) { $i++; } - switch( $tokens[$i][0] ) { - case T_OPEN_TAG: - $i++; - continue; - case T_VARIABLE: - // '$messages' -> 'messages' - $varname = trim( substr( $tokens[$i][1], 1 ) ); - $varindex = null; - - while( isset($skipTypes[$tokens[++$i][0]] ) ); + switch ( $tokens[$i][0] ) { + case T_OPEN_TAG: + $i++; + continue; + case T_VARIABLE: + // '$messages' -> 'messages' + $varname = trim( substr( $tokens[$i][1], 1 ) ); + $varindex = null; + + while ( isset( $skipTypes[$tokens[++$i][0]] ) ); + + if ( $tokens[$i] === '[' ) { + while ( isset( $skipTypes[$tokens[++$i][0]] ) ); + + if ( isset( $scalarTypes[$tokens[$i][0]] ) ) { + $varindex = $this->parseScalar( $tokens[$i] ); + } else { + throw $this->except( $tokens[$i], 'scalar index' ); + } + while ( isset( $skipTypes[$tokens[++$i][0]] ) ); - if( $tokens[$i] === '[' ) { - while( isset($skipTypes[$tokens[++$i][0]] ) ); + if ( $tokens[$i] !== ']' ) { + throw $this->except( $tokens[$i], ']' ); + } + while ( isset( $skipTypes[$tokens[++$i][0]] ) ); + } - if( isset($scalarTypes[$tokens[$i][0]] ) ) { - $varindex = $this->parseScalar( $tokens[$i] ); + if ( $tokens[$i] !== '=' ) { + throw $this->except( $tokens[$i], '=' ); + } + while ( isset( $skipTypes[$tokens[++$i][0]] ) ); + + if ( isset( $scalarTypes[$tokens[$i][0]] ) ) { + $buildval = $this->parseScalar( $tokens[$i] ); + } elseif ( $tokens[$i][0] === T_ARRAY ) { + while ( isset( $skipTypes[$tokens[++$i][0]] ) ); + if ( $tokens[$i] !== '(' ) { + throw $this->except( $tokens[$i], '(' ); + } + $buildval = array(); + do { + while ( isset( $skipTypes[$tokens[++$i][0]] ) ); + + if ( $tokens[$i] === ')' ) { + break; + } + if ( isset( $scalarTypes[$tokens[$i][0]] ) ) { + $key = $this->parseScalar( $tokens[$i] ); + } + while ( isset( $skipTypes[$tokens[++$i][0]] ) ); + + if ( $tokens[$i][0] !== T_DOUBLE_ARROW ) { + throw $this->except( $tokens[$i], '=>' ); + } + while ( isset( $skipTypes[$tokens[++$i][0]] ) ); + + if ( isset( $scalarTypes[$tokens[$i][0]] ) ) { + $val = $this->parseScalar( $tokens[$i] ); + } + wfSuppressWarnings(); + $buildval[$key] = $val; + wfRestoreWarnings(); + while ( isset( $skipTypes[$tokens[++$i][0]] ) ); + + if ( $tokens[$i] === ',' ) { + continue; + } elseif ( $tokens[$i] === ')' ) { + break; + } else { + throw $this->except( $tokens[$i], ', or )' ); + } + } while ( true ); } else { - throw $this->except( $tokens[$i], 'scalar index' ); + throw $this->except( $tokens[$i], 'scalar or array' ); } - while( isset($skipTypes[$tokens[++$i][0]] ) ); - - if( $tokens[$i] !== ']' ) { - throw $this->except( $tokens[$i], ']' ); + if ( is_null( $varindex ) ) { + $this->vars[$varname] = $buildval; + } else { + wfSuppressWarnings(); + $this->vars[$varname][$varindex] = $buildval; + wfRestoreWarnings(); } - while( isset($skipTypes[$tokens[++$i][0]] ) ); - } - - if( $tokens[$i] !== '=' ) { - throw $this->except( $tokens[$i], '=' ); - } - while( isset($skipTypes[$tokens[++$i][0]] ) ); - - if( isset($scalarTypes[$tokens[$i][0]] ) ) { - $buildval = $this->parseScalar( $tokens[$i] ); - } elseif( $tokens[$i][0] === T_ARRAY ) { - while( isset($skipTypes[$tokens[++$i][0]] ) ); - if( $tokens[$i] !== '(' ) { - throw $this->except( $tokens[$i], '(' ); + while ( isset( $skipTypes[$tokens[++$i][0]] ) ); + if ( $tokens[$i] !== ';' ) { + throw $this->except( $tokens[$i], ';' ); } - $buildval = array(); - do { - while( isset($skipTypes[$tokens[++$i][0]] ) ); - - if( $tokens[$i] === ')' ) { - break; - } - if( isset($scalarTypes[$tokens[$i][0]] ) ) { - $key = $this->parseScalar( $tokens[$i] ); - } - while( isset($skipTypes[$tokens[++$i][0]] ) ); - - if( $tokens[$i][0] !== T_DOUBLE_ARROW ) { - throw $this->except( $tokens[$i], '=>' ); - } - while( isset($skipTypes[$tokens[++$i][0]] ) ); - - if( isset($scalarTypes[$tokens[$i][0]] ) ) { - $val = $this->parseScalar( $tokens[$i] ); - } - @$buildval[$key] = $val; - while( isset($skipTypes[$tokens[++$i][0]] ) ); - - if( $tokens[$i] === ',' ) { - continue; - } elseif( $tokens[$i] === ')' ) { - break; - } else { - throw $this->except( $tokens[$i], ', or )' ); - } - } while(true); - } else { - throw $this->except( $tokens[$i], 'scalar or array' ); - } - if( is_null( $varindex ) ) { - $this->vars[$varname] = $buildval; - } else { - @$this->vars[$varname][$varindex] = $buildval; - } - while( isset($skipTypes[$tokens[++$i][0]] ) ); - if( $tokens[$i] !== ';' ) { - throw $this->except($tokens[$i], ';'); - } - $i++; - break; - default: - throw $this->except($tokens[$i], 'open tag, whitespace, or variable.'); + $i++; + break; + default: + throw $this->except( $tokens[$i], 'open tag, whitespace, or variable.' ); } } } @@ -127,11 +131,12 @@ class QuickArrayReader { * @return Exception */ private function except( $got, $expected ) { - if( is_array( $got ) ) { + if ( is_array( $got ) ) { $got = token_name( $got[0] ) . " ('" . $got[1] . "')"; } else { $got = "'" . $got . "'"; } + return new Exception( "Expected $expected, got $got" ); } @@ -143,30 +148,42 @@ class QuickArrayReader { * @return mixed Parsed value */ function parseScalar( $token ) { - if( is_array( $token ) ) { + if ( is_array( $token ) ) { $str = $token[1]; } else { $str = $token; } - if ( $str !== '' && $str[0] == '\'' ) + if ( $str !== '' && $str[0] == '\'' ) { // Single-quoted string // @fixme trim() call is due to mystery bug where whitespace gets // appended to the token; without it we ended up reading in the // extra quote on the end! return strtr( substr( trim( $str ), 1, -1 ), array( '\\\'' => '\'', '\\\\' => '\\' ) ); - if ( $str !== '' && @$str[0] == '"' ) + } + + wfSuppressWarnings(); + if ( $str !== '' && $str[0] == '"' ) { // Double-quoted string // @fixme trim() call is due to mystery bug where whitespace gets // appended to the token; without it we ended up reading in the // extra quote on the end! return stripcslashes( substr( trim( $str ), 1, -1 ) ); - if ( substr( $str, 0, 4 ) === 'true' ) + } + wfRestoreWarnings(); + + if ( substr( $str, 0, 4 ) === 'true' ) { return true; - if ( substr( $str, 0, 5 ) === 'false' ) + } + + if ( substr( $str, 0, 5 ) === 'false' ) { return false; - if ( substr( $str, 0, 4 ) === 'null' ) + } + + if ( substr( $str, 0, 4 ) === 'null' ) { return null; + } + // Must be some kind of numeric value, so let PHP's weak typing // be useful for a change return $str; @@ -177,7 +194,7 @@ class QuickArrayReader { * @return null|string */ function getVar( $varname ) { - if( isset( $this->vars[$varname] ) ) { + if ( isset( $this->vars[$varname] ) ) { return $this->vars[$varname]; } else { return null; diff --git a/extensions/LocalisationUpdate/README b/extensions/LocalisationUpdate/README new file mode 100644 index 00000000..3df784b5 --- /dev/null +++ b/extensions/LocalisationUpdate/README @@ -0,0 +1,34 @@ +== Localisation Update == +Localisation Update extension can update the MediaWiki messages at any time, +without needing to upgrade the MediaWiki software. + +For more information see: + https://www.mediawiki.org/wiki/Extension:LocalisationUpdate + +== Installation == +1. Add the following to LocalSettings.php of your MediaWiki setup: + + require_once "$IP/extensions/LocalisationUpdate/LocalisationUpdate.php"; + $wgLocalisationUpdateDirectory = "$IP/cache"; + +2. Create a cache folder in the installation directory, and be sure the server +has permissions to write on it. + +If localization updates don't seem to come through, you may need to run, + + php maintenance/rebuildLocalisationCache.php --force. + +3. Whenever you want to run an update, run, + + php extensions/LocalisationUpdate/update.php + +For detailed help, see: + + php extensions/LocalisationUpdate/update.php --help + +4. If you are on Unix like system, you should add LocalisationUpdate to +crontab: + + crontab -e + # Add the following line + @daily php /path/to/your/wiki/extensions/LocalisationUpdate/update.php --quiet diff --git a/extensions/LocalisationUpdate/README_FIRST.txt b/extensions/LocalisationUpdate/README_FIRST.txt deleted file mode 100644 index 3973c435..00000000 --- a/extensions/LocalisationUpdate/README_FIRST.txt +++ /dev/null @@ -1,8 +0,0 @@ -To install this extension first include -LocalisationUpdate/LocalisationUpdate.php in your LocalSettings.php - -Then add the required new tables to your database by running -php maintenance/update.php on the command line. - -Whenever you want to run an update, run -php extensions/LocalisationUpdate/update.php on the command line. diff --git a/extensions/LocalisationUpdate/tests/tokenTest.php b/extensions/LocalisationUpdate/tests/tokenTest.php index 1112313c..2b71cc46 100644 --- a/extensions/LocalisationUpdate/tests/tokenTest.php +++ b/extensions/LocalisationUpdate/tests/tokenTest.php @@ -4,47 +4,53 @@ $IP = strval( getenv( 'MW_INSTALL_PATH' ) ) !== '' ? getenv( 'MW_INSTALL_PATH' ) : realpath( dirname( __FILE__ ) . "/../../../" ); -require_once( "$IP/maintenance/commandLine.inc" ); +require_once "$IP/maintenance/commandLine.inc"; function evalExtractArray( $php, $varname ) { eval( $php ); - return @$$varname; + wfSuppressWarnings(); + + return $$varname; + wfRestoreWarnings(); } function confExtractArray( $php, $varname ) { try { - $ce = new ConfEditor("<?php $php"); + $ce = new ConfEditor( "<?php $php" ); $vars = $ce->getVars(); - $retval = @$vars[$varname]; - } catch( Exception $e ) { + wfSuppressWarnings(); + $retval = $vars[$varname]; + wfRestoreWarnings(); + } catch ( Exception $e ) { print $e . "\n"; $retval = null; } + return $retval; } function quickTokenExtractArray( $php, $varname ) { - $reader = new QuickArrayReader("<?php $php"); + $reader = new QuickArrayReader( "<?php $php" ); + return $reader->getVar( $varname ); } - -if( count( $args ) ) { +if ( count( $args ) ) { $sources = $args; } else { $sources = array_merge( - glob("$IP/extensions/*/*.i18n.php"), - glob("$IP/languages/messages/Messages*.php") ); + glob( "$IP/extensions/*/*.i18n.php" ), + glob( "$IP/languages/messages/Messages*.php" ) ); } -foreach( $sources as $sourceFile ) { +foreach ( $sources as $sourceFile ) { $rel = basename( $sourceFile ); $out = str_replace( '/', '-', $rel ); $sourceData = file_get_contents( $sourceFile ); - if( preg_match( '!extensions/!', $sourceFile ) ) { + if ( preg_match( '!extensions/!', $sourceFile ) ) { $sourceData = LocalisationUpdate::cleanupExtensionFile( $sourceData ); $items = 'langs'; } else { @@ -54,30 +60,33 @@ foreach( $sources as $sourceFile ) { file_put_contents( "$out.txt", $sourceData ); - $start = microtime(true); + $start = microtime( true ); $eval = evalExtractArray( $sourceData, 'messages' ); - $deltaEval = microtime(true) - $start; + $deltaEval = microtime( true ) - $start; - $start = microtime(true); + $start = microtime( true ); $quick = quickTokenExtractArray( $sourceData, 'messages' ); - $deltaQuick = microtime(true) - $start; + $deltaQuick = microtime( true ) - $start; - $start = microtime(true); + $start = microtime( true ); $token = confExtractArray( $sourceData, 'messages' ); - $deltaToken = microtime(true) - $start; + $deltaToken = microtime( true ) - $start; - $hashEval = md5(serialize($eval)); - $hashToken = md5(serialize($token)); - $hashQuick = md5(serialize($quick)); - $countEval = count( (array)$eval); + $hashEval = md5( serialize( $eval ) ); + $hashToken = md5( serialize( $token ) ); + $hashQuick = md5( serialize( $quick ) ); + $countEval = count( (array)$eval ); $countToken = count( (array)$token ); $countQuick = count( (array)$quick ); - printf( "%s %s %d $items - %0.1fms - eval\n", $rel, $hashEval, $countEval, $deltaEval * 1000 ); - printf( "%s %s %d $items - %0.1fms - QuickArrayReader\n", $rel, $hashQuick, $countQuick, $deltaQuick * 1000 ); - printf( "%s %s %d $items - %0.1fms - ConfEditor\n", $rel, $hashToken, $countToken, $deltaToken * 1000 ); + printf( "%s %s %d $items - %0.1fms - eval\n", + $rel, $hashEval, $countEval, $deltaEval * 1000 ); + printf( "%s %s %d $items - %0.1fms - QuickArrayReader\n", + $rel, $hashQuick, $countQuick, $deltaQuick * 1000 ); + printf( "%s %s %d $items - %0.1fms - ConfEditor\n", + $rel, $hashToken, $countToken, $deltaToken * 1000 ); - if( $hashEval !== $hashToken || $hashEval !== $hashQuick ) { + if ( $hashEval !== $hashToken || $hashEval !== $hashQuick ) { echo "FAILED on $rel\n"; file_put_contents( "$out-eval.txt", var_export( $eval, true ) ); file_put_contents( "$out-token.txt", var_export( $token, true ) ); diff --git a/extensions/LocalisationUpdate/update.php b/extensions/LocalisationUpdate/update.php index 750fc4f2..04ea64c7 100644 --- a/extensions/LocalisationUpdate/update.php +++ b/extensions/LocalisationUpdate/update.php @@ -5,9 +5,9 @@ $IP = strval( getenv( 'MW_INSTALL_PATH' ) ) !== '' : realpath( dirname( __FILE__ ) . "/../../" ); // TODO: migrate to maintenance class -require_once( "$IP/maintenance/commandLine.inc" ); +require_once "$IP/maintenance/commandLine.inc"; -if( isset( $options['help'] ) ) { +if ( isset( $options['help'] ) ) { print "Fetches updated localisation files from MediaWiki development SVN\n"; print "and saves into local database to merge with release defaults.\n"; print "\n"; @@ -23,7 +23,6 @@ if( isset( $options['help'] ) ) { exit( 0 ); } - $starttime = microtime( true ); // Prevent the script from timing out diff --git a/extensions/Nuke/COPYING b/extensions/Nuke/COPYING index f1537d13..d159169d 100644 --- a/extensions/Nuke/COPYING +++ b/extensions/Nuke/COPYING @@ -1,11 +1,3 @@ -The license text below "----" applies to all files within this distribution, other -than those that are in a directory which contains files named "LICENSE" or -"COPYING", or a subdirectory thereof. For those files, the license text contained in -said file overrides any license information contained in directories of smaller depth. -Alternative licenses are typically used for software that is provided by external -parties, and merely packaged with the Semantic MediaWiki release for convenience. ----- - GNU GENERAL PUBLIC LICENSE Version 2, June 1991 diff --git a/extensions/Nuke/Nuke.alias.php b/extensions/Nuke/Nuke.alias.php index 0b27b4a5..be9f3450 100644 --- a/extensions/Nuke/Nuke.alias.php +++ b/extensions/Nuke/Nuke.alias.php @@ -61,7 +61,7 @@ $specialPageAliases['dsb'] = array( /** Spanish (español) */ $specialPageAliases['es'] = array( - 'Nuke' => array( 'BorradoMasivo', 'Borrado_en_masa' ), + 'Nuke' => array( 'BorradoMasivo', 'Borrado_en_masa', 'Borrado_masivo' ), ); /** Estonian (eesti) */ @@ -201,7 +201,7 @@ $specialPageAliases['nl'] = array( /** Norwegian Nynorsk (norsk nynorsk) */ $specialPageAliases['nn'] = array( - 'Nuke' => array( 'Massesletting' ), + 'Nuke' => array( 'Massesletting', 'Masseslett' ), ); /** Polish (polski) */ diff --git a/extensions/Nuke/Nuke.hooks.php b/extensions/Nuke/Nuke.hooks.php new file mode 100644 index 00000000..fddcf51a --- /dev/null +++ b/extensions/Nuke/Nuke.hooks.php @@ -0,0 +1,27 @@ +<?php + +class NukeHooks { + + /** + * Shows link to Special:Nuke on Special:Contributions/username if applicable + * + * @param $userId Integer + * @param $userPageTitle Title + * @param $toolLinks Array + * + * @return true + */ + public static function nukeContributionsLinks( $userId, $userPageTitle, &$toolLinks ) { + global $wgUser; + + if ( $wgUser->isAllowed( 'nuke' ) ) { + $toolLinks[] = Linker::link( + SpecialPage::getTitleFor( 'Nuke' ), + wfMessage( 'nuke-linkoncontribs' )->escaped(), + array( 'title' => wfMessage( 'nuke-linkoncontribs-text' )->text() ), + array( 'target' => $userPageTitle->getText() ) + ); + } + return true; + } +} diff --git a/extensions/Nuke/Nuke.i18n.php b/extensions/Nuke/Nuke.i18n.php index f72d208d..2b4a9abb 100644 --- a/extensions/Nuke/Nuke.i18n.php +++ b/extensions/Nuke/Nuke.i18n.php @@ -40,6 +40,8 @@ Input the username or IP address to get a list of pages to delete, or leave blan 'nuke-nopages-global' => 'There are no new pages in [[Special:RecentChanges|recent changes]].', 'nuke-viewchanges' => 'view changes', 'nuke-namespace' => 'Limit to namespace:', + 'nuke-linkoncontribs' => 'mass delete', + 'nuke-linkoncontribs-text' => "Mass delete pages where this user is the only author", ); /** Message documentation (Message documentation) @@ -56,8 +58,9 @@ Input the username or IP address to get a list of pages to delete, or leave blan */ $messages['qqq'] = array( 'nuke' => '{{doc-special|Nuke}} -The Nuke extension allows for sysops to delete a large number of pages ("Mass delete"). -For more information, see http://www.mediawiki.org/wiki/Extension:Nuke', +The Nuke extension allows for sysops to delete a large number of pages ("Mass delete"). +For more information, see http://www.mediawiki.org/wiki/Extension:Nuke +{{Identical|Mass delete}}', 'action-nuke' => '{{doc-action|nuke}}', 'nuke-desc' => '{{desc|name=Nuke|url=http://www.mediawiki.org/wiki/Extension:Nuke}} The Nuke extension allows for sysops to delete a large number of pages ("Mass delete").', @@ -92,7 +95,7 @@ Parameters: 'nuke-submit-delete' => 'Submit button to delete the selected pages.', 'right-nuke' => '{{doc-right|nuke}}', 'nuke-select' => 'Parameters: -* $1 - two links: {{msg-mw|Powersearch-toggleall}} and {{msg-mw|Powersearch-togglenone}} which respectively selects all pages and de-selects all +* $1 - two links: {{msg-mw|Powersearch-toggleall}} and {{msg-mw|Powersearch-togglenone}} which respectively selects all pages and de-selects all pages {{Identical|Select}}', 'nuke-userorip' => 'Used as label for "target" input box.', @@ -121,8 +124,16 @@ The link points to History page of the page. This message follows: * {{msg-mw|nuke-editby}} and {{msg-mw|comma-separator}} -* or empty string (if username is empty).', +* or empty string (if username is empty). +{{Identical|View changes}}', 'nuke-namespace' => 'Label shown on [[Special:Nuke]] in front of the namespace input that allows choosing a namespace to filter the search by', + 'nuke-linkoncontribs' => 'Used as link text which is used on [[Special:Contributions]] and [[Special:DeletedContributions]]. + +Only added if a user has rights to nuke pages. + +The link has the tooltip {{msg-mw|Nuke-linkoncontribs-text}}. +{{Identical|Mass delete}}', + 'nuke-linkoncontribs-text' => 'Tooltip for the link which is labeled {{msg-mw|Nuke-linkoncontribs}}.', ); /** Afrikaans (Afrikaans) @@ -228,8 +239,10 @@ $messages['arz'] = array( /** Assamese (অসমীয়া) * @author Bishnu Saikia + * @author Gitartha.bordoloi */ $messages['as'] = array( + 'nuke' => 'সমূহীয়া বিলোপন', 'nuke-submit-user' => 'যাওক', ); @@ -262,6 +275,8 @@ un comentariu y calca nel botón pa desaniciales.', 'nuke-nopages-global' => 'Nun hai páxines nueves nos [[Special:RecentChanges|cambios recientes]].', 'nuke-viewchanges' => 'ver los cambios', 'nuke-namespace' => 'Llendar al espaciu de nomes:', + 'nuke-linkoncontribs' => 'desaniciar en masa', + 'nuke-linkoncontribs-text' => "Desaniciar en masa les páxines nes qu'esti usuariu ye l'únicu autor", ); /** Azerbaijani (azÉ™rbaycanca) @@ -413,7 +428,7 @@ Merkañ un tamm notenn ha klikañ war ar bouton d'o diverkañ.", # Fuzzy Lakait un notenn ha klikit war ar bouton evit o diverkañ.', 'nuke-defaultreason' => 'Diverkañ a-vras ar pajennoù bet ouzhpennet gant $1', # Fuzzy 'nuke-multiplepeople' => 'Diverkañ a-vras ar pajennoù nevez-ouzhpennet', - 'nuke-tools' => "Talvezout a ra an ostilh-mañ da ziverkañ a-vras pajennoù bet ouzhpennet nevez zo gant un implijer enrollet pe gant ur chomlec'h IP. + 'nuke-tools' => "Talvezout a ra an ostilh-mañ da ziverkañ a-vras pajennoù bet ouzhpennet nevez zo gant un implijer enrollet pe gant ur chomlec'h IP. Merkañ ar c'homlec'h IP pe anv an implijer evit kaout roll ar pajennoù da ziverkañ, pe lezel gwenn evit an holl implijerien.", 'nuke-submit-user' => 'Mont', 'nuke-submit-delete' => 'Dilemel ar re diuzet', @@ -443,7 +458,7 @@ navedite razloge i komentare te kliknite na dugme da bi ste ih obrisali.', # Fuz stavite ih u komentar i pritisnite dugme za njihovo brisanje.', 'nuke-defaultreason' => 'Masovno uklanjanje stranica koje je dodao $1', # Fuzzy 'nuke-multiplepeople' => 'viÅ¡e korisnika', # Fuzzy - 'nuke-tools' => 'Ovaj alat omogućuje masovno brisanje stranica koje je nedavno dodao odreÄ‘eni korisnik ili IP adresa. + 'nuke-tools' => 'Ovaj alat omogućuje masovno brisanje stranica koje je nedavno dodao odreÄ‘eni korisnik ili IP adresa. Unesite korisniÄko ime ili IP adresu za izlistavanje stranica koje se briÅ¡u ili ostavite prazno za prikaz svih korisnika.', 'nuke-submit-user' => 'Idi', 'nuke-submit-delete' => 'ObriÅ¡i oznaÄeno', @@ -456,22 +471,41 @@ Unesite korisniÄko ime ili IP adresu za izlistavanje stranica koje se briÅ¡u il /** Catalan (català ) * @author Aleator + * @author Alvaro Vidal-Abarca * @author Paucabot * @author SMP * @author Toniher + * @author Vriullop */ $messages['ca'] = array( 'nuke' => 'Eliminació massiva', + 'action-nuke' => 'eliminació massiva', 'nuke-desc' => "Dóna als administradors l'habilitat d'[[Special:Nuke|esborrar pà gines massivament]]", - 'nuke-nopages' => 'No hi ha pà gines noves de [[Special:Contributions/$1|$1]] als canvis recents.', # Fuzzy - 'nuke-list' => 'Les següents pà gines han estat creades recentment per [[Special:Contributions/$1|$1]]; -feu un comentari i cliqueu el botó per a esborrar-les.', # Fuzzy - 'nuke-defaultreason' => 'Esborrat massiu de pà gines creades per $1', # Fuzzy + 'nuke-nopages' => 'No hi ha pà gines noves de [[Special:Contributions/$1|{{GENDER:$1|$1}}]] als canvis recents.', + 'nuke-list' => 'Les següents pà gines han estat creades recentment per [[Special:Contributions/$1|{{GENDER:$1|$1}}]]; +afegiu un comentari i cliqueu el botó per a esborrar-les.', + 'nuke-list-multiple' => 'Les següents pà gines han estat creades recentment; +afegiu un comentari i cliqueu el botó per a esborrar-les.', + 'nuke-defaultreason' => 'Esborrat massiu de pà gines creades per [[Special:Contributions/$1|{{GENDER:$1|$1}}]]', + 'nuke-multiplepeople' => 'Esborrat massiu de pà gines creades recentment', 'nuke-tools' => "Aquesta eina permet l'eliminació massiva de pà gines creades recentment per un usuari o IP. -Per obtenir la llista de pà gines per esborrar podeu introduir el nom d'un usuari o una IP.", +Indiqueu el nom d'usuari o adreça IP per obtenir la llista de pà gines a esborrar, o deixeu-ho en blanc per tots els usuaris.", 'nuke-submit-user' => 'Vés-hi', - 'nuke-submit-delete' => 'Esborra la selecció', + 'nuke-submit-delete' => 'Esborra els seleccionats', 'right-nuke' => 'Esborrar pà gines de forma massiva', + 'nuke-select' => 'Selecciona: $1', + 'nuke-userorip' => "Nom d'usuari, adreça IP o en blanc:", + 'nuke-maxpages' => 'Nombre mà xim de pà gines:', + 'nuke-editby' => 'Creada per [[Special:Contributions/$1|{{GENDER:$1|$1}}]]', + 'nuke-deleted' => "La pà gina '''$1''' ha estat esborrada.", + 'nuke-not-deleted' => "La pà gina [[:$1]] '''no s'ha pogut''' esborrar.", + 'nuke-delete-more' => '[[Special:Nuke|Esborra més pà gines]]', + 'nuke-pattern' => 'Patró pel nom de pà gina:', + 'nuke-nopages-global' => 'No hi ha cap pà gina nova als [[Special:RecentChanges|canvis recents]].', + 'nuke-viewchanges' => 'mostra els canvis', + 'nuke-namespace' => "Limitat a l'espai de noms:", + 'nuke-linkoncontribs' => 'eliminació massiva', + 'nuke-linkoncontribs-text' => "Eliminació massiva de pà gines on aquest usuari és l'únic autor", ); /** Chechen (нохчийн) @@ -479,8 +513,9 @@ Per obtenir la llista de pà gines per esborrar podeu introduir el nom d'un usuar * @author Умар */ $messages['ce'] = array( - 'nuke' => 'Дуккха дӀÑккхар', + 'nuke' => 'Дуккха дӀаÑккхар', 'action-nuke' => 'дуккха агIонаш дӀаÑхар', + 'nuke-desc' => 'Куьйгалхошна таро хуьлуьйту [[Special:Nuke|дуккха агӀонаш]] дӀаÑха', 'nuke-list-multiple' => 'Лахахь гайтина агӀонаш дукху хан йоцуш кхолийна. Уьш дӀаÑха билгалонаш Ӏадйите тӀетаӀе кнопка.', 'nuke-defaultreason' => 'Декъашхочо $1 кхоьллина агIонаш, дуккха дӀаÑхар', # Fuzzy @@ -492,9 +527,12 @@ $messages['ce'] = array( 'nuke-userorip' => 'Декъашхочун цӀе, IP-Ð°Ð´Ñ€ÐµÑ (еÑа йита мега):', 'nuke-maxpages' => 'ÐгӀонашан макÑимальни дукхалла:', 'nuke-editby' => 'Кхолийна {{GENDER:$1|декъашхочо}} [[Special:Contributions/$1|$1]]', + 'nuke-delete-more' => '[[Special:Nuke|Дуккха агӀонаш дӀаÑхар]]', 'nuke-pattern' => 'Кеп агӀона цӀеран:', 'nuke-viewchanges' => 'ХӀоттина болу хийцам', 'nuke-namespace' => 'КъаÑтае ана цӀераш:', + 'nuke-linkoncontribs' => 'дуккха дӀаÑккхар', + 'nuke-linkoncontribs-text' => 'ХӀокху декъашхочо кхоьллина агӀонаш маÑÑо дӀаÑха', ); /** Chamorro (Chamoru) @@ -511,10 +549,11 @@ $messages['ckb'] = array( 'right-nuke' => 'سڕینەوەی پەڕەکان بەکۆمەڵ', ); -/** Czech (Äesky) +/** Czech (ÄeÅ¡tina) * @author Danny B. * @author Jkjk * @author Li-sung + * @author Littledogboy * @author MatÄ›j Grabovský * @author Mormegil */ @@ -527,8 +566,8 @@ $messages['cs'] = array( vyplňte komentář a vÅ¡echny smažte kliknutÃm na tlaÄÃtko.', 'nuke-list-multiple' => 'Nedávno byly vytvoÅ™eny následujÃcà stránky; zadánÃm komentáře a stisknutÃm tlaÄÃtka je smažete.', - 'nuke-defaultreason' => 'Hromadné odstranÄ›nà stránek, které {{GENDER:$1|vytvoÅ™il|vytvoÅ™ila}} [[Special:Contributions/$1|$1]]', - 'nuke-multiplepeople' => 'Hromadné odstranÄ›nà nedávno založených stránek', + 'nuke-defaultreason' => 'Hromadné smazánà stránek, které {{GENDER:$1|vytvoÅ™il|vytvoÅ™ila}} [[Special:Contributions/$1|$1]]', + 'nuke-multiplepeople' => 'Hromadné smazánà nedávno založených stránek', 'nuke-tools' => 'Tento nástroj umožňuje hromadné smazánà stránek nedávno vytvoÅ™ených zadaným uživatelem nebo IP adresou. Zadejte uživatelské jméno nebo IP adresu, zobrazà se seznam stránek ke smazánÃ; pÅ™ÃpadnÄ› ponechte prázdné pro vÅ¡echny uživatele.', 'nuke-submit-user' => 'Provést', @@ -545,6 +584,8 @@ Zadejte uživatelské jméno nebo IP adresu, zobrazà se seznam stránek ke smaz 'nuke-nopages-global' => 'V [[Special:RecentChanges|poslednÃch zmÄ›nách]] nejsou žádné nové stránky.', 'nuke-viewchanges' => 'ukázat zmÄ›ny', 'nuke-namespace' => 'Omezit na jmenný prostor:', + 'nuke-linkoncontribs' => 'hromadné mazánÃ', + 'nuke-linkoncontribs-text' => 'HromadnÄ› smazat stránky, jichž je tento uživatel jediným autorem', ); /** Danish (dansk) @@ -585,6 +626,7 @@ Skriv et brugernavn eller en IP-adresse for at fÃ¥ en liste over sider at slette * @author Geitost * @author Kghbln * @author Metalhead64 + * @author Purodha * @author Raimond Spekking * @author SVG */ @@ -615,6 +657,8 @@ Gib die IP-Adresse oder den Benutzernamen ein, um eine Liste der zu löschenden 'nuke-nopages-global' => 'Es gibt keine neuen Seiten unter den [[Special:RecentChanges|letzten Änderungen]].', 'nuke-viewchanges' => 'Änderungen ansehen', 'nuke-namespace' => 'Auf den folgenden Namensraum begrenzen:', + 'nuke-linkoncontribs' => 'Massenlöschungen', + 'nuke-linkoncontribs-text' => 'Massengelöschte Seiten, bei denen dieser Benutzer der einzige Autor ist.', ); /** German (formal address) (Deutsch (Sie-Form)‎) @@ -650,7 +694,7 @@ Listanê peleyê ke besternaya vinayışi rê namey karberi yana ip adresi deker 'right-nuke' => 'pelan yew hew de hewnaker', 'nuke-select' => 'Weçinaye: $1', 'nuke-delete-more' => '[[Special:Nuke|Zewbi pera besterne]]', - 'nuke-viewchanges' => 'Vurnayışa bıvin', + 'nuke-viewchanges' => 'vurnayışan bıvêne', ); /** Lower Sorbian (dolnoserbski) @@ -682,6 +726,8 @@ zapódaj komentar a klikni na tÅ‚ocaÅ¡k, aby je wulaÅ¡owaÅ‚.', 'nuke-nopages-global' => 'Njejsu žedne nowe boki w [[Special:RecentChanges|aktualnych zmÄ›nach]].', 'nuke-viewchanges' => 'zmÄ›ny pokazaÅ›', 'nuke-namespace' => 'Na slÄ›dujucy mjenjowy rum wobgranicowaÅ›:', + 'nuke-linkoncontribs' => 'masowe wulaÅ¡owanje', + 'nuke-linkoncontribs-text' => 'Bok masowego wulaÅ¡owanja, źož toÅ› ten wužywaÅ• jo jadnuÄki awtor', ); /** Ewe (eÊ‹egbe) @@ -820,6 +866,8 @@ Kustutatavate lehekülgede nimekirja näitamiseks sisesta kasutajanimi või IP-a 'nuke-nopages-global' => '[[Special:RecentChanges|Viimaste muudatuste]] all pole uusi lehekülgi.', 'nuke-viewchanges' => 'vaata muudatusi', 'nuke-namespace' => 'Nimeruumipiirang:', + 'nuke-linkoncontribs' => 'lauskustutamine', + 'nuke-linkoncontribs-text' => 'Lauskustuta leheküljed, mille ainus autor on see kasutaja', ); /** Basque (euskara) @@ -839,6 +887,7 @@ idatz ezazu ohar bat, eta sakatu botoia orri horiek ezabatzeko.', ); /** Persian (Ùارسی) + * @author Armin1392 * @author Ebraminio * @author Huji * @author Mjbmr @@ -865,21 +914,25 @@ $messages['fa'] = array( 'nuke-userorip' => 'نام کاربری، نشانی آی‌پی یا خالی:', 'nuke-maxpages' => 'Øداکثر تعداد صÙØه‌ها:', 'nuke-editby' => 'ایجاد شده توسط [[Special:Contributions/$1|{{GENDER:$1|$1}}]]', - 'nuke-deleted' => "صÙØÙ‡Ù” '''$1''' Øذ٠شده است.", + 'nuke-deleted' => "صÙØÙ‡Ù” '''$1''' Øذ٠شده‌است.", 'nuke-not-deleted' => "صÙØÙ‡Ù” [[:$1]] را '''نمی‌توان''' Øذ٠کرد.", 'nuke-delete-more' => '[[Special:Nuke|Øذ٠صÙØه‌های بیشتر]]', 'nuke-pattern' => 'الگو برای نام صÙØÙ‡:', 'nuke-nopages-global' => 'هیچ صÙØÙ‡Ù” جدیدی در [[Special:RecentChanges|Ùهرست تغییرات اخیر]] نیست.', 'nuke-viewchanges' => 'نمایش تغییرات', 'nuke-namespace' => 'Ù…Øدودیت به Ùضای نام:', + 'nuke-linkoncontribs' => 'Øذ٠گروه', + 'nuke-linkoncontribs-text' => 'Øذ٠دستهٔ صÙØات جایی Ú©Ù‡ این کاربر تنها نویسنده است', ); /** Finnish (suomi) * @author Beluga * @author Crt * @author Jaakonam + * @author Mies * @author Nike * @author Olli + * @author Pxos * @author Stryn */ $messages['fi'] = array( @@ -888,15 +941,15 @@ $messages['fi'] = array( 'nuke-desc' => 'Mahdollistaa ylläpitäjille sivujen [[Special:Nuke|massapoistamisen]].', 'nuke-nopages' => 'Ei käyttäjän [[Special:Contributions/$1|{{GENDER:$1|$1}}]] lisäämiä uusia sivuja tuoreissa muutoksissa.', 'nuke-list' => 'Käyttäjä [[Special:Contributions/$1|{{GENDER:$1|$1}}]] on äskettäin luonut seuraavat sivut. -Lisää kommentti ja poista napsauttamalla painiketta.', - 'nuke-list-multiple' => 'Seuraavat sivut tehtiin äskettäin. -Lisää kommentti ja poista napsauttamalla painiketta.', +Lisää kommentti ja poista sivut napsauttamalla painiketta.', + 'nuke-list-multiple' => 'Seuraavat sivut on luotu äskettäin. +Lisää kommentti ja poista sivut napsauttamalla painiketta.', 'nuke-defaultreason' => 'Käyttäjän [[Special:Contributions/$1|{{GENDER:$1|$1}}]] lisäämien sivujen massapoistaminen', 'nuke-multiplepeople' => 'Äskettäin lisättyjen sivujen massapoistaminen', 'nuke-tools' => 'Tämä työkalu mahdollistaa äskettäin lisättyjen sivujen massapoistamisen käyttäjänimen tai IP-osoitteen perusteella. Kirjoita käyttäjänimi tai IP-osoite, niin saat listan poistettavista sivuista, tai jätä kenttä tyhjäksi niin saat kaikkien käyttäjien tekemät sivut.', 'nuke-submit-user' => 'Siirry', - 'nuke-submit-delete' => 'Poista valitut', + 'nuke-submit-delete' => 'Poista valitut sivut', 'right-nuke' => 'Massapoistaa sivuja', 'nuke-select' => 'Valinta: $1', 'nuke-userorip' => 'Käyttäjänimi tai IP-osoite (voi jättää myös tyhjäksi):', @@ -904,11 +957,13 @@ Kirjoita käyttäjänimi tai IP-osoite, niin saat listan poistettavista sivuista 'nuke-editby' => 'Luonut [[Special:Contributions/$1|{{GENDER:$1|$1}}]]', 'nuke-deleted' => "Sivu '''$1''' on poistettu.", 'nuke-not-deleted' => "Sivua [[:$1]] '''ei voitu''' poistaa.", - 'nuke-delete-more' => '[[Special:Nuke|Poista lisää sivuja]]', - 'nuke-pattern' => 'Sivun nimien etuliite', + 'nuke-delete-more' => '[[Special:Nuke|Poista enemmän sivuja]]', + 'nuke-pattern' => 'Malli sivun nimelle:', 'nuke-nopages-global' => '[[Special:RecentChanges|Tuoreissa muutoksissa]] ei ole uusia sivuja.', 'nuke-viewchanges' => 'näytä muutokset', 'nuke-namespace' => 'Rajoita nimiavaruuteen:', + 'nuke-linkoncontribs' => 'massapoisto', + 'nuke-linkoncontribs-text' => 'Massapoista ne sivut, joissa tämä käyttäjä on ainoa sivuja muokannut', ); /** French (français) @@ -930,7 +985,7 @@ $messages['fr'] = array( 'nuke-desc' => 'Donne la possibilité aux administrateurs de [[Special:Nuke|supprimer en masse]] des pages', 'nuke-nopages' => 'Aucune nouvelle page créée par [[Special:Contributions/$1|{{GENDER:$1|$1}}]] dans la liste des changements récents.', 'nuke-list' => 'Les pages suivantes ont été créées récemment par [[Special:Contributions/$1|{{GENDER:$1|$1}}]]; saisissez un commentaire et cliquez sur le bouton pour les supprimer.', - 'nuke-list-multiple' => 'Les pages suivantes ont été récemment créées ; + 'nuke-list-multiple' => 'Les pages suivantes ont été récemment créées ; entrez un commentaire et cliquez sur le bouton pour les supprimer.', 'nuke-defaultreason' => 'Suppression en masse des pages ajoutées par [[Special:Contributions/$1|{{GENDER:$1|$1}}]]', 'nuke-multiplepeople' => 'Suppression de masse de pages récemment ajoutées', @@ -949,6 +1004,8 @@ entrez un commentaire et cliquez sur le bouton pour les supprimer.', 'nuke-nopages-global' => "Il n'y a pas de nouvelle page dans [[Special:RecentChanges|changements récents]].", 'nuke-viewchanges' => 'voir les modifications', 'nuke-namespace' => "Se limiter à l'espace de nommage:", + 'nuke-linkoncontribs' => 'suppression de masse', + 'nuke-linkoncontribs-text' => 'Supprimer des pages en masse quand cet utilisateur est l’unique auteur', ); /** Franco-Provençal (arpetan) @@ -983,6 +1040,41 @@ Buchiér lo nom d’usanciér ou ben l’adrèce IP por avêr la lista de les pà 'nuke-namespace' => 'Sè limitar a cet’èspâço de noms :', ); +/** Northern Frisian (Nordfriisk) + * @author Murma174 + */ +$messages['frr'] = array( + 'nuke' => 'Sidjen bonkerwiis strik', + 'action-nuke' => 'sidjen bonkerwiis tu striken', + 'nuke-desc' => 'Administratooren kön diarmä sidjen [[Special:Nuke|bonkerwiis strik]]', + 'nuke-nopages' => 'Bi a „leetst feranrangen“ san nian nei sidjen faan [[Special:Contributions/$1|{{GENDER:$1|$1}}]].', + 'nuke-list' => 'Jodiar sidjen san faan [[Special:Contributions/$1|{{GENDER:$1|$1}}]] skrewen wurden. +Skriiw ap, huaram dü jo strikst, an do trak üüb di knoop tu striken.', + 'nuke-list-multiple' => 'Jodiar sidjen san jüst skrewen wurden. +Skriiw ap, huaram dü jo strikst, an do trak üüb di knoop tu striken.', + 'nuke-defaultreason' => 'Sidjen faan [[Special:Contributions/$1|{{GENDER:$1|$1}}]] bonkerwiis strik', + 'nuke-multiplepeople' => 'Jüst skrewen sidjen bonkerwiis strik', + 'nuke-tools' => 'Diarmä kön sidjen, diar faan en was IP of en wasen brüker skrewen wurden san, bonkerwiis stregen wurd. +Skriiw diar det IP-adres of di brükernööm iin, an do könst dü det list faan sidjen sä, diar stregen wurd kön. +Wan dü diar niks henskrafst, wurd aal a brükern uunwiset.', + 'nuke-submit-user' => 'Widjer', + 'nuke-submit-delete' => 'Enkelten strik', + 'right-nuke' => 'Sidjen bonkerwiis strik', + 'nuke-select' => 'Schük ütj: $1', + 'nuke-userorip' => 'Brükernööm, IP-adres of niks:', + 'nuke-maxpages' => 'Ei muar sidjen üs:', + 'nuke-editby' => 'Skrewen faan [[Special:Contributions/$1|{{GENDER:$1|$1}}]]', + 'nuke-deleted' => "Sidj '''„$1“''' as stregen wurden.", + 'nuke-not-deleted' => "Sidj [[:$1]] '''küd ei''' stregen wurd.", + 'nuke-delete-more' => '[[Special:Nuke|Muar sidjen strik]]', + 'nuke-pattern' => 'Münster för di sidjnööm:', + 'nuke-nopages-global' => 'Diar san nian sidjen uun a [[Special:RecentChanges|leetst feranrangen]].', + 'nuke-viewchanges' => 'Feranrangen wise', + 'nuke-namespace' => 'Bluas uun di nöömrüm:', + 'nuke-linkoncontribs' => 'Bonkerwiis strik', + 'nuke-linkoncontribs-text' => 'Bonkerwiis stregen sidjen, huar di brüker di iansagst skriiwer as.', +); + /** Friulian (furlan) * @author Klenje */ @@ -1022,6 +1114,8 @@ Introduza o nome do usuario ou enderezo IP para obter unha lista das páxinas pa 'nuke-nopages-global' => 'Non hai páxinas novas nos [[Special:RecentChanges|cambios recentes]].', 'nuke-viewchanges' => 'ollar os cambios', 'nuke-namespace' => 'Limitar ao espazo de nomes:', + 'nuke-linkoncontribs' => 'eliminar en masa', + 'nuke-linkoncontribs-text' => 'Eliminar en masa as páxinas das que este usuario é o único autor', ); /** Ancient Greek (ἈÏχαία ἑλληνικὴ) @@ -1082,8 +1176,10 @@ $messages['gv'] = array( /** Hebrew (עברית) * @author Amire80 * @author Guycn1 + * @author Guycn2 * @author Rotem Liss * @author YaronSh + * @author Yona b */ $messages['he'] = array( 'nuke' => 'מחיקה מרובה', @@ -1096,8 +1192,8 @@ $messages['he'] = array( ×× × ×›×ª×‘×• × ×™×ž×•×§ למחיקה ולחצו על הכפתור כדי למחוק ×ות×.', 'nuke-defaultreason' => 'הסרה מרובה של ×“×¤×™× ×©× ×•×¦×¨×• על־ידי [[Special:Contributions/$1|$1]]', 'nuke-multiplepeople' => 'מחיקה מרובה של ×“×¤×™× ×©× ×•×¡×¤×• ל××—×¨×•× ×”', - 'nuke-tools' => 'כלי ×–×” מ×פשר מחיקות ×”×ž×•× ×™×•×ª של ×“×¤×™× ×©× ×•×¡×¤×• ל××—×¨×•× ×” על ידי משתמש ×ו כתובת IP מסוימי×. -כתבו ×ת ×©× ×”×ž×©×ª×ž×© ×ו כתובת ×”Ö¾IP כדי לקבל ×ת רשימת ×”×“×¤×™× ×œ×ž×—×™×§×” ×ו הש×ירו ×ת השדה ×”×–×” ריק עבור כל המשתמשי×.', + 'nuke-tools' => 'כלי ×–×” מ×פשר מחיקות ×”×ž×•× ×™×•×ª של ×“×¤×™× ×©× ×•×¡×¤×• ל××—×¨×•× ×” על־ידי משתמש ×ו כתובת IP מסוימי×. +כתבו ×ת ×©× ×”×ž×©×ª×ž×© ×ו כתובת ×”Ö¾IP כדי לקבל ×ת רשימת ×”×“×¤×™× ×œ×ž×—×™×§×”, ×ו הש×ירו ×ת השדה ריק עבור כל המשתמשי×.', 'nuke-submit-user' => 'הצגה', 'nuke-submit-delete' => 'מחיקת ×”×“×¤×™× ×©× ×‘×—×¨×•', 'right-nuke' => 'מחיקה מרובה של דפי×', @@ -1112,6 +1208,8 @@ $messages['he'] = array( 'nuke-nopages-global' => '×ין ×“×¤×™× ×—×“×©×™× ×‘[[Special:RecentChanges|×©×™× ×•×™×™× ××—×¨×•× ×™×]].', 'nuke-viewchanges' => 'הצגת ×©×™× ×•×™×™×', 'nuke-namespace' => 'להגביל למרחב השמות הב×:', + 'nuke-linkoncontribs' => 'מחיקה מרובה', + 'nuke-linkoncontribs-text' => 'מחיקת ×“×¤×™× ×¨×‘×™× ×‘×”× ×ž×©×ª×ž×© ×–×” ×”×•× ×”×›×•×ª×‘ היחיד', ); /** Hindi (हिनà¥à¤¦à¥€) @@ -1159,6 +1257,7 @@ $messages['hil'] = array( /** Croatian (hrvatski) * @author Dalibor Bosits * @author Dnik + * @author MaGa * @author Roberta F. * @author SpeedyGonsales */ @@ -1173,6 +1272,9 @@ $messages['hr'] = array( 'nuke-submit-delete' => 'ObriÅ¡i oznaÄeno', 'right-nuke' => 'Skupno brisanje stranica', 'nuke-select' => 'Odaberite: $1', + 'nuke-viewchanges' => 'prikaži promjene', + 'nuke-linkoncontribs' => 'skupno brisanje', + 'nuke-linkoncontribs-text' => 'Skupno brisanje stranica kojima je ovaj suradnik jedini autor', ); /** Upper Sorbian (hornjoserbsce) @@ -1203,6 +1305,8 @@ napisaj komentar a klikÅ„ na tłóÄatko, zo by je wuÅ¡mórnyÅ‚.', 'nuke-nopages-global' => 'Njejsu žane nowe strony w [[Special:RecentChanges|aktualnych zmÄ›nach]].', 'nuke-viewchanges' => 'zmÄ›ny pokazać', 'nuke-namespace' => 'Na slÄ›dowacy mjenowy rum wobmjezować:', + 'nuke-linkoncontribs' => 'masowe zhaÅ¡enje', + 'nuke-linkoncontribs-text' => 'Strony masoweho zhaÅ¡enja, hdźež tutón wužiwar je jeniÄki awtor', ); /** Hungarian (magyar) @@ -1280,7 +1384,7 @@ $messages['id'] = array( 'nuke-desc' => 'Memberikan kemampuan bagi pengurus untuk [[Special:Nuke|menghapus halaman secara massal]]', 'nuke-nopages' => 'Tak ditemukan halaman baru dari [[Special:Contributions/$1|{{GENDER:$1|$1}}]] di perubahan terbaru.', 'nuke-list' => 'Halaman berikut baru saja dibuat oleh [[Special:Contributions/$1|{{GENDER:$1|$1}}]]; berikan komentar dan tekan tombol untuk menghapus halaman-halaman tersebut.', - 'nuke-list-multiple' => 'Halaman berikut baru dibuat; + 'nuke-list-multiple' => 'Halaman berikut baru dibuat; berikan komentar dan tekan tombol untuk menghapus.', 'nuke-defaultreason' => 'Penghapusan masal halaman-halaman yang dibuat oleh [[Special:Contributions/$1|{{GENDER:$1|$1}}]]', 'nuke-multiplepeople' => 'Penghapusan masal halaman yang baru saja ditambahkan', @@ -1313,9 +1417,9 @@ $messages['ig'] = array( * @author Lam-ang */ $messages['ilo'] = array( - 'nuke' => 'Paga-adduan nga pinag-ikkat', + 'nuke' => 'Paga-adduan nga panagikkat', 'action-nuke' => 'ikkaten dagiti panid', - 'nuke-desc' => 'Ikkan na ti administrador ti abilidad nga [[Special:Nuke| paga-adduan nga pang-ikkat]] kadagit panid', + 'nuke-desc' => 'Ikkanna ti administrador ti abilidad iti [[Special:Nuke|adu a panagikkat]] kadagiti panid', 'nuke-nopages' => 'Awan dagiti baro a panid babaen ni [[Special:Contributions/$1|{{GENDER:$1|$1}}]] idiay kaudian abalbaliw.', 'nuke-list' => 'Dagiti sumaganad a panid ket kadamdamaan a pinartuat babaen ni [[Special:Contributions/$1|{{GENDER:$1|$1}}]]; ikkam ti komentario ken pindutem ti buton tapno maikkatda.', @@ -1339,6 +1443,8 @@ Ikabil ti nagan ti agar-aramat wenno IP address tapno maalam dagiti listaan dagi 'nuke-nopages-global' => 'Awan dagiti baro a panid idiay [[Special:RecentChanges|kinaudian a pinagbaliw]].', 'nuke-viewchanges' => 'kitaen dagiti sinukatan', 'nuke-namespace' => 'Patingga iti nagan a lugar:', + 'nuke-linkoncontribs' => 'agikkat ti adu', + 'nuke-linkoncontribs-text' => 'Agikkat ti adu a pampanid a ti agar-aramat ket isu laeng ti nagsurat', ); /** Ido (Ido) @@ -1415,6 +1521,8 @@ Inserisci il nome utente o l'indirizzo IP per la lista delle pagine da cancellar 'nuke-nopages-global' => 'Non ci sono nuove pagine negli [[Special:RecentChanges|ultimi cambiamenti]].', 'nuke-viewchanges' => 'vedi modifiche', 'nuke-namespace' => 'Limita al namespace:', + 'nuke-linkoncontribs' => 'cancella massivamente', + 'nuke-linkoncontribs-text' => "Cancella massivamente le pagine dove questo utente è l'unico contributore", ); /** Japanese (日本語) @@ -1457,6 +1565,7 @@ $messages['ja'] = array( 'nuke-nopages-global' => '[[Special:RecentChanges|最近ã®æ›´æ–°]]ã«ã¯æ–°ã—ã„ページã¯ã‚ã‚Šã¾ã›ã‚“。', 'nuke-viewchanges' => 'å±¥æ´ã‚’表示', 'nuke-namespace' => 'åå‰ç©ºé–“:', + 'nuke-linkoncontribs' => '一括削除', ); /** Jutish (jysk) @@ -1528,7 +1637,9 @@ $messages['ka'] = array( 'nuke-deleted' => "გვერდი '''$1''' წáƒáƒ˜áƒ¨áƒáƒšáƒ.", 'nuke-not-deleted' => "გვერდი [[:$1]] წáƒáƒ¨áƒšáƒ '''შეუძლებელიáƒ'''.", 'nuke-delete-more' => '[[Special:Nuke|მრáƒáƒ•áƒáƒšáƒ იცხáƒáƒ•áƒáƒœáƒ˜ გვერდების წáƒáƒ¨áƒšáƒ]]', + 'nuke-pattern' => 'გვერდის სáƒáƒ®áƒ”ლის თáƒáƒ გი:', 'nuke-viewchanges' => 'ცვლილებების ჩვენებáƒ', + 'nuke-namespace' => 'სáƒáƒ®áƒ”ლთრსივრცის შეზღუდვáƒ:', ); /** Kazakh (Cyrillic script) (қазақша (кирил)‎) @@ -1587,6 +1698,7 @@ $messages['kn'] = array( * @author Albamhandae * @author Klutzy * @author Kwj2772 + * @author Priviet * @author ToePeu * @author ì•„ë¼ */ @@ -1617,13 +1729,17 @@ $messages['ko'] = array( 'nuke-nopages-global' => '[[Special:RecentChanges|최근 바뀜]]ì— ìƒˆ 문서가 없습니다.', 'nuke-viewchanges' => 'ì°¨ì´ ë³´ê¸°', 'nuke-namespace' => 'ì´ë¦„공간 ì œí•œ:', + 'nuke-linkoncontribs' => '문서 대량 ì‚ì œ', + 'nuke-linkoncontribs-text' => 'ì´ ì‚¬ìš©ìžê°€ ìœ ì¼í•œ 기여ìžì¸ 문서를 대량 ì‚ì œ', ); /** Krio (Krio) * @author Jose77 + * @author Protostar */ $messages['kri'] = array( 'nuke-submit-user' => 'Go to am', + 'nuke-linkoncontribs' => 'mass delet', ); /** Kinaray-a (Kinaray-a) @@ -1681,6 +1797,7 @@ $messages['ku-latn'] = array( /** Luxembourgish (Lëtzebuergesch) * @author Les Meloures * @author Robby + * @author Soued031 */ $messages['lb'] = array( 'nuke' => 'Masseläschung', @@ -1691,7 +1808,7 @@ $messages['lb'] = array( 'nuke-list-multiple' => 'Dës Säite goufe rezent gemaach; setzt eng Bemierkung derbäi a klickt op de Knäppche fir se ze läschen.', 'nuke-defaultreason' => 'Masseläschung vu Säiten, déi vum [[Special:Contributions/$1|{{GENDER:$1|$1}}]] ugefaang goufen', - 'nuke-multiplepeople' => 'Masse-Läschung vu Säiten déi rezent derbäi gesat goufen', + 'nuke-multiplepeople' => 'Masse-Läschung vu Säiten déi rezent derbäigesat goufen', 'nuke-tools' => "Dësen Tool erlaabt vill Säite mateneen ze läschen, déi vun engem Benotzer oder vun enger IP-Adress ugeluecht goufen. Gitt w.e.g. d'IP-Adress respektiv de Benotzer u fir eng Lëscht vun de Säiten ze kréien déi geläscht solle ginn, oder loosst et eidel fir all Benotzer.", 'nuke-submit-user' => 'Lass', @@ -1708,6 +1825,8 @@ Gitt w.e.g. d'IP-Adress respektiv de Benotzer u fir eng Lëscht vun de Säiten z 'nuke-nopages-global' => 'Et si keng nei Säiten an de [[Special:RecentChanges|rezenten Ännerungen]].', 'nuke-viewchanges' => 'Ännerunge weisen', 'nuke-namespace' => 'Op dësen Nummraum limitéieren:', + 'nuke-linkoncontribs' => 'Masseläschungen', + 'nuke-linkoncontribs-text' => 'Massegeläschte Säite wou dëse Benotzer den eenzegen Auteur ass', ); /** Limburgish (Limburgs) @@ -1785,7 +1904,7 @@ $messages['mg'] = array( */ $messages['min'] = array( 'nuke' => 'Pangapuihan masal', - 'nuke-list-multiple' => 'Laman ko baru sajo dibuek; + 'nuke-list-multiple' => 'Laman ko baru sajo dibuek; agiah komentar dan takan tombol untuak mangapuih.', 'nuke-defaultreason' => 'Pangapuihan masal laman-laman nan dibuek dek [[Special:Contributions/$1|{{GENDER:$1|$1}}]]', 'nuke-tools' => 'Pakakeh ko mamungkinkan pangapuihan masal laman-laman nan baru sajo dibuek jo sorang pangguno atau alamaik IP. @@ -1832,6 +1951,8 @@ $messages['mk'] = array( 'nuke-nopages-global' => 'Ðема нови Ñтраници во [[Special:RecentChanges|Ñкорешните промени]].', 'nuke-viewchanges' => 'прикажи промени', 'nuke-namespace' => 'Само во имен. проÑтор:', + 'nuke-linkoncontribs' => 'маÑовно бришење', + 'nuke-linkoncontribs-text' => 'МаÑовното бришење на Ñтраници чиј единÑтвен автор е овој кориÑник', ); /** Malayalam (മലയാളം) @@ -1864,21 +1985,26 @@ $messages['ml'] = array( 'nuke-nopages-global' => '[[Special:RecentChanges|സമീപകാലമാറàµà´±à´™àµà´™à´³à´¿àµ½]] à´ªàµà´¤à´¿à´¯ താളàµà´•à´³àµŠà´¨àµà´¨àµà´®à´¿à´²àµà´².', 'nuke-viewchanges' => 'മാറàµà´±à´™àµà´™àµ¾ കാണàµà´•', 'nuke-namespace' => 'à´ˆ നാമമേഖലയിൽ à´’à´¤àµà´•àµà´•àµà´•:', + 'nuke-linkoncontribs' => 'കൂടàµà´Ÿ മായàµà´•àµà´•àµ½', + 'nuke-linkoncontribs-text' => 'à´ˆ ഉപയോകàµà´¤à´¾à´µàµ കൂടàµà´Ÿà´¤àµà´¤àµ‹à´Ÿàµ† മായàµà´šàµà´š താളàµà´•àµ¾', ); /** Marathi (मराठी) * @author Kaustubh + * @author V.narsikar */ $messages['mr'] = array( 'nuke' => 'à¤à¤•à¤¦à¤® खूप पाने वगळा', - 'nuke-desc' => 'पà¥à¤°à¤¬à¤‚धकांना à¤à¤•à¤¾à¤šà¤µà¥‡à¤³à¥€ [[Special:Nuke|अनेक पाने वगळणà¥à¤¯à¤¾à¤šà¥€]] परवानगी देते', + 'nuke-desc' => 'पà¥à¤°à¤¬à¤‚धकांना [[Special:Nuke|गठà¥à¤ à¥à¤¯à¤¾à¤¨à¥‡ वगळणà¥à¤¯à¤¾à¤šà¥€(मास डिलीट)]] कà¥à¤·à¤®à¤¤à¤¾ देते', 'nuke-nopages' => '[[Special:Contributions/$1|$1]] कडून अलीकडील बदलांमधà¥à¤¯à¥‡ नवीन पाने नाहीत.', # Fuzzy 'nuke-list' => 'खालील पाने ही [[Special:Contributions/$1|$1]] ने अलिकडे वाढविलेली आहेत; शेरा दà¥à¤¯à¤¾ व वगळणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी कळीवर टिचकी दà¥à¤¯à¤¾.', # Fuzzy 'nuke-defaultreason' => '$1 ने नवीन वाढविलेली अनेक पाने à¤à¤•à¤¾à¤µà¥‡à¤³à¥€ वगळा', # Fuzzy 'nuke-tools' => 'हे उपकरण à¤à¤–ादà¥à¤¯à¤¾ विशिषà¥à¤Ÿ सदसà¥à¤¯ अथवा अंकपतà¥à¤¤à¥à¤¯à¤¾à¤¦à¥à¤µà¤¾à¤°à¥‡ नवीन तयार करणà¥à¤¯à¤¾à¤¤ आलेलà¥à¤¯à¤¾ पानांना à¤à¤•à¤¾à¤šà¤µà¥‡à¤³à¥€ वगळणà¥à¤¯à¤¾à¤šà¥€ संधी देते. सदसà¥à¤¯ नाव अथवा अंकपतà¥à¤¤à¤¾ दिलà¥à¤¯à¤¾à¤¸ वगळणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी पानांची यादी मिळेल:', # Fuzzy 'nuke-submit-user' => 'जा', 'nuke-submit-delete' => 'निवडलेले वगळा', - 'right-nuke' => 'खूप पाने à¤à¤•à¤¤à¥à¤° वगळा', + 'right-nuke' => 'गठà¥à¤ à¥à¤¯à¤¾à¤¨à¥‡ पाने वगळा', + 'nuke-linkoncontribs' => 'à¤à¤•à¤—ठà¥à¤ ा वगळा', + 'nuke-linkoncontribs-text' => 'ती पाने à¤à¤•à¤—ठà¥à¤ ा वगळा, जà¥à¤¯à¤¾à¤‚चा हा सदसà¥à¤¯ à¤à¤•à¤®à¥‡à¤µ लेखक आहे', ); /** Malay (Bahasa Melayu) @@ -1911,6 +2037,8 @@ Isikan nama pengguna atau alamat IP untuk mendapat senarai laman yang hendak dik 'nuke-nopages-global' => 'Tiada laman baru dalam [[Special:RecentChanges|perubahan terkini]].', 'nuke-viewchanges' => 'lihat perubahan', 'nuke-namespace' => 'Had ruang nama:', + 'nuke-linkoncontribs' => 'hapus pukal', + 'nuke-linkoncontribs-text' => 'Hapus pukal halaman-halaman di mana pengguna ini satu-satunya pengarangnya', ); /** Maltese (Malti) @@ -1988,6 +2116,8 @@ Skriv et brukernavn eller en IP-adresse for Ã¥ fÃ¥ en liste over sider som kan s 'nuke-delete-more' => '[[Special:Nuke|Slett flere sider]]', 'nuke-pattern' => 'Mønster for sidenavnet:', 'nuke-nopages-global' => 'Det er ingen sider i [[Special:RecentChanges|siste endringer]].', + 'nuke-linkoncontribs' => 'masseslett', + 'nuke-linkoncontribs-text' => 'Masseslett sider der denne brukeren er den eneste oppretteren', ); /** Low German (Plattdüütsch) @@ -2044,6 +2174,7 @@ $messages['niu'] = array( /** Dutch (Nederlands) * @author SPQRobin * @author Siebrand + * @author Sjoerddebruin * @author Wiki13 */ $messages['nl'] = array( @@ -2072,6 +2203,7 @@ Voer de gebruikersnaam of het IP-adres in voor een lijst van te verwijderen pagi 'nuke-nopages-global' => "Er zijn geen nieuwe pagina's in de [[Special:RecentChanges|recente wijzigingen]].", 'nuke-viewchanges' => 'wijzigingen bekijken', 'nuke-namespace' => 'Beperk tot naamruimte:', + 'nuke-linkoncontribs' => 'massaal verwijderen', ); /** Norwegian Nynorsk (norsk nynorsk) @@ -2089,7 +2221,7 @@ skriv inn ei sletteÃ¥rsak og trykk pÃ¥ knappen for Ã¥ sletta dei.', skriv inn ein kommentar og trykk pÃ¥ knappen for Ã¥ sletta dei.', 'nuke-defaultreason' => 'Massesletting av sider lagde inn av [[Special:Contributions/$1|{{GENDER:$1|$1}}]]', 'nuke-multiplepeople' => 'Massesletting av nyleg oppretta sider', - 'nuke-tools' => 'Dette verktøyet mogeleggjer massesletting av sider som nyleg er lagde inn av ein viss brukar eller ei viss IP-adresse. + 'nuke-tools' => 'Dette verktøyet mogeleggjer massesletting av sider som nyleg er lagde inn av ein viss brukar eller ei viss IP-adresse. Skriv inn eit brukarnamn eller ei IP-adresse for Ã¥ fÃ¥ ei liste over sider som kan verta sletta, eller lat feltet stÃ¥ tomt for alle brukarar.', 'nuke-submit-user' => 'GÃ¥', 'nuke-submit-delete' => 'Slett valde', @@ -2120,9 +2252,9 @@ $messages['nso'] = array( $messages['oc'] = array( 'nuke' => 'Supression en massa', 'nuke-desc' => 'Balha la possiblitat als administrators de [[Special:Nuke|suprimir en massa]] de paginas.', - 'nuke-nopages' => 'Cap de pagina novèla creada per [[Special:Contributions/$1|$1]] dins la lista dels darrièrs cambiaments.', # Fuzzy - 'nuke-list' => 'Las paginas seguentas son estadas creadas recentament per [[Special:Contributions/$1|$1]]; Indicatz un comentari e clicatz sul boton per los suprimir.', # Fuzzy - 'nuke-defaultreason' => 'Supression en massa de las paginas apondudas per $1', # Fuzzy + 'nuke-nopages' => 'Cap de pagina novèla pas creada per [[Special:Contributions/$1|{{GENDER:$1|$1}}]] dins la lista dels darrièrs cambiaments.', + 'nuke-list' => 'Las paginas seguentas son estadas creadas recentament per [[Special:Contributions/$1|{{GENDER:$1|$1}}]]; picatz un comentari e clicatz sul boton per los suprimir.', + 'nuke-defaultreason' => 'Supression en massa de las paginas apondudas per [[Special:Contributions/$1|{{GENDER:$1|$1}}]]', 'nuke-tools' => 'Aquesta aisina autoriza las supressions en massa de las paginas apondudas recentament per un utilizaire enregistrat o per una adreça IP. Indicatz l’adreça IP per obténer la lista de las paginas de suprimir, o daissar blanc per totes los utilizaires.', 'nuke-submit-user' => 'Validar', 'nuke-submit-delete' => 'Supression seleccionada', @@ -2174,6 +2306,7 @@ $messages['pdc'] = array( * @author Olgak85 * @author Rezonansowy * @author Sp5uhe + * @author WTM * @author Woytecr */ $messages['pl'] = array( @@ -2202,6 +2335,8 @@ Wpisz nazwÄ™ użytkownika lub adres IP, by otrzymać listÄ™ stron do usuniÄ™cia. 'nuke-nopages-global' => 'Brak nowych stron w [[Special:RecentChanges|ostatnich zmianach]].', 'nuke-viewchanges' => 'widok zmian', 'nuke-namespace' => 'Tylko w przestrzeni nazw:', + 'nuke-linkoncontribs' => 'masowe usuwanie', + 'nuke-linkoncontribs-text' => 'Masowe usuwanie stron, których jedynym autorem jest ten użytkownik', ); /** Piedmontese (Piemontèis) @@ -2245,7 +2380,7 @@ $messages['ps'] = array( 'nuke-multiplepeople' => 'د تازه راگډ شويو مخونو ټول Ú“Ù†Ú¯Ûدنه', 'nuke-submit-user' => 'ورÚÙ‡', 'nuke-submit-delete' => 'ټاکل شوی ړنگول', - 'right-nuke' => 'د ډله ايز ړنګون مخونه', + 'right-nuke' => 'د ډله ايز ړنگون مخونه', 'nuke-select' => 'ټاکل: $1', 'nuke-userorip' => 'کارن-نوم، آي پي پته يا تش:', 'nuke-maxpages' => 'د Øد اکثر شمÛر مخونه:', @@ -2257,6 +2392,7 @@ $messages['ps'] = array( /** Portuguese (português) * @author Hamilton Abreu + * @author Imperadeiro98 * @author Luckas * @author Malafaya * @author 555 @@ -2280,6 +2416,8 @@ introduza um comentário e clique o botão para eliminá-las.', 'nuke-editby' => 'Criada por [[Special:Contributions/$1|$1]]', # Fuzzy 'nuke-deleted' => "A página '''$1''' foi eliminada.", 'nuke-not-deleted' => 'Não foi possÃvel eliminar a página [[:$1]].', + 'nuke-linkoncontribs' => 'eliminação em massa', + 'nuke-linkoncontribs-text' => 'Eliminar em massa páginas em que este utilizador é o único autor', ); /** Brazilian Portuguese (português do Brasil) @@ -2421,6 +2559,7 @@ Mitte 'u nome de l'utende o l'indirizze IP pe avè 'n'elenghe de le pà ggene de 'nuke-nopages-global' => "Non ge stonne pà ggene nove jndr'à le [[Special:RecentChanges|cangiaminde recende]].", 'nuke-viewchanges' => 'vide le cangiaminde', 'nuke-namespace' => 'Limite a namespace:', + 'nuke-linkoncontribs' => 'scangellazione de masse', ); /** Russian (руÑÑкий) @@ -2429,6 +2568,7 @@ Mitte 'u nome de l'utende o l'indirizze IP pe avè 'n'elenghe de le pà ggene de * @author HalanTul * @author KPu3uC B Poccuu * @author Kaganer + * @author Okras * @author VasilievVV * @author ÐлекÑандр Сигачёв */ @@ -2458,6 +2598,8 @@ $messages['ru'] = array( 'nuke-nopages-global' => 'Ð’ [[Special:RecentChanges|недавних изменениÑÑ…]] нет новых Ñтраниц.', 'nuke-viewchanges' => 'ВнеÑённые изменениÑ', 'nuke-namespace' => 'Ограничить проÑтранÑтвом имён:', + 'nuke-linkoncontribs' => 'множеÑтвенное удаление', + 'nuke-linkoncontribs-text' => 'МаÑÑово удалить Ñтраницы, где Ñтот учаÑтник ÑвлÑетÑÑ ÐµÐ´Ð¸Ð½Ñтвенным автором', ); /** Rusyn (руÑиньÑкый) @@ -2497,7 +2639,7 @@ $messages['sah'] = array( Соторго быһаарыыта Ñуруйан баран тимÑҕи баттаа.', 'nuke-defaultreason' => '$1 кыттааччы айбыт ÑирÑйдÑрин бүтүннүү Ñуох оҥоруу', # Fuzzy 'nuke-multiplepeople' => 'ÑлбÑÑ… кыттааччы', # Fuzzy - 'nuke-tools' => 'Бу ÑирÑй көмөтүнÑн ханнык ÑÐ¼Ñ ÐºÑ‹Ñ‚Ñ‚Ð°Ð°Ñ‡Ñ‡Ñ‹ оҥорбут көннөрүүлÑрин ÑбÑÑ‚ÑÑ€ биир IP-ттан оҥоһуллубут көннөрүүлÑри бүтүннүү Ñуох гынахха Ñөп. + 'nuke-tools' => 'Бу ÑирÑй көмөтүнÑн ханнык ÑÐ¼Ñ ÐºÑ‹Ñ‚Ñ‚Ð°Ð°Ñ‡Ñ‡Ñ‹ оҥорбут көннөрүүлÑрин ÑбÑÑ‚ÑÑ€ биир IP-ттан оҥоһуллубут көннөрүүлÑри бүтүннүү Ñуох гынахха Ñөп. Кыттааччы аатын ÑбÑÑ‚ÑÑ€ IP-тын киллÑрдÑÑ…Ñ…Ð¸Ð½Ñ Ð¾Ò¥Ð¾Ñ€Ð±ÑƒÑ‚ көннөрүүлÑрин Ñ‚Ð¸Ò»Ð¸Ð³Ñ Ñ‚Ð°Ñ…Ñыа, кураанах хааллардаххына бары кыттааччылар көннөрүүлÑÑ€Ñ ÐºÓ©ÑÑ‚Ò¯Ó©.', 'nuke-submit-user' => 'Толор', 'nuke-submit-delete' => 'Талыллыбыты Ñот', @@ -2523,6 +2665,45 @@ $messages['scn'] = array( 'right-nuke' => "Scancella pà ggini 'n massa", ); +/** Scots (Scots) + * @author John Reid + */ +$messages['sco'] = array( + 'nuke-linkoncontribs' => 'nuke-delete', + 'nuke-linkoncontribs-text' => 'nuke-delete pages whaur this uiser is the yinly author', +); + +/** Serbo-Croatian (srpskohrvatski / ÑрпÑкохрватÑки) + * @author Kolega2357 + */ +$messages['sh'] = array( + 'nuke' => 'Masovno brisanje', + 'action-nuke' => 'masovno brisanje stranica', + 'nuke-desc' => 'Daje administratoru mogućnost da [[Special:Nuke|masovno briÅ¡e]] stranice.', + 'nuke-nopages' => 'Nema novih stranica od strane korisnika [[Special:Contributions/$1|$1]] u skoraÅ¡njim izmenama.', + 'nuke-list' => 'Sledeće stranice je skoro napravio korisnik [[Special:Contributions/$1|{{GENDER:$1|$1}}]]; ostavite komentar i pritisnite dugme za njihovo brisanje.', + 'nuke-list-multiple' => 'Sledeće stranice su nedavno napravljenje, ostavite komentar i pritisnite dugme da biste ih obrisali.', + 'nuke-defaultreason' => 'Masovno brisanje stranica koje je napravio korisnik [[Special:Contributions/$1|{{GENDER:$1|$1}}]]', + 'nuke-multiplepeople' => 'Masovno brisanje nedavno dodatih stranica', + 'nuke-tools' => 'Ova alatka omogućava zbirno brisanje stranica koje je nedavno dodao odreÄ‘eni korisnik (sa nalogom ili bez njega). +Unesite korisniÄko ime ili IP adresu da biste dobili spisak stranica za brisanje, ili ostavite prazno ako želite da se navedu svi korisnici.', + 'nuke-submit-user' => 'Idi', + 'nuke-submit-delete' => 'ObriÅ¡i izabrano', + 'right-nuke' => 'masovno brisanje stranica', + 'nuke-select' => 'Izaberi: $1', + 'nuke-userorip' => 'KorisniÄko ime, IP adresa ili prazno:', + 'nuke-maxpages' => 'Najveći broj stranica:', + 'nuke-editby' => 'Napravio [[Special:Contributions/$1|$1]]', + 'nuke-deleted' => "Stranica '''$1''' je obrisana.", + 'nuke-not-deleted' => "'''Ne mogu''' da obriÅ¡em stranicu [[:$1]].", + 'nuke-delete-more' => '[[Special:Nuke|ObriÅ¡i joÅ¡ stranica]]', + 'nuke-pattern' => 'Obrazac za naziv stranice:', + 'nuke-nopages-global' => 'Nema novih stranica u [[Special:RecentChanges|skoraÅ¡njim izmenama]].', + 'nuke-viewchanges' => 'pogledaj izmene', + 'nuke-namespace' => 'OgraniÄenja na imenskim prostorima:', + 'nuke-linkoncontribs' => 'masovno brisanje', +); + /** Sinhala (සිංහල) * @author නන්දිමිà¶à·”රු * @author පසිඳු කà·à·€à·’න්ද @@ -2631,6 +2812,9 @@ $messages['sr-ec'] = array( 'nuke-not-deleted' => "'''Ðе могу''' да обришем Ñтраницу [[:$1]].", 'nuke-delete-more' => '[[Special:Nuke|Обриши још Ñтраница]]', 'nuke-pattern' => 'Образац за назив Ñтранице:', + 'nuke-viewchanges' => 'прикажи измене', + 'nuke-linkoncontribs' => 'маÑовно бриÑање', + 'nuke-linkoncontribs-text' => 'Скупно бриÑање Ñтраница чије једини аутор овај кориÑник', ); /** Serbian (Latin script) (srpski (latinica)‎) @@ -2650,7 +2834,7 @@ $messages['sr-el'] = array( Unesite korisniÄko ime ili IP adresu da biste dobili spisak stranica za brisanje, ili ostavite prazno ako želite da se navedu svi korisnici.', 'nuke-submit-user' => 'Idi', 'nuke-submit-delete' => 'ObriÅ¡i obeleženo', - 'right-nuke' => 'Masovno brisanje strana.', + 'right-nuke' => 'masovno brisanje strana', 'nuke-select' => 'Izaberi: $1', 'nuke-userorip' => 'KorisniÄko ime, IP adresa ili prazno:', 'nuke-maxpages' => 'Najveći broj stranica:', @@ -2659,6 +2843,9 @@ Unesite korisniÄko ime ili IP adresu da biste dobili spisak stranica za brisanj 'nuke-not-deleted' => "'''Ne mogu''' da obriÅ¡em stranicu [[:$1]].", 'nuke-delete-more' => '[[Special:Nuke|ObriÅ¡i joÅ¡ stranica]]', 'nuke-pattern' => 'Obrazac za naziv stranice:', + 'nuke-viewchanges' => 'prikaži izmene', + 'nuke-linkoncontribs' => 'masovno brisanje', + 'nuke-linkoncontribs-text' => 'Skupno brisanje stranica Äije jedini autor ovaj korisnik', ); /** Seeltersk (Seeltersk) @@ -2695,6 +2882,7 @@ tuliskeun pamanggih anjeun, terus pencét tombolna pikeun ngahapus.', # Fuzzy /** Swedish (svenska) * @author Cybjit + * @author Hangsna * @author Lejonel * @author Martinwiss * @author Tobulos1 @@ -2726,6 +2914,8 @@ Ange användarnamnet eller IP-adressen för att se en lista över sidor som kan 'nuke-nopages-global' => 'Det finns inga nya sidor i [[Special:RecentChanges|senaste ändringar]].', 'nuke-viewchanges' => 'visa ändringar', 'nuke-namespace' => 'Begränsa till namnrymd:', + 'nuke-linkoncontribs' => 'massradering', + 'nuke-linkoncontribs-text' => 'Radera alla sidor där användaren är ensam bidragsgivare', ); /** Swahili (Kiswahili) @@ -2755,6 +2945,7 @@ $messages['ta'] = array( ); /** Telugu (తెలà±à°—à±) + * @author Ravichandra * @author Veeven */ $messages['te'] = array( @@ -2774,6 +2965,7 @@ $messages['te'] = array( 'nuke-delete-more' => '[[Special:Nuke|మరినà±à°¨à°¿ పేజీలనౠతొలగించండి]]', 'nuke-nopages-global' => '[[Special:RecentChanges|ఇటీవలి మారà±à°ªà±à°²]]లో కొతà±à°¤ పేజీలౠà°à°®à±€ లేవà±.', 'nuke-viewchanges' => 'మారà±à°ªà±à°²à°¨à± చూడండి', + 'nuke-linkoncontribs' => 'మూకà±à°®à±à°®à°¡à°¿ తొలగింపà±', ); /** Tetum (tetun) @@ -2910,7 +3102,9 @@ $messages['ug-latn'] = array( /** Ukrainian (українÑька) * @author AS + * @author Aced * @author Ahonc + * @author Andriykopanytsia * @author Base * @author Dim Grits * @author Microcell @@ -2933,7 +3127,7 @@ $messages['uk'] = array( 'nuke-submit-delete' => 'Вилучити обрані', 'right-nuke' => 'МаÑове Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ñторінок', 'nuke-select' => 'Вибір: $1', - 'nuke-userorip' => "Ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача, IP-адреÑа (за бажаннÑм):", + 'nuke-userorip' => "Ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача, IP-адреÑа (необов'Ñзковий параметр):", 'nuke-maxpages' => 'МакÑимальна кількіÑÑ‚ÑŒ Ñторінок:', 'nuke-editby' => 'Створено {{GENDER:$1|кориÑтувачем|кориÑтувачкою}} [[Special:Contributions/$1|$1]]', 'nuke-deleted' => "Сторінка '''$1''' була вилучена.", @@ -2943,6 +3137,8 @@ $messages['uk'] = array( 'nuke-nopages-global' => 'У [[Special:RecentChanges|нових редагуваннÑÑ…]] немає нових Ñторінок.', 'nuke-viewchanges' => 'переглÑнути зміни', 'nuke-namespace' => 'Обмежити за проÑтором назв:', + 'nuke-linkoncontribs' => 'маÑове вилученнÑ', + 'nuke-linkoncontribs-text' => 'МаÑове Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ñторінок, де цей кориÑтувач Ñ” єдиним автором', ); /** Urdu (اردو) @@ -3011,17 +3207,20 @@ Hãy nháºp tên thà nh viên hoặc địa chỉ IP để lấy danh sách các 'nuke-nopages-global' => 'Không có trang má»›i trong các [[Special:RecentChanges|thay đổi gần đây]].', 'nuke-viewchanges' => 'xem thay đổi', 'nuke-namespace' => 'Giá»›i hạn theo không gian tên:', + 'nuke-linkoncontribs' => 'xóa hà ng loạt', + 'nuke-linkoncontribs-text' => 'Xóa hà ng loạt các trang có ngÆ°á»i dùng nà y là tác giả duy nhất', ); /** Volapük (Volapük) + * @author Malafaya * @author Smeira */ $messages['vo'] = array( 'nuke' => 'Moükön pademi', 'nuke-desc' => 'Gevon guvanes fägi ad moükön padamödotis', - 'nuke-nopages' => 'Pads nonik fa geban: [[Special:Contributions/$1|$1]] pejaföls binons su lised votükamas nulik.', # Fuzzy - 'nuke-list' => 'Pads sököl pejafons brefabüo fa geban: [[Special:Contributions/$1|$1]]; penolös küpeti e klikolös gnobi ad moükön onis.', # Fuzzy - 'nuke-defaultreason' => 'Moükam padas fa geban: $1 pejafölas', # Fuzzy + 'nuke-nopages' => 'Pads nonik fa geban: [[Special:Contributions/$1|{{GENDER:$1|$1}}]] pejaföls binons su lised votükamas nulik.', + 'nuke-list' => 'Pads sököl pejafons brefabüo fa geban: [[Special:Contributions/$1|{{GENDER:$1|$1}}]]; penolös küpeti e klikolös gnobi ad moükön onis.', + 'nuke-defaultreason' => 'Moükam masifik padas fa [[Special:Contributions/$1|{{GENDER:$1|$1}}]] pejafölas', 'nuke-tools' => 'Stum at kanon moükön mödoti padas fa geban u ladet-IP semik brefabüo pejafölas. Penolös gebananemi u ladeti-IP ad dagetön lisedi padas moükovik:', # Fuzzy 'nuke-submit-user' => 'Ledunolöd', 'nuke-submit-delete' => 'Pevalöl ad pamoükön', @@ -3068,8 +3267,8 @@ $messages['zh-hans'] = array( 'action-nuke' => 'åˆ é™¤å¤§é‡é¡µé¢', 'nuke-desc' => '让管ç†å‘˜å¯ä»¥[[Special:Nuke|批é‡åˆ 除]]页é¢', 'nuke-nopages' => '在最近更改ä¸æ²¡æœ‰[[Special:Contributions/$1|{{GENDER:$1|$1}}]]创建的新页é¢ã€‚', - 'nuke-list' => '以下为[[Special:Contributions/$1|{{GENDER:$1|$1}}]]最近创建的页é¢ï¼Œè¯·å¡«å†™æ³¨é‡Šå¹¶ç‚¹å‡»æŒ‰é’®åˆ 除它们。', - 'nuke-list-multiple' => '以下为最近创建的页é¢ï¼Œè¯·å¡«å†™æ³¨é‡Šå¹¶ç‚¹å‡»æŒ‰é’®åˆ 除它们。', + 'nuke-list' => '以下为[[Special:Contributions/$1|{{GENDER:$1|$1}}]]最近创建的页é¢ï¼Œè¯·å¡«å†™æ³¨é‡Šå†ç‚¹å‡»æŒ‰é’®åˆ 除它们。', + 'nuke-list-multiple' => '以下为最近创建的页é¢ï¼Œè¯·å¡«å†™æ³¨é‡Šå†ç‚¹å‡»æŒ‰é’®åˆ 除它们。', 'nuke-defaultreason' => '大é‡åˆ 除[[Special:Contributions/$1|{{GENDER:$1|$1}}]]创建的页é¢', 'nuke-multiplepeople' => '大é‡åˆ é™¤æœ€è¿‘æ·»åŠ çš„é¡µé¢', 'nuke-tools' => 'æ¤å·¥å…·å…许大é‡åˆ 除指定用户或IP地å€åœ¨æœ€è¿‘创建的页é¢ã€‚输入用户å或IP地å€å¯èŽ·å–å¯åˆ 除页é¢åˆ—表,留白则检索所有用户。', @@ -3078,7 +3277,7 @@ $messages['zh-hans'] = array( 'right-nuke' => 'åˆ é™¤å¤§é‡é¡µé¢', 'nuke-select' => '选择:$1', 'nuke-userorip' => '用户åã€IP地å€æˆ–空白:', - 'nuke-maxpages' => '最多页é¢æ•°ï¼š', + 'nuke-maxpages' => '最大页é¢æ•°ï¼š', 'nuke-editby' => 'ç”±[[Special:Contributions/$1|{{GENDER:$1|$1}}]]创建', 'nuke-deleted' => "å·²åˆ é™¤é¡µé¢'''$1'''。", 'nuke-not-deleted' => "'''æ— æ³•'''åˆ é™¤[[:$1]]页é¢ã€‚", @@ -3087,6 +3286,8 @@ $messages['zh-hans'] = array( 'nuke-nopages-global' => '[[Special:RecentChanges|最近更改]]ä¸æ²¡æœ‰æ–°çš„页é¢ã€‚', 'nuke-viewchanges' => '查看å˜æ›´', 'nuke-namespace' => 'é™åˆ¶åå—空间为:', + 'nuke-linkoncontribs' => '大é‡åˆ 除', + 'nuke-linkoncontribs-text' => '大é‡åˆ 除仅æ¤ç”¨æˆ·ä¸ºä½œè€…的页é¢', ); /** Traditional Chinese (ä¸æ–‡ï¼ˆç¹é«”)‎) @@ -3094,6 +3295,7 @@ $messages['zh-hans'] = array( * @author Cwlin0416 * @author Justincheng12345 * @author Liangent + * @author Liuxinyu970226 * @author Mark85296341 * @author Shinjiman */ @@ -3121,4 +3323,6 @@ $messages['zh-hant'] = array( 'nuke-nopages-global' => '[[Special:RecentChanges|最近更改]]ä¸æ²’有新的é é¢ã€‚', 'nuke-viewchanges' => '查看變更', 'nuke-namespace' => 'é™åˆ¶åå—空間為:', + 'nuke-linkoncontribs' => '大é‡åˆªé™¤', + 'nuke-linkoncontribs-text' => '大é‡åˆªé™¤åƒ…æ¤ç”¨æˆ¶å‰µå»ºä¹‹é é¢', ); diff --git a/extensions/Nuke/Nuke.php b/extensions/Nuke/Nuke.php index 80a41631..e10ce422 100644 --- a/extensions/Nuke/Nuke.php +++ b/extensions/Nuke/Nuke.php @@ -4,7 +4,7 @@ if ( !defined( 'MEDIAWIKI' ) ) { die( 'Not an entry point.' ); } -define( 'Nuke_VERSION', '1.1.7' ); +define( 'Nuke_VERSION', '1.1.8' ); $dir = dirname( __FILE__ ) . '/'; @@ -24,9 +24,12 @@ $wgGroupPermissions['sysop']['nuke'] = true; $wgAvailableRights[] = 'nuke'; $wgAutoloadClasses['SpecialNuke'] = $dir . 'Nuke_body.php'; +$wgAutoloadClasses['NukeHooks'] = $dir . 'Nuke.hooks.php'; $wgSpecialPages['Nuke'] = 'SpecialNuke'; $wgSpecialPageGroups['Nuke'] = 'pagetools'; +$wgHooks['ContributionsToolLinks'][] = 'NukeHooks::nukeContributionsLinks'; + // Resource loader modules $moduleTemplate = array( 'localBasePath' => dirname( __FILE__ ) . '/', diff --git a/extensions/ParserFunctions/ParserFunctions.i18n.magic.php b/extensions/ParserFunctions/ParserFunctions.i18n.magic.php index 5d26cb71..e92ffe12 100644 --- a/extensions/ParserFunctions/ParserFunctions.i18n.magic.php +++ b/extensions/ParserFunctions/ParserFunctions.i18n.magic.php @@ -58,25 +58,26 @@ $magicWords['ar'] = array( /** Egyptian Spoken Arabic (مصرى) */ $magicWords['arz'] = array( - 'expr' => array( 0, 'تعبير', 'expr' ), - 'if' => array( 0, 'لو', 'if' ), - 'ifeq' => array( 0, 'لومعادلة', 'ifeq' ), - 'ifexpr' => array( 0, 'لوتعبير', 'ifexpr' ), - 'iferror' => array( 0, 'لوخطأ', 'iferror' ), - 'switch' => array( 0, 'تبديل', 'switch' ), - 'default' => array( 0, '#اÙتراضي', '#default' ), - 'ifexist' => array( 0, 'لوموجود', 'ifexist' ), - 'time' => array( 0, 'وقت', 'time' ), - 'timel' => array( 0, 'تيمل', 'timel' ), - 'rel2abs' => array( 0, 'ريلتوآبس', 'rel2abs' ), - 'titleparts' => array( 0, 'أجزاء_العنوان', 'titleparts' ), - 'len' => array( 0, 'لين', 'len' ), - 'pos' => array( 0, 'بوس', 'pos' ), - 'rpos' => array( 0, 'آربوس', 'rpos' ), - 'sub' => array( 0, 'متÙرع', 'sub' ), - 'count' => array( 0, 'عدد', 'count' ), - 'replace' => array( 0, 'استبدال', 'replace' ), - 'explode' => array( 0, 'انÙجار', 'explode' ), + 'expr' => array( 0, 'تعبير' ), + 'if' => array( 0, 'لو' ), + 'ifeq' => array( 0, 'لومعادلة' ), + 'ifexpr' => array( 0, 'لوتعبير' ), + 'iferror' => array( 0, 'لوخطأ' ), + 'switch' => array( 0, 'تبديل' ), + 'default' => array( 0, '#اÙتراضي' ), + 'ifexist' => array( 0, 'لوموجود' ), + 'time' => array( 0, 'وقت' ), + 'timel' => array( 0, 'تيمل' ), + 'rel2abs' => array( 0, 'ريلتوآبس' ), + 'titleparts' => array( 0, 'أجزاء_العنوان' ), + 'len' => array( 0, 'لين' ), + 'pos' => array( 0, 'بوس' ), + 'rpos' => array( 0, 'آربوس' ), + 'sub' => array( 0, 'متÙرع' ), + 'count' => array( 0, 'عدد' ), + 'replace' => array( 0, 'استبدال' ), + 'explode' => array( 0, 'انÙجار' ), + 'urldecode' => array( 0, 'ÙÙƒ_مسار' ), ); /** South Azerbaijani (تورکجه) */ @@ -100,7 +101,7 @@ $magicWords['ce'] = array( 'replace' => array( 0, 'хийцарна', 'замена' ), ); -/** Czech (Äesky) */ +/** Czech (ÄeÅ¡tina) */ $magicWords['cs'] = array( 'expr' => array( 0, 'výraz' ), 'if' => array( 0, 'když' ), @@ -122,8 +123,15 @@ $magicWords['de'] = array( /** Zazaki (Zazaki) */ $magicWords['diq'] = array( + 'expr' => array( 0, 'ifade' ), 'if' => array( 0, 'se' ), 'ifeq' => array( 0, 'sek' ), + 'ifexpr' => array( 0, 'ifadeyose' ), + 'iferror' => array( 0, 'çınyose' ), + 'time' => array( 0, 'zeman' ), + 'sub' => array( 0, 'bın' ), + 'count' => array( 0, 'hesabk' ), + 'replace' => array( 0, 'vırnayen' ), ); /** Esperanto (Esperanto) */ @@ -145,12 +153,14 @@ $magicWords['eo'] = array( /** Spanish (español) */ $magicWords['es'] = array( 'if' => array( 0, 'si' ), + 'ifeq' => array( 0, 'siigual' ), 'ifexpr' => array( 0, 'siexpr' ), 'iferror' => array( 0, 'sierror' ), 'switch' => array( 0, 'según' ), 'default' => array( 0, '#predeterminado' ), 'ifexist' => array( 0, 'siexiste' ), 'time' => array( 0, 'tiempo' ), + 'timel' => array( 0, 'tiempol' ), 'len' => array( 0, 'long', 'longitud' ), 'replace' => array( 0, 'reemplazar' ), 'explode' => array( 0, 'separar' ), @@ -293,7 +303,7 @@ $magicWords['ja'] = array( 'count' => array( 0, '回数' ), 'replace' => array( 0, 'ç½®ãæ›ãˆ' ), 'explode' => array( 0, '分割' ), - 'urldecode' => array( 0, 'URLデコード' ), + 'urldecode' => array( 0, 'URLデコード', 'URLデコード' ), ); /** Korean (í•œêµì–´) */ @@ -375,7 +385,7 @@ $magicWords['mk'] = array( $magicWords['ml'] = array( 'expr' => array( 0, 'à´¦àµà´¯àµ‹à´¤à´•à´‚' ), 'if' => array( 0, 'à´Žà´™àµà´•à´¿àµ½' ), - 'ifeq' => array( 0, 'സമെമെങàµà´•à´¿àµ½' ), + 'ifeq' => array( 0, 'സമമെങàµà´•à´¿àµ½' ), 'ifexpr' => array( 0, 'à´Žà´•àµà´¸àµà´ªàµà´°àµ†à´·à´¨àµ†à´™àµà´•à´¿àµ½' ), 'iferror' => array( 0, 'പിഴവെങàµà´•à´¿àµ½' ), 'switch' => array( 0, 'മാറàµà´±àµà´•' ), @@ -580,22 +590,22 @@ $magicWords['uz'] = array( /** Vietnamese (Tiếng Việt) */ $magicWords['vi'] = array( - 'expr' => array( 0, 'côngthức' ), + 'expr' => array( 0, 'công_thức', 'côngthức' ), 'if' => array( 0, 'nếu' ), - 'ifeq' => array( 0, 'nếubằng' ), - 'ifexpr' => array( 0, 'nếucôngthức' ), - 'iferror' => array( 0, 'nếulá»—i' ), - 'default' => array( 0, '#mặcđịnh' ), - 'ifexist' => array( 0, 'nếutồntại' ), + 'ifeq' => array( 0, 'nếu_bằng', 'nếubằng' ), + 'ifexpr' => array( 0, 'nếu_công_thức', 'nếucôngthức' ), + 'iferror' => array( 0, 'nếu_lá»—i', 'nếulá»—i' ), + 'default' => array( 0, '#mặc_định', '#mặcđịnh' ), + 'ifexist' => array( 0, 'nếu_tồn_tại', 'nếutồntại' ), 'time' => array( 0, 'giá»' ), - 'timel' => array( 0, 'giá»Ä‘ịaphÆ°Æ¡ng' ), - 'len' => array( 0, 'sốchữ', 'sốkýtá»±', 'sốkÃtá»±' ), - 'pos' => array( 0, 'vịtrÃ' ), - 'rpos' => array( 0, 'vịtrÃphải' ), - 'sub' => array( 0, 'chuá»—icon' ), + 'timel' => array( 0, 'giá»_địa_phÆ°Æ¡ng', 'giá»Ä‘ịaphÆ°Æ¡ng' ), + 'len' => array( 0, 'số_chữ', 'sốchữ', 'số_ký_tá»±', 'sốkýtá»±', 'số_kÃ_tá»±', 'sốkÃtá»±' ), + 'pos' => array( 0, 'vị_trÃ', 'vịtrÃ' ), + 'rpos' => array( 0, 'vị_trÃ_phải', 'vịtrÃphải' ), + 'sub' => array( 0, 'chuá»—i_con', 'chuá»—icon' ), 'count' => array( 0, 'số' ), - 'replace' => array( 0, 'thaythế' ), - 'urldecode' => array( 0, 'giảimãurl' ), + 'replace' => array( 0, 'thay_thế', 'thaythế' ), + 'urldecode' => array( 0, 'giải_mã_url', 'giảimãurl' ), ); /** Yiddish (ייִדיש) */ @@ -632,7 +642,22 @@ $magicWords['zh'] = array( /** Simplified Chinese (ä¸æ–‡ï¼ˆç®€ä½“)‎) */ $magicWords['zh-hans'] = array( + 'if' => array( 0, 'è‹¥' ), 'ifeq' => array( 0, '若相ç‰', '如果相ç‰' ), + 'iferror' => array( 0, '如果错误' ), + 'switch' => array( 0, '开关' ), 'default' => array( 0, '#默认' ), 'ifexist' => array( 0, '若有', '如果å˜åœ¨' ), + 'time' => array( 0, '时间' ), + 'pos' => array( 0, '终端' ), + 'rpos' => array( 0, 'å终端' ), + 'sub' => array( 0, 'PFå' ), + 'count' => array( 0, '计数' ), +); + +/** Traditional Chinese (ä¸æ–‡ï¼ˆç¹é«”)‎) */ +$magicWords['zh-hant'] = array( + 'if' => array( 0, 'è‹¥' ), + 'time' => array( 0, '時間' ), + 'timel' => array( 0, '時間L' ), );
\ No newline at end of file diff --git a/extensions/ParserFunctions/ParserFunctions.i18n.php b/extensions/ParserFunctions/ParserFunctions.i18n.php index e026b693..f61310b2 100644 --- a/extensions/ParserFunctions/ParserFunctions.i18n.php +++ b/extensions/ParserFunctions/ParserFunctions.i18n.php @@ -177,6 +177,7 @@ $messages['an'] = array( /** Arabic (العربية) * @author Aiman titi + * @author Asaifm * @author Meno25 */ $messages['ar'] = array( @@ -184,6 +185,7 @@ $messages['ar'] = array( 'pfunc_time_error' => 'خطأ: زمن غير صØÙŠØ', 'pfunc_time_too_long' => 'خطأ: استدعاءات #time كثيرة جدا', 'pfunc_time_too_big' => 'خطأ : # الوقت يدعم Ùقط Øتى 9999 سنة', + 'pfunc_time_too_small' => 'خطأ: #time تدعم الأعوام بدءاً من 0.', 'pfunc_rel2abs_invalid_depth' => 'خطأ: عمق غير صØÙŠØ ÙÙŠ المسار: "$1" (Øاول دخول عقدة Ùوق العقدة الجذرية)', 'pfunc_expr_stack_exhausted' => 'خطأ ÙÙŠ التعبير: ستاك مجهد', 'pfunc_expr_unexpected_number' => 'خطأ ÙÙŠ التعبير: رقم غير متوقع', @@ -237,6 +239,7 @@ $messages['arz'] = array( /** Assamese (অসমীয়া) * @author Bishnu Saikia + * @author Gitartha.bordoloi * @author Rajuonline */ $messages['as'] = array( @@ -254,7 +257,7 @@ $messages['as'] = array( 'pfunc_expr_unexpected_closing_bracket' => 'à¦à¦•à§à¦¸à¦ªà§à§°à§‡à¦›à¦¨ তà§à§°à§à¦Ÿà§€: অবাঞà§à¦šà¦¿à¦¤ সমাপà§à¦¤à¦•à¦¾à§°à§€ বনà§à¦§à¦¨à§€', 'pfunc_expr_unrecognised_punctuation' => 'à¦à¦•à§à¦¸à¦ªà§à§°à§‡à¦›à¦¨ তà§à§°à§à¦Ÿà§€: অপৰিচিত বিৰামচিহà§à¦¨ কেৰেকà§à¦Ÿà¦¾à§° "$1"', 'pfunc_expr_unclosed_bracket' => 'à¦à¦•à§à¦¸à¦ªà§à§°à§‡à¦›à¦¨ তà§à§°à§à¦Ÿà§€: উনà§à¦®à§à¦•à§à¦¤ বনà§à¦§à¦¨à§€', - 'pfunc_expr_division_by_zero' => 'শূনà§à¦¯à§° দà§à¦¬à¦¾à§°à¦¾ হৰণ কৰা হৈছে', + 'pfunc_expr_division_by_zero' => 'শূনà§à¦¯à§°à§‡ হৰণ কৰা হৈছে।', 'pfunc_expr_invalid_argument' => '$1 ৰ বাবে à¦à§à¦² চৰà§à¦¤: < -1 অথবা > 1', 'pfunc_expr_invalid_argument_ln' => 'ln ৰ বাবে অমানà§à¦¯ চৰà§à¦¤: <= 0', 'pfunc_expr_unknown_error' => 'à¦à¦•à§à¦¸à¦ªà§à§°à§‡à¦›à¦¨ তà§à§°à§à¦Ÿà§€: : অজà§à¦žà¦¾à¦¤ তà§à§°à§à¦Ÿà§€ ($1)', @@ -545,14 +548,16 @@ $messages['ca'] = array( * @author Умар */ $messages['ce'] = array( + 'pfunc_desc' => 'Дика тайина маьӀнийн функцешца анализатор', 'pfunc_time_error' => 'Гlалато: хан нийÑа Ñц', 'pfunc_expr_stack_exhausted' => 'Яздарехь гlалат ду: хьаладуьззина татол', 'pfunc_expr_unrecognised_word' => 'Яздарехь гlалат ду: дойзуш доцу дош «$1»', - 'pfunc_expr_unexpected_operator' => 'Дешнийн гӀалам : ца хаа оператор $1', + 'pfunc_expr_unexpected_operator' => 'Дешнийн гӀалат: ца хаа оператор $1', 'pfunc_expr_unrecognised_punctuation' => 'Дешнашан гӀалат: евзина йоцу пунктуацин Ñимвол «$1»', + 'pfunc_expr_unknown_error' => 'Дешнийн гӀалат: ца хаа гӀалат ($1)', ); -/** Czech (Äesky) +/** Czech (ÄeÅ¡tina) * @author Danny B. * @author Li-sung * @author MatÄ›j Grabovský @@ -564,6 +569,7 @@ $messages['cs'] = array( 'pfunc_time_error' => 'Chyba: neplatný Äas', 'pfunc_time_too_long' => 'Chyba: pÅ™ÃliÅ¡ mnoho volánà #time', 'pfunc_time_too_big' => 'Chyba: #time nepodporuje roky nad 9999', + 'pfunc_time_too_small' => 'Chyba: #time nepodporuje roky menÅ¡Ã než 0.', 'pfunc_rel2abs_invalid_depth' => 'Chyba: Neplatná hloubka v cestÄ›: "$1" (pokus o pÅ™Ãstup do uzlu vyÅ¡Å¡Ãho než koÅ™en)', 'pfunc_expr_stack_exhausted' => 'Chyba ve výrazu: ZásobnÃk plnÄ› obsazen', 'pfunc_expr_unexpected_number' => 'Chyba ve výrazu: OÄekáváno ÄÃslo', @@ -631,12 +637,13 @@ $messages['da'] = array( * @author Kghbln * @author LWChris * @author Metalhead64 + * @author Purodha * @author Raimond Spekking * @author Rentenirer * @author Rillke */ $messages['de'] = array( - 'pfunc_desc' => 'Ergänzt den Parser um logische Funktionen', + 'pfunc_desc' => 'Erweitert den Parser um logische Funktionen', 'pfunc_time_error' => 'Fehler: Ungültige Zeitangabe', 'pfunc_time_too_long' => 'Fehler: Zu viele #time-Aufrufe', 'pfunc_time_too_big' => 'Fehler: #time unterstützt nur Jahre bis 9999', @@ -702,6 +709,8 @@ $messages['dsb'] = array( 'pfunc_desc' => 'RozÅ¡yrja parser wó logiske funkcije', 'pfunc_time_error' => 'Zmólka: njepÅ‚aÅ›iwy cas', 'pfunc_time_too_long' => 'Zmólka: pÅ›ewjele zawoÅ‚anjow #time', + 'pfunc_time_too_big' => 'Zmólka: #time pódpÄ›ra jano lÄ›ta až do 9999.', + 'pfunc_time_too_small' => 'Zmólka: #time pódpÄ›ra jano lÄ›ta wót 0.', 'pfunc_rel2abs_invalid_depth' => 'Zmólka: NjepÅ‚aÅ›iwy dÅ‚ym w sćažce: "$1" (wopyt na suk pÅ›istup měś, kótaryž jo wuÅ¡ej kórjenjowego suka)', 'pfunc_expr_stack_exhausted' => 'Wurazowa zmólka: Stack wupócerany', 'pfunc_expr_unexpected_number' => 'Wurazowa zmólka: Njewócakana licba', @@ -823,7 +832,10 @@ $messages['et'] = array( 'pfunc_time_error' => 'Tõrge: Vigane aeg', 'pfunc_time_too_long' => 'Tõrge: Liiga palju #time-kutseid.', 'pfunc_time_too_big' => 'Tõrge: #time toetab vaid aastaid kuni väärtuseni 9999.', + 'pfunc_time_too_small' => 'Tõrge: #time toetab aastaid alates 0-st.', + 'pfunc_rel2abs_invalid_depth' => 'Tõrge: Vigane tee pikkus: "$1" (üritati pöörduda juursõlmest kõrgema sõlme poole).', 'pfunc_expr_unexpected_number' => 'Avaldistõrge: Ootamatu number', + 'pfunc_expr_preg_match_failure' => 'Avaldistõrge: preg_match nurjus ootamatult.', 'pfunc_expr_unrecognised_word' => 'Avaldistõrge: Tundmatu sõna "$1"', 'pfunc_expr_unexpected_operator' => 'Avaldistõrge: Ootamatu $1-tehtemärk', 'pfunc_expr_missing_operand' => 'Avaldistõrge: Puudub $1-tehte operand', @@ -1135,6 +1147,7 @@ $messages['hsb'] = array( 'pfunc_time_error' => 'Zmylk: njepÅ‚aćiwe Äasowe podaće', 'pfunc_time_too_long' => 'Zmylk: pÅ™ewjele zawoÅ‚anjow #time', 'pfunc_time_too_big' => 'Zmylk: #time jenož lÄ›ta haÄ do 9999 podpÄ›ruje.', + 'pfunc_time_too_small' => 'Zmylk: #time jenož lÄ›ta wot 0 podpÄ›ruje.', 'pfunc_rel2abs_invalid_depth' => 'Zmylk: NjepÅ‚aćiwa hÅ‚ubokosć w pućiku: "$1" (Pospyt, zo by na suk wyÅ¡e hÅ‚owneho suka dohrabnyÅ‚o)', 'pfunc_expr_stack_exhausted' => 'Wurazowy zmylk: Staplowy skÅ‚ad wuÄerpany', 'pfunc_expr_unexpected_number' => 'Wurazowy zmylk: NjewoÄakowana liÄba', @@ -1187,6 +1200,7 @@ $messages['ia'] = array( 'pfunc_time_error' => 'Error: tempore invalide', 'pfunc_time_too_long' => 'Error: troppo de appellos a #time', 'pfunc_time_too_big' => 'Error: #time supporta solmente annos usque a 9999', + 'pfunc_time_too_small' => 'Error: #time supporta solmente annos desde 0.', 'pfunc_rel2abs_invalid_depth' => 'Error: Profunditate invalide in cammino: "$1" (essayava acceder a un nodo superior al radice)', 'pfunc_expr_stack_exhausted' => 'Error in expression: Pila exhaurite', 'pfunc_expr_unexpected_number' => 'Error in expression: Numero non expectate', @@ -1233,6 +1247,33 @@ $messages['id'] = array( 'pfunc_string_too_long' => 'Kesalahan: String melebihi limit $1 karakter', ); +/** Iloko (Ilokano) + * @author Lam-ang + */ +$messages['ilo'] = array( + 'pfunc_desc' => 'Napasayaat a parser nga adda kadagiti lohikal nga annong', + 'pfunc_time_error' => 'Biddut: Imbalido nga oras.', + 'pfunc_time_too_long' => 'Biddut: Adu unay dagiti panagtawag ti #time.', + 'pfunc_time_too_big' => 'Biddut: Ti #time ket suportaranna laeng dagiti tawen aginggana iti 9999.', + 'pfunc_time_too_small' => 'Biddut: ti #time ket suportaranna laeng dagiti tawen manipud ti 0.', + 'pfunc_rel2abs_invalid_depth' => 'Biddut: Imbalido a kauneg iti dalan: "$1" (nagpadas a nangserrek ti nodo iti ngato ti ramut a nodo).', + 'pfunc_expr_stack_exhausted' => 'Biddut a panangiyebkas: Naibusen ti tuon.', + 'pfunc_expr_unexpected_number' => 'Biddut a panangiyebkas:Di nanamnama a bilang.', + 'pfunc_expr_preg_match_failure' => 'Biddut a panangiyebkas: Di nanamnama a pannakapaay ti preg_match.', + 'pfunc_expr_unrecognised_word' => 'Biddut a panangiyebkas: Di mabigbigan a balikas ti "$1".', + 'pfunc_expr_unexpected_operator' => 'Biddut a panangiyebkas: Di nanamnama nga operator ti $1.', + 'pfunc_expr_missing_operand' => 'Biddut a panangiyebkas: Napukaw nga operand para iti $1.', + 'pfunc_expr_unexpected_closing_bracket' => 'Biddut a panangiyebkas: Di nanamnama a pangrikep a braket.', + 'pfunc_expr_unrecognised_punctuation' => 'Biddut a panangiyebkas: Di nanamnama a karakter ti tuldek ti "$1".', + 'pfunc_expr_unclosed_bracket' => 'Biddut a panangiyebkas: Di narikpan a braket.', + 'pfunc_expr_division_by_zero' => 'Panagbingbingay babaen ti sero.', + 'pfunc_expr_invalid_argument' => 'Imbalido nga argumento para iti $1: < -1 wenno > 1.', + 'pfunc_expr_invalid_argument_ln' => 'Imbalido nga argumento para iti ln: <= 0.', + 'pfunc_expr_unknown_error' => 'Biddut a panangiyebkas: Di ammo a biddut ($1).', + 'pfunc_expr_not_a_number' => 'Iti $1: Ti resulta ket saan a bilang.', + 'pfunc_string_too_long' => 'Biddut: Ti kuerdas ket nasurokanna ti limitado ti karakter iti $1.', +); + /** Ido (Ido) * @author Malafaya */ @@ -1241,6 +1282,28 @@ $messages['io'] = array( 'pfunc_expr_division_by_zero' => 'Divido per zero', ); +/** Icelandic (Ãslenska) + * @author Snævar + */ +$messages['is'] = array( + 'pfunc_time_error' => 'Villa: Ógildur tÃmi.', + 'pfunc_time_too_long' => 'Villa: Of mörg köll til #time.', + 'pfunc_time_too_big' => 'Villa: #time styður aðeins ár upp til 9999.', + 'pfunc_time_too_small' => 'Villa: #time styður aðeins ár frá 0.', + 'pfunc_expr_unexpected_number' => 'Villa à segð: Óvænt tala.', + 'pfunc_expr_unrecognised_word' => 'Villa à segð: Óþekkt orð „$1â€.', + 'pfunc_expr_unexpected_operator' => 'Villa à segð: Óvæntur $1 virki.', + 'pfunc_expr_missing_operand' => 'Villa à segð: Vantar þolanda fyrir $1.', + 'pfunc_expr_unrecognised_punctuation' => 'Villa à segð: Óþekkt greinarmerki „$1â€.', + 'pfunc_expr_unclosed_bracket' => 'Villa à segð: Ólokaður svigi.', + 'pfunc_expr_division_by_zero' => 'Deiling með núlli.', + 'pfunc_expr_invalid_argument' => 'Ógilt frumgildi fyrir $1: < -1 eða > 1.', + 'pfunc_expr_invalid_argument_ln' => 'Ógilt frumgildi fyrir ln: <= 0.', + 'pfunc_expr_unknown_error' => 'Villa à segð: Óþekkt villa ($1).', + 'pfunc_expr_not_a_number' => 'Niðurstaðan úr $1 er ekki tala.', + 'pfunc_string_too_long' => 'Villa: Strengurinn er lengri en hámarkslengdin $1 segir til um.', +); + /** Italian (italiano) * @author Beta16 * @author BrokenArrow @@ -1494,6 +1557,7 @@ $messages['lb'] = array( 'pfunc_time_error' => 'Feeler: ongëlteg Zäit', 'pfunc_time_too_long' => 'Feeler: ze dacks #time opgeruff', 'pfunc_time_too_big' => 'Feeler: #time ënnerstëtzt nëmme Jore bis 9999', + 'pfunc_time_too_small' => 'Feeler: #time ënnerstëtzt nëmme Jore vun 0 un.', 'pfunc_expr_stack_exhausted' => 'Expressiouns-Feeler: Stack iwwergelaf', 'pfunc_expr_unexpected_number' => 'Expressiouns-Feeler: Onerwarten Zuel', 'pfunc_expr_unrecognised_word' => 'Expressiouns-Feeler: Onerkantent Wuert "$1"', @@ -1536,6 +1600,13 @@ $messages['li'] = array( 'pfunc_string_too_long' => 'Fout: De teks is lenger es de limiet van $1 {{PLURAL:$1|teike|teikes}}', ); +/** لوری (لوری) + * @author Bonevarluri + */ +$messages['lrc'] = array( + 'pfunc_time_error' => 'خطا:وخت نامعتور.', +); + /** Lithuanian (lietuvių) * @author Hugo.arg */ @@ -1564,7 +1635,7 @@ $messages['min'] = array( * @author Brest */ $messages['mk'] = array( - 'pfunc_desc' => 'Проширување на можноÑтите на парÑерот Ñо логички функции', + 'pfunc_desc' => 'Проширување на можноÑтите на раÑчленувачот Ñо логички функции', 'pfunc_time_error' => 'Грешка: погрешен формат за време', 'pfunc_time_too_long' => 'Грешка: премногу повикувања на функцијата #time', 'pfunc_time_too_big' => 'Грешка: #time поддржува Ñамо години до 9999', @@ -1763,7 +1834,7 @@ $messages['nl'] = array( 'pfunc_expr_preg_match_failure' => 'Fout in uitdrukking: onverwacht falen van preg_match.', 'pfunc_expr_unrecognised_word' => 'Fout in uitdrukking: woord "$1" niet herkend.', 'pfunc_expr_unexpected_operator' => 'Fout in uitdrukking: niet verwachte operator $1.', - 'pfunc_expr_missing_operand' => 'Fout in uitdrukking: operand voor $1 mist.', + 'pfunc_expr_missing_operand' => 'Fout in uitdrukking: operand voor $1 ontbreekt.', 'pfunc_expr_unexpected_closing_bracket' => 'Fout in uitdrukking: haakje sluiten op onverwachte plaats.', 'pfunc_expr_unrecognised_punctuation' => 'Fout in uitdrukking: niet herkend leesteken "$1".', 'pfunc_expr_unclosed_bracket' => 'Fout in uitdrukking: niet gesloten haakje openen.', @@ -1898,6 +1969,7 @@ $messages['pms'] = array( 'pfunc_time_error' => 'Eror: temp nen bon', 'pfunc_time_too_long' => 'Eror: #time a ven ciamà tròpe vire', 'pfunc_time_too_big' => "Eror: #time a përmët mach j'agn fin al 9999.", + 'pfunc_time_too_small' => "Eror: #time a përmet j'agn mach da 0.", 'pfunc_rel2abs_invalid_depth' => 'Eror: profondità nen bon-a ant ël përcors: "$1" (a l\'é provasse a ciamé un grop dzora a la rèis)', 'pfunc_expr_stack_exhausted' => "Eror ëd l'espression: stach esaurìa", 'pfunc_expr_unexpected_number' => "Eror ëd l'espression: nùmer pa spetà ", @@ -1941,7 +2013,8 @@ $messages['pt'] = array( 'pfunc_desc' => 'Melhora o analisador sintático com funções lógicas', 'pfunc_time_error' => 'Erro: tempo inválido', 'pfunc_time_too_long' => 'Erro: demasiadas chamadas a #time', - 'pfunc_time_too_big' => 'Erro: #time só lida com anos até 9999', + 'pfunc_time_too_big' => 'Erro: #time só permite anos até 9999', + 'pfunc_time_too_small' => 'Erro: #time só permite anos a partir de 0.', 'pfunc_rel2abs_invalid_depth' => 'Erro: Profundidade inválida no caminho: "$1" (foi tentado o acesso a um nó acima do nó raiz)', 'pfunc_expr_stack_exhausted' => 'Erro de expressão: Pilha esgotada', 'pfunc_expr_unexpected_number' => 'Erro de expressão: Número inesperado', @@ -2176,6 +2249,15 @@ $messages['scn'] = array( 'pfunc_string_too_long' => 'Erruri: la stringa supira lu limiti di $1 carattiri', ); +/** Serbo-Croatian (srpskohrvatski / ÑрпÑкохрватÑки) + * @author Kolega2357 + */ +$messages['sh'] = array( + 'pfunc_time_error' => 'GreÅ¡ka: pogreÅ¡no vreme', + 'pfunc_time_too_long' => 'GreÅ¡ka: previÅ¡e pozivanja funkcije #time', + 'pfunc_rel2abs_invalid_depth' => 'GreÅ¡ka: Nepravilna dubina u putanji: "$1"', +); + /** Sinhala (සිංහල) * @author Budhajeewa * @author නන්දිමිà¶à·”රු @@ -2379,6 +2461,7 @@ $messages['sv'] = array( 'pfunc_time_error' => 'Fel: ogiltig tid', 'pfunc_time_too_long' => 'Fel: för mÃ¥nga anrop av #time', 'pfunc_time_too_big' => 'Fel: # tid stöder endast Ã¥r fram till 9999', + 'pfunc_time_too_small' => 'Fel: #tid stödjer enbart Ã¥r frÃ¥n 0.', 'pfunc_rel2abs_invalid_depth' => 'Fel: felaktig djup i sökväg: "$1" (försöker nÃ¥ en nod ovanför rotnoden)', 'pfunc_expr_stack_exhausted' => 'Fel i uttryck: Stackutrymmet tog slut', 'pfunc_expr_unexpected_number' => 'Fel i uttryck: Oväntat tal', diff --git a/extensions/ParserFunctions/ParserFunctions.php b/extensions/ParserFunctions/ParserFunctions.php index 4ef62047..99c8444c 100644 --- a/extensions/ParserFunctions/ParserFunctions.php +++ b/extensions/ParserFunctions/ParserFunctions.php @@ -25,10 +25,20 @@ $wgPFStringLengthLimit = 1000; * * WARNING: enabling this may have an adverse impact on the sanity of your users. * An alternative, saner solution for embedding complex text processing in - * MediaWiki templates can be found at: http://www.mediawiki.org/wiki/Extension:Lua + * MediaWiki templates can be found at: http://www.mediawiki.org/wiki/Extension:Scribunto */ $wgPFEnableStringFunctions = false; +/** + * Enable string functions, when running Wikimedia Jenkins unit tests. + * + * Running Jenkins unit tests without setting $wgPFEnableStringFunctions = true; + * will cause all the parser tests for string functions to be skipped. + */ +if ( isset( $wgWikimediaJenkinsCI ) && ( $wgWikimediaJenkinsCI === true ) ) { + $wgPFEnableStringFunctions = true ; +} + /** REGISTRATION */ $wgExtensionCredits['parserhook'][] = array( 'path' => __FILE__, diff --git a/extensions/ParserFunctions/ParserFunctions_body.php b/extensions/ParserFunctions/ParserFunctions_body.php index 3567cc58..e4ede065 100644 --- a/extensions/ParserFunctions/ParserFunctions_body.php +++ b/extensions/ParserFunctions/ParserFunctions_body.php @@ -669,7 +669,7 @@ class ExtParserFunctions { } if ( intval( $inLength ) == 0 ) { - $result = mb_substr( $inStr, $inStart ); + $result = mb_substr( $inStr, intval( $inStart ) ); } else { $result = mb_substr( $inStr, intval( $inStart ), intval( $inLength ) ); } diff --git a/extensions/PdfHandler/COPYING b/extensions/PdfHandler/COPYING new file mode 100644 index 00000000..d159169d --- /dev/null +++ b/extensions/PdfHandler/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + 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. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/extensions/PdfHandler/PdfHandler.i18n.php b/extensions/PdfHandler/PdfHandler.i18n.php index 06143e7b..213f4462 100644 --- a/extensions/PdfHandler/PdfHandler.i18n.php +++ b/extensions/PdfHandler/PdfHandler.i18n.php @@ -226,7 +226,7 @@ $messages['ckb'] = array( 'exif-pdf-pagesize' => 'قەبارەی Ù¾Û•Ú•Û•', ); -/** Czech (Äesky) +/** Czech (ÄeÅ¡tina) * @author MatÄ›j Grabovský * @author Mormegil */ @@ -542,6 +542,10 @@ $messages['ia'] = array( 'pdf-desc' => 'Gestor pro visualisar files PDF in modo de imagine', 'pdf_no_metadata' => 'Non pote obtener metadatos ab PDF', 'pdf_page_error' => 'Numero de pagina foras del intervallo', + 'exif-pdf-producer' => 'Programma de conversion', + 'exif-pdf-version' => 'Version del formato PDF', + 'exif-pdf-encrypted' => 'Cryptate', + 'exif-pdf-pagesize' => 'Dimension del pagina', ); /** Indonesian (Bahasa Indonesia) @@ -672,6 +676,7 @@ $messages['lb'] = array( 'pdf-desc' => '"Programm" den et erméiglecht PDF-Fichieren als Bild ze kucken', 'pdf_no_metadata' => 'Meta-Informatiounen aus dem PDF Dokument kënnen net gelies ginn', 'pdf_page_error' => "D'Säitenzuel ass net an dem Beräich.", + 'exif-pdf-producer' => 'Ëmwandlungsprogramm', 'exif-pdf-version' => 'Versioun vum PDF-Format', 'exif-pdf-encrypted' => 'Verschlësselt', 'exif-pdf-pagesize' => 'Gréisst vun der Säit', @@ -686,6 +691,13 @@ $messages['li'] = array( 'pdf_page_error' => 'paginanómmer besteit neet', ); +/** لوری (لوری) + * @author Mogoeilor + */ +$messages['lrc'] = array( + 'exif-pdf-pagesize' => 'انازه بلگه', +); + /** Lithuanian (lietuvių) * @author Matasg */ @@ -726,11 +738,12 @@ $messages['ml'] = array( /** Marathi (मराठी) * @author Kaustubh * @author Sankalpdravid + * @author V.narsikar */ $messages['mr'] = array( 'pdf-desc' => 'चितà¥à¤° मोडमधà¥à¤¯à¥‡ पीडीà¤à¤« संचिका पाहणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी आवशà¥à¤¯à¤• पà¥à¤°à¤£à¤¾à¤²à¥€', 'pdf_no_metadata' => 'पीडीà¤à¤«à¤®à¤§à¥‚न मेटाडाटा घेऊ शकत नाही', - 'pdf_page_error' => 'पान कà¥à¤°à¤®à¤¾à¤‚क सीमेमधà¥à¤¯à¥‡ नाही', + 'pdf_page_error' => 'पान कà¥à¤°à¤®à¤¾à¤‚क आवाकà¥à¤¯à¤¾à¤¤ नाही', ); /** Malay (Bahasa Melayu) diff --git a/extensions/PdfHandler/PdfHandler_body.php b/extensions/PdfHandler/PdfHandler_body.php index d9ed4884..495f3bb8 100644 --- a/extensions/PdfHandler/PdfHandler_body.php +++ b/extensions/PdfHandler/PdfHandler_body.php @@ -188,12 +188,12 @@ class PdfHandler extends ImageHandler { "-", $dstPath ); - $cmd .= ") 2>&1"; + $cmd .= ")"; wfProfileIn( 'PdfHandler' ); wfDebug( __METHOD__ . ": $cmd\n" ); $retval = ''; - $err = wfShellExec( $cmd, $retval ); + $err = wfShellExecWithStderr( $cmd, $retval ); wfProfileOut( 'PdfHandler' ); $removed = $this->removeBadFile( $dstPath, $retval ); diff --git a/extensions/Poem/Poem.i18n.php b/extensions/Poem/Poem.i18n.php index c58ce78d..29740252 100644 --- a/extensions/Poem/Poem.i18n.php +++ b/extensions/Poem/Poem.i18n.php @@ -124,6 +124,13 @@ $messages['ca'] = array( 'poem-desc' => "Afegeix l'etiqueta <code><poem></code> per al formatatge de poemes", ); +/** Chechen (нохчийн) + * @author Умар + */ +$messages['ce'] = array( + 'poem-desc' => 'ТӀетуху тег <code><poem></code> дешнаш дӀадаха', +); + /** Sorani Kurdish (کوردی) * @author Asoxor */ @@ -131,7 +138,7 @@ $messages['ckb'] = array( 'poem-desc' => 'تاگی <code><poem></code> زێدەدەکات بۆ ڕێکخستنی ھۆنراوەکان', ); -/** Czech (Äesky) +/** Czech (ÄeÅ¡tina) * @author MatÄ›j Grabovský */ $messages['cs'] = array( @@ -147,6 +154,7 @@ $messages['da'] = array( /** German (Deutsch) * @author Kghbln + * @author Purodha * @author Raimond Spekking */ $messages['de'] = array( @@ -310,7 +318,7 @@ $messages['id'] = array( * @author Lam-ang */ $messages['ilo'] = array( - 'poem-desc' => 'Ikkan na iti<code><poem></code> nga tag para ti pagporma ti daniw', + 'poem-desc' => 'Agnayon ti etiketa ti <code><poem></code> para iti panagporma ti daniw', ); /** Italian (italiano) @@ -558,6 +566,13 @@ $messages['scn'] = array( 'poem-desc' => 'Iunci lu tag <code><poem></code> pi la furmattazioni di li testa puetici', ); +/** Scots (Scots) + * @author John Reid + */ +$messages['sco'] = array( + 'poem-desc' => 'Adds <code><poem></code> tag fr poem formattin', +); + /** Slovak (slovenÄina) * @author Helix84 */ diff --git a/extensions/Renameuser/COPYING b/extensions/Renameuser/COPYING new file mode 100644 index 00000000..d159169d --- /dev/null +++ b/extensions/Renameuser/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + 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. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/extensions/Renameuser/README b/extensions/Renameuser/README index e44aaafe..a344ebf6 100644 --- a/extensions/Renameuser/README +++ b/extensions/Renameuser/README @@ -1,4 +1,4 @@ -These is the readme file for the MediaWiki Renameuser extension. +This is the readme file for the MediaWiki Renameuser extension. Extension page on mediawiki.org: https://www.mediawiki.org/wiki/Extension:Renameuser Latest version of the readme file: https://gerrit.wikimedia.org/r/gitweb?p=mediawiki/extensions/Renameuser.git;a=blob;f=README diff --git a/extensions/Renameuser/Renameuser.alias.php b/extensions/Renameuser/Renameuser.alias.php index 0523c045..13997709 100644 --- a/extensions/Renameuser/Renameuser.alias.php +++ b/extensions/Renameuser/Renameuser.alias.php @@ -64,7 +64,7 @@ $specialPageAliases['ce'] = array( 'Renameuser' => array( 'Декъашхочун_цӀе_хийца' ), ); -/** Czech (Äesky) */ +/** Czech (ÄeÅ¡tina) */ $specialPageAliases['cs'] = array( 'Renameuser' => array( 'PÅ™ejmenovat_uživatele' ), ); @@ -131,7 +131,7 @@ $specialPageAliases['frp'] = array( /** Galician (galego) */ $specialPageAliases['gl'] = array( - 'Renameuser' => array( 'Renomear_o_usuario' ), + 'Renameuser' => array( 'Renomear_o_usuario', 'Renomear_usuario', 'Renomear_a_usuaria', 'Renomear_usuaria' ), ); /** Swiss German (Alemannisch) */ diff --git a/extensions/Renameuser/Renameuser.hooks.php b/extensions/Renameuser/Renameuser.hooks.php index 41dcc43e..e5271735 100644 --- a/extensions/Renameuser/Renameuser.hooks.php +++ b/extensions/Renameuser/Renameuser.hooks.php @@ -9,14 +9,14 @@ class RenameuserHooks { * @return bool */ public static function onShowMissingArticle( $article ) { - global $wgOut; $title = $article->getTitle(); $oldUser = User::newFromName( $title->getBaseText() ); if ( ($title->getNamespace() == NS_USER || $title->getNamespace() == NS_USER_TALK ) && ($oldUser && $oldUser->isAnon() )) { // Get the title for the base userpage $page = Title::makeTitle( NS_USER, str_replace( ' ', '_', $title->getBaseText() ) )->getPrefixedDBkey(); + $out = $article->getContext()->getOutput(); LogEventsList::showLogExtract( - $wgOut, + $out, 'renameuser', $page, '', @@ -53,4 +53,14 @@ class RenameuserHooks { } return true; } + + /** + * So users can just type in a username for target and it'll work + * @param array $types + * @return bool + */ + public static function onGetLogTypesOnUser( array &$types ) { + $types[] = 'renameuser'; + return true; + } } diff --git a/extensions/Renameuser/Renameuser.i18n.php b/extensions/Renameuser/Renameuser.i18n.php index c1411037..3cf2cfa7 100644 --- a/extensions/Renameuser/Renameuser.i18n.php +++ b/extensions/Renameuser/Renameuser.i18n.php @@ -328,7 +328,7 @@ $messages['as'] = array( 'renameuser' => 'বà§à¦¯à§±à¦¹à¦¾à§°à¦•à¦¾à§°à§€à§° নাম সলাওক', 'renameuser-linkoncontribs' => 'বà§à¦¯à§±à¦¹à¦¾à§°à§€à§° নাম সলাওক', 'renameuser-linkoncontribs-text' => 'à¦à¦‡ বà§à¦¯à§±à¦¹à¦¾à§°à¦•à¦¾à§°à§€à§° পà§à¦¨à§°à§à¦¨à¦¾à¦®à¦¾à¦•à§°à¦£ কৰক', - 'renameuser-desc' => "à¦à¦œà¦¨ বà§à¦¯à§±à¦¹à¦¾à§°à¦•à¦¾à§°à§€à§° পà§à¦¨à§°à§à¦¨à¦¾à¦®à¦¾à¦•à§°à¦£ কৰিবলৈ à¦à¦–ন [[Special:Renameuser|বিশেষ পৃষà§à¦ া]] যোগ দিয়ে (''renameuser'' অধিকাৰৰ পà§à§°à¦¯à¦¼à§‹à¦œà¦¨)", + 'renameuser-desc' => "à¦à¦œà¦¨ বà§à¦¯à§±à¦¹à¦¾à§°à¦•à¦¾à§°à§€à§° পà§à¦¨à§°à§à¦¨à¦¾à¦®à¦¾à¦•à§°à¦£ কৰিবলৈ à¦à¦Ÿà¦¾ [[Special:Renameuser|বিশেষ পৃষà§à¦ া]] যোগ দিয়ে (''renameuser'' অধিকাৰৰ পà§à§°à¦¯à¦¼à§‹à¦œà¦¨)", 'renameuserold' => 'বৰà§à¦¤à¦®à¦¾à¦¨à§° সদসà§à¦¯à¦¨à¦¾à¦®:', 'renameusernew' => 'নতà§à¦¨ সদসà§à¦¯à¦¨à¦¾à¦®:', 'renameuserreason' => 'কাৰণ:', @@ -346,9 +346,9 @@ $messages['as'] = array( অনà§à¦—à§à§°à¦¹ কৰি ঘূৰি গৈ পà§à¦¨à§° চেষà§à¦Ÿà¦¾ কৰক।', 'renameuser-error-same-user' => 'আপà§à¦¨à¦¿ à¦à¦œà¦¨ সদসà§à¦¯à¦• আগৰ নামটোলৈকে নামানà§à¦¤à§° কৰিব নোৱাৰে।', 'renameusersuccess' => '"<nowiki>$1</nowiki>" সদসà§à¦¯à¦œà¦¨à¦• "<nowiki>$2</nowiki>"লৈ নামানà§à¦¤à§°à¦¿à¦¤ কৰা হৈছে।', - 'renameuser-page-exists' => '$1 পৃষà§à¦ াখন ইতিমধà§à¦¯à§‡à¦‡ আছে আৰৠতাৰ ওপৰত সà§à¦¬à¦¯à¦¼à¦‚কà§à§°à¦¿à¦¯à¦¼à¦à¦¾à§±à§‡ লিখিব নোৱাৰি।', - 'renameuser-page-moved' => "$1 পৃষà§à¦ াখন $2-লৈ সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à§° কৰা হ'ল।", - 'renameuser-page-unmoved' => '$1 পৃষà§à¦ াখন $2-লৈ সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à§° কৰা সমà§à¦à§± নহয়।', + 'renameuser-page-exists' => '$1 পৃষà§à¦ াটো ইতিমধà§à¦¯à§‡à¦‡ আছে আৰৠতাৰ ওপৰত সà§à¦¬à¦¯à¦¼à¦‚কà§à§°à¦¿à¦¯à¦¼à¦à¦¾à§±à§‡ লিখিব নোৱাৰি।', + 'renameuser-page-moved' => "$1 পৃষà§à¦ াটো $2-লৈ সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à§° কৰা হ'ল।", + 'renameuser-page-unmoved' => '$1 পৃষà§à¦ াটো $2-লৈ সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à§° কৰা সমà§à¦à§± নহয়।', 'log-name-renameuser' => 'সদসà§à¦¯à§° পà§à¦¨à§°à§à¦¨à¦¾à¦®à¦¾à¦•à§°à¦£ অà¦à¦¿à¦²à§‡à¦–', 'log-description-renameuser' => 'সদসà§à¦¯à¦¨à¦¾à¦® পৰিৱৰà§à¦¤à¦¨à§° অà¦à¦¿à¦²à§‡à¦–', 'logentry-renameuser-renameuser-legacier' => 'সদসà§à¦¯ $4ৰ পৰা $5লৈ, $1’য়ে পà§à¦¨à§° নামাকৰণ কৰিলে', @@ -790,12 +790,15 @@ A continuació es proporciona el registre de reanomenaments per a més informaci $messages['ce'] = array( 'renameuser' => 'Декъашхочун цӀе хийца', 'renameuser-linkoncontribs' => 'декъашхочун цӀе хийца', + 'renameuser-desc' => 'ТӀетуху декъашхойн цӀераш хийца [[Special:Renameuser|аьтту]] (оьшу бакъо <code>renameuser</code>)', 'renameuserreason' => 'Бахьан:', 'renameusersubmit' => 'Кхочушдé', 'renameuser-page-exists' => 'ÐгÓо $1 йолуш ÑŽ цундела и ша юху дÓаÑзъÑн йиш Ñц.', - 'renameuser-page-moved' => 'ÐгӀона $1 цӀе хийцина оцу $2.', + 'renameuser-page-moved' => 'ÐгӀона $1 цӀе хийцина → $2.', 'log-name-renameuser' => 'Декъашхойн цӀераш хийцар долу тептар', - 'renameuser-move-log' => 'ÐвтоматичеÑки декъашхочун цӀе хийцина дела «[[User:$1|$1]]» оцу «[[User:$2|$2]]»', + 'log-description-renameuser' => 'ХӀокху тептар чохь гойту дӀабазбелла декъашхойн цӀераш хийцар.', + 'logentry-renameuser-renameuser-legacier' => '$1 $4 декъашхочун цӀе хийцина → $5', + 'renameuser-move-log' => 'ÐвтоматичеÑки декъашхочун цӀе хийцина дела «[[User:$1|$1]]» → «[[User:$2|$2]]»', 'action-renameuser' => 'декъашхойн цӀераш хийцар', 'right-renameuser' => 'декъашхойн цӀераш хийцар', ); @@ -824,7 +827,7 @@ $messages['crh-latn'] = array( 'log-name-renameuser' => 'Qullanıcı adı deñiÅŸikligi jurnalı', ); -/** Czech (Äesky) +/** Czech (ÄeÅ¡tina) * @author Danny B. * @author Li-sung * @author Martin Kozák @@ -866,7 +869,7 @@ $messages['cs'] = array( Pro pÅ™ehled je nÞe zobrazen výpis z knihy pÅ™ejmenovánà uživatelů.', ); -/** Church Slavic (ÑловѣÌньÑкъ / ⰔⰎⰑⰂⰡâ°â° â°”â°â°Ÿ) +/** Church Slavic (ÑловѣньÑкъ / ⰔⰎⰑⰂⰡâ°â° â°”â°â°Ÿ) * @author Svetko * @author ОйЛ */ @@ -978,6 +981,7 @@ Til information er omdøbningsloggen vist nedenfor.', /** German (Deutsch) * @author Kghbln * @author Metalhead64 + * @author Purodha * @author Raimond Spekking * @author Spacebirdy * @author The Evil IP address @@ -1022,6 +1026,7 @@ Zur Information folgt das Benutzernamenänderungs-Logbuch.', /** Zazaki (Zazaki) * @author Aspar * @author Erdemaslancan + * @author Gorizon * @author Mirzali * @author Xoser */ @@ -1036,7 +1041,7 @@ $messages['diq'] = array( 'renameusermove' => 'nameyê karberan u pelê werêaameyiÅŸan bıkırışi nameyo newe', 'renameusersuppress' => 'Name de newi re hetenayışo newe vıraÅŸtış', 'renameuserreserve' => 'nameyê karberi yo verini bloke bıker.', - 'renameuserwarnings' => 'hiÅŸyariyi', + 'renameuserwarnings' => 'Ä°ÄŸtari:', 'renameuserconfirm' => 'bele karberi newe ra name bıker', 'renameusersubmit' => 'bierÅŸawê/biruÅŸnê', 'renameuser-submit-blocklog' => 'Rocekanê bloqandê karbari bıvin', @@ -1722,6 +1727,7 @@ $messages['gu'] = array( /** Hebrew (עברית) * @author Amire80 + * @author Guycn2 * @author Ofekalef * @author Rotem Liss * @author Rotemliss @@ -1747,7 +1753,7 @@ $messages['he'] = array( 'renameusererrorexists' => 'המשתמש "<nowiki>$1</nowiki>" כבר קיי×.', 'renameusererrorinvalid' => '×©× ×”×ž×©×ª×ž×© "<nowiki>$1</nowiki>" ××™× ×• תקין.', 'renameuser-error-request' => 'הייתה בעיה בקבלת הבקשה. ×× × ×—×–×¨×• לדף ×”×§×•×“× ×•× ×¡×• ×©× ×™×ª.', - 'renameuser-error-same-user' => '××™× ×›× ×™×›×•×œ×™× ×œ×©× ×•×ª ×ת ×©× ×”×ž×©×ª×ž×© ×œ×©× ×–×”×” לשמו הישן.', + 'renameuser-error-same-user' => '×œ× × ×™×ª×Ÿ ×œ×©× ×•×ª ×ת ×©× ×”×ž×©×ª×ž×© ×œ×©× ×–×”×” לשמו הישן.', 'renameusersuccess' => '×©× ×”×ž×©×ª×ž×© של "<nowiki>$1</nowiki>" ×©×•× ×” ל"<nowiki>$2</nowiki>".', 'renameuser-page-exists' => 'הדף $1 כבר ×§×™×™× ×•×œ× × ×™×ª×Ÿ לדרוס ×ותו ×וטומטית.', 'renameuser-page-moved' => 'הדף $1 הועבר ×œ×©× $2.', @@ -1758,7 +1764,7 @@ $messages['he'] = array( 'logentry-renameuser-renameuser-legacier' => '$1 {{GENDER:$2|×©×™× ×”|×©×™× ×ª×”}} ×ת ×©× ×”×ž×©×ª×ž×© $4 ל{{GRAMMAR:תחילית|$5}}', 'renameuser-move-log' => 'העברה ×וטומטית בעקבות ×©×™× ×•×™ ×©× ×”×ž×©×ª×ž×© "[[User:$1|$1]]" ל־"[[User:$2|$2]]"', 'action-renameuser' => '×œ×©× ×•×ª שמות משתמש', - 'right-renameuser' => '×©×™× ×•×™ שמות משתמש', + 'right-renameuser' => '×©×™× ×•×™ שמות משתמשי×', 'renameuser-renamed-notice' => '×©× ×”×ž×©×ª×ž×© ×”×–×” ×©×•× ×”. יומן ×©×™× ×•×™×™ שמות המשתמש מוצג להלן.', ); @@ -1981,6 +1987,9 @@ Per favor retorna e reproba.', 'renameuser-page-moved' => 'Le pagina $1 ha essite renominate a $2.', 'renameuser-page-unmoved' => 'Le pagina $1 non poteva esser renominate a $2.', 'log-name-renameuser' => 'Registro de renominationes de usatores', + 'log-description-renameuser' => 'Isto es un registro de cambiamentos de nomines de usator.', + 'logentry-renameuser-renameuser' => '$1 {{GENDER:$2|renominava}} le usator $4 ({{PLURAL:$6|$6 modification|$6 modificationes}}) a $5', + 'logentry-renameuser-renameuser-legacier' => '$1 renominava le usator $4 a $5', 'renameuser-move-log' => 'Le pagina ha essite automaticamente renominate con le renomination del usator "[[User:$1|$1]]" a "[[User:$2|$2]]"', 'action-renameuser' => 'renominar usatores', 'right-renameuser' => 'Renominar usatores', @@ -2504,7 +2513,7 @@ $messages['ksh'] = array( 'renameusernew' => 'Dä neue Metmaacher-Name', 'renameuserreason' => 'Jrund för et Ömdäufe:', # Fuzzy 'renameusermove' => 'De Metmaachersigg met Klaaf- un Ungersigge op dä neue Metmaacher-Name ömstelle', - 'renameusersuppress' => 'Donn kein Ömleidung op dä neue Name aanlääje', + 'renameusersuppress' => 'Donn kein Ömleidong op dä neue Name aanlääje', 'renameuserreserve' => 'Donn dä Name fun dämm Metmaacher dobei sperre, dat_e nit norrens neu aanjemelldt weed.', 'renameuserwarnings' => 'Warnunge:', 'renameuserconfirm' => 'Jo, dunn dä Metmaacher ömbenenne un em singe Name ändere', @@ -2602,6 +2611,16 @@ $messages['la'] = array( Commodule notatio renominationum usoris subter datur.', ); +/** Ladino (Ladino) + * @author Menachem.Moreira + * @author Universal Life + */ +$messages['lad'] = array( + 'renameusernew' => 'Nombre de kullaneador muevo:', + 'renameuserreason' => 'Razon:', + 'renameuserwarnings' => 'Avisos:', +); + /** Luxembourgish (Lëtzebuergesch) * @author Les Meloures * @author Robby @@ -2681,6 +2700,22 @@ $messages['li'] = array( Relevante regels oet 't logbook staon hieónger.", ); +/** لوری (لوری) + * @author Bonevarluri + * @author Mogoeilor + */ +$messages['lrc'] = array( + 'renameusernew' => 'نوم کاروری تازه:', + 'renameuserreason' => 'دلیل:', + 'renameuser-submit-blocklog' => 'قل٠پهرستنومه سی کارور نشو بیه', + 'renameuser-page-moved' => 'بلگه $1 د $2 جا وه جا بیه', + 'renameuser-page-unmoved' => 'نبوئه بلگه $1 د $2 جا وه جا بوئه', + 'log-name-renameuser' => 'پهرستنومه دواره نوم دئن د کارور', + 'log-description-renameuser' => 'یه پهرستنومه آلشت دئن نوم کاروریا هئ.', + 'renameuser-renamed-notice' => 'ای کارور یه Ú¯Ù„ نوم هنی وش دئه بیه. +پهرستنومه نوم هنی دئن وا سرچشمه زیر دروس بیه.', +); + /** Lithuanian (lietuvių) * @author Eitvys200 * @author Homo @@ -2820,7 +2855,7 @@ $messages['ml'] = array( 'renameuserold' => 'ഇപàµà´ªàµ‹à´´à´¤àµà´¤àµ† ഉപയോകàµà´¤àµƒà´¨à´¾à´®à´‚:', 'renameusernew' => 'à´ªàµà´¤à´¿à´¯ ഉപയോകàµà´¤àµƒà´¨à´¾à´®à´‚:', 'renameuserreason' => 'കാരണം:', - 'renameusermove' => 'നിലവിലàµà´³àµà´³ ഉപയോകàµà´¤àµƒà´¤à´¾à´³àµà´‚, ഉപയോകàµà´¤à´¾à´µà´¿à´¨àµà´±àµ† സം‌വാദം താളàµà´‚ (ഉപതാളàµà´•àµ¾ à´…à´Ÿà´•àµà´•à´‚) à´ªàµà´¤à´¿à´¯ നാമതàµà´¤à´¿à´²àµ‡à´•àµà´•àµ മാറàµà´±àµà´•.', + 'renameusermove' => 'നിലവിലàµà´³àµà´³ ഉപയോകàµà´¤àµƒà´¤à´¾à´³àµà´‚, ഉപയോകàµà´¤à´¾à´µà´¿à´¨àµà´±àµ† സം‌വാദതàµà´¤à´¾à´³àµà´‚ (ഉപതാളàµà´•àµ¾ à´…à´Ÿà´•àµà´•à´‚) à´ªàµà´¤à´¿à´¯ നാമതàµà´¤à´¿à´²àµ‡à´•àµà´•àµ മാറàµà´±àµà´•.', 'renameusersuppress' => 'à´ªàµà´¤à´¿à´¯ നാമതàµà´¤à´¿à´²àµ‡à´¯àµà´•àµà´•àµ തിരിചàµà´šàµà´µà´¿à´Ÿà´²àµà´•à´³àµŠà´¨àµà´¨àµà´‚ സൃഷàµà´Ÿà´¿à´•àµà´•à´°àµà´¤àµ', 'renameuserreserve' => 'പഴയ ഉപയോകàµà´¤àµƒà´¨à´¾à´®à´‚ à´à´¾à´µà´¿à´¯à´¿àµ½ ഉപയോഗികàµà´•àµà´¨àµà´¨à´¤àµ തടയàµà´•', 'renameuserwarnings' => 'à´®àµà´¨àµà´¨à´±à´¿à´¯à´¿à´ªàµà´ªàµà´•àµ¾:', @@ -2873,7 +2908,7 @@ $messages['mr'] = array( 'renameuserreserve' => 'जà¥à¤¨à¥‡ सदसà¥à¤¯ खाते पà¥à¤¢à¥€à¤² वापरासाठी अवरà¥à¤¦à¥à¤§ करा', 'renameuserwarnings' => 'ताकीद:', 'renameuserconfirm' => 'होय, सदसà¥à¤¯à¤¾à¤šà¥‡ नाव बदला', - 'renameusersubmit' => 'पाठवा', + 'renameusersubmit' => 'सादर करा', 'renameusererrordoesnotexist' => '"<nowiki>$1</nowiki>" नावाचा सदसà¥à¤¯ असà¥à¤¤à¤¿à¤¤à¥à¤µà¤¾à¤¤ नाही.', 'renameusererrorexists' => '"<nowiki>$1</nowiki>" नावाचा सदसà¥à¤¯ अगोदरच असà¥à¤¤à¤¿à¤¤à¥à¤µà¤¾à¤¤ आहे', 'renameusererrorinvalid' => '"<nowiki>$1</nowiki>" हे नाव चà¥à¤•à¥€à¤šà¥‡ आहे.', @@ -3459,9 +3494,12 @@ $messages['ps'] = array( 'renameuserold' => 'اوسنی کارن-نوم:', 'renameusernew' => 'نوی کارن-نوم:', 'renameuserreason' => 'سبب:', + 'renameusermove' => 'د کارن او د خبرو اترو مخونه (او د هغوی Ú…Ûرمه مخونه) نوي نوم ته ورلÛږدول', + 'renameusersuppress' => 'نوي نوم ته مخ گرÚونی مه جوړوه', 'renameuserwarnings' => 'ګواښنÛ:', 'renameuserconfirm' => 'هو، کارن-نوم بدلوم', 'renameusersubmit' => 'سپارل', + 'renameuser-submit-blocklog' => 'د کارن بنديز يادښت ښکاره کول', 'renameusererrordoesnotexist' => 'د "<nowiki>$1</nowiki>" په نامه کوم کارن نه شته.', 'renameusererrorexists' => 'د "<nowiki>$1</nowiki>" په نامه يو کارن له پخوا نه شته.', 'renameusererrorinvalid' => 'د "<nowiki>$1</nowiki>" کارن نوم سم نه دی.', @@ -3593,6 +3631,13 @@ $messages['qu'] = array( Kay qatiqpiqa hukchay hallch'atam rikunki.", ); +/** Romansh (rumantsch) + * @author Kazu89 + */ +$messages['rm'] = array( + 'log-name-renameuser' => "Protocol da midadas da num d'utilisader", +); + /** Romani (Romani) * @author Desiphral */ @@ -3684,6 +3729,7 @@ L'archivije de le renomenaziune 'u iacchie aqquà sotte cumme referimende.", /** Russian (руÑÑкий) * @author Ahonc + * @author Amire80 * @author Anonim.one * @author DCamer * @author DR @@ -3719,7 +3765,7 @@ $messages['ru'] = array( 'renameuser-page-unmoved' => 'Страница $1 не может быть переименована в $2.', 'log-name-renameuser' => 'Журнал переименований учаÑтников', 'log-description-renameuser' => 'Ðто журнал произведённых переименований зарегиÑтрированных учаÑтников.', - 'logentry-renameuser-renameuser' => '$1 {{GENDER:$2|переименовал}} учаÑтника $4 ({{PLURAL:$6|$6 правка|$6 правки|$6 правок}}) в $5', + 'logentry-renameuser-renameuser' => '$1 {{GENDER:$2|переименовал}} учаÑтника $4 ({{PLURAL:$6|$6 правка|$6 правок|$6 правки}}) в $5', 'logentry-renameuser-renameuser-legacier' => '$1 переименовал Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ $4 в $5', 'renameuser-move-log' => 'ÐвтоматичеÑки в ÑвÑзи Ñ Ð¿ÐµÑ€ÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ учётной запиÑи «[[User:$1|$1]]» в «[[User:$2|$2]]»', 'action-renameuser' => 'переименование учаÑтников', @@ -3889,10 +3935,43 @@ $messages['sgs'] = array( ); /** Serbo-Croatian (srpskohrvatski / ÑрпÑкохрватÑки) + * @author Kolega2357 * @author OC Ripper */ $messages['sh'] = array( + 'renameuser' => 'Promijeni ime korisnika', + 'renameuser-linkoncontribs' => 'preimenuj korisnika', + 'renameuser-linkoncontribs-text' => 'Preimenuj ovog korisnika', + 'renameuser-desc' => 'Preimenuj korisnika', # Fuzzy + 'renameuserold' => 'Trenutno korisniÄko ime:', + 'renameusernew' => 'Novo korisniÄko ime:', + 'renameuserreason' => 'Razlog:', + 'renameusermove' => 'Premjesti korisnikove stranice (glavnu, stranicu za razgovor i podstranice, ako postoje) na novo ime', + 'renameusersuppress' => 'Ne pravi preusmerenja na novo korisniÄko ime', + 'renameuserreserve' => 'Blokiraj staro korisniÄko ime za dalju upotrebu', + 'renameuserwarnings' => 'Upozorenja:', + 'renameuserconfirm' => 'Da, preimenuj korisnika', 'renameusersubmit' => 'Unesi', + 'renameuser-submit-blocklog' => 'Evidencija blokiranja za korisnika', + 'renameusererrordoesnotexist' => 'KorisniÄko ime "<nowiki>$1</nowiki>" ne postoji', + 'renameusererrorexists' => 'KorisniÄko ime "<nowiki>$1</nowiki>" već postoji', + 'renameusererrorinvalid' => 'KorisniÄko ime "<nowiki>$1</nowiki>" ne valja', + 'renameuser-error-request' => 'Nastao je problem prilikom primanja zahteva. +Molimo vas pokuÅ¡ajte ponovo.', + 'renameuser-error-same-user' => 'Ne možete preimenovati korisnika u isto ime kao i pre.', + 'renameusersuccess' => 'Korisnik "<nowiki>$1</nowiki>" je preimenovan u "<nowiki>$2</nowiki>"', + 'renameuser-page-exists' => 'Stranica $1 već postoji i ne može se automatski presnimiti.', + 'renameuser-page-moved' => 'Stranica $1 je premeÅ¡tena na $2.', + 'renameuser-page-unmoved' => 'Strana $1 se ne može premestiti na $2.', + 'log-name-renameuser' => 'Evidencija preimenovanja', + 'log-description-renameuser' => 'Ovo je evidencija izmjena preimenovanja korisnika.', + 'logentry-renameuser-renameuser' => '$1 {{GENDER:$2|preimenovao}} korisnika $4 ({{PLURAL:$6|$6 edit|$6 edits}}) na $5', + 'logentry-renameuser-renameuser-legacier' => '$1 preimenovao korisnika $4 na $5', + 'renameuser-move-log' => 'Automatski premeÅ¡tena stranica dok je korisnik "[[User:$1|$1]]" preimenovan u "[[User:$2|$2]]"', + 'action-renameuser' => 'preimenovanje korisnika', + 'right-renameuser' => 'preimenovanje korisniÄkih imena', + 'renameuser-renamed-notice' => 'Ovom korisniku je promenjeno ime. +Evidencija promena imena je priložena ispod, kao informacija.', ); /** Sinhala (සිංහල) @@ -4089,15 +4168,17 @@ $messages['sr-ec'] = array( 'renameuser-submit-blocklog' => 'Дневник блокирања за кориÑника', 'renameusererrordoesnotexist' => 'КориÑник „<nowiki>$1</nowiki>“ не поÑтоји.', 'renameusererrorexists' => 'КориÑник „<nowiki>$1</nowiki>“ већ поÑтоји.', - 'renameusererrorinvalid' => 'Погрешно кориÑничко име: "<nowiki>$1</nowiki>"', + 'renameusererrorinvalid' => 'Погрешно кориÑничко име: „<nowiki>$1</nowiki>“', 'renameuser-error-request' => 'Дошло је до проблема при примању захтева. Вратите Ñе назад и покушајте поново.', 'renameuser-error-same-user' => 'Ðе можете преименовати кориÑника у иÑто име.', - 'renameusersuccess' => 'КориÑник "<nowiki>$1</nowiki>" је преименован на "<nowiki>$2</nowiki>"', + 'renameusersuccess' => 'КориÑник „<nowiki>$1</nowiki>“ је преименован на „<nowiki>$2</nowiki>“', 'renameuser-page-exists' => 'Страница $1 већ поÑтоји и не може Ñе заменити.', - 'renameuser-page-moved' => 'Страница $1 је премештена у $2.', + 'renameuser-page-moved' => 'Страница $1 је премештена на $2.', 'renameuser-page-unmoved' => 'Страница $1 не може да Ñе премеÑти на $2.', 'log-name-renameuser' => 'Дневник преименовања кориÑника', + 'log-description-renameuser' => 'ИÑпод је ÑпиÑак преименованих кориÑника.', + 'logentry-renameuser-renameuser' => '$1 је {{GENDER:$2|преименовао|преименовала}} кориÑника $4 ({{PLURAL:$6|$6 измену|$6 измена}}) у $5', 'renameuser-move-log' => 'Премештене Ñтранице приликом преименовања кориÑника: „[[User:$1|$1]]“ у „[[User:$2|$2]]“.', 'action-renameuser' => 'преименовање кориÑника', 'right-renameuser' => 'преименовање кориÑничких имена', @@ -4132,12 +4213,14 @@ $messages['sr-el'] = array( 'renameusererrorinvalid' => 'PogreÅ¡no korisniÄko ime: "<nowiki>$1</nowiki>"', 'renameuser-error-request' => 'Javio se problem prilikom prihvatanja zahteva. Idi nazad i pokuÅ¡aj ponovo.', 'renameuser-error-same-user' => 'Ne možeÅ¡ preimenovati korisniÄko ime u isto kao i prethodno.', - 'renameusersuccess' => 'Korisnik "<nowiki>$1</nowiki>" je preimenovan na "<nowiki>$2</nowiki>"', + 'renameusersuccess' => 'Korisnik „<nowiki>$1</nowiki>“ je preimenovan na „<nowiki>$2</nowiki>“', 'renameuser-page-exists' => 'Stranica $1 već postoji i ne može biti automatski presnimljena.', 'renameuser-page-moved' => 'Stranica $1 je premeÅ¡tena na $2.', 'renameuser-page-unmoved' => 'Stranica $1 ne može biti premeÅ¡tena na $2.', 'log-name-renameuser' => 'Dnevnik preimenovanja korisnika', - 'renameuser-move-log' => 'Automatski pomerene stranice prilikom preimenovanja korisniÄkog imena: „[[User:$1|$1]]“ u „[[User:$2|$2]]“.', + 'log-description-renameuser' => 'Ispod je spisak preimenovanih korisnika.', + 'logentry-renameuser-renameuser' => '$1 je {{GENDER:$2|preimenovao|preimenovala}} korisnika $4 ({{PLURAL:$6|$6 izmenu|$6 izmena}}) u $5', + 'renameuser-move-log' => 'PremeÅ¡tene stranice prilikom preimenovanja korisnika: „[[User:$1|$1]]“ u „[[User:$2|$2]]“.', 'action-renameuser' => 'preimenovanje korisnika', 'right-renameuser' => 'preimenovanje korisniÄkih imena', 'renameuser-renamed-notice' => 'Ovom korisniku je promenjeno ime. @@ -4318,7 +4401,7 @@ $messages['te'] = array( 'renameuser-desc' => "వాడà±à°•à°°à°¿ పేరౠమారà±à°šà°‚à°¡à°¿ (''renameuser'' à°…à°¨à±à°¨ అధికారం కావాలి)", 'renameuserold' => 'à°ªà±à°°à°¸à±à°¤à±à°¤ వాడà±à°•à°°à°¿ పేరà±:', 'renameusernew' => 'కొతà±à°¤ వాడà±à°•à°°à°¿ పేరà±:', - 'renameuserreason' => 'పేరౠమారà±à°šà°¡à°¾à°¨à°¿à°•à°¿ కారణం:', # Fuzzy + 'renameuserreason' => 'కారణం:', 'renameusermove' => 'వాడà±à°•à°°à°¿ పేజీ, à°šà°°à±à°šà°¾à°ªà±‡à°œà±€à°²à°¨à± (వాటి ఉపపేజీలతో సహా) కొతà±à°¤ పేరà±à°•à± తరలించండి', 'renameusersuppress' => 'కొతà±à°¤ పేరà±à°•à°¿ దారిమారà±à°ªà±à°²à± సృషà±à°Ÿà°¿à°‚à°šà°•à±', 'renameuserreserve' => 'పాత వాడà±à°•à°°à°¿à°ªà±‡à°°à±à°¨à°¿ à°à°µà°¿à°·à±à°¯à°¤à±à°¤à±à°²à±‹ వాడకà±à°‚à°¡à°¾ నిరోధించà±', @@ -4534,6 +4617,7 @@ $messages['to'] = array( /** Turkish (Türkçe) * @author Joseph * @author Karduelis + * @author Marmase * @author Runningfridgesrule * @author UÄŸur BaÅŸak * @author Vito Genovese @@ -4545,7 +4629,7 @@ $messages['tr'] = array( 'renameuser-desc' => "Kullanıcıyı yeniden adlandırmak için bir [[Special:Renameuser|özel sayfa]] ekler (''kullanıcıyıyenidenadlandır'' hakkı gerekir)", 'renameuserold' => 'Åžu anda ki kullanıcı adı:', 'renameusernew' => 'Yeni kullanıcı adı:', - 'renameuserreason' => 'Neden:', # Fuzzy + 'renameuserreason' => 'Neden:', 'renameusermove' => 'Kullanıcı ve tartışma sayfalarını (ve alt sayfalarını) yeni isme taşı', 'renameusersuppress' => 'Yeni ada yönlendirmeler oluÅŸturma', 'renameuserreserve' => 'Eski kullanıcı adını ilerdeki kullanımlar için engelle', @@ -4639,9 +4723,10 @@ $messages['ur'] = array( /** Uzbek (oÊ»zbekcha) * @author CoderSI + * @author Sociologist */ $messages['uz'] = array( - 'log-name-renameuser' => 'Ishtirokchilarni qayta nomlash qaydlari', + 'log-name-renameuser' => 'Foydalanuvchilarni qayta nomlash qaydlari', ); /** vèneto (vèneto) @@ -4745,7 +4830,7 @@ $messages['vo'] = array( 'renameuser-desc' => "Votanemön gebani (gität: ''renameuser'' zesüdon)", 'renameuserold' => 'Gebananem anuik:', 'renameusernew' => 'Gebananem nulik:', - 'renameuserreason' => 'Kod votanemama:', # Fuzzy + 'renameuserreason' => 'Kod:', 'renameusermove' => 'Topätükön padi e bespikapadi gebana (e donapadis onsik) ad nem nulik', 'renameuserreserve' => 'Neletön gebananemi rigik (pos votanemam) ad pagebön ün fütür', 'renameuserwarnings' => 'Nuneds:', @@ -4836,13 +4921,15 @@ $messages['yo'] = array( ); /** Cantonese (粵語) + * @author Antonytse + * @author Liuxinyu970226 */ $messages['yue'] = array( 'renameuser' => '改用戶å', 'renameuser-desc' => "幫用戶改å (éœ€è¦ ''renameuser'' 權é™)", 'renameuserold' => 'ç¾æ™‚嘅用戶å:', 'renameusernew' => '新嘅用戶å:', - 'renameuserreason' => '改åå˜…åŽŸå› :', # Fuzzy + 'renameuserreason' => 'åŽŸå› ï¼š', 'renameusermove' => 'æ¬ç”¨æˆ¶é åŒåŸ‹ä½¢å˜…å°è©±é (åŒåŸ‹ä½¢å“‹å˜…ç´°é )到新å', 'renameuserwarnings' => 'è¦å‘Š:', 'renameuserconfirm' => '係,改呢個用戶å', diff --git a/extensions/Renameuser/Renameuser.php b/extensions/Renameuser/Renameuser.php index e9e83143..40636b54 100644 --- a/extensions/Renameuser/Renameuser.php +++ b/extensions/Renameuser/Renameuser.php @@ -48,4 +48,5 @@ $wgJobClasses['renameUser'] = 'RenameUserJob'; $wgHooks['ShowMissingArticle'][] = 'RenameuserHooks::onShowMissingArticle'; $wgHooks['ContributionsToolLinks'][] = 'RenameuserHooks::onContributionsToolLinks'; +$wgHooks['GetLogTypesOnUser'][] = 'RenameuserHooks::onGetLogTypesOnUser'; diff --git a/extensions/Renameuser/RenameuserSQL.php b/extensions/Renameuser/RenameuserSQL.php index eeb879a0..153cac88 100644 --- a/extensions/Renameuser/RenameuserSQL.php +++ b/extensions/Renameuser/RenameuserSQL.php @@ -112,6 +112,7 @@ class RenameuserSQL { if ( !$dbw->affectedRows() && $this->checkIfUserExists ) { $dbw->rollback(); + wfProfileOut( __METHOD__ ); return false; } @@ -221,7 +222,7 @@ class RenameuserSQL { } if ( count( $jobs ) > 0 ) { - Job::safeBatchInsert( $jobs ); // don't commit yet + JobQueueGroup::singleton()->push( $jobs, JobQueue::QOS_ATOMIC ); // don't commit yet } // Commit the transaction diff --git a/extensions/Renameuser/specials/SpecialRenameuser.php b/extensions/Renameuser/specials/SpecialRenameuser.php index d869e2a8..f6b9bac1 100644 --- a/extensions/Renameuser/specials/SpecialRenameuser.php +++ b/extensions/Renameuser/specials/SpecialRenameuser.php @@ -58,7 +58,7 @@ class SpecialRenameuser extends SpecialPage { } $out->addHTML( - Xml::openElement( 'form', array( 'method' => 'post', 'action' => $this->getTitle()->getLocalUrl(), 'id' => 'renameuser' ) ) . + Xml::openElement( 'form', array( 'method' => 'post', 'action' => $this->getPageTitle()->getLocalUrl(), 'id' => 'renameuser' ) ) . Xml::openElement( 'fieldset' ) . Xml::element( 'legend', null, $this->msg( 'renameuser' )->text() ) . Xml::openElement( 'table', array( 'id' => 'mw-renameuser-table' ) ) . diff --git a/extensions/SpamBlacklist/SpamBlacklist.i18n.php b/extensions/SpamBlacklist/SpamBlacklist.i18n.php index af397dba..3dd1a487 100644 --- a/extensions/SpamBlacklist/SpamBlacklist.i18n.php +++ b/extensions/SpamBlacklist/SpamBlacklist.i18n.php @@ -56,7 +56,7 @@ $messages['en'] = array( 'spam-blacklist-desc' => 'Regex-based anti-spam tool allowing to blacklist URLs in pages and email addresses for registered users', 'log-name-spamblacklist' => 'Spam blacklist log', 'log-description-spamblacklist' => 'These events track spam blacklist hits.', - 'logentry-spamblacklist-hit' => '$1 caused a spam blacklist hit on $3 by attempting to add $4.', + 'logentry-spamblacklist-hit' => '{{GENDER:$2|$1}} caused a spam blacklist hit on $3 by attempting to add $4.', 'right-spamblacklistlog' => 'View spam blacklist log', 'action-spamblacklistlog' => 'view the spam blacklist log', ); @@ -88,10 +88,8 @@ Parameters: 'log-description-spamblacklist' => 'Description of spam blacklist log', 'logentry-spamblacklist-hit' => 'Log entry that is created when a user adds a link that is blacklisted on the spam blacklist. -Parameters: -* $1 - a user link, for example "Jane Doe (Talk | contribs)" -* $2 - (Optional) a username. Can be used for GENDER -* $3 - the page the user attempted to edit +{{logentry}} +Additional parameters: * $4 - the URL the user tried to add', 'right-spamblacklistlog' => '{{doc-right|spamblacklistlog}}', 'action-spamblacklistlog' => '{{doc-action|spamblacklistlog}}', @@ -144,6 +142,7 @@ $messages['an'] = array( ); /** Arabic (العربية) + * @author Asaifm * @author Meno25 * @author OsamaK */ @@ -167,8 +166,15 @@ $messages['ar'] = array( # * كل سطر غير Ùارغ هو تعبير منتظم يطابق Ùقط المضيÙين داخل الوصلات الخارجية #</pre> <!-- اترك هذا السطر تماما كما هو -->', + 'spam-blacklisted-email' => 'هذا البريد الإلكتروني مدرج ÙÙŠ القائمة السوداء', + 'spam-blacklisted-email-text' => 'بريدك الإلكتروني مدرج ÙÙŠ القائمة السوداء وبناءً على ذلك لا يمكنك استخدامه لإرسال رسائل للمستخدمين الأخرين.', + 'spam-blacklisted-email-signup' => 'هذا البريد الإلكتروني مدرج ÙÙŠ القائمة السوداء وممنوع من الإستخدام.', 'spam-invalid-lines' => '{{PLURAL:$1||السطر التالي|السطران التاليان|السطور التالية}} ÙÙŠ قائمة السبام السوداء {{PLURAL:$1|ليس تعبيرًا منتظمًا صØÙŠØًا|ليسا تعبيرين منتظمين صØÙŠØين|ليست تعبيرات منتظمة صØÙŠØØ©}} Ùˆ{{PLURAL:$1||ÙŠØتاج|ÙŠØتاجان|تØتاج}} إلى أن {{PLURAL:$1||يصØØ|يصØØان|تصØØ}} قبل ØÙظ الصÙØØ©:', - 'spam-blacklist-desc' => 'أداة ضد السبام تعتمد على التعبيرات المنتظمة: [[MediaWiki:Spam-blacklist]] Ùˆ [[MediaWiki:Spam-whitelist]]', # Fuzzy + 'spam-blacklist-desc' => 'أداة ضد السخام تعتمد على التعبيرات النمطية ÙˆØªØ³Ù…Ø Ø¨Ù…Ù†Ø¹ روابط ÙÙŠ الصÙØات وعنواين البريد الإلكتروني للمستخدمين المسجلين', + 'log-name-spamblacklist' => 'سجل السخام المدرج على القائمة السوداء', + 'log-description-spamblacklist' => 'هذا الأØداث توثق مشاهدات القائمة السوداء للسخام.', + 'right-spamblacklistlog' => 'اعرض سجل السخام المدرج على القائمة السوداء', + 'action-spamblacklistlog' => 'اعرض سجل السخام المدرج على القائمة السوداء', ); /** Egyptian Spoken Arabic (مصرى) @@ -248,16 +254,16 @@ $messages['as'] = array( * @author Xuacu */ $messages['ast'] = array( - 'spam-blacklist' => ' # Les URLs que casen con esta llista se bloquiarán cuando s\'añadan a una páxina. - # Esta llista afeuta namái a esta wiki; mira tamién la llista negra global. - # Pa ver la documentación visita https://www.mediawiki.org/wiki/Extension:SpamBlacklist - #<!-- dexa esta llinia exautamente como ta --> <pre> + 'spam-blacklist' => '#<!-- dexe esta llinia exautamente como ta --> <pre> +# Les URLs esternes que casen con esta llista bloquiaránse cuando s\'amiesten a una páxina. +# Esta llista afeuta namái a esta wiki; mire tamién la llista negra global. +# Pa ver la documentación vea https://www.mediawiki.org/wiki/Extension:SpamBlacklist # # La sintaxis ye ésta: # * Tol testu dende un caráuter "#" hasta lo cabero la llinia ye un comentariu # * Toa llinia non balera ye un fragmentu regex qu\'afeuta namái a los sirvidores de les URLs - #</pre> <!-- dexa esta llinia exautamente como ta -->', +#</pre> <!-- dexe esta llinia exautamente como ta -->', 'spam-whitelist' => ' #<!-- dexa esta llinia exautamente como ta --> <pre> # Les URLs esternes d\'esta llista *nun* se bloquiarán inda si quedarÃen bloquiaes # por una entrada na llista negra. @@ -317,7 +323,7 @@ $messages['ba'] = array( # * # хәрефенән башлап юл аҙағына тиклем барыһы ла иҫкәрмә тип иҫәпләнә # * Һәр буш булмаған юл URL ÑÑендәге төйөнгә генә ҡулланылған регулÑÑ€ аңлатманың өлөшө булып тора #</pre> <!-- был юлды ниÑек бар, шулай ҡалдырығыҙ -->', - 'spam-invalid-lines' => 'Түбәндәге ҡара иÑемлек {{PLURAL:$1|юлында|юлдарында}} хаталы регулÑÑ€ {{PLURAL:$1|аңлатма|аңлатмалар}} бар һәм {{PLURAL:$1|ул|улар}} битте һаҡлар алдынан төҙәтелергә тейеш:', + 'spam-invalid-lines' => 'Түбәндәге ҡара иÑемлек {{PLURAL:$1|1=юлында|юлдарында}} хаталы регулÑÑ€ {{PLURAL:$1|1=аңлатма|аңлатмалар}} бар һәм {{PLURAL:$1|1=ул|улар}} битте һаҡлар алдынан төҙәтелергә тейеш:', # Fuzzy 'spam-blacklist-desc' => 'РегулÑÑ€ аңлатмаларға нигеҙләнгән Ñпамға ҡаршы ҡорал: [[MediaWiki:Spam-blacklist]] һәм [[MediaWiki:Spam-whitelist]]', # Fuzzy ); @@ -427,7 +433,7 @@ $messages['be-tarask'] = array( 'spam-blacklisted-email' => 'ÐдраÑÑ‹ Ñлектроннай пошты з чорнага ÑьпіÑу', 'spam-blacklisted-email-text' => 'З Вашага адраÑу Ñлектроннай пошты Ñž цÑперашні момант забаронена даÑылаць ÑÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ñ‹Ñ Ð»Ñ–ÑÑ‚Ñ‹ іншым удзельнікам.', 'spam-blacklisted-email-signup' => 'Пададзены Вамі Ð°Ð´Ñ€Ð°Ñ Ñлектроннай пошты Ñž цÑперашні момант знаходзіцца Ñž чорным ÑьпіÑе.', - 'spam-invalid-lines' => '{{PLURAL:$1|ÐаÑтупны радок чорнага ÑьпіÑу ўтрымлівае нÑÑлушны Ñ€ÑгулÑрны выраз|ÐаÑÑ‚ÑƒÐ¿Ð½Ñ‹Ñ Ñ€Ð°Ð´ÐºÑ– чорнага ÑьпіÑу ўтрымліваюць нÑÑÐ»ÑƒÑˆÐ½Ñ‹Ñ Ñ€ÑгулÑÑ€Ð½Ñ‹Ñ Ð²Ñ‹Ñ€Ð°Ð·Ñ‹}} Ñ– {{PLURAL:$1|павінен быць|Ð¿Ð°Ð²Ñ–Ð½Ð½Ñ‹Ñ Ð±Ñ‹Ñ†ÑŒ}} выпраўлены перад захаваньнем Ñтаронкі:', + 'spam-invalid-lines' => '{{PLURAL:$1|1=ÐаÑтупны радок чорнага ÑьпіÑу ўтрымлівае нÑÑлушны Ñ€ÑгулÑрны выраз|ÐаÑÑ‚ÑƒÐ¿Ð½Ñ‹Ñ Ñ€Ð°Ð´ÐºÑ– чорнага ÑьпіÑу ўтрымліваюць нÑÑÐ»ÑƒÑˆÐ½Ñ‹Ñ Ñ€ÑгулÑÑ€Ð½Ñ‹Ñ Ð²Ñ‹Ñ€Ð°Ð·Ñ‹}} Ñ– {{PLURAL:$1|1=павінен быць|Ð¿Ð°Ð²Ñ–Ð½Ð½Ñ‹Ñ Ð±Ñ‹Ñ†ÑŒ}} выпраўлены перад захаваньнем Ñтаронкі:', # Fuzzy 'spam-blacklist-desc' => 'ÐнтыÑпамавы інÑтрумÑнт, Ñкі базуецца на Ñ€ÑгулÑрных выразах: [[MediaWiki:Spam-blacklist]] Ñ– [[MediaWiki:Spam-whitelist]]', # Fuzzy ); @@ -447,6 +453,7 @@ $messages['bjn'] = array( ); /** Bengali (বাংলা) + * @author Aftab1995 * @author Bellayet * @author Nasir8891 * @author Zaheen @@ -477,6 +484,10 @@ $messages['bn'] = array( 'spam-blacklisted-email-signup' => 'আপনার লেখা ইমেইল ঠিকানাটি কালোতালিকাà¦à§à¦•à§à¦¤à¥¤', 'spam-invalid-lines' => 'নিচের সà§à¦ªà§à¦¯à¦¾à¦® কালোতালিকার {{PLURAL:$1|লাইন|লাইনগà§à¦²à¦¿}} অবৈধ রেগà§à¦²à¦¾à¦° {{PLURAL:$1|à¦à¦•à§à¦¸à¦ªà§à¦°à§‡à¦¶à¦¨|à¦à¦•à§à¦¸à¦ªà§à¦°à§‡à¦¶à¦¨}} ধারণ করছে à¦à¦¬à¦‚ পাতাটি সংরকà§à¦·à¦£à§‡à¦° আগে à¦à¦—à§à¦²à¦¿ ঠিক করা {{PLURAL:$1|পà§à¦°à¦¯à¦¼à§‹à¦œà¦¨|পà§à¦°à¦¯à¦¼à§‹à¦œà¦¨}}:', 'spam-blacklist-desc' => 'রেজেকà§à¦¸-à¦à¦¿à¦¤à§à¦¤à¦¿à¦• সà§à¦ªà§à¦¯à¦¾à¦®à¦°à§‹à¦§à§€ সরঞà§à¦œà¦¾à¦®: [[MediaWiki:Spam-blacklist]] à¦à¦¬à¦‚ [[MediaWiki:Spam-whitelist]]', # Fuzzy + 'log-name-spamblacklist' => 'সà§à¦ªà§à¦¯à¦¾à¦® কালোতালিকা লগ', + 'log-description-spamblacklist' => 'à¦à¦‡ ঘটনাগà§à¦²à¦¿ সà§à¦ªà§à¦¯à¦¾à¦® কালোতালিকার হিট অনà§à¦¸à¦°à¦£à¥¤', + 'right-spamblacklistlog' => 'সà§à¦ªà§à¦¯à¦¾à¦® কালোতালিকা লগ দেখà§à¦¨', + 'action-spamblacklistlog' => 'সà§à¦ªà§à¦¯à¦¾à¦® কালোতালিকা লগ দেখà§à¦¨', ); /** Breton (brezhoneg) @@ -588,6 +599,15 @@ $messages['ca'] = array( 'spam-blacklist-desc' => 'Eina anti-spam basada en regexp: [[MediaWiki:Spam-blacklist]] i [[MediaWiki:Spam-whitelist]]', # Fuzzy ); +/** Chechen (нохчийн) + * @author Умар + */ +$messages['ce'] = array( + 'spam-blacklist-desc' => 'Ðнти-Ñпам Ð³Ó€Ð¸Ñ€Ñ URL дӀакъовла таро хуьлуьйту агӀонашкахь а Ñлектронан почтехь а дӀабазбелачу декъашхошна', + 'log-name-spamblacklist' => 'Спам-кехатан тептар', + 'log-description-spamblacklist' => 'Спам-кехато зулам долоре хьожу тептар.', +); + /** Sorani Kurdish (کوردی) * @author Calak */ @@ -595,7 +615,7 @@ $messages['ckb'] = array( 'right-spamblacklistlog' => 'دیتنی Ù„Û†Ú¯ÛŒ پێرستی Ú•Û•Ø´ÛŒ ڕیکلام', ); -/** Czech (Äesky) +/** Czech (ÄeÅ¡tina) * @author Li-sung * @author MatÄ›j Grabovský * @author Mormegil @@ -642,7 +662,12 @@ $messages['cs'] = array( 'spam-blacklisted-email-text' => 'VaÅ¡e e-mailová adresa je momentálnÄ› uvedena na Äerné listinÄ›, takže ostatnÃm uživatelům nemůžete posÃlat e-maily.', 'spam-blacklisted-email-signup' => 'Uvedená e-mailová adresa je v souÄasné dobÄ› na Äerné listinÄ›.', 'spam-invalid-lines' => 'Na Äerné listinÄ› spamu {{PLURAL:$1|je následujÃcà řádka neplatný regulárnà výraz|jsou následujÃcà řádky neplatné regulárnà výrazy|jsou následujÃcà řádky regulárnà výrazy}} a je nutné {{PLURAL:$1|ji|je|je}} pÅ™ed uloženÃm stránky opravit :', - 'spam-blacklist-desc' => 'Antispamový nástroj na základÄ› regulárnÃch výrazů: [[MediaWiki:Spam-blacklist]] a [[MediaWiki:Spam-whitelist]]', # Fuzzy + 'spam-blacklist-desc' => 'Antispamový nástroj na základÄ› regulárnÃch výrazů umožňujÃcà zakázat URL ve stránkách a e-mailových adresách registrovaných uživatelů', + 'log-name-spamblacklist' => 'Kniha protispamové Äerné listiny', + 'log-description-spamblacklist' => 'Tyto události sledujà zásahy protispamové Äerné listiny.', + 'logentry-spamblacklist-hit' => '{{GENDER:$2|Uživateli|Uživatelce}} $1 zabránila protispamová Äerná listina pÅ™idat $4 na stránku $3.', + 'right-spamblacklistlog' => 'ProhlÞenà knihy protispamové Äerné listiny', + 'action-spamblacklistlog' => 'prohlÞet knihu protispamové Äerné listiny', ); /** Welsh (Cymraeg) @@ -700,6 +725,7 @@ $messages['cy'] = array( 'log-description-spamblacklist' => "Mae'r digwyddiadau hyn yn cofnodi trawiadau ar y rhestr sbam waharddedig.", 'logentry-spamblacklist-hit' => 'Fe geisiodd $1 ychwanegu $4 sydd ar y rhestr waharddedig $3.', 'right-spamblacklistlog' => 'Gallu gweld lòg y rhestr sbam waharddedig', + 'action-spamblacklistlog' => 'gweld lòg rhestr y sbam gwaharddedig', ); /** Danish (dansk) @@ -742,7 +768,7 @@ $messages['da'] = array( # * hver ikke-tomme linjer anvendes som regulære udtryk for at matcha domænenavne i webadresser #</pre> <!-- lad denne linje være nøjagtig som den er -->', 'spam-blacklisted-email' => 'Sortlistet e-mailadresse', - 'spam-blacklisted-email-text' => 'Din e-mailadresse er i øjeblikket blokeret for at sende e-mails til andre brugere.', + 'spam-blacklisted-email-text' => 'Din e-mailadresse er i øjeblikket blokeret fra at sende e-mails til andre brugere.', 'spam-blacklisted-email-signup' => 'Den angivne e-mailadresse er i øjeblikket blokeret for brug.', 'spam-invalid-lines' => 'Følgende {{PLURAL:$1|linje|linjer}} i spamsortelisten er {{PLURAL:$1|et ugyldigt regulært udtryk|ugyldige regulære udtryk}} og mÃ¥ rettes før lagring af siden:', 'spam-blacklist-desc' => 'Antispamværktøj baseret pÃ¥ regulære udtryk der giver mulighed for at sortliste URLs i sider og e-mailadresser for registrerede brugere', @@ -802,7 +828,7 @@ $messages['de'] = array( 'spam-blacklisted-email-text' => 'Deine E-Mail-Adresse ist derzeit für das Senden von E-Mail-Nachrichten an andere Benutzer blockiert.', 'spam-blacklisted-email-signup' => 'Die angegebene E-Mail-Adresse ist derzeit für das Senden von E-Mail-Nachrichten an andere Benutzer blockiert.', 'spam-invalid-lines' => 'Die {{PLURAL:$1|folgende Zeile|folgenden Zeilen}} in der Blockierliste {{PLURAL:$1|ist ein ungültiger regulärer Ausdruck|sind ungültige reguläre Ausdrücke}}. Sie {{PLURAL:$1|muss|müssen}} vor dem Speichern der Seite korrigiert werden:', - 'spam-blacklist-desc' => 'Ein auf regulären Ausdrücken basiertes Anti-Spam-Werkzeug, um URLs in Seiten und E-Mail-Adressen für registrierte Benutzer auf die schwarze Liste zu setzen', + 'spam-blacklist-desc' => 'Ergänzt ein auf reguläre Ausdrücke gestütztes Anti-Spam-Werkzeug zum Sperren von URLs und E-Mail-Adressen für das Einfügen durch registrierte Benutzer', 'log-name-spamblacklist' => 'Spam-Blacklist-Logbuch', 'log-description-spamblacklist' => 'Es folgt ein Logbuch von Spam-Blacklist-Treffern.', 'logentry-spamblacklist-hit' => '$1 verursachte einen Spam-Blacklist-Treffer auf „$3“ durch das versuchte Hinzufügen von $4.', @@ -836,6 +862,7 @@ $messages['de-formal'] = array( /** Zazaki (Zazaki) * @author Aspar * @author Erdemaslancan + * @author Marmase * @author Olvörg */ $messages['diq'] = array( @@ -877,7 +904,7 @@ $messages['diq'] = array( 'spam-blacklisted-email-text' => 'Nıka adresa e-postayê to qande karberê bini ra mesac riÅŸtene listeyê siya dero.', 'spam-blacklisted-email-signup' => 'E-posta adresiyo ke deyayo karkerdışe cı newke groto siyaliste.', 'spam-invalid-lines' => 'na qerelisteya spami {{PLURAL:$1|satır|satıran}} {{PLURAL:$1|nemeqbulo|nemeqbuli}};', - 'spam-blacklist-desc' => 'Regex-tabanlı anti-spam aracı: [[MediaWiki:Spam-blacklist]] ve [[MediaWiki:Spam-whitelist]]', # Fuzzy + 'spam-blacklist-desc' => "Regex-tabanın haleta anti-spami URL'ya perer u adresa e-posta qande karberande qeydınan geriyayo", ); /** Lower Sorbian (dolnoserbski) @@ -905,7 +932,7 @@ $messages['dsb'] = array( #</pre> <!-- wóstaj toÅ› tu smužku rowno tak ako jo -->', 'spam-blacklisted-email' => 'BlokÄ›rowana e-mailowa adresa', 'spam-invalid-lines' => '{{PLURAL:$1|SlÄ›dujuca smužka|SlÄ›dujucej smužce|SlÄ›dujuce smužki|SlÄ›dujuce smužki}} corneje lisćiny spama {{PLURAL:$1|jo njepÅ‚aÅ›iwy regularny wuraz|stej njepÅ‚aÅ›iwej regularnej wuraza|su njepÅ‚aÅ›iwe regularne wuraze|su njepÅ‚aÅ›iwe regularne wuraze}} a {{PLURAL:$1|musy|musytej|muse|muse}} se korigÄ›rowaÅ›, pjerwjej až skÅ‚adujoÅ¡ bok:', - 'spam-blacklist-desc' => 'Antispamowy rÄ›d na zakÅ‚aźe regularnych wurazow: [[MediaWiki:Spam-blacklist]] a [[MediaWiki:Spam-whitelist]]', # Fuzzy + 'spam-blacklist-desc' => 'PÅ›eÅ›iwospamowy rÄ›d na zakÅ‚aźe Regex, kótaryž zmóznja URL na bokach a e-mailowe adresy za zregistrÄ›rowanych wužywarjow do carneje lisćiny stajiÅ›', ); /** Greek (Ελληνικά) @@ -1079,9 +1106,14 @@ $messages['et'] = array( # * Iga rida, mis ei ole tühi, on regulaaravaldise osa, mis vastab ainult e-posti aadressides sisalduvatele hostinimedele.', 'spam-blacklisted-email' => 'Musta nimekirja kantud e-posti aadress', 'spam-blacklisted-email-text' => 'Musta nimekirja sissekande tõttu on sinu e-posti aadressilt teistele kasutajatele e-kirjade saatmine praegu keelatud.', - 'spam-blacklisted-email-signup' => 'Selle e-posti aadressi kasutamine praegu musta nimekirja sissekandega keelatud.', + 'spam-blacklisted-email-signup' => 'Selle e-posti aadressi kasutamine on praegu musta nimekirja sissekandega keelatud.', 'spam-invalid-lines' => '{{PLURAL:$1|Järgmine rida|Järgmised read}} rämpspostituste mustas nimekirjas on {{PLURAL:$1|vigane regulaaravaldis|vigased regulaaravaldised}} ja {{PLURAL:$1|see|need}} tuleb enne lehekülje salvestamist parandada:', 'spam-blacklist-desc' => 'Regulaaravaldisel põhinev tööriist, mis võimaldab lisada musta nimekirja lehekülgedel toodud internetiaadresse ning registreeritud kasutajate e-posti aadresse.', + 'log-name-spamblacklist' => 'Rämpsu musta nimekirja logi', + 'log-description-spamblacklist' => 'Siin on loetletud rämpspostituse musta nimekirja tabamused.', + 'logentry-spamblacklist-hit' => '$1 püüdis lisada leheküljele $3 rämpspostituse mustas nimekirjas olevat linki $4.', + 'right-spamblacklistlog' => 'Vaadata rämpsu musta nimekirja', + 'action-spamblacklistlog' => 'vaadata rämpsu musta nimekirja', ); /** Persian (Ùارسی) @@ -1104,28 +1136,35 @@ $messages['fa'] = array( # در Ùهرست سیاه قرار داشته باشند. # #</pre> <!-- این سطر را همان‌گونه Ú©Ù‡ هست رها کنید -->', - 'email-blacklist' => ' # از ثبت نام یا ارسال نامه توسط نشانی‌های پست الکترونیکی Ú©Ù‡ با این Ùهرست مطابقت کنند جلوگیری می‌شود. + 'email-blacklist' => ' # از ثبت نام یا ارسال نامه توسط نشانی‌های رایانامه‌ای Ú©Ù‡ با این Ùهرست مطابقت کنند جلوگیری می‌شود. # این Ùهرست Ùقط روی همین ویکی اثر دارد؛ به Ùهرست سیاه سراسری نیز مراجعه کنید. # برای مستندات به https://www.mediawiki.org/wiki/Extension:SpamBlacklist مراجعه کنید #<!-- این سطر را همان‌گونه Ú©Ù‡ هست رها کنید --> <pre> # دستورات به این Ø´Ú©Ù„ هستند: # * همه چیز از «#» تا پایان سطر به عنوان ØªÙˆØ¶ÛŒØ Ø¯Ø± نظر گرÙته می‌شود -# * هر سطر از متن به عنوان یک دستور از نوع عبارت باقاعده در نظر گرÙته می‌شود Ú©Ù‡ Ùقط با نام میزبان در نشانی پست الکترونیکی مطابقت داده می‌شود +# * هر سطر از متن به عنوان یک دستور از نوع عبارت باقاعده در نظر گرÙته می‌شود Ú©Ù‡ Ùقط با نام میزبان در نشانی رایانامه مطابقت داده می‌شود #</pre> <!-- این سطر را همان‌گونه Ú©Ù‡ هست رها کنید -->', 'email-whitelist' => ' #<!-- این سطر را همان‌گونه Ú©Ù‡ هست رها کنید --> <pre> -# نشانی‌های پست الکترونیکی Ú©Ù‡ با این Ùهرست مطابقت کنند Ù…Øدود *نمی‌شوند* Øتی اگر +# نشانی‌های رایانامه Ú©Ù‡ با این Ùهرست مطابقت کنند Ù…Øدود *نمی‌شوند* Øتی اگر # با Ùهرست سیاه مطابقت داشته باشند. # #</pre> <!-- این سطر را همان‌گونه Ú©Ù‡ هست رها کنید --> # دستورات به این Ø´Ú©Ù„ هستند: # * همه چیز از «#» تا پایان سطر به عنوان ØªÙˆØ¶ÛŒØ Ø¯Ø± نظر گرÙته می‌شود -# * هر سطر از متن به عنوان یک دستور از نوع عبارت باقاعده در نظر گرÙته می‌شود Ú©Ù‡ Ùقط با نام میزبان در نشانی پست الکترونیکی مطابقت داده می‌شود', - 'spam-blacklisted-email' => 'نشانی پست الکترونیکی موجود در لیست سیاه', - 'spam-blacklisted-email-text' => 'نشانی پست الکترونیکی شما در Øال Øاضر در Ùهرست سیاه قرار دارد Ùˆ نمی‌توانید به دیگر کاربران نامه بÙرستید.', - 'spam-blacklisted-email-signup' => 'نشانی پست الکترونیکی داده شده در Øال Øاضر در Ùهرست سیاه است Ùˆ قابل استÙاده نیست.', +# * هر سطر از متن به عنوان یک دستور از نوع عبارت باقاعده در نظر گرÙته می‌شود Ú©Ù‡ Ùقط با نام میزبان در نشانی رایانامه مطابقت داده می‌شود', + 'spam-blacklisted-email' => 'نشانی رایانامه موجود در Ùهرست سیاه', + 'spam-blacklisted-email-text' => 'نشانی رایانامهٔ شما در Øال Øاضر در Ùهرست سیاه قرار دارد Ùˆ نمی‌توانید به دیگر کاربران نامه بÙرستید.', + 'spam-blacklisted-email-signup' => 'نشانی رایانامه داده‌شده در Øال Øاضر در Ùهرست سیاه است.', 'spam-invalid-lines' => '{{PLURAL:$1|سطر|سطرهای}} زیر در Ùهرست سیاه هرزنگاری، عبارات باقاعدهٔ نامجاز {{PLURAL:$1|است|هستند}} Ùˆ قبل از ذخیره کردن صÙØÙ‡ باید Ø§ØµÙ„Ø§Ø {{PLURAL:$1|شود|شوند}}:', - 'spam-blacklist-desc' => 'ابزار ضد هرزنویسی مبتنی بر regular expressions: [[MediaWiki:Spam-blacklist]] Ùˆ [[MediaWiki:Spam-whitelist]]', # Fuzzy + 'spam-blacklist-desc' => 'Regex-based anti-spam tool allowing to blacklist URLs in pages and email addresses for registered users + +ابزار بر پایهٔ عبارت باقاعده ضدهرزنگاری اجازهٔ Ùهرست سیاه‌کردن نشانی‌های اینترنتی در صÙØه‌ها Ùˆ نشانی‌های رایانامه برای کاربران ثبت نام کرده', + 'log-name-spamblacklist' => 'سیاههٔ Ùهرست سیاه هرزنگاری', + 'log-description-spamblacklist' => 'این رویدادها وقوع Ùهرست سیاه هزنگاری را دنبال می‌کند.', + 'logentry-spamblacklist-hit' => '$1 در $3 با تلاش در اÙزودن $4 باعث برخورد به Ùهرست سیاه هرزنامه شده‌است.', + 'right-spamblacklistlog' => 'دیدن یک سیاههٔ Ùهرست سیاه هرزنامه', + 'action-spamblacklistlog' => 'دیدن سیاههٔ Ùهرست سیاه هرزنامه', ); /** Finnish (suomi) @@ -1229,7 +1268,7 @@ $messages['fr'] = array( 'spam-blacklist-desc' => 'Outil anti-pourriel basé sur des expressions rationnelles permettant de mettre en liste noire des URLs dans les pages et des adresses de courriel pour les utilisateurs enregistrés', 'log-name-spamblacklist' => 'Journal de liste noire des pourriels', 'log-description-spamblacklist' => 'Ces événements tracent les correspondances avec la liste noire des pourriels.', - 'logentry-spamblacklist-hit' => '$1 a provoqué un correspondance avec la liste noire des pourriels sur $3 en essayant d’ajouter $4.', + 'logentry-spamblacklist-hit' => '{{GENDER:$2|$1}} a provoqué une correspondance avec la liste noire des pourriels sur $3 en essayant d’ajouter $4.', 'right-spamblacklistlog' => 'Afficher le journal de la liste noire des pourriels', 'action-spamblacklistlog' => 'afficher le journal de la liste noir des pourriels', ); @@ -1567,7 +1606,7 @@ $messages['hsb'] = array( 'spam-blacklisted-email-text' => 'Twoja e-mejlowa adresa je tuchwilu w Äornej lisćinje a tohodla za sÅ‚anje e-mejlow do druhich wužiwarjow zablokowana.', 'spam-blacklisted-email-signup' => 'Podata e-mejlowa adresa je tuchwilu pÅ™ećiwo wužiwanju zablokowana.', 'spam-invalid-lines' => '{{PLURAL:$1|slÄ›dowaca linka je njepÅ‚aćiwy regularny wuraz|slÄ›dowacych linkow je regularny wuraz|slÄ›dowace linki su regularne wurazy|slÄ›dowacej lince stej regularnej wurazaj}} a {{PLURAL:$1|dyrbi|dyrbi|dyrbja|dyrbjetej}} so korigować, prjedy haÄ so strona skÅ‚aduje:', - 'spam-blacklist-desc' => 'PÅ™ećiwospamowy nastroj na zakÅ‚adźe Regex: [[MediaWiki:Spam-blacklist]] a [[MediaWiki:Spam-whitelist]]', # Fuzzy + 'spam-blacklist-desc' => 'PÅ™ećiwospamowy nastroj na zakÅ‚adźe Regex, kotryž zmóznja URL na stronach a e-mejlowe adresy za zregistrowanych wužiwarjow do Äorneje lisćiny stajić', ); /** Hungarian (magyar) @@ -1644,7 +1683,12 @@ $messages['ia'] = array( 'spam-blacklisted-email-text' => 'Tu adresse de e-mail es actualmente blocate de inviar messages a altere usatores.', 'spam-blacklisted-email-signup' => 'Le adresse de e-mail specificate es actualmente blocate per le lista nigre.', 'spam-invalid-lines' => 'Le sequente {{PLURAL:$1|linea|lineas}} del lista nigre antispam es {{PLURAL:$1|un expression|expressiones}} regular invalide e debe esser corrigite ante que tu immagazina le pagina:', - 'spam-blacklist-desc' => 'Instrumento antispam a base de regex: [[MediaWiki:Spam-blacklist]] e [[MediaWiki:Spam-whitelist]]', # Fuzzy + 'spam-blacklist-desc' => 'Instrumento antispam a base de regex que permitte blocar URLs in paginas e adresses de e-mail pro usatores registrate', + 'log-name-spamblacklist' => 'Registro del lista nigre de spam', + 'log-description-spamblacklist' => 'Iste eventos tracia le activationes del lista nigre de spam.', + 'logentry-spamblacklist-hit' => '{{GENDER:$2|$1}} ha provocate un activation del lista nigre de spam sur $3 con su tentativa de inserer $4.', + 'right-spamblacklistlog' => 'Vider le registro del lista nigre de spam', + 'action-spamblacklistlog' => 'vider le registro del lista nigre de spam', ); /** Indonesian (Bahasa Indonesia) @@ -1719,7 +1763,12 @@ $messages['ilo'] = array( 'spam-blacklisted-email-text' => 'Ti e-suratmo a pagtaengan ket agdama a naiparit manipud ti panagipatulod kadagiti e-surat kadagiti sabsabali nga agar-aramat.', 'spam-blacklisted-email-signup' => 'Ti naited nga e-surat a pagatengan ket agdama a naiparit manipud ti panagusar.', 'spam-invalid-lines' => 'Ti sumaganad a spam blacklist {{PLURAL:$1| a linia ket|kadagiti linia ket}} imbalido a kadawyan {{PLURAL:$1|a nangisao|kadagiti panangisao}} ken {{PLURAL:$1|masapsapol|masapol}} a mapudnuan sakbay nga idulin ti panid:', - 'spam-blacklist-desc' => 'Naibantay ti regex kontra-spam a ramit: [[MediaWiki:Spam-blacklist]] ken [[MediaWiki:Spam-whitelist]]', # Fuzzy + 'spam-blacklist-desc' => 'Naibatay ti regex a ramit ti kontra-spam a mangpalubos a mangiparit kadagiti URL kadagiti panid ken dagiti esurat a pagtaengan para kadagiti nakarehistro nga agar-aramat', + 'log-name-spamblacklist' => 'Listaan ti naiparit para iti spam', + 'log-description-spamblacklist' => 'Dagitoy a pasamak ket surotenna dagiti naiparit a listaan a napuntaan ti spam.', + 'logentry-spamblacklist-hit' => 'Ti $1 ket gapuanan ti pannakapunta ti naiparit a listaan ti spam iti $3 babaen ti panagpadas nga aginayon iti $4.', + 'right-spamblacklistlog' => 'Kitaen ti naiparit a listaan ti spam', + 'action-spamblacklistlog' => 'kitaen ti naiparit a listaan ti spam', ); /** Icelandic (Ãslenska) @@ -1873,7 +1922,7 @@ $messages['ja'] = array( 'spam-blacklist-desc' => 'ページ内㮠URL や登録利用者ã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’ブラックリスト化ã§ãるよã†ã«ã™ã‚‹ã€æ£è¦è¡¨ç¾ã«åŸºã¥ã„ãŸã‚¹ãƒ‘ム対ç–ツール', 'log-name-spamblacklist' => 'スパムブラックリスト記録', 'log-description-spamblacklist' => 'ã“れらã®ã‚¤ãƒ™ãƒ³ãƒˆã¯ã‚¹ãƒ‘ムブラックリストã¨ã®ä¸€è‡´ã‚’追跡ã—ã¾ã™ã€‚', - 'logentry-spamblacklist-hit' => '$1 ㌠$3 ã« $4 ã‚’è¿½åŠ ã—よã†ã¨ã—ãŸéš›ã«ã‚¹ãƒ‘ムブラックリストãŒç™ºå‹•ã—ã¾ã—ãŸã€‚', + 'logentry-spamblacklist-hit' => '{{GENDER:$2|$1}} ㌠$3 ã« $4 ã‚’è¿½åŠ ã—よã†ã¨ã—ãŸéš›ã«ã‚¹ãƒ‘ムブラックリストãŒç™ºå‹•ã—ã¾ã—ãŸã€‚', 'right-spamblacklistlog' => 'スパムブラックリストを閲覧', 'action-spamblacklistlog' => 'スパムブラックリスト記録ã®é–²è¦§', ); @@ -2207,6 +2256,15 @@ $messages['li'] = array( 'spam-blacklist-desc' => 'Antispamfunctionaliteit via reguliere expressies: [[MediaWiki:Spam-blacklist]] en [[MediaWiki:Spam-whitelist]]', # Fuzzy ); +/** لوری (لوری) + * @author Bonevarluri + */ +$messages['lrc'] = array( + 'log-name-spamblacklist' => 'پهرستنومه نوم Ú¯Ù‡ سئ اسپم', + 'right-spamblacklistlog' => 'دیئن پهرستنومه نوم Ú¯Ù‡ سئ اسپم', + 'action-spamblacklistlog' => 'دیئن پهرستنومه نوم Ú¯Ù‡ سئ اسپم', +); + /** Minangkabau (Baso Minangkabau) * @author Iwan Novirion */ @@ -2312,7 +2370,12 @@ $messages['ml'] = array( 'spam-blacklisted-email-text' => 'താങàµà´•à´³àµà´Ÿàµ† ഇമെയിൽ വിലാസം ഇപàµà´ªàµ‹àµ¾ മറàµà´±àµà´³àµà´³à´µàµ¼à´•àµà´•àµ à´Žà´´àµà´¤àµà´¤à´¯à´•àµà´•à´¾à´¨à´¾à´µà´¾à´¤àµà´¤ à´•à´°à´¿à´®àµà´ªà´Ÿàµà´Ÿà´¿à´•à´¯à´¿àµ½ ഉൾപàµà´ªàµ†à´Ÿàµà´Ÿà´¿à´°à´¿à´•àµà´•àµà´¨àµà´¨àµ.', 'spam-blacklisted-email-signup' => 'നൽകിയ ഇമെയിൽ വിലാസം ഇപàµà´ªàµ‹àµ¾ à´•à´°à´¿à´®àµà´ªà´Ÿàµà´Ÿà´¿à´•à´¯à´¿àµ½ പെടàµà´Ÿà´¿à´°à´¿à´•àµà´•àµà´¨àµà´¨ à´’à´¨àµà´¨à´¾à´£àµ.', 'spam-invalid-lines' => 'താഴെ കൊടàµà´¤àµà´¤à´¿à´°à´¿à´•àµà´•àµà´¨àµà´¨ പാഴെഴàµà´¤àµà´¤àµ à´•à´°à´¿à´®àµà´ªà´Ÿàµà´Ÿà´¿à´•à´¯à´¿à´²àµ† {{PLURAL:$1|വരി à´’à´°àµ|വരികൾ}} അസാധàµà´µà´¾à´¯ റെഗàµà´²àµ¼ {{PLURAL:$1|à´Žà´•àµà´¸àµâ€Œâ€Œà´ªàµà´°àµ†à´·àµ»|à´Žà´•àµà´¸àµâ€Œâ€Œà´ªàµà´°àµ†à´·à´¨àµà´•àµ¾}} ആണàµ, താൾ സേവൠചെയàµà´¯àµà´¨àµà´¨à´¤à´¿à´¨àµ à´®àµà´®àµà´ªàµ {{PLURAL:$1|à´…à´¤àµ|à´…à´µ}} ശരിയാകàµà´•àµ‡à´£àµà´Ÿà´¤àµà´£àµà´Ÿàµ:', - 'spam-blacklist-desc' => 'റെജെകàµà´¸àµ-അധിഷàµà´ à´¿à´¤ പാഴെഴàµà´¤àµà´¤àµ തടയൽ ഉപകരണം: [[MediaWiki:Spam-blacklist]] à´’à´ªàµà´ªà´‚ [[MediaWiki:Spam-whitelist]]', # Fuzzy + 'spam-blacklist-desc' => 'à´…à´‚à´—à´¤àµà´µà´®àµ†à´Ÿàµà´¤àµà´¤ ഉപയോകàµà´¤à´¾à´•àµà´•àµ¾ à´¯àµ.ആർ.à´Žà´²àµà´²àµà´•à´³àµà´‚ ഇമെയിൽ വിലാസങàµà´™à´³àµà´‚, താളàµà´•à´³à´¿àµ½ ചേർകàµà´•àµà´¨àµà´¨à´¤àµ à´•à´°à´¿à´®àµà´ªà´Ÿàµà´Ÿà´¿à´•à´¯à´¿àµ½ പെടàµà´¤àµà´¤à´¾à´¨àµà´³àµà´³ റെജെകàµà´¸àµ-അധിഷàµà´ à´¿à´¤ പാഴെഴàµà´¤àµà´¤àµ തടയൽ ഉപകരണം', + 'log-name-spamblacklist' => 'പാഴെഴàµà´¤àµà´¤àµ à´•à´°à´¿à´®àµà´ªà´Ÿàµà´Ÿà´¿à´• രേഖ', + 'log-description-spamblacklist' => 'പാഴെഴàµà´¤àµà´¤àµ à´•à´°à´¿à´®àµà´ªà´Ÿàµà´Ÿà´¿à´•à´¯àµ† ഉണർതàµà´¤à´¿à´¯ à´ªàµà´°à´µàµƒà´¤àµà´¤à´¿à´•à´³àµà´Ÿàµ† രേഖ.', + 'logentry-spamblacklist-hit' => '$3 à´Žà´¨àµà´¨ താളിൽ $4 à´Žà´¨àµà´¨à´¤àµ ചേർകàµà´•à´¾àµ» $1 നടതàµà´¤à´¿à´¯ à´¶àµà´°à´®à´‚ പാഴെഴàµà´¤àµà´¤àµ à´•à´°à´¿à´®àµà´ªà´Ÿàµà´Ÿà´¿à´•à´¯à´¿àµ½ à´•àµà´Ÿàµà´™àµà´™à´¿à´¯à´¿à´°à´¿à´•àµà´•àµà´¨àµà´¨àµ.', + 'right-spamblacklistlog' => 'പാഴെഴàµà´¤àµà´¤àµ à´•à´°à´¿à´®àµà´ªà´Ÿàµà´Ÿà´¿à´• രേഖ കാണàµà´•', + 'action-spamblacklistlog' => 'പാഴെഴàµà´¤àµà´¤àµ à´•à´°à´¿à´®àµà´ªà´Ÿàµà´Ÿà´¿à´• രേഖ കാണàµà´•', ); /** Marathi (मराठी) @@ -2524,6 +2587,11 @@ $messages['nl'] = array( 'spam-blacklisted-email-signup' => 'Het opgegeven e-mailadres staat momenteel op de zwarte lijst.', 'spam-invalid-lines' => 'De volgende {{PLURAL:$1|regel|regels}} van de zwarte lijst {{PLURAL:$1|is een|zijn}} onjuiste reguliere {{PLURAL:$1|expressie|expressies}} en {{PLURAL:$1|moet|moeten}} verbeterd worden alvorens de pagina kan worden opgeslagen:', 'spam-blacklist-desc' => "Op reguliere expressies gebaseed antispamhulpprogramma dat het mogelijk maakt URL's in pagina's te blokkeren en e-mailadressen voor geblokkeerde gebruikers", + 'log-name-spamblacklist' => 'Logboek zwarte lijst', + 'log-description-spamblacklist' => 'Deze lijst bevat gebeurtenissen met betrekking tot de zwarte lijst.', + 'logentry-spamblacklist-hit' => '{{GENDER:$2|$1}} heeft geprobeerd $4 van de zwarte lijst toe te voegen op $3', + 'right-spamblacklistlog' => 'Logboek zwarte lijst bekijken', + 'action-spamblacklistlog' => 'logboek zwarte lijst te bekijken', ); /** Nederlands (informeel)‎ (Nederlands (informeel)‎) @@ -2631,6 +2699,7 @@ $messages['or'] = array( /** Polish (polski) * @author BeginaFelicysym + * @author Chrumps * @author Derbeth * @author Sp5uhe */ @@ -2677,6 +2746,8 @@ $messages['pl'] = array( 'spam-blacklisted-email-signup' => 'Podany adres e-mail jest obecnie na czarnej liÅ›cie blokujÄ…cej przed użyciem.', 'spam-invalid-lines' => '{{PLURAL:$1|NastÄ™pujÄ…ca linia jest niepoprawnym wyrażeniem regularnym i musi być poprawiona przed zapisaniem strony:|NastÄ™pujÄ…ce linie sÄ… niepoprawnymi wyrażeniami regularnymi i muszÄ… być poprawione przed zapisaniem strony:}}', 'spam-blacklist-desc' => 'NarzÄ™dzie antyspamowe oparte o wyrażenia regularne: [[MediaWiki:Spam-blacklist|spam – lista zabronionych]] oraz [[MediaWiki:Spam-whitelist|spam – lista dozwolonych]]', # Fuzzy + 'logentry-spamblacklist-hit' => '$1 {{GENDER:$2|uruchomiÅ‚|uruchomiÅ‚a}} filtr antyspamowy na stronie $3 próbujÄ…c dodać $4.', + 'right-spamblacklistlog' => 'PodglÄ…d rejestru czarnej listy spamu', ); /** Piedmontese (Piemontèis) @@ -2709,7 +2780,12 @@ $messages['pms'] = array( 'spam-blacklisted-email-text' => "Soa adrëssa ëd pòsta eletrònica a l'é al moment an na lista nèira për mandé dij mëssagi a j'à utri utent.", 'spam-blacklisted-email-signup' => "L'adrëssa ëd pòsta eletrònica dà ita a l'é al moment an na lista nèira për l'utilisassion.", 'spam-invalid-lines' => "{{PLURAL:$1|St'|Sti}} element dla lista nèira dla rumenta ëd reclam a {{PLURAL:$1|l'é|son}} {{PLURAL:$1|n'|dj'}}espression regolar nen {{PLURAL:$1|bon-a|bon-e}} e a l'{{PLURAL:$1|ha|han}} da manca d'esse coregiùe anans che salvé la pà gina:", - 'spam-blacklist-desc' => 'Strument anti-spam basà an dzora a Regex: [[MediaWiki:Spam-blacklist]] e [[MediaWiki:Spam-whitelist]]', # Fuzzy + 'spam-blacklist-desc' => "Utiss contra la rumenta basà su dj'espression regolar ch'a permëtto ëd buté an sla lista nèira dj'adrësse an sl'Aragnà ant le pà gine e dj'adrësse ëd pòsta eletrònica për j'utent argistrà .", + 'log-name-spamblacklist' => 'Argistr dla lista nèira dla rumenta', + 'log-description-spamblacklist' => 'Costi eveniment a marco le rëspondense con la lista nèira dla rumenta.', + 'logentry-spamblacklist-hit' => "$1 a l'ha causà na rëspondensa con la lista nèira dla rumenta su $3 an sërcand ëd gionté $4.", + 'right-spamblacklistlog' => "Smon-e l'argistr dla lista nèira dla rumenta", + 'action-spamblacklistlog' => "vëdde l'argistr dla lista nèira dla rumenta", ); /** Western Punjabi (پنجابی) @@ -2850,6 +2926,13 @@ $messages['pt-br'] = array( 'action-spamblacklistlog' => 'ver os registros da lista negra de spam', ); +/** Romansh (rumantsch) + * @author Kazu89 + */ +$messages['rm'] = array( + 'log-name-spamblacklist' => 'Protocol da la glista naira da spam', +); + /** Romanian (română) * @author Firilacroco * @author Minisarm @@ -2924,9 +3007,11 @@ $messages['roa-tara'] = array( /** Russian (руÑÑкий) * @author Ahonc + * @author Amire80 * @author Express2000 * @author HalanTul * @author Kaganer + * @author NBS * @author Okras * @author ÐлекÑандр Сигачёв */ @@ -2970,8 +3055,13 @@ $messages['ru'] = array( 'spam-blacklisted-email' => 'ÐдреÑа Ñлектронной почты, занеÑённые в чёрный ÑпиÑок', 'spam-blacklisted-email-text' => 'Ваш Ð°Ð´Ñ€ÐµÑ Ñлектронной почты в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚ÑÑ Ð² чёрном ÑпиÑке, поÑтому вы не можете отправлÑÑ‚ÑŒ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼ пользователÑм.', 'spam-blacklisted-email-signup' => 'Указанный Ð°Ð´Ñ€ÐµÑ Ñлектронной почты в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð½ÐµÑён в чёрный ÑпиÑок и не может быть иÑпользован.', - 'spam-invalid-lines' => '{{PLURAL:$1|Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ñтрока чёрного ÑпиÑка ÑÑылок Ñодержит ошибочное регулÑрное выражение и должна быть иÑправлена|Следующие Ñтроки чёрного ÑпиÑка ÑÑылок Ñодержат ошибочные регулÑрные Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¸ должны быть иÑправлены}} перед Ñохранением:', + 'spam-invalid-lines' => '{{PLURAL:$1|1=Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ñтрока чёрного ÑпиÑка ÑÑылок Ñодержит ошибочное регулÑрное выражение и должна быть иÑправлена|Следующие Ñтроки чёрного ÑпиÑка ÑÑылок Ñодержат ошибочные регулÑрные Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¸ должны быть иÑправлены}} перед Ñохранением:', 'spam-blacklist-desc' => 'ОÑнованный на регулÑрных выражениÑÑ… анти-Ñпам инÑтрумент позволÑет добавлÑÑ‚ÑŒ в чёрный ÑпиÑок URL на Ñтраницах и адреÑа Ñлектронной почты Ð´Ð»Ñ Ð·Ð°Ñ€ÐµÐ³Ð¸Ñтрированных пользователей', + 'log-name-spamblacklist' => 'Журнал Ñпам-лиÑта', + 'log-description-spamblacklist' => 'Ðто журнал, отÑлеживающий Ñрабатывание Ñпам-лиÑта.', + 'logentry-spamblacklist-hit' => '$1 вызвал Ñрабатывание Ñпам-лиÑта на Ñтранице $3 из-за попытки добавить $4.', + 'right-spamblacklistlog' => 'ПроÑмотр журнала чёрного ÑпиÑка по Ñпаму', + 'action-spamblacklistlog' => 'проÑмотр журнала чёрного ÑпиÑка по Ñпаму', ); /** Rusyn (руÑиньÑкый) @@ -3301,7 +3391,9 @@ $messages['stq'] = array( ); /** Swedish (svenska) + * @author Ainali * @author Lejonel + * @author Lokal Profil * @author Skalman * @author WikiPhoenix */ @@ -3326,9 +3418,33 @@ $messages['sv'] = array( # * Alla icke-tomma rader används som reguljära uttryck för att matcha domännamn i URL:er #</pre> <!-- ändra inte den här raden -->', + 'email-blacklist' => ' #<!-- ändra inte den här raden --> <pre> +# E-postadresser som matchar den här listan kommer att hindras att registrera och skicka e-post +# Denna lista gäller endast denna wiki; se även den globala svartlistan. +# För dokumentation se https://www.mediawiki.org/wiki/Extension:SpamBlacklist +# +# Syntaxen är följande: +# * Allt frÃ¥n ett "#"-tecken till slutet av raden är en kommentar +# * Varje icke-tom rad är ett regex-fragment som endast kommer att matcha värdnamn i e-postadresser + #</pre> <!-- ändra inte den här raden -->', + 'email-whitelist' => ' #<!-- ändra inte den här raden --> <pre> +# E-postadresser som matchar den här listan kommer *inte* att blockeras, även om de skulle ha blivit blockerade av svartlistan. +# +# Syntaxen är följande: +# * Allt frÃ¥n ett "#"-tecken till slutet av raden är en kommentar +# * Varje icke-tom rad är ett regex-fragment som endast kommer att matcha värdnamn i e-postadresser + + #</pre> <!-- ändra inte den här raden -->', 'spam-blacklisted-email' => 'Svartlistad e-postadress', + 'spam-blacklisted-email-text' => 'Din e-postadress är för närvarande svartlistad frÃ¥n att skicka e-post till andra användare.', + 'spam-blacklisted-email-signup' => 'Den angivna e-postadressen är förnärvarande svartlistad frÃ¥n användning.', 'spam-invalid-lines' => 'Följande {{PLURAL:$1|rad|rader}} i svarta listan för spam innehÃ¥ller inte nÃ¥got giltigt reguljärt uttryck och mÃ¥ste rättas innan sidan sparas:', 'spam-blacklist-desc' => 'Antispamverktyg baserat pÃ¥ reguljära uttryck som gör det möjligt att svartlista webbadresser pÃ¥ sidor och e-postadresser för registrerade användare', + 'log-name-spamblacklist' => 'Svartlistningslogg för spam', + 'log-description-spamblacklist' => 'Dessa händelser spÃ¥rar träffar is svartlistningsloggen för spam.', + 'logentry-spamblacklist-hit' => '$1 orsakade en träff i svartlistningsloggen för spam pÃ¥ $3 genom att försöka lägga till $4.', + 'right-spamblacklistlog' => 'Visa svartlistningslogg för spam', + 'action-spamblacklistlog' => 'visa svartlistningsloggen för spam', ); /** Tamil (தமிழà¯) @@ -3559,7 +3675,7 @@ $messages['uk'] = array( 'spam-blacklisted-email' => 'ÐдреÑа електронної пошти з чорного ÑпиÑку', 'spam-blacklisted-email-text' => 'Ваша адреÑа електронної пошти в даний Ñ‡Ð°Ñ Ð·Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚ÑŒÑÑ Ð² чорному ÑпиÑку, тому ви не можете надÑилати Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ–Ð½ÑˆÐ¸Ð¼ кориÑтувачам.', 'spam-blacklisted-email-signup' => 'Вказана Вами адреÑа електронної пошти наразі занеÑена до чорного ÑпиÑку Ñ– не може бути викориÑтаною.', - 'spam-invalid-lines' => '{{PLURAL:$1|ÐаÑтупний Ñ€Ñдок із чорного ÑпиÑку поÑилань міÑтить помилковий регулÑрний вираз Ñ– його треба виправити|ÐаÑтупні Ñ€Ñдки із чорного ÑпиÑку поÑилань міÑÑ‚ÑÑ‚ÑŒ помилкові регулÑрні вирази Ñ– Ñ—Ñ… треба виправити}} перед збереженнÑм:', + 'spam-invalid-lines' => '{{PLURAL:$1|1=ÐаÑтупний Ñ€Ñдок із чорного ÑпиÑку поÑилань міÑтить помилковий регулÑрний вираз Ñ– його треба виправити|ÐаÑтупні Ñ€Ñдки із чорного ÑпиÑку поÑилань міÑÑ‚ÑÑ‚ÑŒ помилкові регулÑрні вирази Ñ– Ñ—Ñ… треба виправити}} перед збереженнÑм:', 'spam-blacklist-desc' => 'ЗаÑновану на регулÑрних виразах антиÑпам інÑтрумент, Ñкий дозволÑÑ” кидати у чорний ÑпиÑок URL Ñторінки Ñ– адреÑи електронної пошти Ð´Ð»Ñ Ð·Ð°Ñ€ÐµÑ”Ñтрованих кориÑтувачів', 'log-name-spamblacklist' => 'Журнал чорного ÑпиÑку Ñпамерів', 'log-description-spamblacklist' => 'Ці події відÑтежують потраплÑÐ½Ð½Ñ Ñƒ чорний ÑпиÑок Ñпамерів.', @@ -3803,8 +3919,10 @@ $messages['zh-hant'] = array( 'spam-blacklisted-email-text' => '您的電郵地å€ç›®å‰å·²åˆ—入黑å單以防æ¢æ‚¨ç™¼é€é›»éƒµäºˆå…¶ä»–用戶。', 'spam-blacklisted-email-signup' => 'æ¤é›»éƒµåœ°å€ç›®å‰è¢«ç¦æ¢ä½¿ç”¨ã€‚', 'spam-invalid-lines' => '以下在çŒæ°´é»‘å單的{{PLURAL:$1|一行|多行}}有無效的表示å¼ï¼Œè«‹åœ¨å„²å˜é€™é å‰å…ˆå°‡{{PLURAL:$1|它|它們}}ä¿®æ£ï¼š', - 'spam-blacklist-desc' => '以æ£å‰‡è¡¨é”å¼ç‚ºæœ¬çš„防çŒæ°´å·¥å…·ï¼š[[MediaWiki:Spam-blacklist]] 與 [[MediaWiki:Spam-whitelist]]', # Fuzzy + 'spam-blacklist-desc' => '基於æ£å‰‡è¡¨é”å¼çš„å垃圾電郵工具,å…è¨±åŠ å…¥æ¿«ç™¼é›»éƒµçš„URLå’Œ/或註冊用戶於æ¤é é¢', 'log-name-spamblacklist' => '垃圾連çµé»‘å單日誌', + 'log-description-spamblacklist' => '這些事件已被垃圾郵件黑å單觸發。', + 'logentry-spamblacklist-hit' => '$1æ–¼$3å˜—è©¦åŠ å…¥$4而觸發垃圾電郵黑å單。', 'right-spamblacklistlog' => '查閱垃圾電郵黑å單日誌', 'action-spamblacklistlog' => '查閱垃圾電郵黑å單日誌', ); diff --git a/extensions/SpamBlacklist/SpamBlacklist.php b/extensions/SpamBlacklist/SpamBlacklist.php index 2fd7855d..45e5237c 100644 --- a/extensions/SpamBlacklist/SpamBlacklist.php +++ b/extensions/SpamBlacklist/SpamBlacklist.php @@ -18,6 +18,10 @@ $wgExtensionCredits['antispam'][] = array( $dir = __DIR__ . '/'; $wgExtensionMessagesFiles['SpamBlackList'] = $dir . 'SpamBlacklist.i18n.php'; +// Register the API method +$wgAutoloadClasses['ApiSpamBlacklist'] = "$dir/api/ApiSpamBlacklist.php"; +$wgAPIModules['spamblacklist'] = 'ApiSpamBlacklist'; + /** * Array of settings for blacklist classes */ diff --git a/extensions/SpamBlacklist/SpamBlacklist_body.php b/extensions/SpamBlacklist/SpamBlacklist_body.php index bf5c9aab..15fbc72f 100644 --- a/extensions/SpamBlacklist/SpamBlacklist_body.php +++ b/extensions/SpamBlacklist/SpamBlacklist_body.php @@ -34,10 +34,13 @@ class SpamBlacklist extends BaseBlacklist { * This is used to load the old links already on the page, so * the filter is only applied to links that got added. If not given, * the filter is applied to all $links. + * @param boolean $preventLog Whether to prevent logging of hits. Set to true when + * the action is testing the links rather than attempting to save them + * (e.g. the API spamblacklist action) * * @return Array Matched text(s) if the edit should not be allowed, false otherwise */ - function filter( array $links, Title $title = null ) { + function filter( array $links, Title $title = null, $preventLog = false ) { $fname = 'wfSpamBlacklistFilter'; wfProfileIn( $fname ); @@ -93,7 +96,9 @@ class SpamBlacklist extends BaseBlacklist { $ip = $wgRequest->getIP(); $imploded = implode( ' ', $matches[0] ); wfDebugLog( 'SpamBlacklistHit', "$ip caught submitting spam: $imploded\n" ); - $this->logFilterHit( $title, $imploded ); // Log it + if( !$preventLog ) { + $this->logFilterHit( $title, $imploded ); // Log it + } if( $retVal === false ){ $retVal = array(); } diff --git a/extensions/SpamBlacklist/api/ApiSpamBlacklist.php b/extensions/SpamBlacklist/api/ApiSpamBlacklist.php new file mode 100644 index 00000000..dad9e8e0 --- /dev/null +++ b/extensions/SpamBlacklist/api/ApiSpamBlacklist.php @@ -0,0 +1,78 @@ +<?php +/** + * SpamBlacklist extension API + * + * Copyright © 2013 Wikimedia Foundation + * Based on code by Ian Baker, Victor Vasiliev, Bryan Tong Minh, Roan Kattouw, + * Alex Z., and Jackmcbarn + * + * 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 + */ + +/** + * Query module check a URL against the blacklist + * + * @ingroup API + * @ingroup Extensions + */ +class ApiSpamBlacklist extends ApiBase { + + public function execute() { + $params = $this->extractRequestParams(); + $matches = BaseBlacklist::getInstance( 'spam' )->filter( $params['url'], NULL, true ); + $res = $this->getResult(); + + if ( $matches !== false ) { + // this url is blacklisted. + $res->addValue( 'spamblacklist', 'result', 'blacklisted' ); + $res->setIndexedTagName( $matches, 'match' ); + $res->addValue( 'spamblacklist', 'matches', $matches ); + } else { + // not blacklisted + $res->addValue( 'spamblacklist', 'result', 'ok' ); + } + } + + public function getAllowedParams() { + return array( + 'url' => array( + ApiBase::PARAM_REQUIRED => true, + ApiBase::PARAM_ISMULTI => true, + ) + ); + } + + public function getParamDescription() { + return array( + 'url' => 'A pipe-separated list of URLs to validate against the blacklist', + ); + } + + public function getDescription() { + return 'Validate one or more URLs against the SpamBlacklist.'; + } + + public function getExamples() { + return array( + 'api.php?action=spamblacklist&url=http%3A%2F%2Fwww.example.com%2F%7Chttp%3A%2F%2Fwww.example.org%2F', + 'api.php?action=spamblacklist&url=https%3A%2F%2Fwww.example.net%2Findex.php', + ); + } + + public function getHelpUrls() { + return array( 'https://www.mediawiki.org/wiki/Extension:SpamBlacklist/API' ); + } +} diff --git a/extensions/SyntaxHighlight_GeSHi/COPYING b/extensions/SyntaxHighlight_GeSHi/COPYING new file mode 100644 index 00000000..d159169d --- /dev/null +++ b/extensions/SyntaxHighlight_GeSHi/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + 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. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.class.php b/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.class.php index 7318574d..b1c9851d 100644 --- a/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.class.php +++ b/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.class.php @@ -28,12 +28,6 @@ class SyntaxHighlight_GeSHi { // Don't trim leading spaces away, just the linefeeds $text = preg_replace( '/^\n+/', '', $text ); - if( $wgUseTidy ) { - // HTML Tidy will convert tabs to spaces incorrectly (bug 30930). - // Preemptively replace the spaces in a more controlled fashion. - $text = self::tabsToSpaces( $text ); - } - // Validate language if( isset( $args['lang'] ) && $args['lang'] ) { $lang = $args['lang']; @@ -101,6 +95,12 @@ class SyntaxHighlight_GeSHi { if( $enclose === GESHI_HEADER_DIV ) { $out = str_replace( "\n", '', $out ); } + // HTML Tidy will convert tabs to spaces incorrectly (bug 30930). + // But the conversion from tab to space occurs while reading the input, + // before the conversion from 	 to tab, so we can armor it that way. + if( $wgUseTidy ) { + $out = str_replace( "\t", '	', $out ); + } // Register CSS $parser->getOutput()->addHeadItem( self::buildHeadItem( $geshi ), "source-{$lang}" ); @@ -488,35 +488,4 @@ class SyntaxHighlight_GeSHi { public static function hOldSpecialVersion_GeSHi( &$sp, &$extensionTypes ) { return self::hSpecialVersion_GeSHi( $extensionTypes ); } - - /** - * Convert tabs to spaces - * - * @param string $text - * @return string - */ - private static function tabsToSpaces( $text ) { - $lines = explode( "\n", $text ); - $lines = array_map( array( __CLASS__, 'tabsToSpacesLine' ), $lines ); - return implode( "\n", $lines ); - } - - /** - * Convert tabs to spaces for a single line - * - * @param $line - * @internal param string $text - * @return string - */ - private static function tabsToSpacesLine( $line ) { - $parts = explode( "\t", $line ); - $width = 8; // To match tidy's config & typical browser defaults - $out = $parts[0]; - foreach( array_slice( $parts, 1 ) as $chunk ) { - $spaces = $width - (strlen( $out ) % $width); - $out .= str_repeat( ' ', $spaces ); - $out .= $chunk; - } - return $out; - } } diff --git a/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.i18n.php b/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.i18n.php index 8555c4f9..d385b01c 100644 --- a/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.i18n.php +++ b/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.i18n.php @@ -202,11 +202,12 @@ $messages['ca'] = array( * @author Умар */ $messages['ce'] = array( + 'syntaxhighlight-desc' => 'Таро хуьлуьйту тег <code><syntaxhighlight></code> лело [http://qbnz.com/highlighter/ GeSHi Highlighter] гӀоьнца ÑинтакÑиÑан Ð±Ð¾Ñ Ñ…Ð¸Ð»Ð¸Ð¹Ñ‚Ð°', 'syntaxhighlight-supported' => 'Ловш долу меттанаш:', 'geshi.css' => '/* CSS-код, кху чу Ñ…lоттайахь, оцо болх бийра бу Ñизашдо беÑнашна Ñ…lокхуньца GeSHI */', ); -/** Czech (Äesky) +/** Czech (ÄeÅ¡tina) * @author Li-sung * @author MatÄ›j Grabovský */ @@ -320,7 +321,7 @@ $messages['es'] = array( $messages['et'] = array( 'syntaxhighlight-desc' => 'Võimaldab [http://qbnz.com/highlighter/ GeSHi] abil <code><syntaxhighlight></code>-silti kasutades süntaksit esile tõsta.', 'syntaxhighlight-specify' => 'Sa pead täpsustama keelt nõnda:', - 'syntaxhighlight-supported' => 'Süntaksi esiletoomise on toetatud järgnevates keeltes:', + 'syntaxhighlight-supported' => 'Süntaksi esiletõstu toetavad keeled:', 'syntaxhighlight-err-loading' => '(toetatud keelte loetelu laadimisel esines viga)', 'syntaxhighlight-err-language' => 'Vigane keel.', 'geshi.css' => '/* CSS mis on asetatud siia, määrab GeSHi süntaksi esiletoomise stiili */', @@ -442,11 +443,12 @@ $messages['gu'] = array( ); /** Hebrew (עברית) + * @author Guycn2 * @author Rotem Liss */ $messages['he'] = array( 'syntaxhighlight-desc' => '×פשרות לסימון קוד מקור ×‘×¦×‘×¢×™× ×¢× ×”×ª×’×™×ª <code><syntaxhighlight></code> ב×מצעות [http://qbnz.com/highlighter/ GeSHi Highlighter]', - 'syntaxhighlight-specify' => '×¢×œ×™×›× ×œ×¦×™×™×Ÿ שפה ב×ופן הב×:', + 'syntaxhighlight-specify' => 'יש לציין שפה ב×ופן הב×:', 'syntaxhighlight-supported' => 'שפות × ×ª×ž×›×•×ª:', 'syntaxhighlight-err-loading' => '(שגי××” ×‘×˜×¢×™× ×ª הרשימה של השפות ×”× ×ª×ž×›×•×ª)', 'syntaxhighlight-err-language' => 'שפה שגויה.', @@ -545,6 +547,18 @@ $messages['ig'] = array( 'syntaxhighlight-err-language' => 'Asụsụ ámághị.', ); +/** Iloko (Ilokano) + * @author Lam-ang + */ +$messages['ilo'] = array( + 'syntaxhighlight-desc' => 'Mangited ti panangimaris ti eskritu <code><syntaxhighlight></code> nga agus-usar iti [http://qbnz.com/highlighter/ GeSHi - Generic Syntax Highlighter]', + 'syntaxhighlight-specify' => 'Nasken nga inaganan ti pagsasao a kasla daytoy:', + 'syntaxhighlight-supported' => 'Dagiti nasuportaran a pagsasao para iti panangimaris ti eskritu:', + 'syntaxhighlight-err-loading' => '(biddut ti panangikarga ti listaan ti nasuportaran a pagsasao)', + 'syntaxhighlight-err-language' => 'Imbalido a pagsasao.', + 'geshi.css' => '/* Ti CSS a maikabil ditoy ket maipakatto iti panangimaris ti eskritu ti GeSHi */', +); + /** Ido (Ido) * @author Malafaya */ @@ -688,10 +702,11 @@ $messages['ksh'] = array( /** Luxembourgish (Lëtzebuergesch) * @author Les Meloures * @author Robby + * @author Soued031 */ $messages['lb'] = array( 'syntaxhighlight-desc' => "Syntax-Ervirhiewung <code><syntaxhighlight></code> mat Hëllef vu [http://qbnz.com/highlighter/ 'GeSHi Highlighter']", - 'syntaxhighlight-specify' => 'Déi gewënscht Sprooch muss esou definéiert ginn:', + 'syntaxhighlight-specify' => 'Déi gewënscht Sprooch muss sou definéiert ginn:', 'syntaxhighlight-supported' => "Ënnerstëtzte Sprooche fir d'Syntax faarweg ze markéieren", 'syntaxhighlight-err-loading' => '(Feeler beim Luede vun der Lëscht vun den ënnerstëtzte Sproochen)', 'syntaxhighlight-err-language' => 'Net valabel Sprooch.', @@ -936,7 +951,6 @@ $messages['pt'] = array( /** Brazilian Portuguese (português do Brasil) * @author Helder.wiki - * @author Heldergeovane */ $messages['pt-br'] = array( 'syntaxhighlight-desc' => 'Providencia realce de sintaxe <code><syntaxhighlight></code> através do [http://qbnz.com/highlighter/ GeSHi Highlighter]', @@ -1124,12 +1138,13 @@ $messages['ta'] = array( ); /** Telugu (తెలà±à°—à±) + * @author Chaduvari * @author Veeven */ $messages['te'] = array( 'syntaxhighlight-specify' => 'à°à°¾à°·à°¨à°¿ à°ˆ విధంగా ఇవà±à°µà°¾à°²à°¿:', 'syntaxhighlight-supported' => 'ఛందసà±à°¸à± ఉదà±à°¦à±€à°ªà°¨à°•à°¿ తోడà±à°ªà°¾à°Ÿà± ఉనà±à°¨ à°à°¾à°·à°²à±:', - 'syntaxhighlight-err-loading' => '(తోడà±à°ªà°¾à°Ÿà±à°¨à±à°¨ à°à°¾à°·à°² జాబితా లోడింగà±à°²à±‹ పొరపాటౠజరిగింది)', + 'syntaxhighlight-err-loading' => '(తోడà±à°ªà°¾à°Ÿà±à°¨à±à°¨ à°à°¾à°·à°² జాబితా లోడింగà±à°²à±‹ లోపం జరిగింది)', 'syntaxhighlight-err-language' => 'చెలà±à°²à°¨à°¿ à°à°¾à°·.', ); diff --git a/extensions/SyntaxHighlight_GeSHi/geshi/geshi.php b/extensions/SyntaxHighlight_GeSHi/geshi/geshi.php index 60741577..4323d05c 100644 --- a/extensions/SyntaxHighlight_GeSHi/geshi/geshi.php +++ b/extensions/SyntaxHighlight_GeSHi/geshi/geshi.php @@ -41,7 +41,7 @@ // /** The version of this GeSHi file */ -define('GESHI_VERSION', '1.0.8.11'); +define('GESHI_VERSION', '1.0.8.11-wmf1'); // WMF fix for Haskell (bug 52509) // Define the root directory for the GeSHi code tree if (!defined('GESHI_ROOT')) { diff --git a/extensions/SyntaxHighlight_GeSHi/geshi/geshi/haskell.php b/extensions/SyntaxHighlight_GeSHi/geshi/geshi/haskell.php index adae1116..d3b494ed 100644 --- a/extensions/SyntaxHighlight_GeSHi/geshi/geshi/haskell.php +++ b/extensions/SyntaxHighlight_GeSHi/geshi/geshi/haskell.php @@ -13,6 +13,14 @@ * ------- * 2005/08/27 (1.0.0) * - First Release + * 2013/09/28 + * - Single quotes dropped from QUOTEMARKS to resolve <https://bugzilla.wikimedia.org/52509>. + * Change is local to SyntaxHighlight_GeSHi, made by Ori Livneh (ori@wikimedia.org), based + * on a proposed upstream patch. + * Upstream bug report: + * <http://sourceforge.net/p/geshi/bugs/217/> + * Upstream patch (stalled since 2012): + * <http://sourceforge.net/p/geshi/bugs/219/> * * TODO (updated 2005/08/27) * ------------------------- @@ -46,7 +54,7 @@ $language_data = array ( 3 => "/{-(?:(?R)|.)-}/s", //Nested Comments ), 'CASE_KEYWORDS' => 0, - 'QUOTEMARKS' => array('"',"'"), + 'QUOTEMARKS' => array('"'), // SyntaxHighlight_GeSHi modification; see CHANGES above. 'ESCAPE_CHAR' => '\\', 'KEYWORDS' => array( /* main haskell keywords */ diff --git a/extensions/TitleBlacklist/COPYING b/extensions/TitleBlacklist/COPYING new file mode 100644 index 00000000..d159169d --- /dev/null +++ b/extensions/TitleBlacklist/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + 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. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/extensions/TitleBlacklist/TitleBlacklist.i18n.php b/extensions/TitleBlacklist/TitleBlacklist.i18n.php index ca05a33d..39ce9d24 100644 --- a/extensions/TitleBlacklist/TitleBlacklist.i18n.php +++ b/extensions/TitleBlacklist/TitleBlacklist.i18n.php @@ -127,7 +127,7 @@ $messages['ar'] = array( هو يطابق مدخلة القائمة السوداء التالية: <code>$1</code>', 'titleblacklist-invalid' => '{{PLURAL:$1||السطر التالي|السطران التاليان|السطور التالية}} ÙÙŠ قائمة العناوين السوداء {{PLURAL:$1||غير صØÙŠØ|غير صØÙŠØان|غير صØÙŠØØ©}}Ø› من Ùضلك {{PLURAL:$1||صØØÙ‡|صØØهما|صØØهم}} قبل الØÙظ:', 'titleblacklist-override' => 'تجاهل القائمة السوداء', - 'right-tboverride' => 'تجاوز قائمة العناوين السوداء', # Fuzzy + 'right-tboverride' => 'تجاوز قائمتي العناوين أو أسماء المستخدمين السوداوين', 'right-tboverride-account' => 'تجاوز قائمة اسم المستخدم السوداء.', ); @@ -227,8 +227,8 @@ $messages['ba'] = array( Ул түбәндәге ҡара иÑемлек Ñҙмаһы менән тап килә: <code>$1</code>', 'titleblacklist-forbidden-new-account' => '"$2" иÑемле ҡатнашыуÑÑ‹ булдырыла алмай. Ул түбәндәге ҡара иÑемлек Ñҙмаһы менән тап килә: <code>$1</code>', - 'titleblacklist-invalid' => 'Ò Ð°Ñ€Ð° иÑемлектә түбәндәге {{PLURAL:$1|юл|юлдар}} дөрөҫ түгел; -зинһар, һаҡлар алдынан {{PLURAL:$1|уны|уларҙы}} төҙәтегеҙ:', + 'titleblacklist-invalid' => 'Ò Ð°Ñ€Ð° иÑемлектә түбәндәге {{PLURAL:$1|1=юл|юлдар}} дөрөҫ түгел; +зинһар, һаҡлар алдынан {{PLURAL:$1|1=уны|уларҙы}} төҙәтегеҙ:', # Fuzzy 'titleblacklist-override' => 'Ò Ð°Ñ€Ð° иÑемлекте иғтибарға алмаҫҡа', 'right-tboverride' => 'ИÑемдәр ҡара иÑемлеген иғтибарға алмау', # Fuzzy 'right-tboverride-account' => 'Ò Ð°Ñ‚Ð½Ð°ÑˆÑ‹ÑƒÑÑ‹ иÑемдәре ҡара иÑемлеген иғтибарға алмау', @@ -296,8 +296,8 @@ $messages['be-tarask'] = array( Яна адпавÑдае наÑтупнаму ÑлемÑнту чорнага ÑьпіÑу: <code>$1</code>', 'titleblacklist-forbidden-new-account' => 'Ð†Ð¼Ñ ÑžÐ´Ð·ÐµÐ»ÑŒÐ½Ñ–ÐºÐ° «$2» было забаронена Ð´Ð»Ñ ÑтварÑньнÑ. Яно адпавÑдае наÑтупнаму ÑлемÑнту чорнага ÑьпіÑу: <code>$1</code>', - 'titleblacklist-invalid' => '{{PLURAL:$1|ÐаÑтупны радок у|ÐаÑÑ‚ÑƒÐ¿Ð½Ñ‹Ñ Ñ€Ð°Ð´ÐºÑ– Ñž}} ÑьпіÑе забароненых назваў — {{PLURAL:$1|нÑÑлушны|нÑÑлушныÑ}}; -калі лаÑка, выпраўце {{PLURAL:$1|Ñго|Ñ–Ñ…}} перад захаваньнем:', + 'titleblacklist-invalid' => '{{PLURAL:$1|1=ÐаÑтупны радок у|ÐаÑÑ‚ÑƒÐ¿Ð½Ñ‹Ñ Ñ€Ð°Ð´ÐºÑ– Ñž}} ÑьпіÑе забароненых назваў — {{PLURAL:$1|1=нÑÑлушны|нÑÑлушныÑ}}; +калі лаÑка, выпраўце {{PLURAL:$1|1=Ñго|Ñ–Ñ…}} перад захаваньнем:', # Fuzzy 'titleblacklist-override' => 'Ігнараваць чорны ÑьпіÑ', 'right-tboverride' => 'Ігнараваньне чорнага ÑьпіÑу назваў Ñ– імёнаў удзельнікаў', 'right-tboverride-account' => 'ігнараваньне чорнага ÑьпіÑу ўдзельнікаў', @@ -404,6 +404,7 @@ molimo da {{PLURAL:$1|ga|ih}} ispravite prije spremanja:', * @author Aleator * @author El libre * @author Jordi Roqué + * @author Papapep * @author Pitort * @author SMP * @author Vriullop @@ -417,7 +418,7 @@ $messages['ca'] = array( # Per defecte, no distingeix majúscules de minúscules', 'titleblacklist-forbidden-edit' => 'El tÃtol «$2» està prohibit i no es pot crear. Concorda amb la següent entrada de la llista negra: <code>$1</code>', 'titleblacklist-forbidden-move' => "No es pot moure «$2» a «$3», perquè el tÃtol «$3» està prohibit. Concorda amb l'entrada de la llista negra següent: <code>$1</code>", - 'titleblacklist-forbidden-upload' => "El nom de fitxer «$2» ha estat prohibit i se n'impedeix la creació. Concorda amb la següent lÃnia de la llista negra: <code>$1</code>", + 'titleblacklist-forbidden-upload' => "S'ha prohibit el nom de fitxer «$2» i se n'impedeix la creació. Concorda amb la següent lÃnia de la llista negra: <code>$1</code>", 'titleblacklist-forbidden-new-account' => "No es pot crear el nom d'usuari «$2». Coincideix amb la següent entrada de la llista negra: <code>$1</code>", 'titleblacklist-invalid' => '{{PLURAL:$1|La lÃnia següent|Les lÃnies següents}} de la llista negra no {{PLURAL:$1|és và lida|són và lides}}; heu de corregir-{{PLURAL:$1|la|les}} abans de guardar:', 'titleblacklist-override' => 'Ignora la llista negra', @@ -429,6 +430,7 @@ $messages['ca'] = array( * @author Умар */ $messages['ce'] = array( + 'titleblacklist-desc' => '[[MediaWiki:Titleblacklist|Ӏаьржа]] а [[MediaWiki:Titlewhitelist|къайн]] а могӀанийн гӀоьнца куьйгалхошна таро хуьлуьйту декъашхойн дӀаÑздарш ца кхоллийта.', 'right-tboverride' => 'Ӏаьржачу могӀанийн чура агӀонийн цӀераш тергалцаÑÑ€ Ñ Ð´ÐµÐºÑŠÐ°ÑˆÑ…Ð¾Ð¹ тергалцабар', 'right-tboverride-account' => 'Ӏаьржачу могӀанийн чура декъашхойн цӀераш тергалцаÑÑ€', ); @@ -441,7 +443,7 @@ $messages['ckb'] = array( 'right-tboverride' => 'تێپەڕاندنی تاوتوێی پێرستی Ú•Û•Ø´ÛŒ سەردێڕ یان ناوی بەکارھێنەری', ); -/** Czech (Äesky) +/** Czech (ÄeÅ¡tina) * @author Danny B. * @author Li-sung * @author MatÄ›j Grabovský @@ -557,6 +559,7 @@ $messages['de-formal'] = array( /** Zazaki (Zazaki) * @author Aspar * @author Erdemaslancan + * @author Marmase */ $messages['diq'] = array( 'titleblacklist-desc' => 'serkaran re desturê vıraÅŸtışê pel u hesabê karberan dano, qey qedexekerdışi re yew [[MediaWiki:Titleblacklist|listeya risiyayan]] u [[MediaWiki:Titlewhitelist|listeya risıpiyan]] dano.', @@ -573,8 +576,8 @@ malumatê ey na listeyasiya de zepê ya: <code>$1</code>', malumatê ey na listeyasiya de zêpê ya: <code>$1</code>', 'titleblacklist-forbidden-new-account' => 'vıraÅŸtışê nameyê karberê"$2" i qedexe bı. malumatê ey na listeyasiya de zêpê ya: <code>$1</code>', - 'titleblacklist-invalid' => 'nê {{PLURAL:$1|satır o ke|satır ê ke}} listeyasiyayi de qedexe yê; -kerem kerê verqeydkerdışi de raÅŸt kerê:', + 'titleblacklist-invalid' => 'Na ğırab lista dı {{PLURAL:$1|en asatır|ené satıri}} néravérené; +Verdé qeyd kerdışi timar keré:', 'titleblacklist-override' => 'Tenilisti mehesebne', 'right-tboverride' => 'Siya listeya sernuÅŸti nêravêrde ke', 'right-tboverride-account' => 'Tenilisteya naman dê karberan mehesebnê', @@ -696,14 +699,14 @@ $messages['et'] = array( 'titlewhitelist' => '# See pealkiri on valges nimekirjas. Kommentaariks kasuta märki "#". # Vaikimisi on see tõstutundetu', 'titleblacklist-forbidden-edit' => 'Lehekülje pealkirjaga "$2" loomine on keelatud. -See vastab järgnevale musta nimekirja sissekandele: <code>$1</code>', - 'titleblacklist-forbidden-move' => 'Lehekülge "$2" ei saa teisaldada pealkirja "$3" alla, sest lehekülgede pealkirjaga "$3" loomine on keelatud. -See vastab järgnevale musta nimekirja sissekandele: <code>$1</code>', - 'titleblacklist-forbidden-upload' => 'Pealkirjaga "$2" on keelatud faili üles laadida. -See vastab järgnevale musta nimekirja sissekandele: <code>$1</code>', - 'titleblacklist-forbidden-new-account' => 'Kasutaja nimega "$2" loomine on keelatud. -See vastab järgnevale musta nimekirja sissekandele: <code>$1</code>', - 'titleblacklist-invalid' => '{{PLURAL:$1|Järgnev|Järgnevad}} musta nimekirja {{PLURAL:$1|rida on vigane|read on vigased}}. +See vastab järgmisele musta nimekirja sissekandele: <code>$1</code>', + 'titleblacklist-forbidden-move' => 'Lehekülge "$2" ei saa teisaldada pealkirja "$3" alla, sest lehekülje loomine pealkirjaga "$3" on keelatud. +See vastab järgmisele musta nimekirja sissekandele: <code>$1</code>', + 'titleblacklist-forbidden-upload' => 'Faili pealkirjaga "$2" on keelatud üles laadida. +See vastab järgmisele musta nimekirja sissekandele: <code>$1</code>', + 'titleblacklist-forbidden-new-account' => 'Kasutajat nimega "$2" on keelatud luua. +See vastab järgmisele musta nimekirja sissekandele: <code>$1</code>', + 'titleblacklist-invalid' => '{{PLURAL:$1|Järgmine|Järgmised}} musta nimekirja {{PLURAL:$1|rida on vigane|read on vigased}}. Palun paranda {{PLURAL:$1|see|need}} enne salvestamist:', 'titleblacklist-override' => 'Eira musta nimekirja', 'right-tboverride' => 'Eirata pealkirjade või kasutajanimede musta nimekirja', @@ -915,10 +918,12 @@ $messages['gu'] = array( /** Hebrew (עברית) * @author Amire80 + * @author Guycn2 * @author Rotem Liss + * @author Rotemliss */ $messages['he'] = array( - 'titleblacklist-desc' => '×פשרות ×œ×ž× ×”×œ×™× ×œ×סור על יצירת ×“×¤×™× ×•×—×©×‘×•× ×•×ª משתמש לפי [[MediaWiki:Titleblacklist|רשימה שחורה]] ו[[MediaWiki:Titlewhitelist|רשימה ×œ×‘× ×”]]', + 'titleblacklist-desc' => '×פשרות למפעילי המערכת ל×סור יצירת ×“×¤×™× ×•×—×©×‘×•× ×•×ª משתמש לפי [[MediaWiki:Titleblacklist|רשימה שחורה]] ו[[MediaWiki:Titlewhitelist|רשימה ×œ×‘× ×”]]', 'titleblacklist' => '# זוהי רשימת הכותרות ×”×סורות. ×œ× × ×™×ª×Ÿ ליצור כותרות ×•×—×©×‘×•× ×•×ª משתמש שמת××™×ž×™× ×œ×‘×™×˜×•×™ רגולרי המופיע ×›×ן. # השתמשו בסימן "#" להערות. #רשימה זו ××™× ×” תלויה ברישיות כברירת מחדל.', @@ -936,7 +941,7 @@ $messages['he'] = array( ×× × ×ª×§× ×• {{PLURAL:$1|×ותה|×ותן}} ×œ×¤× ×™ השמירה:', 'titleblacklist-override' => '×”×ª×¢×œ× ×ž×”×¨×©×™×ž×” השחורה', 'right-tboverride' => 'עקיפת רשימת שמות ×”×ž×©×ª×ž×©×™× ×”×סורי×', - 'right-tboverride-account' => 'לעקוף ×ת הרשימה השחורה של שמות המשתמשי×', + 'right-tboverride-account' => 'עקיפת הרשימה השחורה של שמות המשתמשי×', ); /** Hindi (हिनà¥à¤¦à¥€) @@ -1374,14 +1379,15 @@ Hic titulus congruit cum expressione regulari: <code>$1</code>', /** Luxembourgish (Lëtzebuergesch) * @author Robby + * @author Soued031 */ $messages['lb'] = array( 'titleblacklist-desc' => "Erlaabt den Administrateuren et d'Uleeë vu Säiten a Benotzerkonte mat spezifeschen Titelen iwwer eng [[MediaWiki:Titleblacklist|schwaarz Lëscht]] an eng [[MediaWiki:Titlewhitelist|wäiss Lëscht]] ze verbidden", 'titleblacklist' => '# Dëst ass een Titel deen op enger schwaarzer Lëscht steet. Titelen a Benotzernimm op déi dës Ausdréck passe kann net ugeluecht ginn # Benotzt "#" fir Bemierkungen -# Et gëtt tëschent groussen a klenge Buchstawen ënnerscheed', +# Et gëtt tëscht groussen a klenge Buchstawen ënnerscheet', 'titlewhitelist' => "# Dëst ass d'''Whitelist'' vun den Titelen. Benotzt \"#\" fir Bemierkungen. -# Et gëtt een Ënnerscheed tëschent groussen a klenge Buchstawe gemaach", +# Et gëtt een Ënnerscheed tëscht groussen a klenge Buchstawe gemaach", 'titleblacklist-forbidden-edit' => 'Den Titel "$2" dà erf net ugeluecht ginn. En ass op der schwaarzer Lëscht wéint folgendem Begrëff: <code>$1</code>', 'titleblacklist-forbidden-move' => '"$2" kann net op "$3" geréckelt ginn, well den Titel "$3" net däerf ugeluecht ginn. @@ -1389,7 +1395,7 @@ En entsprécht dëser Rubrik vun der schwaarzr Lëscht: <code>$1</code>', 'titleblacklist-forbidden-upload' => 'De Fichiersnumm "$2" kann net benotzt ginn. Hien ass identesch mat dësem Numm vun der schwaarzer Lëscht (black list): <code>$1</code>', 'titleblacklist-forbidden-new-account' => 'De Benotzermumm "$2" gouf gespaart fir benotzt ze ginn. -En ass esou op der \'\'schwaarzer Lëscht\'\': <code>$1</code>', +En ass sou op der \'\'schwaarzer Lëscht\'\': <code>$1</code>', 'titleblacklist-invalid' => 'Dës {{PLURAL:$1|Linn|Linnen}} op der schwaarzer Lëscht vun den {{PLURAL:$1|Titelen ass|Titele sinn}} net valabel; verbessert se virum späicheren:', 'titleblacklist-override' => 'Schwaarz Lëscht ignoréieren', @@ -1498,9 +1504,10 @@ $messages['ml'] = array( * @author Kaustubh * @author Mahitgar * @author Rahuldeshmukh101 + * @author V.narsikar */ $messages['mr'] = array( - 'titleblacklist-desc' => '[[MediaWiki:Titleblacklist|बà¥à¤²à¥…कलीसà¥à¤Ÿ]] व [[MediaWiki:Titlewhitelist|वà¥à¤¹à¤¾à¤ˆà¤Ÿ लीसà¥à¤Ÿ]] ला अनà¥à¤¸à¤°à¥‚न पाने आणि सदसà¥à¤¯ खातà¥à¤¯à¤¾à¤‚ना पà¥à¤°à¤¤à¤¿à¤¬à¤‚धतीअ करणà¥à¤¯à¤¾à¤šà¥€ पà¥à¤°à¤šà¤¾à¤²à¤•à¤¾à¤‚ना परवानगी दà¥à¤¯à¤¾', + 'titleblacklist-desc' => '[[MediaWiki:Titleblacklist|बà¥à¤²à¥…कलीसà¥à¤Ÿ]] व [[MediaWiki:Titlewhitelist|वà¥à¤¹à¤¾à¤ˆà¤Ÿ लीसà¥à¤Ÿ]] ला अनà¥à¤¸à¤°à¥‚न पाने आणि सदसà¥à¤¯ खातà¥à¤¯à¤¾à¤‚ना पà¥à¤°à¤¤à¤¿à¤¬à¤‚धित करणà¥à¤¯à¤¾à¤šà¥€ पà¥à¤°à¤šà¤¾à¤²à¤•à¤¾à¤‚ना परवानगी दà¥à¤¯à¤¾', 'titleblacklist' => '# ही बà¥à¤²à¥‰à¤• केलेलà¥à¤¯à¤¾ शीरà¥à¤·à¤•à¤¾à¤‚ची यादी आहे. या यादीत असलेलà¥à¤¯à¤¾ शीरà¥à¤·à¤•à¤¾à¤‚चे लेख लिहिता येणार नाहीत. # शेरा देणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी "#" वापरा.', 'titlewhitelist' => '# ही वापरू शकत असलेलà¥à¤¯à¤¾ शीरà¥à¤·à¤•à¤¾à¤‚ची यादी आहे. शेरा देणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी "#" वापरा', @@ -1698,15 +1705,17 @@ $messages['or'] = array( /** Polish (polski) * @author Beau * @author BeginaFelicysym + * @author Chrumps * @author Derbeth + * @author Peter Bowman * @author Sp5uhe */ $messages['pl'] = array( 'titleblacklist-desc' => 'Pozwala na blokowanie tworzenia stron i kont użytkowników o okreÅ›lonych nazwach wykorzystujÄ…c [[MediaWiki:Titleblacklist|czarnÄ…]] oraz [[MediaWiki:Titlewhitelist|biaÅ‚Ä…]] listÄ™', - 'titleblacklist' => '# Lista zabronionych nazw. Strony i konta o nazwach odpowiadajÄ…cych poniższym wyrażeniom regularnym, nie bÄ™dÄ… mogÅ‚y zostać utworzone. -# Użyj znaku „#â€, by utworzyć komentarz. + 'titleblacklist' => '# Lista zabronionych nazw. Strony i konta o nazwach odpowiadajÄ…cych poniższym wyrażeniom regularnym nie bÄ™dÄ… mogÅ‚y zostać utworzone. +# Użyj znaku „#â€, aby utworzyć komentarz. # DomyÅ›lnie we wpisach ma znaczenie wielkość znaków.', - 'titlewhitelist' => '# To jest lista dopuszczalnych nazw artykułów. Użyj znaku „#†by utworzyć komentarz. + 'titlewhitelist' => '# To jest lista dopuszczalnych nazw artykułów. Użyj znaku „#â€, aby utworzyć komentarz. # DomyÅ›lnie we wpisach ma znaczenie wielkość znaków.', 'titleblacklist-forbidden-edit' => 'Utworzenie strony o nazwie „$2†nie jest możliwe. Nazwa ta pasuje do wpisu z czarnej listy: <code>$1</code>', @@ -1718,7 +1727,7 @@ Nazwa ta pasuje do wpisu z czarnej listy: <code>$1</code>', Nazwa ta pasuje do wpisu z czarnej listy: <code>$1</code>', 'titleblacklist-invalid' => '{{PLURAL:$1|NastÄ™pujÄ…ca linia|NastÄ™pujÄ…ce linie}} na liÅ›cie zabronionych tytułów stron {{PLURAL:$1|jest nieprawidÅ‚owa|sÄ… nieprawidÅ‚owe}}. Popraw {{PLURAL:$1|jÄ…|je}} przed zapisaniem:', 'titleblacklist-override' => 'Ignoruj czarnÄ… listÄ™', - 'right-tboverride' => 'ZastÄ…p czarnÄ… listÄ™ zabronionych tytułów stron lub nazw użytkowników', + 'right-tboverride' => 'Ignorowanie czarnej listy tytułów lub nazw użytkowników', 'right-tboverride-account' => 'Ignorowanie czarnej listy użytkowników', ); @@ -1920,7 +1929,7 @@ $messages['ru'] = array( 'titleblacklist-forbidden-upload' => 'Файл Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ «$2» был запрещён к Ñозданию. Он попадает под Ñледующую запиÑÑŒ ÑпиÑка запрещенных названий: <code>$1</code>', 'titleblacklist-forbidden-new-account' => 'Запрещено иÑпользовать Ð¸Ð¼Ñ ÑƒÑ‡Ð°Ñтника «$2». Ð˜Ð¼Ñ ÑоответÑтвует Ñледующей запиÑи из чёрного ÑпиÑка: <code>$1</code>', - 'titleblacklist-invalid' => '{{PLURAL:$1|Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ñтрока|Следующие Ñтроки}} в ÑпиÑке запрещённых названий {{PLURAL:$1|не ÑвлÑетÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¼ регулÑрным выражением|не ÑвлÑÑŽÑ‚ÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ регулÑрными выражениÑми}}. ПожалуйÑта, иÑправьте {{PLURAL:$1|её|их}} перед Ñохранением:', + 'titleblacklist-invalid' => '{{PLURAL:$1|1=Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ñтрока|Следующие Ñтроки}} в ÑпиÑке запрещённых названий {{PLURAL:$1|1=не ÑвлÑетÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¼ регулÑрным выражением|не ÑвлÑÑŽÑ‚ÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ регулÑрными выражениÑми}}. ПожалуйÑта, иÑправьте {{PLURAL:$1|1=её|их}} перед Ñохранением:', 'titleblacklist-override' => 'Игнорировать чёрный ÑпиÑок', 'right-tboverride' => 'игнорирование чёрного ÑпиÑка имён Ñтраниц или учаÑтников', 'right-tboverride-account' => 'игнорирование чёрного ÑпиÑка имён учаÑтников', @@ -1998,6 +2007,14 @@ $messages['sah'] = array( 'right-tboverride-account' => 'кыттааччылар ааттарын "хара тиһигин" туттума', ); +/** Serbo-Croatian (srpskohrvatski / ÑрпÑкохрватÑки) + * @author Kolega2357 + */ +$messages['sh'] = array( + 'right-tboverride' => 'Zaobilaženje spiska zabranjenih naslova', + 'right-tboverride-account' => 'Zaobilaženje spiska zabranjenih korisniÄkih imena', +); + /** Sinhala (සිංහල) * @author Budhajeewa * @author පසිඳු කà·à·€à·’න්ද @@ -2324,6 +2341,7 @@ lütfen kaydetmeden önce düzeltin:', /** Ukrainian (українÑька) * @author AS * @author Ahonc + * @author Andriykopanytsia * @author Base * @author JenVan * @author Prima klasy4na @@ -2342,8 +2360,8 @@ $messages['uk'] = array( Вона підпадає під наÑтупний Ð·Ð°Ð¿Ð¸Ñ Ñ–Ð· ÑпиÑку заборонених назв: <code>$1</code>', 'titleblacklist-forbidden-new-account' => "Заборонено викориÑтовувати ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача «$2». Ім'Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ñ” наÑтупному запиÑу з чорного ÑпиÑку: <code>$1</code>", - 'titleblacklist-invalid' => '{{PLURAL:$1|ÐаÑтупнинй Ñ€Ñдок|ÐаÑтупні Ñ€Ñдки}} ÑпиÑку заборонених назв Ñ” {{PLURAL:$1|помилковим|помилковими}}; -будь лаÑка, виправіть {{PLURAL:$1|його|Ñ—Ñ…}} перед збереженнÑм:', + 'titleblacklist-invalid' => '{{PLURAL:$1|1=ÐаÑтупний Ñ€Ñдок|ÐаÑтупні Ñ€Ñдки}} ÑпиÑку заборонених назв Ñ” {{PLURAL:$1|1=помилковим|помилковими}}; +будь лаÑка, виправте {{PLURAL:$1|1=його|Ñ—Ñ…}} перед збереженнÑм:', 'titleblacklist-override' => 'Ігнорувати чорний ÑпиÑок', 'right-tboverride' => 'Ñ–Ð³Ð½Ð¾Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‡Ð¾Ñ€Ð½Ð¾Ð³Ð¾ ÑпиÑку назв Ñторінок або кориÑтувачів', 'right-tboverride-account' => 'Ñ–Ð³Ð½Ð¾Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‡Ð¾Ñ€Ð½Ð¾Ð³Ð¾ ÑпиÑку імен кориÑтувачів', diff --git a/extensions/TitleBlacklist/TitleBlacklist.library.php b/extensions/TitleBlacklist/TitleBlacklist.library.php new file mode 100644 index 00000000..0c2a599c --- /dev/null +++ b/extensions/TitleBlacklist/TitleBlacklist.library.php @@ -0,0 +1,33 @@ +<?php + +class Scribunto_LuaTitleBlacklistLibrary extends Scribunto_LuaLibraryBase { + public function register() { + $lib = array( + 'test' => array( $this, 'test' ), + ); + + $this->getEngine()->registerInterface( __DIR__ . '/mw.ext.TitleBlacklist.lua', $lib, array() ); + } + + public function test( $action = null, $title = null ) { + $this->checkType( 'mw.ext.TitleBlacklist.test', 1, $action, 'string' ); + $this->checkTypeOptional( 'mw.ext.TitleBlacklist.test', 2, $title, 'string', '' ); + $this->incrementExpensiveFunctionCount(); + if ( $title == '' ) { + $title = $this->getParser()->mTitle->getPrefixedText(); + } + $entry = TitleBlacklist::singleton()->isBlacklisted( $title, $action ); + if ( $entry ) { + return array( array( + 'params' => $entry->getParams(), + 'regex' => $entry->getRegex(), + 'raw' => $entry->getRaw(), + 'version' => $entry->getFormatVersion(), + 'message' => $entry->getErrorMessage( $action ), + 'custommessage' => $entry->getCustomMessage() + ) ); + } + return array( null ); + } + +} diff --git a/extensions/TitleBlacklist/TitleBlacklist.list.php b/extensions/TitleBlacklist/TitleBlacklist.list.php index d197a9c5..3947e8ae 100644 --- a/extensions/TitleBlacklist/TitleBlacklist.list.php +++ b/extensions/TitleBlacklist/TitleBlacklist.list.php @@ -156,7 +156,12 @@ class TitleBlacklist { if ( $override && self::userCanOverride( $user, $action ) ) { return false; } else { - return $this->isBlacklisted( $title, $action ); + $entry = $this->isBlacklisted( $title, $action ); + if ( !$entry ) { + return false; + } + $params = $entry->getParams(); + return isset( $params['autoconfirmed'] ) && $user->isAllowed( 'autoconfirmed' ) ? false : $entry; } } @@ -172,17 +177,29 @@ class TitleBlacklist { public function isBlacklisted( $title, $action = 'edit' ) { if ( !( $title instanceof Title ) ) { $title = Title::newFromText( $title ); + if ( !( $title instanceof Title ) ) { + // The fact that the page name is invalid will stop whatever + // action is going through. No sense in doing more work here. + return false; + } } $blacklist = $this->getBlacklist(); + $autoconfirmedItem = false; foreach ( $blacklist as $item ) { - if ( $item->matches( $title, $action ) ) { + if ( $item->matches( $title->getFullText(), $action ) ) { if ( $this->isWhitelisted( $title, $action ) ) { return false; } - return $item; // "returning true" + $params = $item->getParams(); + if ( !isset( $params['autoconfirmed'] ) ) { + return $item; + } + if ( !$autoconfirmedItem ) { + $autoconfirmedItem = $item; + } } } - return false; + return $autoconfirmedItem; } /** @@ -199,7 +216,7 @@ class TitleBlacklist { } $whitelist = $this->getWhitelist(); foreach ( $whitelist as $item ) { - if ( $item->matches( $title, $action ) ) { + if ( $item->matches( $title->getFullText(), $action ) ) { return true; } } @@ -343,7 +360,7 @@ class TitleBlacklistEntry { * Check whether a user can perform the specified action * on the specified Title * - * @param $title Title to check + * @param $title string to check * @param $action %Action to check * @return bool TRUE if the the regex matches the title, and is not overridden * else false if it doesn't match (or was overridden) @@ -357,15 +374,20 @@ class TitleBlacklistEntry { return false; } + if ( isset( $this->mParams['antispoof'] ) && is_callable( 'AntiSpoof::checkUnicodeString' ) ) { + list( $ok, $norm ) = AntiSpoof::checkUnicodeString( $title ); + if ( $ok == "OK" ) { + list( $ver, $title ) = explode( ':', $norm, 2 ); + } else { + wfDebugLog( 'TitleBlacklist', 'AntiSpoof could not normalize "' . $title . '".' ); + } + } + wfSuppressWarnings(); - $match = preg_match( "/^(?:{$this->mRegex})$/us" . ( isset( $this->mParams['casesensitive'] ) ? '' : 'i' ), $title->getFullText() ); + $match = preg_match( "/^(?:{$this->mRegex})$/us" . ( isset( $this->mParams['casesensitive'] ) ? '' : 'i' ), $title ); wfRestoreWarnings(); - global $wgUser; if ( $match ) { - if ( isset( $this->mParams['autoconfirmed'] ) && $wgUser->isAllowed( 'autoconfirmed' ) ) { - return false; - } if ( isset( $this->mParams['moveonly'] ) && $action != 'move' ) { return false; } @@ -427,6 +449,9 @@ class TitleBlacklistEntry { if ( preg_match( '/errmsg\s*=\s*(.+)/i', $opt, $matches ) ) { $options['errmsg'] = $matches[1]; } + if ( $opt2 == 'antispoof' ) { + $options['antispoof'] = true; + } } // Process magic words preg_match_all( '/{{\s*([a-z]+)\s*:\s*(.+?)\s*}}/', $regex, $magicwords, PREG_SET_ORDER ); @@ -469,10 +494,10 @@ class TitleBlacklistEntry { } /** - * @return array This entry's options + * @return array This entry's parameters */ - public function getOptions() { - return $this->mOptions; + public function getParams() { + return $this->mParams; } /** diff --git a/extensions/TitleBlacklist/TitleBlacklist.php b/extensions/TitleBlacklist/TitleBlacklist.php index 68fb6778..acd946d6 100644 --- a/extensions/TitleBlacklist/TitleBlacklist.php +++ b/extensions/TitleBlacklist/TitleBlacklist.php @@ -22,6 +22,7 @@ $dir = __DIR__; $wgExtensionMessagesFiles['TitleBlacklist'] = $dir . '/TitleBlacklist.i18n.php'; $wgAutoloadClasses['TitleBlacklist'] = $dir . '/TitleBlacklist.list.php'; $wgAutoloadClasses['TitleBlacklistHooks'] = $dir . '/TitleBlacklist.hooks.php'; +$wgAutoloadClasses['Scribunto_LuaTitleBlacklistLibrary'] = $dir . '/TitleBlacklist.library.php'; /** @defgroup Title blacklist source types * @{ @@ -76,6 +77,16 @@ $wgHooks['CentralAuthAutoCreate'][] = 'TitleBlacklistHooks::centralAuthAutoCreat $wgHooks['EditFilter'][] = 'TitleBlacklistHooks::validateBlacklist'; $wgHooks['ArticleSaveComplete'][] = 'TitleBlacklistHooks::clearBlacklist'; $wgHooks['UserCreateForm'][] = 'TitleBlacklistHooks::addOverrideCheckbox'; +$wgHooks['UnitTestsList'][] = function( &$files ) { + $files += glob( __DIR__ . '/tests/*Test.php' ); + return true; +}; +$wgHooks['ScribuntoExternalLibraries'][] = function( $engine, array &$extraLibraries ) { + if( $engine == 'lua' ) { + $extraLibraries['mw.ext.TitleBlacklist'] = 'Scribunto_LuaTitleBlacklistLibrary'; + } + return true; +}; $wgResourceModules['mediawiki.api.titleblacklist'] = array( 'scripts' => 'mediawiki.api.titleblacklist.js', diff --git a/extensions/TitleBlacklist/mw.ext.TitleBlacklist.lua b/extensions/TitleBlacklist/mw.ext.TitleBlacklist.lua new file mode 100644 index 00000000..1b48eed1 --- /dev/null +++ b/extensions/TitleBlacklist/mw.ext.TitleBlacklist.lua @@ -0,0 +1,22 @@ +local TitleBlacklist = {} +local php + +function TitleBlacklist.test( action, title ) + return php.test( action, title ) +end + +function TitleBlacklist.setupInterface( options ) + -- Boilerplate + TitleBlacklist.setupInterface = nil + php = mw_interface + mw_interface = nil + + -- Register this library in the "mw" global + mw = mw or {} + mw.ext = mw.ext or {} + mw.ext.TitleBlacklist = TitleBlacklist + + package.loaded['mw.ext.TitleBlacklist'] = TitleBlacklist +end + +return TitleBlacklist diff --git a/extensions/TitleBlacklist/tests/ApiQueryTitleBlacklistTest.php b/extensions/TitleBlacklist/tests/ApiQueryTitleBlacklistTest.php index 1f8164e7..344e9996 100644 --- a/extensions/TitleBlacklist/tests/ApiQueryTitleBlacklistTest.php +++ b/extensions/TitleBlacklist/tests/ApiQueryTitleBlacklistTest.php @@ -105,6 +105,28 @@ class ApiQueryTitleBlacklistTest extends ApiTestCase { $listed[0]['titleblacklist']['line'], 'Correct blacklist line is returned' ); + } + + /** + * Tests integration with the AntiSpoof extension + */ + function testAntiSpoofIntegration() { + if ( !class_exists( 'AntiSpoof') ) { + $this->markTestSkipped( "This test requires the AntiSpoof extension" ); + } + + $listed = $this->doApiRequest( array( + 'action' => 'titleblacklist', + 'tbtitle' => 'AVVVV', + 'tbaction' => 'create', + 'tbnooverride' => true, + ) ); + + $this->assertEquals( + 'blacklisted', + $listed[0]['titleblacklist']['result'], + 'Spoofed title is blacklisted' + ); } } diff --git a/extensions/TitleBlacklist/tests/testSource b/extensions/TitleBlacklist/tests/testSource index f73d9dd7..235cc671 100644 --- a/extensions/TitleBlacklist/tests/testSource +++ b/extensions/TitleBlacklist/tests/testSource @@ -2,3 +2,4 @@ .*[Ff]ail.* .*[Nn]yancat.* <errmsg=blacklisted-nyancat> .*evil_acc.* <newaccountonly> +AW{1,10} <antispoof> diff --git a/extensions/WikiEditor/.jshintignore b/extensions/WikiEditor/.jshintignore index 66a218b5..b97a47d3 100644 --- a/extensions/WikiEditor/.jshintignore +++ b/extensions/WikiEditor/.jshintignore @@ -1,2 +1,4 @@ # upstream lib from Google modules/contentCollector.js +# messy +modules/jquery.wikiEditor.iframe.js diff --git a/extensions/WikiEditor/.jshintrc b/extensions/WikiEditor/.jshintrc index 64cd5087..5d335e32 100644 --- a/extensions/WikiEditor/.jshintrc +++ b/extensions/WikiEditor/.jshintrc @@ -1,9 +1,33 @@ { + /* Common */ + + // Enforcing + "camelcase": true, + "curly": true, + "eqeqeq": true, + "immed": true, + "latedef": true, + "newcap": true, + "noarg": true, + "noempty": true, + "nonew": true, + "quotmark": "single", + "trailing": true, + "undef": true, + "unused": true, + // Legacy + "onevar": true, + + /* Local */ + + // Relaxing + "loopfunc": true, + "multistr": true, + // Environment + "browser": true, + "predef": [ "mediaWiki", "jQuery" - ], - "browser": true, - "smarttabs": true, - "multistr": true + ] } diff --git a/extensions/WikiEditor/COPYING b/extensions/WikiEditor/COPYING new file mode 100644 index 00000000..d159169d --- /dev/null +++ b/extensions/WikiEditor/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + 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. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/extensions/WikiEditor/WikiEditor.i18n.php b/extensions/WikiEditor/WikiEditor.i18n.php index 26f1e2ca..fa3c1b0b 100644 --- a/extensions/WikiEditor/WikiEditor.i18n.php +++ b/extensions/WikiEditor/WikiEditor.i18n.php @@ -334,6 +334,7 @@ I guess that "feature-providing modules" means the same as "modules providing fe {{Identical|Publish}}", 'wikieditor-publish-dialog-goback' => 'Button that closes the dialog that opens when the user clicks the Publish button. {{Identical|Go back}}', + 'wikieditor-template-editor-dialog-title' => '{{Identical|Edit template}}', 'wikieditor-template-editor-dialog-submit' => '{{Identical|Update}}', 'wikieditor-template-editor-dialog-cancel' => '{{Identical|Cancel}}', 'wikieditor-toc-preference' => "Option at [[Special:Preferences]], tab ''{{int:prefs-editing}}''", @@ -1281,6 +1282,7 @@ $1:Eixemplo.jpg|Piet_de_foto_2', /** Old English (Ænglisc) * @author Gott wisst + * @author Shirayuki * @author WÅdenhelm */ $messages['ang'] = array( @@ -4032,6 +4034,7 @@ $1:Cuntuh.jpg|Judul2', ); /** Bengali (বাংলা) + * @author Aftab1995 * @author Bellayet * @author Leemon2010 * @author Nasir8891 @@ -4149,8 +4152,8 @@ $messages['bn'] = array( 'wikieditor-toolbar-tool-subscript-example' => 'সাবসà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ লেখা', 'wikieditor-toolbar-group-insert' => 'যোগ করো', 'wikieditor-toolbar-tool-gallery' => 'ছবির গà§à¦¯à¦¾à¦²à¦¾à¦°à§€', - 'wikieditor-toolbar-tool-gallery-example' => '$1:Example.jpg|কà§à¦¯à¦¾à¦ªà¦¶à¦¨à§§ -$1:Example.jpg|কà§à¦¯à¦¾à¦ªà¦¶à¦¨à§¨', + 'wikieditor-toolbar-tool-gallery-example' => '$1:উদাহরণ.jpg|কà§à¦¯à¦¾à¦ªà¦¶à¦¨à§§ +$1:উদাহরণ.jpg|কà§à¦¯à¦¾à¦ªà¦¶à¦¨à§¨', 'wikieditor-toolbar-tool-newline' => 'নতà§à¦¨ লাইন', 'wikieditor-toolbar-tool-table' => 'ছক', 'wikieditor-toolbar-tool-table-example-old' => '- @@ -5069,7 +5072,7 @@ Voleu convertir-lo en un enllaç intern?", 'wikieditor-toolbar-tool-link-empty' => 'No heu entrat res per enllaçar.', 'wikieditor-toolbar-tool-file' => 'Fitxer incrustat', 'wikieditor-toolbar-tool-file-example' => 'Exemple.png', - 'wikieditor-toolbar-tool-file-title' => 'Insereix arxiu', + 'wikieditor-toolbar-tool-file-title' => 'Inserir un fitxer', 'wikieditor-toolbar-file-target' => 'Nom del fitxer:', 'wikieditor-toolbar-file-caption' => 'TÃtol:', 'wikieditor-toolbar-file-size' => 'Mida:', @@ -5077,7 +5080,7 @@ Voleu convertir-lo en un enllaç intern?", 'wikieditor-toolbar-file-default' => '(per defecte)', 'wikieditor-toolbar-file-format' => 'Format:', 'wikieditor-toolbar-file-format-none' => 'cap', - 'wikieditor-toolbar-tool-file-insert' => 'Inserta', + 'wikieditor-toolbar-tool-file-insert' => 'Insereix', 'wikieditor-toolbar-tool-file-cancel' => 'Cancel·la', 'wikieditor-toolbar-tool-reference' => 'Referència', 'wikieditor-toolbar-tool-reference-example' => 'Inseriu la nota al peu aquÃ', @@ -5251,8 +5254,8 @@ $1:Example.jpg|Peu2', * @author Умар */ $messages['ce'] = array( - 'wikieditor' => 'Викийозан рéдоккхучечохь аллÑам чулоцург', - 'wikieditor-desc' => 'Ðьтто бо Ñ‚lе хуттучо, викийозан аъ ишта кхечу харжамна рéдоккхучечохь аллÑам чулоцучо', + 'wikieditor' => 'Викийоза тадаран шоьйра интерфейÑ', + 'wikieditor-desc' => 'Тадарш даран шоьйра Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð»Ð°Ñ‚Ð°Ð¹Ð¾ кхин дукху фукцеш а', 'wikieditor-wikitext-tab' => 'Викийоза', 'wikieditor-loading' => 'Чуйолуш', 'wikieditor-preview-preference' => 'Латайé хьалха муха ÑŽ хьажар дуьхь дуьхьал', @@ -5265,7 +5268,7 @@ $messages['ce'] = array( 'wikieditor-publish-preference' => 'Латайé цхьац ког бокхуш чутохар', 'wikieditor-publish-button-publish' => 'Ðахангайта', 'wikieditor-publish-button-cancel' => 'Цаоьшу', - 'wikieditor-publish-dialog-title' => 'Ðахангайта оцу кхолламехь {{SITENAME}}', + 'wikieditor-publish-dialog-title' => '{{SITENAME}} проектехь арахецар', 'wikieditor-publish-dialog-summary' => 'Хийцамах лаьцна (доц Ñзде Ñ…lу хийцам бина ахьа):', 'wikieditor-publish-dialog-minor' => 'Жим хийцам', 'wikieditor-publish-dialog-watch' => 'Тергам бé Ñ…lокху агlон', @@ -5279,41 +5282,42 @@ $messages['ce'] = array( 'wikieditor-toc-preference' => 'Латедé коьрта дерг шавигарна аттонца', 'wikieditor-toc-show' => 'Гайта коьртехь дерг', 'wikieditor-toc-hide' => 'Къайлахьо коьртехь дерг', - 'wikieditor-toolbar' => 'Рéдоккху меттиг', - 'wikieditor-toolbar-desc' => 'Рéдоккху меттиг гlоле лелорца', + 'wikieditor-toolbar' => 'Тадаран меттиг', + 'wikieditor-toolbar-desc' => 'Тадаран меттиг гӀоле лелорца', 'wikieditor-toolbar-preference' => 'Латайé гlоле йолу тадар', - 'wikieditor-toolbar-dialogs-preference' => 'Латайé йозан хьажориг йуьллург, таблийцан аъ кхин Ñ…lумнашна', # Fuzzy + 'wikieditor-toolbar-dialogs-preference' => 'Латайé йозан хьажораг йуьллург, таблицан а кхин хӀумнашна а', 'wikieditor-toolbar-loading' => 'Чуйолуш…', 'wikieditor-toolbar-tool-bold' => 'ДерÑтино', 'wikieditor-toolbar-tool-bold-example' => 'ДерÑтино до йоза', 'wikieditor-toolbar-tool-italic' => 'Сетта', 'wikieditor-toolbar-tool-italic-example' => 'Сеттан до йоза', - 'wikieditor-toolbar-tool-ilink' => 'Чоьхьа хьажориг', + 'wikieditor-toolbar-tool-ilink' => 'Чоьхьа хьажораг', 'wikieditor-toolbar-tool-ilink-example' => 'Хьажориган коьрта могlа', 'wikieditor-toolbar-tool-xlink' => 'Ðрахьара хьажораг (йиц ма йе хӀотталушерг http://)', - 'wikieditor-toolbar-tool-xlink-example' => 'http://www.example.com хьажориг корта', - 'wikieditor-toolbar-tool-link' => 'Хьажориг', - 'wikieditor-toolbar-tool-link-title' => 'Чуйилла хьажориг', - 'wikieditor-toolbar-tool-link-int' => 'Оцу вики агlон', - 'wikieditor-toolbar-tool-link-int-target' => 'Хьажийна агlо йа URL:', - 'wikieditor-toolbar-tool-link-int-target-tooltip' => 'Ðгlон цlе йа URL', + 'wikieditor-toolbar-tool-xlink-example' => 'http://www.example.com хьажораг корта', + 'wikieditor-toolbar-tool-link' => 'Хьажораг', + 'wikieditor-toolbar-tool-link-title' => 'Чуйилла хьажораг', + 'wikieditor-toolbar-tool-link-int' => 'Вики агӀоне', + 'wikieditor-toolbar-tool-link-int-target' => 'Хьажийна агӀо Ñ URL:', + 'wikieditor-toolbar-tool-link-int-target-tooltip' => 'ÐгӀон цӀе Ñ URL', 'wikieditor-toolbar-tool-link-int-text' => 'Гойтуш долу йоза:', 'wikieditor-toolbar-tool-link-int-text-tooltip' => 'Чудилла Ñхьагайта дезаш долу йоза', 'wikieditor-toolbar-tool-link-ext' => 'Хьалхара агlон чохь', - 'wikieditor-toolbar-tool-link-ext-target' => 'URL хьажоригаш:', - 'wikieditor-toolbar-tool-link-ext-text' => 'Хьажориган йоза:', - 'wikieditor-toolbar-tool-link-insert' => 'Чуйилла хьажориг', + 'wikieditor-toolbar-tool-link-ext-target' => 'URL хьажорагаш:', + 'wikieditor-toolbar-tool-link-ext-text' => 'Хьажораган йоза:', + 'wikieditor-toolbar-tool-link-insert' => 'Чуйилла хьажораг', 'wikieditor-toolbar-tool-link-cancel' => 'Цаоьшу', 'wikieditor-toolbar-tool-link-int-target-status-exists' => 'Ишта агlо йолш ÑŽ', 'wikieditor-toolbar-tool-link-int-target-status-notexists' => 'Ишта агlо Ñц', 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'Ца магайо цlе', 'wikieditor-toolbar-tool-link-int-target-status-external' => 'Ðрахьара хьажораг', 'wikieditor-toolbar-tool-link-int-target-status-loading' => 'Ðгlо ÑŽ Ñц хьоьжуш…', + 'wikieditor-toolbar-tool-link-int-target-status-disambig' => 'Дуккха маьӀнаш долу агӀонаш', 'wikieditor-toolbar-tool-link-int-invalid' => 'Гойтуш йолу цlе ца магайо.', - 'wikieditor-toolbar-tool-link-lookslikeinternal' => 'Ðхьа хоттийна URL кхечу вики-агlонан хьажоригах тера ÑŽ. Лаьий хьуна и хьажориг чоьхьарчех Ñ?', - 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'Чоьхьа хьажориг', + 'wikieditor-toolbar-tool-link-lookslikeinternal' => 'Ðхьа хоттийна URL кхечу вики-агӀонан хьажорагах тера ÑŽ. Лаьий хьуна и хьажораг чоьхьарчех Ñ?', + 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'Чоьхьа хьажораг', 'wikieditor-toolbar-tool-link-lookslikeinternal-ext' => 'Ðрахьара хьажораг', - 'wikieditor-toolbar-tool-link-empty' => 'Ðхьа ца гайтин мичхьа хьажойеза хьажориг.', + 'wikieditor-toolbar-tool-link-empty' => 'Ðхьа ца гайтин мичхьа хьажойеза хьажораг.', 'wikieditor-toolbar-tool-file' => 'Чохь йолу файл', 'wikieditor-toolbar-tool-file-example' => 'Example.jpg', 'wikieditor-toolbar-tool-file-title' => 'Файл чуйиллар', @@ -5322,6 +5326,7 @@ $messages['ce'] = array( 'wikieditor-toolbar-file-size' => 'Барам:', 'wikieditor-toolbar-file-float' => 'ÐиÑдар:', 'wikieditor-toolbar-file-default' => '(Iад йитарца)', + 'wikieditor-toolbar-file-format-none' => 'цхьаа', 'wikieditor-toolbar-tool-file-insert' => 'Чудилла', 'wikieditor-toolbar-tool-file-cancel' => 'Цаоьшу', 'wikieditor-toolbar-tool-reference' => 'ТIетовжар', @@ -5331,7 +5336,7 @@ $messages['ce'] = array( 'wikieditor-toolbar-tool-reference-insert' => 'Чудилла', 'wikieditor-toolbar-tool-reference-text' => 'ТIетовжаран йоза', 'wikieditor-toolbar-tool-signature' => 'Куьгтаlор хан Ñ…lоттош', - 'wikieditor-toolbar-section-advanced' => 'Кхин Ñ‚lе дукха', + 'wikieditor-toolbar-section-advanced' => 'Кхин тӀе', 'wikieditor-toolbar-tool-heading' => 'Корта', 'wikieditor-toolbar-tool-heading-1' => 'Локхалла 1', 'wikieditor-toolbar-tool-heading-2' => 'Локхалла 2', @@ -5362,26 +5367,26 @@ $messages['ce'] = array( 'wikieditor-toolbar-tool-gallery' => 'Дуккха Ñуьрташ', 'wikieditor-toolbar-tool-gallery-example' => '$1:Example.jpg|Цуьнах лаце1 $1:Example.jpg|Цуьнах лаце2', - 'wikieditor-toolbar-tool-newline' => 'Керла могlа', + 'wikieditor-toolbar-tool-newline' => 'Керла могӀа', 'wikieditor-toolbar-tool-table' => 'Таблица', 'wikieditor-toolbar-tool-table-example-old' => '- -! коьрта могlа 1 -! коьрта могlа 2 -! коьрта могlа 3 +! коьрта могӀа 1 +! коьрта могӀа 2 +! коьрта могӀа 3 |- -| могlа 1, чоь 1 -| могlа 1, чоь 2 -| могlа 1, чоь 3 +| могӀа 1, чоь 1 +| могӀа 1, чоь 2 +| могӀа 1, чоь 3 |- -| могlа 2, чоь 1 -| могlа 2, чоь 2 -| могlа 2, чоь 3', +| могӀа 2, чоь 1 +| могӀа 2, чоь 2 +| могӀа 2, чоь 3', 'wikieditor-toolbar-tool-table-example-cell-text' => 'Чоьнан йоза', 'wikieditor-toolbar-tool-table-example-header' => 'Коьрта йоза', 'wikieditor-toolbar-tool-table-title' => 'Чуйилла таблица', 'wikieditor-toolbar-tool-table-dimensions-rows' => 'МогӀанаш', 'wikieditor-toolbar-tool-table-dimensions-columns' => 'Бlогlамаш', - 'wikieditor-toolbar-tool-table-dimensions-header' => 'Тlетоха коьрта могlан могlа', + 'wikieditor-toolbar-tool-table-dimensions-header' => 'ТӀетоха коьрта могӀанан могӀа', 'wikieditor-toolbar-tool-table-wikitable' => 'Кечйеш дозанашца', 'wikieditor-toolbar-tool-table-sortable' => 'ЛиÑталуш йе таблица', 'wikieditor-toolbar-tool-table-example' => 'Чоьнан йоза', @@ -5405,12 +5410,12 @@ $1:Example.jpg|Цуьнах лаце2', 'wikieditor-toolbar-tool-replace-success' => 'Балийна хийцам: $1.', # Fuzzy 'wikieditor-toolbar-tool-replace-emptysearch' => 'Ðхьа ца гайтна Ñ…lу лаха деза.', 'wikieditor-toolbar-tool-replace-invalidregex' => 'Ðхьа Ñзйина цlе ÑŽÑ…-юха нийÑа Ñц: $1', - 'wikieditor-toolbar-section-characters' => 'Саболу куьцаш', + 'wikieditor-toolbar-section-characters' => 'Леррина Ñимволаш', 'wikieditor-toolbar-characters-page-latin' => 'Латинан', 'wikieditor-toolbar-characters-page-latinextended' => 'Латинан алÑам', 'wikieditor-toolbar-characters-page-ipa' => 'ДÐÐ (IPA)', - 'wikieditor-toolbar-characters-page-symbols' => 'Саболурш', - 'wikieditor-toolbar-characters-page-greek' => 'Гlайрхойн', + 'wikieditor-toolbar-characters-page-symbols' => 'Символаш', + 'wikieditor-toolbar-characters-page-greek' => 'Грекийн', 'wikieditor-toolbar-characters-page-cyrillic' => 'Кирилан', 'wikieditor-toolbar-characters-page-arabic' => 'Ӏарбийн', 'wikieditor-toolbar-characters-page-arabicextended' => 'Iаьрбийн шординарш', @@ -5429,7 +5434,7 @@ $1:Example.jpg|Цуьнах лаце2', 'wikieditor-toolbar-help-heading-syntax' => 'Ð¥lу йуьллу ахьа', 'wikieditor-toolbar-help-heading-result' => 'Ð¥lу хуьлу хьуна', 'wikieditor-toolbar-help-page-format' => 'Бáрамхlоттор', - 'wikieditor-toolbar-help-page-link' => 'Хьажоригаш', + 'wikieditor-toolbar-help-page-link' => 'Хьажорагаш', 'wikieditor-toolbar-help-page-heading' => 'Коьрта могlнаш', 'wikieditor-toolbar-help-page-list' => 'Могlамаш', 'wikieditor-toolbar-help-page-file' => 'Файлаш', @@ -5444,7 +5449,7 @@ $1:Example.jpg|Цуьнах лаце2', 'wikieditor-toolbar-help-content-bolditalic-description' => 'ДерÑтино курÑеттан', 'wikieditor-toolbar-help-content-bolditalic-syntax' => "'''''ДерÑтино курÑеттан'''''", 'wikieditor-toolbar-help-content-bolditalic-result' => '<em><strong>ДерÑтино курÑеттан</strong></em>', - 'wikieditor-toolbar-help-content-ilink-description' => 'Чоьхьа хьажориг', + 'wikieditor-toolbar-help-content-ilink-description' => 'Чоьхьа хьажораг', 'wikieditor-toolbar-help-content-ilink-syntax' => '[[Ðгlонан коьрта могlа|Хьажориган йоза]]<br />[[Ðгlонан коьрта могlа]]', 'wikieditor-toolbar-help-content-ilink-result' => "<a href='#'>Хьажориган йоза</a><br /><a href='#'>Ðгlонан коьрта могlа</a>", 'wikieditor-toolbar-help-content-xlink-description' => 'Ðрахьара хьажораг', @@ -5476,7 +5481,7 @@ $1:Example.jpg|Цуьнах лаце2', 'wikieditor-toolbar-help-content-reference-description' => 'Билгалдаккхар', 'wikieditor-toolbar-help-content-reference-syntax' => 'Ðгlонан йоза.<ref name="test">[http://www.example.org Хьажориган йоза], кхин Ñ‚lе дузуш йоза.</ref>', 'wikieditor-toolbar-help-content-reference-result' => "Ðгlонан йоза.<sup><a href='#'>[1]</a></sup>", - 'wikieditor-toolbar-help-content-rereference-description' => 'Кхин Ñ‚lе лело изза хьажориг', + 'wikieditor-toolbar-help-content-rereference-description' => 'Кхин тӀе лело изза хьажораг', 'wikieditor-toolbar-help-content-rereference-result' => "Ðгlонан йоза<sup><a href='#'>[1]</a></sup>.", 'wikieditor-toolbar-help-content-showreferences-description' => 'Гайта билгалдаккхар', 'wikieditor-toolbar-help-content-showreferences-result' => "<ol class='references'><li id='cite_note-test-0'><b><a title='' href='#'>^</a></b> <a rel='nofollow' title='http://www.example.org' class='external text' href='#'>Хьажориган йоза</a>, кхин Ñ‚lе дузуш йоза.</li></ol>", @@ -5739,7 +5744,7 @@ $messages['co'] = array( 'wikieditor-toolbar-tool-heading-5' => 'Livellu 5', ); -/** Czech (Äesky) +/** Czech (ÄeÅ¡tina) * @author Jkjk * @author Kuvaly * @author Littledogboy @@ -5777,7 +5782,7 @@ $messages['cs'] = array( 'wikieditor-toolbar' => 'EditaÄnà panel nástrojů', 'wikieditor-toolbar-desc' => 'EditaÄnà panel nástrojů s vylepÅ¡enou použitelnostÃ', 'wikieditor-toolbar-preference' => 'Zapnout vylepÅ¡ený panel nástrojů', - 'wikieditor-toolbar-dialogs-preference' => 'PoužÃvat dialogy pro vkládánà odkazů, tabulek atd.', # Fuzzy + 'wikieditor-toolbar-dialogs-preference' => 'PoužÃvat průvodce pro vkládánà odkazů a tabulek i pro funkci hledánà a nahrazovánÃ.', 'wikieditor-toolbar-hidesig' => 'Skrýt tlaÄÃtko podpisu na stránkách v hlavnÃm jmenném prostoru', 'wikieditor-toolbar-loading' => 'NaÄÃtá se…', 'wikieditor-toolbar-tool-bold' => 'TuÄnÄ›', @@ -6048,7 +6053,7 @@ $messages['csb'] = array( 'wikieditor-toolbar-help-content-xlink-description' => 'Bùtnowé lënczi', ); -/** Church Slavic (ÑловѣÌньÑкъ / ⰔⰎⰑⰂⰡâ°â° â°”â°â°Ÿ) +/** Church Slavic (ÑловѣньÑкъ / ⰔⰎⰑⰂⰡâ°â° â°”â°â°Ÿ) * @author ОйЛ */ $messages['cu'] = array( @@ -6131,7 +6136,7 @@ $messages['cy'] = array( 'wikieditor-toolbar' => 'Bar offer golygu', 'wikieditor-toolbar-desc' => 'Bar offer y dudalen olygu gyda gwelliannau defnyddioldeb', 'wikieditor-toolbar-preference' => "Defnyddio'r bar offer golygu estynedig", - 'wikieditor-toolbar-dialogs-preference' => "Galluoger y dewin sy'n mewnosod cysylltau a thablau, ac sy'n gallu chwilio a disodli", + 'wikieditor-toolbar-dialogs-preference' => "Galluogi'r dewin sy'n mewnosod cysylltau a thablau, ac sy'n gallu chwilio a disodli", 'wikieditor-toolbar-hidesig' => "Cuddio'r botwm llofnodi rhag y tudalennau yn y prif barth", 'wikieditor-toolbar-loading' => "Wrthi'n llwytho...", 'wikieditor-toolbar-tool-bold' => 'Praff', @@ -6861,9 +6866,11 @@ $1:Beispiel.jpg|Beschreibung2', ); /** Swiss High German (Schweizer Hochdeutsch) + * @author Filzstift * @author Geitost */ $messages['de-ch'] = array( + 'wikieditor-toolbar-dialogs-preference' => 'Assistenten zum Einfügen von Links und Tabellen sowie die Funktion «Suchen und Ersetzen» aktivieren', 'wikieditor-toolbar-tool-reference-example' => 'Fussnotentext hier einfügen', 'wikieditor-toolbar-tool-big' => 'Gross', 'wikieditor-toolbar-tool-big-example' => 'Grosser Text', @@ -6892,6 +6899,7 @@ Möchten Sie daraus einen internen Link machen?', /** Zazaki (Zazaki) * @author Erdemaslancan * @author Gorizon + * @author Marmase * @author Mirzali * @author Xoser */ @@ -6909,7 +6917,7 @@ $messages['diq'] = array( 'wikieditor-previewDialog-loading' => 'Ho bar keno...', 'wikieditor-publish-preference' => 'Game be game çap kerdiÅŸi a bike', 'wikieditor-publish-button-publish' => 'Vıla ke', - 'wikieditor-publish-button-cancel' => 'Bıterkne', + 'wikieditor-publish-button-cancel' => 'Bıtexelne', 'wikieditor-publish-dialog-title' => '{{SITENAME}} rê çap ke', 'wikieditor-publish-dialog-summary' => 'Xulasayê vurnayiÅŸi (ser vurnayişê xo xulasa binuse):', 'wikieditor-publish-dialog-minor' => 'VurnayiÅŸo qickek', @@ -6943,13 +6951,13 @@ $messages['diq'] = array( 'wikieditor-toolbar-tool-link-int' => 'yew pelê wiki re', 'wikieditor-toolbar-tool-link-int-target' => 'sernameyê peli', 'wikieditor-toolbar-tool-link-int-target-tooltip' => 'Sernamey ya zi URL', - 'wikieditor-toolbar-tool-link-int-text' => 'metnê gıreyi', + 'wikieditor-toolbar-tool-link-int-text' => 'Metnê asnayışi:', 'wikieditor-toolbar-tool-link-int-text-tooltip' => 'NuÅŸtewo ke gani bımocniyo ey bınuse', 'wikieditor-toolbar-tool-link-ext' => 'yew keyepelê teberi re', 'wikieditor-toolbar-tool-link-ext-target' => "Greyê URL'i:", 'wikieditor-toolbar-tool-link-ext-text' => 'Metnê gri:', 'wikieditor-toolbar-tool-link-insert' => 'Gıre bıerz', - 'wikieditor-toolbar-tool-link-cancel' => 'Bıterkne', + 'wikieditor-toolbar-tool-link-cancel' => 'Bıtexelne', 'wikieditor-toolbar-tool-link-int-target-status-exists' => 'pel esto', 'wikieditor-toolbar-tool-link-int-target-status-notexists' => 'pel çino', 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'Sernameyo xırab.', @@ -6974,10 +6982,10 @@ $messages['diq'] = array( 'wikieditor-toolbar-file-format-none' => 'çıniyo', 'wikieditor-toolbar-tool-file-insert' => 'Têare ker', 'wikieditor-toolbar-tool-file-cancel' => 'Bıterkne', - 'wikieditor-toolbar-tool-reference' => 'çıme', + 'wikieditor-toolbar-tool-reference' => 'Referans', 'wikieditor-toolbar-tool-reference-example' => 'metnê notê bınini tiya kerê', 'wikieditor-toolbar-tool-reference-cancel' => 'Bıtexelne', - 'wikieditor-toolbar-tool-reference-title' => 'Referance de bike', + 'wikieditor-toolbar-tool-reference-title' => 'Referans dek', 'wikieditor-toolbar-tool-reference-insert' => 'de bike', 'wikieditor-toolbar-tool-reference-text' => 'Nusteyê Referansi', 'wikieditor-toolbar-tool-signature' => 'tamÄŸayê imza ve zamani', @@ -6992,13 +7000,13 @@ $messages['diq'] = array( 'wikieditor-toolbar-group-format' => 'Format', 'wikieditor-toolbar-tool-ulist' => 'listeya maddeya iÅŸaretıni', 'wikieditor-toolbar-tool-ulist-example' => 'unsuro listeya maddeya iÅŸaretıni', - 'wikieditor-toolbar-tool-olist' => 'listeya numreyıni', + 'wikieditor-toolbar-tool-olist' => 'Listeya nımreyın', 'wikieditor-toolbar-tool-olist-example' => 'unsuro listeya numreyıni', 'wikieditor-toolbar-tool-indent' => 'Paragraf', 'wikieditor-toolbar-tool-indent-example' => 'Rêza paragrafi', 'wikieditor-toolbar-tool-nowiki' => 'Formetê wiki çıniyo', 'wikieditor-toolbar-tool-nowiki-example' => 'Ne-format nuÅŸte itiya ra bıerz', - 'wikieditor-toolbar-tool-redirect' => 'Hetenayış', + 'wikieditor-toolbar-tool-redirect' => 'Serçarnayış', 'wikieditor-toolbar-tool-redirect-example' => 'Nameyê pele ke hedef biyo', 'wikieditor-toolbar-tool-big' => 'gırd', 'wikieditor-toolbar-tool-big-example' => 'metno gırd', @@ -7037,7 +7045,7 @@ $1:misal.jpg|nuÅŸteyê resmi2', 'wikieditor-toolbar-tool-table-example' => 'metnê hucreyi', 'wikieditor-toolbar-tool-table-preview' => 'Verqayt', 'wikieditor-toolbar-tool-table-insert' => 'têare ker', - 'wikieditor-toolbar-tool-table-cancel' => 'Bıterkne', + 'wikieditor-toolbar-tool-table-cancel' => 'Bıtexelne', 'wikieditor-toolbar-tool-table-toomany' => '1000 hucrara ziyed tablo eÅŸtış pê no mesaj mumkın niyo', 'wikieditor-toolbar-tool-table-invalidnumber' => 'şıma pê yew amaro meqbul o satır u estun cı nêkewti', 'wikieditor-toolbar-tool-table-zero' => 'tablo ya ke tede satır u estun çinibo şıma nêşkeni têare bıkeri', @@ -7055,7 +7063,7 @@ $1:misal.jpg|nuÅŸteyê resmi2', 'wikieditor-toolbar-tool-replace-success' => '$1 {{PLURAL:$1|yedeg|yedegi}} vıraziya.', 'wikieditor-toolbar-tool-replace-emptysearch' => 'şıma qey cıgêrayiÅŸ taway/çiyek nênuÅŸt', 'wikieditor-toolbar-tool-replace-invalidregex' => 'ifadeya normal a ke şıma kwene cı meqbul niya: $1', - 'wikieditor-toolbar-section-characters' => 'karakterê xususiyî', + 'wikieditor-toolbar-section-characters' => 'Karakterê xısusiy', 'wikieditor-toolbar-characters-page-latin' => 'Latin', 'wikieditor-toolbar-characters-page-latinextended' => 'latinkiya hêrabiyaye', 'wikieditor-toolbar-characters-page-ipa' => 'IPA', @@ -7083,12 +7091,12 @@ $1:misal.jpg|nuÅŸteyê resmi2', 'wikieditor-toolbar-help-heading-syntax' => 'o yo ke şıma nuÅŸt', 'wikieditor-toolbar-help-heading-result' => 'o yo ke şıma gırewt', 'wikieditor-toolbar-help-page-format' => 'fesal dayiÅŸ/format', - 'wikieditor-toolbar-help-page-link' => 'gıreyi', + 'wikieditor-toolbar-help-page-link' => 'Gırey', 'wikieditor-toolbar-help-page-heading' => 'sernameyi', 'wikieditor-toolbar-help-page-list' => 'Listey', 'wikieditor-toolbar-help-page-file' => 'dosyayi', 'wikieditor-toolbar-help-page-reference' => 'Çımey', - 'wikieditor-toolbar-help-page-discussion' => 'werê-ameyiÅŸ/munaqeÅŸa', + 'wikieditor-toolbar-help-page-discussion' => 'Werênayış', 'wikieditor-toolbar-help-content-italic-description' => 'italik', 'wikieditor-toolbar-help-content-italic-syntax' => "''metno italik''", 'wikieditor-toolbar-help-content-italic-result' => '<em>metno italik</em>', @@ -7119,19 +7127,19 @@ $1:misal.jpg|nuÅŸteyê resmi2', 'wikieditor-toolbar-help-content-ulist-description' => 'listeya iÅŸareti ya maddeyın', 'wikieditor-toolbar-help-content-ulist-syntax' => '* unsurê listeyi<br />* unsurê listeyi', 'wikieditor-toolbar-help-content-ulist-result' => '<ul><li>unsurê listeyi</li><li>unsurê listeyi</li></ul>', - 'wikieditor-toolbar-help-content-olist-description' => 'listeya numreyın', + 'wikieditor-toolbar-help-content-olist-description' => 'Listeya nımreyın', 'wikieditor-toolbar-help-content-olist-syntax' => '# unsurê listeyi<br /># unsurê listeyi', 'wikieditor-toolbar-help-content-olist-result' => '<ol><li>unsurê listeyi</li><li>unsurê listeyi</li></ol>', 'wikieditor-toolbar-help-content-file-description' => 'dosyaya weradaye/nımıte', 'wikieditor-toolbar-help-content-file-syntax' => '[[$1:Example.png|thumb|NuÅŸteyê resîmî]]', 'wikieditor-toolbar-help-content-file-result' => "<div style='width:104px;' class='thumbinner'><a title='Caption text' class='image' href='#'><img height='50' width='100' border='0' class='thumbimage' src='$2/WikiEditor/modules/images/toolbar/example-image.png' alt=''/></a><div class='thumbcaption'><div class='magnify'><a title='Enlarge' class='internal' href='#'><img height='11' width='15' alt='' src='$1/common/images/magnify-clip.png'/></a></div>metnê resmi</div></div>", - 'wikieditor-toolbar-help-content-reference-description' => 'çıme/referans', + 'wikieditor-toolbar-help-content-reference-description' => 'Referans', 'wikieditor-toolbar-help-content-reference-syntax' => 'metnê peli.<ref name="tesel kerdış/cerebnayiÅŸ">[http://www.misal.org metnê gıreyi], zeylê metni.</ref>', 'wikieditor-toolbar-help-content-reference-result' => "metnê peli.<sup><a href='#'>[1]</a></sup>", 'wikieditor-toolbar-help-content-rereference-description' => 'ÅŸuxulnayişê zeylê o çımeyi', 'wikieditor-toolbar-help-content-rereference-result' => "metnê peli.<sup><a href='#'>[1]</a></sup>", 'wikieditor-toolbar-help-content-showreferences-description' => 'çımeyi ramocın', - 'wikieditor-toolbar-help-content-showreferences-result' => "<ol class='references'><li id='cite_note-test-0'><b><a title='' href='#'>^</a></b> <a rel='nofollow' title='http://www.misal.org' class='external text' href='#'>metnê gıreyi</a>, zeylê metni.</li></ol>", + 'wikieditor-toolbar-help-content-showreferences-result' => "<ol class='references'><li id='cite_note-test-0'><b><a title='' href='#'>^</a></b> <a rel='nofollow' title='http://www.misal.org' class='external text' href='#'>metnê gırey</a>, metno ilawe.</li></ol>", 'wikieditor-toolbar-help-content-signaturetimestamp-description' => 'pê tamÄŸayê zemani imza eÅŸtış', 'wikieditor-toolbar-help-content-signaturetimestamp-result' => "<a href='#' title='{{#special:mypage}}'>nameyê karberi</a> (<a href='#' title='{{#special:mytalk}}'>mesaj</a>) 15:54, 10 Heziran 2009 (UTC)", 'wikieditor-toolbar-help-content-signature-description' => 'imza', @@ -7176,7 +7184,7 @@ $messages['dsb'] = array( 'wikieditor-toolbar' => 'WobźěłowaÅ„ska rÄ›dowa kÅ¡oma', 'wikieditor-toolbar-desc' => 'RÄ›dowa kÅ¡oma za wobźěłowanje bokow z pólÄ›pÅ¡oneju wužywajobnosću', 'wikieditor-toolbar-preference' => 'PólÄ›pÅ¡onu wobźěłowaÅ„sku rÄ›dowu kÅ¡omu aktiwÄ›rowaÅ›', - 'wikieditor-toolbar-dialogs-preference' => 'Dialogi za zasajźenje wótkazow, tabelow a hynakÅ¡ego zmóžniÅ›', # Fuzzy + 'wikieditor-toolbar-dialogs-preference' => 'Asistenty za zasajźenje wótkazow, tabelow a funkciju pytanja a wumÄ›njenja zmóžniÅ›', 'wikieditor-toolbar-hidesig' => 'Pódpisowy tÅ‚oÄaÅ¡k w bokach w gÅ‚ownem mjenjowem rumje schowaÅ›', 'wikieditor-toolbar-loading' => 'Zacytujo se...', 'wikieditor-toolbar-tool-bold' => 'Tucny', @@ -7204,6 +7212,7 @@ $messages['dsb'] = array( 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'NjepÅ‚aÅ›iwy titel', 'wikieditor-toolbar-tool-link-int-target-status-external' => 'Eksterny wótkaz', 'wikieditor-toolbar-tool-link-int-target-status-loading' => 'Eksistenca boka se pÅ›ekontrolÄ›rujo...', + 'wikieditor-toolbar-tool-link-int-target-status-disambig' => 'Bok wÄ›cejzmysÅ‚owosći', 'wikieditor-toolbar-tool-link-int-invalid' => 'Titel, kótaryž sy pódaÅ‚, jo njepÅ‚aÅ›iwy.', 'wikieditor-toolbar-tool-link-lookslikeinternal' => 'URL, kótaryž sy pódaÅ‚, wuglÄ›da, ako by byÅ‚ za wótkaz k drugemu wikibokoju. CoÅ¡ jen do internego wótkaza psétwóriÅ›?', @@ -8463,7 +8472,7 @@ $messages['eu'] = array( 'wikieditor-toolbar-tool-xlink-example' => 'http://www.adibidea.com loturaren izenburua', 'wikieditor-toolbar-tool-link' => 'Lotura', 'wikieditor-toolbar-tool-link-title' => 'Sartu lotura', - 'wikieditor-toolbar-tool-link-int' => 'Wiki orrialde batera', + 'wikieditor-toolbar-tool-link-int' => 'Wiki orri batera', 'wikieditor-toolbar-tool-link-int-target' => 'Orrialdearen izenburua:', 'wikieditor-toolbar-tool-link-int-target-tooltip' => 'Orriaren izenburua edo URL', 'wikieditor-toolbar-tool-link-int-text' => 'Lotutako testua:', @@ -8665,7 +8674,7 @@ $messages['fa'] = array( 'wikieditor' => 'رابط ویرایش پیشرÙته ویکی‌متن', 'wikieditor-desc' => 'یک رابط ویرایش پیشرÙته ویکی‌متن Ùˆ چندین پودمان دارای قابلیت Ùراهم می‌کند', 'wikieditor-wikitext-tab' => 'ویکی‌متن', - 'wikieditor-loading' => 'در Øال بارگیری', + 'wikieditor-loading' => 'در Øال بارگیری...', 'wikieditor-preview-preference' => 'Ùعال‌سازی پیش‌نمایش کنار یک دیگر', 'wikieditor-preview-tab' => 'پیش‌نمایش', 'wikieditor-preview-changes-tab' => 'تغییرها', @@ -8721,7 +8730,7 @@ $messages['fa'] = array( 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'عنوان نادرست', 'wikieditor-toolbar-tool-link-int-target-status-external' => 'پیوند به بیرون', 'wikieditor-toolbar-tool-link-int-target-status-loading' => 'بررسی وجود داشتن صÙØÙ‡...', - 'wikieditor-toolbar-tool-link-int-target-status-disambig' => 'صÙØÙ‡Ù” ابهام‌زدائی', + 'wikieditor-toolbar-tool-link-int-target-status-disambig' => 'صÙØÙ‡Ù” ابهام‌زدایی', 'wikieditor-toolbar-tool-link-int-invalid' => 'عنوان تعیین‌شده نامعتبر است.', 'wikieditor-toolbar-tool-link-lookslikeinternal' => 'نشانی اینترنتی Ú©Ù‡ وارد کردید به Ø´Ú©Ù„ÛŒ است Ú©Ù‡ نمایانگر یک پیوند به صÙØه‌ای داخل ویکی است. آیا می‌خواهید آن را به یک پیوند داخلی تبدیل کنید؟', 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'پیوند داخلی', @@ -8914,6 +8923,7 @@ $1:مثال.jpg|عنوان Û²', * @author Nedergard * @author Nike * @author Olli + * @author Pxos * @author Silvonen * @author Str4nd * @author Stryn @@ -8980,6 +8990,7 @@ $messages['fi'] = array( 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'Virheellinen otsikko', 'wikieditor-toolbar-tool-link-int-target-status-external' => 'Ulkoinen linkki', 'wikieditor-toolbar-tool-link-int-target-status-loading' => 'Tarkastetaan sivun olemassaolo…', + 'wikieditor-toolbar-tool-link-int-target-status-disambig' => 'Täsmennyssivu', 'wikieditor-toolbar-tool-link-int-invalid' => 'Antamasi otsikko on virheellinen.', 'wikieditor-toolbar-tool-link-lookslikeinternal' => 'URL-osoite, jonka annoit näyttää siltä kuin se olisi linkki toiselle wikisivulle. Haluatko tehdä siitä sisäisen linkin?', @@ -9698,9 +9709,75 @@ $messages['fur'] = array( ); /** Western Frisian (Frysk) + * @author Kening Aldgilles */ $messages['fy'] = array( + 'wikieditor-publish-button-cancel' => 'Ofbrekke', + 'wikieditor-template-editor-dialog-cancel' => 'Ofbrekke', + 'wikieditor-toc-show' => 'Ynhâld sjen litte', + 'wikieditor-toc-hide' => 'Ynhâld ferbergje', + 'wikieditor-toolbar' => 'Bewurkingsbalke', + 'wikieditor-toolbar-tool-link-title' => 'Keppeling ynfoegje', + 'wikieditor-toolbar-tool-link-insert' => 'Keppeling ynfoegje', 'wikieditor-toolbar-tool-link-cancel' => 'Ofbrekke', + 'wikieditor-toolbar-tool-file-example' => 'Eksimpel.jpg', + 'wikieditor-toolbar-tool-file-title' => 'Bestân ynfoegje', + 'wikieditor-toolbar-file-size' => 'Grutte:', + 'wikieditor-toolbar-file-default' => '(standert)', + 'wikieditor-toolbar-file-format-none' => 'gjin', + 'wikieditor-toolbar-tool-file-insert' => 'Ynfoegje', + 'wikieditor-toolbar-tool-file-cancel' => 'Ofbrekke', + 'wikieditor-toolbar-tool-reference' => 'Referinsje', + 'wikieditor-toolbar-tool-reference-example' => 'Foettekst hjir ynfoegje', + 'wikieditor-toolbar-tool-reference-cancel' => 'Ofbrekke', + 'wikieditor-toolbar-tool-reference-title' => 'Referinsje ynfoegje', + 'wikieditor-toolbar-tool-reference-insert' => 'Ynfoegje', + 'wikieditor-toolbar-tool-reference-text' => 'Referinsjetekst', + 'wikieditor-toolbar-tool-heading-1' => 'Nivo 1', + 'wikieditor-toolbar-tool-heading-2' => 'Nivo 2', + 'wikieditor-toolbar-tool-heading-3' => 'Nivo 3', + 'wikieditor-toolbar-tool-heading-4' => 'Nivo 4', + 'wikieditor-toolbar-tool-heading-5' => 'Nivo 5', + 'wikieditor-toolbar-tool-heading-example' => 'Koptekst', + 'wikieditor-toolbar-tool-ulist' => 'List sûnder nûmers', + 'wikieditor-toolbar-tool-olist' => 'List mei nûmers', + 'wikieditor-toolbar-group-insert' => 'Ynfoegje', + 'wikieditor-toolbar-tool-table-title' => 'Tabel ynfoegje', + 'wikieditor-toolbar-tool-table-dimensions-rows' => 'Rigen', + 'wikieditor-toolbar-tool-table-dimensions-columns' => 'Kolommen', + 'wikieditor-toolbar-tool-table-dimensions-header' => 'Koprigel ynfoegje', + 'wikieditor-toolbar-tool-table-example' => 'Eksimpel', + 'wikieditor-toolbar-tool-table-insert' => 'Ynfoegje', + 'wikieditor-toolbar-tool-table-cancel' => 'Ofbrekke', + 'wikieditor-toolbar-tool-replace-search' => 'Sykje op:', + 'wikieditor-toolbar-tool-replace-replace' => 'Ferfange mei:', + 'wikieditor-toolbar-section-characters' => 'Spesjale tekens', + 'wikieditor-toolbar-characters-page-latin' => 'Latyn', + 'wikieditor-toolbar-help-page-reference' => 'Referinsjes', + 'wikieditor-toolbar-help-page-discussion' => 'Oerlis', + 'wikieditor-toolbar-help-content-italic-description' => 'Kursyf', + 'wikieditor-toolbar-help-content-italic-syntax' => "''Kursive tekst''", + 'wikieditor-toolbar-help-content-italic-result' => '<em>Kursive tekst</em>', + 'wikieditor-toolbar-help-content-bold-description' => 'Fet', + 'wikieditor-toolbar-help-content-bold-syntax' => "'''Fette tekst'''", + 'wikieditor-toolbar-help-content-bold-result' => '<strong>Fette tekst</strong>', + 'wikieditor-toolbar-help-content-bolditalic-description' => 'Fet & kursyf', + 'wikieditor-toolbar-help-content-bolditalic-syntax' => "'''''Fette & kursive tekst'''''", + 'wikieditor-toolbar-help-content-bolditalic-result' => '<strong><em>Fette & kursive tekst</em></strong>', + 'wikieditor-toolbar-help-content-ilink-description' => 'Ynterne ferwizing', + 'wikieditor-toolbar-help-content-xlink-description' => 'Eksterne ferwizing', + 'wikieditor-toolbar-help-content-heading2-syntax' => '== Koptekst ==', + 'wikieditor-toolbar-help-content-heading2-result' => '<h2>Koptekst</h2>', + 'wikieditor-toolbar-help-content-heading3-description' => 'Lytse kop tredde nivo', + 'wikieditor-toolbar-help-content-heading3-syntax' => '== Koptekst ==', + 'wikieditor-toolbar-help-content-heading3-result' => '<h3>Koptekst</h3>', + 'wikieditor-toolbar-help-content-heading4-description' => 'Lytse kop fjirde nivo', + 'wikieditor-toolbar-help-content-heading4-syntax' => '== Koptekst ==', + 'wikieditor-toolbar-help-content-heading4-result' => '<h4>Koptekst</h4>', + 'wikieditor-toolbar-help-content-heading5-description' => 'Lytse kop fyfte nivo', + 'wikieditor-toolbar-help-content-heading5-syntax' => '== Koptekst ==', + 'wikieditor-toolbar-help-content-heading5-result' => '<h5>Koptekst</h5>', + 'wikieditor-toolbar-help-content-ulist-description' => 'List sûnder nûmers', ); /** Irish (Gaeilge) @@ -9731,6 +9808,7 @@ $messages['ga'] = array( /** Scottish Gaelic (Gà idhlig) * @author Akerbeltz + * @author Shirayuki */ $messages['gd'] = array( 'wikieditor' => 'Eadar-aghaidh deasachadh wikitext adhartach', @@ -9764,7 +9842,7 @@ $messages['gd'] = array( 'wikieditor-toolbar' => 'Am bà r-inneil deasachaidh', 'wikieditor-toolbar-desc' => 'Am bà r-inneil deasachaidh le comasan a bharrachd', 'wikieditor-toolbar-preference' => 'Cuir am bà r-inneil le comasan a bharrachd an comas', - 'wikieditor-toolbar-dialogs-preference' => 'Cuir an comas na còmhraidhean airson ceanglaichean, clà ir is rudan eile a chur a-steach', # Fuzzy + 'wikieditor-toolbar-dialogs-preference' => 'Cuir an comas na draoidhean airson ceanglaichean, clà ran agus am foincsean airson lorg a dhèanamh no rudan a chur an à ite rudan eile', 'wikieditor-toolbar-loading' => "'Ga luchdadh...", 'wikieditor-toolbar-tool-bold' => 'Trom', 'wikieditor-toolbar-tool-bold-example' => 'Teacs trom', @@ -11424,7 +11502,7 @@ $1:उदाहरण.jpg|चितà¥à¤°à¤¶à¥€à¤°à¥à¤·à¤•à¥¨', 'wikieditor-toolbar-tool-replace-close' => 'बंद करें', 'wikieditor-toolbar-tool-replace-nomatch' => 'आपके खोज कà¥à¤› मिला नहीं', 'wikieditor-toolbar-tool-replace-success' => '$1 पà¥à¤°à¤¤à¤¿à¤¸à¥à¤¥à¤¾à¤ªà¤¨ बनें ।', # Fuzzy - 'wikieditor-toolbar-section-characters' => 'विशेष वरà¥à¤£', + 'wikieditor-toolbar-section-characters' => 'विशेष अकà¥à¤·à¤°', 'wikieditor-toolbar-characters-page-latin' => 'लाटिन', 'wikieditor-toolbar-characters-page-latinextended' => 'लाटिन विसà¥à¤¤à¤¾à¤°à¤¿à¤¤', 'wikieditor-toolbar-characters-page-ipa' => 'आइपीà¤', @@ -11517,6 +11595,7 @@ $messages['hif-latn'] = array( /** Croatian (hrvatski) * @author Bugoslav + * @author Eleassar * @author Ex13 * @author Excaliboor * @author MaGa @@ -11538,7 +11617,7 @@ $messages['hr'] = array( 'wikieditor-publish-preference' => 'Omogućiti korak-po-korak izdavanje', 'wikieditor-publish-button-publish' => 'Objaviti', 'wikieditor-publish-button-cancel' => 'Odustani', - 'wikieditor-publish-dialog-title' => 'Objavi na {{SITENAME}}', + 'wikieditor-publish-dialog-title' => 'Objavi na {{GRAMMAR:dajalnik|{{SITENAME}}}}', 'wikieditor-publish-dialog-summary' => 'Uredi sažetak (kratko opiÅ¡ite promjene koje ste uÄinili):', 'wikieditor-publish-dialog-minor' => 'Manja promjena', 'wikieditor-publish-dialog-watch' => 'Prati ovu stranicu', @@ -11786,7 +11865,7 @@ $messages['hsb'] = array( 'wikieditor-toolbar' => 'Gratowa lajsta za wobdźěłowanje', 'wikieditor-toolbar-desc' => 'Gratowa lajsta za wobdźěłowanje stronow z polÄ›pÅ¡enej wužiwajomnosću', 'wikieditor-toolbar-preference' => 'PolÄ›pÅ¡enu gratowu lajstu za wobdźěłowanje aktiwizować', - 'wikieditor-toolbar-dialogs-preference' => 'Dialogi za zasunjenje wotkazow, tabelow a hinaÅ¡eho zmóžnić', # Fuzzy + 'wikieditor-toolbar-dialogs-preference' => 'Asistenty za zasadźenje wotkazow, tabelow a funkciju pytanja a wumÄ›njenja zmóžnić', 'wikieditor-toolbar-hidesig' => 'Podpisowe tłóÄatko w stronach we hÅ‚ownym mjenowym rumje schować', 'wikieditor-toolbar-loading' => 'ÄŒita so...', 'wikieditor-toolbar-tool-bold' => 'TuÄny', @@ -11814,6 +11893,7 @@ $messages['hsb'] = array( 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'NjepÅ‚aćiwy titul', 'wikieditor-toolbar-tool-link-int-target-status-external' => 'Eksterny wotkaz', 'wikieditor-toolbar-tool-link-int-target-status-loading' => 'Eksistenca strony so pÅ™epruwuje...', + 'wikieditor-toolbar-tool-link-int-target-status-disambig' => 'Strona wjacewoznamowosće', 'wikieditor-toolbar-tool-link-int-invalid' => 'Titul, kotryž sy podaÅ‚, je njepÅ‚aćiwy.', 'wikieditor-toolbar-tool-link-lookslikeinternal' => 'URL, kotryž sy podaÅ‚, wupada kaž by jako wotkaz k druhej wikistronje mÄ›rjeny byÅ‚. ChceÅ¡ jón do interneho wotkaza pÅ™etworić?', @@ -12527,7 +12607,7 @@ $messages['ia'] = array( 'wikieditor-toolbar' => 'Instrumentario de modification', 'wikieditor-toolbar-desc' => 'Barra con instrumentos de modification con augmento de usabilitate', 'wikieditor-toolbar-preference' => 'Activar le instrumentario de modification meliorate', - 'wikieditor-toolbar-dialogs-preference' => 'Activar dialogos pro inserer ligamines, tabulas e plus', # Fuzzy + 'wikieditor-toolbar-dialogs-preference' => 'Activar dialogos pro inserer ligamines, tabellas e le function de cercar e reimplaciar', 'wikieditor-toolbar-hidesig' => 'Celar le button de signatura in paginas in le spatio de nomines principal', 'wikieditor-toolbar-loading' => 'Cargamento in curso…', 'wikieditor-toolbar-tool-bold' => 'Grasse', @@ -12555,6 +12635,7 @@ $messages['ia'] = array( 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'Titulo invalide', 'wikieditor-toolbar-tool-link-int-target-status-external' => 'Ligamine externe', 'wikieditor-toolbar-tool-link-int-target-status-loading' => 'Verifica existentia del pagina...', + 'wikieditor-toolbar-tool-link-int-target-status-disambig' => 'Pagina de disambiguation', 'wikieditor-toolbar-tool-link-int-invalid' => 'Le titulo que tu specificava es invalide.', 'wikieditor-toolbar-tool-link-lookslikeinternal' => 'Le URL que tu specificava pare esser intendite como ligamine a un altere pagina wiki. Vole tu facer lo un ligamine interne?', @@ -12570,6 +12651,7 @@ Vole tu facer lo un ligamine interne?', 'wikieditor-toolbar-file-float' => 'Alineamento:', 'wikieditor-toolbar-file-default' => '(predefinition)', 'wikieditor-toolbar-file-format' => 'Formato:', + 'wikieditor-toolbar-file-format-none' => 'nulle', 'wikieditor-toolbar-tool-file-insert' => 'Inserer', 'wikieditor-toolbar-tool-file-cancel' => 'Cancellar', 'wikieditor-toolbar-tool-reference' => 'Referentia', @@ -12636,9 +12718,9 @@ $1:Exemplo.jpg|Legenda2', 'wikieditor-toolbar-tool-table-preview' => 'Previsualisation', 'wikieditor-toolbar-tool-table-insert' => 'Inserer', 'wikieditor-toolbar-tool-table-cancel' => 'Cancellar', - 'wikieditor-toolbar-tool-table-toomany' => 'Inserer un tabula con plus de $1 cellulas non es possibile con iste dialogo.', # Fuzzy + 'wikieditor-toolbar-tool-table-toomany' => 'Inserer un tabella con plus de 1000 cellulas non es possibile con iste dialogo.', 'wikieditor-toolbar-tool-table-invalidnumber' => 'Tu non ha entrate un numero valide de lineas o columnas.', - 'wikieditor-toolbar-tool-table-zero' => 'Tu non pote inserer un tabula con zero lineas o columnas.', + 'wikieditor-toolbar-tool-table-zero' => 'Tu non pote inserer un tabella con zero lineas o columnas.', 'wikieditor-toolbar-tool-replace' => 'Cercar e reimplaciar', 'wikieditor-toolbar-tool-replace-title' => 'Cercar e reimplaciar', 'wikieditor-toolbar-tool-replace-search' => 'Cercar:', @@ -12650,7 +12732,7 @@ $1:Exemplo.jpg|Legenda2', 'wikieditor-toolbar-tool-replace-button-replaceall' => 'Reimplaciar toto', 'wikieditor-toolbar-tool-replace-close' => 'Clauder', 'wikieditor-toolbar-tool-replace-nomatch' => 'Tu recerca non ha producite resultatos.', - 'wikieditor-toolbar-tool-replace-success' => '$1 reimplaciamentos facite.', # Fuzzy + 'wikieditor-toolbar-tool-replace-success' => '$1 {{PLURAL:$1|reimplaciamento|reimplaciamentos}} facite.', 'wikieditor-toolbar-tool-replace-emptysearch' => 'Tu non entrava texto a cercar.', 'wikieditor-toolbar-tool-replace-invalidregex' => 'Le expression regular que tu entrava es invalide: $1', 'wikieditor-toolbar-section-characters' => 'Characteres special', @@ -12673,6 +12755,7 @@ $1:Exemplo.jpg|Legenda2', 'wikieditor-toolbar-characters-page-thai' => 'Thailandese', 'wikieditor-toolbar-characters-page-lao' => 'Laotiano', 'wikieditor-toolbar-characters-page-khmer' => 'Cambodgiano', + 'wikieditor-toolbar-characters-minus' => 'signo minus', 'wikieditor-toolbar-section-help' => 'Adjuta', 'wikieditor-toolbar-help-heading-description' => 'Description', 'wikieditor-toolbar-help-heading-syntax' => 'Entrata', @@ -13655,6 +13738,7 @@ $1:Example.jpg|Myndlýsing2', * @author Beta16 * @author Darth Kule * @author F. Cosoleto + * @author FRacco * @author Gianfranco * @author Gliu * @author McDutchie @@ -13694,7 +13778,7 @@ $messages['it'] = array( 'wikieditor-toc-hide' => 'Nascondi i contenuti', 'wikieditor-toolbar' => 'Barra degli strumenti di modifica', 'wikieditor-toolbar-desc' => 'Barra degli strumenti di modifica della pagina con migliorata usabilità ', - 'wikieditor-toolbar-preference' => 'Abilita barra degli strumenti di modifica avanzata', + 'wikieditor-toolbar-preference' => 'Abilita la barra degli strumenti di modifica avanzata', 'wikieditor-toolbar-dialogs-preference' => "Abilita le finestre per l'inserimento di collegamenti, tabelle e la funzione di cerca e sostituisci", 'wikieditor-toolbar-hidesig' => 'Nasconde il pulsante della firma dalle pagine nel namespace principale', 'wikieditor-toolbar-loading' => 'Caricamento in corso...', @@ -15162,6 +15246,7 @@ $messages['kn'] = array( * @author Kwj2772 * @author LFM * @author Mintz0223 + * @author Priviet * @author ê´€ì¸ìƒëžµ * @author ì•„ë¼ */ @@ -15213,8 +15298,8 @@ $messages['ko'] = array( 'wikieditor-toolbar-tool-link-int' => '위키 문서로 ì—°ê²°', 'wikieditor-toolbar-tool-link-int-target' => 'ëŒ€ìƒ ë¬¸ì„œ ë˜ëŠ” URL:', 'wikieditor-toolbar-tool-link-int-target-tooltip' => '문서 ì œëª© ë˜ëŠ” URL', - 'wikieditor-toolbar-tool-link-int-text' => 'ë§í¬ì— 보여지는 글:', - 'wikieditor-toolbar-tool-link-int-text-tooltip' => 'ë¬¸ì„œì— ë³´ì—¬ì§€ëŠ” 글', + 'wikieditor-toolbar-tool-link-int-text' => 'ë§í¬ì— ë³´ì´ëŠ” 글:', + 'wikieditor-toolbar-tool-link-int-text-tooltip' => 'ë¬¸ì„œì— ë³´ì´ëŠ” 글', 'wikieditor-toolbar-tool-link-ext' => '바깥 웹 페ì´ì§€ë¡œ ì—°ê²°', 'wikieditor-toolbar-tool-link-ext-target' => 'ë§í¬ URL:', 'wikieditor-toolbar-tool-link-ext-text' => 'ë§í¬ í…스트:', @@ -15239,7 +15324,7 @@ $messages['ko'] = array( 'wikieditor-toolbar-file-caption' => '설명:', 'wikieditor-toolbar-file-size' => 'í¬ê¸°:', 'wikieditor-toolbar-file-float' => 'ì •ë ¬:', - 'wikieditor-toolbar-file-default' => '(기본값)', + 'wikieditor-toolbar-file-default' => '(기본 ê°’)', 'wikieditor-toolbar-file-format' => '형ì‹:', 'wikieditor-toolbar-file-format-none' => 'ì—†ìŒ', 'wikieditor-toolbar-tool-file-insert' => '넣기', @@ -15313,7 +15398,7 @@ $1:Example.jpg|설명2', 'wikieditor-toolbar-tool-table-zero' => 'í–‰ì´ë‚˜ ì—´ì˜ ê°œìˆ˜ê°€ 0ì¸ í‘œë¥¼ ë„£ì„ ìˆ˜ 없습니다.', 'wikieditor-toolbar-tool-replace' => '찾아 바꾸기', 'wikieditor-toolbar-tool-replace-title' => '찾아 바꾸기', - 'wikieditor-toolbar-tool-replace-search' => '찾기:', + 'wikieditor-toolbar-tool-replace-search' => 'ì°¾ì„ ëŒ€ìƒ:', 'wikieditor-toolbar-tool-replace-replace' => '바꾸기:', 'wikieditor-toolbar-tool-replace-case' => '대소문ìžë¥¼ 구별', 'wikieditor-toolbar-tool-replace-regex' => 'ì°¾ì„ ë¬¸ìžì—´ì— ì •ê·œ 표현ì‹ì„ ì ìš©', @@ -16468,6 +16553,8 @@ $1:Exemplum.jpg|Descriptio 2', 'wikieditor-toolbar-characters-page-telugu' => 'Telugu', 'wikieditor-toolbar-section-help' => 'Adiutatum', 'wikieditor-toolbar-help-heading-description' => 'Descriptio', + 'wikieditor-toolbar-help-heading-syntax' => 'Quod scribis', + 'wikieditor-toolbar-help-heading-result' => 'Quod accipies', 'wikieditor-toolbar-help-page-format' => 'Formatio', 'wikieditor-toolbar-help-page-link' => 'Nexus', 'wikieditor-toolbar-help-page-heading' => 'Tituli', @@ -16490,17 +16577,47 @@ $1:Exemplum.jpg|Descriptio 2', 'wikieditor-toolbar-help-content-xlink-description' => 'Nexus externus', 'wikieditor-toolbar-help-content-xlink-syntax' => '[http://www.example.org Titulus nexus]<br />[http://www.example.org]<br />http://www.example.org', 'wikieditor-toolbar-help-content-xlink-result' => "<a href='#' class='external'>Titulus nexus</a><br /><a href='#' class='external autonumber'>[1]</a><br /><a href='#' class='external'>http://www.example.org</a>", + 'wikieditor-toolbar-help-content-heading2-description' => 'Secundi ordinis titulus', + 'wikieditor-toolbar-help-content-heading2-syntax' => '== Textus tituli ==', + 'wikieditor-toolbar-help-content-heading2-result' => '<h2>Textus tituli</h2>', + 'wikieditor-toolbar-help-content-heading3-description' => 'Tertii ordinis titulus', + 'wikieditor-toolbar-help-content-heading3-syntax' => '=== Textus tituli ===', + 'wikieditor-toolbar-help-content-heading3-result' => '<h3>Textus tituli</h3>', + 'wikieditor-toolbar-help-content-heading4-description' => 'Quarti ordinis titulus', + 'wikieditor-toolbar-help-content-heading4-syntax' => '==== Textus tituli ====', + 'wikieditor-toolbar-help-content-heading4-result' => '<h4>Textus tituli</h4>', + 'wikieditor-toolbar-help-content-heading5-description' => 'Quinti ordinis titulus', + 'wikieditor-toolbar-help-content-heading5-syntax' => '===== Textus tituli =====', + 'wikieditor-toolbar-help-content-heading5-result' => '<h5>Textus tituli</h5>', + 'wikieditor-toolbar-help-content-ulist-description' => 'Index globosus', + 'wikieditor-toolbar-help-content-ulist-syntax' => '* Res indicata<br />* Res indicata', + 'wikieditor-toolbar-help-content-ulist-result' => '<ul><li>Res indicata</li><li>Res indicata</li></ul>', 'wikieditor-toolbar-help-content-file-description' => 'Fasciculus in pagina impositus', 'wikieditor-toolbar-help-content-file-syntax' => '[[$1:Exemplum.png|thumb|Descriptio fasciculi]]', # Fuzzy 'wikieditor-toolbar-help-content-file-result' => "<div style='width:104px;' class='thumbinner'><a title='Descriptio fasciculi' class='image' href='#'><img height='50' width='100' border='0' class='thumbimage' src='$2/WikiEditor/modules/images/toolbar/example-image.png' alt=''/></a><div class='thumbcaption'><div class='magnify'><a title='Augere' class='internal' href='#'><img height='11' width='15' alt='' src='$1/common/images/magnify-clip.png'/></a></div>Descriptio fasciculi</div></div>", 'wikieditor-toolbar-help-content-reference-description' => 'Referentia bibliographica', + 'wikieditor-toolbar-help-content-reference-syntax' => 'Textus paginae.<ref name="test">[http://www.example.org Textus nexus], textus additus.</ref>', + 'wikieditor-toolbar-help-content-reference-result' => "Textus paginae.<sup><a href='#'>[1]</a></sup>", + 'wikieditor-toolbar-help-content-rereference-description' => 'Eiusdem referentiae usus additus', + 'wikieditor-toolbar-help-content-rereference-result' => "Textus paginae.<sup><a href='#'>[1]</a></sup>", 'wikieditor-toolbar-help-content-showreferences-description' => 'Referentias bibliographicas monstrare', + 'wikieditor-toolbar-help-content-showreferences-result' => "<ol class='references'><li id='cite_note-test-0'><b><a title='' href='#'>^</a></b> <a rel='nofollow' title='http://www.example.org' class='external text' href='#'>Textus nexus</a>, textus additus.</li></ol>", 'wikieditor-toolbar-help-content-signaturetimestamp-description' => 'Subscriptio tua cum indicatione temporis', 'wikieditor-toolbar-help-content-signaturetimestamp-result' => "<a href='#' title='{{#special:mypage}}'>Nomen usoris</a> (<a href='#' title='{{#special:mytalk}}'>disputatio</a>) 15:54, 10 Iunii 2009 (UTC)", 'wikieditor-toolbar-help-content-signature-description' => 'Subscriptio', 'wikieditor-toolbar-help-content-signature-result' => "<a href='#' title='{{#special:mypage}}'>Nomen usoris</a> (<a href='#' title='{{#special:mytalk}}'>disputatio</a>)", ); +/** Ladino (Ladino) + * @author Menachem.Moreira + */ +$messages['lad'] = array( + 'wikieditor-wikitext-tab' => 'Vikiteksto', + 'wikieditor-publish-button-publish' => 'Publikar', + 'wikieditor-publish-dialog-title' => 'Publikar a {{SITENAME}}', + 'wikieditor-publish-dialog-publish' => 'Publikar', +); + /** Luxembourgish (Lëtzebuergesch) * @author Robby * @author Soued031 @@ -16537,7 +16654,7 @@ $messages['lb'] = array( 'wikieditor-toolbar' => 'Toolbar änneren', 'wikieditor-toolbar-desc' => 'Toolbar vun de Säitenännerunge mat erweiderter Benotzerfrëndlechkeet', 'wikieditor-toolbar-preference' => 'Déi erweidert Ännerungs-Toolbar aktivéieren', - 'wikieditor-toolbar-dialogs-preference' => "Assistene fir d'Drasetze vu Linken, Tabellen genee esou wéi d'Funktioun 'sichen an ersetzen' aschalten", + 'wikieditor-toolbar-dialogs-preference' => "Assistente fir d'Drasetze vu Linken, Tabellen genee sou wéi d'Funktioun 'sichen an ersetzen' aschalten", 'wikieditor-toolbar-hidesig' => 'Den Ënnerschrëftsknäppchen op Säiten am Haaptnummraum verstoppen', 'wikieditor-toolbar-loading' => 'Lueden...', 'wikieditor-toolbar-tool-bold' => 'Fettgedréckt', @@ -17004,6 +17121,7 @@ $1:Veurbeildj2|Biesjrif2', ); /** لوری (لوری) + * @author Bonevarluri * @author Mogoeilor */ $messages['lrc'] = array( @@ -17040,6 +17158,8 @@ $messages['lrc'] = array( 'wikieditor-toolbar-tool-link' => 'ديس ون', 'wikieditor-toolbar-tool-link-int' => 'سی ويكی بلگه', 'wikieditor-toolbar-tool-link-cancel' => 'رد كردن', + 'wikieditor-toolbar-tool-link-int-target-status-notexists' => 'بلگه نیئش', + 'wikieditor-toolbar-tool-file-title' => 'نیائن جانیا', 'wikieditor-toolbar-file-size' => 'انازه', 'wikieditor-toolbar-file-float' => 'د راست چيين', 'wikieditor-toolbar-file-default' => 'پيش Ùرض', @@ -17051,14 +17171,27 @@ $messages['lrc'] = array( 'wikieditor-toolbar-tool-reference-cancel' => 'رد كردن', 'wikieditor-toolbar-tool-reference-title' => 'دائن سرچشمه', 'wikieditor-toolbar-tool-reference-insert' => 'دائن', + 'wikieditor-toolbar-tool-signature' => 'امضا Ùˆ دیسمن وخت', 'wikieditor-toolbar-section-advanced' => 'پيشرÙته', 'wikieditor-toolbar-tool-heading' => 'سربلگه', + 'wikieditor-toolbar-tool-heading-1' => 'ریتراز1', + 'wikieditor-toolbar-tool-heading-3' => 'ریتراز3', + 'wikieditor-toolbar-tool-heading-5' => 'ریتراز5', + 'wikieditor-toolbar-tool-ulist' => 'نوم Ú¯Ù‡ توپر بیه', + 'wikieditor-toolbar-tool-olist' => 'نوم Ú¯Ù‡ شماره دار', + 'wikieditor-toolbar-tool-redirect-example' => 'نوم بلگه Øاستنی', 'wikieditor-toolbar-tool-small' => 'كؤچك', 'wikieditor-toolbar-tool-small-example' => 'متن كؤچك', 'wikieditor-toolbar-group-insert' => 'دائن', + 'wikieditor-toolbar-tool-gallery' => 'عسگدونی', 'wikieditor-toolbar-tool-newline' => 'خط تازه', 'wikieditor-toolbar-tool-table' => 'جعوه', + 'wikieditor-toolbar-tool-replace' => 'بگرد Ùˆ جاگزین Ú©Ùˆ', + 'wikieditor-toolbar-tool-replace-title' => 'بگرد Ùˆ جاگزین Ú©Ùˆ', + 'wikieditor-toolbar-tool-replace-search' => 'Ù¾ÛŒ جوری سی', + 'wikieditor-toolbar-tool-replace-button-findnext' => 'نهایی نه پیدا Ú©Ùˆ', 'wikieditor-toolbar-tool-replace-close' => 'بسن', + 'wikieditor-toolbar-tool-replace-emptysearch' => 'شما سی Ù¾ÛŒ جوری هیچی وارد نکردیته.', 'wikieditor-toolbar-characters-page-latin' => 'لاتين', 'wikieditor-toolbar-characters-page-symbols' => 'نماديا', 'wikieditor-toolbar-characters-page-greek' => 'هلنی', @@ -17076,7 +17209,20 @@ $messages['lrc'] = array( 'wikieditor-toolbar-characters-page-lao' => 'لائو', 'wikieditor-toolbar-characters-page-khmer' => 'خمر', 'wikieditor-toolbar-section-help' => 'هومياری', + 'wikieditor-toolbar-help-page-list' => 'نوم Ú¯Ù‡ یا', + 'wikieditor-toolbar-help-page-file' => 'جانیایا', 'wikieditor-toolbar-help-page-discussion' => 'Ú¯Ù¾', + 'wikieditor-toolbar-help-content-heading2-description' => 'دوئمی ریتراز سرون', + 'wikieditor-toolbar-help-content-heading3-description' => 'سئمین ریتراز سرون', + 'wikieditor-toolbar-help-content-heading4-description' => 'چئارمی ریتراز سرون', + 'wikieditor-toolbar-help-content-heading5-description' => 'پنجمین ریتراز سرون', + 'wikieditor-toolbar-help-content-ulist-description' => 'نوم Ú¯Ù‡ توپر بیه', + 'wikieditor-toolbar-help-content-ulist-syntax' => '* قلم نوم Ú¯Ù‡<br />* قلم نوم Ú¯Ù‡', + 'wikieditor-toolbar-help-content-ulist-result' => '<ul><li>قلم نوم Ú¯Ù‡</li><li>قلم نوم Ú¯Ù‡</li></ul>', + 'wikieditor-toolbar-help-content-olist-syntax' => '# قلم نوم Ú¯Ù‡<br />* قلم نوم Ú¯Ù‡', + 'wikieditor-toolbar-help-content-olist-result' => '<ul><li>قلم نوم Ú¯Ù‡</li><li>قلم نوم Ú¯Ù‡</li></ul>', + 'wikieditor-toolbar-help-content-signaturetimestamp-description' => 'امضا Ùˆ دیسمن وخت', + 'wikieditor-toolbar-help-content-signature-description' => 'امضا', 'wikieditor-toolbar-help-content-indent-description' => 'مئن رئته', ); @@ -18603,22 +18749,22 @@ $messages['mr'] = array( 'wikieditor' => 'विकिमजकूर संपादनाची विकसित सà¥à¤µà¤¿à¤§à¤¾', 'wikieditor-desc' => 'विसà¥à¤¤à¤¾à¤°à¤£à¥€à¤¯ विकिमजकà¥à¤° संपादन आंतरपृषà¥à¤ (इंटरफेस) आणि बरà¥â€à¤¯à¤¾à¤š वैशिषà¥à¤Ÿà¥à¤¯à¤ªà¥‚रà¥à¤£ निशà¥à¤šà¤¯à¤¿à¤•à¤¾ (मॊडà¥à¤¯à¥‚लà¥à¤¸) पà¥à¤°à¤µà¤¤à¥‡', 'wikieditor-wikitext-tab' => 'विकिमजकूर', - 'wikieditor-loading' => 'चढवत आहे…', + 'wikieditor-loading' => 'पà¥à¤°à¤à¤¾à¤°à¤£ करीत आहे', 'wikieditor-preview-preference' => 'सोबतच आजà¥-बाजूस दिसणारी à¤à¤²à¤• शकà¥à¤¯ करा.', 'wikieditor-preview-tab' => 'à¤à¤²à¤•', 'wikieditor-preview-changes-tab' => 'बदल', - 'wikieditor-preview-loading' => 'चढवत आहे…', + 'wikieditor-preview-loading' => 'पà¥à¤°à¤à¤¾à¤°à¤£ करीत आहे', 'wikieditor-previewDialog-preference' => '"à¤à¤²à¤• पहा" चौकट सकà¥à¤·à¤® करा', 'wikieditor-previewDialog-tab' => 'à¤à¤²à¤• पहा', - 'wikieditor-previewDialog-loading' => 'चढवत आहे…', + 'wikieditor-previewDialog-loading' => 'पà¥à¤°à¤à¤¾à¤°à¤£ करीत आहे', 'wikieditor-publish-preference' => 'टपà¥à¤ªà¥à¤¯à¤¾-टपà¥à¤ªà¥à¤¯à¤¾à¤¨à¥‡ पà¥à¤°à¤•à¤¾à¤¶à¤¨ शकà¥à¤¯ करा', 'wikieditor-publish-button-publish' => 'पà¥à¤°à¤•à¤¾à¤¶à¤¿à¤¤ करा दाखवा', 'wikieditor-publish-button-cancel' => 'रदà¥à¤¦ करा', 'wikieditor-publish-dialog-title' => '{{संकेतसà¥à¤¥à¤³à¤¨à¤¾à¤µ}} येथे पà¥à¤°à¤¦à¤°à¥à¤¶à¤¿à¤¤ करा', - 'wikieditor-publish-dialog-summary' => 'बदलांचा आढावा :(आपण केलेलà¥à¤¯à¤¾ बदलांचे थोडकà¥à¤¯à¤¾à¤¤ वरà¥à¤£à¤¨ करा.)', + 'wikieditor-publish-dialog-summary' => 'बदलांचा सारांश :(आपण केलेलà¥à¤¯à¤¾ बदलांचे थोडकà¥à¤¯à¤¾à¤¤ वरà¥à¤£à¤¨ करा):', 'wikieditor-publish-dialog-minor' => 'छोटा बदल', - 'wikieditor-publish-dialog-watch' => 'या पानावर बदलांसाठी लकà¥à¤· ठेवा', + 'wikieditor-publish-dialog-watch' => 'पान निरीकà¥à¤·à¤£à¤¾à¤‚तरà¥à¤—त ठेवा', 'wikieditor-publish-dialog-publish' => 'पà¥à¤°à¤•à¤¾à¤¶à¤¿à¤¤ करा', 'wikieditor-publish-dialog-goback' => 'मागे जा', 'wikieditor-template-editor-preference' => 'विकि साचà¥à¤¯à¤¾à¤‚ची नमà¥à¤¨à¤¾ संपादन सकà¥à¤·à¤® करा', @@ -18635,11 +18781,11 @@ $messages['mr'] = array( 'wikieditor-toolbar-preference' => 'वरà¥à¤§à¤¿à¤¤ संपादन साधनपटà¥à¤Ÿà¥€ सकà¥à¤·à¤® करा', 'wikieditor-toolbar-dialogs-preference' => 'दà¥à¤µà¥‡, सारणà¥à¤¯à¤¾ (टेबल) आणि इतर à¤à¤°à¤£à¥à¤¯à¤¾à¤•à¤°à¤¿à¤¤à¤¾ dialogs सकà¥à¤·à¤® करा', # Fuzzy 'wikieditor-toolbar-hidesig' => 'मà¥à¤–à¥à¤¯ नामविशà¥à¤µà¤¾à¤¤à¥€à¤² पानांपासून सà¥à¤µà¤¾à¤•à¥à¤·à¤°à¥€à¤šà¥€ कळ लपवा', - 'wikieditor-toolbar-loading' => 'चढवत आहे…', + 'wikieditor-toolbar-loading' => 'पà¥à¤°à¤à¤¾à¤°à¤£ करीत आहे', 'wikieditor-toolbar-tool-bold' => 'ठळक', 'wikieditor-toolbar-tool-bold-example' => 'ठळक मजकूर', 'wikieditor-toolbar-tool-italic' => 'तिरपी मà¥à¤¦à¥à¤°à¤¾à¤•à¥à¤·à¤°à¥‡', - 'wikieditor-toolbar-tool-italic-example' => 'तिरपी मà¥à¤¦à¥à¤°à¤¾à¤•à¥à¤·à¤°à¥‡', + 'wikieditor-toolbar-tool-italic-example' => 'तिरपà¥à¤¯à¤¾ मà¥à¤¦à¥à¤°à¤¾à¤•à¥à¤·à¤°à¤¾à¤¤à¥€à¤² मजकूर', 'wikieditor-toolbar-tool-ilink' => 'अंतरà¥à¤—त दà¥à¤µà¤¾', 'wikieditor-toolbar-tool-ilink-example' => 'शीरà¥à¤·à¤•à¤¾à¤¸ दà¥à¤µà¤¾ दà¥à¤¯à¤¾', 'wikieditor-toolbar-tool-xlink' => 'बाहà¥à¤¯ दà¥à¤µà¥à¤¯à¤¾à¤¤ (http:// हा उपसरà¥à¤— विसरू नका)', @@ -18660,7 +18806,8 @@ $messages['mr'] = array( 'wikieditor-toolbar-tool-link-int-target-status-notexists' => 'पान असà¥à¤¤à¤¿à¤¤à¥à¤µà¤¾à¤¤ नाही', 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'अगà¥à¤°à¤¾à¤¹à¥à¤¯ शीरà¥à¤·à¤•', 'wikieditor-toolbar-tool-link-int-target-status-external' => 'बाहà¥à¤¯ दà¥à¤µà¤¾', - 'wikieditor-toolbar-tool-link-int-target-status-loading' => 'पानाचे असà¥à¤¤à¤¿à¤¤à¥à¤µ तपासत आहे...', + 'wikieditor-toolbar-tool-link-int-target-status-loading' => 'पान असà¥à¤¤à¤¿à¤¤à¥à¤µ आहे काय ते तपासत आहे...', + 'wikieditor-toolbar-tool-link-int-target-status-disambig' => 'निःसंदिगà¥à¤§à¤¿à¤•à¤°à¤£ पान', 'wikieditor-toolbar-tool-link-int-invalid' => 'तà¥à¤®à¥à¤¹à¥€ नमूद केलेले शीरà¥à¤·à¤• अगà¥à¤°à¤¾à¤¹à¥à¤¯ आहे.', 'wikieditor-toolbar-tool-link-lookslikeinternal' => 'तà¥à¤®à¥à¤¹à¥€ नमूद केलेली यूआरà¤à¤² इतर विकिपानास जोडावयाची आहे असे दिसते. तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾ अंतरà¥à¤—त दà¥à¤µà¤¾ बनवायचा आहे काय ?', 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'अंतरà¥à¤—त दà¥à¤µà¤¾', @@ -18670,13 +18817,14 @@ $messages['mr'] = array( 'wikieditor-toolbar-tool-file-example' => 'उदाहरण.jpg', 'wikieditor-toolbar-tool-file-title' => 'चितà¥à¤° टाका', 'wikieditor-toolbar-file-target' => 'संचिकेचे नाव:', - 'wikieditor-toolbar-file-caption' => 'वरà¥à¤£à¤¨:', + 'wikieditor-toolbar-file-caption' => 'मथळा:', 'wikieditor-toolbar-file-size' => 'आकार:', 'wikieditor-toolbar-file-float' => 'समास:', - 'wikieditor-toolbar-file-format' => 'पà¥à¤°à¤•à¤¾à¤°', + 'wikieditor-toolbar-file-default' => '(अविचल)', + 'wikieditor-toolbar-file-format' => 'पà¥à¤°à¤¾à¤°à¥à¤ª:', 'wikieditor-toolbar-file-format-none' => 'काहीही नाही', 'wikieditor-toolbar-tool-file-insert' => 'समाविषà¥à¤Ÿ करा', - 'wikieditor-toolbar-tool-file-cancel' => 'रदà¥à¤¦', + 'wikieditor-toolbar-tool-file-cancel' => 'रदà¥à¤¦ करा', 'wikieditor-toolbar-tool-reference' => 'संदरà¥à¤', 'wikieditor-toolbar-tool-reference-example' => 'तळटीप मजकूर येथे à¤à¤°à¤¾', 'wikieditor-toolbar-tool-reference-cancel' => 'रदà¥à¤¦ करा', @@ -18692,10 +18840,10 @@ $messages['mr'] = array( 'wikieditor-toolbar-tool-heading-4' => 'सà¥à¤¤à¤° ४', 'wikieditor-toolbar-tool-heading-5' => 'सà¥à¤¤à¤° ५', 'wikieditor-toolbar-tool-heading-example' => 'अगà¥à¤°à¤¶à¥€à¤°à¥à¤· मजकूर', - 'wikieditor-toolbar-group-format' => 'आराखडा', + 'wikieditor-toolbar-group-format' => 'पà¥à¤°à¤¾à¤°à¥à¤ª', 'wikieditor-toolbar-tool-ulist' => 'बिंदी कà¥à¤°à¤®à¤¾à¤‚कन', 'wikieditor-toolbar-tool-ulist-example' => 'बिंदी कà¥à¤°à¤®à¤¾à¤‚कन घटक', - 'wikieditor-toolbar-tool-olist' => 'अनà¥à¤•à¥à¤°à¤® यादी', + 'wikieditor-toolbar-tool-olist' => 'अनà¥à¤•à¥à¤°à¤®à¤¿à¤¤ यादी', 'wikieditor-toolbar-tool-olist-example' => 'अनà¥à¤•à¥à¤°à¤® यादी घटक', 'wikieditor-toolbar-tool-indent' => 'समासांतर', 'wikieditor-toolbar-tool-indent-example' => 'समासांतर ओळ', @@ -18733,7 +18881,7 @@ $1:Example.jpg|चितà¥à¤°à¤ªà¤°à¤¿à¤šà¤¯ २', 'wikieditor-toolbar-tool-table-title' => 'सारणी समाविषà¥à¤Ÿ करा', 'wikieditor-toolbar-tool-table-dimensions-rows' => 'ओळी', 'wikieditor-toolbar-tool-table-dimensions-columns' => 'रकाना', - 'wikieditor-toolbar-tool-table-dimensions-header' => 'मथळा ओळ जोडा', + 'wikieditor-toolbar-tool-table-dimensions-header' => 'शीरà¥à¤· ओळ जोडा', 'wikieditor-toolbar-tool-table-wikitable' => 'काठासहीत शैली', 'wikieditor-toolbar-tool-table-sortable' => 'सारणी कà¥à¤°à¤®à¤¾à¤¨à¥à¤¸à¤¾à¤°à¥€ करणà¥à¤¯à¤¾à¤œà¥‹à¤—ी करा', 'wikieditor-toolbar-tool-table-example' => 'उदाहरण', @@ -18776,7 +18924,7 @@ $1:Example.jpg|चितà¥à¤°à¤ªà¤°à¤¿à¤šà¤¯ २', 'wikieditor-toolbar-characters-page-devanagari' => 'देवनागरी', 'wikieditor-toolbar-characters-page-thai' => 'थाई à¤à¤¾à¤·à¤¾', 'wikieditor-toolbar-characters-page-lao' => 'लाऒ à¤à¤¾à¤·à¤¾', - 'wikieditor-toolbar-characters-page-khmer' => 'खमेर', + 'wikieditor-toolbar-characters-page-khmer' => 'खà¥à¤®à¥‡à¤°', 'wikieditor-toolbar-characters-minus' => 'ॠण चिनà¥à¤¹', 'wikieditor-toolbar-section-help' => 'साहायà¥à¤¯', 'wikieditor-toolbar-help-heading-description' => 'वरà¥à¤£à¤¨', @@ -18819,7 +18967,7 @@ $1:Example.jpg|चितà¥à¤°à¤ªà¤°à¤¿à¤šà¤¯ २', 'wikieditor-toolbar-help-content-ulist-description' => 'बिंदीकà¥à¤°à¤®à¤¾à¤‚कीत यादी', 'wikieditor-toolbar-help-content-ulist-syntax' => '* यादी कलम<br />* यादी कलम', 'wikieditor-toolbar-help-content-ulist-result' => '<ul><li>यादी घटक</li><li>यादी घटक</li></ul>', - 'wikieditor-toolbar-help-content-olist-description' => 'अनà¥à¤•à¥à¤°à¤® यादी', + 'wikieditor-toolbar-help-content-olist-description' => 'अनà¥à¤•à¥à¤°à¤®à¤¿à¤¤ यादी', 'wikieditor-toolbar-help-content-olist-syntax' => '# यादी घटक<br /># यादी घटक', 'wikieditor-toolbar-help-content-olist-result' => '<ol><li>यादी घटक</li><li>यादी घटक</li></ol>', 'wikieditor-toolbar-help-content-file-description' => 'संलगà¥à¤¨ संचिका', @@ -18833,8 +18981,7 @@ $1:Example.jpg|चितà¥à¤°à¤ªà¤°à¤¿à¤šà¤¯ २', 'wikieditor-toolbar-help-content-rereference-result' => "पान मजकूर.<sup><a href='#'>[1]</a></sup>", 'wikieditor-toolbar-help-content-showreferences-description' => 'संदरà¥à¤ दरà¥à¤¶à¤µà¤¾', 'wikieditor-toolbar-help-content-showreferences-result' => "<ol class='references'><li id='cite_note-test-0'><b><a title='' href='#'>^</a></b> <a rel='nofollow' title='http://www.example.org' class='external text' href='#'>Link text</a>, additional text.</li></ol>", - 'wikieditor-toolbar-help-content-signaturetimestamp-description' => 'वेळेसह तà¥à¤®à¤šà¥€ सही -तà¥à¤®à¤šà¥€ सही व वेळ', + 'wikieditor-toolbar-help-content-signaturetimestamp-description' => 'सही आणि वेळठसा', 'wikieditor-toolbar-help-content-signaturetimestamp-result' => "<a href='#' title='{{#special:mypage}}'>सदसà¥à¤¯à¤¨à¤¾à¤µ</a> (<a href='#' title='{{#special:mytalk}}'>चरà¥à¤šà¤¾</a>) 15:54, 10 June 2009 (UTC)", 'wikieditor-toolbar-help-content-signature-description' => 'सही', 'wikieditor-toolbar-help-content-signature-result' => "<a href='#' title='{{#विशेष:माà¤à¥‡à¤¸à¤¦à¤¸à¥à¤¯à¤ªà¤¾à¤¨}}'>सदसà¥à¤¯à¤¨à¤¾à¤µ</a> (<a href='#' title='{{#विशेष:माà¤à¥à¤¯à¤¾à¤šà¤°à¥à¤šà¤¾}}'>चरà¥à¤šà¤¾</a>)", @@ -20377,7 +20524,7 @@ $messages['nn'] = array( 'wikieditor-toolbar' => 'Verktøyline for redigering', 'wikieditor-toolbar-desc' => 'Ei meir brukarvenleg verktøylinje for redigering', 'wikieditor-toolbar-preference' => 'Ta i bruk utvida verktøylinje for redigering', - 'wikieditor-toolbar-dialogs-preference' => 'Aktiver dialogar for insetjing av lenkjer, tabellar og meir', # Fuzzy + 'wikieditor-toolbar-dialogs-preference' => 'Aktiver dialogar for insetjing av lenkjer, tabellar og søk og byt ut-funksjonen', 'wikieditor-toolbar-loading' => 'Lastar …', 'wikieditor-toolbar-tool-bold' => 'Feit', 'wikieditor-toolbar-tool-bold-example' => 'Feit tekst', @@ -20612,6 +20759,7 @@ $messages['nso'] = array( ); /** Occitan (occitan) + * @author Beta16 * @author Boulaur * @author Cedric31 * @author Jfblanc @@ -20646,7 +20794,7 @@ $messages['oc'] = array( 'wikieditor-toc-preference' => "Activar l'ensenhador navigable", 'wikieditor-toc-show' => 'Afichar lo contengut', 'wikieditor-toc-hide' => 'Amagar lo contengut', - 'wikieditor-toolbar' => 'Modificacion de la barra d’espleches', + 'wikieditor-toolbar' => 'Barra d’aisinas de modificacion', 'wikieditor-toolbar-desc' => "Modificacion de la barra d'aisinas amb l'utilizabilitat melhorada", 'wikieditor-toolbar-preference' => "Activar la barra d'aisinas melhorada", 'wikieditor-toolbar-dialogs-preference' => 'Activar las bóstias de dialòg per apondre de ligams, de tablèus e mai encara', # Fuzzy @@ -20686,7 +20834,7 @@ $messages['oc'] = array( 'wikieditor-toolbar-tool-file-example' => 'Exemple.jpg', 'wikieditor-toolbar-tool-file-title' => 'Importar un fichièr', 'wikieditor-toolbar-file-target' => 'Nom de fichièr :', - 'wikieditor-toolbar-file-caption' => 'Legenda :', + 'wikieditor-toolbar-file-caption' => 'Legenda:', 'wikieditor-toolbar-file-size' => 'Talha :', 'wikieditor-toolbar-file-float' => 'Alinhament :', 'wikieditor-toolbar-file-default' => '(per defaut)', @@ -21957,7 +22105,7 @@ $messages['pms'] = array( 'wikieditor-toolbar' => "Bara d'utiss ëd modìfica", 'wikieditor-toolbar-desc' => "Bara d'utiss ëd modìfica con dovrabilità ameliorà ", 'wikieditor-toolbar-preference' => "Ativé la bara d'utiss ameliorà ", - 'wikieditor-toolbar-dialogs-preference' => "Ativé ij quà der ëd dià logh për anserì anliure, tà ule e d'à utr", # Fuzzy + 'wikieditor-toolbar-dialogs-preference' => "Ativé j'assistent për gionté dle anliure, dle tà ule e ëdcò la fonsion d'arserca e rampiass", 'wikieditor-toolbar-hidesig' => 'Stërmé ël boton ëd firma ant le pà gine ëd lë spassi nominal prinsipal', 'wikieditor-toolbar-loading' => 'Cariament...', 'wikieditor-toolbar-tool-bold' => 'Grassèt', @@ -21985,6 +22133,7 @@ $messages['pms'] = array( 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'Tìtol nen và lid', 'wikieditor-toolbar-tool-link-int-target-status-external' => 'Anliura esterna', 'wikieditor-toolbar-tool-link-int-target-status-loading' => "Verìfica ëd l'esistensa dla pà gina...", + 'wikieditor-toolbar-tool-link-int-target-status-disambig' => "Pà gina d'omonimìa", 'wikieditor-toolbar-tool-link-int-invalid' => "Ël tìtol ch'a l'ha spessificà a va pa bin.", 'wikieditor-toolbar-tool-link-lookslikeinternal' => "L'URL ch'a l'ha spessificà a smijërìa n'anliura a n'à utra pà gina wiki. Veul-lo fene n'anliura anterna?", 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'Anliura anterna', @@ -22526,8 +22675,8 @@ $messages['ps'] = array( 'wikieditor-toolbar-tool-table-dimensions-rows' => 'ليکÛ', 'wikieditor-toolbar-tool-table-dimensions-columns' => 'ستنÛ', 'wikieditor-toolbar-tool-table-wikitable' => 'ډول او پولÛ', - 'wikieditor-toolbar-tool-table-sortable' => 'لښتيال د اوډون ÙˆÚ“ گرÚول', - 'wikieditor-toolbar-tool-table-example' => 'بÛÙ„Ú«Ù‡', + 'wikieditor-toolbar-tool-table-sortable' => 'لښتيال اوډون ÙˆÚ“ گرÚول', + 'wikieditor-toolbar-tool-table-example' => 'بÛÙ„Ú¯Ù‡', 'wikieditor-toolbar-tool-table-preview' => 'مخليدنه', 'wikieditor-toolbar-tool-table-insert' => 'ورټومبل', 'wikieditor-toolbar-tool-table-cancel' => 'ناگارل', @@ -23401,7 +23550,7 @@ $messages['ro'] = array( 'wikieditor-publish-dialog-title' => 'Publică pe {{SITENAME}}', 'wikieditor-publish-dialog-summary' => 'Descrierea modificărilor (descrieÈ›i pe scurt modificările făcute):', 'wikieditor-publish-dialog-minor' => 'Modificare minoră', - 'wikieditor-publish-dialog-watch' => 'Monitorizează această pagină', + 'wikieditor-publish-dialog-watch' => 'UrmăreÈ™te această pagină', 'wikieditor-publish-dialog-publish' => 'Salvează pagina', 'wikieditor-publish-dialog-goback' => 'ÃŽnapoi', 'wikieditor-template-editor-preference' => 'Activează modificarea formatelor wiki prin formulare', @@ -23415,7 +23564,7 @@ $messages['ro'] = array( 'wikieditor-toolbar' => 'Modificarea barei de instrumente', 'wikieditor-toolbar-desc' => 'Modificarea barei de instrumente cu utilizare ridicată', 'wikieditor-toolbar-preference' => 'Activează varianta îmbunătățită a barei de unelte', - 'wikieditor-toolbar-dialogs-preference' => 'Activează casetele de dialog pentru inserarea legăturilor, tabelelor È™i a altor funcÈ›ionalități', # Fuzzy + 'wikieditor-toolbar-dialogs-preference' => 'Activează asistență pentru inserarea legăturilor, tabelelor, precum È™i pentru funcÈ›iile de căutare È™i înlocuire', 'wikieditor-toolbar-hidesig' => 'Ascunde butonul de semnătură în cazul paginilor din spaÈ›iul de nume principal', 'wikieditor-toolbar-loading' => 'Se încarcă...', 'wikieditor-toolbar-tool-bold' => 'Aldin', @@ -23443,6 +23592,7 @@ $messages['ro'] = array( 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'Titlu incorect', 'wikieditor-toolbar-tool-link-int-target-status-external' => 'Legătură externă', 'wikieditor-toolbar-tool-link-int-target-status-loading' => 'Verific existenÈ›a paginii...', + 'wikieditor-toolbar-tool-link-int-target-status-disambig' => 'Pagină de dezambiguizare', 'wikieditor-toolbar-tool-link-int-invalid' => 'Titlul specificat nu este corect.', 'wikieditor-toolbar-tool-link-lookslikeinternal' => 'URL-ul specificat pare a fi o legătură către o altă pagină wiki. DoriÈ›i să o transformaÈ›i într-o legătură internă?', 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'Legătură internă', @@ -23884,6 +24034,7 @@ $1:Example.jpg|Titele2', * @author Dim Grits * @author Eleferen * @author G0rn + * @author Iluvatar * @author KPu3uC B Poccuu * @author Kaganer * @author Lockal @@ -23906,7 +24057,7 @@ $messages['ru'] = array( 'wikieditor-publish-preference' => 'Включить пошаговую публикацию', 'wikieditor-publish-button-publish' => 'Опубликовать', 'wikieditor-publish-button-cancel' => 'Отмена', - 'wikieditor-publish-dialog-title' => 'Опубликование в проекте {{SITENAME}}', + 'wikieditor-publish-dialog-title' => 'ÐŸÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð² проекте {{SITENAME}}', 'wikieditor-publish-dialog-summary' => 'ОпиÑание изменений (кратко укажите какие Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð±Ñ‹Ð»Ð¸ произведены):', 'wikieditor-publish-dialog-minor' => 'Малое изменение', 'wikieditor-publish-dialog-watch' => 'Ðаблюдать за Ñтой Ñтраницей', @@ -23951,6 +24102,7 @@ $messages['ru'] = array( 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'ÐедопуÑтимое название', 'wikieditor-toolbar-tool-link-int-target-status-external' => 'ВнешнÑÑ ÑÑылка', 'wikieditor-toolbar-tool-link-int-target-status-loading' => 'Проверка ÑущеÑÑ‚Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтраницы…', + 'wikieditor-toolbar-tool-link-int-target-status-disambig' => 'Страницы Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñ‡Ð½Ð¾Ñтей', 'wikieditor-toolbar-tool-link-int-invalid' => 'Указанное название недопуÑтимо.', 'wikieditor-toolbar-tool-link-lookslikeinternal' => 'Указанный вами URL похож на ÑÑылку на другую вики-Ñтраницу. Ð’Ñ‹ хотите Ñделать данную ÑÑылку внутренней?', 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'ВнутреннÑÑ ÑÑылка', @@ -24047,7 +24199,7 @@ $1:Example.jpg|ОпиÑание2', 'wikieditor-toolbar-tool-replace-button-replaceall' => 'Заменить вÑе', 'wikieditor-toolbar-tool-replace-close' => 'Закрыть', 'wikieditor-toolbar-tool-replace-nomatch' => 'По вашему запроÑу ничего не найдено.', - 'wikieditor-toolbar-tool-replace-success' => '$1 {{PLURAL:$1|замена произведена|замены произведены|замен произведено}}.', + 'wikieditor-toolbar-tool-replace-success' => '$1 {{PLURAL:$1|замена произведена|замен произведено|замены произведены}}.', 'wikieditor-toolbar-tool-replace-emptysearch' => 'Ð’Ñ‹ не указали что Ñледует иÑкать.', 'wikieditor-toolbar-tool-replace-invalidregex' => 'Введённое вами регулÑрное выражение ошибочно: $1', 'wikieditor-toolbar-section-characters' => 'СпецÑимволы', @@ -24070,6 +24222,7 @@ $1:Example.jpg|ОпиÑание2', 'wikieditor-toolbar-characters-page-thai' => 'ТайÑкие', 'wikieditor-toolbar-characters-page-lao' => 'ЛаоÑÑкие', 'wikieditor-toolbar-characters-page-khmer' => 'КхмерÑкие', + 'wikieditor-toolbar-characters-endash' => 'Ñреднее тире', 'wikieditor-toolbar-characters-emdash' => 'длинное тире', 'wikieditor-toolbar-characters-minus' => 'знак минуÑ', 'wikieditor-toolbar-section-help' => 'Справка', @@ -25817,7 +25970,7 @@ $messages['sl'] = array( 'wikieditor-publish-preference' => 'OmogoÄi objavljanje korak-po-koraku', 'wikieditor-publish-button-publish' => 'Objavi', 'wikieditor-publish-button-cancel' => 'PrekliÄi', - 'wikieditor-publish-dialog-title' => 'Objavi na {{SITENAME}}', + 'wikieditor-publish-dialog-title' => 'Objavi na {{GRAMMAR:dajalnik|{{SITENAME}}}}', 'wikieditor-publish-dialog-summary' => 'Povzetek urejanja (na kratko opiÅ¡ite narejene spremembe):', 'wikieditor-publish-dialog-minor' => 'ManjÅ¡e urejanje', 'wikieditor-publish-dialog-watch' => 'Opazuj stran', @@ -27012,7 +27165,7 @@ $messages['sv'] = array( 'wikieditor-previewDialog-preference' => 'Aktivera förhandsgranska', 'wikieditor-previewDialog-tab' => 'Förhandsgranska', 'wikieditor-previewDialog-loading' => 'Laddar...', - 'wikieditor-publish-preference' => 'Aktivera steg-efter-steg-publicering', + 'wikieditor-publish-preference' => 'Aktivera steg-för-steg-publicering', 'wikieditor-publish-button-publish' => 'Publicera', 'wikieditor-publish-button-cancel' => 'Avbryt', 'wikieditor-publish-dialog-title' => 'Publicera i {{SITENAME}}', @@ -27313,15 +27466,15 @@ $messages['sw'] = array( 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'Kiungo cha ndani', 'wikieditor-toolbar-tool-link-lookslikeinternal-ext' => 'Kiungo cha nje', 'wikieditor-toolbar-tool-link-empty' => 'Hukuandika kitu cha kuunganisha naye.', - 'wikieditor-toolbar-tool-file' => 'Faili futike', + 'wikieditor-toolbar-tool-file' => 'Ingiza faili', 'wikieditor-toolbar-tool-file-example' => 'Mfano.jpg', 'wikieditor-toolbar-tool-file-title' => 'Ingiza faili', 'wikieditor-toolbar-file-target' => 'Jina la faili:', 'wikieditor-toolbar-file-size' => 'Ukubwa:', 'wikieditor-toolbar-tool-file-insert' => 'Ingiza', 'wikieditor-toolbar-tool-file-cancel' => 'Ghairi', - 'wikieditor-toolbar-tool-reference' => 'Tiniwayo', - 'wikieditor-toolbar-tool-reference-example' => 'Weka maneno ya tiniwayo hapa', + 'wikieditor-toolbar-tool-reference' => 'Marejeo', + 'wikieditor-toolbar-tool-reference-example' => 'Weka maneno ya marejeo hapa', 'wikieditor-toolbar-tool-reference-cancel' => 'Batilisha', 'wikieditor-toolbar-tool-reference-title' => 'Ingiza marejeo', 'wikieditor-toolbar-tool-reference-insert' => 'Ingiza', @@ -27429,7 +27582,7 @@ Idadi ya mistari au ya safu si halali.', 'wikieditor-toolbar-help-page-heading' => 'Vichwa', 'wikieditor-toolbar-help-page-list' => 'Orodha', 'wikieditor-toolbar-help-page-file' => 'Mafaili', - 'wikieditor-toolbar-help-page-reference' => 'Tiniwayo', + 'wikieditor-toolbar-help-page-reference' => 'Marejeo', 'wikieditor-toolbar-help-page-discussion' => 'Majadiliano', 'wikieditor-toolbar-help-content-italic-description' => 'Italiki', 'wikieditor-toolbar-help-content-italic-syntax' => "''Maandishi ya italiki''", @@ -27464,15 +27617,15 @@ Idadi ya mistari au ya safu si halali.', 'wikieditor-toolbar-help-content-olist-description' => 'Orodha zenye namba', 'wikieditor-toolbar-help-content-olist-syntax' => '# Aya<br /># Aya', 'wikieditor-toolbar-help-content-olist-result' => '<ol><li>Aya</li><li>Aya</li></ol>', - 'wikieditor-toolbar-help-content-file-description' => 'Faili futike', + 'wikieditor-toolbar-help-content-file-description' => 'Ingiza faili', 'wikieditor-toolbar-help-content-file-syntax' => '[[$1:Example.png|thumb|Maelezo mafupi]]', 'wikieditor-toolbar-help-content-file-result' => "<div style='width:104px;' class='thumbinner'><a title='Maelezo mafupi' class='image' href='#'><img height='50' width='100' border='0' class='thumbimage' src='$2/WikiEditor/modules/images/toolbar/example-image.png' alt=''/></a><div class='thumbcaption'><div class='magnify'><a title='Kuza' class='internal' href='#'><img height='11' width='15' alt='' src='$1/common/images/magnify-clip.png'/></a></div>Maelezo mafupi</div></div>", - 'wikieditor-toolbar-help-content-reference-description' => 'Tiniwayo', + 'wikieditor-toolbar-help-content-reference-description' => 'Marejeo', 'wikieditor-toolbar-help-content-reference-syntax' => 'Maandishi ya ukurasa.<ref name="mfano">[http://www.example.org Maandishi ya kiungo], maandishi mengine.</ref>', 'wikieditor-toolbar-help-content-reference-result' => "Maandiko.<sup><a href='#'>[1]</a></sup>", - 'wikieditor-toolbar-help-content-rereference-description' => 'Kutumia tiniwayo fulani kwa mara nyingine', + 'wikieditor-toolbar-help-content-rereference-description' => 'Kutumia marejeo fulani kwa mara nyingine', 'wikieditor-toolbar-help-content-rereference-result' => "Maandiko.<sup><a href='#'>[1]</a></sup>", - 'wikieditor-toolbar-help-content-showreferences-description' => 'Onyesha tiniwayo', + 'wikieditor-toolbar-help-content-showreferences-description' => 'Onyesha marejeo', 'wikieditor-toolbar-help-content-showreferences-result' => "<ol class='references'><li id='cite_note-test-0'><b><a title='' href='#'>^</a></b> <a rel='nofollow' title='http://www.example.org' class='external text' href='#'>Maandishi ya kiungo</a>, maandishi mengine.</li></ol>", 'wikieditor-toolbar-help-content-signaturetimestamp-description' => 'Sahihi pamoja na stempu ya saa', 'wikieditor-toolbar-help-content-signaturetimestamp-result' => "<a href='#' title='{{#special:mypage}}'>Jina la mtumiaji</a> (<a href='#' title='{{#special:mytalk}}'>majadiliano</a>) 15:54, 10 June 2009 (UTC)", @@ -27483,6 +27636,16 @@ Idadi ya mistari au ya safu si halali.', 'wikieditor-toolbar-help-content-indent-result' => 'Maandiko ya kawaida<dl><dd>Yaliyojongezwa ndani<dl><dd>Yaliyojongezwa ndani</dd></dl></dd></dl>', ); +/** Silesian (Å›lůnski) + * @author Krol111 + */ +$messages['szl'] = array( + 'wikieditor' => 'Zaawansowano tajla edycyji wikitekstu', + 'wikieditor-desc' => 'Dowo poszyrzalno tajla edycyji wikitekstu a wjela funkcyji uofyrowane bez moduÅ‚y', + 'wikieditor-wikitext-tab' => 'Wikitext', + 'wikieditor-loading' => 'Trwo Å‚adowaÅ„y…', +); + /** Tamil (தமிழà¯) * @author Balajijagadesh * @author Karthi.dr @@ -28681,6 +28844,7 @@ $messages['tpi'] = array( * @author Joseph * @author Koc61 * @author Manco Capac + * @author Meelo * @author Rapsar * @author Sadrettin * @author Srhat @@ -28755,6 +28919,7 @@ $messages['tr'] = array( 'wikieditor-toolbar-tool-file' => 'Gömülü dosya', 'wikieditor-toolbar-tool-file-example' => 'Örnek.jpg', 'wikieditor-toolbar-file-float' => 'Hizalama:', + 'wikieditor-toolbar-tool-file-insert' => 'Ekle', 'wikieditor-toolbar-tool-reference' => 'Kaynakça', 'wikieditor-toolbar-tool-reference-example' => 'Dipnot metnini buraya ekleyin', 'wikieditor-toolbar-tool-reference-cancel' => 'Ä°ptal', @@ -29465,7 +29630,7 @@ $1:Example.jpg|ОпиÑ2', 'wikieditor-toolbar-tool-replace-button-replaceall' => 'Замінити вÑÑ–', 'wikieditor-toolbar-tool-replace-close' => 'Закрити', 'wikieditor-toolbar-tool-replace-nomatch' => 'За Вашим запитом нічого не знайдено.', - 'wikieditor-toolbar-tool-replace-success' => '$1 {{PLURAL:$1|заміну|замін}} зроблено.', + 'wikieditor-toolbar-tool-replace-success' => '$1 {{PLURAL:$1|1=заміну|заміни|замін}} зроблено.', 'wikieditor-toolbar-tool-replace-emptysearch' => 'Ви не зазначили, що треба шукати.', 'wikieditor-toolbar-tool-replace-invalidregex' => 'Введений вами регулÑрний вираз помилковий: $1', 'wikieditor-toolbar-section-characters' => 'Спеціальні Ñимволи', @@ -29848,7 +30013,7 @@ $messages['uz'] = array( 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'Ichki havola', 'wikieditor-toolbar-tool-link-lookslikeinternal-ext' => 'Tashqi havola', 'wikieditor-toolbar-tool-link-empty' => 'Nimaga ishorat qilishni koÊ»rsatmadingiz', - 'wikieditor-toolbar-tool-file' => 'OÊ»rnatilgan fayl', + 'wikieditor-toolbar-tool-file' => 'Fayl oÊ»rnatish', 'wikieditor-toolbar-tool-file-example' => 'Example.jpg', 'wikieditor-toolbar-tool-file-title' => 'Fayl qoÊ»yish', 'wikieditor-toolbar-file-target' => 'Fayl nomi:', @@ -30007,7 +30172,7 @@ $1:Example.jpg|Izoh2', 'wikieditor-toolbar-help-content-olist-description' => 'Raqamlangan roÊ»yxat', 'wikieditor-toolbar-help-content-olist-syntax' => '# RoÊ»yxat qismi<br /># RoÊ»yxat qismi', 'wikieditor-toolbar-help-content-olist-result' => '<ol><li>RoÊ»yxat qismi</li><li>RoÊ»yxat qismi</li></ol>', - 'wikieditor-toolbar-help-content-file-description' => 'OÊ»rnatilgan fayl', + 'wikieditor-toolbar-help-content-file-description' => 'Fayl oÊ»rnatish', 'wikieditor-toolbar-help-content-file-syntax' => '[[$1:Example.png|thumb|Izohlovchi matn]]', 'wikieditor-toolbar-help-content-file-result' => "<div style='width:104px;' class='thumbinner'><a title=' Izohlovchi matn' class='image' href='#'><img height='50' width='100' border='0' class='thumbimage' src='$2/WikiEditor/modules/images/toolbar/example-image.png' alt=''/></a><div class='thumbcaption'><div class='magnify'><a title='Kattalashtirish' class='internal' href='#'><img height='11' width='15' alt='' src='$1/common/images/magnify-clip.png'/></a></div> @@ -30289,17 +30454,51 @@ $messages['vep'] = array( 'wikieditor-publish-dialog-minor' => 'Penikaine redakcii', 'wikieditor-publish-dialog-publish' => 'Publikuida', 'wikieditor-publish-dialog-goback' => 'Tagaze', + 'wikieditor-template-editor-dialog-submit' => 'UdiÅ¡tada', + 'wikieditor-template-editor-dialog-cancel' => 'Tühjitada tego', 'wikieditor-toc-show' => 'Ozutada südäiolend', + 'wikieditor-toc-hide' => 'Peitta südäiolend', + 'wikieditor-toolbar' => "Redaktiruindan panel'", + 'wikieditor-toolbar-loading' => 'Ozutase…', 'wikieditor-toolbar-tool-bold' => 'Lihavoitud', 'wikieditor-toolbar-tool-bold-example' => 'Lihavoitud tekst', + 'wikieditor-toolbar-tool-italic' => 'Kursiv', + 'wikieditor-toolbar-tool-italic-example' => 'Kursivtekst', + 'wikieditor-toolbar-tool-ilink' => 'Südäikosketuz', + 'wikieditor-toolbar-tool-ilink-example' => 'Kosketusen pälkirjutez', + 'wikieditor-toolbar-tool-xlink' => 'Irdkosketuz (muÅ¡tkat prefiksas http://)', + 'wikieditor-toolbar-tool-xlink-example' => 'http://www.example.com kosketusen pälkirjutez', 'wikieditor-toolbar-tool-link' => 'Kosketuz', 'wikieditor-toolbar-tool-link-title' => 'Ližada kosketuz', + 'wikieditor-toolbar-tool-link-int' => 'Wiki-lehtpolele', + 'wikieditor-toolbar-tool-link-int-target' => "Metlehtpol' vai URL:", + 'wikieditor-toolbar-tool-link-int-target-tooltip' => 'Lehtpolen nimi vai URL:', + 'wikieditor-toolbar-tool-link-int-text' => 'Ozutadud tekst:', + 'wikieditor-toolbar-tool-link-int-text-tooltip' => 'Ozutadud tekst:', + 'wikieditor-toolbar-tool-link-ext' => 'Irdaližele saitale', 'wikieditor-toolbar-tool-link-ext-target' => 'Kosketusen URL:', 'wikieditor-toolbar-tool-link-ext-text' => 'Kosketusen tekst:', + 'wikieditor-toolbar-tool-link-insert' => 'Ližada kosketuz', 'wikieditor-toolbar-tool-link-cancel' => 'Heitta', + 'wikieditor-toolbar-tool-link-int-target-status-exists' => "Lehtpol' om jo olmas", + 'wikieditor-toolbar-tool-link-int-target-status-notexists' => "Ei ole mugoÅ¡t lehtpol't", 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'Vär nimi', + 'wikieditor-toolbar-tool-link-int-target-status-external' => 'Irdkosketuz', + 'wikieditor-toolbar-tool-link-int-invalid' => 'Nece pälkirjutez om vär.', + 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'Südäikosketuz', + 'wikieditor-toolbar-tool-link-lookslikeinternal-ext' => 'Irdkosketuz', 'wikieditor-toolbar-tool-file' => 'Mülütadud fail', 'wikieditor-toolbar-tool-file-example' => 'Ozutez.jpg', + 'wikieditor-toolbar-tool-file-title' => 'Ližada fail', + 'wikieditor-toolbar-file-target' => 'Failannimi:', + 'wikieditor-toolbar-file-caption' => 'Allekirjutez:', + 'wikieditor-toolbar-file-size' => 'Suruz', + 'wikieditor-toolbar-file-float' => 'Tazostamine:', + 'wikieditor-toolbar-file-default' => '(augotižjärgendusen mödhe)', + 'wikieditor-toolbar-file-format' => 'Format:', + 'wikieditor-toolbar-file-format-none' => 'Ei ole', + 'wikieditor-toolbar-tool-file-insert' => 'Ližata', + 'wikieditor-toolbar-tool-file-cancel' => 'TühjiÅ¡tada', 'wikieditor-toolbar-tool-reference-insert' => 'Ližata', 'wikieditor-toolbar-tool-heading' => 'Pälkirjutez', 'wikieditor-toolbar-tool-heading-1' => 'Tazopind 1', @@ -30481,7 +30680,7 @@ $messages['vi'] = array( 'wikieditor-toolbar-tool-subscript' => 'Viết xuống dÆ°á»›i', 'wikieditor-toolbar-tool-subscript-example' => 'Chữ được viết xuống dÆ°á»›i', 'wikieditor-toolbar-group-insert' => 'Chèn', - 'wikieditor-toolbar-tool-gallery' => 'Album hình ảnh', + 'wikieditor-toolbar-tool-gallery' => 'Táºp ảnh', 'wikieditor-toolbar-tool-gallery-example' => '$1:Và dụ.jpg|Chú thÃch 1 $1:Và dụ.jpg|Chú thÃch 2', 'wikieditor-toolbar-tool-newline' => 'Dòng má»›i', @@ -30625,7 +30824,7 @@ $messages['vo'] = array( 'wikieditor-toolbar-tool-link-int-target' => 'Tiäd pada:', 'wikieditor-toolbar-tool-link-int-text' => 'Vödem yüma', 'wikieditor-toolbar-tool-link-cancel' => 'Nosükön', - 'wikieditor-toolbar-group-format' => 'Lised', # Fuzzy + 'wikieditor-toolbar-group-format' => 'Fomät', 'wikieditor-toolbar-tool-big' => 'Gretik', 'wikieditor-toolbar-tool-big-example' => 'Vödem gretik', 'wikieditor-toolbar-tool-table' => 'Taib', @@ -31236,6 +31435,7 @@ $1:Example.jpg|Àká»lé2', * @author Horacewai2 * @author Simon Shek * @author Waihorace + * @author Xiaomingyan */ $messages['yue'] = array( 'wikieditor' => '進階ç¶åŸºæ–‡å—編輯界é¢', @@ -31368,8 +31568,8 @@ $1:Example.jpg|標題2', | è¡Œ 2, æ ¼ 3', 'wikieditor-toolbar-tool-table-example-header' => '標題', 'wikieditor-toolbar-tool-table-title' => 'æ’å…¥è¡¨æ ¼', - 'wikieditor-toolbar-tool-table-dimensions-rows' => 'è¡Œ', - 'wikieditor-toolbar-tool-table-dimensions-columns' => 'è¡Œ', + 'wikieditor-toolbar-tool-table-dimensions-rows' => '行数', + 'wikieditor-toolbar-tool-table-dimensions-columns' => '列數', 'wikieditor-toolbar-tool-table-dimensions-header' => '新增標題行', 'wikieditor-toolbar-tool-table-wikitable' => '連埋外框åŒæ ¼å¼', 'wikieditor-toolbar-tool-table-sortable' => '整一個å¯ä»¥æŽ’åºå˜…è¡¨æ ¼', @@ -31526,9 +31726,9 @@ $messages['zh-hans'] = array( 'wikieditor-toc-show' => '显示内容', 'wikieditor-toc-hide' => 'éšè—内容', 'wikieditor-toolbar' => '编辑工具æ ', - 'wikieditor-toolbar-desc' => '具有增强å¯ç”¨æ€§çš„页é¢ç¼–辑工具', - 'wikieditor-toolbar-preference' => 'å¯ç”¨å¢žå¼ºç¼–辑工具æ ', - 'wikieditor-toolbar-dialogs-preference' => 'å¯ç”¨å¯¹è¯æ¡†æ’入链接ã€è¡¨æ ¼ä»¥åŠæœç´¢å’Œæ›¿æ¢åŠŸèƒ½', + 'wikieditor-toolbar-desc' => '有增强的使用性能的页é¢ç¼–辑工具æ ', + 'wikieditor-toolbar-preference' => 'å¯ç”¨å¢žå¼ºçš„编辑工具æ ', + 'wikieditor-toolbar-dialogs-preference' => 'å¯ç”¨æ’å…¥é“¾æŽ¥è¡¨æ ¼å‘导åŠæŸ¥æ‰¾å’Œæ›¿æ¢åŠŸèƒ½', 'wikieditor-toolbar-hidesig' => '在主åå—空间ä¸éšè—ç¾å按钮', 'wikieditor-toolbar-loading' => 'æ£åœ¨è½½å…¥', 'wikieditor-toolbar-tool-bold' => '粗体', @@ -31567,7 +31767,7 @@ $messages['zh-hans'] = array( 'wikieditor-toolbar-tool-file-title' => 'æ’入文件', 'wikieditor-toolbar-file-target' => '文件å:', 'wikieditor-toolbar-file-caption' => 'æ ‡é¢˜ï¼š', - 'wikieditor-toolbar-file-size' => '大å°ï¼š', + 'wikieditor-toolbar-file-size' => '尺寸:', 'wikieditor-toolbar-file-float' => '对é½ï¼š', 'wikieditor-toolbar-file-default' => '(默认)', 'wikieditor-toolbar-file-format' => 'æ ¼å¼ï¼š', @@ -31575,7 +31775,7 @@ $messages['zh-hans'] = array( 'wikieditor-toolbar-tool-file-insert' => 'æ’å…¥', 'wikieditor-toolbar-tool-file-cancel' => 'å–消', 'wikieditor-toolbar-tool-reference' => 'å‚考', - 'wikieditor-toolbar-tool-reference-example' => '在æ¤å¤„æ’入注释文å—', + 'wikieditor-toolbar-tool-reference-example' => '请在这里æ’入注释文å—', 'wikieditor-toolbar-tool-reference-cancel' => 'å–消', 'wikieditor-toolbar-tool-reference-title' => 'æ’入注释内容', 'wikieditor-toolbar-tool-reference-insert' => 'æ’å…¥', @@ -31597,7 +31797,7 @@ $messages['zh-hans'] = array( 'wikieditor-toolbar-tool-indent' => '缩进', 'wikieditor-toolbar-tool-indent-example' => '已缩进行', 'wikieditor-toolbar-tool-nowiki' => 'éžç»´åŸºæ ¼å¼æ–‡å—', - 'wikieditor-toolbar-tool-nowiki-example' => '在æ¤å¤„æ’å…¥éžç»´åŸºæ ¼å¼æ–‡å—', + 'wikieditor-toolbar-tool-nowiki-example' => '请在这里æ’å…¥éžæ ¼å¼åŒ–æ–‡å—', 'wikieditor-toolbar-tool-redirect' => 'é‡å®šå‘', 'wikieditor-toolbar-tool-redirect-example' => 'ç›®æ ‡é¡µå称', 'wikieditor-toolbar-tool-big' => '大å·', @@ -31629,8 +31829,8 @@ $1:Example.jpg|æ ‡é¢˜2', 'wikieditor-toolbar-tool-table-example-cell-text' => 'å•å…ƒæ ¼æ–‡å—', 'wikieditor-toolbar-tool-table-example-header' => 'æ ‡é¢˜æ–‡å—', 'wikieditor-toolbar-tool-table-title' => 'æ’å…¥è¡¨æ ¼', - 'wikieditor-toolbar-tool-table-dimensions-rows' => 'è¡Œ', - 'wikieditor-toolbar-tool-table-dimensions-columns' => '列', + 'wikieditor-toolbar-tool-table-dimensions-rows' => '行数', + 'wikieditor-toolbar-tool-table-dimensions-columns' => '列数', 'wikieditor-toolbar-tool-table-dimensions-header' => 'æ·»åŠ æ ‡é¢˜è¡Œ', 'wikieditor-toolbar-tool-table-wikitable' => '显示边框', 'wikieditor-toolbar-tool-table-sortable' => 'ä½¿è¡¨æ ¼å†…å®¹å¯æŽ’åº', @@ -31759,6 +31959,7 @@ $1:Example.jpg|æ ‡é¢˜2', * @author Waihorace * @author Wong128hk * @author Wrightbus + * @author Xiaomingyan */ $messages['zh-hant'] = array( 'wikieditor' => '進階ç¶åŸºæ–‡å—編輯介é¢', @@ -31904,8 +32105,8 @@ $1:Example.jpg|標題2', | è¡Œ 2, æ ¼ 3', 'wikieditor-toolbar-tool-table-example-header' => '標題', 'wikieditor-toolbar-tool-table-title' => 'æ’å…¥è¡¨æ ¼', - 'wikieditor-toolbar-tool-table-dimensions-rows' => 'è¡Œ', - 'wikieditor-toolbar-tool-table-dimensions-columns' => '列', + 'wikieditor-toolbar-tool-table-dimensions-rows' => '行數', + 'wikieditor-toolbar-tool-table-dimensions-columns' => '列數', 'wikieditor-toolbar-tool-table-dimensions-header' => '新增標題行', 'wikieditor-toolbar-tool-table-wikitable' => 'è¨å®šé‚Šæ¡†æ ¼å¼', 'wikieditor-toolbar-tool-table-sortable' => 'ä½¿è¡¨æ ¼å…§å®¹å¯æŽ’åº', diff --git a/extensions/WikiEditor/modules/ext.wikiEditor.dialogs.js b/extensions/WikiEditor/modules/ext.wikiEditor.dialogs.js index 0e0dd090..c6d327f8 100644 --- a/extensions/WikiEditor/modules/ext.wikiEditor.dialogs.js +++ b/extensions/WikiEditor/modules/ext.wikiEditor.dialogs.js @@ -1,15 +1,14 @@ /* * JavaScript for WikiEditor Dialogs */ - -$( document ).ready( function() { +jQuery( document ).ready( function ( $ ) { if ( !$.wikiEditor.isSupported( $.wikiEditor.modules.dialogs ) ) { return; } - + // Replace icons $.wikiEditor.modules.dialogs.config.replaceIcons( $( '#wpTextbox1' ) ); - + // Add dialogs module $( '#wpTextbox1' ).wikiEditor( 'addModule', $.wikiEditor.modules.dialogs.config.getDefaultConfig() ); } ); diff --git a/extensions/WikiEditor/modules/ext.wikiEditor.highlight.js b/extensions/WikiEditor/modules/ext.wikiEditor.highlight.js index a6b43851..92515cfd 100644 --- a/extensions/WikiEditor/modules/ext.wikiEditor.highlight.js +++ b/extensions/WikiEditor/modules/ext.wikiEditor.highlight.js @@ -1,8 +1,7 @@ /* * JavaScript for WikiEditor Highlighting */ - -$( document ).ready( function() { +jQuery( document ).ready( function ( $ ) { // Add highlight module $( '#wpTextbox1' ).wikiEditor( 'addModule', 'highlight' ); } ); diff --git a/extensions/WikiEditor/modules/ext.wikiEditor.js b/extensions/WikiEditor/modules/ext.wikiEditor.js index 6056e63b..46087989 100644 --- a/extensions/WikiEditor/modules/ext.wikiEditor.js +++ b/extensions/WikiEditor/modules/ext.wikiEditor.js @@ -1,8 +1,7 @@ /* * JavaScript for WikiEditor */ - -$( document ).ready( function() { +jQuery( document ).ready( function ( $ ) { // Initialize wikiEditor $( '#wpTextbox1' ).wikiEditor(); } ); diff --git a/extensions/WikiEditor/modules/ext.wikiEditor.preview.js b/extensions/WikiEditor/modules/ext.wikiEditor.preview.js index 3fbca82d..cdc00f7b 100644 --- a/extensions/WikiEditor/modules/ext.wikiEditor.preview.js +++ b/extensions/WikiEditor/modules/ext.wikiEditor.preview.js @@ -1,8 +1,7 @@ /* * JavaScript for WikiEditor Preview module */ - -$( document ).ready( function() { +jQuery( document ).ready( function ( $ ) { // Add preview module $( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'preview' ); } ); diff --git a/extensions/WikiEditor/modules/ext.wikiEditor.previewDialog.js b/extensions/WikiEditor/modules/ext.wikiEditor.previewDialog.js index 67f97e00..3b1acd7c 100644 --- a/extensions/WikiEditor/modules/ext.wikiEditor.previewDialog.js +++ b/extensions/WikiEditor/modules/ext.wikiEditor.previewDialog.js @@ -1,8 +1,7 @@ /* * JavaScript for WikiEditor Preview Dialog */ - -$( document ).ready( function() { +jQuery( document ).ready( function ( $ ) { // Add preview module $( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'previewDialog' ); } ); diff --git a/extensions/WikiEditor/modules/ext.wikiEditor.publish.js b/extensions/WikiEditor/modules/ext.wikiEditor.publish.js index d874478c..423766d2 100644 --- a/extensions/WikiEditor/modules/ext.wikiEditor.publish.js +++ b/extensions/WikiEditor/modules/ext.wikiEditor.publish.js @@ -1,8 +1,7 @@ /* * JavaScript for WikiEditor Publish module */ - -$( document ).ready( function() { +jQuery( document ).ready( function ( $ ) { // Add publish module $( '#wpTextbox1' ).wikiEditor( 'addModule', 'publish' ); } ); diff --git a/extensions/WikiEditor/modules/ext.wikiEditor.templateEditor.js b/extensions/WikiEditor/modules/ext.wikiEditor.templateEditor.js index 8879d10d..660a14fb 100644 --- a/extensions/WikiEditor/modules/ext.wikiEditor.templateEditor.js +++ b/extensions/WikiEditor/modules/ext.wikiEditor.templateEditor.js @@ -1,12 +1,13 @@ /* * JavaScript for WikiEditor Template Editor */ - -$( document ).ready( function () { - // Disable in template namespace - if ( mw.config.get( 'wgNamespaceNumber' ) === 10 ) { - return true; - } - // Add template editor module - $( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'templateEditor' ); -}); +( function ( mw, $ ) { + $( document ).ready( function () { + // Disable in template namespace + if ( mw.config.get( 'wgNamespaceNumber' ) === 10 ) { + return true; + } + // Add template editor module + $( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'templateEditor' ); + } ); +}( mediaWiki, jQuery ) ); diff --git a/extensions/WikiEditor/modules/ext.wikiEditor.templates.js b/extensions/WikiEditor/modules/ext.wikiEditor.templates.js index 6eae6de5..fec51866 100644 --- a/extensions/WikiEditor/modules/ext.wikiEditor.templates.js +++ b/extensions/WikiEditor/modules/ext.wikiEditor.templates.js @@ -1,12 +1,13 @@ /* * JavaScript for WikiEditor Templates */ - -$( document ).ready( function () { - // Disable for template namespace - if ( mw.config.get( 'wgNamespaceNumber' ) === 10 ) { - return true; - } - // Add templates module - $( '#wpTextbox1' ).wikiEditor( 'addModule', 'templates' ); -} ); +( function ( mw, $ ) { + $( document ).ready( function () { + // Disable for template namespace + if ( mw.config.get( 'wgNamespaceNumber' ) === 10 ) { + return true; + } + // Add templates module + $( '#wpTextbox1' ).wikiEditor( 'addModule', 'templates' ); + } ); +}( mediaWiki, jQuery ) ); diff --git a/extensions/WikiEditor/modules/ext.wikiEditor.tests.toolbar.js b/extensions/WikiEditor/modules/ext.wikiEditor.tests.toolbar.js index d4ffe5ae..7ed765e9 100644 --- a/extensions/WikiEditor/modules/ext.wikiEditor.tests.toolbar.js +++ b/extensions/WikiEditor/modules/ext.wikiEditor.tests.toolbar.js @@ -4,7 +4,7 @@ var textareaId = '#wpTextbox1'; var wikiEditorTests = { // Add emoticons section - add_sections_toolbar: { + 'add_sections_toolbar': { call: 'addToToolbar', data: { 'sections': { @@ -159,8 +159,8 @@ var wikiEditorTests = { data: { section: 'info', page: 'removeme' - }, - test: '*[rel=info].section *[rel=removeme].page', + }, + test: '*[rel=info].section *[rel=removeme].page', pre: 1, post: 0 }, @@ -171,8 +171,8 @@ var wikiEditorTests = { section: 'info', page: 'emoticons', 'character': ':))' - }, - test: '*[rel=info].section *[rel=emoticons].page *[rel=":))"]', + }, + test: '*[rel=info].section *[rel=emoticons].page *[rel=":))"]', pre: 1, post: 0 }, @@ -211,7 +211,7 @@ jQuery(document).ready( function ( $ ) { return false; } - var test, pre, post, + var test, pre, post, i, messages = [ 'Running tests for wikiEditor API' ], $target = $( textareaId ), $ui = $target.data( 'wikiEditor-context' ).$ui, @@ -234,13 +234,13 @@ jQuery(document).ready( function ( $ ) { } if ( window.console ) { - for ( var i = 0; i < messages.length; i++ ) { + for ( i = 0; i < messages.length; i++ ) { window.console.log( messages[i] ); } } $(this) - .attr( 'title', messages.join( " | " ) ) + .attr( 'title', messages.join( ' | ' ) ) .text( passes + ' / ' + tests + ' were successful' ) .css( 'backgroundColor', passes < tests ? 'red' : 'green' ) .data( 'testDone', 'true' ) diff --git a/extensions/WikiEditor/modules/ext.wikiEditor.toc.js b/extensions/WikiEditor/modules/ext.wikiEditor.toc.js index 264e9f86..1fc542c5 100644 --- a/extensions/WikiEditor/modules/ext.wikiEditor.toc.js +++ b/extensions/WikiEditor/modules/ext.wikiEditor.toc.js @@ -1,8 +1,7 @@ /* * JavaScript for WikiEditor Table of Contents */ - -$( document ).ready( function() { +jQuery( document ).ready( function ( $ ) { // Add table of contents module $( '#wpTextbox1' ).wikiEditor( 'addModule', 'toc' ); } ); diff --git a/extensions/WikiEditor/modules/ext.wikiEditor.toolbar.hideSig.js b/extensions/WikiEditor/modules/ext.wikiEditor.toolbar.hideSig.js index 3bc0f0b4..48d30274 100644 --- a/extensions/WikiEditor/modules/ext.wikiEditor.toolbar.hideSig.js +++ b/extensions/WikiEditor/modules/ext.wikiEditor.toolbar.hideSig.js @@ -1,7 +1,7 @@ /* * Remove the signature button if the main namespace is edited. */ -$( document ).ready( function() { +jQuery( document ).ready( function ( $ ) { // This module is designed not to depend on ext.wikiEditor or jquery.wikiEditor. // Removing this dependency fixed various bugs, but it does mean that we have to // account for the situation where $.wikiEditor is not present @@ -11,4 +11,4 @@ $( document ).ready( function() { if ( $( 'body' ).hasClass( 'ns-0' ) ) { $( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', { 'section': 'main', 'group': 'insert', 'tool': 'signature' } ); } -}); +} ); diff --git a/extensions/WikiEditor/modules/ext.wikiEditor.toolbar.js b/extensions/WikiEditor/modules/ext.wikiEditor.toolbar.js index 5cdeae57..3f30c0c4 100644 --- a/extensions/WikiEditor/modules/ext.wikiEditor.toolbar.js +++ b/extensions/WikiEditor/modules/ext.wikiEditor.toolbar.js @@ -1,8 +1,7 @@ /* * JavaScript for WikiEditor Toolbar */ - -$( document ).ready( function() { +jQuery( document ).ready( function ( $ ) { if ( !$.wikiEditor.isSupported( $.wikiEditor.modules.toolbar ) ) { $( '.wikiEditor-oldToolbar' ).show(); return; diff --git a/extensions/WikiEditor/modules/images/toolbar/format-bold-hy.png b/extensions/WikiEditor/modules/images/toolbar/format-bold-hy.png Binary files differnew file mode 100644 index 00000000..453a9580 --- /dev/null +++ b/extensions/WikiEditor/modules/images/toolbar/format-bold-hy.png diff --git a/extensions/WikiEditor/modules/images/toolbar/format-italic-hy.png b/extensions/WikiEditor/modules/images/toolbar/format-italic-hy.png Binary files differnew file mode 100644 index 00000000..108bae64 --- /dev/null +++ b/extensions/WikiEditor/modules/images/toolbar/format-italic-hy.png diff --git a/extensions/WikiEditor/modules/jquery.wikiEditor.css b/extensions/WikiEditor/modules/jquery.wikiEditor.css index d8e331cc..6e05ff03 100644 --- a/extensions/WikiEditor/modules/jquery.wikiEditor.css +++ b/extensions/WikiEditor/modules/jquery.wikiEditor.css @@ -19,9 +19,6 @@ .wikiEditor-ui textarea:focus { outline: none; } -.wikiEditor-ui .wikiEditor-ui-bottom { - -} .wikiEditor-ui .wikiEditor-ui-text { line-height: 0; } diff --git a/extensions/WikiEditor/modules/jquery.wikiEditor.dialogs.config.js b/extensions/WikiEditor/modules/jquery.wikiEditor.dialogs.config.js index 0d769164..f37d004e 100644 --- a/extensions/WikiEditor/modules/jquery.wikiEditor.dialogs.config.js +++ b/extensions/WikiEditor/modules/jquery.wikiEditor.dialogs.config.js @@ -1,6 +1,8 @@ /** * Configuration of Dialog module for wikiEditor */ +/*jshint curly:false, noarg:false, quotmark:false, onevar:false */ +/*global alert */ ( function ( $, mw ) { $.wikiEditor.modules.dialogs.config = { @@ -226,7 +228,7 @@ $.wikiEditor.modules.dialogs.config = { ); } $( '#wikieditor-toolbar-link-type-int, #wikieditor-toolbar-link-type-ext' ).click( function () { - if ( $( '#wikieditor-toolbar-link-type-ext' ).is( ':checked' ) ) { + if ( $( '#wikieditor-toolbar-link-type-ext' ).prop( 'checked' ) ) { // Abort previous request var request = $( '#wikieditor-toolbar-link-int-target-status' ).data( 'request' ); if ( request ) { @@ -234,8 +236,9 @@ $.wikiEditor.modules.dialogs.config = { } updateWidget( 'external' ); } - if ( $( '#wikieditor-toolbar-link-type-int' ).is( ':checked' ) ) + if ( $( '#wikieditor-toolbar-link-type-int' ).prop( 'checked' ) ) { updateExistence( true ); + } }); // Set labels of tabs based on rel values $(this).find( '[rel]' ).each( function () { @@ -250,12 +253,12 @@ $.wikiEditor.modules.dialogs.config = { .data( 'tooltip', mw.msg( 'wikieditor-toolbar-tool-link-int-text-tooltip' ) ); $( '#wikieditor-toolbar-link-int-target, #wikieditor-toolbar-link-int-text' ) .each( function () { - var tooltip = mw.msg( $( this ).attr( 'id' ) + '-tooltip' ); - if ( $( this ).val() === '' ) + if ( $( this ).val() === '' ) { $( this ) .addClass( 'wikieditor-toolbar-dialog-hint' ) .val( $( this ).data( 'tooltip' ) ) .data( 'tooltip-mode', true ); + } } ) .focus( function () { if ( $( this ).val() === $( this ).data( 'tooltip' ) ) { @@ -295,26 +298,30 @@ $.wikiEditor.modules.dialogs.config = { $( '#wikieditor-toolbar-link-type-int' ).prop( 'checked', true ); updateExistence(); } - if ( $( '#wikieditor-toolbar-link-int-text' ).data( 'untouched' ) ) + /*jshint eqeqeq:false */ + if ( $( '#wikieditor-toolbar-link-int-text' ).data( 'untouched' ) ) { if ( $( '#wikieditor-toolbar-link-int-target' ).val() == - $( '#wikieditor-toolbar-link-int-target' ).data( 'tooltip' ) ) { - $( '#wikieditor-toolbar-link-int-text' ) - .addClass( 'wikieditor-toolbar-dialog-hint' ) - .val( $( '#wikieditor-toolbar-link-int-text' ).data( 'tooltip' ) ) - .change(); - } else { - $( '#wikieditor-toolbar-link-int-text' ) - .val( $( '#wikieditor-toolbar-link-int-target' ).val() ) - .change(); - } + $( '#wikieditor-toolbar-link-int-target' ).data( 'tooltip' ) + ) { + $( '#wikieditor-toolbar-link-int-text' ) + .addClass( 'wikieditor-toolbar-dialog-hint' ) + .val( $( '#wikieditor-toolbar-link-int-text' ).data( 'tooltip' ) ) + .change(); + } else { + $( '#wikieditor-toolbar-link-int-text' ) + .val( $( '#wikieditor-toolbar-link-int-target' ).val() ) + .change(); + } + } }, 0 ); }); $( '#wikieditor-toolbar-link-int-text' ).bind( 'change keydown paste cut', function () { var oldVal = $(this).val(); var that = this; setTimeout( function () { - if ( $(that).val() !== oldVal ) + if ( $(that).val() !== oldVal ) { $(that).data( 'untouched', false ); + } }, 0 ); }); // Add images to the page existence widget, which will be shown mutually exclusively to communicate if @@ -379,7 +386,7 @@ $.wikiEditor.modules.dialogs.config = { // Title suggestions $( '#wikieditor-toolbar-link-int-target' ).data( 'suggcache', {} ).suggestions( { - fetch: function ( query ) { + fetch: function () { var that = this; var title = $(this).val(); @@ -608,7 +615,7 @@ $.wikiEditor.modules.dialogs.config = { // Execute the action associated with the first button // when the user presses Enter $(this).closest( '.ui-dialog' ).keypress( function ( e ) { - if ( ( e.keyCode || e.which ) == 13 ) { + if ( ( e.keyCode || e.which ) === 13 ) { var button = $(this).data( 'dialogaction' ) || $(this).find( 'button:first' ); button.click(); e.preventDefault(); @@ -706,7 +713,7 @@ $.wikiEditor.modules.dialogs.config = { // Execute the action associated with the first button // when the user presses Enter $( this ).closest( '.ui-dialog' ).keypress( function ( e ) { - if ( ( e.keyCode || e.which ) == 13 ) { + if ( ( e.keyCode || e.which ) === 13 ) { var button = $( this ).data( 'dialogaction' ) || $( this ).find( 'button:first' ); button.click(); e.preventDefault(); @@ -978,7 +985,7 @@ $.wikiEditor.modules.dialogs.config = { var hiddenHTML = $( '.wikieditor-toolbar-table-preview-hidden' ).html(); $( '.wikieditor-toolbar-table-preview-header' ).html( hiddenHTML ); $( '.wikieditor-toolbar-table-preview-hidden' ).html( headerHTML ); - if ( typeof jQuery.fn.tablesorter == 'function' ) { + if ( typeof jQuery.fn.tablesorter === 'function' ) { $( '#wikieditor-toolbar-table-preview, #wikieditor-toolbar-table-preview2' ) .filter( '.sortable' ) .tablesorter(); @@ -1070,7 +1077,7 @@ $.wikiEditor.modules.dialogs.config = { // Execute the action associated with the first button // when the user presses Enter $(this).closest( '.ui-dialog' ).keypress( function ( e ) { - if ( ( e.keyCode || e.which ) == 13 ) { + if ( ( e.keyCode || e.which ) === 13 ) { var button = $(this).data( 'dialogaction' ) || $(this).find( 'button:first' ); button.click(); e.preventDefault(); @@ -1202,7 +1209,7 @@ $.wikiEditor.modules.dialogs.config = { if ( !match ) { $( '#wikieditor-toolbar-replace-nomatch' ).show(); - } else if ( mode == 'replaceAll' ) { + } else if ( mode === 'replaceAll' ) { // Instead of using repetitive .match() calls, we use one .match() call with /g // and indexOf() followed by substr() to find the offsets. This is actually // faster because our indexOf+substr loop is faster than a match loop, and the @@ -1237,7 +1244,7 @@ $.wikiEditor.modules.dialogs.config = { $(this).data( 'offset', 0 ); } else { - if ( mode == 'replace' ) { + if ( mode === 'replace' ) { var actualReplacement; if (isRegex) { @@ -1330,7 +1337,7 @@ $.wikiEditor.modules.dialogs.config = { // Execute the action associated with the first button // when the user presses Enter $(this).closest( '.ui-dialog' ).keypress( function ( e ) { - if ( ( e.keyCode || e.which ) == 13 ) { + if ( ( e.keyCode || e.which ) === 13 ) { var button = $(this).data( 'dialogaction' ) || $(this).find( 'button:first' ); button.click(); e.preventDefault(); @@ -1350,12 +1357,12 @@ $.wikiEditor.modules.dialogs.config = { $( textbox ) .bind( 'keypress.srdialog', function ( e ) { - if ( e.which == 13 ) { + if ( e.which === 13 ) { // Enter var button = dialog.data( 'dialogaction' ) || dialog.find( 'button:first' ); button.click(); e.preventDefault(); - } else if ( e.which == 27 ) { + } else if ( e.which === 27 ) { // Escape $(that).dialog( 'close' ); } diff --git a/extensions/WikiEditor/modules/jquery.wikiEditor.dialogs.js b/extensions/WikiEditor/modules/jquery.wikiEditor.dialogs.js index f6d86d78..6d92966f 100644 --- a/extensions/WikiEditor/modules/jquery.wikiEditor.dialogs.js +++ b/extensions/WikiEditor/modules/jquery.wikiEditor.dialogs.js @@ -42,8 +42,8 @@ $.wikiEditor.modules.dialogs = { }, openDialog: function ( context, module ) { if ( module in $.wikiEditor.modules.dialogs.modules ) { - var mod = $.wikiEditor.modules.dialogs.modules[module]; - var $dialog = $( '#' + mod.id ); + var mod = $.wikiEditor.modules.dialogs.modules[module], + $dialog = $( '#' + mod.id ); if ( $dialog.length === 0 ) { $.wikiEditor.modules.dialogs.fn.reallyCreate( context, mod, module ); $dialog = $( '#' + mod.id ); @@ -82,7 +82,7 @@ $.wikiEditor.modules.dialogs = { module = config[mod]; // Only create the dialog if it's supported, isn't filtered and doesn't exist yet filtered = false; - if ( typeof module.filters != 'undefined' ) { + if ( typeof module.filters !== 'undefined' ) { for ( i = 0; i < module.filters.length; i++ ) { if ( $( module.filters[i] ).length === 0 ) { filtered = true; @@ -92,7 +92,7 @@ $.wikiEditor.modules.dialogs = { } // If the dialog already exists, but for another textarea, simply remove it $existingDialog = $( '#' + module.id ); - if ( $existingDialog.length > 0 && $existingDialog.data( 'context' ).$textarea != context.$textarea ) { + if ( $existingDialog.length > 0 && $existingDialog.data( 'context' ).$textarea !== context.$textarea ) { $existingDialog.remove(); } // Re-select from the DOM, we might have removed the dialog just now @@ -119,13 +119,13 @@ $.wikiEditor.modules.dialogs = { * @param {String} name Dialog name (key in $.wikiEditor.modules.dialogs.modules) */ reallyCreate: function ( context, module, name ) { - var msg, + var msg, dialogDiv, configuration = module.dialog; // Add some stuff to configuration configuration.bgiframe = true; configuration.autoOpen = false; // By default our dialogs are modal, unless explicitely defined in their specific configuration. - if( typeof configuration.modal == "undefined" ) { + if( typeof configuration.modal === 'undefined' ) { configuration.modal = true; } configuration.title = $.wikiEditor.autoMsg( module, 'title' ); @@ -138,7 +138,7 @@ $.wikiEditor.modules.dialogs = { } configuration.buttons = configuration.newButtons; // Create the dialog <div> - var dialogDiv = $( '<div>' ) + dialogDiv = $( '<div>' ) .attr( 'id', module.id ) .html( module.html ) .data( 'context', context ) @@ -171,26 +171,28 @@ $.wikiEditor.modules.dialogs = { * NOTE: This function assumes $.ui.dialog has already been loaded */ resize: function () { - var wrapper = $(this).closest( '.ui-dialog' ); - var oldWidth = wrapper.width(); - // Make sure elements don't wrapped so we get an accurate idea of whether they really fit. Also temporarily show - // hidden elements. Work around jQuery bug where <div style="display: inline;"/> inside a dialog is both - // :visible and :hidden - var oldHidden = $(this).find( '*' ).not( ':visible' ); + var oldWS, thisWidth, wrapperWidth, + wrapper = $(this).closest( '.ui-dialog' ), + oldWidth = wrapper.width(), + // Make sure elements don't wrapped so we get an accurate idea of whether they really fit. Also temporarily show + // hidden elements. Work around jQuery bug where <div style="display: inline;"/> inside a dialog is both + // :visible and :hidden + oldHidden = $(this).find( '*' ).not( ':visible' ); + // Save the style attributes of the hidden elements to restore them later. Calling hide() after show() messes up // for elements hidden with a class oldHidden.each( function () { $(this).data( 'oldstyle', $(this).attr( 'style' ) ); }); oldHidden.show(); - var oldWS = $(this).css( 'white-space' ); + oldWS = $(this).css( 'white-space' ); $(this).css( 'white-space', 'nowrap' ); if ( wrapper.width() <= $(this).get(0).scrollWidth ) { - var thisWidth = $(this).data( 'thisWidth' ) ? $(this).data( 'thisWidth' ) : 0; + thisWidth = $(this).data( 'thisWidth' ) ? $(this).data( 'thisWidth' ) : 0; thisWidth = Math.max( $(this).get(0).width, thisWidth ); $(this).width( thisWidth ); $(this).data( 'thisWidth', thisWidth ); - var wrapperWidth = $(this).data( 'wrapperWidth' ) ? $(this).data( 'wrapperWidth' ) : 0; + wrapperWidth = $(this).data( 'wrapperWidth' ) ? $(this).data( 'wrapperWidth' ) : 0; wrapperWidth = Math.max( wrapper.get(0).scrollWidth, wrapperWidth ); wrapper.width( wrapperWidth ); $(this).data( 'wrapperWidth', wrapperWidth ); diff --git a/extensions/WikiEditor/modules/jquery.wikiEditor.highlight.js b/extensions/WikiEditor/modules/jquery.wikiEditor.highlight.js index 9d964fa7..f646e456 100644 --- a/extensions/WikiEditor/modules/jquery.wikiEditor.highlight.js +++ b/extensions/WikiEditor/modules/jquery.wikiEditor.highlight.js @@ -20,13 +20,21 @@ $.wikiEditor.modules.highlight = { * Internally used event handlers */ evt: { + /** + * @param context + * @param event + */ delayedChange: function ( context, event ) { - if ( event.data.scope == 'realchange' ) { + if ( event.data.scope === 'realchange' ) { $.wikiEditor.modules.highlight.fn.scan( context ); $.wikiEditor.modules.highlight.fn.mark( context, event.data.scope ); } }, - ready: function ( context, event ) { + /** + * @param context + * @param event + */ + ready: function ( context ) { $.wikiEditor.modules.highlight.fn.scan( context ); $.wikiEditor.modules.highlight.fn.mark( context, 'ready' ); } @@ -39,19 +47,22 @@ $.wikiEditor.modules.highlight = { /** * Creates a highlight module within a wikiEditor * + * @param context * @param config Configuration object to create module from */ - create: function ( context, config ) { + create: function ( context ) { context.modules.highlight.markersStr = ''; }, /** * Scans text division for tokens * + * @param context * @param division */ - scan: function ( context, division ) { + scan: function ( context ) { var tokenArray, text, module, exp, - left, right, match; + left, right, match, + regex, label, markAfter, offset; /*jshint eqnull: true */ // Remove all existing tokens @@ -65,11 +76,11 @@ $.wikiEditor.modules.highlight = { if ( module in $.wikiEditor.modules && 'exp' in $.wikiEditor.modules[module] ) { for ( exp in $.wikiEditor.modules[module].exp ) { // Prepare configuration - var regex = $.wikiEditor.modules[module].exp[exp].regex; - var label = $.wikiEditor.modules[module].exp[exp].label; - var markAfter = $.wikiEditor.modules[module].exp[exp].markAfter || false; + regex = $.wikiEditor.modules[module].exp[exp].regex; + label = $.wikiEditor.modules[module].exp[exp].label; + markAfter = $.wikiEditor.modules[module].exp[exp].markAfter || false; // Search for tokens - var offset = 0; + offset = 0; while ( ( match = text.substr( offset ).match( regex ) ) != null ) { right = ( left = offset + match.index ) + match[0].length; tokenArray[tokenArray.length] = { @@ -95,16 +106,19 @@ $.wikiEditor.modules.highlight = { /** * Marks up text with HTML * + * @param context * @param division * @param tokens */ // FIXME: What do division and tokens do? // TODO: Document the scan() and mark() APIs somewhere - mark: function ( context, division, tokens ) { - var i, subtracted, oldLength, j, o; + mark: function ( context, division ) { + /*jshint eqeqeq:false, onevar:false */ + var i, subtracted, oldLength, j, o, + markers; // Reset markers - var markers = []; + markers = []; // Recycle markers that will be skipped in this run if ( context.modules.highlight.markers && division !== '' ) { @@ -353,8 +367,9 @@ $.wikiEditor.modules.highlight = { // Don't remove these either return true; } - if ( marker && typeof marker.beforeUnwrap === 'function' ) + if ( marker && typeof marker.beforeUnwrap === 'function' ) { marker.beforeUnwrap( this ); + } if ( ( marker && marker.anchor === 'tag' ) || $(this).is( 'p' ) ) { // Remove all classes $(this).removeAttr( 'class' ); diff --git a/extensions/WikiEditor/modules/jquery.wikiEditor.iframe.js b/extensions/WikiEditor/modules/jquery.wikiEditor.iframe.js index 4d425012..538fcb18 100644 --- a/extensions/WikiEditor/modules/jquery.wikiEditor.iframe.js +++ b/extensions/WikiEditor/modules/jquery.wikiEditor.iframe.js @@ -1,6 +1,6 @@ /* IFrame extension for wikiEditor */ - -( function( $ ) { $.wikiEditor.extensions.iframe = function( context ) { +/*jshint onevar:false, boss:true */ +( function ( $ ) { $.wikiEditor.extensions.iframe = function ( context ) { /* * Event Handlers @@ -14,18 +14,18 @@ context.evt = $.extend( context.evt, { * function is to both classify the scope of changes as 'division' or 'character' and to prevent further * processing of events which did not actually change the content of the iframe. */ - 'keydown': function( event ) { + keydown: function ( event ) { switch ( event.which ) { case 90: // z case 89: // y - if ( event.which == 89 && !$.browser.msie ) { + if ( event.which === 89 && !$.browser.msie ) { // only handle y events for IE return true; } else if ( ( event.ctrlKey || event.metaKey ) && context.history.length ) { // HistoryPosition is a negative number between -1 and -context.history.length, in other words // it's the number of steps backwards from the latest state. var newPosition; - if ( event.shiftKey || event.which == 89 ) { + if ( event.shiftKey || event.which === 89 ) { // Redo newPosition = context.historyPosition + 1; } else { @@ -35,7 +35,7 @@ context.evt = $.extend( context.evt, { // Only act if we are switching to a valid state if ( newPosition >= ( context.history.length * -1 ) && newPosition < 0 ) { // Make sure we run the history storing code before we make this change - context.fn.updateHistory( context.oldDelayedHTML != context.$content.html() ); + context.fn.updateHistory( context.oldDelayedHTML !== context.$content.html() ); context.oldDelayedHistoryPosition = context.historyPosition; context.historyPosition = newPosition; // Change state @@ -65,8 +65,8 @@ context.evt = $.extend( context.evt, { var $tabindexList = $( '[tabindex]:visible' ).sort( function( a, b ) { return a.tabIndex - b.tabIndex; } ); - for( var i=0; i < $tabindexList.length; i++ ) { - if( $tabindexList.eq( i ).attr( 'id' ) == context.$iframe.attr( 'id' ) ) { + for ( var i=0; i < $tabindexList.length; i++ ) { + if ( $tabindexList.eq( i ).attr( 'id' ) === context.$iframe.attr( 'id' ) ) { $tabindexList.get( i + 1 ).focus(); break; } @@ -74,48 +74,48 @@ context.evt = $.extend( context.evt, { return false; } break; - case 86: //v - if ( event.ctrlKey && $.browser.msie && 'paste' in context.evt ) { - //paste, intercepted for IE - context.evt.paste( event ); - } - break; + case 86: //v + if ( event.ctrlKey && $.browser.msie && 'paste' in context.evt ) { + //paste, intercepted for IE + context.evt.paste( event ); + } + break; } return true; }, - 'change': function( event ) { + change: function ( event ) { event.data.scope = 'division'; var newHTML = context.$content.html(); - if ( context.oldHTML != newHTML ) { + if ( context.oldHTML !== newHTML ) { context.fn.purgeOffsets(); context.oldHTML = newHTML; event.data.scope = 'realchange'; } // Never let the body be totally empty - if ( context.$content.children().length == 0 ) { + if ( context.$content.children().length === 0 ) { context.$content.append( '<p></p>' ); } return true; }, - 'delayedChange': function( event ) { + delayedChange: function ( event ) { event.data.scope = 'division'; var newHTML = context.$content.html(); - if ( context.oldDelayedHTML != newHTML ) { + if ( context.oldDelayedHTML !== newHTML ) { context.oldDelayedHTML = newHTML; event.data.scope = 'realchange'; // Surround by <p> if it does not already have it var cursorPos = context.fn.getCaretPosition(); var t = context.fn.getOffset( cursorPos[0] ); - if ( ! $.browser.msie && t && t.node.nodeName == '#text' && t.node.parentNode.nodeName.toLowerCase() == 'body' ) { - $( t.node ).wrap( "<p></p>" ); + if ( ! $.browser.msie && t && t.node.nodeName === '#text' && t.node.parentNode.nodeName.toLowerCase() === 'body' ) { + $( t.node ).wrap( '<p></p>' ); context.fn.purgeOffsets(); context.fn.setSelection( { start: cursorPos[0], end: cursorPos[1] } ); } } - context.fn.updateHistory( event.data.scope == 'realchange' ); + context.fn.updateHistory( event.data.scope === 'realchange' ); return true; }, - 'cut': function( event ) { + cut: function ( event ) { setTimeout( function() { context.$content.find( 'br' ).each( function() { if ( $(this).parent().is( 'body' ) ) { @@ -125,7 +125,7 @@ context.evt = $.extend( context.evt, { }, 100 ); return true; }, - 'paste': function( event ) { + paste: function ( event ) { // Save the cursor position to restore it after all this voodoo var cursorPos = context.fn.getCaretPosition(); var oldLength = context.fn.getContents().length; @@ -138,6 +138,7 @@ context.evt = $.extend( context.evt, { } setTimeout( function() { + /*jshint eqnull:true */ // Kill stuff we know we don't want context.$content.find( 'script,style,img,input,select,textarea,hr,button,link,meta' ).remove(); var nodeToDelete = []; @@ -152,30 +153,31 @@ context.evt = $.extend( context.evt, { } if ( elementAtCursor == null || elementAtCursor.node == null ) { context.$content.prepend( '<p class = wikiEditor></p>' ); - firstDirtyNode = context.$content.children()[0]; + firstDirtyNode = context.$content.children()[0]; } else { firstDirtyNode = elementAtCursor.node; } - //this is ugly but seems like the best way to handle the case where we select and replace all editor contents + // This is ugly but seems like the best way to handle the case where we select and replace all editor contents try { + /*jshint expr:true */ firstDirtyNode.parentNode; } catch ( err ) { context.$content.prepend( '<p class = wikiEditor></p>' ); - firstDirtyNode = context.$content.children()[0]; + firstDirtyNode = context.$content.children()[0]; } while ( firstDirtyNode != null ) { //we're going to replace the contents of the entire parent node. - while ( firstDirtyNode.parentNode && firstDirtyNode.parentNode.nodeName != 'BODY' - && ! $( firstDirtyNode ).hasClass( 'wikiEditor' ) - ) { + while ( firstDirtyNode.parentNode && firstDirtyNode.parentNode.nodeName !== 'BODY' && + !$( firstDirtyNode ).hasClass( 'wikiEditor' ) + ) { firstDirtyNode = firstDirtyNode.parentNode; } //go back till we find the first pasted node - while ( firstDirtyNode.previousSibling != null - && ! $( firstDirtyNode.previousSibling ).hasClass( 'wikiEditor' ) - ) { + while ( firstDirtyNode.previousSibling != null && + !$( firstDirtyNode.previousSibling ).hasClass( 'wikiEditor' ) + ) { if ( $( firstDirtyNode.previousSibling ).hasClass( '#comment' ) ) { $( firstDirtyNode ).remove(); @@ -185,9 +187,9 @@ context.evt = $.extend( context.evt, { } if ( firstDirtyNode.previousSibling != null ) { - $lastDirtyNode = $( firstDirtyNode.previousSibling ); + $lastDirtyNode = $( firstDirtyNode.previousSibling ); } else { - $lastDirtyNode = $( firstDirtyNode ); + $lastDirtyNode = $( firstDirtyNode ); } var cc = makeContentCollector( $.browser, null ); @@ -218,7 +220,7 @@ context.evt = $.extend( context.evt, { } - if( !pastedPretty && $.browser.msie && i == 0 ) { + if ( !pastedPretty && $.browser.msie && i === 0 ) { continue; } $newElement = $( '<p class="wikiEditor pasted" ></p>' ); @@ -241,7 +243,7 @@ context.evt = $.extend( context.evt, { //anything without wikiEditor class was pasted. $selection = context.$content.find( ':not(.wikiEditor)' ); - if ( $selection.length == 0 ) { + if ( $selection.length === 0 ) { break; } else { firstDirtyNode = $selection.eq( 0 )[0]; @@ -260,7 +262,7 @@ context.evt = $.extend( context.evt, { }, 0 ); return true; }, - 'ready': function( event ) { + ready: function ( event ) { // Initialize our history queue if ( context.$content ) { context.history.push( { 'html': context.$content.html(), 'sel': context.fn.getCaretPosition() } ); @@ -275,7 +277,11 @@ context.evt = $.extend( context.evt, { * Internally used functions */ context.fn = $.extend( context.fn, { - 'highlightLine': function( $element, mode ) { + /** + * @param {jQuery} $element + * @param mode + */ + highlightLine: function ( $element ) { if ( !$element.is( 'p' ) ) { $element = $element.closest( 'p' ); } @@ -283,7 +289,7 @@ context.fn = $.extend( context.fn, { setTimeout( function() { $element.animate( { 'backgroundColor': 'white' }, 'slow' ); }, 100 ); setTimeout( function() { $element.css( 'backgroundColor', 'white' ); }, 1000 ); }, - 'htmlToText': function( html ) { + htmlToText: function ( html ) { // This function is slow for large inputs, so aggressively cache input/output pairs if ( html in context.htmlToTextMap ) { return context.htmlToTextMap[html]; @@ -294,15 +300,15 @@ context.fn = $.extend( context.fn, { // IE does overzealous whitespace collapsing for $( '<pre />' ).html( html ); // We also do <br> and easy cases for <p> conversion here, complicated cases are handled later html = html - .replace( /\r?\n/g, "" ) // IE7 inserts newlines before block elements - .replace( / /g, " " ) // We inserted these to prevent IE from collapsing spaces - .replace( /\<br[^\>]*\>\<\/p\>/gi, '</p>' ) // Remove trailing <br> from <p> - .replace( /\<\/p\>\s*\<p[^\>]*\>/gi, "\n" ) // Easy case for <p> conversion - .replace( /\<br[^\>]*\>/gi, "\n" ) // <br> conversion - .replace( /\<\/p\>(\n*)\<p[^\>]*\>/gi, "$1\n" ) + .replace( /\r?\n/g, '' ) // IE7 inserts newlines before block elements + .replace( / /g, ' ' ) // We inserted these to prevent IE from collapsing spaces + .replace( /<br[^\>]*\><\/p\>/gi, '</p>' ) // Remove trailing <br> from <p> + .replace( /<\/p\>\s*<p[^\>]*\>/gi, '\n' ) // Easy case for <p> conversion + .replace( /<br[^\>]*\>/gi, '\n' ) // <br> conversion + .replace( /<\/p\>(\n*)<p[^\>]*\>/gi, '$1\n' ) // Un-nest <p> tags - .replace( /\<p[^\>]*\><p[^\>]*\>/gi, '<p>' ) - .replace( /\<\/p\><\/p\>/gi, '</p>' ); + .replace( /<p[^\>]*\><p[^\>]*\>/gi, '<p>' ) + .replace( /<\/p\><\/p\>/gi, '</p>' ); // Save leading and trailing whitespace now and restore it later. IE eats it all, and even Firefox // won't leave everything alone var leading = html.match( /^\s*/ )[0]; @@ -311,8 +317,8 @@ context.fn = $.extend( context.fn, { var $pre = $( '<pre>' + html + '</pre>' ); $pre.find( '.wikiEditor-noinclude' ).each( function() { $( this ).remove(); } ); // Convert tabs, <p>s and <br>s back - $pre.find( '.wikiEditor-tab' ).each( function() { $( this ).text( "\t" ); } ); - $pre.find( 'br' ).each( function() { $( this ).replaceWith( "\n" ); } ); + $pre.find( '.wikiEditor-tab' ).each( function() { $( this ).text( '\t' ); } ); + $pre.find( 'br' ).each( function() { $( this ).replaceWith( '\n' ); } ); // Converting <p>s is wrong if there's nothing before them, so check that. // .find( '* + p' ) isn't good enough because textnodes aren't considered $pre.find( 'p' ).each( function() { @@ -323,21 +329,21 @@ context.fn = $.extend( context.fn, { // Check for preceding text var t = new context.fn.rawTraverser( this.firstChild, this, $pre.get( 0 ), true ).prev(); - while ( t && t.node.nodeName != '#text' && t.node.nodeName != 'BR' && t.node.nodeName != 'P' ) { + while ( t && t.node.nodeName !== '#text' && t.node.nodeName !== 'BR' && t.node.nodeName !== 'P' ) { t = t.prev(); } if ( t ) { - text = "\n" + text; + text = '\n' + text; } // Check for following text t = new context.fn.rawTraverser( this.lastChild, this, $pre.get( 0 ), true ).next(); - while ( t && t.node.nodeName != '#text' && t.node.nodeName != 'BR' && t.node.nodeName != 'P' ) { + while ( t && t.node.nodeName !== '#text' && t.node.nodeName !== 'BR' && t.node.nodeName !== 'P' ) { t = t.next(); } - if ( t && !t.inP && t.node.nodeName == '#text' && t.node.nodeValue.charAt( 0 ) != '\n' - && t.node.nodeValue.charAt( 0 ) != '\r' ) { - text += "\n"; + if ( t && !t.inP && t.node.nodeName === '#text' && t.node.nodeValue.charAt( 0 ) !== '\n' && + t.node.nodeValue.charAt( 0 ) !== '\r' ) { + text += '\n'; } $( this ).text( text ); } ); @@ -357,8 +363,8 @@ context.fn = $.extend( context.fn, { * @param strict If true, the element the selection starts in cannot match (default: false) * @return jQuery object or null if unknown */ - 'beforeSelection': function( classname, strict ) { - if ( typeof classname == 'undefined' ) { + beforeSelection: function ( classname, strict ) { + if ( typeof classname === 'undefined' ) { classname = ''; } var e = null, offset = null; @@ -381,7 +387,7 @@ context.fn = $.extend( context.fn, { // When the cursor is on an empty line, Opera gives us a bogus range object with // startContainer=endContainer=body and startOffset=endOffset=1 var body = context.$iframe[0].contentWindow.document.body; - if ( $.browser.opera && e == body && offset == 1 ) { + if ( $.browser.opera && e === body && offset === 1 ) { return null; } } @@ -400,14 +406,14 @@ context.fn = $.extend( context.fn, { return null; } var seekPos = context.fn.htmlToText( range2.htmlText ).length; - var offset = context.fn.getOffset( seekPos ); + offset = context.fn.getOffset( seekPos ); e = offset ? offset.node : null; offset = offset ? offset.offset : null; if ( !e ) { return null; } } - if ( e.nodeName != '#text' ) { + if ( e.nodeName !== '#text' ) { // The selection is not in a textnode, but between two non-text nodes // (usually inside the <body> between two <br>s). Go to the rightmost // child of the node just before the selection @@ -425,7 +431,7 @@ context.fn = $.extend( context.fn, { // constructor thousands of times is very inefficient var classStr = ' ' + classname + ' '; while ( e ) { - if ( !strict && ( !classname || ( ' ' + e.className + ' ' ).indexOf( classStr ) != -1 ) ) { + if ( !strict && ( !classname || ( ' ' + e.className + ' ' ).indexOf( classStr ) !== -1 ) ) { return $( e ); } var next = e.previousSibling; @@ -440,7 +446,7 @@ context.fn = $.extend( context.fn, { /** * Object used by traverser(). Don't use this unless you know what you're doing */ - 'rawTraverser': function( node, inP, ancestor, skipNoinclude ) { + rawTraverser: function ( node, inP, ancestor, skipNoinclude ) { this.node = node; this.inP = inP; this.ancestor = ancestor; @@ -450,16 +456,16 @@ context.fn = $.extend( context.fn, { var nextInP = this.inP; while ( p && !p.nextSibling ) { p = p.parentNode; - if ( p == this.ancestor ) { + if ( p === this.ancestor ) { // We're back at the ancestor, stop here p = null; } - if ( p && p.nodeName == "P" ) { + if ( p && p.nodeName === 'P' ) { nextInP = null; } } p = p ? p.nextSibling : null; - if ( p && p.nodeName == "P" ) { + if ( p && p.nodeName === 'P' ) { nextInP = p; } do { @@ -467,13 +473,13 @@ context.fn = $.extend( context.fn, { // Don't use $( p ).hasClass( 'wikiEditor-noinclude' ) because // $() is slow in a tight loop if ( this.skipNoinclude ) { - while ( p && ( ' ' + p.className + ' ' ).indexOf( ' wikiEditor-noinclude ' ) != -1 ) { + while ( p && ( ' ' + p.className + ' ' ).indexOf( ' wikiEditor-noinclude ' ) !== -1 ) { p = p.nextSibling; } } if ( p && p.firstChild ) { p = p.firstChild; - if ( p.nodeName == "P" ) { + if ( p.nodeName === 'P' ) { nextInP = p; } } @@ -487,16 +493,16 @@ context.fn = $.extend( context.fn, { var prevInP = this.inP; while ( p && !p.previousSibling ) { p = p.parentNode; - if ( p == this.ancestor ) { + if ( p === this.ancestor ) { // We're back at the ancestor, stop here p = null; } - if ( p && p.nodeName == "P" ) { + if ( p && p.nodeName === 'P' ) { prevInP = null; } } p = p ? p.previousSibling : null; - if ( p && p.nodeName == "P" ) { + if ( p && p.nodeName === 'P' ) { prevInP = p; } do { @@ -510,7 +516,7 @@ context.fn = $.extend( context.fn, { } if ( p && p.lastChild ) { p = p.lastChild; - if ( p.nodeName == "P" ) { + if ( p.nodeName == 'P' ) { prevInP = p; } } @@ -528,28 +534,28 @@ context.fn = $.extend( context.fn, { * @return Traverser object, use .next() or .prev() to get a traverser object referring to the * previous/next node */ - 'traverser': function( start ) { + traverser: function ( start ) { // Find the leftmost leaf node in the tree var startNode = start.jquery ? start.get( 0 ) : start; var node = startNode; - var inP = node.nodeName == "P" ? node : null; + var inP = node.nodeName === 'P' ? node : null; do { // Filter nodes with the wikiEditor-noinclude class // Don't use $( p ).hasClass( 'wikiEditor-noinclude' ) because // $() is slow in a tight loop - while ( node && ( ' ' + node.className + ' ' ).indexOf( ' wikiEditor-noinclude ' ) != -1 ) { + while ( node && ( ' ' + node.className + ' ' ).indexOf( ' wikiEditor-noinclude ' ) !== -1 ) { node = node.nextSibling; } if ( node && node.firstChild ) { node = node.firstChild; - if ( node.nodeName == "P" ) { + if ( node.nodeName === 'P' ) { inP = node; } } } while ( node && node.firstChild ); return new context.fn.rawTraverser( node, inP, startNode, true ); }, - 'getOffset': function( offset ) { + getOffset: function ( offset ) { if ( !context.offsets ) { context.fn.refreshOffsets(); } @@ -578,21 +584,21 @@ context.fn = $.extend( context.fn, { 'lastTextNode': base.lastTextNode }; }, - 'purgeOffsets': function() { + purgeOffsets: function () { context.offsets = null; }, - 'refreshOffsets': function() { + refreshOffsets: function () { context.offsets = [ ]; var t = context.fn.traverser( context.$content ); var pos = 0, lastTextNode = null; while ( t ) { - if ( t.node.nodeName != '#text' && t.node.nodeName != 'BR' ) { + if ( t.node.nodeName !== '#text' && t.node.nodeName !== 'BR' ) { t = t.next(); continue; } - var nextPos = t.node.nodeName == '#text' ? pos + t.node.nodeValue.length : pos + 1; + var nextPos = t.node.nodeName === '#text' ? pos + t.node.nodeValue.length : pos + 1; var nextT = t.next(); - var leavingP = t.node.nodeName == '#text' && t.inP && nextT && ( !nextT.inP || nextT.inP != t.inP ); + var leavingP = t.node.nodeName === '#text' && t.inP && nextT && ( !nextT.inP || nextT.inP !== t.inP ); context.offsets[pos] = { 'node': t.node, 'offset': 0, @@ -610,27 +616,27 @@ context.fn = $.extend( context.fn, { }; } pos = nextPos + ( leavingP ? 1 : 0 ); - if ( t.node.nodeName == '#text' ) { + if ( t.node.nodeName === '#text' ) { lastTextNode = t.node; } t = nextT; } }, - 'saveCursorAndScrollTop': function() { + saveCursorAndScrollTop: function () { // Stub out textarea behavior return; }, - 'restoreCursorAndScrollTop': function() { + restoreCursorAndScrollTop: function () { // Stub out textarea behavior return; }, - 'saveSelection': function() { + saveSelection: function () { if ( $.client.profile().name === 'msie' ) { context.$iframe[0].contentWindow.focus(); context.savedSelection = context.$iframe[0].contentWindow.document.selection.createRange(); } }, - 'restoreSelection': function() { + restoreSelection: function () { if ( $.client.profile().name === 'msie' && context.savedSelection !== null ) { context.$iframe[0].contentWindow.focus(); context.savedSelection.select(); @@ -640,10 +646,10 @@ context.fn = $.extend( context.fn, { /** * Update the history queue * - * @param htmlChange pass true or false to inidicate if there was a text change that should potentially + * @param htmlChange Pass true or false to inidicate if there was a text change that should potentially * be given a new history state. */ - 'updateHistory': function( htmlChange ) { + updateHistory: function ( htmlChange ) { var newHTML = context.$content.html(); var newSel = context.fn.getCaretPosition(); // Was text changed? Was it because of a REDO or UNDO action? @@ -675,7 +681,7 @@ context.fn = $.extend( context.fn, { /** * Sets up the iframe in place of the textarea to allow more advanced operations */ - 'setupIframe': function() { + setupIframe: function () { context.$iframe = $( '<iframe></iframe>' ) .attr( { 'frameBorder': 0, @@ -834,7 +840,7 @@ context.fn = $.extend( context.fn, { * equivilant functionality to the otherwise textarea-based functionality. */ - 'getElementAtCursor': function() { + getElementAtCursor: function () { if ( context.$iframe[0].contentWindow.getSelection ) { // Firefox and Opera var selection = context.$iframe[0].contentWindow.getSelection(); @@ -855,7 +861,7 @@ context.fn = $.extend( context.fn, { /** * Gets the complete contents of the iframe (in plain text, not HTML) */ - 'getContents': function() { + getContents: function () { // For <p></p>, .html() returns <p> </p> in IE // This seems to convince IE while not affecting display if ( !context.$content ) { @@ -880,7 +886,7 @@ context.fn = $.extend( context.fn, { * Gets the currently selected text in the content * DO NOT CALL THIS DIRECTLY, use $.textSelection( 'functionname', options ) instead */ - 'getSelection': function() { + getSelection: function () { var retval; if ( context.$iframe[0].contentWindow.getSelection ) { // Firefox and Opera @@ -915,7 +921,7 @@ context.fn = $.extend( context.fn, { * selection is empty. * DO NOT CALL THIS DIRECTLY, use $.textSelection( 'functionname', options ) instead */ - 'encapsulateSelection': function( options ) { + encapsulateSelection: function ( options ) { var selText = $(this).textSelection( 'getSelection' ); var selTextArr; var collapseToEnd = false; @@ -1127,7 +1133,7 @@ context.fn = $.extend( context.fn, { * Gets the position (in resolution of bytes not nessecarily characters) in a textarea * DO NOT CALL THIS DIRECTLY, use $.textSelection( 'functionname', options ) instead */ - 'getCaretPosition': function( options ) { + getCaretPosition: function ( options ) { var startPos = null, endPos = null; if ( context.$iframe[0].contentWindow.getSelection ) { var selection = context.$iframe[0].contentWindow.getSelection(); @@ -1264,7 +1270,7 @@ context.fn = $.extend( context.fn, { * @param startContainer Element in iframe to start selection in. If not set, start is a character offset * @param endContainer Element in iframe to end selection in. If not set, end is a character offset */ - 'setSelection': function( options ) { + setSelection: function ( options ) { var sc = options.startContainer, ec = options.endContainer; sc = sc && sc.jquery ? sc[0] : sc; ec = ec && ec.jquery ? ec[0] : ec; @@ -1351,7 +1357,7 @@ context.fn = $.extend( context.fn, { * Scroll a textarea to the current cursor position. You can set the cursor position with setSelection() * DO NOT CALL THIS DIRECTLY, use $.textSelection( 'functionname', options ) instead */ - 'scrollToCaretPosition': function( options ) { + scrollToCaretPosition: function ( options ) { context.fn.scrollToTop( context.fn.getElementAtCursor(), true ); }, /** @@ -1361,7 +1367,7 @@ context.fn = $.extend( context.fn, { * @param $element jQuery object containing an element in the iframe * @param force If true, scroll the element even if it's already visible */ - 'scrollToTop': function( $element, force ) { + scrollToTop: function ( $element, force ) { var html = context.$content.closest( 'html' ), body = context.$content.closest( 'body' ), parentHtml = $( 'html' ), diff --git a/extensions/WikiEditor/modules/jquery.wikiEditor.js b/extensions/WikiEditor/modules/jquery.wikiEditor.js index def8b69e..85030b66 100644 --- a/extensions/WikiEditor/modules/jquery.wikiEditor.js +++ b/extensions/WikiEditor/modules/jquery.wikiEditor.js @@ -8,7 +8,8 @@ * $( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'toolbar', { ... config ... } ); * */ -( function ( $ ) { +/*jshint onevar:false, boss:true */ +( function ( $, mw ) { /** * Global static object for wikiEditor that provides generally useful functionality to all modules and contexts. @@ -113,7 +114,7 @@ $.wikiEditor = { isRequired: function ( module, requirement ) { if ( typeof module.req !== 'undefined' ) { for ( var req in module.req ) { - if ( module.req[req] == requirement ) { + if ( module.req[req] === requirement ) { return true; } } @@ -132,9 +133,10 @@ $.wikiEditor = { * with the key 'bar'. */ autoMsg: function ( object, property ) { + var i, p; // Accept array of possible properties, of which the first one found will be used - if ( typeof property == 'object' ) { - for ( var i in property ) { + if ( typeof property === 'object' ) { + for ( i in property ) { if ( property[i] in object || property[i] + 'Msg' in object ) { property = property[i]; break; @@ -144,11 +146,11 @@ $.wikiEditor = { if ( property in object ) { return object[property]; } else if ( property + 'Msg' in object ) { - var p = object[property + 'Msg']; + p = object[property + 'Msg']; if ( $.isArray( p ) && p.length >= 2 ) { - return mediaWiki.message.apply( mediaWiki.message, p ).plain(); + return mw.message.apply( mw.message, p ).plain(); } else { - return mediaWiki.message( p ).plain(); + return mw.message( p ).plain(); } } else { return ''; @@ -181,10 +183,10 @@ $.wikiEditor = { var src = $.wikiEditor.autoLang( icon, lang ); path = path || $.wikiEditor.imgPath; // Prepend path if src is not absolute - if ( src.substr( 0, 7 ) != 'http://' && src.substr( 0, 8 ) != 'https://' && src[0] != '/' ) { + if ( src.substr( 0, 7 ) !== 'http://' && src.substr( 0, 8 ) !== 'https://' && src[0] !== '/' ) { src = path + src; } - return src + '?' + mw.loader.version( 'jquery.wikiEditor' ); + return src + '?' + mw.loader.getVersion( 'jquery.wikiEditor' ); }, /** @@ -197,9 +199,9 @@ $.wikiEditor = { */ autoIconOrOffset: function ( icon, offset, path, lang ) { lang = lang || mw.config.get( 'wgUserLanguage' ); - if ( typeof offset == 'object' && lang in offset ) { + if ( typeof offset === 'object' && lang in offset ) { return offset[lang]; - } else if ( typeof icon == 'object' && lang in icon ) { + } else if ( typeof icon === 'object' && lang in icon ) { return $.wikiEditor.autoIcon( icon, undefined, lang ); } else { return $.wikiEditor.autoLang( offset, lang ); @@ -223,7 +225,7 @@ if ( !$.wikiEditor.isSupported() ) { // where we left off var context = $(this).data( 'wikiEditor-context' ); // On first call, we need to set things up, but on all following calls we can skip right to the API handling -if ( !context || typeof context == 'undefined' ) { +if ( !context || typeof context === 'undefined' ) { // Star filling the context with useful data - any jQuery selections, as usual should be named with a preceding $ context = { @@ -247,7 +249,7 @@ if ( !context || typeof context == 'undefined' ) { 'oldDelayedHTML': null, // The previous selection of the iframe, stored to detect whether the selection has changed 'oldDelayedSel': null, - // Saved selection state for IE + // Saved selection state for old IE (<=10) 'savedSelection': null, // Stack of states in { html: [string] } form 'history': [], @@ -276,14 +278,14 @@ if ( !context || typeof context == 'undefined' ) { 'addModule': function ( context, data ) { var module, call, modules = {}; - if ( typeof data == 'string' ) { + if ( typeof data === 'string' ) { modules[data] = {}; - } else if ( typeof data == 'object' ) { + } else if ( typeof data === 'object' ) { modules = data; } for ( module in modules ) { // Check for the existance of an available / supported module with a matching name and a create function - if ( typeof module == 'string' && typeof $.wikiEditor.modules[module] !== 'undefined' && + if ( typeof module === 'string' && typeof $.wikiEditor.modules[module] !== 'undefined' && $.wikiEditor.isSupported( $.wikiEditor.modules[module] ) ) { // Extend the context's core API with this module's own API calls @@ -326,11 +328,11 @@ if ( !context || typeof context == 'undefined' ) { */ trigger: function ( name, event ) { // Event is an optional argument, but from here on out, at least the type field should be dependable - if ( typeof event == 'undefined' ) { + if ( typeof event === 'undefined' ) { event = { 'type': 'custom' }; } // Ensure there's a place for extra information to live - if ( typeof event.data == 'undefined' ) { + if ( typeof event.data === 'undefined' ) { event.data = {}; } @@ -393,7 +395,7 @@ if ( !context || typeof context == 'undefined' ) { // Return the newly appended tab return $( '<div>' ) .attr( 'rel', 'wikiEditor-ui-view-' + options.name ) - .addClass( context.view == options.name ? 'current' : null ) + .addClass( context.view === options.name ? 'current' : null ) .append( $( '<a>' ) .attr( 'href', '#' ) .mousedown( function () { @@ -406,7 +408,7 @@ if ( !context || typeof context == 'undefined' ) { context.$tabs.find( 'div' ).removeClass( 'current' ); $(this).parent().addClass( 'current' ); $(this).blur(); - if ( 'init' in options && typeof options.init == 'function' ) { + if ( 'init' in options && typeof options.init === 'function' ) { options.init( context ); } event.preventDefault(); @@ -457,17 +459,17 @@ if ( !context || typeof context == 'undefined' ) { }, /** - * Save text selection for IE + * Save text selection for old IE (<=10) */ saveSelection: function () { - if ( $.client.profile().name === 'msie' ) { + if ( $.client.profile().name === 'msie' && document.selection && document.selection.createRange ) { context.$textarea.focus(); context.savedSelection = document.selection.createRange(); } }, /** - * Restore text selection for IE + * Restore text selection for old IE (<=10) */ restoreSelection: function () { if ( $.client.profile().name === 'msie' && context.savedSelection !== null ) { @@ -479,6 +481,13 @@ if ( !context || typeof context == 'undefined' ) { }; /** + * Workaround for a scrolling bug in IE8 (bug 61908) + */ + if ( $.client.profile().name === 'msie' ) { + context.$textarea.css( 'height', context.$textarea.height() ); + } + + /** * Base UI Construction * * The UI is built from several containers, the outer-most being a div classed as "wikiEditor-ui". These containers @@ -539,9 +548,9 @@ if ( !context || typeof context == 'undefined' ) { var args = $.makeArray( arguments ); // Dynamically setup core extensions for modules that are required -if ( args[0] == 'addModule' && typeof args[1] !== 'undefined' ) { +if ( args[0] === 'addModule' && typeof args[1] !== 'undefined' ) { var modules = args[1]; - if ( typeof modules !== "object" ) { + if ( typeof modules !== 'object' ) { modules = {}; modules[args[1]] = ''; } @@ -577,4 +586,4 @@ return $(this).data( 'wikiEditor-context', context ); }; -}( jQuery ) ); +}( jQuery, mediaWiki ) ); diff --git a/extensions/WikiEditor/modules/jquery.wikiEditor.preview.js b/extensions/WikiEditor/modules/jquery.wikiEditor.preview.js index 39907364..372d2e8e 100644 --- a/extensions/WikiEditor/modules/jquery.wikiEditor.preview.js +++ b/extensions/WikiEditor/modules/jquery.wikiEditor.preview.js @@ -1,6 +1,6 @@ /* Preview module for wikiEditor */ ( function ( $, mw ) { - +/*jshint onevar:false */ $.wikiEditor.modules.preview = { /** @@ -32,7 +32,7 @@ fn: { * @param context Context object of editor to create module in * @param config Configuration object to create module from */ - create: function ( context, config ) { + create: function ( context ) { if ( 'initialized' in context.modules.preview ) { return; } @@ -65,9 +65,9 @@ fn: { }, function ( data ) { if ( - typeof data.parse == 'undefined' || - typeof data.parse.text == 'undefined' || - typeof data.parse.text['*'] == 'undefined' + typeof data.parse === 'undefined' || + typeof data.parse.text === 'undefined' || + typeof data.parse.text['*'] === 'undefined' ) { return; } @@ -89,7 +89,7 @@ fn: { // Gets the latest copy of the wikitext var wikitext = context.$textarea.textSelection( 'getContents' ); // Aborts when nothing has changed since the last time - if ( context.modules.preview.changesText == wikitext ) { + if ( context.modules.preview.changesText === wikitext ) { return; } context.$changesTab.find( 'table.diff tbody' ).empty(); @@ -115,8 +115,9 @@ fn: { rvprop: '' }; var section = $( '[name="wpSection"]' ).val(); - if ( section !== '' ) + if ( section !== '' ) { postdata2.rvsection = section; + } $.post( mw.util.wikiScript( 'api' ), postdata2, function ( data ) { // Add diff CSS diff --git a/extensions/WikiEditor/modules/jquery.wikiEditor.previewDialog.js b/extensions/WikiEditor/modules/jquery.wikiEditor.previewDialog.js index ca88c79a..5381e605 100644 --- a/extensions/WikiEditor/modules/jquery.wikiEditor.previewDialog.js +++ b/extensions/WikiEditor/modules/jquery.wikiEditor.previewDialog.js @@ -1,5 +1,6 @@ /* Publish module for wikiEditor */ -( function( $ ) { $.wikiEditor.modules.previewDialog = { +/*jshint onevar:false */ +( function ( $, mw ) { $.wikiEditor.modules.previewDialog = { /** * Compatability map @@ -29,7 +30,7 @@ fn: { * @param context Context object of editor to create module in * @param config Configuration object to create module from */ - create: function( context, config ) { + create: function( context ) { // Build the dialog behind the Publish button var dialogID = 'wikiEditor-' + context.instance + '-preview-dialog'; $.wikiEditor.modules.dialogs.fn.create( @@ -78,7 +79,7 @@ fn: { .css( 'top', '25px' ); // $dialog.dialog( 'option', 'width', $( 'body' ).width() - 300 ); // Aborts when nothing has changed since the last preview - if ( context.modules.preview.previewText == wikitext ) { + if ( context.modules.preview.previewText === wikitext ) { return; } @@ -96,9 +97,9 @@ fn: { }, function( data ) { if ( - typeof data.parse == 'undefined' || - typeof data.parse.text == 'undefined' || - typeof data.parse.text['*'] == 'undefined' + typeof data.parse === 'undefined' || + typeof data.parse.text === 'undefined' || + typeof data.parse.text['*'] === 'undefined' ) { return; } @@ -128,4 +129,4 @@ fn: { } } -}; } )( jQuery ); +}; } )( jQuery, mediaWiki ); diff --git a/extensions/WikiEditor/modules/jquery.wikiEditor.publish.js b/extensions/WikiEditor/modules/jquery.wikiEditor.publish.js index b61140dc..058fa1b3 100644 --- a/extensions/WikiEditor/modules/jquery.wikiEditor.publish.js +++ b/extensions/WikiEditor/modules/jquery.wikiEditor.publish.js @@ -1,4 +1,5 @@ /* Publish module for wikiEditor */ +/*jshint onevar:false */ ( function ( $ ) { $.wikiEditor.modules.publish = { @@ -31,7 +32,7 @@ fn: { * @param context Context object of editor to create module in * @param config Configuration object to create module from */ - create: function ( context, config ) { + create: function ( context ) { // Build the dialog behind the Publish button var dialogID = 'wikiEditor-' + context.instance + '-dialog'; $.wikiEditor.modules.dialogs.fn.create( @@ -89,16 +90,18 @@ fn: { ); /* END OF REALLY DIRTY HACK */ - if ( $( '#wpMinoredit' ).length === 0 ) + if ( $( '#wpMinoredit' ).length === 0 ) { $( '#wikiEditor-' + context.instance + '-dialog-minor' ).hide(); - else if ( $( '#wpMinoredit' ).is( ':checked' ) ) + } else if ( $( '#wpMinoredit' ).prop( 'checked' ) ) { $( '#wikiEditor-' + context.instance + '-dialog-minor' ) .prop( 'checked', true ); - if ( $( '#wpWatchthis' ).length === 0 ) + } + if ( $( '#wpWatchthis' ).length === 0 ) { $( '#wikiEditor-' + context.instance + '-dialog-watch' ).hide(); - else if ( $( '#wpWatchthis' ).is( ':checked' ) ) + } else if ( $( '#wpWatchthis' ).prop( 'checked' ) ) { $( '#wikiEditor-' + context.instance + '-dialog-watch' ) .prop( 'checked', true ); + } $(this).find( 'form' ).submit( function ( e ) { $(this).closest( '.ui-dialog' ).find( 'button:first' ).click(); diff --git a/extensions/WikiEditor/modules/jquery.wikiEditor.templateEditor.js b/extensions/WikiEditor/modules/jquery.wikiEditor.templateEditor.js index bd00325f..3cbd5ba5 100644 --- a/extensions/WikiEditor/modules/jquery.wikiEditor.templateEditor.js +++ b/extensions/WikiEditor/modules/jquery.wikiEditor.templateEditor.js @@ -1,5 +1,6 @@ /* TemplateEditor module for wikiEditor */ -( function( $ ) { $.wikiEditor.modules.templateEditor = { +/*jshint quotmark:false, onevar:false */ +( function ( $ ) { $.wikiEditor.modules.templateEditor = { /** * Name mappings, dirty hack which will be removed once "TemplateInfo" extension is more fully supported */ @@ -37,9 +38,13 @@ */ evt: { - mark: function( context, event ) { + /** + * @param context + * @param event + */ + mark: function( context ) { // The markers returned by this function are skipped on realchange, so don't regenerate them in that case - if ( context.modules.highlight.currentScope == 'realchange' ) { + if ( context.modules.highlight.currentScope === 'realchange' ) { return; } @@ -47,10 +52,9 @@ evt: { var markers = context.modules.highlight.markers; var tokenArray = context.modules.highlight.tokenArray; // Collect matching level 0 template call boundaries from the tokenArray - var level = 0; var tokenIndex = 0; while ( tokenIndex < tokenArray.length ){ - while ( tokenIndex < tokenArray.length && tokenArray[tokenIndex].label != 'TEMPLATE_BEGIN' ) { + while ( tokenIndex < tokenArray.length && tokenArray[tokenIndex].label !== 'TEMPLATE_BEGIN' ) { tokenIndex++; } //open template @@ -58,19 +62,18 @@ evt: { var beginIndex = tokenIndex; var endIndex = -1; //no match found var openTemplates = 1; - var templatesMatched = false; - while ( tokenIndex < tokenArray.length - 1 && endIndex == -1 ) { + while ( tokenIndex < tokenArray.length - 1 && endIndex === -1 ) { tokenIndex++; - if ( tokenArray[tokenIndex].label == 'TEMPLATE_BEGIN' ) { + if ( tokenArray[tokenIndex].label === 'TEMPLATE_BEGIN' ) { openTemplates++; - } else if ( tokenArray[tokenIndex].label == 'TEMPLATE_END' ) { + } else if ( tokenArray[tokenIndex].label === 'TEMPLATE_END' ) { openTemplates--; - if ( openTemplates == 0 ) { + if ( openTemplates === 0 ) { endIndex = tokenIndex; } //we can stop looping } }//while finding template ending - if ( endIndex != -1 ) { + if ( endIndex !== -1 ) { markers.push( { start: tokenArray[beginIndex].offset, end: tokenArray[endIndex].offset, @@ -92,7 +95,7 @@ evt: { } }, onSkip: function( node ) { - if ( $( node ).html() == $( node ).data( 'oldHTML' ) ) { + if ( $( node ).html() === $( node ).data( 'oldHTML' ) ) { // No change return; } @@ -104,7 +107,7 @@ evt: { if ( $( node ).parent().hasClass( 'wikiEditor-template' ) ) { var $label = $( node ).parent().find( '.wikiEditor-template-label' ); var displayName = $.wikiEditor.modules.templateEditor.fn.getTemplateDisplayName( model ); - if ( $label.text() != displayName ) { + if ( $label.text() !== displayName ) { $label.text( displayName ); } } @@ -119,7 +122,7 @@ evt: { $.wikiEditor.modules.templateEditor.fn.bindTemplateEvents( $( node ) ); } }, - getAnchor: function( ca1, ca2 ) { + getAnchor: function( ca1 ) { return $( ca1.parentNode ).is( 'span.wikiEditor-template-text' ) ? ca1.parentNode : null; }, @@ -142,7 +145,9 @@ evt: { var $evtElem = event.jQueryNode; if ( $evtElem.hasClass( 'wikiEditor-template-label' ) ) { // Allow anything if the command or control key are depressed - if ( event.ctrlKey || event.metaKey ) return true; + if ( event.ctrlKey || event.metaKey ) { + return true; + } switch ( event.which ) { case 13: // Enter $evtElem.click(); @@ -177,14 +182,22 @@ evt: { } } }, - keyup: function( context, event ) { + /** + * @param context + * @param event + */ + keyup: function( context ) { // Rest our ignoreKeypress variable if it's set to true if ( context.$iframe.data( 'ignoreKeypress' ) ) { context.$iframe.data( 'ignoreKeypress', false ); } return true; }, - keypress: function( context, event ) { + /** + * @param context + * @param event + */ + keypress: function( context ) { // If this event is from a keydown event which we want to block, ignore it return ( context.$iframe.data( 'ignoreKeypress' ) ? false : true ); } @@ -210,7 +223,7 @@ fn: { * @param context Context object of editor to create module in * @param config Configuration object to create module from */ - create: function( context, config ) { + create: function( context ) { // Initialize module within the context context.modules.templateEditor = {}; }, @@ -220,8 +233,7 @@ fn: { */ wrapTemplate: function( $wrapper ) { var model = $wrapper.data( 'model' ); - var context = $wrapper.data( 'marker' ).context; - var $template = $wrapper + $wrapper .wrap( '<span class="wikiEditor-template"></span>' ) .addClass( 'wikiEditor-template-text wikiEditor-template-text-shrunken' ) .parent() @@ -249,7 +261,7 @@ fn: { bindTemplateEvents: function( $wrapper ) { var $template = $wrapper.parent( '.wikiEditor-template' ); - if ( typeof ( opera ) == "undefined" ) { + if ( typeof opera === 'undefined' ) { $template.parent().attr('contentEditable', 'false'); } @@ -274,7 +286,7 @@ fn: { * Toggle the visisbilty of the wikitext for a given template * @param $wrapper The origianl wrapper we want expand/collapse */ - toggleWikiTextEditor: function( $wrapper ) { + toggleWikiTextEditor: function( $wrapper ) { var context = $wrapper.data( 'marker' ).context; var $template = $wrapper.parent( '.wikiEditor-template' ); context.fn.purgeOffsets(); @@ -285,11 +297,11 @@ fn: { var $templateText = $template.find( '.wikiEditor-template-text' ); $templateText.toggleClass( 'wikiEditor-template-text-shrunken' ); $templateText.toggleClass( 'wikiEditor-template-text-visible' ); - if( $templateText.hasClass('wikiEditor-template-text-shrunken') ){ + if ( $templateText.hasClass('wikiEditor-template-text-shrunken') ){ //we just closed the template // Update the model if we need to - if ( $templateText.html() != $templateText.data( 'oldHTML' ) ) { + if ( $templateText.html() !== $templateText.data( 'oldHTML' ) ) { var templateModel = $.wikiEditor.modules.templateEditor.fn.updateModel( $templateText ); //this is the only place the template name can be changed; keep the template name in sync @@ -350,7 +362,7 @@ fn: { var $templateText = $templateDiv.children( '.wikiEditor-template-text' ); var templateModel = $templateText.data( 'model' ); // Update the model if we need to - if ( $templateText.html() != $templateText.data( 'oldHTML' ) ) { + if ( $templateText.html() !== $templateText.data( 'oldHTML' ) ) { templateModel = $.wikiEditor.modules.templateEditor.fn.updateModel( $templateText ); } @@ -362,11 +374,11 @@ fn: { var $rows = $fields.find( '.wikiEditor-template-dialog-field-wrapper' ); for ( var paramIndex in params ) { var param = params[paramIndex]; - if ( typeof param.name == 'undefined' ) { + if ( typeof param.name === 'undefined' ) { // param is the template name, skip it continue; } - var paramText = typeof param == 'string' ? + var paramText = typeof param === 'string' ? param.name.replace( /[\_\-]/g, ' ' ) : param.name; var paramVal = templateModel.getValue( param.name ); @@ -397,11 +409,13 @@ fn: { .data( 'expanded', false ) .bind( 'cut paste keypress click change', function( e ) { // If this was fired by a tab keypress, let it go - if ( e.keyCode == '9' ) return true; + if ( e.keyCode === 9 || e.keyCode === '9' ) { + return true; + } var $this = $( this ); setTimeout( function() { var expanded = $this.data( 'expanded' ); - if ( $this.val().indexOf( '\n' ) != -1 || $this.val().length > 24 ) { + if ( $this.val().indexOf( '\n' ) !== -1 || $this.val().length > 24 ) { if ( !expanded ) { $this.animate( { 'height': '4.5em' }, 'fast' ); $this.data( 'expanded', true ); @@ -455,7 +469,7 @@ fn: { updateModel: function( $templateText, model ) { var context = $templateText.data( 'marker' ).context; var text; - if ( typeof model == 'undefined' ) { + if ( typeof model === 'undefined' ) { text = context.fn.htmlToText( $templateText.html() ); } else { text = model.getText(); @@ -464,7 +478,7 @@ fn: { $templateText.text( text ); $templateText.html( $templateText.html().replace( /\n/g, '<br />' ) ); $templateText.data( 'oldHTML', $templateText.html() ); - if ( typeof model == 'undefined' ) { + if ( typeof model === 'undefined' ) { model = new $.wikiEditor.modules.templateEditor.fn.model( text ); $templateText.data( 'model', model ); } @@ -476,9 +490,9 @@ fn: { */ getTemplateDisplayName: function ( model ) { var tName = model.getName(); - if( model.getValue( 'name' ) != '' ) { + if( model.getValue( 'name' ) !== '' ) { return tName + ': ' + model.getValue( 'name' ); - } else if( model.getValue( 'Name' ) != '' ) { + } else if( model.getValue( 'Name' ) !== '' ) { return tName + ': ' + model.getValue( 'Name' ); } else if( tName.toLowerCase() in $.wikiEditor.modules.templateEditor.nameMappings ) { return tName + ': ' + model.getValue( $.wikiEditor.modules.templateEditor.nameMappings[tName.toLowerCase()] ); @@ -541,27 +555,28 @@ fn: { var retVal; if ( isNaN( name ) ) { // It's a string! - if ( typeof paramsByName[name] == 'undefined' ) { + if ( typeof paramsByName[name] === 'undefined' ) { // Does not exist - return ""; + return ''; } rangeIndex = paramsByName[name]; } else { // It's a number! - rangeIndex = parseInt( name ); + rangeIndex = parseInt( name, 10 ); } - if ( typeof params[rangeIndex] == 'undefined' ) { + if ( typeof params[rangeIndex] === 'undefined' ) { // Does not exist - return ""; + return ''; } valueRange = ranges[params[rangeIndex].valueIndex]; - if ( typeof valueRange.newVal == 'undefined' || original ) { + if ( typeof valueRange.newVal === 'undefined' || original ) { // Value unchanged, return original wikitext retVal = wikitext.substring( valueRange.begin, valueRange.end ); } else { // New value exists, return new value retVal = valueRange.newVal; } + /*jshint eqnull:true */ if ( value != null ) { ranges[params[rangeIndex].valueIndex].newVal = value; } @@ -574,7 +589,7 @@ fn: { * Get template name */ this.getName = function() { - if( typeof ranges[templateNameIndex].newVal == 'undefined' ) { + if( typeof ranges[templateNameIndex].newVal === 'undefined' ) { return wikitext.substring( ranges[templateNameIndex].begin, ranges[templateNameIndex].end ); } else { return ranges[templateNameIndex].newVal; @@ -635,9 +650,9 @@ fn: { * Get modified template text */ this.getText = function() { - newText = ""; - for ( i = 0 ; i < ranges.length; i++ ) { - if( typeof ranges[i].newVal == 'undefined' ) { + var newText = ""; + for ( var i = 0 ; i < ranges.length; i++ ) { + if( typeof ranges[i].newVal === 'undefined' ) { newText += wikitext.substring( ranges[i].begin, ranges[i].end ); } else { newText += ranges[i].newVal; @@ -659,7 +674,7 @@ fn: { var adjustment = 0; for (var i = 0 ; i < ranges.length; i++ ) { ranges[i].begin += adjustment; - if( typeof ranges[i].adjust != 'undefined' ) { + if ( typeof ranges[i].adjust !== 'undefined' ) { adjustment += ranges[i].adjust(); // NOTE: adjust should be a function that has the information necessary to calculate the length of // this 'segment' @@ -680,15 +695,16 @@ fn: { // Get rid of first {{ with whitespace var sanatizedStr = wikitext.replace( /{{/, " " ); // Replace end - endBraces = sanatizedStr.match( /}}\s*$/ ); + var endBraces = sanatizedStr.match( /}}\s*$/ ); if ( endBraces ) { sanatizedStr = sanatizedStr.substring( 0, endBraces.index ) + " " + sanatizedStr.substring( endBraces.index + 2 ); } + var startIndex, endIndex, sanatizedSegment, openBraces, brace; //treat HTML comments like whitespace - while ( sanatizedStr.indexOf( '<!' ) != -1 ) { + while ( sanatizedStr.indexOf( '<!' ) !== -1 ) { startIndex = sanatizedStr.indexOf( '<!' ); endIndex = sanatizedStr.indexOf('-->') + 3; if( endIndex < 3 ){ @@ -700,26 +716,26 @@ fn: { } // Match the open braces we just found with equivalent closing braces note, works for any level of braces - while ( sanatizedStr.indexOf( '{{' ) != -1 ) { + while ( sanatizedStr.indexOf( '{{' ) !== -1 ) { startIndex = sanatizedStr.indexOf( '{{' ) + 1; openBraces = 2; endIndex = startIndex; while ( (openBraces > 0) && (endIndex < sanatizedStr.length) ) { - var brace = sanatizedStr[++endIndex]; - openBraces += brace == '}' ? -1 : brace == '{' ? 1 : 0; + brace = sanatizedStr[++endIndex]; + openBraces += brace === '}' ? -1 : brace === '{' ? 1 : 0; } sanatizedSegment = sanatizedStr.substring( startIndex,endIndex ).replace( /[{}|=]/g , 'X' ); sanatizedStr = sanatizedStr.substring( 0, startIndex ) + sanatizedSegment + sanatizedStr.substring( endIndex ); } //links, images, etc, which also can nest - while ( sanatizedStr.indexOf( '[[' ) != -1 ) { + while ( sanatizedStr.indexOf( '[[' ) !== -1 ) { startIndex = sanatizedStr.indexOf( '[[' ) + 1; openBraces = 2; endIndex = startIndex; while ( (openBraces > 0) && (endIndex < sanatizedStr.length) ) { - var brace = sanatizedStr[++endIndex]; - openBraces += brace == ']' ? -1 : brace == '[' ? 1 : 0; + brace = sanatizedStr[++endIndex]; + openBraces += brace === ']' ? -1 : brace === '[' ? 1 : 0; } sanatizedSegment = sanatizedStr.substring( startIndex,endIndex ).replace( /[\[\]|=]/g , 'X' ); sanatizedStr = @@ -733,14 +749,16 @@ fn: { var params = []; var templateNameIndex = 0; var doneParsing = false; - oldDivider = 0; - divider = sanatizedStr.indexOf( '|', oldDivider ); - if ( divider == -1 ) { + var oldDivider = 0; + var divider = sanatizedStr.indexOf( '|', oldDivider ); + if ( divider === -1 ) { divider = sanatizedStr.length; doneParsing = true; collapsible = false; //zero params } - nameMatch = sanatizedStr.substring( 0, divider ).match( /[^\s]/ ); + var nameMatch = sanatizedStr.substring( 0, divider ).match( /[^\s]/ ); + var nameEndMatch; + /*jshint eqnull:true */ if ( nameMatch != null ) { ranges.push( new Range( 0 ,nameMatch.index ) ); //whitespace and squiggles upto the name nameEndMatch = sanatizedStr.substring( 0 , divider ).match( /[^\s]\s*$/ ); //last nonwhitespace character @@ -758,18 +776,21 @@ fn: { * Start looping over params */ var currentParamNumber = 0; + var currentField, currentValue, valueBeginIndex, valueBegin, valueEnd; + var nameIndex, equalsIndex, valueIndex; + var currentName, nameBegin, nameBeginIndex, nameEnd, nameEndIndex; var valueEndIndex = ranges[templateNameIndex].end; var paramsByName = []; while ( !doneParsing ) { currentParamNumber++; oldDivider = divider; divider = sanatizedStr.indexOf( '|', oldDivider + 1 ); - if ( divider == -1 ) { + if ( divider === -1 ) { divider = sanatizedStr.length; doneParsing = true; } currentField = sanatizedStr.substring( oldDivider+1, divider ); - if ( currentField.indexOf( '=' ) == -1 ) { + if ( currentField.indexOf( '=' ) === -1 ) { // anonymous field, gets a number //default values, since we'll allow empty values diff --git a/extensions/WikiEditor/modules/jquery.wikiEditor.templates.js b/extensions/WikiEditor/modules/jquery.wikiEditor.templates.js index b303e3fa..b0462563 100644 --- a/extensions/WikiEditor/modules/jquery.wikiEditor.templates.js +++ b/extensions/WikiEditor/modules/jquery.wikiEditor.templates.js @@ -1,22 +1,23 @@ /* Templates Module for wikiEditor */ -( function( $ ) { $.wikiEditor.modules.templates = { +/*jshint onevar:false */ +( function ( $ ) { $.wikiEditor.modules.templates = { /** * Core Requirements */ -'req': [ 'iframe' ], +req: [ 'iframe' ], /** * Object Templates */ -'tpl': { - 'marker': { - 'type': 'template', - 'anchor': 'wrap', - 'skipDivision': 'realchange', - 'afterWrap': function( node ) { +tpl: { + marker: { + type: 'template', + anchor: 'wrap', + skipDivision: 'realchange', + afterWrap: function ( node ) { $( node ).addClass( 'wikiEditor-template' ); }, - 'getAnchor': function( ca1, ca2 ) { + getAnchor: function ( ca1 ) { return $( ca1.parentNode ).is( '.wikiEditor-template' ) ? ca1.parentNode : null; } } @@ -24,10 +25,14 @@ /** * Event handlers */ -'evt': { - 'mark': function( context, event ) { +evt: { + /** + * @param context + * @param event + */ + mark: function ( context ) { // The markers returned by this function are skipped on realchange, so don't regenerate them in that case - if ( context.modules.highlight.currentScope == 'realchange' ) { + if ( context.modules.highlight.currentScope === 'realchange' ) { return; } // Get references to the markers and tokens from the current context @@ -36,14 +41,14 @@ // Use depth-tracking to extract top-level templates from tokens var depth = 0, bias, start; for ( var i in tokens ) { - depth += ( bias = tokens[i].label == 'TEMPLATE_BEGIN' ? 1 : ( tokens[i].label == 'TEMPLATE_END' ? -1 : 0 ) ); - if ( bias > 0 && depth == 1 ) { + depth += ( bias = tokens[i].label === 'TEMPLATE_BEGIN' ? 1 : ( tokens[i].label === 'TEMPLATE_END' ? -1 : 0 ) ); + if ( bias > 0 && depth === 1 ) { // Top-level opening - use offset as start start = tokens[i].offset; - } else if ( bias < 0 && depth == 0 ) { + } else if ( bias < 0 && depth === 0 ) { // Top-level closing - use offset as end markers[markers.length] = $.extend( - { 'context': context, 'start': start, 'end': tokens[i].offset }, + { context: context, start: start, end: tokens[i].offset }, $.wikiEditor.modules.templates.tpl.marker ); } @@ -53,15 +58,19 @@ } } }, -'exp': [ - { 'regex': /{{/, 'label': "TEMPLATE_BEGIN" }, - { 'regex': /}}/, 'label': "TEMPLATE_END", 'markAfter': true } +exp: [ + { regex: /{{/, label: 'TEMPLATE_BEGIN' }, + { regex: /}}/, label: 'TEMPLATE_END', markAfter: true } ], /** * Internally used functions */ -'fn': { - 'create': function( context, config ) { +fn: { + /** + * @param context + * @param config + */ + create: function () { // Do some stuff here... } } diff --git a/extensions/WikiEditor/modules/jquery.wikiEditor.toc.js b/extensions/WikiEditor/modules/jquery.wikiEditor.toc.js index 54b8a863..3f186db6 100644 --- a/extensions/WikiEditor/modules/jquery.wikiEditor.toc.js +++ b/extensions/WikiEditor/modules/jquery.wikiEditor.toc.js @@ -1,31 +1,32 @@ /* TOC Module for wikiEditor */ -( function( $ ) { $.wikiEditor.modules.toc = { +/*jshint onevar:false */ +( function ( $, mw ) { $.wikiEditor.modules.toc = { /** * Compatability map */ -'browsers': { +browsers: { // Left-to-right languages - 'ltr': { - 'msie': [['>=', 7]], - 'firefox': [['>=', 3]], - 'opera': [['>=', 10]], - 'safari': [['>=', 4]], - 'chrome': [['>=', 4]] + ltr: { + msie: [['>=', 7]], + firefox: [['>=', 3]], + opera: [['>=', 10]], + safari: [['>=', 4]], + chrome: [['>=', 4]] }, // Right-to-left languages - 'rtl': { - 'msie': [['>=', 8]], - 'firefox': [['>=', 3]], - 'opera': [['>=', 10]], - 'safari': [['>=', 4]], - 'chrome': [['>=', 4]] + rtl: { + msie: [['>=', 8]], + firefox: [['>=', 3]], + opera: [['>=', 10]], + safari: [['>=', 4]], + chrome: [['>=', 4]] } }, /** * Core Requirements */ -'req': [ 'iframe' ], +req: [ 'iframe' ], /** * Configuration */ @@ -51,10 +52,18 @@ api: { * Event handlers */ evt: { - change: function( context, event ) { + /** + * @param context + * @param event + */ + change: function( context ) { $.wikiEditor.modules.toc.fn.update( context ); }, - ready: function( context, event ) { + /** + * @param context + * @param event + */ + ready: function( context ) { // Add the TOC to the document $.wikiEditor.modules.toc.fn.build( context ); if ( !context.$content ) { @@ -68,28 +77,32 @@ evt: { $.wikiEditor.modules.toc.fn.improveUI(); $.wikiEditor.modules.toc.evt.resize( context ); }, - resize: function( context, event ) { + /** + * @param context + * @param event + */ + resize: function( context ) { var availableWidth = context.$wikitext.width() - parseFloat( $.wikiEditor.modules.toc.cfg.textMinimumWidth ), totalMinWidth = parseFloat( $.wikiEditor.modules.toc.cfg.minimumWidth ) + parseFloat( $.wikiEditor.modules.toc.cfg.textMinimumWidth ); context.$ui.find( '.wikiEditor-ui-right' ) .resizable( 'option', 'maxWidth', availableWidth ); - if ( context.modules.toc.$toc.data( 'positionMode' ) != 'disabled' && + if ( context.modules.toc.$toc.data( 'positionMode' ) !== 'disabled' && context.$wikitext.width() < totalMinWidth ) { $.wikiEditor.modules.toc.fn.disable( context ); - } else if ( context.modules.toc.$toc.data( 'positionMode' ) == 'disabled' && + } else if ( context.modules.toc.$toc.data( 'positionMode' ) === 'disabled' && context.$wikitext.width() > totalMinWidth ) { $.wikiEditor.modules.toc.fn.enable( context ); - } else if ( context.modules.toc.$toc.data( 'positionMode' ) == 'regular' && + } else if ( context.modules.toc.$toc.data( 'positionMode' ) === 'regular' && context.$ui.find( '.wikiEditor-ui-right' ).width() > availableWidth ) { //switch mode $.wikiEditor.modules.toc.fn.switchLayout( context ); - } else if ( context.modules.toc.$toc.data( 'positionMode' ) == 'goofy' && + } else if ( context.modules.toc.$toc.data( 'positionMode' ) === 'goofy' && context.modules.toc.$toc.data( 'previousWidth' ) < context.$wikitext.width() ) { //switch mode $.wikiEditor.modules.toc.fn.switchLayout( context ); } - if ( context.modules.toc.$toc.data( 'positionMode' ) == 'goofy' ) { + if ( context.modules.toc.$toc.data( 'positionMode' ) === 'goofy' ) { context.modules.toc.$toc.find( 'div' ).autoEllipsis( { 'position': 'right', 'tooltip': true, 'restoreText': true } ); @@ -105,14 +118,18 @@ evt: { // store the width of the view for comparison on next resize context.modules.toc.$toc.data( 'previousWidth', context.$wikitext.width() ); }, - mark: function( context, event ) { + /** + * @param context + * @param event + */ + mark: function( context ) { var hash = ''; var markers = context.modules.highlight.markers; var tokenArray = context.modules.highlight.tokenArray; var outline = context.data.outline = []; var h = 0; for ( var i = 0; i < tokenArray.length; i++ ) { - if ( tokenArray[i].label != 'TOC_HEADER' ) { + if ( tokenArray[i].label !== 'TOC_HEADER' ) { continue; } h++; @@ -134,14 +151,14 @@ evt: { }, onSkip: function( node ) { var marker = $( node ).data( 'marker' ); - if ( $( node ).data( 'section' ) != marker.index ) { + if ( $( node ).data( 'section' ) !== marker.index ) { $( node ) .removeClass( 'wikiEditor-toc-section-' + $( node ).data( 'section' ) ) .addClass( 'wikiEditor-toc-section-' + marker.index ) .data( 'section', marker.index ); } }, - getAnchor: function( ca1, ca2 ) { + getAnchor: function( ca1 ) { return $( ca1.parentNode ).is( '.wikiEditor-toc-header' ) ? ca1.parentNode : null; } @@ -154,7 +171,7 @@ evt: { } ); } // Only update the TOC if it's been changed - we do this by comparing a hash of the headings this time to last - if ( typeof context.modules.toc.lastHash == 'undefined' || context.modules.toc.lastHash !== hash ) { + if ( typeof context.modules.toc.lastHash === 'undefined' || context.modules.toc.lastHash !== hash ) { $.wikiEditor.modules.toc.fn.build( context ); $.wikiEditor.modules.toc.fn.update( context ); // Remember the changed version @@ -175,13 +192,13 @@ fn: { * @param {Object} context Context object of editor to create module in * @param {Object} config Configuration object to create module from */ - create: function( context, config ) { + create: function( context ) { if ( '$toc' in context.modules.toc ) { return; } $.wikiEditor.modules.toc.cfg.rtl = $( 'body' ).is( '.rtl' ); $.wikiEditor.modules.toc.cfg.flexProperty = $.wikiEditor.modules.toc.cfg.rtl ? 'marginLeft' : 'marginRight'; - var height = context.$ui.find( '.wikiEditor-ui-left' ).height(); + context.$ui.find( '.wikiEditor-ui-left' ).height(); context.modules.toc.$toc = $( '<div>' ) .addClass( 'wikiEditor-ui-toc' ) .data( 'context', context ) @@ -196,14 +213,14 @@ fn: { }, redraw: function( context, fixedWidth ) { fixedWidth = parseFloat( fixedWidth ); - if( context.modules.toc.$toc.data( 'positionMode' ) == 'regular' ) { + if ( context.modules.toc.$toc.data( 'positionMode' ) === 'regular' ) { context.$ui.find( '.wikiEditor-ui-right' ) .css( 'width', fixedWidth + 'px' ); context.$ui.find( '.wikiEditor-ui-left' ) .css( $.wikiEditor.modules.toc.cfg.flexProperty, ( -1 * fixedWidth ) + 'px' ) .children() .css( $.wikiEditor.modules.toc.cfg.flexProperty, fixedWidth + 'px' ); - } else if( context.modules.toc.$toc.data( 'positionMode' ) == 'goofy' ) { + } else if( context.modules.toc.$toc.data( 'positionMode' ) === 'goofy' ) { context.$ui.find( '.wikiEditor-ui-left' ) .css( 'width', fixedWidth ); context.$ui.find( '.wikiEditor-ui-right' ) @@ -212,10 +229,10 @@ fn: { } }, switchLayout: function( context ) { - var width, - height = context.$ui.find( '.wikiEditor-ui-right' ).height(); - if ( context.modules.toc.$toc.data( 'positionMode' ) == 'regular' - && !context.modules.toc.$toc.data( 'collapsed' ) + var width; + context.$ui.find( '.wikiEditor-ui-right' ).height(); + if ( context.modules.toc.$toc.data( 'positionMode' ) === 'regular' && + !context.modules.toc.$toc.data( 'collapsed' ) ) { // store position mode context.modules.toc.$toc.data( 'positionMode', 'goofy' ); @@ -237,7 +254,7 @@ fn: { 'left' : $.wikiEditor.modules.toc.cfg.rtl ? 0 : 'auto' } ); context.$wikitext .css( 'position', 'relative' ); - } else if ( context.modules.toc.$toc.data( 'positionMode' ) == 'goofy' ) { + } else if ( context.modules.toc.$toc.data( 'positionMode' ) === 'goofy' ) { // store position mode context.modules.toc.$toc.data( 'positionMode', 'regular' ); // set width @@ -260,7 +277,7 @@ fn: { if ( context.modules.toc.$toc.data( 'collapsed' ) ) { context.$ui.find( '.wikiEditor-ui-toc-expandControl' ).hide(); } else { - if( context.modules.toc.$toc.data( 'positionMode' ) == 'goofy' ) { + if( context.modules.toc.$toc.data( 'positionMode' ) === 'goofy' ) { $.wikiEditor.modules.toc.fn.switchLayout( context ); } context.$ui.find( '.wikiEditor-ui-right' ).hide(); @@ -296,7 +313,7 @@ fn: { * * @param {Object} context */ - update: function( context ) { + update: function () { //temporarily commenting this out because it is causing all kinds of cursor //and text jumping issues in IE. WIll get back to this --pdhanda /* @@ -333,10 +350,10 @@ fn: { * * @param {Object} event Event object with context as data */ - collapse: function( event ) { + collapse: function () { var $this = $( this ), context = $this.data( 'context' ); - if( context.modules.toc.$toc.data( 'positionMode' ) == 'goofy' ) { + if ( context.modules.toc.$toc.data( 'positionMode' ) === 'goofy' ) { $.wikiEditor.modules.toc.fn.switchLayout( context ); } var pT = $this.parent().position().top - 1; @@ -366,7 +383,7 @@ fn: { // Let the UI know things have moved around context.fn.trigger( 'tocCollapse' ); context.fn.trigger( 'resize' ); - } ); + } ); $.cookie( 'wikiEditor-' + context.instance + '-toc-width', 0 ); return false; @@ -377,15 +394,19 @@ fn: { * * @param {Object} event Event object with context as data */ - expand: function( event ) { + expand: function () { var $this = $( this ), context = $this.data( 'context' ), openWidth = parseFloat( context.modules.toc.$toc.data( 'openWidth' ) ), availableSpace = context.$wikitext.width() - parseFloat( $.wikiEditor.modules.toc.cfg.textMinimumWidth ); - if ( availableSpace < $.wikiEditor.modules.toc.cfg.textMinmumWidth ) return false; + if ( availableSpace < $.wikiEditor.modules.toc.cfg.textMinmumWidth ) { + return false; + } context.modules.toc.$toc.data( 'collapsed', false ); // check if we've got enough room to open to our stored width - if ( availableSpace < openWidth ) openWidth = availableSpace; + if ( availableSpace < openWidth ) { + openWidth = availableSpace; + } context.$ui.find( '.wikiEditor-ui-toc-expandControl' ).hide(); var leftParam = {}, leftChildParam = {}; leftParam[ $.wikiEditor.modules.toc.cfg.flexProperty ] = parseFloat( openWidth ) * -1; @@ -407,7 +428,7 @@ fn: { 'top': 'auto' } ); context.fn.trigger( 'tocExpand' ); context.fn.trigger( 'resize' ); - } ); + } ); $.cookie( 'wikiEditor-' + context.instance + '-toc-width', context.modules.toc.$toc.data( 'openWidth' ) ); return false; @@ -432,7 +453,7 @@ fn: { } var sections = []; for ( var i = offset; i < outline.length; i++ ) { - if ( outline[i].nLevel == level ) { + if ( outline[i].nLevel === level ) { var sub = buildStructure( outline, i + 1, level + 1 ); if ( sub.length ) { outline[i].sections = sub; @@ -462,8 +483,9 @@ fn: { .click( function( event ) { var wrapper = context.$content.find( '.wikiEditor-toc-section-' + $( this ).data( 'index' ) ); - if ( wrapper.length === 0 ) + if ( wrapper.length === 0 ) { wrapper = context.$content; + } context.fn.scrollToTop( wrapper, true ); context.$textarea.textSelection( 'setSelection', { 'start': 0, @@ -481,8 +503,9 @@ fn: { event.preventDefault(); } ) .text( structure[i].text ); - if ( structure[i].text === '' ) + if ( structure[i].text === '' ) { div.html( ' ' ); + } var item = $( '<li>' ).append( div ); if ( structure[i].sections !== undefined ) { item.append( buildList( structure[i].sections ) ); @@ -546,7 +569,7 @@ fn: { .data( 'wikiEditor-ui-left', context.$ui.find( '.wikiEditor-ui-left' ) ) .resizable( { handles: 'w,e', preventPositionLeftChange: true, minWidth: parseFloat( $.wikiEditor.modules.toc.cfg.minimumWidth ), - start: function( e, ui ) { + start: function () { var $this = $( this ); // Toss a transparent cover over our iframe $( '<div>' ) @@ -562,7 +585,7 @@ fn: { .appendTo( context.$ui.find( '.wikiEditor-ui-left' ) ); $this.resizable( 'option', 'maxWidth', $this.parent().width() - parseFloat( $.wikiEditor.modules.toc.cfg.textMinimumWidth ) ); - if(context.modules.toc.$toc.data( 'positionMode' ) == 'goofy' ) { + if ( context.modules.toc.$toc.data( 'positionMode' ) === 'goofy' ) { $.wikiEditor.modules.toc.fn.switchLayout( context ); } }, @@ -596,7 +619,7 @@ fn: { var handle = $.wikiEditor.modules.toc.cfg.rtl ? 'w' : 'e'; context.$ui.find( '.ui-resizable-' + handle ) .removeClass( 'ui-resizable-' + handle ) - .addClass( 'ui-resizable-' + ( handle == 'w' ? 'e' : 'w' ) ) + .addClass( 'ui-resizable-' + ( handle === 'w' ? 'e' : 'w' ) ) .addClass( 'wikiEditor-ui-toc-resize-grip' ); // Bind collapse and expand event handlers to the TOC context.modules.toc.$toc @@ -604,12 +627,13 @@ fn: { .bind( 'expand.wikiEditor-toc', $.wikiEditor.modules.toc.fn.expand ); context.modules.toc.$toc.data( 'openWidth', $.wikiEditor.modules.toc.cfg.defaultWidth ); // If the toc-width cookie is set, reset the widths based upon that - if ( $.cookie( 'wikiEditor-' + context.instance + '-toc-width' ) == 0 ) { + if ( $.cookie( 'wikiEditor-' + context.instance + '-toc-width' ) === 0 ) { context.modules.toc.$toc.trigger( 'collapse.wikiEditor-toc', { data: context } ); } else if ( $.cookie( 'wikiEditor-' + context.instance + '-toc-width' ) > 0 ) { var initialWidth = $.cookie( 'wikiEditor-' + context.instance + '-toc-width' ); - if( initialWidth < parseFloat( $.wikiEditor.modules.toc.cfg.minimumWidth ) ) + if ( initialWidth < parseFloat( $.wikiEditor.modules.toc.cfg.minimumWidth ) ) { initialWidth = parseFloat( $.wikiEditor.modules.toc.cfg.minimumWidth ) + 1; + } context.modules.toc.$toc.data( 'openWidth', initialWidth + 'px' ); $.wikiEditor.modules.toc.fn.redraw( context, initialWidth ); } @@ -664,7 +688,7 @@ fn: { * Extending resizable to allow west resizing without altering the left position attribute */ $.ui.plugin.add( 'resizable', 'preventPositionLeftChange', { - resize: function( event, ui ) { + resize: function () { $( this ).data( 'resizable' ).position.left = 0; } } ); @@ -673,4 +697,4 @@ fn: { }; -} ) ( jQuery ); +} )( jQuery, mediaWiki ); diff --git a/extensions/WikiEditor/modules/jquery.wikiEditor.toolbar.config.js b/extensions/WikiEditor/modules/jquery.wikiEditor.toolbar.config.js index d3f7a9d5..cb24bfd5 100644 --- a/extensions/WikiEditor/modules/jquery.wikiEditor.toolbar.config.js +++ b/extensions/WikiEditor/modules/jquery.wikiEditor.toolbar.config.js @@ -1,7 +1,8 @@ /** * Configuration of Toolbar module for wikiEditor */ -( function( $ ) { $.wikiEditor.modules.toolbar.config = { +/*jshint camelcase:false, quotmark:false */ +( function ( $, mw ) { $.wikiEditor.modules.toolbar.config = { getDefaultConfig: function() { var fileNamespace = mw.config.get( 'wgFormattedNamespaces' )[6]; @@ -43,6 +44,7 @@ getDefaultConfig: function() { 'eu': 'format-bold-L.png', 'he': 'format-bold-B.png', 'hu': 'format-bold-F.png', + 'hy': 'format-bold-hy.png', 'it': 'format-bold-G.png', 'ka': 'format-bold-ka.png', 'ky': 'format-bold-ru.png', @@ -98,6 +100,7 @@ getDefaultConfig: function() { 'eu': 'format-italic-E.png', 'he': 'format-italic-I.png', 'hu': 'format-italic-D.png', + 'hy': 'format-italic-hy.png', 'it': 'format-italic-C.png', 'ka': 'format-italic-ka.png', 'ky': 'format-italic-K.png', @@ -1452,4 +1455,4 @@ getDefaultConfig: function() { } }; } -}; } ) ( jQuery ); +}; } ) ( jQuery, mediaWiki ); diff --git a/extensions/WikiEditor/modules/jquery.wikiEditor.toolbar.js b/extensions/WikiEditor/modules/jquery.wikiEditor.toolbar.js index e1bc6f15..71592b53 100644 --- a/extensions/WikiEditor/modules/jquery.wikiEditor.toolbar.js +++ b/extensions/WikiEditor/modules/jquery.wikiEditor.toolbar.js @@ -1,6 +1,7 @@ /** * Toolbar module for wikiEditor */ +/*jshint onevar:false */ ( function ( mw, $ ) { $.wikiEditor.modules.toolbar = { /** @@ -17,7 +18,7 @@ api : { var $sections = context.modules.toolbar.$toolbar.find( 'div.sections' ), $tabs = context.modules.toolbar.$toolbar.find( 'div.tabs' ); for ( var section in data[type] ) { - if ( section == 'main' ) { + if ( section === 'main' ) { // Section context.modules.toolbar.$toolbar.prepend( $.wikiEditor.modules.toolbar.fn.buildSection( @@ -145,28 +146,28 @@ api : { } }, removeFromToolbar : function( context, data ) { - if ( typeof data.section == 'string' ) { + if ( typeof data.section === 'string' ) { // Section var tab = 'div.tabs span[rel="' + data.section + '"].tab'; var target = 'div[rel="' + data.section + '"].section'; var group = null; - if ( typeof data.group == 'string' ) { + if ( typeof data.group === 'string' ) { // Toolbar group target += ' div[rel="' + data.group + '"].group'; - if ( typeof data.tool == 'string' ) { + if ( typeof data.tool === 'string' ) { // Save for later checking if empty group = target; // Tool target += ' a[rel="' + data.tool + '"].tool'; } - } else if ( typeof data.page == 'string' ) { + } else if ( typeof data.page === 'string' ) { // Booklet page var index = target + ' div.index div[rel="' + data.page + '"]'; target += ' div.pages div[rel="' + data.page + '"].page'; - if ( typeof data.character == 'string' ) { + if ( typeof data.character === 'string' ) { // Character target += ' span[rel="' + data.character + '"]'; - } else if ( typeof data.row == 'number' ) { + } else if ( typeof data.row === 'number' ) { // Table row target += ' table tr:not(:has(th)):eq(' + data.row + ')'; } else { @@ -198,7 +199,11 @@ api : { * Event handlers */ evt: { - resize: function( context, event ) { + /** + * @param context + * @param event + */ + resize: function( context ) { context.$ui.find( '.sections' ).height( context.$ui.find( '.sections .section-visible' ).outerHeight() ); }, tocCollapse: function( context, event ) { @@ -235,7 +240,7 @@ fn: { * @param {Object} action * @param {Object} source */ - doAction : function( context, action, source ) { + doAction : function( context, action ) { switch ( action.type ) { case 'replace': case 'encapsulate': @@ -244,7 +249,7 @@ fn: { 'peri' : $.wikiEditor.autoMsg( action.options, 'peri' ), 'post' : $.wikiEditor.autoMsg( action.options, 'post' ) }; - var replace = action.type == 'replace'; + var replace = action.type === 'replace'; if ( 'regex' in action.options && 'regexReplace' in action.options ) { var selection = context.$textarea.textSelection( 'getSelection' ); if ( selection !== '' && selection.match( action.options.regex ) ) { @@ -263,7 +268,7 @@ fn: { } break; case 'callback': - if ( typeof action.execute == 'function' ) { + if ( typeof action.execute === 'function' ) { action.execute( context ); } break; @@ -287,7 +292,7 @@ fn: { if ( tool ) { // Consider a group with only hidden tools empty as well // .is( ':visible' ) always returns false because tool is not attached to the DOM yet - empty = empty && tool.css( 'display' ) == 'none'; + empty = empty && tool.css( 'display' ) === 'none'; $group.append( tool ); } } @@ -447,7 +452,7 @@ fn: { } ); }, buildPage : function( context, id, page ) { - var html; + var html, i; var $page = $( '<div/>' ).attr( { 'class' : 'page page-' + id, 'rel' : id @@ -461,7 +466,7 @@ fn: { html += $.wikiEditor.modules.toolbar.fn.buildHeading( context, page.headings ); } if ( 'rows' in page ) { - for ( var i = 0; i < page.rows.length; i++ ) { + for ( i = 0; i < page.rows.length; i++ ) { html += $.wikiEditor.modules.toolbar.fn.buildRow( context, page.rows[i] ); } } @@ -484,7 +489,7 @@ fn: { } if ( 'characters' in page ) { html = ''; - for ( var i = 0; i < page.characters.length; i++ ) { + for ( i = 0; i < page.characters.length; i++ ) { html += $.wikiEditor.modules.toolbar.fn.buildCharacter( page.characters[i], actions ); } $characters @@ -527,7 +532,7 @@ fn: { return html + '</tr>'; }, buildCharacter : function( character, actions ) { - if ( typeof character == 'string' ) { + if ( typeof character === 'string' ) { character = { 'label' : character, 'action' : { @@ -564,8 +569,9 @@ fn: { return mw.html.element( 'span', { 'rel': character.label }, character.label ); } } - mw.log( "A character for the toolbar was undefined. This is not supposed to happen. Double check the config." ); - return ""; // bug 31673; also an additional fix for bug 24208... + mw.log( 'A character for the toolbar was undefined. This is not supposed to happen. Double check the config.' ); + // bug 31673; also an additional fix for bug 24208... + return ''; }, buildTab : function( context, id, section ) { var selected = $.cookie( 'wikiEditor-' + context.instance + '-toolbar-section' ); @@ -575,7 +581,7 @@ fn: { } var $link = $( '<a/>' ) - .addClass( selected == id ? 'current' : null ) + .addClass( selected === id ? 'current' : null ) .attr( { href: '#', role: 'button', @@ -584,7 +590,7 @@ fn: { } ) .text( $.wikiEditor.autoMsg( section, 'label' ) ) .data( 'context', context ) - .mouseup( function( e ) { + .mouseup( function () { $(this).blur(); } ) .mousedown( function( e ) { @@ -604,7 +610,7 @@ fn: { var $sections = $(this).data( 'context' ).$ui.find( '.sections' ); var $section = $(this).data( 'context' ).$ui.find( '.section-' + $(this).parent().attr( 'rel' ) ); - var show = $section.css( 'display' ) == 'none'; + var show = $section.css( 'display' ) === 'none'; $section.parent().find( '.section-visible' ) .css( 'position', 'absolute' ) .attr( 'aria-expanded', 'false' ) @@ -668,7 +674,7 @@ fn: { id: 'wikiEditor-section-' + id } ); var selected = $.cookie( 'wikiEditor-' + context.instance + '-toolbar-section' ); - var show = selected == id; + var show = selected === id; if ( section.deferLoad !== undefined && section.deferLoad && id !== 'main' && !show ) { // This class shows the spinner and serves as a marker for the click handler in buildTab() @@ -724,6 +730,7 @@ fn: { } }, updateBookletSelection : function( context, id, $pages, $index ) { + /*jshint eqnull:true */ var cookie = 'wikiEditor-' + context.instance + '-booklet-' + id + '-page'; var selected = $.cookie( cookie ); // Re-save cookie @@ -747,7 +754,7 @@ fn: { context.modules.toolbar.$toolbar.append( $( '<div/>' ).css( 'clear', 'both' ) ); var sectionQueue = []; for ( var section in config ) { - if ( section == 'main' ) { + if ( section === 'main' ) { context.modules.toolbar.$toolbar.prepend( $.wikiEditor.modules.toolbar.fn.buildSection( context, section, config[section] ) ); |