Empty repository, moved to GitHub

https://github.com/mediawiki4intranet/Wikilog/

Bug: T154443
Change-Id: If356e32e78f1620a7386d95d3e6f9ccfb6944a1e
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index e62fc28..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-node_modules/
-vendor/
-
-.svn
-*~
-*.kate-swp
-.*.swp
diff --git a/.gitreview b/.gitreview
deleted file mode 100644
index 08560b5..0000000
--- a/.gitreview
+++ /dev/null
@@ -1,6 +0,0 @@
-[gerrit]
-host=gerrit.wikimedia.org
-port=29418
-project=mediawiki/extensions/Wikilog.git
-track=1
-defaultrebase=0
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
deleted file mode 100644
index d8e5d08..0000000
--- a/CODE_OF_CONDUCT.md
+++ /dev/null
@@ -1 +0,0 @@
-The development of this software is covered by a [Code of Conduct](https://www.mediawiki.org/wiki/Code_of_Conduct).
diff --git a/COPYING b/COPYING
deleted file mode 100644
index d7c31ed..0000000
--- a/COPYING
+++ /dev/null
@@ -1,340 +0,0 @@
-		    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 Library 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 Library General
-Public License instead of this License.
diff --git a/CREDITS b/CREDITS
deleted file mode 100644
index 04f45cc..0000000
--- a/CREDITS
+++ /dev/null
@@ -1,19 +0,0 @@
-Wikilog is a collaborative project, released under the terms of the GNU
-General Public License v2. The following are credited for contributtion
-to the project:
-
-== Developers ==
-
-* Juliano F. Ravasi
-
-== Patch Contributors ==
-
-* Vitaliy Filippov
-
-== Translators ==
-
-* Erkan Yilmaz [de]
-* Elias Bröms [sv]
-
-Also many contributors from translatewiki.net. Check comments in
-Wikilog.i18n.php and WlFeed.i18n.php for a list.
diff --git a/Gruntfile.js b/Gruntfile.js
deleted file mode 100644
index 59f4798..0000000
--- a/Gruntfile.js
+++ /dev/null
@@ -1,22 +0,0 @@
-/*jshint node:true */
-module.exports = function ( grunt ) {
-	grunt.loadNpmTasks( 'grunt-jsonlint' );
-	grunt.loadNpmTasks( 'grunt-banana-checker' );
-
-	grunt.initConfig( {
-		banana: {
-//			wikilog: 'i18n/wikilog/',
-			wlfeed: 'i18n/wlfeed/'
-		},
-		jsonlint: {
-			all: [
-				'**/*.json',
-				'!node_modules/**',
-				'!vendor/**'
-			]
-		}
-	} );
-
-	grunt.registerTask( 'test', [ 'jsonlint', 'banana' ] );
-	grunt.registerTask( 'default', 'test' );
-};
diff --git a/README b/README
index c2a9ef5..46ff559 100644
--- a/README
+++ b/README
@@ -1,73 +1,3 @@
-= Wikilog =
+This extension is now at:
 
-Wikilog is a MediaWiki extension that enhances the wiki software with some
-common blogging features, making it a wiki-blog hybrid.  More information
-about the extension, including installation instructions, can be found on:
-
-  http://www.mediawiki.org/wiki/Extension:Wikilog
-
-Version control access and issue tracking are available at the project site:
-
-  http://code.google.com/p/mediawiki-wikilog/
-
-Mailing list for user support and developer discussion:
-
-  http://groups.google.com/group/mediawiki-wikilog
-
-== License ==
-
-   Wikilog 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
-
-== Requirements ==
-
-* MediaWiki 1.19 or higher.
-* A MySQL database backend.
-
-== Installation ==
-
-NOTICE: Up-to-date instalation instructions can be fount at the extension
-page in mediawiki.org (link above).
-
- 1. Download the extension and install it as `./extensions/Wikilog` ,
-    relative to your MediaWiki installation directory.  You may checkout
-    the latest version from the version control repository in this directory,
-    or uncompress one of the ''zip'' or ''tgz'' archives provided and
-    rename/symlink the directory created.
-
-        NOTE: The directory name must either have that name, or
-        `$wgWikilogStylePath` must be set to the proper path in order for
-        the extension to reference stylesheets and images from the extension
-        directory.
-
- 2. Backup your database and local configuration, it is always a good idea.
-
- 3. Configure the extension in your LocalSettings.php file by adding the
-    following lines (replace `100`, with the first even-numbered namespace
-    greater than or equal to 100 available in your wiki):
-
-        require_once( 'extensions/Wikilog/Wikilog.php' );
-        Wikilog::setupNamespace( 100, 'Blog', 'Blog_talk' );
-
- 4. Run the `./maintenance/update.php` script in order to create or update
-    the tables used by the extension.
-
-        NOTE: This script needs to be executed every time the extension
-        (or MediaWiki) is upgraded.
-
-== General notes ==
-
-Check the file RELEASE-NOTES for important notes and upgrade procedures for
-the current version of Wikilog.
+https://github.com/mediawiki4intranet/Wikilog/
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
deleted file mode 100644
index ddcc314..0000000
--- a/RELEASE-NOTES
+++ /dev/null
@@ -1,165 +0,0 @@
-= Wikilog release notes =
-
-== Wikilog 1.2.0 ==
-
-Dec 11, 2011
-
-=== General notes ===
-
-MediaWiki requirement raised to 1.17.0 and later.
-MediaWiki 1.16 and earlier are no longer supported in this release.
-
-=== New features ===
-
-* Article and comment timestamps are now displayed in the wiki timezone
-  (as defined by $wgLocaltimezone).
-* (wl:issue 11) Added support for {{DISPLAYTITLE:...}}, allows the author to
-  alter the title of the wikilog article.
-
-=== Bug fixes ===
-
-* (mw:bug 27904) Fixed method signature compatibility with Mw1.16 for
-  WikilogParserCache.
-* (wl:issue 12) Fixed calls to $wgParser->clearState() (which is now a private
-  function).
-* Fixed a crash when creating a new wikilog post as an unlogged user.
-* Several fixes for compatibility with MediaWiki 1.18.
-
-
-== Wikilog 1.1.0 ==
-
-Aug 8, 2010
-
-=== General notes ===
-
-Database schema changed since 1.0.x, a database update is required.
-You should backup your data and run maintenance/update.php to upgrade.
-
-MediaWiki requirement raised to 1.15.0 and later. MediaWiki 1.14 and earlier
-are no longer supported in this release, stick with Wikilog 1.0.x if this is
-your case.
-
-=== New configuration options ===
-
-* $wgWikilogExtSummaries: use of categories and tags parameters in summary
-  entry header and footer messages.
-* $wgWikilogExpensiveLimit: configures how many items to show on pages that
-  includes other pages (expensive requests that may demand article parsing).
-  Replaces $wgWikilogSummaryLimit.
-* $wgWikilogNumComments: default number of comments to show at once on
-  discussion pages.
-
-=== New features ===
-
-* Messages wikilog-item-brief-header/footer, wikilog-item-header/footer and
-  others replaced by wikilog-summary-header/footer, wikilog-entry-header/
-  footer and others, with better support for plural and gender inflection,
-  separate date and time, and also support to category and tag lists.
-* (wl:issue 2) Improved article summary extraction. Now a "--more--" marker
-  alone in a line breaks the summary (above) from the rest of the article
-  (below). The <summary> tag has precedence over this new marker. If neither
-  is found, the first section is used.
-* Improved customization of article comments pages. Now, comment headers and
-  footers are can be configured through messages wikilog-comment-header/
-  footer and others.
-* More user-friendly navigation bars. Currently, they only have first,
-  last, previous and next links. Support for other MediaWiki features, like
-  items-per-page will come later.
-* Discussion pages are now paged, i.e., only a maximum number of comments
-  (default 50) are shown at once, with paging links to visit other pages of
-  comments.
-* Comment syndication feeds are now available. Currently, there is one feed
-  per wikilog article, that lists comments made to that article. In the
-  future, feeds per thread, per wikilog and global may be provided.
-* Added support for MediaWiki 1.16 Vector skin.
-* Special:Wikilog now allows querying by namespace, with the "Namespace:*"
-  syntax.
-
-=== Bug fixes ===
-
-* (mw:bug 21657) Message wikilog-item-brief-header/footer replaced by
-  wikilog-summary-header/footer and others, with proper PLURAL support.
-* (wl:issue 1) Improve header/footer item messages.
-* (wl:issue 5) Usability improvement in wikilog actions tab.
-* (mw:bug 21916) Fix minimum feed cache age check in WikilogFeed.
-  Noted by Vitaliy Filippov.
-* Don't croak in Wikilog::getWikilogInfo() if $title is NULL. Patch by
-  Vitaliy Filippov.
-* Improved consistency of edit links with the rest of MediaWiki.
-* (wl:issue 7) Handle the new Vector skin hooks (Mw 1.16).
-
-
-== Wikilog 1.0.1 ==
-
-Nov 27, 2009
-
-=== General notes ===
-
-This is a bugfix release of the 1.0.x branch.  There are no database changes
-since Wikilog 1.0.0.
-
-=== New configuration options ===
-
-* $wgWikilogSignAndPublishDefault: default state for the new "sign and
-  publish" checkbox in the edit page for new articles.
-
-=== New features ===
-
-* New parameters 'date', 'time', 'updatedDate', 'updatedTime' and 'hasMore'
-  for the template pager, used when embedding using templates. Old parameters
-  'pubdate' and 'updated' were deprecated, and should be removed on v1.2.0.
-* Wikilog article edit page now features a "sign and publish" checkbox that,
-  when selected, automatically signs and publishes the article by adding an
-  appropriate {{wl-publish:...}} parser function call at the end of the text.
-
-=== Bug fixes ===
-
-* wikilogImportDocumentation.php updated to work with MediaWiki 1.16.
-* Fix pass-by-reference call warning on SkinTemplateTabs hook.
-* Fix timezone warnings with {{wl-publish:...}} parser function.
-* Allow 'wikilog-log-cmt-rejdel' message to use {{GENDER:...}}.
-
-
-== Wikilog 1.0.0 ==
-
-Oct 30, 2009
-
-First stable release of the Wikilog extension.
-
-=== General notes ===
-
-Database patch archives were reset in the transition to version 1.0.0.  If
-you was using a Wikilog version before 0.8.0, you should first upgrade to
-the last 0.8.x version and then upgrade to the latest version.  The database
-schema of 1.0.0 is the same of 0.8.x.
-
-
-== Wikilog 0.8.2 ==
-
-Oct 29, 2009
-
-=== New features in 0.8.2 ===
-
-* Users with edit and createtalk rights are allowed to use the post comment
-  interface.
-
-=== Bug fixes in 0.8.2 ===
-
-* Fix missing global in WikilogFeed::checkFeedOutput().
-* Various MediaWiki 1.16alpha compatibility fixes.
-
-
-== Wikilog 0.8.1 ==
-
-Sep 15, 2009
-
-=== Bug fixes in 0.8.1 ===
-
-* Fix regression that caused the template pager to damage the parser state.
-
-
-== Wikilog 0.8.0 ==
-
-Sep 12, 2009
-
-This is the first pre-stable release of the extension.
diff --git a/SpecialWikilog.php b/SpecialWikilog.php
deleted file mode 100644
index 107f289..0000000
--- a/SpecialWikilog.php
+++ /dev/null
@@ -1,453 +0,0 @@
-<?php
-/**
- * MediaWiki Wikilog extension
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-if ( !defined( 'MEDIAWIKI' ) )
-	die();
-
-/**
- * Special:Wikilog special page.
- * The primary function of this special page is to list all wikilog articles
- * (from all wikilogs) in reverse chronological order. The special page
- * provides many different ways to query articles by wikilog, date, tags, etc.
- * The special page also provides syndication feeds and can be included from
- * wiki articles.
- */
-class SpecialWikilog
-	extends IncludableSpecialPage
-{
-	/** Alternate views. */
-	protected static $views = array( 'summary', 'archives' );
-
-	/** Statuses. */
-	protected static $statuses = array( 'all', 'published', 'drafts' );
-
-	/**
-	 * Constructor.
-	 */
-	function __construct( ) {
-		parent::__construct( 'Wikilog' );
-	}
-
-	/**
-	 * Execute the special page.
-	 * Called from MediaWiki.
-	 */
-	public function execute( $parameters ) {
-		global $wgRequest;
-
-		$feedFormat = $wgRequest->getVal( 'feed' );
-
-		if ( $feedFormat ) {
-			$opts = $this->feedSetup();
-			return $this->feedOutput( $feedFormat, $opts );
-		} else {
-			$opts = $this->webSetup( $parameters );
-			return $this->webOutput( $opts );
-		}
-	}
-
-	/**
-	 * Returns default options.
-	 */
-	public function getDefaultOptions() {
-		global $wgWikilogNumArticles;
-
-		$opts = new FormOptions();
-		$opts->add( 'view',     'summary' );
-		$opts->add( 'show',     'published' );
-		$opts->add( 'wikilog',  '' );
-		$opts->add( 'category', '' );
-		$opts->add( 'author',   '' );
-		$opts->add( 'tag',      '' );
-		$opts->add( 'year',     '', FormOptions::INTNULL );
-		$opts->add( 'month',    '', FormOptions::INTNULL );
-		$opts->add( 'day',      '', FormOptions::INTNULL );
-		$opts->add( 'limit',    $wgWikilogNumArticles );
-		$opts->add( 'template', '' );
-		return $opts;
-	}
-
-	/**
-	 * Prepare special page parameters for a web request.
-	 */
-	public function webSetup( $parameters ) {
-		global $wgRequest, $wgWikilogExpensiveLimit;
-
-		$opts = $this->getDefaultOptions();
-		$opts->fetchValuesFromRequest( $wgRequest );
-
-		# Collect inline parameters, they have precedence over query params.
-		$this->parseInlineParams( $parameters, $opts );
-
-		$opts->validateIntBounds( 'limit', 0, $wgWikilogExpensiveLimit );
-		return $opts;
-	}
-
-	/**
-	 * Prepare special page parameters for a feed request.
-	 * Since feeds must be cached for performance purposes, it is not allowed
-	 * to make arbitrary queries. Only published status and limit parameters
-	 * are recognized. Other parameters are ignored.
-	 */
-	public function feedSetup() {
-		global $wgRequest, $wgFeedLimit;
-
-		$opts = $this->getDefaultOptions();
-		$opts->fetchValuesFromRequest( $wgRequest, array( 'wikilog', 'show', 'limit' ) );
-		$opts->validateIntBounds( 'limit', 0, $wgFeedLimit );
-		return $opts;
-	}
-
-	/**
-	 * Format the HTML output of the special page.
-	 * @param $opts Form options, such as wikilog name, category, date, etc.
-	 */
-	public function webOutput( FormOptions $opts ) {
-		global $wgOut, $wgMimeType, $wgParser;
-
-		# Set page title, html title, nofollow, noindex, etc...
-		$this->setHeaders();
-		$this->outputHeader();
-		$title = $this->getTitle();
-
-		# Build query object.
-		$query = self::getQuery( $opts );
-
-		# Prepare the parser.
-		# This must be called here if not including, before the pager
-		# object is created. WikilogTemplatePager fails otherwise.
-		if ( !$this->including() ) {
-			$popts = $wgOut->parserOptions();
-			$wgParser->startExternalParse( $title, $popts, Parser::OT_HTML );
-		}
-
-		# Create the pager object that will create the list of articles.
-		if ( $opts['view'] == 'archives' ) {
-			$pager = new WikilogArchivesPager( $query, $this->including() );
-		} elseif ( $opts['template'] ) {
-			$templ = Title::makeTitle( NS_TEMPLATE, $opts['template'] );
-			$pager = new WikilogTemplatePager( $query, $templ, $opts['limit'], $this->including() );
-		} else {
-			$pager = new WikilogSummaryPager( $query, $opts['limit'], $this->including() );
-		}
-
-		# Handle special page inclusion.
-		if ( $this->including() ) {
-			# Get pager body.
-			$body = $pager->getBody();
-		}
-		else {
-			# If a wikilog is selected, set the title.
-			$title = $query->getWikilogTitle();
-			if ( !is_null( $title ) ) {
-				# Retrieve wikilog front page
-				$article = new Article( $title );
-				$contentObject = $article->getContentObject();
-				$content = ContentHandler::getContentText( $contentObject );
-				$wgOut->setPageTitle( $title->getPrefixedText() );
-				$wgOut->addWikiTextTitle( $content, $title );
-			}
-
-			# Display query options.
-			$body = $this->getHeader( $opts );
-
-			# Get pager body.
-			$body .= $pager->getBody();
-
-			# Add navigation bars.
-			$body .= $pager->getNavigationBar();
-		}
-
-		# Output.
-		$body = Xml::wrapClass( $body, 'wl-wrapper', 'div' );
-		$wgOut->addHTML( $body );
-
-		# Get query parameter array, for the following links.
-		$qarr = $query->getDefaultQuery();
-
-		# Add feed links.
-		$wgOut->setSyndicated();
-		$altquery = wfArrayToCGI( array_intersect_key( $qarr, WikilogItemFeed::$paramWhitelist ) );
-		if ( $altquery ) {
-			$wgOut->setFeedAppendQuery( $altquery );
-		}
-
-		# Add links for alternate views.
-		foreach ( self::$views as $alt ) {
-			if ( $alt != $opts['view'] ) {
-				$altquery = wfArrayToCGI( array( 'view' => $alt ), $qarr );
-				$wgOut->addLink( array(
-					'rel' => 'alternate',
-					'href' => $title->getLocalURL( $altquery ),
-					'type' => $wgMimeType,
-					'title' => $this->msg( "wikilog-view-{$alt}" )->inContentLanguage()->parse()
-				) );
-			}
-		}
-	}
-
-	/**
-	 * Format the syndication feed output of the special page.
-	 * @param $format Feed format ('atom' or 'rss').
-	 * @param $opts Form options, such as wikilog name, category, date, etc.
-	 */
-	public function feedOutput( $format, FormOptions $opts ) {
-		$feed = new WikilogItemFeed( $this->getTitle(), $format, self::getQuery( $opts ),
-			$opts['limit'] );
-		return $feed->execute();
-	}
-
-	/**
-	 * Returns the name used as page title in the special page itself,
-	 * and also the name that will be listed in Special:Specialpages.
-	 */
-	public function getDescription() {
-		return $this->msg( 'wikilog-specialwikilog-title' )->text();
-	}
-
-	/**
-	 * Parse inline parameters passed after the special page name.
-	 * Example: Special:Wikilog/Category:catname/tag=tagname/5
-	 * @param $parameters Inline parameters after the special page name.
-	 * @param $opts Form options.
-	 */
-	public function parseInlineParams( $parameters, FormOptions $opts ) {
-		global $wgWikilogNamespaces;
-
-		if ( empty( $parameters ) ) return;
-
-		/* ';' supported for backwards compatibility */
-		foreach ( preg_split( '|[/;]|', $parameters ) as $par ) {
-			if ( is_numeric( $par ) ) {
-				$opts['limit'] = intval( $par );
-			} elseif ( in_array( $par, self::$statuses ) ) {
-				$opts['show'] = $par;
-			} elseif ( in_array( $par, self::$views ) ) {
-				$opts['view'] = $par;
-			} elseif ( preg_match( '/^t(?:ag)?=(.+)$/', $par, $m ) ) {
-				$opts['tag'] = $m[1];
-			} elseif ( preg_match( '/^y(?:ear)?=(.+)$/', $par, $m ) ) {
-				$opts['year'] = intval( $m[1] );
-			} elseif ( preg_match( '/^m(?:onth)?=(.+)$/', $par, $m ) ) {
-				$opts['month'] = intval( $m[1] );
-			} elseif ( preg_match( '/^d(?:ay)?=(.+)$/', $par, $m ) ) {
-				$opts['day'] = intval( $m[1] );
-			} elseif ( preg_match( '/^date=(.+)$/', $par, $m ) ) {
-				if ( ( $date = self::parseDateParam( $m[1] ) ) ) {
-					list( $opts['year'], $opts['month'], $opts['day'] ) = $date;
-				}
-			} else {
-				if ( ( $t = Title::newFromText( $par ) ) !== null ) {
-					$ns = $t->getNamespace();
-					if ( in_array( $ns, $wgWikilogNamespaces ) ) {
-						$opts['wikilog'] = $t->getPrefixedDBkey();
-					} elseif ( $ns == NS_CATEGORY ) {
-						$opts['category'] = $t->getDBkey();
-					} elseif ( $ns == NS_USER ) {
-						$opts['author'] = $t->getDBkey();
-					} elseif ( $ns == NS_TEMPLATE ) {
-						$opts['template'] = $t->getDBkey();
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Formats and returns the page header.
-	 * @param $opts Form options.
-	 * @return HTML of the page header.
-	 */
-	protected function getHeader( FormOptions $opts ) {
-		global $wgScript;
-
-		$out = Html::hidden( 'title', $this->getPageTitle()->getPrefixedText() );
-
-		$out .= $this->getQueryForm( $opts );
-
-		$unconsumed = $opts->getUnconsumedValues();
-		foreach ( $unconsumed as $key => $value ) {
-			$out .= Html::hidden( $key, $value );
-		}
-
-		$out = Xml::tags( 'form', array( 'action' => $wgScript ), $out );
-		$out = Xml::fieldset( $this->msg( 'wikilog-form-legend' )->text(), $out,
-			array( 'class' => 'wl-options' )
-		);
-		return $out;
-	}
-
-	/**
-	 * Formats and returns a query form.
-	 * @param $opts Form options.
-	 * @return HTML of the query form.
-	 */
-	protected function getQueryForm( FormOptions $opts ) {
-		global $wgContLang;
-
-		$align = $wgContLang->isRtl() ? 'left' : 'right';
-		$fields = $this->getQueryFormFields( $opts );
-		$columns = array_chunk( $fields, ( count( $fields ) + 1 ) / 2, true );
-
-		$out = Xml::openElement( 'table', array( 'width' => '100%' ) ) .
-				Xml::openElement( 'tr' );
-
-		foreach ( $columns as $fields ) {
-			$out .= Xml::openElement( 'td' );
-			$out .= Xml::openElement( 'table' );
-
-			foreach ( $fields as $row ) {
-				$out .= Xml::openElement( 'tr' );
-				if ( is_array( $row ) ) {
-					$out .= Xml::tags( 'td', array( 'align' => $align ), $row[0] );
-					$out .= Xml::tags( 'td', null, $row[1] );
-				} else {
-					$out .= Xml::tags( 'td', array( 'colspan' => 2 ), $row );
-				}
-				$out .= Xml::closeElement( 'tr' );
-			}
-
-			$out .= Xml::closeElement( 'table' );
-			$out .= Xml::closeElement( 'td' );
-		}
-
-		$out .= Xml::closeElement( 'tr' ) . Xml::closeElement( 'table' );
-		return $out;
-	}
-
-	/**
-	 * Returns query form fields.
-	 * @param $opts Form options.
-	 * @return Array of form fields.
-	 */
-	protected function getQueryFormFields( FormOptions $opts ) {
-		global $wgWikilogEnableTags;
-
-		$fields = array();
-
-		$fields['wikilog'] = Xml::inputLabelSep(
-			$this->msg( 'wikilog-form-wikilog' )->text(), 'wikilog', 'wl-wikilog', 40,
-			str_replace( '_', ' ', $opts->consumeValue( 'wikilog' ) )
-		);
-
-		$fields['category'] = Xml::inputLabelSep(
-			$this->msg( 'wikilog-form-category' )->text(), 'category', 'wl-category', 40,
-			str_replace( '_', ' ', $opts->consumeValue( 'category' ) )
-		);
-
-		$fields['author'] = Xml::inputLabelSep(
-			$this->msg( 'wikilog-form-author' )->text(), 'author', 'wl-author', 40,
-			str_replace( '_', ' ', $opts->consumeValue( 'author' ) )
-		);
-
-		if ( $wgWikilogEnableTags ) {
-			$fields['tag'] = Xml::inputLabelSep(
-				$this->msg( 'wikilog-form-tag' )->text(), 'tag', 'wl-tag', 40,
-				str_replace( '_', ' ', $opts->consumeValue( 'tag' ) )
-			);
-		}
-
-		$fields['date'] = array(
-			Xml::label( $this->msg( 'wikilog-form-date' )->text(), 'wl-month' ),
-			Xml::monthSelector( $opts->consumeValue( 'month' ), '', 'wl-month' ) .
-				" " . Xml::input( 'year', 4, $opts->consumeValue( 'year' ), array( 'maxlength' => 4 ) )
-		);
-		$opts->consumeValue( 'day' );	// ignore day, not really useful
-
-		$statusSelect = new XmlSelect( 'show', 'wl-status', $opts->consumeValue( 'show' ) );
-		$statusSelect->addOption( $this->msg( 'wikilog-show-all' )->text(), 'all' );
-		$statusSelect->addOption( $this->msg( 'wikilog-show-published' )->text(), 'published' );
-		$statusSelect->addOption( $this->msg( 'wikilog-show-drafts' )->text(), 'drafts' );
-		$fields['status'] = array(
-			Xml::label( $this->msg( 'wikilog-form-status' )->text(), 'wl-status' ),
-			$statusSelect->getHTML()
-		);
-
-		$fields['submit'] = Xml::submitbutton( $this->msg( 'allpagessubmit' )->text() );
-		return $fields;
-	}
-
-	/**
-	 * Returns a Wikilog query object given the form options.
-	 * @param $opts Form options.
-	 * @return Wikilog query object.
-	 */
-	public static function getQuery( $opts ) {
-		global $wgWikilogNamespaces;
-
-		$query = new WikilogItemQuery();
-		$query->setPubStatus( $opts['show'] );
-		if ( $opts['wikilog'] ) {
-			$t = Title::newFromText( $opts['wikilog'] );
-			if ( $t && in_array( $t->getNamespace(), $wgWikilogNamespaces ) ) {
-				if ( $t->getText() == '*' ) {
-					$query->setNamespace( $t->getNamespace() );
-				} else {
-					$query->setWikilogTitle( $t );
-				}
-			} else {
-				$query->setEmpty();
-			}
-		}
-		if ( ( $t = $opts['category'] ) ) {
-			$query->setCategory( $t );
-		}
-		if ( ( $t = $opts['author'] ) ) {
-			$query->setAuthor( $t );
-		}
-		if ( ( $t = $opts['tag'] ) ) {
-			$query->setTag( $t );
-		}
-		$query->setDate( $opts['year'], $opts['month'], $opts['day'] );
-		return $query;
-	}
-
-	/**
-	 * Parse inline date parameter.
-	 * @param $date Text representation of date "YYYY-MM-DD".
-	 * @return Array(3) if date parsed successfully, where each element
-	 *   represents a component of the date, being the last two optional.
-	 *   False in case of error.
-	 */
-	public static function parseDateParam( $date ) {
-		$m = array();
-		if ( preg_match( '|^(\d+)(?:[/-](\d+)(?:[/-](\d+))?)?$|', $date, $m ) ) {
-			return array(
-				intval( $m[1] ),
-				( isset( $m[2] ) ? intval( $m[2] ) : null ),
-				( isset( $m[3] ) ? intval( $m[3] ) : null )
-			);
-		} else {
-			return false;
-		}
-	}
-
-	protected function getGroupName() {
-		return 'changes';
-	}
-}
diff --git a/TODO b/TODO
deleted file mode 100644
index 5f086bf..0000000
--- a/TODO
+++ /dev/null
@@ -1,5 +0,0 @@
-== Wikilog To-do list ==
-
-=== Wikilog 1.3.0. ===
-
-* Remove WikilogItemPage::preSaveTransform() (Mw 1.17 compatibility).
diff --git a/Wikilog.i18n.alias.php b/Wikilog.i18n.alias.php
deleted file mode 100644
index bfd8599..0000000
--- a/Wikilog.i18n.alias.php
+++ /dev/null
@@ -1,135 +0,0 @@
-<?php
-/**
- * Special page aliases used by Wikilog extension.
- *
- * @file
- * @ingroup Extensions
- */
-// @codingStandardsIgnoreFile
-
-$specialPageAliases = array();
-
-/** English (English) */
-$specialPageAliases['en'] = array(
-	'Wikilog' => array( 'Wikilog', 'Wikilogs' ),
-);
-
-/** Arabic (العربية) */
-$specialPageAliases['ar'] = array(
-	'Wikilog' => array( 'سجل_الويكي', 'سجلات_الويكي' ),
-);
-
-/** Egyptian Spoken Arabic (مصرى) */
-$specialPageAliases['arz'] = array(
-	'Wikilog' => array( 'سجل_الويكى', 'سجلات_الويكى' ),
-);
-
-/** Assamese (অসমীয়া) */
-$specialPageAliases['as'] = array(
-	'Wikilog' => array( 'ৱিকি_অভিলেখসমূহ' ),
-);
-
-/** Breton (brezhoneg) */
-$specialPageAliases['br'] = array(
-	'Wikilog' => array( 'MarilhoùWiki' ),
-);
-
-/** Min Dong Chinese (Mìng-dĕ̤ng-ngṳ̄) */
-$specialPageAliases['cdo'] = array(
-	'Wikilog' => array( '維基日誌' ),
-);
-
-/** German (Deutsch) */
-$specialPageAliases['de'] = array(
-	'Wikilog' => array( 'Wikiblog' ),
-);
-
-/** Zazaki (Zazaki) */
-$specialPageAliases['diq'] = array(
-	'Wikilog' => array( 'WikiRoceki' ),
-);
-
-/** Esperanto (Esperanto) */
-$specialPageAliases['eo'] = array(
-	'Wikilog' => array( 'Protokoloj_de_vikio' ),
-);
-
-/** Persian (فارسی) */
-$specialPageAliases['fa'] = array(
-	'Wikilog' => array( 'ویکی‌سیاهه' ),
-);
-
-/** Galician (galego) */
-$specialPageAliases['gl'] = array(
-	'Wikilog' => array( 'Wikilog' ),
-);
-
-/** Haitian (Kreyòl ayisyen) */
-$specialPageAliases['ht'] = array(
-	'Wikilog' => array( 'WikiJounal' ),
-);
-
-/** Japanese (日本語) */
-$specialPageAliases['ja'] = array(
-	'Wikilog' => array( 'ウィキ記録' ),
-);
-
-/** Korean (한국어) */
-$specialPageAliases['ko'] = array(
-	'Wikilog' => array( '위키로그' ),
-);
-
-/** Luxembourgish (Lëtzebuergesch) */
-$specialPageAliases['lb'] = array(
-	'Wikilog' => array( 'Wiki-Logbicher' ),
-);
-
-/** Minangkabau (Baso Minangkabau) */
-$specialPageAliases['min'] = array(
-	'Wikilog' => array( 'Catatanwiki' ),
-);
-
-/** Macedonian (македонски) */
-$specialPageAliases['mk'] = array(
-	'Wikilog' => array( 'Викидневник' ),
-);
-
-/** Malayalam (മലയാളം) */
-$specialPageAliases['ml'] = array(
-	'Wikilog' => array( 'വിക്കിരേഖ', 'വിക്കിരേഖകൾ' ),
-);
-
-/** Norwegian Bokmål (norsk bokmål) */
-$specialPageAliases['nb'] = array(
-	'Wikilog' => array( 'Wikilogg' ),
-);
-
-/** Norwegian Nynorsk (norsk nynorsk) */
-$specialPageAliases['nn'] = array(
-	'Wikilog' => array( 'Wikiloggar' ),
-);
-
-/** Portuguese (português) */
-$specialPageAliases['pt'] = array(
-	'Wikilog' => array( 'Wikilog', 'Wikilogs' ),
-);
-
-/** Turkish (Türkçe) */
-$specialPageAliases['tr'] = array(
-	'Wikilog' => array( 'Vikigünlük', 'Vikigünlükleri' ),
-);
-
-/** Vietnamese (Tiếng Việt) */
-$specialPageAliases['vi'] = array(
-	'Wikilog' => array( 'Nhật_trình_wiki' ),
-);
-
-/** Simplified Chinese (中文(简体)‎) */
-$specialPageAliases['zh-hans'] = array(
-	'Wikilog' => array( 'Wiki日志', '维基日志' ),
-);
-
-/** Traditional Chinese (中文(繁體)‎) */
-$specialPageAliases['zh-hant'] = array(
-	'Wikilog' => array( 'Wiki日誌' ),
-);
\ No newline at end of file
diff --git a/Wikilog.i18n.magic.php b/Wikilog.i18n.magic.php
deleted file mode 100644
index 9426618..0000000
--- a/Wikilog.i18n.magic.php
+++ /dev/null
@@ -1,481 +0,0 @@
-<?php
-/**
- * Magic words used by Wikilog extension.
- *
- * @file
- * @ingroup Extensions
- */
-
-$magicWords = array();
-
-/** English (English) */
-$magicWords['en'] = array(
-	'wl-settings' => array( 0, 'wl-settings' ),
-	'wl-publish' => array( 0, 'wl-publish' ),
-	'wl-author' => array( 0, 'wl-author' ),
-	'wl-tags' => array( 0, 'wl-tags' ),
-	'wl-info' => array( 0, 'wl-info' ),
-	'wlk-icon' => array( 0, 'icon' ),
-	'wlk-logo' => array( 0, 'logo' ),
-	'wlk-subtitle' => array( 0, 'subtitle' ),
-	'wlk-summary' => array( '1', 'summary' ),
-	'wlk-hidden' => array( 0, 'hidden' ),
-	'wlk-more' => array( 0, 'more' ),
-);
-
-/** Arabic (العربية) */
-$magicWords['ar'] = array(
-	'wl-settings' => array( 0, 'سو-إعدادات' ),
-	'wl-publish' => array( 0, 'سو-نشر' ),
-	'wl-author' => array( 0, 'سو-مؤلف' ),
-	'wl-tags' => array( 0, 'سو-وسوم' ),
-	'wl-info' => array( 0, 'سو-معلومات' ),
-	'wlk-icon' => array( 0, 'صورة_صغيرة' ),
-	'wlk-logo' => array( 0, 'شعار' ),
-	'wlk-subtitle' => array( 0, 'عنوان_فرعي' ),
-	'wlk-summary' => array( 'ملخص' ),
-	'wlk-hidden' => array( 0, 'مخفي' ),
-	'wlk-more' => array( 0, 'مزيد' ),
-);
-
-/** Egyptian Spoken Arabic (مصرى) */
-$magicWords['arz'] = array(
-	'wl-settings' => array( 0, 'سو-إعدادات' ),
-	'wl-publish' => array( 0, 'سو-نشر' ),
-	'wl-author' => array( 0, 'سو-مؤلف' ),
-	'wl-tags' => array( 0, 'سو-وسوم' ),
-	'wl-info' => array( 0, 'سو-معلومات' ),
-	'wlk-icon' => array( 0, 'ايقونه' ),
-	'wlk-logo' => array( 0, 'شعار' ),
-	'wlk-subtitle' => array( 0, 'عنوان_فرعى' ),
-	'wlk-summary' => array( 'ملخص' ),
-	'wlk-hidden' => array( 0, 'مخفى', 'مخفي' ),
-	'wlk-more' => array( 0, 'مزيد' ),
-);
-
-/** Assamese (অসমীয়া) */
-$magicWords['as'] = array(
-	'wlk-logo' => array( 0, 'প্ৰতীক' ),
-	'wlk-subtitle' => array( 0, 'উপ-শিৰোনাম' ),
-	'wlk-summary' => array( 'সাৰাংশ' ),
-	'wlk-hidden' => array( 0, 'লুকায়িত' ),
-	'wlk-more' => array( 0, 'অধিক' ),
-);
-
-/** South Azerbaijani (تورکجه) */
-$magicWords['azb'] = array(
-	'wlk-summary' => array( 'قیسساسی' ),
-	'wlk-hidden' => array( 0, 'گیزلین' ),
-	'wlk-more' => array( 0, 'آرتیق' ),
-);
-
-/** Breton (brezhoneg) */
-$magicWords['br'] = array(
-	'wl-settings' => array( 0, 'wl-arventennoù' ),
-	'wl-publish' => array( 0, 'wl-embann' ),
-	'wl-author' => array( 0, 'wl-aozer' ),
-	'wl-tags' => array( 0, 'wl-balizennoù' ),
-	'wl-info' => array( 0, 'wl-keleier' ),
-	'wlk-subtitle' => array( 0, 'istitl' ),
-	'wlk-summary' => array( 'diverrañ' ),
-	'wlk-hidden' => array( 0, 'kuzh' ),
-	'wlk-more' => array( 0, 'muioc\'h' ),
-);
-
-/** Chechen (нохчийн) */
-$magicWords['ce'] = array(
-	'wlk-more' => array( 0, 'дуккха' ),
-);
-
-/** Czech (čeština) */
-$magicWords['cs'] = array(
-	'wlk-icon' => array( 0, 'ikona' ),
-	'wlk-more' => array( 0, 'více' ),
-);
-
-/** German (Deutsch) */
-$magicWords['de'] = array(
-	'wl-settings' => array( 0, 'wl-einstellungen' ),
-	'wl-publish' => array( 0, 'wl-veröffentlichung' ),
-	'wl-author' => array( 0, 'wl-autor' ),
-	'wl-tags' => array( 0, 'wl-stichwörter' ),
-	'wlk-icon' => array( 0, 'wl-piktogramm', 'wl-symbol', 'wl-icon' ),
-	'wlk-logo' => array( 0, 'wl-logo' ),
-	'wlk-subtitle' => array( 0, 'untertitel' ),
-	'wlk-summary' => array( 'zusammenfassung' ),
-	'wlk-hidden' => array( 0, 'versteckt' ),
-	'wlk-more' => array( 0, 'mehr' ),
-);
-
-/** Zazaki (Zazaki) */
-$magicWords['diq'] = array(
-	'wl-settings' => array( 0, 'wl-saz_kerdış' ),
-	'wl-publish' => array( 0, 'wl-vılak' ),
-	'wl-author' => array( 0, 'wl-nuskar' ),
-	'wl-tags' => array( 0, 'wl-etiketi' ),
-	'wl-info' => array( 0, 'wl-malumat' ),
-	'wlk-icon' => array( 0, 'ikon' ),
-	'wlk-logo' => array( 0, 'logo' ),
-	'wlk-subtitle' => array( 0, 'bınname' ),
-	'wlk-summary' => array( 'menıne' ),
-	'wlk-hidden' => array( 0, 'nımıte' ),
-	'wlk-more' => array( 0, 'véşi' ),
-);
-
-/** Esperanto (Esperanto) */
-$magicWords['eo'] = array(
-	'wlk-icon' => array( 0, 'bildsimbolo' ),
-	'wlk-logo' => array( 0, 'emblemo' ),
-	'wlk-subtitle' => array( 0, 'subtitolo' ),
-	'wlk-summary' => array( 'resumo' ),
-	'wlk-hidden' => array( 0, 'kaŝi' ),
-	'wlk-more' => array( 0, 'pli' ),
-);
-
-/** Spanish (español) */
-$magicWords['es'] = array(
-	'wl-settings' => array( 0, 'configuracion-wl', 'configuración-wl' ),
-	'wl-publish' => array( 0, 'publicar-wl' ),
-	'wl-author' => array( 0, 'autor-wl' ),
-	'wl-tags' => array( 0, 'etiquetas-wl' ),
-	'wl-info' => array( 0, 'informacion-wl', 'información-wl' ),
-	'wlk-subtitle' => array( 0, 'subtitulo', 'subtítulo' ),
-	'wlk-summary' => array( 'resumen' ),
-	'wlk-hidden' => array( 0, 'escondido', 'oculto' ),
-	'wlk-more' => array( 0, 'más', 'mas' ),
-);
-
-/** Persian (فارسی) */
-$magicWords['fa'] = array(
-	'wlk-icon' => array( 0, 'آیکون' ),
-	'wlk-logo' => array( 0, 'لوگو' ),
-	'wlk-subtitle' => array( 0, 'زیرعنوان' ),
-	'wlk-summary' => array( 'خلاصه' ),
-	'wlk-hidden' => array( 0, 'پنهان' ),
-	'wlk-more' => array( 0, 'بیشتر' ),
-);
-
-/** French (français) */
-$magicWords['fr'] = array(
-	'wl-settings' => array( 0, 'wl-paramètres' ),
-	'wl-publish' => array( 0, 'wl-publier' ),
-	'wl-author' => array( 0, 'wl-auteur' ),
-	'wl-tags' => array( 0, 'wl-balises' ),
-	'wl-info' => array( 0, 'wl-infos' ),
-	'wlk-icon' => array( 0, 'icône' ),
-	'wlk-logo' => array( 0, 'logo' ),
-	'wlk-subtitle' => array( 0, 'soustitre' ),
-	'wlk-summary' => array( 'sommaire' ),
-	'wlk-hidden' => array( 0, 'caché' ),
-	'wlk-more' => array( 0, 'plus' ),
-);
-
-/** Franco-Provençal (arpetan) */
-$magicWords['frp'] = array(
-	'wlk-summary' => array( 'somèro' ),
-	'wlk-hidden' => array( 0, 'cachiê' ),
-);
-
-/** Hebrew (עברית) */
-$magicWords['he'] = array(
-	'wlk-summary' => array( 'סכום' ),
-	'wlk-more' => array( 0, 'יותר' ),
-);
-
-/** Igbo (Igbo) */
-$magicWords['ig'] = array(
-	'wlk-hidden' => array( 0, 'zọnàrì', 'hidden' ),
-	'wlk-more' => array( 0, 'nà_ozór', 'more' ),
-);
-
-/** Japanese (日本語) */
-$magicWords['ja'] = array(
-	'wl-settings' => array( 0, 'wl設定' ),
-	'wl-publish' => array( 0, 'wl公開' ),
-	'wl-author' => array( 0, 'wl著者' ),
-	'wl-tags' => array( 0, 'wlタグ' ),
-	'wl-info' => array( 0, 'wl情報' ),
-	'wlk-icon' => array( 0, 'wlアイコン' ),
-	'wlk-logo' => array( 0, 'ロゴ' ),
-	'wlk-subtitle' => array( 0, 'サブタイトル', '副タイトル' ),
-	'wlk-summary' => array( '要約' ),
-	'wlk-hidden' => array( 0, '隠す' ),
-	'wlk-more' => array( 0, '詳細' ),
-);
-
-/** Georgian (ქართული) */
-$magicWords['ka'] = array(
-	'wlk-logo' => array( 0, 'ლოგო' ),
-	'wlk-subtitle' => array( 0, 'ქვესათაური' ),
-	'wlk-more' => array( 0, 'მეტი' ),
-);
-
-/** Korean (한국어) */
-$magicWords['ko'] = array(
-	'wl-settings' => array( 0, 'wl-설정' ),
-	'wl-publish' => array( 0, 'wl-게시' ),
-	'wl-author' => array( 0, 'wl-저작자' ),
-	'wl-tags' => array( 0, 'wl-태그' ),
-	'wl-info' => array( 0, 'wl-정보' ),
-	'wlk-icon' => array( 0, '아이콘' ),
-	'wlk-logo' => array( 0, '로고' ),
-	'wlk-subtitle' => array( 0, '하위제목' ),
-	'wlk-summary' => array( '요약' ),
-	'wlk-hidden' => array( 0, '숨겨짐' ),
-	'wlk-more' => array( 0, '더보기' ),
-);
-
-/** Kurdish (Latin script) (Kurdî (latînî)‎) */
-$magicWords['ku-latn'] = array(
-	'wlk-subtitle' => array( 0, 'binnav' ),
-	'wlk-summary' => array( 'kurte' ),
-);
-
-/** Luxembourgish (Lëtzebuergesch) */
-$magicWords['lb'] = array(
-	'wlk-logo' => array( 0, 'Logo' ),
-	'wlk-subtitle' => array( 0, 'Ënnertitel' ),
-	'wlk-summary' => array( 'Resumé' ),
-	'wlk-hidden' => array( 0, 'verstoppt' ),
-	'wlk-more' => array( 0, 'méi' ),
-);
-
-/** Malagasy (Malagasy) */
-$magicWords['mg'] = array(
-	'wlk-hidden' => array( 0, 'voasitrika', 'hidden' ),
-);
-
-/** Macedonian (македонски) */
-$magicWords['mk'] = array(
-	'wl-settings' => array( 0, 'вд-нагодувања' ),
-	'wl-publish' => array( 0, 'вд-објави' ),
-	'wl-author' => array( 0, 'вд-автор' ),
-	'wl-tags' => array( 0, 'вд-ознаки' ),
-	'wl-info' => array( 0, 'вд-инфо' ),
-	'wlk-icon' => array( 0, 'икона' ),
-	'wlk-logo' => array( 0, 'лого' ),
-	'wlk-subtitle' => array( 0, 'поднаслов' ),
-	'wlk-summary' => array( 'опис' ),
-	'wlk-hidden' => array( 0, 'скриена' ),
-	'wlk-more' => array( 0, 'повеќе' ),
-);
-
-/** Malayalam (മലയാളം) */
-$magicWords['ml'] = array(
-	'wlk-icon' => array( 0, 'ഐകോൺ' ),
-	'wlk-logo' => array( 0, 'മുദ്ര' ),
-	'wlk-subtitle' => array( 0, 'സംഭാഷണരേഖ' ),
-	'wlk-summary' => array( 'ചുരുക്കം' ),
-	'wlk-hidden' => array( 0, 'മറയ്ക്കപ്പെട്ടവ' ),
-	'wlk-more' => array( 0, 'കൂടുതൽ' ),
-);
-
-/** Marathi (मराठी) */
-$magicWords['mr'] = array(
-	'wlk-summary' => array( 'समरी' ),
-	'wlk-more' => array( 0, 'अजून' ),
-);
-
-/** Erzya (эрзянь) */
-$magicWords['myv'] = array(
-	'wlk-summary' => array( 'нурькинестэёвтазь' ),
-	'wlk-hidden' => array( 0, 'кекшезь' ),
-);
-
-/** Norwegian Bokmål (norsk bokmål) */
-$magicWords['nb'] = array(
-	'wlk-subtitle' => array( 0, 'undertekst' ),
-	'wlk-summary' => array( 'sammendrag' ),
-	'wlk-hidden' => array( 0, 'gjemt' ),
-	'wlk-more' => array( 0, 'mer' ),
-);
-
-/** Low Saxon (Netherlands) (Nedersaksies) */
-$magicWords['nds-nl'] = array(
-	'wl-publish' => array( 0, 'wl-publiseren' ),
-	'wl-tags' => array( 0, 'wl-etiketten' ),
-	'wlk-icon' => array( 0, 'wlk-ikoon' ),
-	'wlk-hidden' => array( 0, 'verbörgen' ),
-);
-
-/** Dutch (Nederlands) */
-$magicWords['nl'] = array(
-	'wl-settings' => array( 0, 'wl-instellingen' ),
-	'wl-publish' => array( 0, 'wl-publiceren' ),
-	'wl-author' => array( 0, 'wl-auteur' ),
-	'wl-tags' => array( 0, 'wl-labels' ),
-	'wlk-icon' => array( 0, 'icoon' ),
-	'wlk-subtitle' => array( 0, 'ondertitel' ),
-	'wlk-summary' => array( 'samenvatting' ),
-	'wlk-hidden' => array( 0, 'verborgen' ),
-	'wlk-more' => array( 0, 'meer' ),
-);
-
-/** Norwegian Nynorsk (norsk nynorsk) */
-$magicWords['nn'] = array(
-	'wl-settings' => array( 0, 'wl-innstillingar' ),
-	'wl-author' => array( 0, 'wl-forfattar' ),
-	'wl-tags' => array( 0, 'wl-merke' ),
-	'wlk-summary' => array( 'samandrag' ),
-);
-
-/** Oriya (ଓଡ଼ିଆ) */
-$magicWords['or'] = array(
-	'wlk-icon' => array( 0, 'ଆଇକନ' ),
-	'wlk-logo' => array( 0, 'ଲୋଗୋ' ),
-	'wlk-subtitle' => array( 0, 'ସାନନାଆଁ' ),
-	'wlk-summary' => array( 'ସାରକଥା' ),
-	'wlk-hidden' => array( 0, 'ଲୁଚିଥିବା' ),
-	'wlk-more' => array( 0, 'ବେଶୀ' ),
-);
-
-/** Polish (polski) */
-$magicWords['pl'] = array(
-	'wlk-icon' => array( 0, 'ikonaWL' ),
-	'wlk-subtitle' => array( 0, 'podtytuł' ),
-	'wlk-summary' => array( 'podsumowanie' ),
-	'wlk-hidden' => array( 0, 'ukryty' ),
-	'wlk-more' => array( 0, 'więcej' ),
-);
-
-/** Pashto (پښتو) */
-$magicWords['ps'] = array(
-	'wlk-logo' => array( 0, 'نښه', 'logo' ),
-	'wlk-subtitle' => array( 0, 'لمنليک', 'subtitle' ),
-	'wlk-summary' => array( '1', 'لنډيز', 'summary' ),
-	'wlk-hidden' => array( 0, 'پټ', 'hidden' ),
-	'wlk-more' => array( 0, 'نور', 'more' ),
-);
-
-/** Portuguese (português) */
-$magicWords['pt'] = array(
-	'wl-settings' => array( 0, 'wl-configs' ),
-	'wl-publish' => array( 0, 'wl-publicar' ),
-	'wl-author' => array( 0, 'wl-autor' ),
-	'wlk-icon' => array( 0, 'ícone' ),
-	'wlk-subtitle' => array( 0, 'subtítulo' ),
-	'wlk-summary' => array( 'resumo' ),
-	'wlk-hidden' => array( 0, 'oculto' ),
-	'wlk-more' => array( 0, 'mais' ),
-);
-
-/** Brazilian Portuguese (português do Brasil) */
-$magicWords['pt-br'] = array(
-	'wl-settings' => array( 0, 'wl-configs' ),
-	'wl-publish' => array( 0, 'wl-publicar' ),
-	'wl-author' => array( 0, 'wl-autor' ),
-	'wlk-icon' => array( 0, 'ícone' ),
-	'wlk-subtitle' => array( 0, 'subtítulo' ),
-	'wlk-summary' => array( 'resumo' ),
-	'wlk-hidden' => array( 0, 'oculto' ),
-	'wlk-more' => array( 0, 'mais' ),
-);
-
-/** Russian (русский) */
-$magicWords['ru'] = array(
-	'wl-settings' => array( 0, 'вл_настройки' ),
-	'wl-publish' => array( 0, 'вл_публикация' ),
-	'wl-author' => array( 0, 'вл_автор' ),
-	'wl-tags' => array( 0, 'вл_метки' ),
-	'wl-info' => array( 0, 'вл_сведения' ),
-	'wlk-icon' => array( 0, 'вл_значок' ),
-	'wlk-logo' => array( 0, 'лого' ),
-	'wlk-subtitle' => array( 0, 'подзаголовок' ),
-	'wlk-summary' => array( 'описание' ),
-	'wlk-hidden' => array( 0, 'скрыто' ),
-	'wlk-more' => array( 0, 'ещё' ),
-);
-
-/** Serbian (Cyrillic script) (српски (ћирилица)‎) */
-$magicWords['sr-ec'] = array(
-	'wl-settings' => array( 0, 'вл-поставке' ),
-	'wl-publish' => array( 0, 'вл-објава' ),
-	'wl-author' => array( 0, 'вл-аутор' ),
-	'wl-tags' => array( 0, 'вл-ознаке' ),
-	'wl-info' => array( 0, 'вл-подаци' ),
-	'wlk-logo' => array( 0, 'логотип' ),
-	'wlk-subtitle' => array( 0, 'поднаслов' ),
-	'wlk-summary' => array( 'сажетак' ),
-	'wlk-hidden' => array( 0, 'сакривено' ),
-	'wlk-more' => array( 0, 'више' ),
-);
-
-/** Serbian (Latin script) (srpski (latinica)‎) */
-$magicWords['sr-el'] = array(
-	'wl-settings' => array( 0, 'wl-postavke' ),
-	'wl-publish' => array( 0, 'wl-objava' ),
-	'wl-author' => array( 0, 'wl-autor' ),
-	'wl-tags' => array( 0, 'wl-oznake' ),
-	'wl-info' => array( 0, 'wl-podaci' ),
-	'wlk-logo' => array( 0, 'logotip' ),
-	'wlk-subtitle' => array( 0, 'podnaslov' ),
-	'wlk-summary' => array( 'sažetak', 'opis' ),
-	'wlk-hidden' => array( 0, 'sakriveno' ),
-	'wlk-more' => array( 0, 'više' ),
-);
-
-/** Swedish (svenska) */
-$magicWords['sv'] = array(
-	'wlk-hidden' => array( 0, 'dold', 'hidden' ),
-	'wlk-more' => array( 0, 'mer', 'more' ),
-);
-
-/** Tamil (தமிழ்) */
-$magicWords['ta'] = array(
-	'wlk-subtitle' => array( 0, 'உள்தலைப்பு' ),
-	'wlk-summary' => array( 'சுருக்கம்' ),
-	'wlk-hidden' => array( 0, 'மறைக்கப்பட்ட' ),
-	'wlk-more' => array( 0, 'மேலும்' ),
-);
-
-/** Tatar (Cyrillic script) (татарча) */
-$magicWords['tt-cyrl'] = array(
-	'wlk-more' => array( 0, 'күбрәк' ),
-);
-
-/** Ukrainian (українська) */
-$magicWords['uk'] = array(
-	'wl-settings' => array( 0, 'вл_налаштування' ),
-	'wl-publish' => array( 0, 'вл_публікація' ),
-	'wl-tags' => array( 0, 'вл_мітки' ),
-	'wl-info' => array( 0, 'вл_дані' ),
-	'wlk-subtitle' => array( 0, 'підзаголовок' ),
-	'wlk-summary' => array( 'опис' ),
-	'wlk-hidden' => array( 0, 'приховано' ),
-	'wlk-more' => array( 0, 'ще' ),
-);
-
-/** Vietnamese (Tiếng Việt) */
-$magicWords['vi'] = array(
-	'wlk-icon' => array( 0, 'hình_tượng', 'hìnhtượng' ),
-	'wlk-logo' => array( 0, 'biểu_trưng', 'biểutrưng' ),
-	'wlk-summary' => array( 'tóm_lược', 'tómlược' ),
-	'wlk-hidden' => array( 0, 'ẩn' ),
-	'wlk-more' => array( 0, 'thêm' ),
-);
-
-/** Yiddish (ייִדיש) */
-$magicWords['yi'] = array(
-	'wlk-more' => array( 0, 'נאך' ),
-);
-
-/** Simplified Chinese (中文(简体)‎) */
-$magicWords['zh-hans'] = array(
-	'wl-settings' => array( 0, 'WL设置' ),
-	'wl-publish' => array( 0, 'WL发布' ),
-	'wl-author' => array( 0, 'WL作者' ),
-	'wl-tags' => array( 0, 'WL标签' ),
-	'wl-info' => array( 0, 'WL信息' ),
-	'wlk-icon' => array( 0, '图标' ),
-	'wlk-logo' => array( 0, '标志' ),
-	'wlk-subtitle' => array( 0, '子标题' ),
-	'wlk-summary' => array( '概要' ),
-	'wlk-hidden' => array( 0, '隐藏' ),
-	'wlk-more' => array( 0, '更多' ),
-);
-
-/** Traditional Chinese (中文(繁體)‎) */
-$magicWords['zh-hant'] = array(
-	'wl-settings' => array( 0, 'wl設定' ),
-	'wlk-hidden' => array( 0, '隱藏' ),
-);
\ No newline at end of file
diff --git a/Wikilog.i18n.php b/Wikilog.i18n.php
deleted file mode 100644
index 962a987..0000000
--- a/Wikilog.i18n.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-/**
- * This is a backwards-compatibility shim, generated by:
- * https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/maintenance%2FgenerateJsonI18n.php
- *
- * Beginning with MediaWiki 1.23, translation strings are stored in json files,
- * and the EXTENSION.i18n.php file only exists to provide compatibility with
- * older releases of MediaWiki. For more information about this migration, see:
- * https://www.mediawiki.org/wiki/Requests_for_comment/Localisation_format
- *
- * This shim maintains compatibility back to MediaWiki 1.17.
- */
-$messages = array();
-if ( !function_exists( 'wfJsonI18nShimcd49cb3cd8651441' ) ) {
-	function wfJsonI18nShimcd49cb3cd8651441( $cache, $code, &$cachedData ) {
-		$codeSequence = array_merge( array( $code ), $cachedData['fallbackSequence'] );
-		foreach ( $codeSequence as $csCode ) {
-			$fileName = dirname( __FILE__ ) . "/i18n/wikilog/$csCode.json";
-			if ( is_readable( $fileName ) ) {
-				$data = FormatJson::decode( file_get_contents( $fileName ), true );
-				foreach ( array_keys( $data ) as $key ) {
-					if ( $key === '' || $key[0] === '@' ) {
-						unset( $data[$key] );
-					}
-				}
-				$cachedData['messages'] = array_merge( $data, $cachedData['messages'] );
-			}
-
-			$cachedData['deps'][] = new FileDependency( $fileName );
-		}
-		return true;
-	}
-
-	$GLOBALS['wgHooks']['LocalisationCacheRecache'][] = 'wfJsonI18nShimcd49cb3cd8651441';
-}
diff --git a/Wikilog.php b/Wikilog.php
deleted file mode 100644
index c0a64e1..0000000
--- a/Wikilog.php
+++ /dev/null
@@ -1,506 +0,0 @@
-<?php
-/**
- * MediaWiki Wikilog extension
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-if ( !defined( 'MEDIAWIKI' ) )
-	die();
-
-/**
- * General extension information.
- */
-$wgExtensionCredits['specialpage'][] = array(
-	'path'           => __FILE__,
-	'name'           => 'Wikilog',
-	'version'        => '1.3.0',
-	'author'         => 'Juliano F. Ravasi',
-	'descriptionmsg' => 'wikilog-desc',
-	'url'            => 'https://www.mediawiki.org/wiki/Extension:Wikilog',
-	'license-name'   => 'GPL-2.0+',
-);
-
-/**
- * Constant definitions.
- */
-// For source-code readability. This ought to be defined by MediaWiki (and
-// there is actually such a definition in DifferenceEngine.php, but it is
-// not global). So, it is easier to have our own until MediaWiki provides
-// one globally. It also allows us to keep compatibility.
-define( 'WL_NBSP', '&#160;' );
-
-/**
- * Dependencies.
- */
-require_once( dirname( __FILE__ ) . '/WlFeed.php' );
-
-/**
- * Messages.
- */
-$dir = dirname( __FILE__ ) . '/';
-$wgMessagesDirs['Wikilog'] = __DIR__ . '/i18n/wikilog';
-$wgExtensionMessagesFiles['Wikilog'] = $dir . 'Wikilog.i18n.php';
-$wgExtensionMessagesFiles['WikilogMagic'] = $dir . 'Wikilog.i18n.magic.php';
-$wgExtensionMessagesFiles['WikilogAlias'] = $dir . 'Wikilog.i18n.alias.php';
-
-/**
- * Autoloaded classes.
- */
-$wgAutoloadClasses += array(
-	// General
-	'WikilogHooks'              => $dir . 'WikilogHooks.php',
-	'WikilogLinksUpdate'        => $dir . 'WikilogLinksUpdate.php',
-	'WikilogUtils'              => $dir . 'WikilogUtils.php',
-	'WikilogNavbar'             => $dir . 'WikilogUtils.php',
-	'SpecialWikilog'            => $dir . 'SpecialWikilog.php',
-
-	// Objects
-	'WikilogItem'               => $dir . 'WikilogItem.php',
-	'WikilogComment'            => $dir . 'WikilogComment.php',
-	'WikilogCommentFormatter'   => $dir . 'WikilogComment.php',
-
-	// WikilogParser.php
-	'WikilogParser'             => $dir . 'WikilogParser.php',
-	'WikilogParserOutput'       => $dir . 'WikilogParser.php',
-
-	// WikilogItemPager.php
-	'WikilogItemPager'          => $dir . 'WikilogItemPager.php',
-	'WikilogSummaryPager'       => $dir . 'WikilogItemPager.php',
-	'WikilogTemplatePager'      => $dir . 'WikilogItemPager.php',
-	'WikilogArchivesPager'      => $dir . 'WikilogItemPager.php',
-
-	// WikilogCommentPager.php
-	'WikilogCommentPager'       => $dir . 'WikilogCommentPager.php',
-	'WikilogCommentListPager'   => $dir . 'WikilogCommentPager.php',
-	'WikilogCommentThreadPager' => $dir . 'WikilogCommentPager.php',
-
-	// WikilogFeed.php
-	'WikilogFeed'               => $dir . 'WikilogFeed.php',
-	'WikilogItemFeed'           => $dir . 'WikilogFeed.php',
-	'WikilogCommentFeed'        => $dir . 'WikilogFeed.php',
-
-	// WikilogQuery.php
-	'WikilogQuery'              => $dir . 'WikilogQuery.php',
-	'WikilogItemQuery'          => $dir . 'WikilogQuery.php',
-	'WikilogCommentQuery'       => $dir . 'WikilogQuery.php',
-
-	// Namespace pages
-	'WikilogMainPage'           => $dir . 'WikilogMainPage.php',
-	'WikilogItemPage'           => $dir . 'WikilogItemPage.php',
-	'WikilogWikiItemPage'       => $dir . 'WikilogItemPage.php',
-	'WikilogCommentsPage'       => $dir . 'WikilogCommentsPage.php',
-
-	// Captcha adapter
-	'WlCaptcha'                 => $dir . 'WlCaptchaAdapter.php',
-	'WlCaptchaAdapter'          => $dir . 'WlCaptchaAdapter.php',
-);
-
-/**
- * Special pages.
- */
-$wgSpecialPages['Wikilog'] = 'SpecialWikilog';
-
-/**
- * Hooks.
- */
-$wgExtensionFunctions[] = array( 'Wikilog', 'ExtensionInit' );
-
-// Main Wikilog hooks
-$wgHooks['ArticleFromTitle'][] = 'Wikilog::ArticleFromTitle';
-$wgHooks['ArticleViewHeader'][] = 'Wikilog::ArticleViewHeader';
-$wgHooks['BeforePageDisplay'][] = 'Wikilog::BeforePageDisplay';
-$wgHooks['LinkBegin'][] = 'Wikilog::LinkBegin';
-$wgHooks['SkinTemplateTabAction'][] = 'Wikilog::SkinTemplateTabAction';
-$wgHooks['SkinTemplateTabs'][] = 'Wikilog::SkinTemplateTabs';
-$wgHooks['SkinTemplateNavigation'][] = 'Wikilog::SkinTemplateNavigation';
-$wgHooks['UnitTestsList'][] = 'Wikilog::UnitTestsList';
-
-// General Wikilog hooks
-$wgHooks['ArticleEditUpdates'][] = 'WikilogHooks::ArticleEditUpdates';
-$wgHooks['ArticleDeleteComplete'][] = 'WikilogHooks::ArticleDeleteComplete';
-$wgHooks['PageContentSave'][] = 'WikilogHooks::PageContentSave';
-$wgHooks['TitleMoveComplete'][] = 'WikilogHooks::TitleMoveComplete';
-$wgHooks['EditPage::attemptSave'][] = 'WikilogHooks::EditPageAttemptSave';
-$wgHooks['EditPage::showEditForm:fields'][] = 'WikilogHooks::EditPageEditFormFields';
-$wgHooks['EditPage::importFormData'][] = 'WikilogHooks::EditPageImportFormData';
-$wgHooks['LoadExtensionSchemaUpdates'][] = 'WikilogHooks::ExtensionSchemaUpdates';
-$wgHooks['UnknownAction'][] = 'WikilogHooks::UnknownAction';
-
-// WikilogLinksUpdate hooks
-$wgHooks['LinksUpdate'][] = 'WikilogLinksUpdate::LinksUpdate';
-
-// WikilogParser hooks
-$wgHooks['ParserFirstCallInit'][] = 'WikilogParser::FirstCallInit';
-$wgHooks['ParserClearState'][] = 'WikilogParser::ClearState';
-$wgHooks['ParserBeforeStrip'][] = 'WikilogParser::BeforeStrip';
-$wgHooks['ParserAfterTidy'][] = 'WikilogParser::AfterTidy';
-$wgHooks['InternalParseBeforeLinks'][] = 'WikilogParser::InternalParseBeforeLinks';
-$wgHooks['GetLocalURL'][] = 'WikilogParser::GetLocalURL';
-$wgHooks['GetFullURL'][] = 'WikilogParser::GetFullURL';
-
-/**
- * Added rights.
- */
-$wgAvailableRights[] = 'wl-postcomment';
-$wgAvailableRights[] = 'wl-moderation';
-$wgGroupPermissions['user']['wl-postcomment'] = true;
-$wgGroupPermissions['sysop']['wl-moderation'] = true;
-
-/**
- * Reserved usernames.
- */
-$wgReservedUsernames[] = 'msg:wikilog-auto';
-
-/**
- * Logs.
- */
-$wgLogTypes[] = 'wikilog';
-$wgLogNames['wikilog'] = 'wikilog-log-pagename';
-$wgLogHeaders['wikilog'] = 'wikilog-log-pagetext';
-$wgLogActions['wikilog/c-approv'] = 'wikilog-log-cmt-approve';
-$wgLogActions['wikilog/c-reject'] = 'wikilog-log-cmt-reject';
-
-/**
- * Default settings.
- */
-require_once( dirname( __FILE__ ) . '/WikilogDefaultSettings.php' );
-
-
-/**
- * Main Wikilog class. Used as a namespace. No instances of this class are
- * intended to exist, all member functions are static.
- */
-class Wikilog
-{
-	# ##
-	# #  Setup functions.
-	#
-
-	/**
-	 * Create a namespace, associating wikilog features to it.
-	 *
-	 * @param $ns Subject namespace number, must even and greater than 100.
-	 * @param $name Subject namespace name.
-	 * @param $talk Talk namespace name.
-	 */
-	static function setupNamespace( $ns, $name, $talk ) {
-		global $wgExtraNamespaces, $wgWikilogNamespaces;
-
-		if ( $ns < 100 ) {
-			echo "Wikilog setup: custom namespaces should start " .
-				 "at 100 to avoid conflict with standard namespaces.\n";
-			die( 1 );
-		}
-		if ( ( $ns % 2 ) != 0 ) {
-			echo "Wikilog setup: given namespace ($ns) is not a " .
-				 "subject namespace (even number).\n";
-			die( 1 );
-		}
-		if ( is_array( $wgExtraNamespaces ) && isset( $wgExtraNamespaces[$ns] ) ) {
-			$nsname = $wgExtraNamespaces[$ns];
-			echo "Wikilog setup: given namespace ($ns) is already " .
-				 "set to '$nsname'.\n";
-			die( 1 );
-		}
-
-		$wgExtraNamespaces[$ns  ] = $name;
-		$wgExtraNamespaces[$ns ^ 1] = $talk;
-		$wgWikilogNamespaces[] = $ns;
-	}
-
-	# ##
-	# #  MediaWiki hooks.
-	#
-
-	/**
-	 * Extension setup function.
-	 */
-	static function ExtensionInit() {
-		global $wgWikilogStylePath, $wgWikilogNamespaces;
-		global $wgScriptPath, $wgNamespacesWithSubpages;
-
-		# Set default style path, if not set.
-		if ( !$wgWikilogStylePath ) {
-			$wgWikilogStylePath = "$wgScriptPath/extensions/Wikilog/style";
-		}
-
-		# Find assigned namespaces and make sure they have subpages
-		foreach ( $wgWikilogNamespaces as $ns ) {
-			$wgNamespacesWithSubpages[$ns  ] = true;
-			$wgNamespacesWithSubpages[$ns ^ 1] = true;
-		}
-
-		# Work around bug in MediaWiki 1.13 when '?action=render'.
-		# https://bugzilla.wikimedia.org/show_bug.cgi?id=15512
-		global $wgRequest;
-		if ( $wgRequest->getVal( 'action' ) == 'render' ) {
-			WikilogParser::expandLocalUrls();
-		}
-	}
-
-	/**
-	 * ArticleFromTitle hook handler function.
-	 * Detects if the article is a wikilog article (self::getWikilogInfo
-	 * returns an instance of WikilogInfo) and returns the proper class
-	 * instance for the article.
-	 */
-	static function ArticleFromTitle( &$title, &$article ) {
-		global $wgWikilogEnableComments;
-
-		if ( ( $wi = self::getWikilogInfo( $title ) ) ) {
-			if ( $title->isTalkPage() ) {
-				if ( $wgWikilogEnableComments && $wi->isItem() ) {
-					$article = new WikilogCommentsPage( $title, $wi );
-				} else {
-					return true;
-				}
-			} elseif ( $wi->isItem() ) {
-				$item = WikilogItem::newFromInfo( $wi );
-				$article = new WikilogItemPage( $title, $item );
-			} else {
-				$article = new WikilogMainPage( $title, $wi );
-			}
-			return false;	// stop processing
-		}
-		return true;
-	}
-
-	/**
-	 * ArticleViewHeader hook handler function.
-	 * If viewing a WikilogCommentsPage, and the page doesn't exist in the
-	 * database, don't show the "there is no text in this page" message
-	 * (msg:noarticletext), since it gives wrong instructions to visitors.
-	 * The comment form is self-explaining enough.
-	 */
-	static function ArticleViewHeader( &$article, &$outputDone, &$pcache ) {
-		if ( $article instanceof WikilogCommentsPage && $article->getID() == 0 ) {
-			$outputDone = true;
-		}
-		return true;
-	}
-
-	/**
-	 * BeforePageDisplay hook handler function.
-	 * Adds wikilog CSS to pages displayed.
-	 */
-	static function BeforePageDisplay( &$output, &$skin ) {
-		global $wgWikilogStylePath, $wgWikilogStyleVersion;
-		$output->addExtensionStyle( "{$wgWikilogStylePath}/wikilog.css?{$wgWikilogStyleVersion}" );
-		return true;
-	}
-
-	/**
-	 * LinkBegin hook handler function.
-	 * Links to wikilog comment pages are always "known" if the corresponding
-	 * article page exists.
-	 */
-	static function LinkBegin( $skin, $target, &$text, &$attribs, &$query,
-			&$options, &$ret )
-	{
-		if ( $target->isTalkPage() && !in_array( 'known', $options, true ) ) {
-			$wi = self::getWikilogInfo( $target );
-			if ( $wi && $wi->isItem() && !$wi->getTrailing() && $wi->getItemTitle()->exists() ) {
-				if ( ( $i = array_search( 'broken', $options, true ) ) !== false ) {
-					array_splice( $options, $i, 1 );
-				}
-				$options[] = 'known';
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * SkinTemplateTabAction hook handler function.
-	 * Same as Wikilog::LinkBegin, but for the tab actions.
-	 */
-	static function SkinTemplateTabAction( &$skin, $title, $message, $selected,
-			$checkEdit, &$classes, &$query, &$text, &$result )
-	{
-		if ( $title->isTalkPage() && !$title->exists() ) {
-			$wi = self::getWikilogInfo( $title );
-			if ( $wi && $wi->isItem() && $wi->getItemTitle()->exists() ) {
-				$query = '';
-				if ( ( $i = array_search( 'new', $classes ) ) !== false ) {
-					array_splice( $classes, $i, 1 );
-				}
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * SkinTemplateTabs hook handler function.
-	 * Adds a wikilog tab to articles in Wikilog namespaces.
-	 * Suppresses the "add section" tab in comments pages.
-	 */
-	static function SkinTemplateTabs( $skin, &$contentActions ) {
-		$wi = self::getWikilogInfo( $skin->getTitle() );
-		if ( $wi ) {
-			self::skinConfigViewsLinks( $wi, $skin, $contentActions );
-		}
-		return true;
-	}
-
-	/**
-	 * SkinTemplateNavigation hook handler function.
-	 * Adds a wikilog action to articles in Wikilog namespaces.
-	 * This is used with newer skins, like Vector.
-	 */
-	static function SkinTemplateNavigation( $skin, &$links ) {
-		$wi = self::getWikilogInfo( $skin->getTitle() );
-		if ( $wi ) {
-			self::skinConfigViewsLinks( $wi, $skin, $links['views'] );
-		}
-		return true;
-	}
-
-	/**
-	 * Configure wikilog views links.
-	 * Helper function for SkinTemplateTabs and SkinTemplateNavigation hooks
-	 * to configure views links in wikilog pages.
-	 */
-	private static function skinConfigViewsLinks( WikilogInfo &$wi, $skin, &$views ) {
-		global $wgRequest, $wgWikilogEnableComments;
-
-		$action = $wgRequest->getText( 'action' );
-		if ( $wi->isMain() && $skin->getTitle()->quickUserCan( 'edit' ) ) {
-			$views['wikilog'] = array(
-				'class' => ( $action == 'wikilog' ) ? 'selected' : false,
-				'text' => wfMessage( 'wikilog-tab' )->text(),
-				'href' => $skin->getTitle()->getLocalUrl( 'action=wikilog' )
-			);
-		}
-		if ( $wgWikilogEnableComments && $wi->isTalk() ) {
-			if ( isset( $views['addsection'] ) ) {
-				unset( $views['addsection'] );
-			}
-		}
-	}
-
-	# ##
-	# #  Other global wikilog functions.
-	#
-
-	/**
-	 * Returns wikilog information for the given title.
-	 * This function checks if @a $title is an article title in a wikilog
-	 * namespace, and returns an appropriate WikilogInfo instance if so.
-	 *
-	 * @param $title Article title object.
-	 * @return WikilogInfo instance, or NULL.
-	 */
-	static function getWikilogInfo( $title ) {
-		global $wgWikilogNamespaces;
-
-		if ( !$title )
-			return null;
-
-		$ns = MWNamespace::getSubject( $title->getNamespace() );
-		if ( in_array( $ns, $wgWikilogNamespaces ) ) {
-			return new WikilogInfo( $title );
-		} else {
-			return null;
-		}
-	}
-
-	static function UnitTestsList( array &$paths ) {
-		$paths[] = __DIR__ . '/tests/phpunit';
-		return true;
-	}
-}
-
-/**
- * Wikilog information class.
- * This class represents relationship information about a wikilog article,
- * given its title. It is used to derive the main wikilog article name or the
- * comments page name from the wikilog post, for example.
- */
-class WikilogInfo
-{
-	public $mWikilogName;		///< Wikilog title (textual string).
-	public $mWikilogTitle;		///< Wikilog main article title object.
-	public $mItemName;			///< Wikilog post title (textual string).
-	public $mItemTitle;			///< Wikilog post title object.
-	public $mItemTalkTitle;		///< Wikilog post talk title object.
-
-	public $mIsTalk;			///< Constructed using a talk page title.
-	public $mTrailing = null;	///< Trailing subpage title.
-
-	/**
-	 * Constructor.
-	 * @param $title Title object.
-	 */
-	function __construct( $title ) {
-		$origns = $title->getNamespace();
-		$this->mIsTalk = MWNamespace::isTalk( $origns );
-		$ns = MWNamespace::getSubject( $origns );
-		$tns = MWNamespace::getTalk( $origns );
-
-		if ( strpos( $title->getText(), '/' ) !== false ) {
-			# If title contains a '/', treat as a wikilog article title.
-			list( $this->mWikilogName, $this->mItemName ) =
-				explode( '/', $title->getText(), 2 );
-
-			if ( strpos( $this->mItemName, '/' ) !== false ) {
-				list( $this->mItemName, $this->mTrailing ) =
-					explode( '/', $this->mItemName, 2 );
-			}
-
-			$rawtitle = "{$this->mWikilogName}/{$this->mItemName}";
-			$this->mWikilogTitle = Title::makeTitle( $ns, $this->mWikilogName );
-			$this->mItemTitle = Title::makeTitle( $ns, $rawtitle );
-			$this->mItemTalkTitle = Title::makeTitle( $tns, $rawtitle );
-		} else {
-			# Title doesn't contain a '/', treat as a wikilog name.
-			$this->mWikilogName = $title->getText();
-			$this->mWikilogTitle = Title::makeTitle( $ns, $this->mWikilogName );
-			$this->mItemName = null;
-			$this->mItemTitle = null;
-			$this->mItemTalkTitle = null;
-		}
-	}
-
-	function isMain() { return $this->mItemTitle === null; }
-	function isItem() { return $this->mItemTitle !== null; }
-	function isTalk() { return $this->mIsTalk; }
-	function isSubpage() { return $this->mTrailing !== null; }
-
-	function getName() { return $this->mWikilogName; }
-	function getTitle() { return $this->mWikilogTitle; }
-	function getItemName() { return $this->mItemName; }
-	function getItemTitle() { return $this->mItemTitle; }
-	function getItemTalkTitle() { return $this->mItemTitle->getTalkPage(); }
-
-	function getTrailing() { return $this->mTrailing; }
-}
-
-/**
- * Interface used by article derived classes that implement the "wikilog"
- * action handler. That is, pages that can be called with ?action=wikilog.
- */
-interface WikilogCustomAction
-{
-	public function wikilog();
-}
diff --git a/WikilogComment.php b/WikilogComment.php
deleted file mode 100644
index 9ca271b..0000000
--- a/WikilogComment.php
+++ /dev/null
@@ -1,943 +0,0 @@
-<?php
-/**
- * MediaWiki Wikilog extension
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-if ( !defined( 'MEDIAWIKI' ) )
-	die();
-
-/**
- * Wikilog article comment database entry.
- */
-class WikilogComment
-{
-	/**
-	 * Comment statuses.
-	 */
-	const S_OK				= 'OK';			///< Comment is published.
-	const S_PENDING			= 'PENDING';	///< Comment is pending moderation.
-	const S_DELETED			= 'DELETED';	///< Comment was removed.
-
-	/**
-	 * Mapping of comment statuses to readable messages. System messages are
-	 * "wikilog-comment-{$statusMap[$status]}", except when false (for S_OK).
-	 */
-	public static $statusMap = array(
-		self::S_OK				=> false,
-		self::S_PENDING			=> 'pending',
-		self::S_DELETED			=> 'deleted',
-	);
-
-	/**
-	 * @var WikilogItem Wikilog article item this comment is associated to.
-	 */
-	public  $mItem			= null;
-
-	/**
-	 * General data about the comment.
-	 */
-	public  $mID			= null;		///< Comment ID.
-	public  $mParent		= null;		///< Parent comment ID.
-	public  $mThread		= null;		///< Comment thread.
-	public  $mUserID		= null;		///< Comment author user id.
-	public  $mUserText		= null;		///< Comment author user name.
-	public  $mAnonName		= null;		///< Comment anonymous author name.
-	public  $mStatus		= null;		///< Comment status.
-	public  $mTimestamp		= null;		///< Date the comment was published.
-	public  $mUpdated		= null;		///< Date the comment was last updated.
-	public  $mCommentPage	= null;		///< Comment page id.
-	public  $mCommentTitle  = null;		///< Comment page title.
-	public  $mCommentRev	= null;		///< Comment revision id.
-	public  $mText			= null;		///< Comment text.
-
-	/**
-	 * Whether the text was changed, and thus a database update is required.
-	 */
-	private $mTextChanged	= false;
-
-	/**
-	 * Constructor.
-	 */
-	public function __construct( WikilogItem &$item ) {
-		$this->mItem = $item;
-	}
-
-	/**
-	 * Returns the wikilog comment id.
-	 */
-	public function getID() {
-		return $this->mID;
-	}
-
-	/**
-	 * Set the author of the comment to the given (authenticated) user.
-	 *
-	 * This function can also be used when $user->getId() == 0
-	 * (i.e. anonymous). In this case, a call to $this->setAnon() should
-	 * follow, in order to set the anonymous name.
-	 */
-	public function setUser( $user ) {
-		$this->mUserID = $user->getId();
-		$this->mUserText = $user->getName();
-		$this->mAnonName = null;
-	}
-
-	/**
-	 * Set the anonymous (i.e. not logged in) author name.
-	 */
-	public function setAnon( $name ) {
-		$this->mAnonName = $name;
-	}
-
-	/**
-	 * Returns the wikitext of the comment.
-	 */
-	public function getText() {
-		return $this->mText;
-	}
-
-	/**
-	 * Changes the wikitext of the comment.
-	 */
-	public function setText( $text ) {
-		$this->mText = $text;
-		$this->mTextChanged = true;
-	}
-
-	/**
-	 * Returns whether the comment is visible (not pending or deleted).
-	 */
-	public function isVisible() {
-		return $this->mStatus == self::S_OK;
-	}
-
-	/**
-	 * Returns whether the comment text is changed (DB update required).
-	 */
-	public function isTextChanged() {
-		return $this->mTextChanged;
-	}
-
-	/**
-	 * Load current revision of comment wikitext.
-	 */
-	public function loadText() {
-		$dbr = wfGetDB( DB_SLAVE );
-		$rev = Revision::loadFromId( $dbr, $this->mCommentRev );
-		if ( $rev ) {
-			$this->mText = ContentHandler::getContentText( $rev->getContent() );
-			$this->mTextChanged = false;
-		}
-	}
-
-	/**
-	 * Saves comment data in the database.
-	 */
-	public function saveComment() {
-		$dbw = wfGetDB( DB_MASTER );
-		$dbw->startAtomic( __METHOD__ );
-
-		$data = array(
-			'wlc_parent'    => $this->mParent,
-			'wlc_post'      => $this->mItem->getID(),
-			'wlc_user'      => $this->mUserID,
-			'wlc_user_text' => $this->mUserText,
-			'wlc_anon_name' => $this->mAnonName,
-			'wlc_status'    => $this->mStatus,
-			'wlc_timestamp' => $dbw->timestamp( $this->mTimestamp ),
-			'wlc_updated'   => $dbw->timestamp( $this->mUpdated )
-		);
-
-		$delayed = array();
-
-		# Main update.
-		if ( $this->mID ) {
-			$dbw->update( 'wikilog_comments', $data,
-				array( 'wlc_id' => $this->mID ), __METHOD__ );
-		} else {
-			$cid = $dbw->nextSequenceValue( 'wikilog_comments_wlc_id' );
-			$data = array( 'wlc_id' => $cid ) + $data;
-			$dbw->insert( 'wikilog_comments', $data, __METHOD__ );
-			$this->mID = $dbw->insertId();
-
-			# Now that we have an ID, we can generate the thread.
-			$this->mThread = self::getThreadHistory( $this->mID, $this->mParent );
-			$delayed['wlc_thread'] = implode( '/', $this->mThread );
-		}
-
-		# doEdit() below will trigger BEGIN/COMMIT which errors out with atomic sections.
-		# @TODO: clean this up when edits use atomic sections.
-		$dbw->endAtomic( __METHOD__ );
-
-		# Save article with comment text.
-		if ( $this->mTextChanged ) {
-			$this->mCommentTitle = $this->getCommentArticleTitle();
-			$page = WikiPage::factory( $this->mCommentTitle );
-			$pageContent = ContentHandler::makeContent( $this->mText, $page->getTitle() );
-			$page->doEditContent( $pageContent, $this->getAutoSummary() );
-			$this->mTextChanged = false;
-
-			$this->mCommentPage = $page->getID();
-			$delayed['wlc_comment_page'] = $this->mCommentPage;
-		}
-
-		$dbw->startAtomic( __METHOD__ );
-
-		# Delayed updates.
-		if ( !empty( $delayed ) ) {
-			$dbw->update( 'wikilog_comments', $delayed,
-				array( 'wlc_id' => $this->mID ), __METHOD__ );
-		}
-
-		# Update number of comments
-		$this->mItem->updateNumComments( true );
-
-		# Commit
-		$dbw->endAtomic( __METHOD__ );
-
-		# Invalidate some caches.
-		$this->mCommentTitle->invalidateCache();
-		$this->mItem->mTitle->invalidateCache();
-		$this->mItem->mTitle->getTalkPage()->invalidateCache();
-		$this->mItem->mParentTitle->invalidateCache();
-	}
-
-	/**
-	 * Deletes comment data from the database.
-	 */
-	public function deleteComment() {
-		$dbw = wfGetDB( DB_MASTER );
-		$dbw->startAtomic( __METHOD__ );
-
-		$dbw->delete( 'wikilog_comments', array( 'wlc_id' => $this->mID ), __METHOD__ );
-		$this->mItem->updateNumComments( true );
-
-		$dbw->endAtomic( __METHOD__ );
-
-		$this->mItem->mTitle->invalidateCache();
-		$this->mItem->mTitle->getTalkPage()->invalidateCache();
-		$this->mItem->mParentTitle->invalidateCache();
-		$this->mID = null;
-	}
-
-	/**
-	 * Returns comment article title.
-	 */
-	public function getCommentArticleTitle() {
-		if ( $this->mCommentTitle ) {
-			return $this->mCommentTitle;
-		} elseif ( $this->mCommentPage ) {
-			return Title::newFromID( $this->mCommentPage, Title::GAID_FOR_UPDATE );
-		} else {
-			$it = $this->mItem->mTitle;
-			return Title::makeTitle(
-				MWNamespace::getTalk( $it->getNamespace() ),
-				$it->getText() . '/c' . self::padID( $this->mID )
-			);
-		}
-	}
-
-	/**
-	 * Returns automatic summary (for recent changes) for the posted comment.
-	 */
-	public function getAutoSummary() {
-		global $wgContLang;
-		$user = $this->mUserID ? $this->mUserText : $this->mAnonName;
-		$summ = $wgContLang->truncate( str_replace( "\n", ' ', $this->mText ),
-			max( 0, 200 - strlen( wfMessage( 'wikilog-comment-autosumm' )->inContentLanguage()->text() ) ),
-			'...' );
-		return wfMessage( 'wikilog-comment-autosumm', $user, $summ )->inContentLanguage()->text();
-	}
-
-	/**
-	 * Returns the discussion history for a given comment. This is used to
-	 * populate the $comment->mThread of a new comment whose id is @a $id
-	 * and parent is @a $parent.
-	 *
-	 * @param $id Comment id of the new comment.
-	 * @param $parent Comment id of its parent.
-	 * @return Array of ids from the history since the first comment until
-	 *   the given one.
-	 */
-	public static function getThreadHistory( $id, $parent ) {
-		$thread = array();
-
-		if ( $parent ) {
-			$dbr = wfGetDB( DB_SLAVE );
-			$thread = $dbr->selectField(
-				'wikilog_comments',
-				'wlc_thread',
-				array( 'wlc_id' => intval( $parent ) ),
-				__METHOD__
-			);
-			if ( $thread !== false ) {
-				$thread = explode( '/', $thread );
-			} else {
-				throw new MWException( 'Invalid parent history.' );
-			}
-		}
-
-		$thread[] = self::padID( $id );
-		return $thread;
-	}
-
-	/**
-	 * Formats the id of a comment as a string, padding it with zeros if
-	 * necessary.
-	 */
-	public static function padID( $id ) {
-		return str_pad( intval( $id ), 6, '0', STR_PAD_LEFT );
-	}
-
-	/**
-	 * Creates a new comment object from a database row.
-	 * @param $row Row from database.
-	 * @return New WikilogComment object.
-	 */
-	public static function newFromRow( &$item, $row ) {
-		$comment = new WikilogComment( $item );
-		$comment->mID           = intval( $row->wlc_id );
-		$comment->mParent       = intval( $row->wlc_parent );
-		$comment->mThread       = explode( '/', $row->wlc_thread );
-		$comment->mUserID       = intval( $row->wlc_user );
-		$comment->mUserText     = strval( $row->wlc_user_text );
-		$comment->mAnonName     = strval( $row->wlc_anon_name );
-		$comment->mStatus       = strval( $row->wlc_status );
-		$comment->mTimestamp    = wfTimestamp( TS_MW, $row->wlc_timestamp );
-		$comment->mUpdated      = wfTimestamp( TS_MW, $row->wlc_updated );
-		$comment->mCommentPage  = $row->wlc_comment_page;
-
-		# This information may not be available for deleted comments.
-		if ( $row->wlc_page_title && $row->wlc_page_latest ) {
-			$comment->mCommentTitle = Title::makeTitle( $row->wlc_page_namespace, $row->wlc_page_title );
-			$comment->mCommentRev = $row->wlc_page_latest;
-		}
-		return $comment;
-	}
-
-	/**
-	 * Creates a new comment object for a new comment, given the text and
-	 * the parent comment.
-	 * @param $item Wikilog article object this is a comment for.
-	 * @param $text Comment wikitext as a string.
-	 * @param $parent Parent comment id.
-	 * @return New WikilogComment object.
-	 */
-	public static function newFromText( &$item, $text, $parent = null ) {
-		$ts = wfTimestamp( TS_MW );
-		$comment = new WikilogComment( $item );
-		$comment->mParent    = $parent;
-		$comment->mStatus    = self::S_OK;
-		$comment->mTimestamp = $ts;
-		$comment->mUpdated   = $ts;
-		$comment->setText( $text );
-		return $comment;
-	}
-
-	/**
-	 * Creates a new comment object from an existing comment id.
-	 * Data is fetched from the database.
-	 * @param $item Wikilog article item.
-	 * @param $id Comment id.
-	 * @return New WikilogComment object, or NULL if comment doesn't exist.
-	 */
-	public static function newFromID( &$item, $id ) {
-		$dbr = wfGetDB( DB_SLAVE );
-		$row = self::loadFromID( $dbr, $id );
-		if ( $row ) {
-			return self::newFromRow( $item, $row );
-		}
-		return null;
-	}
-
-	/**
-	 * Creates a new comment object from an existing comment page id.
-	 * Data is fetched from the database.
-	 * @param $item Wikilog article item.
-	 * @param $pageid Comment page id.
-	 * @return New WikilogComment object, or NULL if comment doesn't exist.
-	 */
-	public static function newFromPageID( &$item, $pageid ) {
-		$dbr = wfGetDB( DB_SLAVE );
-		$row = self::loadFromPageID( $dbr, $pageid );
-		if ( $row && $row->wlc_post == $item->getID() ) {
-			return self::newFromRow( $item, $row );
-		}
-		return null;
-	}
-
-	/**
-	 * Load information about a comment from the database given a set of
-	 * conditions.
-	 * @param $dbr Database connection object.
-	 * @param $conds Conditions.
-	 * @return Database row, or false.
-	 */
-	private static function loadFromConds( $dbr, $conds ) {
-		$tables = self::selectTables( $dbr );
-		$fields = self::selectFields();
-		$row = $dbr->selectRow(
-			$tables['tables'],
-			$fields,
-			$conds,
-			__METHOD__,
-			array(),
-			$tables['join_conds']
-		);
-		return $row;
-	}
-
-	/**
-	 * Load information about a comment from the database given a set a
-	 * comment id.
-	 * @param $dbr Database connection object.
-	 * @param $id Comment id.
-	 * @return Database row, or false.
-	 */
-	private static function loadFromID( $dbr, $id ) {
-		return self::loadFromConds( $dbr, array( 'wlc_id' => $id ) );
-	}
-
-	/**
-	 * Load information about a comment from the database given a set of
-	 * conditions.
-	 * @param $dbr Database connection object.
-	 * @param $pageid Comment page id.
-	 * @return Database row, or false.
-	 */
-	private static function loadFromPageID( $dbr, $pageid ) {
-		return self::loadFromConds( $dbr, array( 'wlc_comment_page' => $pageid ) );
-	}
-
-	/**
-	 * Fetch all comments given a set of conditions.
-	 * @param $dbr Database connection object.
-	 * @param $conds Query conditions.
-	 * @param $options Query options.
-	 * @return Database query result object.
-	 */
-	private static function fetchFromConds( $dbr, $conds, $options = array() ) {
-		$tables = self::selectTables( $dbr );
-		$fields = self::selectFields();
-		$result = $dbr->select(
-			$tables['tables'],
-			$fields,
-			$conds,
-			__METHOD__,
-			$options,
-			$tables['join_conds']
-		);
-		return $result;
-	}
-
-	/**
-	 * Fetch all comments given a wikilog article item.
-	 * @param $dbr Database connection object.
-	 * @param $itemid Wikilog article item id.
-	 * @return Database query result object.
-	 */
-	public static function fetchAllFromItem( $dbr, $itemid ) {
-		return self::fetchFromConds( $dbr,
-			array( 'wlc_post' => $itemid ),
-			array( 'ORDER BY' => 'wlc_thread, wlc_id' )
-		);
-	}
-
-	/**
-	 * Fetch all comments given a wikilog article item and a thread.
-	 * @param $dbr Database connection object.
-	 * @param $itemid Wikilog article item id.
-	 * @param $thread Thread description (array of comment ids).
-	 * @return Database query result object.
-	 */
-	public static function fetchAllFromItemThread( $dbr, $itemid, $thread ) {
-		if ( is_array( $thread ) ) {
-			$thread = implode( '/', $thread );
-		}
-		return self::fetchFromConds( $dbr,
-			array( 'wlc_post' => $itemid, "wlc_thread " . $dbr->buildLike( $thread . '/', $dbr->anyString() ) ),
-			array( 'ORDER BY' => 'wlc_thread, wlc_id' )
-		);
-	}
-
-	/**
-	 * Return the list of database tables required to create a new instance
-	 * of WikilogComment.
-	 */
-	public static function selectTables( $dbr = null ) {
-		if ( !$dbr ) $dbr = wfGetDB( DB_SLAVE );
-		$page = $dbr->tableName( 'page' );
-		return array(
-			'tables' => array(
-				'wikilog_comments',
-				"{$page} AS c"
-			),
-			'join_conds' => array(
-				"{$page} AS c" => array( 'LEFT JOIN', 'c.page_id = wlc_comment_page' )
-			)
-		);
-	}
-
-	/**
-	 * Return the list of post fields required to create a new instance of
-	 * WikilogComment.
-	 */
-	public static function selectFields() {
-		return array(
-			'wlc_id',
-			'wlc_parent',
-			'wlc_thread',
-			'wlc_post',
-			'wlc_user',
-			'wlc_user_text',
-			'wlc_anon_name',
-			'wlc_status',
-			'wlc_timestamp',
-			'wlc_updated',
-			'wlc_comment_page',
-			'c.page_namespace AS wlc_page_namespace',
-			'c.page_title AS wlc_page_title',
-			'c.page_latest AS wlc_page_latest'
-		);
-	}
-}
-
-/**
- * Comment formatter.
- * @since Wikilog v1.1.0.
- */
-class WikilogCommentFormatter
-{
-	protected $mAllowReplies;       ///< Whether to show reply links.
-	protected $mAllowModeration;    ///< User is allowed to moderate.
-	protected $mPermalinkTitle;     ///< Optional title used for permalinks.
-
-	/// Whether to show the item title.
-	protected $mShowItem = false;
-
-	/// Comment stack for thread formatting.
-	protected $mThreadStack = array();
-	protected $mThreadRoot = array();
-
-	/**
-	 * Constructor.
-	 *
-	 * @param $title Title of the page.
-	 * @param $wi WikilogInfo object with information about the wikilog and
-	 *   the item.
-	 */
-	public function __construct( $allowReplies = false ) {
-		global $wgUser;
-		$this->mAllowReplies = $allowReplies;
-		$this->mAllowModeration = $wgUser->isAllowed( 'wl-moderation' );
-	}
-
-	/**
-	 * Set page title used for permanent links. If not set, permalinks point
-	 * to their own comment page.
-	 *
-	 * @param $title Title object to use for permalinks.
-	 */
-	public function setPermalinkTitle( $title = null ) {
-		return wfSetVar( $this->mPermalinkTitle, $title );
-	}
-
-	/**
-	 * Set whether the item the comment is about is to be printed.
-	 */
-	public function setShowItem( $value = true ) {
-		return wfSetVar( $this->mShowItem, $value );
-	}
-
-	/**
-	 * Format a single comment in HTML.
-	 *
-	 * @param $comment Comment to be formatted.
-	 * @param $highlight Whether the comment should be highlighted.
-	 * @return Generated HTML.
-	 */
-	public function formatComment( $comment, $highlight = false ) {
-		$hidden = WikilogComment::$statusMap[ $comment->mStatus ];
-
-		# div class.
-		$divclass = array( 'wl-comment' );
-		if ( !$comment->isVisible() ) {
-			$divclass[] = "wl-comment-{$hidden}";
-		}
-		if ( $comment->mUserID ) {
-			$divclass[] = 'wl-comment-by-user';
-			if ( isset( $comment->mItem->mAuthors[$comment->mUserText] ) ) {
-				$divclass[] = 'wl-comment-by-author';
-			}
-		} else {
-			$divclass[] = 'wl-comment-by-anon';
-		}
-
-		# If user is has moderator privileges and the comment is pending
-		# approval, highlight it.
-		if ( $this->mAllowModeration && $comment->mStatus == WikilogComment::S_PENDING ) {
-			$highlight = true;
-		}
-
-		if ( !$comment->isVisible() && !$this->mAllowModeration ) {
-			# Placeholder.
-			$status = wfMessage( "wikilog-comment-{$hidden}" )->escaped();
-			$html = WikilogUtils::wrapDiv( 'wl-comment-placeholder', $status );
-		} else {
-			# The comment.
-			$params = $this->getCommentMsgParams( $comment );
-			$html = $this->formatCommentHeader( $comment, $params );
-
-			if ( $comment->mID && $comment->mCommentRev ) {
-				$parserOutput = WikilogUtils::parsedPage( $comment->mCommentTitle );
-				$text = $parserOutput->getText();
-			} else {
-				$text = $comment->getText();
-			}
-
-			if ( $text ) {
-				$html .= WikilogUtils::wrapDiv( 'wl-comment-text', $text );
-			}
-
-			$html .= $this->formatCommentFooter( $comment, $params );
-			$html .= $this->getCommentToolLinks( $comment );
-		}
-
-		# Enclose everything in a div.
-		if ( $highlight ) {
-			$divclass[] = 'wl-comment-highlight';
-		}
-		return Xml::tags( 'div', array(
-			'class' => implode( ' ', $divclass ),
-			'id' => ( $comment->mID ? "c{$comment->mID}" : 'cpreview' )
-		), $html );
-	}
-
-	/**
-	 * Format and return the header of a comment. This processes the
-	 * 'wikilog-comment-header' system message with the given parameters,
-	 * possibly adds some status messages (for pending or deleted posts),
-	 * and returns the result.
-	 *
-	 * @param $comment Comment.
-	 * @param $params Message parameters, from getCommentMsgParams().
-	 * @return HTML-formatted comment header.
-	 */
-	public function formatCommentHeader( $comment, $params ) {
-		$status = "";
-		if ( !$comment->isVisible() ) {
-			# If comment is not visible to non-moderators, make note of it.
-			$hidden = WikilogComment::$statusMap[ $comment->mStatus ];
-			$status = WikilogUtils::wrapDiv( 'wl-comment-status', wfMessage( "wikilog-comment-{$hidden}" )->escaped() );
-		}
-
-		$header = wfMessage( 'wikilog-comment-header' )->rawParams( $params )->inContentLanguage()->parse();
-		if ( $header ) {
-			$header = WikilogUtils::wrapDiv( 'wl-comment-header', $header );
-		}
-
-		return $status . $header;
-	}
-
-	/**
-	 * Format and return the footer of a comment. This processes the
-	 * 'wikilog-comment-footer' system message with the given parameters
-	 * and returns the result.
-	 *
-	 * @param $comment Comment.
-	 * @param $params Message parameters, from getCommentMsgParams().
-	 * @return HTML-formatted comment footer.
-	 */
-	public function formatCommentFooter( $comment, $params ) {
-		$footer = wfMessage( 'wikilog-comment-footer' )
-			->rawParams( $params )
-			->inContentLanguage()
-			->parse();
-		if ( $footer ) {
-			return WikilogUtils::wrapDiv( 'wl-comment-footer', $footer );
-		} else {
-			return "";
-		}
-	}
-
-	/**
-	 * Returns an array with common header and footer system message
-	 * parameters that are used in 'wikilog-comment-header' and
-	 * 'wikilog-comment-footer'.
-	 *
-	 * Note: *Content* language should be used for everything but final
-	 * strings (like tooltips). These messages are intended to be customized
-	 * by the wiki admin, and we don't want to require changing it for the
-	 * 300+ languages suported by MediaWiki.
-	 *
-	 * Parameters should be HTML-formated. They are substituded using
-	 * 'replaceafter' parameter to wfMessage().
-	 *
-	 * @param $comment Comment.
-	 * @return Array with message parameters.
-	 */
-	public function getCommentMsgParams( $comment ) {
-		global $wgContLang;
-
-		if ( $comment->mUserID ) {
-			$authorPlain = htmlspecialchars( $comment->mUserText );
-			$authorFmt = wfMessage( 'wikilog-simple-signature' )
-			->rawParams( array(
-				Xml::wrapClass( Linker::userLink( $comment->mUserID, $comment->mUserText ), 'wl-comment-author' ),
-				Linker::userTalkLink( $comment->mUserID, $comment->mUserText ),
-				$comment->mUserText
-			) )->inContentLanguage()->parse();
-		} else {
-			$authorPlain = htmlspecialchars( $comment->mAnonName );
-			$authorFmt = wfMessage( 'wikilog-comment-anonsig',
-				Xml::wrapClass( Linker::userLink( $comment->mUserID, $comment->mUserText ), 'wl-comment-author' ),
-				Linker::userTalkLink( $comment->mUserID, $comment->mUserText ),
-				htmlspecialchars( $comment->mAnonName )
-			)->inContentLanguage()->text();
-		}
-
-		list( $date, $time, $tz ) = WikilogUtils::getLocalDateTime( $comment->mTimestamp );
-		$permalink = $this->getCommentPermalink( $comment, $date, $time, $tz );
-
-		$extra = array();
-		if ( $this->mShowItem && $comment->mItem ) {
-			# Display item title.
-			$extra[] = wfMessage( 'wikilog-comment-note-item',
-				Linker::link( $comment->mItem->mTitle, $comment->mItem->mName )
-			)->inContentLanguage()->text();
-		}
-		if ( $comment->mID && $comment->mCommentTitle &&
-				$comment->mCommentTitle->exists() )
-		{
-			if ( $comment->mUpdated != $comment->mTimestamp ) {
-				# Comment was edited.
-				list( $updDate, $updTime, $updTz ) = WikilogUtils::getLocalDateTime( $comment->mUpdated );
-				$extra[] = Linker::link( $comment->mCommentTitle,
-					wfMessage( 'wikilog-comment-note-edited', $updDate, $updTime, $updTz )
-						->inContentLanguage()
-						->text(),
-					array( 'title' => wfmessage( 'wikilog-comment-history' )->escaped() ),
-					array( 'action' => 'history' ), 'known'
-				);
-			}
-		}
-		if ( $extra ) {
-			$extra = wfMessage( 'parentheses', $wgContLang->pipeList( $extra ) )
-				->inContentLanguage()
-				->text();
-		} else {
-			$extra = "";
-		}
-
-		return array(
-			/* $1  */ $authorPlain,
-			/* $2  */ $authorFmt,
-			/* $3  */ $date,
-			/* $4  */ $time,
-			/* $5  */ $permalink,
-			/* $6  */ $extra
-		);
-	}
-
-	/**
-	 * Define the root thread used to align replies formatted with
-	 * startCommentThread() and closeCommentThreads(). This prevents
-	 * omitted comment placeholders to be displayed when listing replies
-	 * of another comment.
-	 *
-	 * When in this state, all calls to startCommentThread() MUST be
-	 * to comments below the root thread. The thread stack stays in this
-	 * state until closeCommentThreads() is called.
-	 *
-	 * @param $thread Root comment thread that will affect future calls
-	 *   to startCommentThread().
-	 */
-	public function setupRootThread( $thread ) {
-		$this->mThreadStack = $this->mThreadRoot = $thread;
-	}
-
-	/**
-	 * Start a new comment thread. Should be called before formatComment()
-	 * when formatting comments in threads. Comments must be displayed in
-	 * correct thread sequence when using this function, which means that
-	 * the 'wlc_thread' column should be used to sort the query results from
-	 * the 'wikilog_comments' table. After the last comment,
-	 * closeCommentThreads() must be called.
-	 *
-	 * @param $comment Comment to be formatted.
-	 * @return Generated HTML.
-	 */
-	public function startCommentThread( $comment ) {
-		$top = count( $this->mThreadStack );
-		$thread = count( $comment->mThread );
-
-		# Find common ancestors.
-		$common = min( $top, $thread );
-		for ( $i = 0; $i < $common; $i++ ) {
-			if ( $this->mThreadStack[$i] != $comment->mThread[$i] )
-				break;
-		}
-
-		# Close previous threads.
-		$html = str_repeat( "</div>", $top - $i );
-		array_splice( $this->mThreadStack, $i );
-
-		# Create omitted comment thread(s).
-		for ( ; $i < $thread-1; $i++ ) {
-			$msg = wfMessage( 'wikilog-comment-omitted-x', $comment->mThread[$i] )->parse();
-			$msg = WikilogUtils::wrapDiv( 'wl-comment-placeholder', $msg );
-			$msg = WikilogUtils::wrapDiv( 'wl-comment wl-comment-omitted', $msg );
-			$html .= '<div class="wl-thread">' . $msg;
-			array_push( $this->mThreadStack, $comment->mThread[$i] );
-		}
-
-		# Open the new comment thread.
-		$html .= '<div class="wl-thread">';
-		array_push( $this->mThreadStack, $comment->mThread[$i] );
-		return $html;
-	}
-
-	/**
-	 * Close all open comment threads.
-	 * @return Generated HTML.
-	 */
-	public function closeCommentThreads() {
-		$open = count( $this->mThreadStack ) - count( $this->mThreadRoot );
-		$this->mThreadStack = $this->mThreadRoot = array();
-		return str_repeat( "</div>", $open );
-	}
-
-	/**
-	 * Return a permanent link to the comment.
-	 *
-	 * @param $comment Comment.
-	 * @param $date Comment date.
-	 * @param $time Comment time.
-	 * @param $tz Comment timezone information.
-	 * @return HTML fragment.
-	 */
-	protected function getCommentPermalink( $comment, $date, $time, $tz ) {
-		if ( $comment->mID ) {
-			if ( $this->mPermalinkTitle ) {
-				$title = $this->mPermalinkTitle;
-				$title->setFragment( "#c{$comment->mID}" );
-			} else {
-				$title = $comment->mCommentTitle;
-			}
-			return Linker::link( $title,
-				wfMessage( 'wikilog-comment-permalink', $date, $time, $tz )->escaped(),
-				array( 'title' => wfMessage( 'permalink' )->escaped() )
-			);
-		} else {
-			return wfMessage( 'wikilog-comment-permalink', $date, $time, $tz )->escaped();
-		}
-	}
-
-	/**
-	 * Return an HTML fragment with various links (tools) that act upon
-	 * the comment, like reply, accept, reject, edit, etc.
-	 *
-	 * @param $comment Comment.
-	 * @return HTML fragment containing the links.
-	 */
-	protected function getCommentToolLinks( $comment ) {
-		global $wgUser, $wgRequest;
-		$tools = array();
-
-		if ( $comment->mID && $comment->mCommentTitle &&
-				$comment->mCommentTitle->exists() ) {
-			if ( $this->mAllowReplies && $comment->isVisible() ) {
-				$replyUrl = $this->mCommentTitle->getLocalUrl(
-					$wgRequest->appendQueryValue( 'wlParent', $comment->mID, true )
-				);
-				$tools['reply'] = Xml::tags( 'a',
-					array(
-						'title' => wfMessage( 'wikilog-reply-to-comment' )->escaped(),
-						'href' => $replyUrl
-					),
-					wfMessage( 'wikilog-reply-lc' )->escaped()
-				);
-			}
-			if ( $this->mAllowModeration && $comment->mStatus == WikilogComment::S_PENDING ) {
-				$token = $wgUser->getEditToken();
-				$tools['approve'] = Linker::link( $comment->mCommentTitle,
-					wfMessage( 'wikilog-approve-lc' )->escaped(),
-					array( 'title' => efMessage( 'wikilog-comment-approve' )->escaped() ),
-					array(
-						'action' => 'wikilog',
-						'wlActionCommentApprove' => 'approve',
-						'wpEditToken' => $token
-					),
-					'known'
-				);
-				$tools['reject'] = Linker::link( $comment->mCommentTitle,
-					wfMessage( 'wikilog-reject-lc' )->escaped(),
-					array( 'title' => wfMessage( 'wikilog-comment-reject' )->escaped() ),
-					array(
-						'action' => 'wikilog',
-						'wlActionCommentApprove' => 'reject',
-						'wpEditToken' => $token
-					),
-					'known'
-				);
-			}
-			if ( $this->mAllowModeration ) {
-				$tools['page'] = Linker::link( $comment->mCommentTitle,
-					wfmessage( 'wikilog-page-lc' )->escaped(),
-					array( 'title' => wfMessage( 'wikilog-comment-page' )->escaped() ),
-					array(),
-					'known'
-				);
-			}
-			if ( $comment->mCommentTitle->quickUserCan( 'edit' ) ) {
-				$tools['edit'] = Linker::link( $comment->mCommentTitle,
-					wfMessage( 'wikilog-edit-lc' )->escaped(),
-					array( 'title' => wfMessage( 'wikilog-comment-edit' )->escaped() ),
-					array( 'action' => 'edit' ),
-					'known'
-				);
-			}
-			if ( $comment->mCommentTitle->quickUserCan( 'delete' ) ) {
-				$tools['delete'] = Linker::link( $comment->mCommentTitle,
-					wfMessage( 'wikilog-delete-lc' )->escaped(),
-					array( 'title' => wfMessage( 'wikilog-comment-delete' )->escaped() ),
-					array( 'action' => 'delete' ),
-					'known'
-				);
-			}
-		}
-
-		if ( $tools ) {
-			$html = '';
-			foreach ( $tools as $cls => $tool ) {
-				$html .= Xml::tags( 'li', array( 'class' => "wl-comment-action-{$cls}" ), $tool );
-			}
-			return Xml::tags( 'ul', array( 'class' => 'wl-comment-tools' ), $html );
-		} else {
-			return '';
-		}
-	}
-}
diff --git a/WikilogCommentPager.php b/WikilogCommentPager.php
deleted file mode 100644
index 1f55a15..0000000
--- a/WikilogCommentPager.php
+++ /dev/null
@@ -1,242 +0,0 @@
-<?php
-/**
- * MediaWiki Wikilog extension
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-if ( !defined( 'MEDIAWIKI' ) )
-	die();
-
-/**
- * Common wikilog comment pager interface.
- * @since Wikilog v1.1.0.
- */
-abstract class WikilogCommentPager
-	extends IndexPager
-{
-	/// Wikilog comment query data.
-	protected $mQuery = null;
-
-	/// Wikilog comment formatter.
-	protected $mFormatter = null;
-
-	/// If the pager is being included.
-	protected $mIncluding = false;
-
-	/// If displaying comments for a single article.
-	protected $mSingleItem = false;
-
-	/// Trigger for displaying a reply comment form.
-	protected $mReplyTrigger = null;
-	protected $mReplyCallback = null;
-
-	/**
-	 * Constructor.
-	 * @param $query WikilogCommentQuery  Query object, containing the
-	 *   parameters that will select which comments will be shown.
-	 * @param $formatter WikilogCommentFormatter  Comment formatter object.
-	 * @param $including boolean  Whether the listing is being included in
-	 *   another page.
-	 */
-	function __construct( WikilogCommentQuery $query, $formatter = null,
-			$including = false )
-	{
-		global $wgWikilogNumComments, $wgWikilogExpensiveLimit;
-
-		# WikilogCommentQuery object drives our queries.
-		$this->mQuery = $query;
-		$this->mIncluding = $including;
-
-		# Prepare the comment formatter.
-		$this->mFormatter = $formatter ? $formatter :
-			new WikilogCommentFormatter();
-
-		# Parent constructor.
-		parent::__construct();
-
-		# Fix our limits, Pager's defaults are too high.
-		$this->mDefaultLimit = $wgWikilogNumComments;
-		list( $this->mLimit, /* $offset */ ) =
-			$this->mRequest->getLimitOffset( $wgWikilogNumComments, '' );
-
-		# This is too expensive, limit listing.
-		if ( $this->mLimit > $wgWikilogExpensiveLimit )
-			$this->mLimit = $wgWikilogExpensiveLimit;
-	}
-
-	/**
-	 * Set the comment formatter.
-	 * @param $formatter Comment formatter object.
-	 * @return WikilogCommentFormatter Previous value.
-	 */
-	public function setFormatter( WikilogCommentFormatter $formatter ) {
-		return wfSetVar( $this->mFormatter, $formatter );
-	}
-
-	/**
-	 * Set the reply trigger. This makes getBody() function to call back
-	 * the given function $callback when the comment $id is displayed.
-	 * This is used to inject a reply comment form after the comment.
-	 *
-	 * @param $id integer  Comment ID that will trigger the callback.
-	 * @param $callback callback  Callback function, receives the comment
-	 *   as argument and should return an HTML fragment.
-	 */
-	public function setReplyTrigger( $id, $callback = null ) {
-		$this->mReplyTrigger = $id;
-		$this->mReplyCallback = $callback;
-	}
-
-	function getQueryInfo() {
-		return $this->mQuery->getQueryInfo( $this->mDb );
-	}
-
-	function getDefaultQuery() {
-		return parent::getDefaultQuery();
-	}
-
-	function doQuery() {
-		# If displaying comments for a single item, save the item.
-		# Otherwise, set query option to return items along with their
-		# comments.
-		if ( ( $item = $this->mQuery->getItem() ) ) {
-			$this->mSingleItem = $item;
-		} else {
-			$this->mQuery->setOption( 'include-item' );
-		}
-		return parent::doQuery();
-	}
-
-	function getStartBody() {
-		return Xml::openElement( 'div', array( 'class' => 'wl-threads' ) );
-	}
-
-	function getEndBody() {
-		return Xml::closeElement( 'div' ); // wl-threads
-	}
-
-	function getEmptyBody() {
-		return WikilogUtils::wrapDiv( 'wl-empty', wfMessage( 'wikilog-pager-empty' )->parse() );
-	}
-
-	function getNavigationBar() {
-		if ( !$this->isNavigationBarShown() ) return '';
-		if ( !isset( $this->mNavigationBar ) ) {
-			$navbar = new WikilogNavbar( $this );
-			$this->mNavigationBar = $navbar->getNavigationBar( $this->mLimit );
-		}
-		return $this->mNavigationBar;
-	}
-}
-
-/**
- * Comment list pager.
- *
- * Lists wikilog comments in list format. If there are more comments than
- * some threshold, navigation links are used to visit other pages of comments.
- */
-class WikilogCommentListPager
-	extends WikilogCommentPager
-{
-	public $mDefaultDirection = true;
-
-	/**
-	 * Constructor.
-	 * @param $query WikilogCommentQuery  Query object, containing the
-	 *   parameters that will select which comments will be shown.
-	 * @param $formatter WikilogCommentFormatter  Comment formatter object.
-	 * @param $including boolean  Whether the listing is being included in
-	 *   another page.
-	 */
-	function __construct( WikilogCommentQuery $query, $formatter = null,
-			$including = false )
-	{
-		parent::__construct( $query, $formatter, $including );
-	}
-
-	function getIndexField() {
-		return 'wlc_timestamp';
-	}
-
-	function formatRow( $row ) {
-		# Retrieve comment data.
-		$item = $this->mSingleItem ? $this->mSingleItem : WikilogItem::newFromRow( $row );
-		$comment = WikilogComment::newFromRow( $item, $row );
-		$comment->loadText();
-		return $this->mFormatter->formatComment( $comment );
-	}
-}
-
-/**
- * Comment thread pager.
- *
- * Lists wikilog comments in thread format. If there are more comments than
- * some threshold, navigation links are used to visit other pages of comments.
- * The thread pager also supports injecting a reply form below any comment.
- */
-class WikilogCommentThreadPager
-	extends WikilogCommentPager
-{
-	/**
-	 * Constructor.
-	 * @param $query WikilogCommentQuery  Query object, containing the
-	 *   parameters that will select which comments will be shown.
-	 * @param $formatter WikilogCommentFormatter  Comment formatter object.
-	 * @param $including boolean  Whether the listing is being included in
-	 *   another page.
-	 */
-	function __construct( WikilogCommentQuery $query, $formatter = false,
-			$including = false )
-	{
-		parent::__construct( $query, $formatter, $including );
-	}
-
-	function getIndexField() {
-		return 'wlc_thread';
-	}
-
-	function getEndBody() {
-		return $this->mFormatter->closeCommentThreads() . parent::getEndBody();
-	}
-
-	public function formatRow( $row ) {
-		# Retrieve comment data.
-		$item = $this->mSingleItem ? $this->mSingleItem : WikilogItem::newFromRow( $row );
-		$comment = WikilogComment::newFromRow( $item, $row );
-		$comment->loadText();
-
-		$doReply = $this->mReplyTrigger && $comment->mID == $this->mReplyTrigger;
-
-		$html = $this->mFormatter->startCommentThread( $comment );
-		$html .= $this->mFormatter->formatComment( $comment, $doReply );
-
-		if ( $doReply && is_callable( $this->mReplyCallback ) ) {
-			if ( ( $res = call_user_func( $this->mReplyCallback, $comment ) ) ) {
-				$html .= WikilogUtils::wrapDiv( 'wl-indent', $res );
-			}
-		}
-		return $html;
-	}
-}
diff --git a/WikilogCommentsPage.php b/WikilogCommentsPage.php
deleted file mode 100644
index 1b2b68d..0000000
--- a/WikilogCommentsPage.php
+++ /dev/null
@@ -1,518 +0,0 @@
-<?php
-/**
- * MediaWiki Wikilog extension
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-if ( !defined( 'MEDIAWIKI' ) )
-	die();
-
-/**
- * Wikilog comments namespace handler class.
- *
- * Displays a threaded discussion about a wikilog article, using its talk
- * page, replacing the mess that is the usual wiki talk pages. This allows
- * a simpler and faster interface for commenting on wikilog articles, more
- * like how traditional blogs work. It also allows other interesting things
- * that are difficult or impossible with usual talk pages, like counting the
- * number of comments for each post and generation of syndication feeds for
- * comments.
- *
- * @note This class was designed to integrate with Wikilog, and won't work
- * for the rest of the wiki. If you want a similar interface for the other
- * talk pages, you may want to check LiquidThreads or some other extension.
- */
-class WikilogCommentsPage
-	extends WikiPage
-	implements WikilogCustomAction
-{
-	protected $mFormatter;			///< Comment formatter.
-	protected $mFormOptions;		///< Post comment form fields.
-	protected $mUserCanPost;		///< User is allowed to post.
-	protected $mUserCanModerate;	///< User is allowed to moderate.
-	protected $mPostedComment;		///< Posted comment, from HTTP post data.
-	protected $mCaptchaForm;		///< Captcha form fields, when saving comment.
-	protected $mTrailing;			///< Trailing text in comments title page.
-
-	public    $mItem;				///< Wikilog item the page is associated with.
-	public    $mTalkTitle;			///< Main talk page title.
-	public    $mSingleComment;		///< Used when viewing a single comment.
-
-	/**
-	 * Constructor.
-	 *
-	 * @param $title Title of the page.
-	 * @param $wi WikilogInfo object with information about the wikilog and
-	 *   the item.
-	 */
-	function __construct( Title &$title, WikilogInfo &$wi ) {
-		global $wgUser, $wgRequest;
-
-		parent::__construct( $title );
-
-		# Check if user can post.
-		$this->mUserCanPost = $wgUser->isAllowed( 'wl-postcomment' ) ||
-			( $wgUser->isAllowed( 'edit' ) && $wgUser->isAllowed( 'createtalk' ) );
-		$this->mUserCanModerate = $wgUser->isAllowed( 'wl-moderation' );
-
-		# Prepare the comment formatter.
-		$this->mFormatter = new WikilogCommentFormatter( $this->mUserCanPost );
-
-		# Get item object relative to this comments page.
-		$this->mItem = WikilogItem::newFromInfo( $wi );
-
-		# Form options.
-		$this->mFormOptions = new FormOptions();
-		$this->mFormOptions->add( 'wlAnonName', '' );
-		$this->mFormOptions->add( 'wlComment', '' );
-		$this->mFormOptions->fetchValuesFromRequest( $wgRequest,
-			array( 'wlAnonName', 'wlComment' ) );
-
-		# This flags if we are viewing a single comment (subpage).
-		$this->mTrailing = $wi->getTrailing();
-		$this->mTalkTitle = $wi->getItemTalkTitle();
-		if ( $this->mItem && $this->mTrailing ) {
-			$this->mSingleComment =
-				WikilogComment::newFromPageID( $this->mItem, $this->getID() );
-		}
-	}
-
-	/**
-	 * Handler for action=view requests.
-	 */
-	public function view() {
-		global $wgRequest, $wgOut;
-
-		if ( $wgRequest->getVal( 'diff' ) ) {
-			# Ignore comments if diffing.
-			return parent::view();
-		}
-
-		if ( !$this->mItem ) {
-			# There is no wikilog article associated with this discussion
-			# page. Act as a normal talk page in this case, leaving
-			# everything to the parent class.
-			return parent::view();
-		}
-
-		# Create our query object.
-		$query = new WikilogCommentQuery( $this->mItem );
-
-		if ( ( $feedFormat = $wgRequest->getVal( 'feed' ) ) ) {
-			# RSS or Atom feed requested. Ignore all other options.
-			global $wgWikilogNumComments;
-			$query->setModStatus( WikilogCommentQuery::MS_ACCEPTED );
-			$feed = new WikilogCommentFeed( $this->mTitle, $feedFormat, $query,
-				$wgRequest->getInt( 'limit', $wgWikilogNumComments ) );
-			return $feed->execute();
-		}
-
-		if ( $this->mSingleComment ) {
-			# Single comment view, show comment followed by its replies.
-			$params = $this->mFormatter->getCommentMsgParams( $this->mSingleComment );
-
-			# Display the comment header and other status messages.
-			$wgOut->addHtml( $this->mFormatter->formatCommentHeader( $this->mSingleComment, $params ) );
-
-			# Display talk page contents.
-			parent::view();
-
-			# Display the comment footer.
-			$wgOut->addHtml( $this->mFormatter->formatCommentFooter( $this->mSingleComment, $params ) );
-		} else {
-			# Normal page view, show talk page contents followed by comments.
-			parent::view();
-
-			# Set a more human-friendly title to the comments page.
-			# NOTE (MW1.16+): Must come after parent::view().
-			# Note: Sorry for the three-level cascade of wfMessage()'s...
-			$fullPageTitle = wfMessage( 'wikilog-title-item-full',
-				$this->mItem->mName,
-				$this->mItem->mParentTitle->getPrefixedText()
-			)->text();
-			$fullPageTitle = wfMessage( 'wikilog-title-comments', $fullPageTitle )->text();
-			$wgOut->setPageTitle( wfMessage( 'wikilog-title-comments', $this->mItem->mName ) );
-			$wgOut->setHTMLTitle( wfMessage( 'pagetitle', $fullPageTitle ) );
-		}
-
-		# Add a backlink to the original article.
-		$link = Linker::link( $this->mItem->mTitle,
-			Sanitizer::escapeHtmlAllowEntities( $this->mItem->mName ) );
-		$wgOut->setSubtitle( wfMessage( 'wikilog-backlink', $link )->text() );
-
-		# Retrieve comments (or replies) from database and display them.
-		$this->viewComments( $query );
-
-		# Add feed links.
-		$wgOut->setSyndicated();
-	}
-
-	/**
-	 * Wikilog comments view. Retrieve comments from database and display
-	 * them in threads.
-	 */
-	protected function viewComments( WikilogCommentQuery $query ) {
-		global $wgOut, $wgRequest;
-
-		# Prepare query and pager objects.
-		$replyTo = $wgRequest->getInt( 'wlParent' );
-		$pager = new WikilogCommentThreadPager( $query, $this->mFormatter );
-
-		# Different behavior when displaying a single comment.
-		if ( $this->mSingleComment ) {
-			$query->setThread( $this->mSingleComment->mThread );
-			$this->mFormatter->setupRootThread( $this->mSingleComment->mThread );
-			$headerMsg = 'wikilog-replies';
-		} else {
-			$headerMsg = 'wikilog-comments';
-		}
-
-		# Insert reply comment into the thread when replying to a comment.
-		if ( $this->mUserCanPost && $replyTo ) {
-			$pager->setReplyTrigger( $replyTo, array( $this, 'getPostCommentForm' ) );
-		}
-
-		# Enclose all comments or replies in a div.
-		$wgOut->addHtml( Xml::openElement( 'div', array( 'class' => 'wl-comments' ) ) );
-
-		# Comments/Replies header.
-		$header = Xml::tags( 'h2', array( 'id' => 'wl-comments-header' ),
-			wfMessage( $headerMsg )->parse()
-		);
-		$wgOut->addHtml( $header );
-
-		# Display comments/replies.
-		$wgOut->addHtml( $pager->getBody() . $pager->getNavigationBar() );
-
-		# Display "post new comment" form, if appropriate.
-		if ( $this->mUserCanPost && !$replyTo ) {
-			$wgOut->addHtml( $this->getPostCommentForm( $this->mSingleComment ) );
-		}
-
-		# Close div.
-		$wgOut->addHtml( Xml::closeElement( 'div' ) );
-	}
-
-	/**
-	 * Handler for action=wikilog requests.
-	 * Enabled via WikilogHooks::UnknownAction() hook handler.
-	 */
-	public function wikilog() {
-		global $wgOut, $wgUser, $wgRequest;
-
-		if ( !$this->mItem || !$this->mItem->exists() ) {
-			$wgOut->showErrorPage( 'wikilog-error', 'wikilog-no-such-article' );
-			return;
-		}
-		if ( !$wgUser->matchEditToken( $wgRequest->getVal( 'wpEditToken' ) ) ) {
-			$wgOut->showErrorPage( 'wikilog-error', 'sessionfailure' );
-			return;
-		}
-
-		# Initialize a session, when an anonymous post a comment...
-		if ( session_id() == '' ) {
-			wfSetupSession();
-		}
-
-		if ( $wgRequest->wasPosted() ) {
-			# HTTP post: either comment preview or submission.
-			if ( !$this->mUserCanPost ) {
-				throw new PermissionsError( 'wl-postcomment' );
-			}
-			$this->mPostedComment = $this->getPostedComment();
-			if ( $this->mPostedComment ) {
-				if ( $wgRequest->getBool( 'wlActionCommentSubmit' ) ) {
-					return $this->postComment( $this->mPostedComment );
-				}
-				if ( $wgRequest->getBool( 'wlActionCommentPreview' ) ) {
-					return $this->view();
-				}
-			}
-		} else {
-			# Comment moderation, actions performed to single-comment pages.
-			if ( $this->mSingleComment ) {
-				# Check permissions.
-				$title = $this->mSingleComment->getCommentArticleTitle();
-				$permerrors = $title->getUserPermissionsErrors( 'wl-moderation', $wgUser );
-				if ( count( $permerrors ) > 0 ) {
-					$wgOut->showPermissionsErrorPage( $permerrors );
-					return;
-				}
-
-				$approval = $wgRequest->getVal( 'wlActionCommentApprove' );
-
-				# Approve or reject a pending comment.
-				if ( $approval ) {
-					return $this->setCommentApproval( $this->mSingleComment, $approval );
-				}
-			}
-		}
-
-		$wgOut->showErrorPage( 'nosuchaction', 'nosuchactiontext' );
-	}
-
-	/**
-	 * Override Article::hasViewableContent() so that it doesn't return 404
-	 * if the item page exists.
-	 */
-	public function hasViewableContent() {
-		return parent::hasViewableContent() ||
-			( $this->mItem !== null && $this->mItem->exists() );
-	}
-
-	/**
-	 * Generates and returns a "post new comment" form for the user to fill in
-	 * and submit.
-	 *
-	 * @param $parent If provided, generates a "post reply" form to reply to
-	 *   the given comment.
-	 */
-	public function getPostCommentForm( $parent = null ) {
-		global $wgUser, $wgScript;
-		global $wgWikilogModerateAnonymous;
-
-		$comment = $this->mPostedComment;
-		$opts = $this->mFormOptions;
-
-		$preview = '';
-		$pid = $parent ? $parent->mID : null;
-		if ( $comment && $comment->mParent == $pid ) {
-			$check = $this->validateComment( $comment );
-			if ( $check ) {
-				$preview = Xml::wrapClass( wfMessage( $check )->text(), 'mw-warning', 'div' );
-			} else {
-				$preview = $this->mFormatter->formatComment( $this->mPostedComment );
-			}
-			$header = wfMessage( 'wikilog-form-preview' )->escaped();
-			$preview = "<b>{$header}</b>{$preview}<hr/>";
-		}
-
-		$form =
-			Html::hidden( 'title', $this->getTitle()->getPrefixedText() ) .
-			Html::hidden( 'action', 'wikilog' ) .
-			Html::hidden( 'wpEditToken', $wgUser->getEditToken() ) .
-			( $parent ? Html::hidden( 'wlParent', $parent->mID ) : '' );
-
-		$fields = array();
-
-		if ( $wgUser->isLoggedIn() ) {
-			$fields[] = array(
-				wfMessage( 'wikilog-form-name' )->text(),
-				Linker::userLink( $wgUser->getId(), $wgUser->getName() )
-			);
-		} else {
-			$loginTitle = SpecialPage::getTitleFor( 'Userlogin' );
-			$loginLink = Linker::link( $loginTitle,
-				wfMessage( 'loginreqlink' )->escaped(), array(),
-				array( 'returnto' => $this->getTitle()->getPrefixedUrl() )
-			);
-			$message = wfMessage( 'wikilog-posting-anonymously', $loginLink )->text();
-			$fields[] = array(
-				Xml::label( wfMessage( 'wikilog-form-name' )->text(), 'wl-name' ),
-				Xml::input( 'wlAnonName', 25, $opts->consumeValue( 'wlAnonName' ),
-					array( 'id' => 'wl-name', 'maxlength' => 255 ) ) .
-					"<p>{$message}</p>"
-			);
-		}
-
-		$autofocus = $parent ? array( 'autofocus' => 'autofocus' ) : array();
-		$fields[] = array(
-			Xml::label( wfMessage( 'wikilog-form-comment' )->text(), 'wl-comment' ),
-			Xml::textarea( 'wlComment', $opts->consumeValue( 'wlComment' ),
-				40, 5, array( 'id' => 'wl-comment' ) + $autofocus )
-		);
-
-		if ( $this->mCaptchaForm ) {
-			$fields[] = array( '', $this->mCaptchaForm );
-		}
-
-		if ( $wgWikilogModerateAnonymous && $wgUser->isAnon() ) {
-			$fields[] = array( '', wfMessage( 'wikilog-anonymous-moderated' )->text() );
-		}
-
-		$fields[] = array( '',
-			Xml::submitbutton( wfMessage( 'wikilog-submit' )->text(), array( 'name' => 'wlActionCommentSubmit' ) ) . WL_NBSP .
-			Xml::submitbutton( wfMessage( 'wikilog-preview' )->text(), array( 'name' => 'wlActionCommentPreview' ) )
-		);
-
-		$form .= WikilogUtils::buildForm( $fields );
-
-		foreach ( $opts->getUnconsumedValues() as $key => $value ) {
-			$form .= Html::hidden( $key, $value );
-		}
-
-		$form = Xml::tags( 'form', array(
-			'action' => "{$wgScript}#wl-comment-form",
-			'method' => 'post'
-		), $form );
-
-		$msgid = ( $parent ? 'wikilog-post-reply' : 'wikilog-post-comment' );
-		return Xml::fieldset( wfMessage( $msgid )->text(), $preview . $form,
-			array( 'id' => 'wl-comment-form' ) ) . "\n";
-	}
-
-	/**
-	 * @todo (In Wikilog 1.3.x) Replace GAID_FOR_UPDATE with
-	 *    Title::GAID_FOR_UPDATE.
-	 */
-	protected function setCommentApproval( $comment, $approval ) {
-		global $wgOut;
-
-		# Check if comment is really awaiting moderation.
-		if ( $comment->mStatus != WikilogComment::S_PENDING ) {
-			$wgOut->showErrorPage( 'nosuchaction', 'nosuchactiontext' );
-			return;
-		}
-
-		$log = new LogPage( 'wikilog' );
-		$title = $comment->getCommentArticleTitle();
-
-		if ( $approval == 'approve' ) {
-			$comment->mStatus = WikilogComment::S_OK;
-			$comment->saveComment();
-			$log->addEntry( 'c-approv', $title, '' );
-			$wgOut->redirect( $this->mTalkTitle->getFullUrl() );
-		} elseif ( $approval == 'reject' ) {
-			$reason = wfMessage( 'wikilog-log-cmt-rejdel', $comment->mUserText )
-				->inContentLanguage()
-				->parse();
-			if ( $this->doDeleteArticle( $reason, false ) ) {
-				$comment->deleteComment();
-				$log->addEntry( 'c-reject', $title, '' );
-				$wgOut->redirect( $this->mTalkTitle->getFullUrl() );
-			} else {
-				$log = new LogPage( 'delete' );
-				$wgOut->showFatalError( wfMessage( 'cannotdelete' )->parse() );
-				$wgOut->addHTML( Xml::element( 'h2', null, $log->getName() ) );
-				LogEventsList::showLogExtract( $wgOut, 'delete', $this->mTitle->getPrefixedText() );
-			}
-		} else {
-			$wgOut->showErrorPage( 'nosuchaction', 'nosuchactiontext' );
-		}
-	}
-
-	/**
-	 * Validates and saves a new comment. Redirects back to the comments page.
-	 * @param $comment Posted comment.
-	 */
-	protected function postComment( WikilogComment &$comment ) {
-		global $wgOut, $wgUser;
-		global $wgWikilogModerateAnonymous;
-
-		$check = $this->validateComment( $comment );
-
-		if ( $check !== false ) {
-			return $this->view();
-		}
-
-		# Check through captcha.
-		if ( !WlCaptcha::confirmEdit( $this->getTitle(), $comment->getText() ) ) {
-			$this->mCaptchaForm = WlCaptcha::getCaptchaForm();
-			$wgOut->setPageTitle( $this->mTitle->getPrefixedText() );
-			$wgOut->setRobotPolicy( 'noindex,nofollow' );
-			$wgOut->addHtml( $this->getPostCommentForm( $comment->mParent ) );
-			return;
-		}
-
-		# Limit rate of comments.
-		if ( $wgUser->pingLimiter() ) {
-			$wgOut->rateLimited();
-			return;
-		}
-
-		# Set pending state if moderated.
-		if ( $comment->mUserID == 0 && $wgWikilogModerateAnonymous ) {
-			$comment->mStatus = WikilogComment::S_PENDING;
-		}
-
-		if ( !$this->exists() ) {
-			# Initialize a blank talk page.
-			$user = User::newFromName( wfMessage( 'wikilog-auto' )->inContentLanguage()->text(), false );
-			$pageContent = ContentHandler::makeContent(
-				wfMessage( 'wikilog-newtalk-text' )->inContentLanguage()->text(),
-				$this->getTitle()
-			);
-			$this->doEditContent(
-				$pageContent,
-				wfMessage( 'wikilog-newtalk-summary' )->inContentLanguage()->text(),
-				EDIT_NEW | EDIT_SUPPRESS_RC, false, $user
-			);
-		}
-
-		$comment->saveComment();
-
-		$dest = $this->getTitle();
-		$dest->setFragment( "#c{$comment->mID}" );
-		$wgOut->redirect( $dest->getFullUrl() );
-	}
-
-	/**
-	 * Returns a new non-validated WikilogComment object with the contents
-	 * posted using the post comment form. The result should be validated
-	 * using validateComment() before using.
-	 */
-	protected function getPostedComment() {
-		global $wgUser, $wgRequest;
-
-		$parent = $wgRequest->getIntOrNull( 'wlParent' );
-		$anonname = trim( $wgRequest->getText( 'wlAnonName' ) );
-		$text = trim( $wgRequest->getText( 'wlComment' ) );
-
-		$comment = WikilogComment::newFromText( $this->mItem, $text, $parent );
-		$comment->setUser( $wgUser );
-		if ( $wgUser->isAnon() ) {
-			$comment->setAnon( $anonname );
-		}
-		return $comment;
-	}
-
-	/**
-	 * Checks if the given comment is valid for posting.
-	 * @param $comment Comment to validate.
-	 * @return False if comment is valid, error message identifier otherwise.
-	 */
-	protected static function validateComment( WikilogComment &$comment ) {
-		global $wgWikilogMaxCommentSize;
-
-		$length = strlen( $comment->mText );
-
-		if ( $length == 0 ) {
-			return 'wikilog-comment-is-empty';
-		}
-		if ( $length > $wgWikilogMaxCommentSize ) {
-			return 'wikilog-comment-too-long';
-		}
-
-		if ( $comment->mUserID == 0 ) {
-			$anonname = User::getCanonicalName( $comment->mAnonName, 'usable' );
-			if ( !$anonname ) {
-				return 'wikilog-comment-invalid-name';
-			}
-			$comment->setAnon( $anonname );
-		}
-
-		return false;
-	}
-}
diff --git a/WikilogDefaultSettings.php b/WikilogDefaultSettings.php
deleted file mode 100644
index 3db3d0b..0000000
--- a/WikilogDefaultSettings.php
+++ /dev/null
@@ -1,218 +0,0 @@
-<?php
-/**
- * MediaWiki Wikilog extension
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-if ( !defined( 'MEDIAWIKI' ) )
-	die();
-
-/**
- *              --- DO NOT MAKE CHANGES TO THESE VALUES ---
- *
- * In order to configure the extension, copy the variables you want to change
- * to your LocalSettings.php file, and change them there, not here.
- */
-
-/* *** Tagging entity *** */
-
-/**
- * A string in the format "example.org,date", according to RFC 4151, that will
- * be used as taggingEntity in order to create feed item tags.
- */
-$wgTaggingEntity = false;
-
-/* *** Cascading style sheets *** */
-
-/**
- * Path of Wikilog style and image files.
- * Defaults to "$wgScriptPath/extensions/Wikilog/style".
- */
-$wgWikilogStylePath = false;
-
-/**
- * Wikilog style version, incremented when $wgWikilogStylePath/wikilog.css
- * is changed.
- */
-$wgWikilogStyleVersion = 6;
-
-/* *** Presentation options *** */
-
-/**
- * Maximum number of articles to display in wikilog front pages, or comments
- * in article discussion pages.
- *
- * Each article and comment is stored as a wiki page and, in order to
- * display them, they may need to be parsed (if they are not cached) which
- * is a little expensive. So, the number of articles or comments to show
- * per page is limited by this variable, which has the same purpose of
- * $wgFeedLimit and thus inherits its value by default.
- *
- * A good value is 50. More than this not only impacts performance, it
- * allows long pages of articles or comments that has little value over
- * smaller pages.
- *
- * @note This variable replaced the older $wgWikilogSummaryLimit.
- * @since Wikilog v1.1.0.
- */
-$wgWikilogExpensiveLimit = $wgFeedLimit;
-
-/**
- * Default number of articles to list in the wikilog front page and in
- * Special:Wikilog.
- */
-$wgWikilogNumArticles = 20;
-
-/**
- * Default number of comments to list in wikilog comment pages.
- * @since Wikilog v1.1.0.
- */
-$wgWikilogNumComments = 50;
-
-/**
- * Allow listing of categories and tags for each article in the wikilog
- * front page and in Special:Wikilog, in the header and footer of each entry.
- * This is a little expensive and not used by default, so it is disabled.
- *
- * After enabling this option, system messages 'wikilog-summary-header',
- * 'wikilog-summary-footer', 'wikilog-summary-header-single' and
- * 'wikilog-summary-footer-single' should be modified to include parameters
- * $11 - $14.
- *
- * @since Wikilog v1.1.0.
- */
-$wgWikilogExtSummaries = false;
-
-/* *** Editing *** */
-
-/**
- * Publish new articles by default. When creating new wikilog articles,
- * if this variable is set to true, the default value of the "Sign and
- * publish this article" checkbox will be checked, which means that saving
- * the article will automatically sign and publish it. In order to save
- * the article as draft, the user would have to uncheck the box before
- * saving.
- * @since Wikilog v1.0.1.
- */
-$wgWikilogSignAndPublishDefault = false;
-
-/* *** Authors *** */
-
-/**
- * Maximum number of authors of a wikilog article.
- */
-$wgWikilogMaxAuthors = 6;
-
-/* *** Categories and tags *** */
-
-/**
- * Enable use of tags. This is disabled by default since MediaWiki category
- * system already provides similar functionality, and are the preferred way
- * of organizing wikilog posts. Enable this if you want or need an additional
- * mechanism for organizing that is independent from categories, and specific
- * for wikilog posts.
- *
- * Even if disabled, tags are still recorded. This configuration only affects
- * the ability of performing queries based on tags. This is so that it could
- * be enabled and disabled without having to perform maintenance on the
- * database.
- */
-$wgWikilogEnableTags = false;
-
-/**
- * Maximum number of tags in a wikilog post.
- */
-$wgWikilogMaxTags = 25;
-
-/* *** Comments *** */
-
-/**
- * Enable wikilog article commenting interface. When disabled, commenting is
- * still possible through article talk pages, like normal wiki pages.
- */
-$wgWikilogEnableComments = true;
-
-/**
- * Maximum size for wikilog article comments, in bytes.
- */
-$wgWikilogMaxCommentSize = 2048;	// bytes
-
-/**
- * Moderation options for comments. When set to true, new comments by anonymous
- * users will be placed in a pending state until someone with 'wl-moderation'
- * right approves it.
- *
- * @note No option of moderation for logged-in users is provided, it doesn't
- * make a lot of sense for a wiki. If this is your case, check if what you
- * need isn't better accomplished with user rights or anti-spam filters.
- */
-$wgWikilogModerateAnonymous = false;
-
-/* *** Syndication feeds *** */
-
-/**
- * Syndication feed classes. Similar to $wgFeedClasses.
- */
-$wgWikilogFeedClasses = array(
-	'atom' => 'WlAtomFeed',
-	'rss'  => 'WlRSSFeed'
-);
-
-/**
- * Enable or disable output of summary or content in wikilog feeds. At least
- * one of them MUST be true.
- */
-$wgWikilogFeedSummary = true;
-$wgWikilogFeedContent = true;
-
-/**
- * Enable output of article categories in wikilog feeds.
- */
-$wgWikilogFeedCategories = true;
-
-/**
- * Enable output of external references in wikilog feeds.
- */
-$wgWikilogFeedRelated = false;
-
-/* *** Namespaces *** */
-
-/**
- * Namespaces used for wikilogs.
- */
-$wgWikilogNamespaces = array();
-
-/* *** Debugging *** */
-
-/**
- * Use a clone of the global parser object instead of creating a new instance.
- *
- * Optimally this setting would be disabled by default, since the parser is
- * not designed to be cloned. Such usage may cause problems. But there are
- * many broken extensions that don't properly initialize a second parser
- * instance that is needed for parsing articles for syndication feeds. The
- * default is to clone since this seems to work better.
- */
-$wgWikilogCloneParser = true;
diff --git a/WikilogFeed.php b/WikilogFeed.php
deleted file mode 100644
index 9deb8e4..0000000
--- a/WikilogFeed.php
+++ /dev/null
@@ -1,864 +0,0 @@
-<?php
-/**
- * MediaWiki Wikilog extension
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-if ( !defined( 'MEDIAWIKI' ) )
-	die();
-
-/**
- * Syndication feed driver base class.
- * Loosely based on Pager/IndexPager classes.
- */
-abstract class WikilogFeed
-{
-	/// Feed title object, used for identification and self URL.
-	protected $mTitle;
-
-	/// Feed format, either 'atom' or 'rss'.
-	protected $mFormat;
-
-	/// Wikilog query object. Contains the options that drives the database
-	/// queries.
-	protected $mQuery;
-
-	/// Number of feed items to output.
-	protected $mLimit;
-
-	/// Database object.
-	protected $mDb;
-
-	/// The index to use for ordering.
-	protected $mIndexField;
-
-	/// Result object for the query.
-	protected $mResult;
-
-	/// Copyright notice.
-	protected $mCopyright;
-
-	/**
-	 * List of query parameters that are allowed for feeds. Note that adding
-	 * to this list means that feed caching should be revisited. Parameters
-	 * must be listed as keys.
-	 */
-	public static $paramWhitelist = array( 'wikilog' => true, 'show' => true );
-
-	/**
-	 * WikilogFeed constructor.
-	 *
-	 * @param $title Title  Feed title and URL.
-	 * @param $format string  Feed format ('atom' or 'rss').
-	 * @param $query WikilogQuery  Query options.
-	 * @param $limit integer  Number of items to generate.
-	 */
-	public function __construct( Title $title, $format, WikilogQuery $query, $limit )
-	{
-		global $wgOut;
-
-		$this->mTitle = $title;
-		$this->mFormat = $format;
-		$this->mQuery = $query;
-		$this->mLimit = $limit;
-		$this->mDb = wfGetDB( DB_SLAVE );
-		$this->mIndexField = $this->getIndexField();
-
-		# Retrieve copyright notice.
-		$skin = $wgOut->getSkin();
-		$saveExpUrls = WikilogParser::expandLocalUrls();
-		$this->mCopyright = $skin->getCopyright( 'normal' );
-		WikilogParser::expandLocalUrls( $saveExpUrls );
-	}
-
-	/**
-	 * Execute the feed driver, generating the syndication feed and printing
-	 * the results.
-	 */
-	public function execute() {
-		global $wgOut;
-
-		if ( !$this->checkFeedOutput() )
-			return;
-
-		$feed = $this->getFeedObject();
-
-		if ( !$feed ) {
-			wfHttpError( 404, "Not found",
-				"There is no such wikilog feed available from this site." );
-			return;
-		}
-
-		list( $timekey, $feedkey ) = $this->getCacheKeys();
-		FeedUtils::checkPurge( $timekey, $feedkey );
-
-		if ( $feed->isCacheable() ) {
-			# Check if client cache is ok.
-			if ( $wgOut->checkLastModified( $feed->getUpdated() ) ) {
-				# Client cache is fresh. OutputPage takes care of sending
-				# the appropriate headers, nothing else to do.
-				return;
-			}
-
-			# Try to load the feed from our cache.
-			$cached = $this->loadFromCache( $feed->getUpdated(), $timekey, $feedkey );
-
-			if ( is_string( $cached ) ) {
-				wfDebug( __METHOD__ . ": Outputting cached feed\n" );
-				$feed->httpHeaders();
-				echo $cached;
-			} else {
-				wfDebug( __METHOD__ . ": rendering new feed and caching it\n" );
-				ob_start();
-				$this->printFeed( $feed );
-				$cached = ob_get_contents();
-				ob_end_flush();
-				$this->saveToCache( $cached, $timekey, $feedkey );
-			}
-		} else {
-			# This feed is not cacheable.
-			$this->printFeed( $feed );
-		}
-	}
-
-	/**
-	 * Generates the list of entries for a given feed and print the resulting
-	 * feed document.
-	 * @param $feed Prepared syndication feed object.
-	 */
-	public function printFeed( $feed ) {
-		$feed->outHeader();
-
-		$this->doQuery();
-		$numRows = min( $this->mResult->numRows(), $this->mLimit );
-
-		wfDebug( __METHOD__ . ": Feed query returned $numRows results.\n" );
-
-		if ( $numRows ) {
-			$this->mResult->rewind();
-			for ( $i = 0; $i < $numRows; $i++ ) {
-				$row = $this->mResult->fetchObject();
-				$feed->outEntry( $this->formatFeedEntry( $row ) );
-			}
-		}
-
-		$feed->outFooter();
-	}
-
-	/**
-	 * Performs the database query that returns the syndication feed entries
-	 * and store the result wrapper in $this->mResult.
-	 */
-	public function doQuery() {
-		$fname = __METHOD__ . ' (' . get_class( $this ) . ')';
-		wfProfileIn( $fname );
-
-		$this->mResult = $this->reallyDoQuery( $this->mLimit );
-
-		wfProfileOut( $fname );
-	}
-
-	/**
-	 * Performs the database query and return the result wrapper.
-	 * @param $limit Maximum number of entries to return.
-	 * @return ResultWrapper  The database query ResultWrapper object.
-	 */
-	public function reallyDoQuery( $limit ) {
-		$fname = __METHOD__ . ' (' . get_class( $this ) . ')';
-		$info = $this->getQueryInfo();
-		$tables = $info['tables'];
-		$fields = $info['fields'];
-		$conds = isset( $info['conds'] ) ? $info['conds'] : array();
-		$options = isset( $info['options'] ) ? $info['options'] : array();
-		$join_conds = isset( $info['join_conds'] ) ? $info['join_conds'] : array();
-		$options['ORDER BY'] = $this->mIndexField . ' DESC';
-		$options['LIMIT'] = intval( $limit );
-		$res = $this->mDb->select( $tables, $fields, $conds, $fname, $options, $join_conds );
-		return new ResultWrapper( $this->mDb, $res );
-	}
-
-	/**
-	 * Returns the query information.
-	 */
-	public function getQueryInfo() {
-		return $this->mQuery->getQueryInfo( $this->mDb );
-	}
-
-	/**
-	 * Save feed output to cache.
-	 *
-	 * @param $feed Feed output.
-	 * @param $timekey Object cache key for the cached feed timestamp.
-	 * @param $feedkey Object cache key for the cached feed output.
-	 */
-	public function saveToCache( $feed, $timekey, $feedkey ) {
-		global $messageMemc;
-		$messageMemc->set( $feedkey, $feed );
-		$messageMemc->set( $timekey, wfTimestamp( TS_MW ), 24 * 3600 );
-	}
-
-	/**
-	 * Load feed output from cache.
-	 *
-	 * @param $tsData Timestamp of the last change of the local data.
-	 * @param $timekey Object cache key for the cached feed timestamp.
-	 * @param $feedkey Object cache key for the cached feed output.
-	 * @return The cached feed output if cache is good, false otherwise.
-	 * @todo Remove Mw1.15- guard for OutputPage::setLastModified().
-	 */
-	public function loadFromCache( $tsData, $timekey, $feedkey ) {
-		global $wgFeedCacheTimeout, $wgOut, $messageMemc;
-		$tsCache = $messageMemc->get( $timekey );
-
-		if ( ( $wgFeedCacheTimeout > 0 ) && $tsCache ) {
-			$age = time() - wfTimestamp( TS_UNIX, $tsCache );
-
-			if ( $age < $wgFeedCacheTimeout ) {
-				wfDebug( "Wikilog: loading feed from cache -- " .
-					"too young: age ($age) < timeout ($wgFeedCacheTimeout) " .
-					"($feedkey; $tsCache; $tsData)\n" );
-
-				$wgOut->setLastModified( $tsCache );
-
-				return $messageMemc->get( $feedkey );
-			} elseif ( $tsCache >= $tsData ) {
-				wfDebug( __METHOD__ . ": loading feed from cache -- " .
-					"not modified: cache ($tsCache) >= data ($tsData)" .
-					"($feedkey)\n" );
-				return $messageMemc->get( $feedkey );
-			} else {
-				wfDebug( __METHOD__ . ": cached feed timestamp check failed -- " .
-					"cache ($tsCache) < data ($tsData)\n" );
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * This function should be overridden to return the index that will be
-	 * used to perform the query.
-	 */
-	abstract public function getIndexField();
-
-	/**
-	 * This function should be overridden to return a WlSyndicationFeed
-	 * object representing the top-level feed object.
-	 */
-	abstract public function getFeedObject();
-
-	/**
-	 * This function should be overriden to format a database result row
-	 * into a WlSyndicationEntry object.
-	 */
-	abstract public function formatFeedEntry( $row );
-
-	/**
-	 * Returns the keys for the timestamp and feed output in the object
-	 * cache.
-	 */
-	abstract public function getCacheKeys();
-
-	/**
-	 * Shadowed from FeedUtils::checkFeedOutput(). The difference is that
-	 * this version checks against $wgWikilogFeedClasses instead of
-	 * $wgFeedClasses.
-	 */
-	protected function checkFeedOutput() {
-		global $wgOut, $wgFeed, $wgWikilogFeedClasses;
-		if ( !$wgFeed ) {
-			$wgOut->addWikiMsg( 'feed-unavailable' );
-			return false;
-		}
-		if ( !isset( $wgWikilogFeedClasses[$this->mFormat] ) ) {
-			wfHttpError( 500, "Internal Server Error", "Unsupported feed type." );
-			return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Find and add categories for the given feed or entry.
-	 */
-	protected function addCategories( WlSyndicationBase $obj, $pageid ) {
-		$scheme = SpecialPage::getTitleFor( 'Categories' )->getFullUrl();
-		$res = $this->mDb->select(
-			array( 'categorylinks', 'page', 'page_props' ),
-			array( 'page_title' ),
-			array( /* conds */
-				'cl_from' => $pageid,
-				'page_title IS NOT NULL',
-				'pp_value IS NULL'
-			), __METHOD__,
-			array( /* options */ ),
-			array( /* joins */
-				'page' => array( 'LEFT JOIN', array(
-					'page_namespace' => NS_CATEGORY,
-					'page_title = cl_to'
-				) ),
-				'page_props' => array( 'LEFT JOIN', array(
-					'pp_propname' => 'hiddencat',
-					'pp_page = page_id'
-				) )
-			)
-		);
-		foreach ( $res as $row ) {
-			$term = $row->page_title;
-			$label = preg_replace( '/(?:.*\/)?(.+?)(?:\s*\(.*\))?/', '$1', $term );
-			$label = str_replace( '_', ' ', $label );
-			$obj->addCategory( $term, $scheme, $label );
-		}
-	}
-}
-
-/**
- * Syndication item feed generator. Creates feeds from a list of wikilog
- * articles, given a format and a query object.
- */
-class WikilogItemFeed
-	extends WikilogFeed
-{
-	/// Whether this is a site feed (Special:Wikilog) or not.
-	protected $mSiteFeed;
-
-	/**
-	 * WikilogItemFeed constructor.
-	 *
-	 * @param $title Title  Feed title and URL.
-	 * @param $format string  Feed format ('atom' or 'rss').
-	 * @param $query WikilogItemQuery  Query options.
-	 * @param $limit integer  Number of items to generate.
-	 */
-	public function __construct( Title $title, $format, WikilogItemQuery $query,
-			$limit = false )
-	{
-		global $wgWikilogNumArticles;
-
-		if ( !$limit ) $limit = $wgWikilogNumArticles;
-		parent::__construct( $title, $format, $query, $limit );
-		$this->mSiteFeed = $this->mQuery->getWikilogTitle() === null;
-	}
-
-	public function getIndexField() {
-		return 'wlp_pubdate';
-	}
-
-	public function doQuery() {
-		$this->mQuery->setOption( 'last-comment-timestamp' );
-		return parent::doQuery();
-	}
-
-	public function getFeedObject() {
-		if ( $this->mQuery->getWikilogTitle() ) {
-			return $this->getWikilogFeedObject( $this->mQuery->getWikilogTitle() );
-		} elseif ( $this->mQuery->getNamespace() !== false ) {
-			return $this->getNamespaceFeedObject( $this->mQuery->getNamespace() );
-		} else {
-			return $this->getSiteFeedObject();
-		}
-	}
-
-	/**
-	 * Generates and populates a WlSyndicationFeed object for the site.
-	 *
-	 * @return Feed object.
-	 */
-	protected function getSiteFeedObject() {
-		global $wgContLanguageCode, $wgWikilogFeedClasses, $wgFavicon, $wgLogo;
-		$title = wfMessage( 'wikilog-specialwikilog-title' )->inContentLanguage()->text();
-		$subtitle = wfMessage( 'wikilog-feed-description' )->inContentLanguage()->parse();
-
-		$updated = $this->mDb->selectField( 'wikilog_wikilogs',
-			'MAX(wlw_updated)', false, __METHOD__ );
-		if ( !$updated ) $updated = wfTimestampNow();
-
-		$feed = new $wgWikilogFeedClasses[$this->mFormat](
-			$this->mTitle->getFullUrl(),
-			wfMessage( 'wikilog-feed-title', $title, $wgContLanguageCode )->text(),
-			$updated,
-			$this->mTitle->getFullUrl()
-		);
-		$feed->setSubtitle( new WlTextConstruct( 'html', $subtitle ) );
-		$feed->setLogo( wfExpandUrl( $wgLogo ) );
-		if ( $wgFavicon !== false ) {
-			$feed->setIcon( wfExpandUrl( $wgFavicon ) );
-		}
-		if ( $this->mCopyright ) {
-			$feed->setRights( new WlTextConstruct( 'html', $this->mCopyright ) );
-		}
-		return $feed;
-	}
-
-	/**
-	 * Generates and populates a WlSyndicationFeed object for a given namespace.
-	 *
-	 * @param $ns Namespace.
-	 * @return Feed object.
-	 */
-	protected function getNamespaceFeedObject( $ns ) {
-		global $wgWikilogFeedClasses, $wgFavicon, $wgLogo;
-		global $wgContLang, $wgContLanguageCode;
-
-		$title = wfMessage(
-			'wikilog-feed-ns-title',
-			$wgContLang->getFormattedNsText( $ns )
-		)->inContentLanguage()->text();
-		$subtitle = wfMessage( 'wikilog-feed-description' )->inContentLanguage()->parse();
-
-		$updated = $this->mDb->selectField(
-			array( 'wikilog_wikilogs', 'page' ),
-			'MAX(wlw_updated)',
-			array(
-				'wlw_page = page_id',
-				'page_namespace' => $ns
-			),
-			__METHOD__
-		);
-		if ( !$updated ) $updated = wfTimestampNow();
-
-		$feed = new $wgWikilogFeedClasses[$this->mFormat](
-			$this->mTitle->getFullUrl(),
-			wfMessage( 'wikilog-feed-title', $title, $wgContLanguageCode )->text(),
-			$updated,
-			$this->mTitle->getFullUrl()
-		);
-		$feed->setSubtitle( new WlTextConstruct( 'html', $subtitle ) );
-		$feed->setLogo( wfExpandUrl( $wgLogo ) );
-		if ( $wgFavicon !== false ) {
-			$feed->setIcon( wfExpandUrl( $wgFavicon ) );
-		}
-		if ( $this->mCopyright ) {
-			$feed->setRights( new WlTextConstruct( 'html', $this->mCopyright ) );
-		}
-		return $feed;
-	}
-
-	/**
-	 * Generates and populates a WlSyndicationFeed object for the given
-	 * wikilog. Caches objects whenever possible.
-	 *
-	 * @param $wikilogTitle Title object for the wikilog.
-	 * @return Feed object, or NULL if wikilog doesn't exist.
-	 */
-	protected function getWikilogFeedObject( $wikilogTitle, $forsource = false ) {
-		static $wikilogCache = array();
-		global $wgContLanguageCode, $wgWikilogFeedClasses;
-		global $wgWikilogFeedCategories;
-
-		$title = $wikilogTitle->getPrefixedText();
-		if ( !isset( $wikilogCache[$title] ) ) {
-			$row = $this->mDb->selectRow( 'wikilog_wikilogs',
-				array(
-					'wlw_page', 'wlw_subtitle',
-					'wlw_icon', 'wlw_logo', 'wlw_authors',
-					'wlw_updated'
-				),
-				array( 'wlw_page' => $wikilogTitle->getArticleID() ),
-				__METHOD__
-			);
-			if ( $row !== false ) {
-				$self = $forsource
-					 ? $wikilogTitle->getFullUrl( "feed={$this->mFormat}" )
-					 : null;
-				$feed = new $wgWikilogFeedClasses[$this->mFormat](
-					$wikilogTitle->getFullUrl(),
-					wfMessage( 'wikilog-feed-title', $title, $wgContLanguageCode )
-						->inContentLanguage()
-						->text(),
-					$row->wlw_updated, $wikilogTitle->getFullUrl(), $self
-				);
-				if ( $row->wlw_subtitle ) {
-					$st = @ unserialize( $row->wlw_subtitle );
-					if ( is_array( $st ) ) {
-						$feed->setSubtitle( new WlTextConstruct( $st[0], $st[1] ) );
-					} elseif ( is_string( $st ) ) {
-						$feed->setSubtitle( $st );
-					}
-				}
-				if ( $row->wlw_icon ) {
-					$t = Title::makeTitle( NS_FILE, $row->wlw_icon );
-					$feed->setIcon( wfFindFile( $t ) );
-				}
-				if ( $row->wlw_logo ) {
-					$t = Title::makeTitle( NS_FILE, $row->wlw_logo );
-					$feed->setLogo( wfFindFile( $t ) );
-				}
-				if ( $wgWikilogFeedCategories ) {
-					$this->addCategories( $feed, $row->wlw_page );
-				}
-				if ( $row->wlw_authors ) {
-					$authors = unserialize( $row->wlw_authors );
-					foreach ( $authors as $user => $userid ) {
-						$usertitle = Title::makeTitle( NS_USER, $user );
-						$feed->addAuthor( $user, $usertitle->getFullUrl() );
-					}
-				}
-				if ( $this->mCopyright ) {
-					$feed->setRights( new WlTextConstruct( 'html', $this->mCopyright ) );
-				}
-			} else {
-				$feed = false;
-			}
-			$wikilogCache[$title] =& $feed;
-		}
-		return $wikilogCache[$title];
-	}
-
-	/**
-	 * Generates and returns a single feed entry.
-	 * @param $row The wikilog article database entry.
-	 * @return A new WlSyndicationEntry object.
-	 */
-	public function formatFeedEntry( $row ) {
-		global $wgMimeType;
-		global $wgWikilogFeedSummary, $wgWikilogFeedContent;
-		global $wgWikilogFeedCategories, $wgWikilogFeedRelated;
-		global $wgWikilogEnableComments;
-
-		# Make titles.
-		$wikilogName = str_replace( '_', ' ', $row->wlw_title );
-		$wikilogTitle =& Title::makeTitle( $row->wlw_namespace, $row->wlw_title );
-		$itemName = str_replace( '_', ' ', $row->wlp_title );
-		$itemTitle =& Title::makeTitle( $row->page_namespace, $row->page_title );
-
-		# Retrieve page parser output
-		$parserOutput = WikilogUtils::parsedPage( $itemTitle, true );
-
-		# Generate some fixed bits
-		$authors = unserialize( $row->wlp_authors );
-
-		# Create new syndication entry.
-		$entry = new WlSyndicationEntry(
-			self::makeEntryId( $itemTitle ),
-			$itemName,
-			$row->wlp_updated,
-			$itemTitle->getFullUrl()
-		);
-
-		# Comments link.
-		$cmtLink = array(
-			'href' => $itemTitle->getTalkPage()->getFullUrl(),
-			'type' => $wgMimeType
-		);
-		if ( $wgWikilogEnableComments ) {
-			$cmtLink['thr:count'] = $row->wlp_num_comments;
-			if ( !is_null( $row->_wlp_last_comment_timestamp ) ) {
-				$cmtLink['thr:updated'] = wfTimestamp( TS_ISO_8601, $row->_wlp_last_comment_timestamp );
-			}
-		}
-		$entry->addLinkRel( 'replies', $cmtLink );
-
-		# Source feed.
-		if ( $this->mSiteFeed ) {
-			$privfeed = $this->getWikilogFeedObject( $wikilogTitle, true );
-			if ( $privfeed ) {
-				$entry->setSource( $privfeed );
-			}
-		}
-
-		# Retrieve summary and content.
-		list( $summary, $content ) = WikilogUtils::splitSummaryContent( $parserOutput );
-
-		if ( $wgWikilogFeedSummary && $summary ) {
-			$entry->setSummary( new WlTextConstruct( 'html', $summary ) );
-		}
-		if ( $wgWikilogFeedContent && $content ) {
-			$entry->setContent( new WlTextConstruct( 'html', $content ) );
-		}
-
-		# Authors.
-		foreach ( $authors as $user => $userid ) {
-			$usertitle = Title::makeTitle( NS_USER, $user );
-			$entry->addAuthor( $user, $usertitle->getFullUrl() );
-		}
-
-		# Automatic list of categories.
-		if ( $wgWikilogFeedCategories ) {
-			$this->addCategories( $entry, $row->wlp_page );
-		}
-
-		# Automatic list of related links.
-		if ( $wgWikilogFeedRelated ) {
-			$externals = array_keys( $parserOutput->getExternalLinks() );
-			foreach ( $externals as $ext ) {
-				$entry->addLinkRel( 'related', array( 'href' => $ext ) );
-			}
-		}
-
-		if ( $row->wlp_publish ) {
-			$entry->setPublished( $row->wlp_pubdate );
-		}
-
-		return $entry;
-	}
-
-	/**
-	 * Returns the keys for the timestamp and feed output in the object cache.
-	 */
-	public function getCacheKeys() {
-		if ( ( $title = $this->mQuery->getWikilogTitle() ) ) {
-			$id = 'id:' . $title->getArticleID();
-		} elseif ( ( $ns = $this->mQuery->getNamespace() ) ) {
-			$id = 'ns:' . $ns;
-		} else {
-			$id = 'site';
-		}
-		$ft = 'show:' . $this->mQuery->getPubStatus() .
-			':limit:' . $this->mLimit;
-		return array(
-			wfMemcKey( 'wikilog', $this->mFormat, $id, 'timestamp' ),
-			wfMemcKey( 'wikilog', $this->mFormat, $id, $ft )
-		);
-	}
-
-	/**
-	 * Creates an unique ID for a feed entry. Tries to use $wgTaggingEntity
-	 * if possible in order to create an RFC 4151 tag, otherwise, we use the
-	 * page URL.
-	 */
-	public static function makeEntryId( $title ) {
-		global $wgTaggingEntity;
-		if ( $wgTaggingEntity ) {
-			$qstr = wfArrayToCGI( array( 'wk' => wfWikiID(), 'id' => $title->getArticleID() ) );
-			return "tag:{$wgTaggingEntity}:/MediaWiki/Wikilog?{$qstr}";
-		} else {
-			return $title->getFullUrl();
-		}
-	}
-}
-
-/**
- * Syndication feed generator for wikilog comments.
- */
-class WikilogCommentFeed
-	extends WikilogFeed
-{
-	/**
-	 * If displaying comments for a single article.
-	 */
-	protected $mSingleItem = false;
-
-	/**
-	 * WikilogCommentFeed constructor.
-	 *
-	 * @param $title Title  Feed title and URL.
-	 * @param $format string  Feed format ('atom' or 'rss').
-	 * @param $query WikilogCommentQuery  Query parameters.
-	 * @param $limit integer  Number of items to generate.
-	 */
-	public function __construct( Title $title, $format,
-			WikilogCommentQuery $query, $limit = false )
-	{
-		global $wgWikilogNumComments;
-
-		if ( !$limit ) $limit = $wgWikilogNumComments;
-		parent::__construct( $title, $format, $query, $limit );
-	}
-
-	public function getIndexField() {
-		return 'wlc_timestamp';
-	}
-
-	public function getFeedObject() {
-		if ( ( $item = $this->mQuery->getItem() ) ) {
-			return $this->getItemFeedObject( $item );
-		} else {
-			return $this->getSiteFeedObject();
-		}
-	}
-
-	/**
-	 * Generates and populates a WlSyndicationFeed object for the site.
-	 *
-	 * @return WlSyndicationFeed object.
-	 */
-	public function getSiteFeedObject() {
-		global $wgContLanguageCode, $wgWikilogFeedClasses, $wgFavicon;
-
-		$title = wfMessage( 'wikilog-feed-title',
-			wfMessage( 'wikilog-specialwikilogcomments-title' )->inContentLanguage()->text(),
-			$wgContLanguageCode
-		)->inContentLanguage()->text();
-		$subtitle = wfMessage( 'wikilog-comment-feed-description' )->inContentLanguage()->parse();
-
-		$updated = $this->mDb->selectField( 'wikilog_comments',
-			'MAX(wlc_updated)', false, __METHOD__
-		);
-		if ( !$updated ) $updated = wfTimestampNow();
-
-		$url = $this->mTitle->getFullUrl();
-
-		$feed = new $wgWikilogFeedClasses[$this->mFormat](
-			$url, $title, $updated, $url
-		);
-		$feed->setSubtitle( new WlTextConstruct( 'html', $subtitle ) );
-		if ( $wgFavicon !== false ) {
-			$feed->setIcon( wfExpandUrl( $wgFavicon ) );
-		}
-		if ( $this->mCopyright ) {
-			$feed->setRights( new WlTextConstruct( 'html', $this->mCopyright ) );
-		}
-		return $feed;
-	}
-
-	/**
-	 * Generates and populates a WlSyndicationFeed object for the given
-	 * wikilog article.
-	 *
-	 * @param $item WikilogItem  Wikilog article that owns this feed.
-	 * @return WlSyndicationFeed object, or NULL if not possible.
-	 */
-	public function getItemFeedObject( WikilogItem $item ) {
-		global $wgContLanguageCode, $wgWikilogFeedClasses, $wgFavicon;
-
-		$title = wfMessage( 'wikilog-feed-title',
-			wfMessage( 'wikilog-title-comments', $item->mName )->inContentLanguage()->text(),
-			$wgContLanguageCode
-		)->inContentLanguage()->text();
-		$subtitle = wfMessage( 'wikilog-comment-feed-description' )->inContentLanguage()->parse();
-		$updated = $this->mDb->selectField( 'wikilog_comments',
-			'MAX(wlc_updated)', array( 'wlc_post' => $item->mID ), __METHOD__
-		);
-		if ( !$updated ) $updated = wfTimestampNow();
-
-		$url = $this->mTitle->getFullUrl();
-
-		$feed = new $wgWikilogFeedClasses[$this->mFormat](
-			$url, $title, $updated, $url
-		);
-		$feed->setSubtitle( new WlTextConstruct( 'html', $subtitle ) );
-		if ( $wgFavicon !== false ) {
-			$feed->setIcon( wfExpandUrl( $wgFavicon ) );
-		}
-		if ( $this->mCopyright ) {
-			$feed->setRights( new WlTextConstruct( 'html', $this->mCopyright ) );
-		}
-		return $feed;
-	}
-
-	/**
-	 * Generates and returns a single feed entry.
-	 * @param $row The wikilog comment database entry.
-	 * @return A new WlSyndicationEntry object.
-	 */
-	function formatFeedEntry( $row ) {
-		# Create comment object.
-		$item = $this->mSingleItem ? $this->mSingleItem : WikilogItem::newFromRow( $row );
-		$comment = WikilogComment::newFromRow( $item, $row );
-
-		# Prepare some strings.
-		if ( $comment->mUserID ) {
-			$usertext = $comment->mUserText;
-		} else {
-			$usertext = wfMessage( 'wikilog-comment-anonsig',
-				$comment->mUserText, ''/*talk*/, $comment->mAnonName
-			)->inContentLanguage()->text();
-		}
-		if ( $this->mSingleItem ) {
-			$title = wfMessage( 'wikilog-comment-feed-title1',
-				$comment->mID, $usertext
-			)->inContentLanguage()->text();
-		} else {
-			$title = wfMessage( 'wikilog-comment-feed-title2',
-				$comment->mID, $usertext, $comment->mItem->mName
-			)->inContentLanguage()->text();
-		}
-
-		# Create new syndication entry.
-		$entry = new WlSyndicationEntry(
-			self::makeEntryId( $comment ),
-			$title,
-			$comment->mUpdated,
-			$comment->getCommentArticleTitle()->getFullUrl()
-		);
-
-		# Comment text.
-		if ( $comment->mCommentRev ) {
-			$parserOutput = WikilogUtils::parsedPage( $comment->mCommentTitle, true );
-			$content = Sanitizer::removeHTMLcomments( $parserOutput->getText() );
-			if ( $content ) {
-				$entry->setContent( new WlTextConstruct( 'html', $content ) );
-			}
-		}
-
-		# Author.
-		$usertitle = Title::makeTitle( NS_USER, $comment->mUserText );
-		$useruri = $usertitle->exists() ? $usertitle->getFullUrl() : null;
-		$entry->addAuthor( $usertext, $useruri );
-
-		# Timestamp
-		$entry->setPublished( $comment->mTimestamp );
-
-		return $entry;
-	}
-
-	/**
-	 * Performs the database query that returns the syndication feed entries
-	 * and store the result wrapper in $this->mResult.
-	 */
-	function doQuery() {
-		# If displaying comments for a single item, save the item.
-		# Otherwise, set query option to return items along with their
-		# comments.
-		if ( ( $item = $this->mQuery->getItem() ) ) {
-			$this->mSingleItem = $item;
-		} else {
-			$this->mQuery->setOption( 'include-item' );
-		}
-		return parent::doQuery();
-	}
-
-	/**
-	 * Returns the keys for the timestamp and feed output in the object cache.
-	 */
-	function getCacheKeys() {
-		if ( ( $item = $this->mQuery->getItem() ) ) {
-			$title = $item->mTitle;
-		} else {
-			$title = null;
-		}
-		$id = $title ? 'id:' . $title->getArticleID() : 'site';
-		$ft = 'show:' . $this->mQuery->getModStatus() .
-			':limit:' . $this->mLimit;
-		return array(
-			wfMemcKey( 'wikilog', $this->mFormat, $id, 'timestamp' ),
-			wfMemcKey( 'wikilog', $this->mFormat, $id, $ft )
-		);
-	}
-
-	/**
-	 * Creates an unique ID for a feed entry. Tries to use $wgTaggingEntity
-	 * if possible in order to create an RFC 4151 tag, otherwise, we use the
-	 * page URL.
-	 */
-	public static function makeEntryId( WikilogComment $comment ) {
-		global $wgTaggingEntity;
-		if ( $wgTaggingEntity ) {
-			$qstr = wfArrayToCGI( array( 'wk' => wfWikiID(), 'id' => $comment->getID() ) );
-			return "tag:{$wgTaggingEntity}:/MediaWiki/Wikilog/comment?{$qstr}";
-		} else {
-			return $comment->getCommentArticleTitle()->getFullUrl();
-		}
-	}
-}
diff --git a/WikilogHooks.php b/WikilogHooks.php
deleted file mode 100644
index ccee3c1..0000000
--- a/WikilogHooks.php
+++ /dev/null
@@ -1,369 +0,0 @@
-<?php
-/**
- * MediaWiki Wikilog extension
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-if ( !defined( 'MEDIAWIKI' ) )
-	die();
-
-/**
- * General wikilog hooks.
- */
-class WikilogHooks
-{
-	/**
-	 * ArticleEditUpdates hook handler function.
-	 * Performs post-edit updates if article is a wikilog article.
-	 */
-	static function ArticleEditUpdates( &$article, &$editInfo, $changed ) {
-		# When editing through MW interface, article is derived from
-		# WikilogCommentsPage. In this case, update the comment object.
-		if ( $article instanceof WikilogCommentsPage && $changed ) {
-			$cmt =& $article->mSingleComment;
-			if ( $cmt && !$cmt->isTextChanged() && $changed ) {
-				$cmt->mUpdated = wfTimestamp( TS_MW );
-				$cmt->saveComment();
-			}
-		}
-
-		$title = $article->getTitle();
-		$wi = Wikilog::getWikilogInfo( $title );
-
-		# Do nothing if not a wikilog article.
-		if ( !$wi ) return true;
-
-		if ( $title->isTalkPage() ) {
-			# ::WikilogCommentsPage::
-			# Invalidate cache of wikilog item page.
-			if ( $wi->getItemTitle()->exists() ) {
-				$wi->getItemTitle()->invalidateCache();
-				$wi->getItemTitle()->purgeSquid();
-			}
-		} elseif ( $wi->isItem() ) {
-			# ::WikilogItemPage::
-			$item = WikilogItem::newFromInfo( $wi );
-			if ( !$item ) {
-				$item = new WikilogItem();
-			}
-
-			$item->mName = $wi->getItemName();
-			$item->mTitle = $wi->getItemTitle();
-			$item->mParentName = $wi->getName();
-			$item->mParentTitle = $wi->getTitle();
-			$item->mParent = $item->mParentTitle->getArticleID();
-
-			# Override item name if {{DISPLAYTITLE:...}} was used.
-			$dtText = $editInfo->output->getDisplayTitle();
-			if ( $dtText ) {
-				# Tags are stripped on purpose.
-				$dtText = Sanitizer::stripAllTags( $dtText );
-				$dtParts = explode( '/', $dtText, 2 );
-				if ( count( $dtParts ) > 1 ) {
-					$item->mName = $dtParts[1];
-				}
-			}
-
-			$item->resetID( $article->getId() );
-
-			# Check if we have any wikilog metadata available.
-			if ( isset( $editInfo->output->mExtWikilog ) ) {
-				$output = $editInfo->output->mExtWikilog;
-
-				# Update entry in wikilog_posts table.
-				# Entries in wikilog_authors and wikilog_tags are updated
-				# during LinksUpdate process.
-				$item->mPublish = $output->mPublish;
-				$item->mUpdated = wfTimestamp( TS_MW );
-				$item->mPubDate = $output->mPublish ? $output->mPubDate : $item->mUpdated;
-				$item->mAuthors = $output->mAuthors;
-				$item->mTags    = $output->mTags;
-				$item->saveData();
-			} else {
-				# Remove entry from tables. Entries in wikilog_authors and
-				# wikilog_tags are removed during LinksUpdate process.
-				$item->deleteData();
-			}
-
-			# Invalidate cache of parent wikilog page.
-			WikilogUtils::updateWikilog( $wi->getTitle() );
-		} else {
-			# ::WikilogMainPage::
-			$dbw = wfGetDB( DB_MASTER );
-			$id = $article->getId();
-
-			# Check if we have any wikilog metadata available.
-			if ( isset( $editInfo->output->mExtWikilog ) ) {
-				$output = $editInfo->output->mExtWikilog;
-				$subtitle = $output->mSummary
-					? array( 'html', $output->mSummary )
-					: '';
-
-				# Update entry in wikilog_wikilogs table. Entries in
-				# wikilog_authors and wikilog_tags are updated during
-				# LinksUpdate process.
-				$dbw->replace(
-					'wikilog_wikilogs',
-					'wlw_page',
-					array(
-						'wlw_page' => $id,
-						'wlw_subtitle' => serialize( $subtitle ),
-						'wlw_icon' => $output->mIcon ? $output->mIcon->getDBKey() : '',
-						'wlw_logo' => $output->mLogo ? $output->mLogo->getDBKey() : '',
-						'wlw_authors' => serialize( $output->mAuthors ),
-						'wlw_updated' => $dbw->timestamp()
-					),
-					__METHOD__
-				);
-			} else {
-				# Remove entry from tables. Entries in wikilog_authors and
-				# wikilog_tags are removed during LinksUpdate process.
-				$dbw->delete( 'wikilog_wikilogs', array( 'wlw_page' => $id ), __METHOD__ );
-			}
-		}
-
-		return true;
-	}
-
-	/**
-	 * ArticleDeleteComplete hook handler function.
-	 * Purges wikilog metadata when an article is deleted.
-	 */
-	static function ArticleDeleteComplete( &$article, &$user, $reason, $id ) {
-		# Deleting comment through MW interface.
-		if ( $article instanceof WikilogCommentsPage ) {
-			$cmt =& $article->mSingleComment;
-			if ( $cmt ) {
-				$cmt->mStatus = WikilogComment::S_DELETED;
-				$cmt->saveComment();
-			}
-		}
-
-		# Retrieve wikilog information.
-		$wi = Wikilog::getWikilogInfo( $article->getTitle() );
-
-		# Take special procedures if it is a wikilog page.
-		if ( $wi ) {
-			$dbw = wfGetDB( DB_MASTER );
-
-			if ( $wi->isItem() ) {
-				# Delete table entries.
-				$dbw->delete( 'wikilog_posts',    array( 'wlp_page'   => $id ) );
-				$dbw->delete( 'wikilog_comments', array( 'wlc_parent' => $id ) );
-				$dbw->delete( 'wikilog_authors',  array( 'wla_page'   => $id ) );
-				$dbw->delete( 'wikilog_tags',     array( 'wlt_page'   => $id ) );
-				$dbw->delete( 'wikilog_comments', array( 'wlc_post'   => $id ) );
-
-				# Invalidate cache of parent wikilog page.
-				WikilogUtils::updateWikilog( $wi->getTitle() );
-			} else {
-				# Delete table entries.
-				$dbw->delete( 'wikilog_wikilogs', array( 'wlw_page'   => $id ) );
-				$dbw->delete( 'wikilog_posts',    array( 'wlp_parent' => $id ) );
-				$dbw->delete( 'wikilog_authors',  array( 'wla_page'   => $id ) );
-				$dbw->delete( 'wikilog_tags',     array( 'wlt_page'   => $id ) );
-			}
-		}
-
-		return true;
-	}
-
-	/**
-	 * PageContentSave hook handler function.
-	 * Add page signature if user selected "sign and publish" option in
-	 * EditPage.
-	 */
-	static function PageContentSave( &$wikiPage, &$user, &$content, &$summary,
-		$isMinor, $isWatch, $section, &$flags, &$status )
-	{
-		# $article->mExtWikilog piggybacked from WikilogHooks::EditPageAttemptSave().
-		if ( isset( $wikiPage->mExtWikilog ) && $wikiPage->mExtWikilog['signpub'] ) {
-			$t = WikilogUtils::getPublishParameters();
-			$txtDate = $t['date'];
-			$txtUser = $t['user'];
-			# Add signature to page content's text
-			$text = rtrim( ContentHandler::getContentText( $content ) )
-				. "\n{{wl-publish: {$txtDate} | {$txtUser} }}\n";
-			# Now, create content from edited text
-			$content = ContentHandler::makeContent( $text, $wikiPage->getTitle() );
-		}
-		return true;
-	}
-
-	/**
-	 * TitleMoveComplete hook handler function.
-	 * Handles moving articles to and from wikilog namespaces.
-	 */
-	static function TitleMoveComplete( &$oldtitle, &$newtitle, &$user, $pageid, $redirid ) {
-		global $wgWikilogNamespaces;
-
-		# Check if it was or is now in a wikilog namespace.
-		$oldwl = in_array( ( $oldns = $oldtitle->getNamespace() ), $wgWikilogNamespaces );
-		$newwl = in_array( ( $newns = $newtitle->getNamespace() ), $wgWikilogNamespaces );
-
-		if ( $oldwl && $newwl ) {
-			# Moving title between wikilog namespaces.
-			# Update wikilog data.
-			wfDebug( __METHOD__ . ": Moving title between wikilog namespaces " .
-				"($oldns, $newns). Updating wikilog data.\n" );
-
-			$wi = Wikilog::getWikilogInfo( $newtitle );
-			$item = WikilogItem::newFromID( $pageid );
-			if ( $wi && $wi->isItem() && !$wi->isTalk() && $item ) {
-				$item->mName = $wi->getItemName();
-				# FIXME: need to reparse due to {{DISPLAYTITLE:...}}.
-				$item->mTitle = $wi->getItemTitle();
-				$item->mParentName = $wi->getName();
-				$item->mParentTitle = $wi->getTitle();
-				$item->mParent = $item->mParentTitle->getArticleID();
-				$item->saveData();
-			}
-		} elseif ( $newwl ) {
-			# Moving from normal namespace to wikilog namespace.
-			# Create wikilog data.
-			wfDebug( __METHOD__ . ": Moving from another namespace to wikilog " .
-				"namespace ($oldns, $newns). Creating wikilog data.\n" );
-			# FIXME: This needs a reparse of the wiki text in order to
-			# populate wikilog metadata. Or forbid this action.
-		} elseif ( $oldwl ) {
-			# Moving from wikilog namespace to normal namespace.
-			# Purge wikilog data.
-			wfDebug( __METHOD__ . ": Moving from wikilog namespace to another " .
-				"namespace ($oldns, $newns). Purging wikilog data.\n" );
-			$dbw = wfGetDB( DB_MASTER );
-			$dbw->delete( 'wikilog_wikilogs', array( 'wlw_page'   => $pageid ) );
-			$dbw->delete( 'wikilog_posts',    array( 'wlp_page'   => $pageid ) );
-			$dbw->delete( 'wikilog_posts',    array( 'wlp_parent' => $pageid ) );
-			$dbw->delete( 'wikilog_authors',  array( 'wla_page'   => $pageid ) );
-			$dbw->delete( 'wikilog_tags',     array( 'wlt_page'   => $pageid ) );
-//			$dbw->delete( 'wikilog_comments', array( 'wlc_post'   => $pageid ) );
-			# FIXME: Decide what to do with the comments.
-		}
-		return true;
-	}
-
-	/**
-	 * EditPage::showEditForm:fields hook handler function.
-	 * Adds wikilog article options to edit pages.
-	 */
-	static function EditPageEditFormFields( &$editpage, &$output ) {
-		$wi = Wikilog::getWikilogInfo( $editpage->mTitle );
-		if ( $wi && $wi->isItem() && !$wi->isTalk() ) {
-			global $wgWikilogSignAndPublishDefault;
-			$fields = array();
-			$item = WikilogItem::newFromInfo( $wi );
-
-			# [x] Sign and publish this wikilog article.
-			if ( !$item || !$item->getIsPublished() ) {
-				if ( isset( $editpage->wlSignpub ) ) {
-					$checked = $editpage->wlSignpub;
-				} else {
-					$checked = !$item && $wgWikilogSignAndPublishDefault;
-				}
-				$label = wfMessage( 'wikilog-edit-signpub' )->parse();
-				$tooltip = wfMessage( 'wikilog-edit-signpub-tooltip' )->parse();
-				$fields['wlSignpub'] =
-					Xml::check( 'wlSignpub', $checked, array(
-						'id' => 'wl-signpub',
-						'tabindex' => 1, // after text, before summary
-					) ) . WL_NBSP .
-					Xml::element( 'label', array(
-						'for' => 'wl-signpub',
-						'title' => $tooltip,
-					), $label );
-			}
-
-			$fields = implode( $fields, "\n" );
-			$html = Xml::fieldset(
-				wfMessage( 'wikilog-edit-fieldset-legend' )->parse(),
-				$fields
-			);
-			$editpage->editFormTextAfterWarn .= $html;
-		}
-		return true;
-	}
-
-	/**
-	 * EditPage::importFormData hook handler function.
-	 * Import wikilog article options form data in edit pages.
-	 * @note Requires MediaWiki 1.16+.
-	 */
-	static function EditPageImportFormData( $editpage, $request ) {
-		if ( $request->wasPosted() ) {
-			$editpage->wlSignpub = $request->getCheck( 'wlSignpub' );
-		}
-		return true;
-	}
-
-	/**
-	 * EditPage::attemptSave hook handler function.
-	 * Check edit page options.
-	 */
-	static function EditPageAttemptSave( $editpage ) {
-		$options = array(
-			'signpub' => $editpage->wlSignpub
-		);
-
-		# Piggyback options into article object. Will be retrieved later
-		# in 'ArticleEditUpdates' hook.
-		$editpage->mArticle->mExtWikilog = $options;
-		return true;
-	}
-
-	/**
-	 * LoadExtensionSchemaUpdates hook handler function.
-	 * Updates wikilog database tables.
-	 *
-	 * @todo Add support for PostgreSQL and SQLite databases.
-	 */
-	static function ExtensionSchemaUpdates( $updater ) {
-		$dir = dirname( __FILE__ ) . '/';
-
-		if ( $updater->getDB()->getType() == 'mysql' ) {
-			$updater->addExtensionUpdate( array( 'addTable', "wikilog_wikilogs",
-				"{$dir}wikilog-tables.sql", true ) );
-			$updater->addExtensionUpdate( array( 'addIndex', "wikilog_comments",
-				"wlc_timestamp", "{$dir}archives/patch-comments-indexes.sql", true ) );
-		} else {
-			// TODO: PostgreSQL, SQLite, etc...
-			print "\n" .
-				"Warning: There are no table structures for the Wikilog\n" .
-				"extension other than for MySQL at this moment.\n\n";
-		}
-		return true;
-	}
-
-	/**
-	 * UnknownAction hook handler function.
-	 * Handles ?action=wikilog requests.
-	 */
-	static function UnknownAction( $action, $article ) {
-		if ( $action == 'wikilog' && $article instanceof WikilogCustomAction ) {
-			$article->wikilog();
-			return false;
-		}
-		return true;
-	}
-}
diff --git a/WikilogItem.php b/WikilogItem.php
deleted file mode 100644
index 8269e91..0000000
--- a/WikilogItem.php
+++ /dev/null
@@ -1,355 +0,0 @@
-<?php
-/**
- * MediaWiki Wikilog extension
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-if ( !defined( 'MEDIAWIKI' ) )
-	die();
-
-/**
- * Wikilog article database entry.
- */
-class WikilogItem
-{
-	/**
-	 * General data about the article.
-	 */
-	public    $mID          = null;		///< Article ID.
-	public    $mName        = null;		///< Article title text (as in DB).
-	public    $mTitle       = null;		///< Article Title object.
-	public    $mParent      = null;		///< Parent wikilog article ID.
-	public    $mParentName  = null;		///< Parent wikilog title text.
-	public    $mParentTitle = null;		///< Parent wikilog Title object.
-	public    $mPublish     = null;		///< Article is published.
-	public    $mPubDate     = null;		///< Date the article was published.
-	public    $mUpdated     = null;		///< Date the article was last updated.
-	public    $mAuthors     = array();	///< Array of authors.
-	public    $mTags        = array();	///< Array of tags.
-	public    $mNumComments = null;		///< Cached number of comments.
-
-	/**
-	 * Constructor.
-	 */
-	public function __construct( ) {
-	}
-
-	/**
-	 * Returns the wikilog article id.
-	 */
-	public function getID() {
-		return $this->mID;
-	}
-
-	/**
-	 * Checks for the existence of the article in the database.
-	 */
-	public function exists() {
-		return $this->getID() != 0;
-	}
-
-	/**
-	 * Returns whether the article is published.
-	 */
-	public function getIsPublished() {
-		return $this->mPublish;
-	}
-
-	/**
-	 * Returns the publication date of the article.
-	 */
-	public function getPublishDate() {
-		return $this->mPubDate;
-	}
-
-	/**
-	 * Returns the last update date of the article.
-	 */
-	public function getUpdatedDate() {
-		return $this->mUpdated;
-	}
-
-	/**
-	 * Returns the number of comments in the article.
-	 */
-	public function getNumComments() {
-		$this->updateNumComments();
-		return $this->mNumComments;
-	}
-
-	/**
-	 * Saves article data in the database.
-	 */
-	public function saveData() {
-		$dbw = wfGetDB( DB_MASTER );
-		$dbw->replace(
-			'wikilog_posts',
-			'wlp_page',
-			array(
-				'wlp_page'    => $this->mID,
-				'wlp_parent'  => $this->mParent,
-				'wlp_title'   => $this->mName,
-				'wlp_publish' => $this->mPublish,
-				'wlp_pubdate' => $this->mPubDate ? $dbw->timestamp( $this->mPubDate ) : '',
-				'wlp_updated' => $this->mUpdated ? $dbw->timestamp( $this->mUpdated ) : '',
-				'wlp_authors' => serialize( $this->mAuthors ),
-				'wlp_tags'    => serialize( $this->mTags ),
-			),
-			__METHOD__
-		);
-	}
-
-	/**
-	 * Deletes article data from the database.
-	 */
-	public function deleteData() {
-		$dbw = wfGetDB( DB_MASTER );
-		$dbw->delete( 'wikilog_posts', array( 'wlp_page' => $this->getID() ), __METHOD__ );
-	}
-
-	/**
-	 * Updates the number of article comments.
-	 */
-	public function updateNumComments( $force = false ) {
-		if ( $force || is_null( $this->mNumComments ) ) {
-			$dbw = wfGetDB( DB_MASTER );
-
-			# Retrieve estimated number of comments
-			$count = $dbw->selectField( 'wikilog_comments', 'COUNT(*)',
-				array( 'wlc_post' => $this->getID() ), __METHOD__ );
-
-			# Update wikilog_posts cache
-			$dbw->update( 'wikilog_posts',
-				array( 'wlp_num_comments' => $count ),
-				array( 'wlp_page' => $this->getID() ),
-				__METHOD__
-			);
-
-			$this->mNumComments = $count;
-		}
-	}
-
-	/**
-	 * Resets the article id.
-	 */
-	public function resetID( $id ) {
-		$this->mTitle->resetArticleID( $id );
-		$this->mID = $id;
-	}
-
-	/**
-	 * Returns an array with common header and footer system message
-	 * parameters.
-	 */
-	public function getMsgParams( $extended = false, $pout = null ) {
-		global $wgWikilogEnableTags;
-
-		$authors = array_keys( $this->mAuthors );
-		$authorsFmt = WikilogUtils::authorList( $authors );
-		$commentsFmt = WikilogUtils::getCommentsWikiText( $this );
-
-		$categories = array();
-		$categoriesFmt = '';
-		$tags = array();
-		$tagsFmt = '';
-
-		if ( $extended ) {
-			if ( $pout !== null ) {
-				$categories = $pout->getCategoryLinks();
-				if ( count( $categories ) > 0 ) {
-					$categoriesFmt = wfMessage( 'wikilog-summary-categories',
-						count( $categories ),
-						WikilogUtils::categoryList( $categories )
-					)->inContentLanguage()->text();
-				} else {
-					$categoriesFmt = wfMessage( 'wikilog-summary-uncategorized' )
-						->inContentLanguage()
-						->parse();
-				}
-			}
-			if ( $wgWikilogEnableTags ) {
-				$tags = array_keys( $this->mTags );
-				$tagsFmt = WikilogUtils::tagList( $tags );
-			}
-		}
-
-		list( $date, $time, $tz ) = WikilogUtils::getLocalDateTime( $this->mPubDate );
-
-		/*
-		 * This is probably the largest amount of parameters to a
-		 * system message in MediaWiki. This is the price of allowing
-		 * the user to customize the presentation of wikilog articles.
-		 */
-		return array(
-			/* $1  */ $this->mParentTitle->getPrefixedURL(),
-			/* $2  */ $this->mParentName,
-			/* $3  */ $this->mTitle->getPrefixedURL(),
-			/* $4  */ $this->mName,
-			/* $5  */ count( $authors ),
-			/* $6  */ ( count( $authors ) > 0 ? $authors[0] : '' ),
-			/* $7  */ $authorsFmt,
-			/* $8  */ $date,
-			/* $9  */ $time,
-			/* $10 */ $commentsFmt,
-			/* $11 */ count( $categories ),
-			/* $12 */ $categoriesFmt,
-			/* $13 */ count( $tags ),
-			/* $14 */ $tagsFmt,
-			/* $15 */ $tz
-		);
-	}
-
-	/**
-	 * Creates a new wikilog article object from a database row.
-	 * @param $row Row from database.
-	 * @return New WikilogItem object.
-	 */
-	public static function newFromRow( $row ) {
-		$item = new WikilogItem();
-		$item->mID          = intval( $row->wlp_page );
-		$item->mName        = strval( $row->wlp_title );
-		$item->mTitle       = Title::makeTitle( $row->page_namespace, $row->page_title );
-		$item->mParent      = intval( $row->wlp_parent );
-		$item->mParentName  = str_replace( '_', ' ', $row->wlw_title );
-		$item->mParentTitle = Title::makeTitle( $row->wlw_namespace, $row->wlw_title );
-		$item->mPublish     = intval( $row->wlp_publish );
-		$item->mPubDate     = $row->wlp_pubdate ? wfTimestamp( TS_MW, $row->wlp_pubdate ) : null;
-		$item->mUpdated     = $row->wlp_updated ? wfTimestamp( TS_MW, $row->wlp_updated ) : null;
-		$item->mNumComments = $row->wlp_num_comments;
-		$item->mAuthors     = unserialize( $row->wlp_authors );
-		$item->mTags        = unserialize( $row->wlp_tags );
-		if ( !is_array( $item->mAuthors ) ) {
-			$item->mAuthors = array();
-		}
-		if ( !is_array( $item->mTags ) ) {
-			$item->mTags = array();
-		}
-		return $item;
-	}
-
-	/**
-	 * Creates a new wikilog article object from an existing article id.
-	 * Data is fetched from the database.
-	 * @param $id Article id.
-	 * @return New WikilogItem object, or NULL if article doesn't exist.
-	 */
-	public static function newFromID( $id ) {
-		$dbr = wfGetDB( DB_SLAVE );
-		$row = self::loadFromID( $dbr, $id );
-		if ( $row ) {
-			return self::newFromRow( $row );
-		}
-		return null;
-	}
-
-	/**
-	 * Creates a new wikilog article object from a wikilog info object.
-	 * Data is fetched from the database.
-	 * @param $wi WikilogItem object.
-	 * @return New WikilogItem object, or NULL if article doesn't exist.
-	 */
-	public static function newFromInfo( WikilogInfo &$wi ) {
-		$itemTitle = $wi->getItemTitle();
-		if ( $itemTitle ) {
-			return self::newFromID( $itemTitle->getArticleID() );
-		} else {
-			return null;
-		}
-	}
-
-	/**
-	 * Load information about a wikilog article from the database given a set
-	 * of conditions.
-	 * @param $dbr Database connection object.
-	 * @param $conds Conditions.
-	 * @return Database row, or false.
-	 */
-	private static function loadFromConds( $dbr, $conds ) {
-		$tables = self::selectTables( $dbr );
-		$fields = self::selectFields();
-		$row = $dbr->selectRow(
-			$tables['tables'],
-			$fields,
-			$conds,
-			__METHOD__,
-			array(),
-			$tables['join_conds']
-		);
-		return $row;
-	}
-
-	/**
-	 * Load information about a wikilog article from the database given an
-	 * article id.
-	 * @param $dbr Database connection object.
-	 * @param $id Article id.
-	 * @return Database row, or false.
-	 */
-	private static function loadFromID( $dbr, $id ) {
-		return self::loadFromConds( $dbr, array( 'wlp_page' => $id ) );
-	}
-
-	/**
-	 * Return the list of database tables required to create a new instance
-	 * of WikilogItem.
-	 */
-	public static function selectTables( $dbr = null ) {
-		if ( !$dbr ) $dbr = wfGetDB( DB_SLAVE );
-		$page = $dbr->tableName( 'page' );
-		return array(
-			'tables' => array(
-				'wikilog_posts',
-				"{$page} AS w",
-				"{$page} AS p"
-			),
-			'join_conds' => array(
-				"{$page} AS w" => array( 'LEFT JOIN', 'w.page_id = wlp_parent' ),
-				"{$page} AS p" => array( 'LEFT JOIN', 'p.page_id = wlp_page' )
-			)
-		);
-	}
-
-	/**
-	 * Return the list of post fields required to create a new instance of
-	 * WikilogItem.
-	 */
-	public static function selectFields() {
-		return array(
-			'wlp_page',
-			'wlp_parent',
-			'w.page_namespace AS wlw_namespace',
-			'w.page_title AS wlw_title',
-			'p.page_namespace AS page_namespace',
-			'p.page_title AS page_title',
-			'wlp_title',
-			'wlp_publish',
-			'wlp_pubdate',
-			'wlp_updated',
-			'wlp_authors',
-			'wlp_tags',
-			'wlp_num_comments'
-		);
-	}
-}
diff --git a/WikilogItemPage.php b/WikilogItemPage.php
deleted file mode 100644
index d450629..0000000
--- a/WikilogItemPage.php
+++ /dev/null
@@ -1,202 +0,0 @@
-<?php
-/**
- * MediaWiki Wikilog extension
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-if ( !defined( 'MEDIAWIKI' ) )
-	die();
-
-/**
- * Wikilog article namespace handler class.
- *
- * Displays a wikilog article. Includes a header and a footer, counts the
- * number of comments, provides a link back to the wikilog main page, etc.
- */
-class WikilogItemPage
-	extends Article
-{
-	/**
-	 * Wikilog article item object.
-	 */
-	protected $mItem;
-
-	/**
-	 * Constructor.
-	 * @param $title Article title object.
-	 * @param $wi Wikilog info object.
-	 */
-	public function __construct( Title $title, WikilogItem $item = null ) {
-		parent::__construct( $title );
-		$this->mItem = $item;
-	}
-
-	/**
-	 * Return the appropriate WikiPage object for WikilogItemPage.
-	 */
-	protected function newPage( Title $title ) {
-		return new WikilogWikiItemPage( $title );
-	}
-
-	/**
-	 * Constructor from a page ID.
-	 * @param $id Int article ID to load.
-	 */
-	public static function newFromID( $id ) {
-		$t = Title::newFromID( $id );
-		$i = WikilogItem::newFromID( $id );
-		return $t == null ? null : new self( $t, $i );
-	}
-
-	/**
-	 * View page action handler.
-	 */
-	public function view() {
-		global $wgOut, $wgFeed, $wgWikilogFeedClasses;
-
-		if ( $this->mItem ) {
-			$params = $this->mItem->getMsgParams( true );
-
-			# Set page subtitle
-			$subtitleTxt = wfMessage( 'wikilog-entry-sub',
-				$params
-			)->inContentLanguage()->parse();
-			if ( !empty( $subtitleTxt ) ) {
-				$wgOut->setSubtitle( $wgOut->parse( $subtitleTxt ) );
-			}
-
-			# Display draft notice.
-			if ( !$this->mItem->getIsPublished() ) {
-				$wgOut->wrapWikiMsg( '<div class="mw-warning">$1</div>', array( 'wikilog-reading-draft' ) );
-			}
-
-			# Item page header.
-			$headerTxt = wfMessage( 'wikilog-entry-header',
-				$params
-			)->inContentLanguage()->parse();
-			if ( !empty( $headerTxt ) ) {
-				$wgOut->addHtml( WikilogUtils::wrapDiv( 'wl-entry-header', $headerTxt ) );
-			}
-
-			# Display article.
-			parent::view();
-
-			# Override page title.
-			# NOTE (MW1.16+): Must come after parent::view().
-			$fullPageTitle = wfMessage( 'wikilog-title-item-full',
-					$this->mItem->mName,
-					$this->mItem->mParentTitle->getPrefixedText()
-			)->text();
-			$wgOut->setPageTitle( Sanitizer::escapeHtmlAllowEntities( $this->mItem->mName ) );
-			$wgOut->setHTMLTitle( wfMessage( 'pagetitle', $fullPageTitle ) );
-
-			# Item page footer.
-			$footerTxt = wfMessage( 'wikilog-entry-footer',
-				$params
-			)->inContentLanguage()->parse();
-			if ( !empty( $footerTxt ) ) {
-				$wgOut->addHtml( WikilogUtils::wrapDiv( 'wl-entry-footer', $footerTxt ) );
-			}
-
-			# Add feed links.
-			if ( $wgFeed ) {
-				foreach ( $wgWikilogFeedClasses as $format => $class ) {
-					$wgOut->addLink( array(
-						'rel' => 'alternate',
-						'type' => "application/{$format}+xml",
-						'title' => wfMessage(
-							"page-{$format}-feed",
-							$this->mItem->mParentTitle->getPrefixedText()
-						)->inContentLanguage()->parse(),
-						'href' => $this->mItem->mParentTitle->getLocalUrl( "feed={$format}" )
-					) );
-				}
-			}
-		} else {
-			# Display article.
-			parent::view();
-		}
-	}
-
-	/**
-	 * Compatibility with MediaWiki 1.17.
-	 * @todo Remove this in Wl1.3.
-	 */
-	public function preSaveTransform( $text ) {
-		return $this->newPage( $this->getTitle() )->preSaveTransform( $text );
-	}
-}
-
-/**
- * Wikilog WikiPage class for WikilogItemPage.
- */
-class WikilogWikiItemPage
-	extends WikiPage
-{
-	/**
-	 * Constructor from a page ID.
-	 * @param $id Int article ID to load.
-	 */
-	public static function newFromID( $id ) {
-		$t = Title::newFromID( $id );
-		return $t == null ? null : new self( $t );
-	}
-
-	/**
-	 * Override for preSaveTransform. Enables quick post publish by signing
-	 * the article using the standard --~~~~ marker. This causes the signature
-	 * marker to be replaced by a {{wl-publish:...}} parser function call,
-	 * that is then saved to the database and causes the post to be published.
-	 */
-	public function preSaveTransform( $text, User $user = null, ParserOptions $popts = null ) {
-		global $wgParser, $wgUser;
-		$user = is_null( $user ) ? $wgUser : $user;
-
-		if ( $popts === null ) {
-			$popts = ParserOptions::newFromUser( $user );
-		}
-
-		$t = WikilogUtils::getPublishParameters();
-		$date_txt = $t['date'];
-		$user_txt = $t['user'];
-
-		$sigs = array(
-			'/\n?(--)?~~~~~\n?/m' => "\n{{wl-publish: {$date_txt} }}\n",
-			'/\n?(--)?~~~~\n?/m' => "\n{{wl-publish: {$date_txt} | {$user_txt} }}\n",
-			'/\n?(--)?~~~\n?/m' => "\n{{wl-author: {$user_txt} }}\n"
-		);
-
-		if ( !StubObject::isRealObject( $wgParser ) ) {
-			$wgParser->_unstub();
-		}
-		$wgParser->startExternalParse( $this->getTitle(), $popts, Parser::OT_WIKI );
-
-		$text = $wgParser->replaceVariables( $text );
-		$text = preg_replace( array_keys( $sigs ), array_values( $sigs ), $text );
-		$text = $wgParser->mStripState->unstripBoth( $text );
-
-		return $wgParser->preSaveTransform( $text, $this->getTitle(), $user, $popts );
-	}
-}
diff --git a/WikilogItemPager.php b/WikilogItemPager.php
deleted file mode 100644
index 1341bd4..0000000
--- a/WikilogItemPager.php
+++ /dev/null
@@ -1,589 +0,0 @@
-<?php
-/**
- * MediaWiki Wikilog extension
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-if ( !defined( 'MEDIAWIKI' ) )
-	die();
-
-/**
- * Common wikilog pager interface.
- */
-interface WikilogItemPager
-	extends Pager
-{
-	function including( $x = null );
-}
-
-/**
- * Summary pager.
- *
- * Lists wikilog articles from one or more wikilogs (selected by the provided
- * query parameters) in reverse chronological order, displaying article
- * sumaries, authors, date and number of comments. This pager also provides
- * a "read more" link when appropriate. If there are more articles than
- * some threshold, the user may navigate through "newer posts"/"older posts"
- * links.
- *
- * Formatting is controlled by a number of system messages.
- */
-class WikilogSummaryPager
-	extends ReverseChronologicalPager
-	implements WikilogItemPager
-{
-	# Override default limits.
-	public $mLimitsShown = array( 5, 10, 20, 50 );
-
-	# Local variables.
-	protected $mQuery = null;			///< Wikilog item query data
-	protected $mIncluding = false;		///< If pager is being included
-	protected $mShowEditLink = false;	///< If edit links are shown.
-
-	/**
-	 * Constructor.
-	 * @param $query Query object, containing the parameters that will select
-	 *   which articles will be shown.
-	 * @param $limit Override how many articles will be listed.
-	 */
-	function __construct( WikilogItemQuery $query, $limit = false, $including = false ) {
-		# WikilogItemQuery object drives our queries.
-		$this->mQuery = $query;
-		$this->mIncluding = $including;
-
-		# Parent constructor.
-		parent::__construct();
-
-		# Fix our limits, Pager's defaults are too high.
-		global $wgWikilogNumArticles;
-		$this->mDefaultLimit = $wgWikilogNumArticles;
-
-		if ( $limit ) {
-			$this->mLimit = $limit;
-		} else {
-			list( $this->mLimit, /* $offset */ ) =
-				$this->mRequest->getLimitOffset( $wgWikilogNumArticles, '' );
-		}
-
-		# This is too expensive, limit listing.
-		global $wgWikilogExpensiveLimit;
-		if ( $this->mLimit > $wgWikilogExpensiveLimit )
-			$this->mLimit = $wgWikilogExpensiveLimit;
-
-		# Check parser state, setup edit links.
-		global $wgOut, $wgParser, $wgTitle;
-		if ( $this->mIncluding ) {
-			$popt = $wgParser->getOptions();
-		} else {
-			$popt = $wgOut->parserOptions();
-
-			# We will need a clean parser if not including.
-			$wgParser->startExternalParse( $wgTitle, $popt, Parser::OT_HTML );
-		}
-		$this->mShowEditLink = $popt->getEditSection();
-	}
-
-	/**
-	 * Property accessor/mutators.
-	 */
-	function including( $x = null ) { return wfSetVar( $this->mIncluding, $x ); }
-
-	function getQueryInfo() {
-		return $this->mQuery->getQueryInfo( $this->mDb );
-	}
-
-	function getDefaultQuery() {
-		return parent::getDefaultQuery() + $this->mQuery->getDefaultQuery();
-	}
-
-	function getIndexField() {
-		return 'wlp_pubdate';
-	}
-
-	function getStartBody() {
-		return "<div class=\"wl-roll visualClear\">\n";
-	}
-
-	function getEndBody() {
-		return "</div>\n";
-	}
-
-	function getEmptyBody() {
-		return '<div class="wl-empty">' . wfMessage( 'wikilog-pager-empty' )->parse() . "</div>";
-	}
-
-	function getNavigationBar() {
-		if ( !$this->isNavigationBarShown() ) return '';
-		if ( !isset( $this->mNavigationBar ) ) {
-			$navbar = new WikilogNavbar( $this, 'chrono-rev' );
-			$this->mNavigationBar = $navbar->getNavigationBar( $this->mLimit );
-		}
-		return $this->mNavigationBar;
-	}
-
-	function formatRow( $row ) {
-		global $wgWikilogExtSummaries;
-		$header = $footer = '';
-
-		# Retrieve article parser output and other data.
-		$item = WikilogItem::newFromRow( $row );
-		$parserOutput = WikilogUtils::parsedPage( $item->mTitle );
-		list( $summary, $content ) = WikilogUtils::splitSummaryContent( $parserOutput );
-
-		# Retrieve the common header and footer parameters.
-		$params = $item->getMsgParams( $wgWikilogExtSummaries, $parserOutput );
-
-		# Article title heading, with direct link article page and optional
-		# edit link (if user can edit the article).
-		$titleText = Sanitizer::escapeHtmlAllowEntities( $item->mName );
-		if ( !$item->getIsPublished() )
-			$titleText .= wfMessage( 'wikilog-draft-title-mark' )->inContentLanguage()->escaped();
-		$heading = Linker::link( $item->mTitle, $titleText, array(), array(),
-			array( 'known', 'noclasses' )
-		);
-		if ( $this->mShowEditLink && $item->mTitle->quickUserCan( 'edit' ) ) {
-			$heading = $this->doEditLink( $item->mTitle, $item->mName ) . $heading;
-		}
-		$heading = Xml::tags( 'h2', null, $heading );
-
-		# Sumary entry header.
-		$key = $this->mQuery->isSingleWikilog()
-			? 'wikilog-summary-header-single'
-			: 'wikilog-summary-header';
-		$msg = wfMessage( $key, $params )->inContentLanguage()->parse();
-		if ( !empty( $msg ) ) {
-			$header = WikilogUtils::wrapDiv( 'wl-summary-header', $this->parse( $msg ) );
-		}
-
-		# Summary entry text.
-		if ( $summary ) {
-			$more = $this->parse( wfMessage( 'wikilog-summary-more', $params )->inContentLanguage()->plain() );
-			$summary = WikilogUtils::wrapDiv( 'wl-summary', $summary . $more );
-		} else {
-			$summary = WikilogUtils::wrapDiv( 'wl-summary', $content );
-		}
-
-		# Summary entry footer.
-		$key = $this->mQuery->isSingleWikilog()
-			? 'wikilog-summary-footer-single'
-			: 'wikilog-summary-footer';
-		$msg = wfMessage( $key, $params )->inContentLanguage()->parse();
-		if ( !empty( $msg ) ) {
-			$footer = WikilogUtils::wrapDiv( 'wl-summary-footer', $this->parse( $msg ) );
-		}
-
-		# Assembly the entry div.
-		$divclass = array( 'wl-entry', 'visualClear' );
-		if ( !$item->getIsPublished() )
-			$divclass[] = 'wl-draft';
-		$entry = WikilogUtils::wrapDiv(
-			implode( ' ', $divclass ),
-			$heading . $header . $summary . $footer
-		);
-		return $entry;
-	}
-
-	/**
-	 * Parse a given wikitext and returns the resulting HTML fragment.
-	 * Uses either $wgParser->recursiveTagParse() or $wgParser->parse()
-	 * depending whether the content is being included in another
-	 * article. Note that the parser state can't be reset, or it will
-	 * break the parser output.
-	 * @param string $text Wikitext that should be parsed.
-	 * @return string Resulting HTML fragment.
-	 */
-	protected function parse( $text ) {
-		global $wgTitle, $wgParser, $wgOut;
-		if ( $this->mIncluding ) {
-			return $wgParser->recursiveTagParse( $text );
-		} else {
-			$popts = $wgOut->parserOptions();
-			$output = $wgParser->parse( $text, $wgTitle, $popts, true, false );
-			return $output->getText();
-		}
-	}
-
-	/**
-	 * Returns a wikilog article edit link, much similar to a section edit
-	 * link in normal articles.
-	 * @param $title Title  The title of the target article.
-	 * @param $tooltip string  The tooltip to be included in the link, wrapped
-	 *   in the 'wikilog-edit-hint' message.
-	 * @return string  HTML fragment.
-	 */
-	private function doEditLink( $title, $tooltip = null ) {
-		$lang = wfGetLangObj();
-
-		$skin = $this->getSkin();
-		$attribs = array();
-		if ( !is_null( $tooltip ) ) {
-			$attribs['title'] = wfMessage( 'wikilog-edit-hint', $tooltip )->escaped();
-		}
-		$link = Linker::link( $title, wfMessage( 'wikilog-edit-lc' )->escaped(),
-			$attribs,
-			array( 'action' => 'edit' ),
-			array( 'noclasses', 'known' )
-		);
-
-		$result = '<span class="mw-editsection">'
-			. '<span class="mw-editsection-bracket">[</span>'
-			. $link
-			. '<span class="mw-editsection-bracket">]</span>'
-			. '</span>';
-
-		Hooks::run( 'DoEditSectionLink', array( $skin, $title, "", $tooltip, &$result, $lang ) );
-		return $result;
-	}
-}
-
-/**
- * Template pager.
- *
- * Lists wikilog articles like #WikilogSummaryPager, but using a given
- * template to format the summaries. The template receives the article
- * data through its parameters:
- *
- * - 'class': div element class attribute
- * - 'wikilogTitle': title (as text) of the wikilog page
- * - 'wikilogPage': title (prefixed, for link) of the wikilog page
- * - 'title': title (as text) of the article page
- * - 'page': title (prefixed, for link) of the article page
- * - 'authors': authors
- * - 'tags': tags
- * - 'published': empty (draft) or "*" (published)
- * - 'date': article publication date
- * - 'time': article publication time
- * - 'tz': timezone information
- * - 'updatedDate': article last update date
- * - 'updatedTime': article last update time
- * - 'summary': article summary
- * - 'hasMore': empty (summary only) or "*" (has more than summary)
- * - 'comments': comments page link
- */
-class WikilogTemplatePager
-	extends WikilogSummaryPager
-{
-	protected $mTemplate, $mTemplateTitle;
-
-	/**
-	 * Constructor.
-	 */
-	function __construct( WikilogItemQuery $query, Title $template, $limit = false, $including = false ) {
-		global $wgParser;
-
-		# Parent constructor.
-		parent::__construct( $query, $limit, $including );
-
-		# Load template
-		list( $this->mTemplate, $this->mTemplateTitle ) =
-			$wgParser->getTemplateDom( $template );
-		if ( $this->mTemplate === false )
-			$this->mTemplate = "[[:$template]]";
-	}
-
-	function getDefaultQuery() {
-		$query = parent::getDefaultQuery();
-		$query['template'] = $this->mTemplateTitle->getPartialURL();
-		return $query;
-	}
-
-	function getStartBody() {
-		return "<div class=\"wl-tpl-roll\">\n";
-	}
-
-	function getEndBody() {
-		return "</div>\n";
-	}
-
-	function formatRow( $row ) {
-		global $wgParser;
-
-		# Retrieve article parser output and other data.
-		$item = WikilogItem::newFromRow( $row );
-		$parserOutput = WikilogUtils::parsedPage( $item->mTitle );
-		list( $summary, $content ) = WikilogUtils::splitSummaryContent( $parserOutput );
-		if ( empty( $summary ) ) {
-			$summary = $content;
-			$hasMore = false;
-		} else {
-			$hasMore = true;
-		}
-
-		# Some general data.
-		$authors = WikilogUtils::authorList( array_keys( $item->mAuthors ) );
-		$tags = implode( wfMessage( 'comma-separator' )->inContentLanguage()->text(), array_keys( $item->mTags ) );
-		$comments = WikilogUtils::getCommentsWikiText( $item );
-		$divclass = 'wl-entry' . ( $item->getIsPublished() ? '' : ' wl-draft' );
-
-		$itemPubdate = $item->getPublishDate();
-		list( $publishedDate, $publishedTime, $publishedTz ) =
-				WikilogUtils::getLocalDateTime( $itemPubdate );
-
-		$itemUpdated = $item->getUpdatedDate();
-		list( $updatedDate, $updatedTime, ) =
-				WikilogUtils::getLocalDateTime( $itemUpdated );
-
-		# Template parameters.
-		$vars = array(
-			'class'         => $divclass,
-			'wikilogTitle'  => $item->mParentName,
-			'wikilogPage'   => $item->mParentTitle->getPrefixedText(),
-			'title'         => $item->mName,
-			'page'          => $item->mTitle->getPrefixedText(),
-			'authors'       => $authors,
-			'tags'          => $tags,
-			'published'     => $item->getIsPublished() ? '*' : '',
-			'date'          => $publishedDate,
-			'time'          => $publishedTime,
-			'tz'            => $publishedTz,
-			'updatedDate'   => $updatedDate,
-			'updatedTime'   => $updatedTime,
-			'summary'       => $wgParser->insertStripItem( $summary ),
-			'hasMore'       => $hasMore ? '*' : '',
-			'comments'      => $comments
-		);
-
-		$frame = $wgParser->getPreprocessor()->newCustomFrame( $vars );
-		$text = $frame->expand( $this->mTemplate );
-
-		return $this->parse( $text );
-	}
-}
-
-/**
- * Archives pager.
- *
- * Lists wikilog articles in a table, with date, authors, wikilog and
- * title, without summaries, for easy navigation through large amounts of
- * articles.
- */
-class WikilogArchivesPager
-	extends TablePager
-	implements WikilogItemPager
-{
-	# Local variables.
-	protected $mQuery = null;			///< Wikilog item query data
-	protected $mIncluding = false;		///< If pager is being included
-
-	/**
-	 * Constructor.
-	 */
-	function __construct( WikilogItemQuery $query, $including = false ) {
-		# WikilogItemQuery object drives our queries.
-		$this->mQuery = $query;
-		$this->mIncluding = $including;
-
-		# Parent constructor.
-		parent::__construct();
-	}
-
-	/**
-	 * Property accessor/mutators.
-	 */
-	function including( $x = null ) { return wfSetVar( $this->mIncluding, $x ); }
-
-	function getQueryInfo() {
-		return $this->mQuery->getQueryInfo( $this->mDb );
-	}
-
-	function getDefaultQuery() {
-		$query = parent::getDefaultQuery() + $this->mQuery->getDefaultQuery();
-		$query['view'] = 'archives';
-		return $query;
-	}
-
-	function getTableClass() {
-		return 'wl-archives TablePager';
-	}
-
-	function isFieldSortable( $field ) {
-		static $sortableFields = array(
-			'wlp_pubdate',
-			'wlp_updated',
-			'wlw_title',
-			'wlp_title',
-		);
-		return in_array( $field, $sortableFields );
-	}
-
-	function getNavigationBar() {
-		if ( !$this->isNavigationBarShown() ) return '';
-		if ( !isset( $this->mNavigationBar ) ) {
-			$navbar = new WikilogNavbar( $this, 'pages' );
-			$this->mNavigationBar = $navbar->getNavigationBar( $this->mLimit );
-		}
-		return $this->mNavigationBar;
-	}
-
-	function formatRow( $row ) {
-		$attribs = array();
-		$columns = array();
-		$this->mCurrentRow = $row;
-		$this->mCurrentItem = WikilogItem::newFromRow( $row );
-		if ( !$this->mCurrentItem->getIsPublished() ) {
-			$attribs['class'] = 'wl-draft';
-		}
-		foreach ( $this->getFieldNames() as $field => $name ) {
-			$value = isset( $row->$field ) ? $row->$field : null;
-			$formatted = strval( $this->formatValue( $field, $value ) );
-			if ( $formatted == '' ) {
-				$formatted = WL_NBSP;
-			}
-			$class = 'TablePager_col_' . htmlspecialchars( $field );
-			$columns[] = "<td class=\"$class\">$formatted</td>";
-		}
-		return Xml::tags( 'tr', $attribs, implode( "\n", $columns ) ) . "\n";
-	}
-
-	function formatValue( $name, $value ) {
-		global $wgContLang;
-
-		switch ( $name ) {
-			case 'wlp_pubdate':
-				$s = $wgContLang->timeanddate( $value, true );
-				if ( !$this->mCurrentRow->wlp_publish ) {
-					$s = Xml::wrapClass( $s, 'wl-draft-inline' );
-				}
-				return $s;
-
-			case 'wlp_updated':
-				return $value;
-
-			case 'wlp_authors':
-				return $this->authorList( $this->mCurrentItem->mAuthors );
-
-			case 'wlw_title':
-				$page = $this->mCurrentItem->mParentTitle;
-				$text = Sanitizer::escapeHtmlAllowEntities( $this->mCurrentItem->mParentName );
-				return Linker::link( $page, $text, array(), array(),
-					array( 'known', 'noclasses' ) );
-
-			case 'wlp_title':
-				$page = $this->mCurrentItem->mTitle;
-				$text = Sanitizer::escapeHtmlAllowEntities( $this->mCurrentItem->mName );
-				$s = Linker::link( $page, $text, array(), array(),
-					array( 'known', 'noclasses' ) );
-				if ( !$this->mCurrentRow->wlp_publish ) {
-					$draft = wfMessage( 'wikilog-draft-title-mark' )->text();
-					$s = Xml::wrapClass( "$s $draft", 'wl-draft-inline' );
-				}
-				return $s;
-
-			case 'wlp_num_comments':
-				$page = $this->mCurrentItem->mTitle->getTalkPage();
-				$text = $this->mCurrentItem->getNumComments();
-				return Linker::link( $page, $text, array(), array(),
-					array( 'known', 'noclasses' ) );
-
-			case '_wl_actions':
-				if ( $this->mCurrentItem->mTitle->quickUserCan( 'edit' ) ) {
-					return $this->doEditLink( $this->mCurrentItem->mTitle, $this->mCurrentItem->mName );
-				} else {
-					return '';
-				}
-
-			default:
-				return htmlentities( $value );
-		}
-	}
-
-	function getDefaultSort() {
-		return 'wlp_pubdate';
-	}
-
-	function getFieldNames() {
-		global $wgWikilogEnableComments;
-
-		$fields = array();
-
-		$fields['wlp_pubdate']			= wfMessage( 'wikilog-published' )->escaped();
-		$fields['wlp_authors']			= wfMessage( 'wikilog-authors' )->escaped();
-
-		if ( !$this->mQuery->isSingleWikilog() )
-			$fields['wlw_title']		= wfMessage( 'wikilog-wikilog' )->escaped();
-
-		$fields['wlp_title']			= wfMessage( 'wikilog-title' )->escaped();
-
-		if ( $wgWikilogEnableComments )
-			$fields['wlp_num_comments']	= wfMessage( 'wikilog-comments' )->escaped();
-
-		$fields['_wl_actions']			= wfMessage( 'wikilog-actions' )->escaped();
-		return $fields;
-	}
-
-	/**
-	 * Formats the given list of authors into a textual comma-separated list.
-	 * @param $list Array with wikilog article author information.
-	 * @return Resulting HTML fragment.
-	 */
-	private function authorList( $list ) {
-		if ( is_string( $list ) ) {
-			return $this->authorLink( $list );
-		}
-		elseif ( is_array( $list ) ) {
-			$list = array_keys( $list );
-			return implode( ', ', array_map( array( &$this, 'authorLink' ), $list ) );
-		}
-		else {
-			return '';
-		}
-	}
-
-	/**
-	 * Formats an author user page link.
-	 * @param $name Username of the author.
-	 * @return Resulting HTML fragment.
-	 */
-	private function authorLink( $name ) {
-		$title = Title::makeTitle( NS_USER, $name );
-		return Linker::link( $title, $name );
-	}
-
-	/**
-	 * Returns a wikilog article edit link, much similar to a section edit
-	 * link in normal articles.
-	 * @param $title Title  The title of the target article.
-	 * @param $tooltip string  The tooltip to be included in the link, wrapped
-	 *   in the 'wikilog-edit-hint' message.
-	 * @return string  HTML fragment.
-	 */
-	private function doEditLink( $title, $tooltip = null ) {
-		$attribs = array();
-		if ( !is_null( $tooltip ) ) {
-			$attribs['title'] = wfMessage( 'wikilog-edit-hint', $tooltip )->escaped();
-		}
-		$link = Linker::link( $title, wfMessage( 'wikilog-edit-lc' )->escaped(),
-			$attribs,
-			array( 'action' => 'edit' ),
-			array( 'noclasses', 'known' )
-		);
-
-		$result = '<span class="mw-editsection-bracket">[</span>'
-			. $link
-			. '<span class="mw-editsection-bracket">]</span>';
-
-		return $result;
-	}
-}
diff --git a/WikilogLinksUpdate.php b/WikilogLinksUpdate.php
deleted file mode 100644
index 9a91b35..0000000
--- a/WikilogLinksUpdate.php
+++ /dev/null
@@ -1,148 +0,0 @@
-<?php
-/**
- * MediaWiki Wikilog extension
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-if ( !defined( 'MEDIAWIKI' ) )
-	die();
-
-class WikilogLinksUpdate extends SqlDataUpdate {
-	private $mId;
-	private $mTitle;
-	private $mAuthors;
-	private $mTags;
-
-	function __construct( LinksUpdate &$lupd, WikilogParserOutput $parserOutput ) {
-		parent::__construct( false );
-
-		$this->mId = $lupd->mId;
-		$this->mTitle = $lupd->mTitle;
-		// Accessible via SqlDataUpdate ancestor (T112409)
-		$this->mDb = wfGetDB( DB_MASTER );
-		$this->mAuthors = $parserOutput->getAuthors();
-		$this->mTags = $parserOutput->getTags();
-	}
-
-	public function doUpdate() {
-		# Authors
-		$existing = $this->getExistingAuthors();
-		$this->incrTableUpdate( 'wikilog_authors',
-			'wla_page', 'wla_author_text',
-			$this->getAuthorDeletions( $existing ),
-			$this->getAuthorInsertions( $existing )
-		);
-
-		# Tags
-		$existing = $this->getExistingTags();
-		$this->incrTableUpdate( 'wikilog_tags',
-			'wlt_page', 'wlt_tag',
-			$this->getTagDeletions( $existing ),
-			$this->getTagInsertions( $existing )
-		);
-	}
-
-	private function incrTableUpdate( $table, $from, $to, $deletions, $insertions ) {
-		if ( count( $deletions ) ) {
-			$where = array(
-				$from => $this->mId,
-				"$to IN (" . $this->mDb->makeList( array_keys( $deletions ) ) . ")"
-			);
-			$this->mDb->delete( $table, $where, __METHOD__ );
-		}
-		if ( count( $insertions ) ) {
-			$this->mDb->insert( $table, $insertions, __METHOD__, 'IGNORE' );
-		}
-	}
-
-	private function getAuthorInsertions( $existing = array() ) {
-		$arr = array();
-		$diffs = array_diff_key( $this->mAuthors, $existing );
-		foreach ( $diffs as $author_text => $author ) {
-			$arr[] = array(
-				'wla_page'			=> $this->mId,
-				'wla_author'		=> $author,
-				'wla_author_text'	=> $author_text
-			);
-		}
-		return $arr;
-	}
-
-	private function getTagInsertions( $existing = array() ) {
-		$arr = array();
-		$diffs = array_diff_key( $this->mTags, $existing );
-		foreach ( $diffs as $tag => $dummy ) {
-			$arr[] = array(
-				'wlt_page'   => $this->mId,
-				'wlt_tag'    => $tag
-			);
-		}
-		return $arr;
-	}
-
-	private function getAuthorDeletions( $existing ) {
-		return array_diff_key( $existing, $this->mAuthors );
-	}
-
-	private function getTagDeletions( $existing ) {
-		return array_diff_key( $existing, $this->mTags );
-	}
-
-	private function getExistingAuthors() {
-		$res = $this->mDb->select( 'wikilog_authors', array( 'wla_page', 'wla_author' ),
-			array( 'wla_page' => $this->mId ), __METHOD__ );
-		$arr = array();
-		while ( $row = $this->mDb->fetchObject( $res ) ) {
-			$arr[$row->wla_author] = 1;
-		}
-		$this->mDb->freeResult( $res );
-		return $arr;
-	}
-
-	private function getExistingTags() {
-		$res = $this->mDb->select( 'wikilog_tags', array( 'wlt_page', 'wlt_tag' ),
-			array( 'wlt_page' => $this->mId ), __METHOD__ );
-		$arr = array();
-		while ( $row = $this->mDb->fetchObject( $res ) ) {
-			$arr[$row->wlt_tag] = 1;
-		}
-		$this->mDb->freeResult( $res );
-		return $arr;
-	}
-
-	/**
-	 * Hook handler
-	 *
-	 * @param LinksUpdate $lupd
-	 * @return bool
-	 */
-	static function LinksUpdate( LinksUpdate &$lupd ) {
-		if ( isset( $lupd->mParserOutput->mExtWikilog ) ) {
-			$u = new WikilogLinksUpdate( $lupd, $lupd->mParserOutput->mExtWikilog );
-			$u->doUpdate();
-		}
-		return true;
-	}
-}
diff --git a/WikilogMainPage.php b/WikilogMainPage.php
deleted file mode 100644
index 404513d..0000000
--- a/WikilogMainPage.php
+++ /dev/null
@@ -1,341 +0,0 @@
-<?php
-/**
- * MediaWiki Wikilog extension
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-if ( !defined( 'MEDIAWIKI' ) )
-	die();
-
-class WikilogMainPage
-	extends Article
-	implements WikilogCustomAction
-{
-	/**
-	 * Alternate views.
-	 */
-	protected static $views = array( 'summary', 'archives' );
-
-	/**
-	 * Wikilog data.
-	 */
-	private   $mWikilogDataLoaded = false;
-	public    $mWikilogSubtitle   = false;
-	public    $mWikilogIcon       = false;
-	public    $mWikilogLogo       = false;
-	public    $mWikilogAuthors    = false;
-	public    $mWikilogUpdated    = false;
-	public    $mWikilogPubdate    = false;
-
-	/**
-	 * Constructor.
-	 */
-	public function __construct( &$title, &$wi ) {
-		parent::__construct( $title );
-	}
-
-	/**
-	 * View action handler.
-	 */
-	public function view() {
-		global $wgRequest, $wgOut, $wgMimeType;
-
-		$query = new WikilogItemQuery( $this->mTitle );
-		$query->setPubStatus( $wgRequest->getVal( 'show' ) );
-
-		# RSS or Atom feed requested. Ignore all other options.
-		if ( ( $feedFormat = $wgRequest->getVal( 'feed' ) ) ) {
-			global $wgWikilogNumArticles;
-			$feed = new WikilogItemFeed( $this->mTitle, $feedFormat, $query,
-				$wgRequest->getInt( 'limit', $wgWikilogNumArticles ) );
-			return $feed->execute();
-		}
-
-		# View selection.
-		$view = $wgRequest->getVal( 'view', 'summary' );
-
-		# Query filter options.
-		$query->setCategory( $wgRequest->getVal( 'category' ) );
-		$query->setAuthor( $wgRequest->getVal( 'author' ) );
-		$query->setTag( $wgRequest->getVal( 'tag' ) );
-
-		$year = $wgRequest->getIntOrNull( 'year' );
-		$month = $wgRequest->getIntOrNull( 'month' );
-		$day = $wgRequest->getIntOrNull( 'day' );
-		$query->setDate( $year, $month, $day );
-
-		# Display wiki text page contents.
-		parent::view();
-
-		# Create pager object, according to the type of listing.
-		if ( $view == 'archives' ) {
-			$pager = new WikilogArchivesPager( $query );
-		} else {
-			$pager = new WikilogSummaryPager( $query );
-		}
-
-		# Display list of wikilog posts.
-		$body = $pager->getBody();
-		$body .= $pager->getNavigationBar();
-		$wgOut->addHTML( Xml::openElement( 'div', array( 'class' => 'wl-wrapper' ) ) );
-		$wgOut->addHTML( $body );
-		$wgOut->addHTML( Xml::closeElement( 'div' ) );
-
-		# Get query parameter array, for the following links.
-		$qarr = $query->getDefaultQuery();
-
-		# Add feed links.
-		$wgOut->setSyndicated();
-		if ( isset( $qarr['show'] ) ) {
-			$altquery = wfArrayToCGI( array_intersect_key( $qarr, WikilogItemFeed::$paramWhitelist ) );
-			$wgOut->setFeedAppendQuery( $altquery );
-		}
-
-		# Add links for alternate views.
-		foreach ( self::$views as $alt ) {
-			if ( $alt != $view ) {
-				$altquery = wfArrayToCGI( array( 'view' => $alt ), $qarr );
-				$wgOut->addLink( array(
-					'rel' => 'alternate',
-					'href' => $this->mTitle->getLocalURL( $altquery ),
-					'type' => $wgMimeType,
-					'title' => wfMessage( "wikilog-view-{$alt}" )->inContentlanguage()->parse()
-				) );
-			}
-		}
-	}
-
-	/**
-	 * Wikilog action handler.
-	 */
-	public function wikilog() {
-		global $wgOut, $wgRequest;
-
-		if ( $this->mTitle->exists() && $wgRequest->getBool( 'wlActionNewItem' ) )
-			return $this->actionNewItem();
-
-		$wgOut->setPageTitle( wfMessage( 'wikilog-tab-title' ) );
-		$wgOut->setRobotpolicy( 'noindex,nofollow' );
-
-		if ( $this->mTitle->exists() ) {
-			$wgOut->addHTML( $this->formatWikilogDescription() );
-			$wgOut->addHTML( $this->formatWikilogInformation() );
-			if ( $this->mTitle->quickUserCan( 'edit' ) ) {
-				$wgOut->addHTML( $this->formNewItem() );
-			}
-		} elseif ( $this->mTitle->userCan( 'create' ) ) {
-			$text = wfMessage( 'wikilog-missing-wikilog' )->parse();
-			$text = WikilogUtils::wrapDiv( 'noarticletext', $text );
-			$wgOut->addHTML( $text );
-		} else {
-			$this->showMissingArticle();
-		}
-	}
-
-	/**
-	 * Returns wikilog description as formatted HTML.
-	 */
-	protected function formatWikilogDescription() {
-		global $wgParser;
-
-		$this->loadWikilogData();
-
-		$s = '';
-		if ( $this->mWikilogIcon ) {
-			$title = Title::makeTitle( NS_FILE, $this->mWikilogIcon );
-			$file = wfFindFile( $title );
-			$s .= Linker::makeImageLink( $wgParser, $title, $file,
-				array( 'align' => 'left' ),
-				array( 'width' => '32' )
-			);
-		}
-		$s .= Xml::tags( 'div', array( 'class' => 'wl-title' ),
-			Linker::link( $this->mTitle, null, array(), array(), array( 'known', 'noclasses' ) ) );
-
-		$st =& $this->mWikilogSubtitle;
-		if ( is_array( $st ) ) {
-			$tc = new WlTextConstruct( $st[0], $st[1] );
-			$s .= Xml::tags( 'div', array( 'class' => 'wl-subtitle' ), $tc->getHTML() );
-		} elseif ( is_string( $st ) && !empty( $st ) ) {
-			$s .= Xml::element( 'div', array( 'class' => 'wl-subtitle' ), $st );
-		}
-
-		return Xml::tags( 'div', array( 'class' => 'wl-description' ), $s );
-	}
-
-	/**
-	 * Returns wikilog information as formatted HTML.
-	 */
-	protected function formatWikilogInformation() {
-		$dbr = wfGetDB( DB_SLAVE );
-
-		$row = $dbr->selectRow(
-			array( 'wikilog_posts', 'page' ),
-			'COUNT(*) as total, SUM(wlp_publish) as published',
-			array(
-				'wlp_page = page_id',
-				'wlp_parent' => $this->mTitle->getArticleID(),
-				'page_is_redirect' => 0
-			),
-			__METHOD__
-		);
-		$n_total = intval( $row->total );
-		$n_published = intval( $row->published );
-		$n_drafts = $n_total - $n_published;
-
-		$cont = $this->formatPostCount( 'p', 'published', $n_published );
-		$cont .= Xml::openElement( 'ul' );
-		$cont .= $this->formatPostCount( 'li', 'drafts', $n_drafts );
-		$cont .= $this->formatPostCount( 'li', 'all', $n_total );
-		$cont .= Xml::closeElement( 'ul' );
-
-		return Xml::fieldset( wfMessage( 'wikilog-information' )->text(), $cont ) . "\n";
-	}
-
-	/**
-	 * Used by formatWikilogInformation(), formats a post count link.
-	 */
-	private function formatPostCount( $elem, $type, $num ) {
-		global $wgWikilogFeedClasses;
-
-		// Uses messages 'wikilog-post-count-published', 'wikilog-post-count-drafts', 'wikilog-post-count-all'
-		$s = Linker::link( $this->mTitle,
-			wfMessage( "wikilog-post-count-{$type}", $num )->parse(),
-			array(),
-			array( 'view' => "archives", 'show' => $type ),
-			array( 'knwon', 'noclasses' )
-		);
-		if ( !empty( $wgWikilogFeedClasses ) ) {
-			$f = array();
-			foreach ( $wgWikilogFeedClasses as $format => $class ) {
-				$f[] = Linker::link( $this->mTitle,
-					wfMessage( "feed-{$format}" )->escaped(),
-					array( 'class' => "feedlink", 'type' => "application/{$format}+xml" ),
-					array( 'view' => "archives", 'show' => $type, 'feed' => $format ),
-					array( 'known', 'noclasses' )
-				);
-			}
-			$s .= ' (' . implode( ', ', $f ) . ')';
-		}
-		return Xml::tags( $elem, null, $s );
-	}
-
-	/**
-	 * Returns a form for new item creation.
-	 */
-	protected function formNewItem() {
-		global $wgScript;
-
-		$fields = array();
-		$fields[] = Html::hidden( 'title', $this->mTitle->getPrefixedText() );
-		$fields[] = Html::hidden( 'action', 'wikilog' );
-		$fields[] = Xml::inputLabel( wfMessage( 'wikilog-item-name' )->text(),
-			'wlItemName', 'wl-item-name', 50 );
-		$fields[] = Xml::submitButton( wfMessage( 'wikilog-new-item-go' )->text(),
-			array( 'name' => 'wlActionNewItem' ) );
-
-		$form = Xml::tags( 'form',
-			array( 'action' => $wgScript ),
-			implode( "\n", $fields )
-		);
-
-		return Xml::fieldset( wfMessage( 'wikilog-new-item' )->text(), $form ) . "\n";
-	}
-
-	/**
-	 * Wikilog "new item" action handler.
-	 */
-	protected function actionNewItem() {
-		global $wgOut, $wgRequest;
-
-		if ( !$this->mTitle->quickUserCan( 'edit' ) ) {
-			throw new PermissionsError( 'edit' );
-		}
-
-		$itemname = $wgRequest->getText( 'wlItemName' );
-
-		if ( strchr( $itemname, '/' ) !== false )
-			throw new ErrorPageError( 'badtitle', 'badtitletext' );
-
-		$title = Title::makeTitle( $this->mTitle->getNamespace(),
-			$this->mTitle->getText() . '/' . $itemname );
-
-		if ( $itemname == '' || !$title )
-			throw new ErrorPageError( 'badtitle', 'badtitletext' );
-
-		if ( $title->exists() )
-			throw new ErrorPageError( 'errorpagetitle', 'articleexists' );
-
-		$wgOut->redirect( $title->getFullURL( 'action=edit' ) );
-	}
-
-	/**
-	 * Load current article wikilog data.
-	 */
-	private function loadWikilogData() {
-		if ( !$this->mWikilogDataLoaded ) {
-			$dbr = wfGetDB( DB_SLAVE );
-			$data = $this->getWikilogDataFromId( $dbr, $this->getId() );
-			if ( $data ) {
-				$this->mWikilogSubtitle = unserialize( $data->wlw_subtitle );
-				$this->mWikilogIcon = $data->wlw_icon;
-				$this->mWikilogLogo = $data->wlw_logo;
-				$this->mWikilogUpdated = wfTimestamp( TS_MW, $data->wlw_updated );
-				$this->mWikilogAuthors = unserialize( $data->wlw_authors );
-				if ( !is_array( $this->mWikilogAuthors ) ) {
-					$this->mWikilogAuthors = array();
-				}
-			}
-			$this->mWikilogDataLoaded = true;
-		}
-	}
-
-	/**
-	 * Return wikilog data from the database, matching a set of conditions.
-	 */
-	public static function getWikilogData( $dbr, $conditions ) {
-		$row = $dbr->selectRow(
-			'wikilog_wikilogs',
-			array(
-				'wlw_page',
-				'wlw_subtitle',
-				'wlw_icon',
-				'wlw_logo',
-				'wlw_authors',
-				'wlw_updated'
-			),
-			$conditions,
-			__METHOD__
-		);
-		return $row;
-	}
-
-	/**
-	 * Return wikilog data from the database, matching the given page ID.
-	 */
-	public static function getWikilogDataFromId( $dbr, $id ) {
-		return self::getWikilogData( $dbr, array( 'wlw_page' => $id ) );
-	}
-}
diff --git a/WikilogParser.php b/WikilogParser.php
deleted file mode 100644
index 19da3e9..0000000
--- a/WikilogParser.php
+++ /dev/null
@@ -1,610 +0,0 @@
-<?php
-/**
- * MediaWiki Wikilog extension
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-if ( !defined( 'MEDIAWIKI' ) )
-	die();
-
-/**
- * This class holds the parser functions that hooks into the Parser in order
- * to collect Wikilog metadata.
- */
-class WikilogParser
-{
-	/**
-	 * Anchor printed when a --more-- separator is substituted.
-	 */
-	const MORE_ANCHOR = "<span id=\"wl-more\"></span>";
-
-	/**
-	 * True if parsing articles with feed output specific settings.
-	 * This is an horrible hack needed because of many MediaWiki misdesigns.
-	 */
-	static private $feedParsing = false;
-
-	/**
-	 * True if we are expanding local URLs (in order to render stand-alone,
-	 * base-less feeds). This is an horrible hack needed because of many
-	 * MediaWiki misdesigns.
-	 */
-	static private $expandingUrls = false;
-
-
-	###
-	## Parser hooks
-	#
-
-	/**
-	 * ParserFirstCallInit hook handler function.
-	 */
-	public static function FirstCallInit( &$parser ) {
-		$mwSummary =& MagicWord::get( 'wlk-summary' );
-		foreach ( $mwSummary->getSynonyms() as $tagname ) {
-			$parser->setHook( $tagname, array( 'WikilogParser', 'summary' ) );
-		}
-
-		$parser->setFunctionHook( 'wl-settings', array( 'WikilogParser', 'settings' ), Parser::SFH_NO_HASH );
-		$parser->setFunctionHook( 'wl-publish',  array( 'WikilogParser', 'publish'  ), Parser::SFH_NO_HASH );
-		$parser->setFunctionHook( 'wl-author',   array( 'WikilogParser', 'author'   ), Parser::SFH_NO_HASH );
-		$parser->setFunctionHook( 'wl-tags',     array( 'WikilogParser', 'tags'     ), Parser::SFH_NO_HASH );
-		$parser->setFunctionHook( 'wl-info',     array( 'WikilogParser', 'info'     ), Parser::SFH_NO_HASH );
-		return true;
-	}
-
-	/**
-	 * ParserClearState hook handler function.
-	 */
-	public static function ClearState( &$parser ) {
-		# These two parser attributes contain our private information.
-		# They take a piggyback ride on the parser object.
-		$parser->mExtWikilog = new WikilogParserOutput;
-		$parser->mExtWikilogInfo = null;
-
-		# Disable TOC in feeds.
-		if ( self::$feedParsing ) {
-			$parser->mShowToc = false;
-		}
-		return true;
-	}
-
-	/**
-	 * ParserBeforeStrip hook handler function.
-	 */
-	public static function BeforeStrip( &$parser, &$text, &$stripState ) {
-		# Do nothing if a title is not set.
-		if ( ! ( $title = $parser->getTitle() )  )
-			return true;
-
-		# Do nothing if it is not a wikilog article.
-		if ( ! ( $parser->mExtWikilogInfo = Wikilog::getWikilogInfo( $title ) ) )
-			return true;
-
-		if ( $parser->mExtWikilogInfo->isItem() ) {
-			# By default, use the item name as the default sort in categories.
-			# This can be overriden by {{DEFAULTSORT:...}} if the user wants.
-			$parser->setDefaultSort( $parser->mExtWikilogInfo->getItemName() );
-		}
-
-		return true;
-	}
-
-	/**
-	 * ParserAfterTidy hook handler function.
-	 */
-	public static function AfterTidy( &$parser, &$text ) {
-		$parser->mOutput->mExtWikilog = $parser->mExtWikilog;
-		return true;
-	}
-
-	/**
-	 * InternalParseBeforeLinks hook handler function. Called after nowiki,
-	 * comments and templates are treated.
-	 * For wikilog pages, look for the "--more--" marker and extract the
-	 * article summary before it. If not found, look for the first heading
-	 * and use the text before it (intro section).
-	 */
-	public static function InternalParseBeforeLinks( &$parser, &$text, &$stripState ) {
-		if ( $parser->mExtWikilogInfo && $parser->mExtWikilogInfo->isItem() ) {
-			static $moreRegex = false;
-			if ( $moreRegex === false ) {
-				$mwMore =& MagicWord::get( 'wlk-more' );
-				$words = $mwMore->getBaseRegex();
-				$flags = $mwMore->getRegexCase();
-				$moreRegex = "/(?<=^|\\n)--+ *(?:$words) *--+\s*/$flags";
-			}
-
-			# Find and replace the --more-- marker. Extract summary.
-			# We do it anyway even if the summary is already set, in order
-			# to replace the marker with an invisible anchor.
-			$p = preg_split( $moreRegex, $text, 2 );
-			if ( count( $p ) > 1 ) {
-				self::trySetSummary( $parser, trim( $p[0] ) );
-				$anchor = $parser->insertStripItem( self::MORE_ANCHOR );
-				$text = $p[0] . $anchor . $p[1];
-			} elseif ( !$parser->mExtWikilog->mSummary ) {
-				# Otherwise, make a summary from the intro section.
-				# Why we don't use $parser->getSection()? Because it has the
-				# side-effect of clearing the parser state, which is bad here
-				# since this hook happens during parsing. Instead, we
-				# anticipate the $parser->doHeadings() call and extract the
-				# text before the first heading.
-				$text = $parser->doHeadings( $text );
-				$p = preg_split( '/<(h[1-6])\\b.*?>.*?<\\/\\1\\s*>/i', $text, 2 );
-				if ( count( $p ) > 1 ) {
-					self::trySetSummary( $parser, trim( $p[0] ) );
-				}
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * GetLocalURL hook handler function.
-	 * Expands local URL @a $url if self::$expandingUrls is true.
-	 */
-	public static function GetLocalURL( &$title, &$url, $query ) {
-		if ( self::$expandingUrls ) {
-			$url = wfExpandUrl( $url );
-		}
-		return true;
-	}
-
-	/**
-	 * GetFullURL hook handler function.
-	 * Fix some brain-damage in Title::getFullURL() (as of MW 1.13) that
-	 * prepends $wgServer to URL without using wfExpandUrl(), in part because
-	 * we want (above in Wikilog::GetLocalURL()) to return an absolute URL
-	 * from Title::getLocalURL() in situations where action != 'render'.
-	 * @todo Report this bug to MediaWiki bugzilla.
-	 */
-	public static function GetFullURL( &$title, &$url, $query ) {
-		global $wgServer;
-		if ( self::$expandingUrls ) {
-			$l = strlen( $wgServer );
-			if ( substr( $url, 0, 2 * $l ) == $wgServer . $wgServer ) {
-				$url = substr( $url, $l );
-			}
-		}
-		return true;
-	}
-
-	###
-	## Parser tags and functions
-	#
-
-	/**
-	 * Summary tag parser hook handler.
-	 */
-	public static function summary( $text, $params, $parser ) {
-		$mwHidden =& MagicWord::get( 'wlk-hidden' );
-
-		# Remove extra space to make block rendering easier.
-		$text = trim( $text );
-		self::trySetSummary( $parser, $text );
-
-		$hidden = WikilogUtils::arrayMagicKeyGet( $params, $mwHidden );
-		return $hidden ? '<!-- -->' : $parser->recursiveTagParse( $text );
-	}
-
-	/**
-	 * {{wl-settings:...}} parser function handler.
-	 */
-	public static function settings( &$parser /* ... */ ) {
-		self::checkNamespace( $parser );
-
-		$mwIcon     =& MagicWord::get( 'wlk-icon' );
-		$mwLogo     =& MagicWord::get( 'wlk-logo' );
-		$mwSubtitle =& MagicWord::get( 'wlk-subtitle' );
-
-		$args = array_slice( func_get_args(), 1 );
-		foreach ( $args as $arg ) {
-			$parts = array_map( 'trim', explode( '=', $arg, 2 ) );
-
-			if ( empty( $parts[0] ) ) continue;
-			if ( count( $parts ) < 2 ) $parts[1] = '';
-			list( $key, $value ) = $parts;
-
-			if ( $mwIcon->matchStart( $key ) ) {
-				if ( ( $icon = self::parseImageLink( $parser, $value ) ) ) {
-					$parser->mExtWikilog->mIcon = $icon->getTitle();
-				}
-			} elseif ( $mwLogo->matchStart( $key ) ) {
-				if ( ( $logo = self::parseImageLink( $parser, $value ) ) ) {
-					$parser->mExtWikilog->mLogo = $logo->getTitle();
-				}
-			} elseif ( $mwSubtitle->matchStart( $key ) ) {
-				$popt = $parser->getOptions();
-				$popt->enableLimitReport( false );
-				$output = $parser->parse( $value, $parser->getTitle(), $popt, true, false );
-				$parser->mExtWikilog->mSummary = $output->getText();
-			} else {
-				$warning = wfMessage( 'wikilog-error-msg', wfMessage( 'wikilog-invalid-param', $key )->text() )->text();
-				$parser->mOutput->addWarning( $warning );
-			}
-		}
-
-		return '<!-- -->';
-	}
-
-	/**
-	 * {{wl-publish:...}} parser function handler.
-	 */
-	public static function publish( &$parser, $pubdate /*, $author... */ ) {
-		self::checkNamespace( $parser );
-
-		$parser->mExtWikilog->mPublish = true;
-		$args = array_slice( func_get_args(), 2 );
-
-		# First argument is the publish date
-		if ( !is_null( $pubdate ) ) {
-			wfSuppressWarnings(); // Shut up E_STRICT warnings about timezone.
-			$ts = strtotime( $pubdate );
-			wfRestoreWarnings();
-			if ( $ts > 0 ) {
-				$parser->mExtWikilog->mPubDate = wfTimestamp( TS_MW, $ts );
-			}
-			else {
-				$warning = wfMessage( 'wikilog-error-msg', wfMessage( 'wikilog-invalid-date', $pubdate )->text() )->text();
-				$parser->mOutput->addWarning( $warning );
-			}
-		}
-
-		# Remaining arguments are author names
-		foreach ( $args as $name ) {
-			if ( !self::tryAddAuthor( $parser, $name ) )
-				break;
-		}
-
-		return '<!-- -->';
-	}
-
-	/**
-	 * {{wl-author:...}} parser function handler.
-	 */
-	public static function author( &$parser /*, $author... */ ) {
-		self::checkNamespace( $parser );
-
-		$args = array_slice( func_get_args(), 1 );
-		foreach ( $args as $name ) {
-			if ( !self::tryAddAuthor( $parser, $name ) )
-				break;
-		}
-		return '<!-- -->';
-	}
-
-	/**
-	 * {{wl-tags:...}} parser function handler.
-	 */
-	public static function tags( &$parser /*, $tag... */ ) {
-		self::checkNamespace( $parser );
-
-		$args = array_slice( func_get_args(), 1 );
-		foreach ( $args as $tag ) {
-			if ( !self::tryAddTag( $parser, $tag ) )
-				break;
-		}
-		return '<!-- -->';
-	}
-
-	/**
-	 * {{wl-info:...}} parser function handler.
-	 * Provides general information about the extension.
-	 */
-	public static function info( &$parser, $id /*, $tag... */ ) {
-		global $wgWikilogNamespaces, $wgWikilogEnableTags;
-		global $wgWikilogEnableComments;
-		global $wgContLang;
-
-		$args = array_slice( func_get_args(), 2 );
-
-		switch ( $id ) {
-			case 'num-namespaces':
-				return count( $wgWikilogNamespaces );
-			case 'all-namespaces':
-				$namespaces = array();
-				foreach ( $wgWikilogNamespaces as $ns )
-					$namespaces[] = $wgContLang->getFormattedNsText( $ns );
-				return $wgContLang->listToText( $namespaces );
-			case 'namespace-by-index':
-				$index = empty( $args ) ? 0 : intval( array_shift( $args ) );
-				if ( isset( $wgWikilogNamespaces[$index] ) ) {
-					return $wgContLang->getFormattedNsText( $wgWikilogNamespaces[$index] );
-				} else {
-					return '';
-				}
-			case 'tags-enabled':
-				return $wgWikilogEnableTags ? '*' : '';
-			case 'comments-enabled':
-				return $wgWikilogEnableComments ? '*' : '';
-			default:
-				return '';
-		}
-	}
-
-	###
-	## Wikilog parser settings.
-	#
-
-	/**
-	 * Enable special wikilog feed parsing.
-	 *
-	 * This function changes the parser behavior in order to output
-	 *
-	 * The proper way to use this function is:
-	 * @code
-	 *   $saveFeedParse = WikilogParser::enableFeedParsing();
-	 *   # ...code that uses $wgParser in order to parse articles...
-	 *   WikilogParser::enableFeedParsing( $saveFeedParse );
-	 * @endcode
-	 *
-	 * @note Using this function changes the behavior of Parser. When enabled,
-	 *   parsed content should be cached under a different key.
-	 */
-	public static function enableFeedParsing( $enable = true ) {
-		$prev = self::$feedParsing;
-		self::$feedParsing = $enable;
-		return $prev;
-	}
-
-	/**
-	 * Enable expansion of local URLs.
-	 *
-	 * In order to output stand-alone content with all absolute links, it is
-	 * necessary to expand local URLs. MediaWiki tries to do this in a few
-	 * places by sniffing into the 'action' GET request parameter, but this
-	 * fails in many ways. This function tries to remedy this.
-	 *
-	 * This function pre-expands all base URL fragments used by MediaWiki,
-	 * and also enables URL expansion in the Wikilog::GetLocalURL hook.
-	 * The original values of all URLs are saved when $enable = true, and
-	 * restored back when $enabled = false.
-	 *
-	 * The proper way to use this function is:
-	 * @code
-	 *   $saveExpUrls = WikilogParser::expandLocalUrls();
-	 *   # ...code that uses $wgParser in order to parse articles...
-	 *   WikilogParser::expandLocalUrls( $saveExpUrls );
-	 * @endcode
-	 *
-	 * @note Using this function changes the behavior of Parser. When enabled,
-	 *   parsed content should be cached under a different key.
-	 */
-	public static function expandLocalUrls( $enable = true ) {
-		global $wgScriptPath, $wgUploadPath, $wgStylePath, $wgMathPath, $wgLocalFileRepo;
-		static $originalPaths = null;
-
-		$prev = self::$expandingUrls;
-
-		if ( $enable ) {
-			if ( !self::$expandingUrls ) {
-				self::$expandingUrls = true;
-
-				# Save original values.
-				$originalPaths = array( $wgScriptPath, $wgUploadPath,
-					$wgStylePath, $wgMathPath, $wgLocalFileRepo['url'] );
-
-				# Expand paths.
-				$wgScriptPath = wfExpandUrl( $wgScriptPath );
-				$wgUploadPath = wfExpandUrl( $wgUploadPath );
-				$wgStylePath  = wfExpandUrl( $wgStylePath  );
-				$wgMathPath   = wfExpandUrl( $wgMathPath   );
-				$wgLocalFileRepo['url'] = wfExpandUrl( $wgLocalFileRepo['url'] );
-
-				# Destroy existing RepoGroup, if any.
-				RepoGroup::destroySingleton();
-			}
-		} else {
-			if ( self::$expandingUrls ) {
-				self::$expandingUrls = false;
-
-				# Restore original values.
-				list( $wgScriptPath, $wgUploadPath, $wgStylePath, $wgMathPath,
-					$wgLocalFileRepo['url'] ) = $originalPaths;
-
-				# Destroy existing RepoGroup, if any.
-				RepoGroup::destroySingleton();
-			}
-		}
-
-		return $prev;
-	}
-
-
-	###
-	## Internal stuff.
-	#
-
-	/**
-	 * Set the article summary, ignore if already set.
-	 * @return True if set, false otherwise.
-	 */
-	private static function trySetSummary( &$parser, $text ) {
-		if ( !$parser->mExtWikilog->mSummary ) {
-			$popt = clone $parser->getOptions();
-			$popt->enableLimitReport( false );
-			$output = $parser->parse( $text, $parser->getTitle(), $popt, true, false );
-			$parser->mExtWikilog->mSummary = $output->getText();
-// 			wfDebug( "Wikilog summary set to:\n----\n" . $parser->mExtWikilog->mSummary . "\n----\n" );
-			return true;
-		} else {
-			return false;
-		}
-	}
-
-	/**
-	 * Adds an author to the current article. If too many authors, warns.
-	 * @return False on overflow, true otherwise.
-	 */
-	private static function tryAddAuthor( &$parser, $name ) {
-		global $wgWikilogMaxAuthors;
-
-		if ( count( $parser->mExtWikilog->mAuthors ) >= $wgWikilogMaxAuthors ) {
-			$warning = wfMessage( 'wikilog-error-msg', wfMessage( 'wikilog-too-many-authors' )->text() )->text();
-			$parser->mOutput->addWarning( $warning );
-			return false;
-		}
-
-		$user = User::newFromName( $name );
-		if ( $user ) {
-			$parser->mExtWikilog->mAuthors[$user->getName()] = $user->getID();
-		}
-		else {
-			$warning = wfMessage( 'wikilog-error-msg', wfMessage( 'wikilog-invalid-author', $name )->text() )->text();
-			$parser->mOutput->addWarning( $warning );
-		}
-		return true;
-	}
-
-	/**
-	 * Adds a tag to the current article. If too many tags, warns.
-	 * @return False on overflow, true otherwise.
-	 */
-	private static function tryAddTag( &$parser, $tag ) {
-		global $wgWikilogMaxTags;
-
-		static $tcre = false;
-		if ( !$tcre ) { $tcre = '/[^' . Title::legalChars() . ']/'; }
-
-		if ( count( $parser->mExtWikilog->mTags ) >= $wgWikilogMaxTags ) {
-			$warning = wfMessage( 'wikilog-error-msg', wfMessage( 'wikilog-too-many-tags' )->text() )->text();
-			$parser->mOutput->addWarning( $warning );
-			return false;
-		}
-
-		if ( !empty( $tag ) && !preg_match( $tcre, $tag ) ) {
-			$parser->mExtWikilog->mTags[$tag] = 1;
-		}
-		else {
-			$warning = wfMessage( 'wikilog-error-msg', wfMessage( 'wikilog-invalid-tag', $tag )->text() )->text();
-			$parser->mOutput->addWarning( $warning );
-		}
-		return true;
-	}
-
-	/**
-	 * Check if the calling parser function is being executed in Wikilog
-	 * context. Generates a parser warning if it isn't.
-	 */
-	private static function checkNamespace( &$parser ) {
-		global $wgWikilogNamespaces;
-		static $tested = false;
-
-		if ( !$tested ) {
-			$title = $parser->getTitle();
-			if ( !in_array( $title->getNamespace(), $wgWikilogNamespaces ) ) {
-				$warning = wfMessage( 'wikilog-error-msg', wfMessage( 'wikilog-out-of-context' )->text() )->text();
-				$parser->mOutput->addWarning( $warning );
-			}
-			$tested = true;
-		}
-	}
-
-	/**
-	 * Parses an image link.
-	 * Wrapper around parseMediaLink() that only returns images. Parser
-	 * warnings are generated if the file is not an image, or if it is
-	 * invalid.
-	 *
-	 * @return File instance, or NULL.
-	 */
-	private static function parseImageLink( &$parser, $text ) {
-		$obj = self::parseMediaLink( $parser, $text );
-		if ( !$obj ) {
-			$warning = wfMessage( 'wikilog-error-msg', wfMessage( 'wikilog-invalid-file', htmlspecialchars( $text ) )->text() )->text();
-			$parser->mOutput->addWarning( $warning );
-			return null;
-		}
-
-		list( $t1, $t2, $file ) = $obj;
-		if ( !$file ) {
-			$warning = wfMessage( 'wikilog-error-msg', wfMessage( 'wikilog-file-not-found', $t1 )->escaped() )->text();
-			$parser->mOutput->addWarning( $warning );
-			return null;
-		}
-
-		$type = $file->getMediaType();
-		if ( $type != MEDIATYPE_BITMAP && $type != MEDIATYPE_DRAWING ) {
-			$warning = wfMessage( 'wikilog-error-msg', wfMessage( 'wikilog-not-an-image', $file->getName() )->text() )->text();
-			$parser->mOutput->addWarning( $warning );
-			return null;
-		}
-
-		return $file;
-	}
-
-	/**
-	 * Parses a media link.
-	 * This is a very small subset of Parser::replaceInternalLinks() that
-	 * parses a single image or media link, and returns the parsed text,
-	 * as well as a File instance of the referenced media, if available.
-	 *
-	 * @return Three-element array containing the matched parts of the link,
-	 *   and the file object, or NULL.
-	 */
-	private static function parseMediaLink( &$parser, $text ) {
-		$tc = Title::legalChars();
-		if ( !preg_match( "/\\[\\[([{$tc}]+)(?:\\|(.+?))?]]/", $text, $m ) )
-			return null;
-
-		$nt = Title::newFromText( $m[1] );
-		if ( !$nt )
-			return null;
-
-		$ns = $nt->getNamespace();
-		if ( $ns == NS_FILE || $ns == NS_MEDIA ) {
-			$parser->mOutput->addLink( $nt );
-			return @ array( $m[1], $m[2], wfFindFile( $nt ) );
-		} else {
-			return null;
-		}
-	}
-}
-
-/**
- * Wikilog parser output. This class is first attached to the Parser as
- * $parser->mExtWikilog, and then copied to the parser output
- * $popt->mExtWikilog in WikilogParser::AfterTidy().
- */
-class WikilogParserOutput
-{
-	/* Item and Wikilog metadata */
-	public $mSummary = false;
-	public $mAuthors = array();
-	public $mTags = array();
-
-	/* Item metadata */
-	public $mPublish = false;
-	public $mPubDate = null;
-
-	/* Wikilog settings */
-	public $mIcon = null;
-	public $mLogo = null;
-
-	/* Acessor functions, lacking... */
-	public function getAuthors() { return $this->mAuthors; }
-	public function getTags() { return $this->mTags; }
-}
diff --git a/WikilogQuery.php b/WikilogQuery.php
deleted file mode 100644
index 22aef37..0000000
--- a/WikilogQuery.php
+++ /dev/null
@@ -1,751 +0,0 @@
-<?php
-/**
- * MediaWiki Wikilog extension
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-if ( !defined( 'MEDIAWIKI' ) )
-	die();
-
-/**
- * Wikilog SQL query driver base class.
- */
-abstract class WikilogQuery
-{
-	/**
-	 * Array of defined options. Options are set with setOption(), and cause
-	 * changes to the resulting SQL query generated by the class.
-	 */
-	protected $mOptions = array();
-
-	/**
-	 * Default options. This array should be overriden by derived classes.
-	 */
-	protected $mDefaultOptions = array();
-
-	/**
-	 * Whether the query should always return nothing (when invalid options
-	 * are provided, for example).
-	 */
-	protected $mEmpty = false;
-
-	/**
-	 * Constructor.
-	 */
-	public function __construct() {
-	}
-
-	/**
-	 * Get option. Return default value if not set.
-	 * @param $key string  Name of the option to get.
-	 * @return mixed  Current value of the option.
-	 */
-	public function getOption( $key ) {
-		return isset( $this->mOptions[$key] )
-			? $this->mOptions[$key]
-			: $this->mDefaultOptions[$key];
-	}
-
-	/**
-	 * Set option.
-	 * @param $key string  Name of the option to set.
-	 * @param $value mixed  Target value.
-	 */
-	public function setOption( $key, $value = true ) {
-		$this->mOptions[$key] = $value;
-	}
-
-	/**
-	 * Set options.
-	 * @param $opts mixed  Options to set (string or array).
-	 */
-	public function setOptions( $opts ) {
-		if ( is_string( $opts ) ) {
-			$this->mOptions[$opts] = true;
-		} elseif ( is_array( $opts ) ) {
-			$this->mOptions = array_merge( $this->mOptions, $opts );
-		} elseif ( !is_null( $opts ) ) {
-			throw new MWException( __METHOD__ . ': Invalid $opts parameter.' );
-		}
-	}
-
-	/**
-	 * Filter is always returns empty.
-	 */
-	public function setEmpty( $empty = true ) { $this->mEmpty = $empty; }
-	public function getEmpty() { return $this->mEmpty; }
-
-	/**
-	 * Generate and return query information.
-	 * @param $db Database  Database object used to encode table names, etc.
-	 * @param $opts mixed  Misc query options.
-	 * @return Associative array with the following keys:
-	 *   'fields' => array of fields to query
-	 *   'tables' => array of tables to query
-	 *   'conds' => mixed array with select conditions
-	 *   'options' => associative array of options
-	 *   'join_conds' => associative array of table join conditions
-	 * @see Database::select() for details.
-	 */
-	abstract function getQueryInfo( $db, $opts = null );
-
-	/**
-	 * Return query information as an array of CGI parameters.
-	 * @return array  Array of query parameters.
-	 */
-	abstract function getDefaultQuery();
-
-	/**
-	 * Convert a date tuple to a timestamp interval for database queries.
-	 *
-	 * @param $year Year to query. Current year is assumed if zero or false.
-	 * @param $month Month to query. The whole year is assumed if zero or false.
-	 * @param $day Day to query. The whole month is assumed if zero or false.
-	 * @return Two-element array with the minimum and maximum values to query.
-	 */
-	public static function partialDateToInterval( &$year, &$month, &$day ) {
-		$year  = ( $year  > 0 && $year  <= 9999 ) ? $year  : false; // Y10k bug :-P
-		$month = ( $month > 0 && $month <=   12 ) ? $month : false;
-		$day   = ( $day   > 0 && $day   <=   31 ) ? $day   : false;
-
-		if ( !$year && !$month )
-			return false;
-
-		if ( !$year ) {
-			$year = intval( gmdate( 'Y' ) );
-			if ( $month > intval( gmdate( 'n' ) ) ) $year--;
-		}
-
-		$date_end = str_pad( $year + 1, 4, '0', STR_PAD_LEFT );
-		$date_start = str_pad( $year, 4, '0', STR_PAD_LEFT );
-		if ( $month ) {
-			$date_end = $date_start . str_pad( $month + 1, 2, '0', STR_PAD_LEFT );
-			$date_start = $date_start . str_pad( $month, 2, '0', STR_PAD_LEFT );
-			if ( $day ) {
-				$date_end = $date_start . str_pad( $day + 1, 2, '0', STR_PAD_LEFT );
-				$date_start = $date_start . str_pad( $day, 2, '0', STR_PAD_LEFT );
-			}
-		}
-
-		return array(
-			str_pad( $date_start, 14, '0', STR_PAD_RIGHT ),
-			str_pad( $date_end,   14, '0', STR_PAD_RIGHT )
-		);
-	}
-}
-
-/**
- * Wikilog item SQL query driver.
- * This class drives queries for wikilog items, given the fields to filter.
- */
-class WikilogItemQuery
-	extends WikilogQuery
-{
-	# Valid filter values for publish status.
-	const PS_ALL       = 0;		///< Return all items
-	const PS_PUBLISHED = 1;		///< Return only published items
-	const PS_DRAFTS    = 2;		///< Return only drafts
-
-	# Local variables.
-	private $mWikilogTitle = null;			///< Filter by wikilog.
-	private $mNamespace = false;			///< Filter by namespace.
-	private $mPubStatus = self::PS_ALL;		///< Filter by published status.
-	private $mCategory = false;				///< Filter by category.
-	private $mAuthor = false;				///< Filter by author.
-	private $mTag = false;					///< Filter by tag.
-	private $mDate = false;					///< Filter by date.
-	private $mNeedWikilogParam = false;		///< Need wikilog param in queries.
-
-	# Options
-	/** Query options. */
-	protected $mDefaultOptions = array(
-		'last-comment-timestamp' => false
-	);
-
-	/**
-	 * Constructor. Creates a new instance and optionally sets the Wikilog
-	 * title to query.
-	 * @param $wikilogTitle Wikilog title object to query for.
-	 */
-	public function __construct( $wikilogTitle = null ) {
-		parent::__construct();
-
-		$this->setWikilogTitle( $wikilogTitle );
-
-		# If constructed without a title (from Special:Wikilog), it means that
-		# the listing is global, and needs wikilog parameter to filter.
-		$this->mNeedWikilogParam = ( $wikilogTitle == null );
-	}
-
-	/**
-	 * Sets the wikilog title to query for.
-	 * @param $wikilogTitle Wikilog title object to query for.
-	 */
-	public function setWikilogTitle( $wikilogTitle ) {
-		$this->mWikilogTitle = $wikilogTitle;
-	}
-
-	/**
-	 * Sets the wikilog namespace to query for.
-	 * @param $ns Namespace to query for.
-	 */
-	public function setNamespace( $ns ) {
-		$this->mNamespace = $ns;
-	}
-
-	/**
-	 * Sets the publish status to query for.
-	 * @param $pubStatus Publish status, string or integer.
-	 */
-	public function setPubStatus( $pubStatus ) {
-		if ( is_null( $pubStatus ) ) {
-			$pubStatus = self::PS_PUBLISHED;
-		} elseif ( is_string( $pubStatus ) ) {
-			$pubStatus = self::parsePubStatusText( $pubStatus );
-		}
-		$this->mPubStatus = intval( $pubStatus );
-	}
-
-	/**
-	 * Sets the category to query for.
-	 * @param $category Category title object or text.
-	 */
-	public function setCategory( $category ) {
-		if ( is_object( $category ) ) {
-			$this->mCategory = $category;
-		} elseif ( is_string( $category ) ) {
-			$t = Title::makeTitleSafe( NS_CATEGORY, $category );
-			if ( $t !== null ) {
-				$this->mCategory = $t;
-			}
-		}
-	}
-
-	/**
-	 * Sets the author to query for.
-	 * @param $author User page title object or text.
-	 */
-	public function setAuthor( $author ) {
-		if ( is_object( $author ) ) {
-			$this->mAuthor = $author;
-		} elseif ( is_string( $author ) ) {
-			$t = Title::makeTitleSafe( NS_USER, $author );
-			if ( $t !== null ) {
-				$this->mAuthor = User::getCanonicalName( $t->getText() );
-			}
-		}
-	}
-
-	/**
-	 * Sets the tag to query for.
-	 * @param $tag Tag text.
-	 */
-	public function setTag( $tag ) {
-		global $wgWikilogEnableTags;
-		if ( $wgWikilogEnableTags ) {
-			$this->mTag = $tag;
-		}
-	}
-
-	/**
-	 * Sets the date to query for.
-	 * @param $year Publish date year.
-	 * @param $month Publish date month, optional. If ommited, queries for
-	 *   items during the whole year.
-	 * @param $day Publish date day, optional. If ommited, queries for items
-	 *   during the whole month or year.
-	 */
-	public function setDate( $year, $month = false, $day = false ) {
-		$interval = self::partialDateToInterval( $year, $month, $day );
-		if ( $interval ) {
-			list( $start, $end ) = $interval;
-			$this->mDate = (object)array(
-				'year'  => $year,
-				'month' => $month,
-				'day'   => $day,
-				'start' => $start,
-				'end'   => $end
-			);
-		}
-	}
-
-	/**
-	 * Accessor functions.
-	 */
-	public function getWikilogTitle() { return $this->mWikilogTitle; }
-	public function getNamespace() { return $this->mNamespace; }
-	public function getPubStatus() { return $this->mPubStatus; }
-	public function getCategory() { return $this->mCategory; }
-	public function getAuthor() { return $this->mAuthor; }
-	public function getTag() { return $this->mTag; }
-	public function getDate() { return $this->mDate; }
-
-	/**
-	 * Organizes all the query information and constructs the table and
-	 * field lists that will later form the SQL SELECT statement.
-	 * @param $db Database object.
-	 * @param $opts Array with query options. Keys are option names, values
-	 *   are option values. Valid options are:
-	 *   - 'last-comment-timestamp': If true, the most recent article comment
-	 *     timestamps are included in the results. This is used in Atom feeds.
-	 * @return Array with tables, fields, conditions, options and join
-	 *   conditions, to be used in a call to $db->select(...).
-	 */
-	public function getQueryInfo( $db, $opts = array() ) {
-		$this->setOptions( $opts );
-
-		# Basic defaults.
-		$wlp_tables = WikilogItem::selectTables( $db );
-		$q_tables = $wlp_tables['tables'];
-		$q_fields = WikilogItem::selectFields();
-		$q_conds = array( 'p.page_is_redirect' => 0 );
-		$q_options = array();
-		$q_joins = $wlp_tables['join_conds'];
-
-		# Invalid filter.
-		if ( $this->mEmpty ) {
-			$q_conds[] = '0=1';
-		}
-
-		# Filter by wikilog name.
-		if ( $this->mWikilogTitle !== null ) {
-			$q_conds['wlp_parent'] = $this->mWikilogTitle->getArticleID();
-		} elseif ( $this->mNamespace !== false ) {
-			$q_conds['p.page_namespace'] = $this->mNamespace;
-		}
-
-		# Filter by published status.
-		if ( $this->mPubStatus === self::PS_PUBLISHED ) {
-			$q_conds['wlp_publish'] = 1;
-		} elseif ( $this->mPubStatus === self::PS_DRAFTS ) {
-			$q_conds['wlp_publish'] = 0;
-		}
-
-		# Filter by category.
-		if ( $this->mCategory ) {
-			$q_tables[] = 'categorylinks';
-			$q_joins['categorylinks'] = array( 'JOIN', 'wlp_page = cl_from' );
-			$q_conds['cl_to'] = $this->mCategory->getDBkey();
-		}
-
-		# Filter by author.
-		if ( $this->mAuthor ) {
-			$q_tables[] = 'wikilog_authors';
-			$q_joins['wikilog_authors'] = array( 'JOIN', 'wlp_page = wla_page' );
-			$q_conds['wla_author_text'] = $this->mAuthor;
-		}
-
-		# Filter by tag.
-		if ( $this->mTag ) {
-			$q_tables[] = 'wikilog_tags';
-			$q_joins['wikilog_tags'] = array( 'JOIN', 'wlp_page = wlt_page' );
-			$q_conds['wlt_tag'] = $this->mTag;
-		}
-
-		# Filter by date.
-		if ( $this->mDate ) {
-			$q_conds[] = 'wlp_pubdate >= ' . $db->addQuotes( $this->mDate->start );
-			$q_conds[] = 'wlp_pubdate < ' . $db->addQuotes( $this->mDate->end );
-		}
-
-		# Add last comment timestamp, used in syndication feeds.
-		if ( $this->getOption( 'last-comment-timestamp' ) ) {
-			$q_tables[] = 'wikilog_comments';
-			$q_fields[] = 'MAX(wlc_updated) AS _wlp_last_comment_timestamp';
-			$q_joins['wikilog_comments'] = array( 'LEFT JOIN', 'wlp_page = wlc_post' );
-			$q_options['GROUP BY'] = 'wlp_page';
-		}
-
-		return array(
-			'tables' => $q_tables,
-			'fields' => $q_fields,
-			'conds' => $q_conds,
-			'options' => $q_options,
-			'join_conds' => $q_joins
-		);
-	}
-
-	/**
-	 * Returns the query information as an array suitable to be used to
-	 * construct a URL to a wikilog or Special:Wikilog pages with the proper
-	 * query parameters. Used in navigation links.
-	 */
-	public function getDefaultQuery() {
-		$query = array();
-
-		if ( $this->mNeedWikilogParam && $this->mWikilogTitle ) {
-			$query['wikilog'] = $this->mWikilogTitle->getPrefixedDBKey();
-		} elseif ( $this->mNamespace !== false ) {
-			$query['wikilog'] = Title::makeTitle( $this->mNamespace, "*" )->getPrefixedDBKey();
-		}
-
-		if ( $this->mPubStatus == self::PS_ALL ) {
-			$query['show'] = 'all';
-		} elseif ( $this->mPubStatus == self::PS_DRAFTS ) {
-			$query['show'] = 'drafts';
-		}
-
-		if ( $this->mCategory ) {
-			$query['category'] = $this->mCategory->getDBKey();
-		}
-
-		if ( $this->mAuthor ) {
-			$query['author'] = $this->mAuthor;
-		}
-
-		if ( $this->mTag ) {
-			$query['tag'] = $this->mTag;
-		}
-
-		if ( $this->mDate ) {
-			$query['year']  = $this->mDate->year;
-			$query['month'] = $this->mDate->month;
-			$query['day']   = $this->mDate->day;
-		}
-
-		return $query;
-	}
-
-	/**
-	 * Returns whether this query object returns articles from only a single
-	 * wikilog.
-	 */
-	public function isSingleWikilog() {
-		return $this->mWikilogTitle !== null;
-	}
-
-	/**
-	 * Parse a publication status text ( 'drafts', 'published', etc.) and
-	 * return a self::PS_* constant that represents that status.
-	 */
-	public static function parsePubStatusText( $show = 'published' ) {
-		if ( $show == 'all' || $show == 'any' ) {
-			return self::PS_ALL;
-		} elseif ( $show == 'draft' || $show == 'drafts' ) {
-			return self::PS_DRAFTS;
-		} else {
-			return self::PS_PUBLISHED;
-		}
-	}
-}
-
-/**
- * Wikilog comment SQL query driver.
- * This class drives queries for wikilog comments, given the fields to filter.
- * @since Wikilog v1.1.0.
- */
-class WikilogCommentQuery
-	extends WikilogQuery
-{
-	# Valid filter values for moderation status.
-	const MS_ALL        = 'all';		///< Return all comments.
-	const MS_ACCEPTED   = 'accepted';	///< Return only accepted comments.
-	const MS_PENDING    = 'pending';	///< Return only pending comments.
-	const MS_NOTDELETED = 'notdeleted';	///< Return all but deleted comments.
-	const MS_NOTPENDING = 'notpending';	///< Return all but pending comments.
-
-	public static $modStatuses = array(
-		self::MS_ALL, self::MS_ACCEPTED, self::MS_PENDING,
-		self::MS_NOTDELETED, self::MS_NOTPENDING
-	);
-
-	# Local variables.
-	private $mModStatus = self::MS_ALL;	///< Filter by moderation status.
-	private $mNamespace = false;		///< Filter by namespace.
-	private $mWikilog = null;			///< Filter by wikilog.
-	private $mItem = null;				///< Filter by wikilog item (article).
-	private $mThread = false;			///< Filter by thread.
-	private $mAuthor = false;			///< Filter by author.
-	private $mDate = false;				///< Filter by date.
-
-	# Options
-	/** Query options. */
-	protected $mDefaultOptions = array(
-		'include-item' => false,		// Include WikilogItem data in query.
-	);
-
-	/**
-	 * Constructor.
-	 * @param $from Title, WikilogInfo or WikilogItem to set up the query.
-	 */
-	public function __construct( $from = null ) {
-		parent::__construct();
-
-		if ( $from ) {
-			$this->setWikilogOrItem( $from );
-		}
-	}
-
-	/**
-	 * Handy method to set either the wikilog or the item to query for.
-	 * @param $from Title, WikilogInfo or WikilogItem object.
-	 */
-	public function setWikilogOrItem( $from ) {
-		if ( $from instanceof Title ) {
-			$from = Wikilog::getWikilogInfo( $from );
-		}
-		if ( $from instanceof WikilogInfo ) {
-			if ( $from->isItem() ) {
-				$from = WikilogItem::newFromInfo( $from );
-			} else {
-				$this->setWikilog( $from->getTitle() );
-				return;
-			}
-		}
-		if ( $from instanceof WikilogItem ) {
-			$this->setItem( $from );
-			return;
-		} else {
-			throw new MWException( "Not a valid wikilog object." );
-		}
-	}
-
-	/**
-	 * Set the moderation status to query for.
-	 * @param $modStatus Moderation status, string or integer.
-	 */
-	public function setModStatus( $modStatus ) {
-		if ( is_null( $modStatus ) ) {
-			$this->mModStatus = self::MS_ALL;
-		} elseif ( in_array( $modStatus, self::$modStatuses ) ) {
-			$this->mModStatus = $modStatus;
-		} else {
-			throw new MWException( __METHOD__ . ": Invalid moderation status." );
-		}
-	}
-
-	/**
-	 * Set the namespace to query for. Only comments for articles published
-	 * in the given namespace are returned. The wikilog and item filters have
-	 * precedence over this filter.
-	 * @param $ns Namespace to query for.
-	 */
-	public function setNamespace( $ns ) {
-		$this->mNamespace = $ns;
-	}
-
-	/**
-	 * Set the wikilog to query for. Only comments for articles published in
-	 * the given wikilog are returned. The item filter has precedence over this
-	 * filter.
-	 * @param $wikilogTitle Wikilog title object to query for (Title).
-	 */
-	public function setWikilog( $wikilog ) {
-		$this->mWikilog = $wikilog;
-	}
-
-	/**
-	 * Set the wikilog item to query for. Only comments for the given article
-	 * is returned.
-	 * @param $item Wikilog item to query for (WikilogItem or Title).
-	 *   Preferably, a WikilogItem object should be passed, but a Title
-	 *   object is also accepted and automatically converted (no error
-	 *   checking).
-	 */
-	public function setItem( $item ) {
-		if ( $item instanceof Title ) {
-			$item = WikilogItem::newFromID( $item->getArticleID() );
-		}
-		$this->mItem = $item;
-	}
-
-	/**
-	 * Set the comment thread to query for. Only replies to the given thread
-	 * is returned. This is intended to be used together with setItem(), in
-	 * order to use the proper database index (see the wlc_post_thread index).
-	 * @param $thread Thread path identifier to query for (array or string).
-	 */
-	public function setThread( $thread ) {
-		if ( is_array( $thread ) ) {
-			$thread = implode( '/', $thread );
-		}
-		$this->mThread = $thread;
-	}
-
-	/**
-	 * Sets the author to query for.
-	 * @param $author User page title object or text.
-	 */
-	public function setAuthor( $author ) {
-		if ( is_object( $author ) ) {
-			$this->mAuthor = $author;
-		} elseif ( is_string( $author ) ) {
-			$t = Title::makeTitleSafe( NS_USER, $author );
-			if ( $t !== null ) {
-				$this->mAuthor = User::getCanonicalName( $t->getText() );
-			}
-		}
-	}
-
-	/**
-	 * Set the date to query for.
-	 * @param $year Comment year.
-	 * @param $month Comment month, optional. If ommited, look for comments
-	 *   during the whole year.
-	 * @param $day Comment day, optional. If ommited, look for comments
-	 *   during the whole month or year.
-	 */
-	public function setDate( $year, $month = false, $day = false ) {
-		$interval = self::partialDateToInterval( $year, $month, $day );
-		if ( $interval ) {
-			list( $start, $end ) = $interval;
-			$this->mDate = (object)array(
-				'year'  => $year,
-				'month' => $month,
-				'day'   => $day,
-				'start' => $start,
-				'end'   => $end
-			);
-		}
-	}
-
-	/**
-	 * Accessor functions.
-	 */
-	public function getModStatus() { return $this->mModStatus; }
-	public function getNamespace() { return $this->mNamespace; }
-	public function getWikilog() { return $this->mWikilog; }
-	public function getItem() { return $this->mItem; }
-	public function getThread() { return $this->mThread; }
-	public function getAuthor() { return $this->mAuthor; }
-	public function getDate() { return $this->mDate; }
-
-	/**
-	 * Organizes all the query information and constructs the table and
-	 * field lists that will later form the SQL SELECT statement.
-	 * @param $db Database object.
-	 * @param $opts Array with query options. Keys are option names, values
-	 *   are option values.
-	 * @return Array with tables, fields, conditions, options and join
-	 *   conditions, to be used in a call to $db->select(...).
-	 */
-	public function getQueryInfo( $db, $opts = array() ) {
-		$this->setOptions( $opts );
-
-		$join_wlp = false;
-
-		# Basic defaults.
-		$wlc_tables = WikilogComment::selectTables( $db );
-		$q_tables = $wlc_tables['tables'];
-		$q_fields = WikilogComment::selectFields();
-		$q_conds = array();
-		$q_options = array();
-		$q_joins = $wlc_tables['join_conds'];
-
-		# Invalid filter.
-		if ( $this->mEmpty ) {
-			$q_conds[] = '0=1';
-		}
-
-		# Filter by moderation status.
-		if ( $this->mModStatus == self::MS_ACCEPTED ) {
-			$q_conds['wlc_status'] = 'OK';
-		} elseif ( $this->mModStatus == self::MS_PENDING ) {
-			$q_conds['wlc_status'] = 'PENDING';
-		} elseif ( $this->mModStatus == self::MS_NOTDELETED ) {
-			$q_conds[] = "wlc_status <> " . $db->addQuotes( 'DELETED' );
-		} elseif ( $this->mModStatus == self::MS_NOTPENDING ) {
-			$q_conds[] = "wlc_status <> " . $db->addQuotes( 'PENDING' );
-		}
-
-		# Filter by article or wikilog.
-		if ( $this->mItem !== null ) {
-			$q_conds['wlc_post'] = $this->mItem->getID();
-			if ( $this->mThread ) {
-				$q_conds[] = "wlc_thread " . $db->buildLike( $this->mThread . '/', $db->anyString() );
-			}
-		} elseif ( $this->mWikilog !== null ) {
-			$join_wlp = true;
-			$q_conds['wlp_parent'] = $this->mWikilog->getArticleID();
-		} elseif ( $this->mNamespace !== false ) {
-			$q_conds['c.page_namespace'] = $this->mNamespace;
-		}
-
-		# Filter by author.
-		if ( $this->mAuthor ) {
-			$q_conds['wlc_user_text'] = $this->mAuthor;
-		}
-
-		# Filter by date.
-		if ( $this->mDate ) {
-			$q_conds[] = 'wlc_timestamp >= ' . $db->addQuotes( $this->mDate->start );
-			$q_conds[] = 'wlc_timestamp < ' . $db->addQuotes( $this->mDate->end );
-		}
-
-		# Additional data.
-		if ( $this->getOption( 'include-item' ) ) {
-			$wlp_tables = WikilogItem::selectTables( $db );
-			$q_tables = array_merge( $q_tables, $wlp_tables['tables'] );
-			$q_joins['wikilog_posts'] = array( 'JOIN', 'wlp_page = wlc_post' );
-			$q_joins += $wlp_tables['join_conds'];
-			$q_fields = array_merge( $q_fields, WikilogItem::selectFields() );
-		} elseif ( $join_wlp ) {
-			$q_tables[] = 'wikilog_posts';
-			$q_joins['wikilog_posts'] = array( 'JOIN', 'wlp_page = wlc_post' );
-		}
-
-		return array(
-			'tables' => $q_tables,
-			'fields' => $q_fields,
-			'conds' => $q_conds,
-			'options' => $q_options,
-			'join_conds' => $q_joins
-		);
-	}
-
-	/**
-	 * Returns the query information as an array suitable to be used to
-	 * construct a URL to Special:WikilogComments with the proper query
-	 * parameters. Used in navigation links.
-	 */
-	public function getDefaultQuery() {
-		$query = array();
-
-		if ( $this->mItem ) {
-			$query['item'] = $this->mItem->mTitle->getPrefixedDBKey();
-		} elseif ( $this->mWikilog ) {
-			$query['wikilog'] = $this->mWikilog->getPrefixedDBKey();
-		} elseif ( $this->mNamespace !== false ) {
-			$query['wikilog'] = Title::makeTitle( $this->mNamespace, "*" )->getPrefixedDBKey();
-		}
-
-		if ( $this->mModStatus != self::MS_ALL ) {
-			$query['show'] = $this->mModStatus;
-		}
-
-		if ( $this->mAuthor ) {
-			$query['author'] = $this->mAuthor;
-		}
-
-		if ( $this->mDate ) {
-			$query['year']  = $this->mDate->year;
-			$query['month'] = $this->mDate->month;
-			$query['day']   = $this->mDate->day;
-		}
-
-		return $query;
-	}
-
-}
diff --git a/WikilogUtils.php b/WikilogUtils.php
deleted file mode 100644
index cc03590..0000000
--- a/WikilogUtils.php
+++ /dev/null
@@ -1,524 +0,0 @@
-<?php
-/**
- * MediaWiki Wikilog extension
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-if ( !defined( 'MEDIAWIKI' ) )
-	die();
-
-
-/**
- * Utilitary functions used by the Wikilog extension.
- */
-class WikilogUtils
-{
-	/**
-	 * Retrieves an article parsed output either from parser cache or by
-	 * parsing it again. If parsing again, stores it back into parser cache.
-	 *
-	 * @param $title Title Page title object
-	 * @param $feed Whether the result should be part of a feed.
-	 * @return ParserOutput Page's parser output.
-	 *
-	 * @note Mw1.16+ provides Article::getParserOptions() and
-	 *   Article::getParserOutput(), that could be used here in the future.
-	 *   The problem is that getParserOutput() uses ParserCache exclusively,
-	 *   which means that only ParserOptions control the key used to store
-	 *   the output in the cache and there is no hook yet in
-	 *   ParserCache::getKey() to set these extra bits (and the
-	 *   'PageRenderingCache' hook is not useful here, it is in the wrong
-	 *   place without access to the parser options). This is certainly
-	 *   something that should be fixed in the future.  FIXME
-	 *
-	 * @note This function makes a clone of the parser if
-	 *   $wgWikilogCloneParser is set, but cloning the parser is not
-	 *   officially supported. The problem here is that we need a different
-	 *   parser that we could mess up without interfering with normal page
-	 *   rendering, and we can't create a new instance because of too many
-	 *   broken extensions around. Check self::parserSanityCheck().
-	 */
-	public static function parsedArticle( Title $title, $feed = false ) {
-		global $wgWikilogCloneParser;
-		global $wgUser, $wgEnableParserCache;
-		global $wgParser, $wgParserConf;
-
-		static $parser = null;
-
-		$page = WikiPage::factory( $title );
-
-		# First try the parser cache.
-		$useParserCache = $wgEnableParserCache &&
-			intval( $wgUser->getOption( 'stubthreshold' ) ) == 0 &&
-			$page->exists();
-		$parserCache = ParserCache::singleton();
-
-		# Parser options.
-		$parserOpt = ParserOptions::newFromUser( $wgUser );
-		$parserOpt->setTidy( true );
-		if ( $feed ) {
-			$parserOpt->setEditSection( false );
-
-			$parserOpt->addExtraKey( "WikilogFeed" );
-		} else {
-			$parserOpt->enableLimitReport();
-		}
-
-		if ( $useParserCache ) {
-			# Look for the parsed article output in the parser cache.
-			$parserOutput = $parserCache->get( $page, $parserOpt );
-
-			# On success, return the object retrieved from the cache.
-			if ( $parserOutput ) {
-				return $parserOutput;
-			}
-		}
-
-		# Enable some feed-specific behavior.
-		if ( $feed ) {
-			$saveFeedParse = WikilogParser::enableFeedParsing();
-			$saveExpUrls = WikilogParser::expandLocalUrls();
-		}
-
-		# Get a parser instance, if not already cached.
-		if ( is_null( $parser ) ) {
-			if ( !StubObject::isRealObject( $wgParser ) ) {
-				$wgParser->_unstub();
-			}
-			if ( $wgWikilogCloneParser ) {
-				$parser = clone $wgParser;
-			} else {
-				$class = $wgParserConf['class'];
-				$parser = new $class( $wgParserConf );
-			}
-		}
-		$parser->startExternalParse( $title, $parserOpt, Parser::OT_HTML );
-
-		# Parse article.
-		$parserOutput = $parser->parse( $page->getContent()->getNativeData(), $title, $parserOpt );
-
-		# Save in parser cache.
-		if ( $useParserCache && $parserOutput->getCacheTime() != -1 ) {
-			$parserCache->save( $parserOutput, $page, $parserOpt );
-		}
-
-		# Restore default behavior.
-		if ( $feed ) {
-			WikilogParser::enableFeedParsing( $saveFeedParse );
-			WikilogParser::expandLocalUrls( $saveExpUrls );
-		}
-
-		return $parserOutput;
-	}
-
-	/**
-	 * Check sanity of a second parser instance against the global one.
-	 *
-	 * @param $newparser New parser instance to be checked.
-	 * @return Whether the second parser instance contains the same hooks as
-	 *   the global one.
-	 */
-	private static function parserSanityCheck( $newparser ) {
-		global $wgParser;
-
-		$newparser->firstCallInit();
-
-		$th_diff = array_diff_key( $wgParser->mTagHooks, $newparser->mTagHooks );
-		$tt_diff = array_diff_key( $wgParser->mTransparentTagHooks, $newparser->mTransparentTagHooks );
-		$fh_diff = array_diff_key( $wgParser->mFunctionHooks, $newparser->mFunctionHooks );
-
-		if ( !empty( $th_diff ) || !empty( $tt_diff ) || !empty( $fh_diff ) ) {
-			wfDebug( "*** Wikilog WARNING: Detected broken extensions installed. "
-				  . "A second instance of the parser is not properly initialized. "
-				  . "The following hooks are missing:\n" );
-			if ( !empty( $th_diff ) ) {
-				$hooks = implode( ', ', array_keys( $th_diff ) );
-				wfDebug( "***    Tag hooks: $hooks.\n" );
-			}
-			if ( !empty( $tt_diff ) ) {
-				$hooks = implode( ', ', array_keys( $tt_diff ) );
-				wfDebug( "***    Transparent tag hooks: $hooks.\n" );
-			}
-			if ( !empty( $fh_diff ) ) {
-				$hooks = implode( ', ', array_keys( $fh_diff ) );
-				wfDebug( "***    Function hooks: $hooks.\n" );
-			}
-			return false;
-		} else {
-			return true;
-		}
-	}
-
-	/**
-	 * Formats a list of authors.
-	 * Given a list of authors, this function formats it in wiki syntax,
-	 * with links to their user and user-talk pages, according to the
-	 * 'wikilog-author-signature' system message.
-	 *
-	 * @param $list Array of authors.
-	 * @return Wikitext-formatted textual list of authors.
-	 */
-	public static function authorList( $list ) {
-		global $wgContLang;
-
-		if ( is_string( $list ) ) {
-			return self::authorSig( $list );
-		}
-		elseif ( is_array( $list ) ) {
-			$authors = array_map( array( __CLASS__, 'authorSig' ), $list );
-			return $wgContLang->listToText( $authors );
-		}
-		else {
-			return '';
-		}
-	}
-
-	/**
-	 * Formats a single author signature.
-	 * Uses the 'wikilog-author-signature' system message, in order to provide
-	 * user and user-talk links.
-	 *
-	 * @param $author String, author name.
-	 * @return Wikitext-formatted author signature.
-	 */
-	public static function authorSig( $author ) {
-		static $authorSigCache = array();
-		if ( !isset( $authorSigCache[$author] ) )
-			$authorSigCache[$author] =
-				wfMessage( 'wikilog-author-signature', $author )->inContentLanguage()->text();
-		return $authorSigCache[$author];
-	}
-
-	/**
-	 * Formats a list of categories.
-	 * Given a list of categories, this function formats it in wiki syntax,
-	 * with links to either their page or to Special:Wikilog.
-	 *
-	 * @param $list Array of categories.
-	 * @return Wikitext-formatted textual list of categories.
-	 */
-	public static function categoryList( $list ) {
-		global $wgContLang;
-		$special = SpecialPage::getTitleFor( 'Wikilog' )->getPrefixedText();
-		$categories = array();
-		foreach ( $list as $cat ) {
-			$title = Title::makeTitle( NS_CATEGORY, $cat );
-			$categoryUrl = $title->getPrefixedText();
-			$categoryTxt = $title->getText();
-			$categories[] = "[[{$special}/{$categoryUrl}|{$categoryTxt}]]";
-		}
-		return $wgContLang->listToText( $categories );
-	}
-
-	/**
-	 * Formats a list of tags.
-	 * Given a list of tags, this function formats it in wiki syntax,
-	 * with links to Special:Wikilog.
-	 *
-	 * @param $list Array of tags.
-	 * @return Wikitext-formatted textual list of tags.
-	 */
-	public static function tagList( $list ) {
-		global $wgContLang;
-		$special = SpecialPage::getTitleFor( 'Wikilog' )->getPrefixedText();
-		$tags = array();
-		foreach ( $list as $tag ) {
-			$tags[] = "[[{$special}/t={$tag}|{$tag}]]";
-		}
-		return $wgContLang->listToText( $tags );
-	}
-
-	/**
-	 * Split summary of a wikilog article from the contents.
-	 * If summary is part of the parser output, use it; otherwise, try to
-	 * extract it from the content text (section zero, before the first
-	 * heading).
-	 *
-	 * @param $parserOutput ParserOutput object.
-	 * @return Two-element array with summary and content. Summary may be
-	 *   NULL if nonexistent.
-	 */
-	public static function splitSummaryContent( $parserOutput ) {
-		global $wgUseTidy;
-
-		$content = Sanitizer::removeHTMLcomments( $parserOutput->getText() );
-
-		if ( isset( $parserOutput->mExtWikilog ) && $parserOutput->mExtWikilog->mSummary ) {
-			# Parser output contains wikilog output and summary, use it.
-			$summary = Sanitizer::removeHTMLcomments( $parserOutput->mExtWikilog->mSummary );
-		} else {
-			# Try to extract summary from the content text.
-			$blocks = preg_split( '/<(h[1-6]).*?>.*?<\\/\\1>/i', $content, 2 );
-			if ( count( $blocks ) > 1 ) {
-				# Long article with multiple sections, use only the first one.
-				$summary = $blocks[0];
-				# It is possible for the regex to split on a heading that is
-				# not a child of the root element (e.g. <div><h2>...</h2>
-				# </div> leaving an open <div> tag). In order to handle such
-				# cases, we pass the summary through tidy if it is available.
-				if ( $wgUseTidy ) {
-					$summary = MWTidy::tidy( $summary );
-				}
-			} else {
-				# Short article with a single section, use no summary and
-				# leave to the caller to decide what to do.
-				$summary = null;
-			}
-		}
-
-		return array( $summary, $content );
-	}
-
-	/**
-	 * Formats a comments page link.
-	 *
-	 * @param $item WikilogItem object.
-	 * @return Wikitext-formatted comments link.
-	 */
-	public static function getCommentsWikiText( WikilogItem &$item ) {
-		$commentsNum = $item->getNumComments();
-		$commentsMsg = ( $commentsNum ? 'wikilog-has-comments' : 'wikilog-no-comments' );
-		$commentsUrl = $item->mTitle->getTalkPage()->getPrefixedURL();
-		$commentsTxt = wfMessage( $commentsMsg, $commentsNum )->inContentLanguage()->parse();
-		return "[[{$commentsUrl}|{$commentsTxt}]]";
-	}
-
-	/**
-	 * Causes an update to the given Wikilog main page.
-	 */
-	public static function updateWikilog( $title ) {
-		if ( $title->exists() ) {
-			$title->invalidateCache();
-			$title->purgeSquid();
-
-			$dbw = wfGetDB( DB_MASTER );
-			$dbw->update(
-				'wikilog_wikilogs',
-				array( 'wlw_updated' => $dbw->timestamp() ),
-				array( 'wlw_page' => $title->getArticleID(), ),
-				__METHOD__
-			);
-		}
-	}
-
-	/**
-	 * Given a MagicWord, returns any array element which key matches the
-	 * magic word. Always case-sensitive.
-	 */
-	public static function arrayMagicKeyGet( &$array, MagicWord $mw ) {
-		foreach ( $mw->getSynonyms() as $key ) {
-			if ( array_key_exists( $key, $array ) )
-				return $array[$key];
-		}
-		return null;
-	}
-
-	/**
-	 * Builds an HTML form in a table.
-	 */
-	public static function buildForm( $fields ) {
-		$rows = array();
-		foreach ( $fields as $field ) {
-			if ( is_array( $field ) ) {
-				$row = Xml::tags( 'td', array( 'class' => 'mw-label' ), $field[0] ) .
-					Xml::tags( 'td', array( 'class' => 'mw-input' ), $field[1] );
-			} else {
-				$row = Xml::tags( 'td', array( 'class' => 'mw-input',
-					'colspan' => 2 ), $field );
-			}
-			$rows[] = Xml::tags( 'tr', array(), $row );
-		}
-		$form = Xml::tags( 'table', array( 'width' => '100%' ),
-			implode( "\n", $rows ) );
-		return $form;
-	}
-
-	/**
-	 * Wraps a div, with a class, around some HTML fragment.
-	 * Similar to Xml::wrapClass(..., 'div') or Xml::tags('div',...).
-	 * This is something that should be in includes/Xml.php, doing it here
-	 * to avoid Mw version dependency.
-	 */
-	public static function wrapDiv( $class, $text ) {
-		return Xml::tags( 'div', array( 'class' => $class ), $text );
-	}
-
-	/**
-	 * Returns the date and user parameters suitable for substitution in
-	 * {{wl-publish:...}} parser function.
-	 */
-	public static function getPublishParameters() {
-		global $wgUser, $wgLocaltimezone;
-
-		$user = $wgUser->getName();
-		$popt = ParserOptions::newFromUser( $wgUser );
-
-		$unixts = wfTimestamp( TS_UNIX, $popt->getTimestamp() );
-		if ( isset( $wgLocaltimezone ) ) {
-			$oldtz = getenv( 'TZ' );
-			putenv( "TZ={$wgLocaltimezone}" );
-			$date = date( 'Y-m-d H:i:s O', $unixts );
-			putenv( "TZ={$oldtz}" );
-		} else {
-			$date = date( 'Y-m-d H:i:s O', $unixts );
-		}
-
-		return array( 'date' => $date, 'user' => $user );
-	}
-
-	/**
-	 * Return the given timestamp as a tuple with date, time and timezone
-	 * in the local timezone (if defined). This is meant to be compatible
-	 * with signatures produced by Parser::pstPass2(). It was based on this
-	 * same function.
-	 *
-	 * @param $timestamp Timestamp.
-	 * @return Array(3) containing date, time and timezone.
-	 */
-	public static function getLocalDateTime( $timestamp ) {
-		global $wgContLang, $wgLocaltimezone;
-
-		$ts = wfTimestamp( TS_UNIX, $timestamp );
-
-		if ( isset( $wgLocaltimezone ) ) {
-			$oldtz = date_default_timezone_get();
-			date_default_timezone_set( $wgLocaltimezone );
-		}
-
-		$ts = date( 'YmdHis', $ts );
-		$tz = date( 'T', $ts );
-
-		if ( isset( $oldtz ) ) {
-			date_default_timezone_set( $oldtz );
-		}
-
-		$date = $wgContLang->date( $ts, false, false );
-		$time = $wgContLang->time( $ts, false, false );
-
-		# Check for translation of timezones.
-		$key = 'timezone-' . strtolower( trim( $tz ) );
-		$value = wfMessage( $key )->inContentLanguage()->text();
-		if ( !Message::newFromKey( $key, $value )->isDisabled() ) $tz = $value;
-
-		return array( $date, $time, $tz );
-	}
-
-}
-
-/**
- * Generates a more user-friendly navigation bar for use in article and
- * comment pagers (shared between WikilogItemPager and WikilogCommentPager).
- */
-class WikilogNavbar
-{
-	static $pagingLabels = array(
-		'prev'  => '‹ $1',
-		'next'  => '$1 ›',
-		'first' => '« $1',
-		'last'  => '$1 »'
-	);
-	static $linkTextMsgs = array(
-		# pages style:  « first  ‹ previous 20  ...  next 20 ›  last »
-		'pages' => array(
-			'prev' => 'prevn',
-			'next' => 'nextn',
-			'first' => 'wikilog-pager-first',
-			'last' => 'wikilog-pager-last'
-		),
-		# pages-sim style:  « first  ‹ previous  ...  next ›  last »
-		'pages-sim' => array(
-			'prev' => 'wikilog-pager-prev',
-			'next' => 'wikilog-pager-next',
-			'first' => 'wikilog-pager-first',
-			'last' => 'wikilog-pager-last'
-		),
-		# chrono-fwd style:  « oldest  ‹ older 20  ...  newer 20 ›  newest »
-		'chrono-fwd' => array(
-			'prev' => 'pager-older-n',
-			'next' => 'pager-newer-n',
-			'first' => 'wikilog-pager-oldest',
-			'last' => 'wikilog-pager-newest'
-		),
-		# chrono-rev style:  « newest  ‹ newer 20  ...  older 20 ›  oldest »
-		'chrono-rev' => array(
-			'prev' => 'pager-newer-n',
-			'next' => 'pager-older-n',
-			'first' => 'wikilog-pager-newest',
-			'last' => 'wikilog-pager-oldest'
-		),
-	);
-
-	protected $mPager, $mType;
-
-	/**
-	 * Constructor.
-	 * @param $pager IndexPager  Pager object.
-	 * @param $type string  Type of navigation bar to generate:
-	 *   * 'pages': For normal pages, with 'first', 'last', 'previous', 'next';
-	 *   * 'chrono-fwd': For chronological events, in forward order (later
-	 *        pages contain newer events);
-	 *   * 'chrono-rev': For chronological events, in reverse order (later
-	 *        pages contain older events).
-	 */
-	function __construct( IndexPager $pager, $type = 'pages' ) {
-		$this->mPager = $pager;
-		$this->mType = $type;
-	}
-
-	/**
-	 * Format and return the navigation bar.
-	 * @param $limit integer  Number of itens being displayed.
-	 * @return string  HTML-formatted navigation bar.
-	 */
-	public function getNavigationBar( $limit ) {
-		global $wgLang;
-
-		$limit = $wgLang->formatNum( $limit );
-		$opts = array( 'parsemag', 'escapenoentities' );
-		$linkTexts = $disabledTexts = array();
-		foreach ( self::$linkTextMsgs[$this->mType] as $type => $msg ) {
-			$label = wfMessage( $msg, $opts, $limit )->text();
-			$linkTexts[$type] = wfMsgReplaceArgs( self::$pagingLabels[$type], array( $label ) );
-			$disabledTexts[$type] = Xml::wrapClass( $linkTexts[$type], 'disabled' );
-		}
-
-		$pagingLinks = $this->mPager->getPagingLinks( $linkTexts, $disabledTexts );
-// 		$limitLinks = $this->mPager->getLimitLinks(); // XXX: Not used yet.
-		$ellipsis = wfMessage( 'ellipsis' )->escaped();
-		$html = "{$pagingLinks['first']} {$pagingLinks['prev']} {$ellipsis} {$pagingLinks['next']} {$pagingLinks['last']}";
-		$html = WikilogUtils::wrapDiv( 'wl-pagination', $html );
-
-		$dir = $wgLang->getDir();
-
-		return Xml::tags( 'div',
-			array(
-				'class' => 'wl-navbar',
-				'dir' => $dir
-			),
-			$html
-		);
-	}
-
-}
diff --git a/WlCaptchaAdapter.php b/WlCaptchaAdapter.php
deleted file mode 100644
index 43d785a..0000000
--- a/WlCaptchaAdapter.php
+++ /dev/null
@@ -1,214 +0,0 @@
-<?php
-/**
- * MediaWiki Wikilog extension
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-if ( !defined( 'MEDIAWIKI' ) )
-	die();
-
-/**
- * Singleton class that provides an interface to Captchas implemented
- * through the ConfirmEdit extension. Only Captchas derived from
- * SimpleCaptcha can be used.
- */
-class WlCaptcha
-{
-	public static $instance = null;
-	public static $initialized = false;
-
-	public static function getInstance() {
-		if ( !self::$initialized ) {
-			self::$initialized = true;
-			if ( class_exists( 'ConfirmEditHooks' ) ) {
-				$captcha = ConfirmEditHooks::getInstance();
-				if ( $captcha instanceof SimpleCaptcha ) {
-					self::$instance = new WlCaptchaAdapter( $captcha );
-				} else {
-					$classname = get_class( $captcha );
-					trigger_error( "Only captchas derived from SimpleCaptcha " .
-						"are compatible with Wikilog. The current captcha, " .
-						"{$classname}, isn't compatible.", E_USER_WARNING );
-				}
-			}
-		}
-		return self::$instance;
-	}
-
-	public static function confirmEdit( $title, $newText, $oldText = null ) {
-		$captcha = self::getInstance();
-		if ( $captcha ) {
-			return $captcha->confirmEdit( $title, $newText, $oldText );
-		} else {
-			return true;
-		}
-	}
-
-	public static function getCaptchaForm() {
-		$captcha = self::getInstance();
-		if ( $captcha ) {
-			return $captcha->getCaptchaForm();
-		} else {
-			return false;
-		}
-	}
-
-}
-
-/**
- * Adapter for SimpleCaptcha derived classes.
- *
- * ConfirmEdit depends on the EditPage interface and hooks, that are not used
- * by Wikilog. This class creates a more generic interface for SimpleCaptcha,
- * allowing it to be used to verify wikilog comments.
- *
- * A lot of code is duplicated and adapted from the original SimpleCaptcha
- * class, Copyright (C) 2005-2007 Brion Vibber.
- */
-class WlCaptchaAdapter
-{
-	public $mCaptcha;
-
-	public function __construct( &$captcha ) {
-		$this->mCaptcha = $captcha;
-	}
-
-	public function confirmEdit( $title, $newText, $oldText = null ) {
-		return $this->doConfirmEdit( $title, $newText, $oldText );
-	}
-
-	private function doConfirmEdit( $title, $newText, $oldText = null ) {
-		if ( $this->shouldCheck( $title, $newText, $oldText ) ) {
-			return $this->mCaptcha->passCaptcha();
-		} else {
-			wfDebug( "WlCaptchaAdapter: no need to show captcha.\n" );
-			return true;
-		}
-	}
-
-	private function shouldCheck( $title, $newText, $oldText = null ) {
-		global $wgUser, $wgRequest, $wgCaptchaWhitelistIP, $wgCaptchaRegexes;
-		global $wgEmailAuthentication, $ceAllowConfirmedEmail;
-
-		if ( $wgUser->isAllowed( 'skipcaptcha' ) ) {
-			wfDebug( "WlCaptchaAdapter: user group allows skipping captcha\n" );
-			return false;
-		}
-
-		if ( !empty( $wgCaptchaWhitelistIP ) ) {
-			$ip = $wgRequest->getIP();
-			foreach ( $wgCaptchaWhitelistIP as $range ) {
-				if ( IP::isInRange( $ip, $range ) ) {
-					return false;
-				}
-			}
-		}
-
-		if ( $wgEmailAuthentication && $ceAllowConfirmedEmail &&
-			$wgUser->isEmailConfirmed() ) {
-			wfDebug( "WlCaptchaAdapter: user has confirmed mail, skipping captcha\n" );
-			return false;
-		}
-
-		if ( $this->captchaTriggers( $title, 'edit' ) ) {
-			$this->mCaptcha->trigger = sprintf( "Edit trigger by '%s' at [[%s]]",
-				$wgUser->getName(), $title->getPrefixedText() );
-			$this->mCaptcha->action = 'edit';
-			wfDebug( "WlCaptchaAdapter: checking all edits...\n" );
-			return true;
-		}
-
-		if ( $this->captchaTriggers( $title, 'create' ) && is_null( $oldText ) ) {
-			$this->mCaptcha->trigger = sprintf( "Create trigger by '%s' at [[%s]]",
-				$wgUser->getName(), $title->getPrefixedText() );
-			$this->mCaptcha->action = 'create';
-			wfDebug( "WlCaptchaAdapter: checking on page creation...\n" );
-			return true;
-		}
-
-		if ( $this->captchaTriggers( $title, 'addurl' ) ) {
-			$oldLinks = $this->findLinks( $title, $oldText );
-			$newLinks = $this->findLinks( $title, $newText );
-			$unknownLinks = array_filter( $newLinks, array( &$this->mCaptcha, 'filterLink' ) );
-			$addedLinks = array_diff( $unknownLinks, $oldLinks );
-			$numLinks = count( $addedLinks );
-			if ( $numLinks > 0 ) {
-				$this->mCaptcha->trigger = sprintf( "%dx url trigger by '%s' at [[%s]]: %s",
-					$numLinks, $wgUser->getName(), $title->getPrefixedText(),
-					implode( ", ", $addedLinks ) );
-				$this->mCaptcha->action = 'addurl';
-				return true;
-			}
-		}
-
-		if ( !empty( $wgCaptchaRegexes ) ) {
-			foreach ( $wgCaptchaRegexes as $regex ) {
-				$newMatches = array();
-				if ( preg_match_all( $regex, $newtext, $newMatches ) ) {
-					$oldMatches = array();
-					preg_match_all( $regex, $oldtext, $oldMatches );
-					$addedMatches = array_diff( $newMatches[0], $oldMatches[0] );
-					$numHits = count( $addedMatches );
-					if ( $numHits > 0 ) {
-						$this->mCaptcha->trigger = sprintf( "%dx %s trigger by '%s' at [[%s]]: %s",
-							$numHits, $regex, $wgUser->getName(), $title->getPrefixedText(),
-							implode( ", ", $addedMatches ) );
-						$this->mCaptcha->action = 'edit';
-						return true;
-					}
-				}
-			}
-		}
-
-		return false;
-	}
-
-	private function captchaTriggers( $title, $action ) {
-		global $wgCaptchaTriggers, $wgCaptchaTriggersOnNamespace;
-		if ( isset( $wgCaptchaTriggersOnNamespace[$title->getNamespace()][$action] ) )
-			return $wgCaptchaTriggersOnNamespace[$title->getNamespace()][$action];
-		return ( !empty( $wgCaptchaTriggers[$action] ) );
-	}
-
-	private function findLinks( $title, $text ) {
-		global $wgParser, $wgUser;
-		if ( $text ) {
-			$options = new ParserOptions();
-			$text = $wgParser->preSaveTransform( $text, $title, $wgUser, $options );
-			$out = $wgParser->parse( $text, $title, $options );
-			return array_keys( $out->getExternalLinks() );
-		} else {
-			return array();
-		}
-	}
-
-	public function getCaptchaForm() {
-		global $wgOut;
-		return '<div class="captcha">' .
-			$wgOut->parse( $this->mCaptcha->getMessage( $this->mCaptcha->action ) ) .
-			$this->mCaptcha->getForm() .
-			'</div>';
-	}
-}
diff --git a/WlFeed.body.php b/WlFeed.body.php
deleted file mode 100644
index 204b81b..0000000
--- a/WlFeed.body.php
+++ /dev/null
@@ -1,1077 +0,0 @@
-<?php
-/**
- * Enhanced feed generation classes.
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-if ( !defined( 'MEDIAWIKI' ) )
-	die();
-
-/**
- * Syndication base class. This class shares common metadata for both feeds
- * (RSS channels) and entries (RSS items).
- */
-abstract class WlSyndicationBase
-{
-	/**
-	 * A permanent, universally unique identifier for an entry or feed.
-	 * Required. Corresponds to atom:id and rss:guid (entries only).
-	 */
-	protected $mId = null;
-
-	/**
-	 * A text construct that conveys a human-readable title for the entry
-	 * or feed. Required. Corresponds to atom:title and rss:title elements.
-	 * Assumed to be plain text unless it is an instance of WlTextConstruct.
-	 * @note RSS doesn't support HTML in this field.
-	 */
-	protected $mTitle = null;
-
-	/**
-	 * References from an entry or feed to web resources. This array is
-	 * indexed by the relationship type between the element and the resource.
-	 * Each item is an array of links of that type, each item is an
-	 * associative array of link attibutes. Corresponds to atom:link element
-	 * of Atom, and rss:link, rss:enclosure, rss:source and rss:comments
-	 * elements of RSS.
-	 * @note RSS only supports a single instance of each of these elements.
-	 */
-	protected $mLinks = array();
-
-	/**
-	 * Authors of the entry or feed. Optional. Corresponds to atom:author
-	 * element of Atom, and dc:creator element of RSS. It is an array of
-	 * associative arrays with information about the author: 'name', 'uri'
-	 * and 'email'.
-	 * @note RSS only supports the name of each author.
-	 * @see $mContributors
-	 */
-	protected $mAuthors = array();
-
-	/**
-	 * Contributors of the entry or feed. Optional. Corresponds to
-	 * atom:contributor element of Atom. It is an array of associative
-	 * arrays with information about the contributor: 'name', 'uri' and
-	 * 'email'.
-	 * @note RSS doesn't support this concept, thus it is omitted.
-	 * @see $mAuthors
-	 */
-	protected $mContributors = array();
-
-	/**
-	 * Information about a category associated with an entry or feed.
-	 * Corresponds to atom:category and rss:category elements.
-	 */
-	protected $mCategories = array();
-
-	/**
-	 * A text construct that conveys information about rights held in and
-	 * over na entry or feed. Optional. Corresponds to atom:rights and
-	 * rss:copyright (feed only) elements. Assumed to be plain text unless it
-	 * is an instance of WlTextConstruct.
-	 * @note RSS doesn't support HTML in this field.
-	 * @note RSS only supports rights for feeds, not entries.
-	 */
-	protected $mRights = null;
-
-	/**
-	 * A date value indicating the most recent instant in time when an entry
-	 * or feed was modified. Corresponds to atom:updated element of Atom and
-	 * rss:lastBuildDate (feed) element of RSS. It is also used as rss:pubDate
-	 * element of RSS if no published date is provided
-	 * (see WlSyndicationEntry::$mPublished).
-	 */
-	protected $mUpdated = null;
-
-	/**
-	 * Language of the entry or feed. Corresponds to xml:lang attribute of
-	 * the atom:feed and atom:entry elements of Atom, and rss:language (feed)
-	 * element of RSS.
-	 */
-	protected $mLanguage = null;
-
-	/**
-	 * Constructor.
-	 *
-	 * @param $id Unique identifier URI. Required.
-	 * @param $title Feed or entry title. Required.
-	 * @param $updated Last updated date/time. If omitted, the current
-	 *   date/time is assumed.
-	 */
-	function __construct( $id, $title, $updated = null ) {
-		global $wgContLanguageCode;
-		$this->mId = $id;
-		$this->mTitle = $title;
-		$this->mUpdated = $updated ? $updated : wfTimestampNow();
-		$this->mLanguage = $wgContLanguageCode;
-	}
-
-	/**
-	 * Returns the Unique identifier URI of the feed or entry.
-	 */
-	function getId() { return $this->mId; }
-
-	/**
-	 * Acessor functions.
-	 */
-	/*@{*/
-
-	function setTitle( $value ) { $this->mTitle = $title; }
-	function getTitle() { return $this->mTitle; }
-
-	function setLinks( $value ) { $this->mLinks = $value; }
-	function getLinks( $rel = null ) {
-		return is_null( $rel ) ? $this->mLinks : $this->mLinks[$rel];
-	}
-
-	function setAuthors( $value ) { $this->mAuthors = $value; }
-	function getAuthors() { return $this->mAuthors; }
-
-	function setContributors( $value ) { $this->mContributors = $value; }
-	function getContributors() { return $this->mContributors; }
-
-	function setCategories( $value ) { $this->mCategories = $value; }
-	function getCategories() { return $this->mCategories; }
-
-	function setRights( $value ) { $this->mRights = $value; }
-	function getRights() { return $this->mRights; }
-
-	function setUpdated( $value ) { $this->mUpdated = $value; }
-	function getUpdated() { return $this->mUpdated; }
-
-	function setLanguage( $value ) { $this->mLanguage = $value; }
-	function getLanguage() { return $this->mLanguage; }
-
-	/*@}*/
-
-	/**
-	 * Add an alternate link (the default link from a feed entry to the
-	 * resource it represents) to the list of links. This is a convenience
-	 * function, for other types of links, use addLinkRel().
-	 *
-	 * @param $href Address of the resource.
-	 * @param $type Advisory MIME-type of the resource.
-	 * @param $hreflang Optional language tag of the resource (RFC 3066).
-	 * @param $title Human-readable information about the link.
-	 * @param $length Advisory length in bytes of the content, if available.
-	 * @see WlSyndicationBase::addLinkRel().
-	 */
-	function addLink( $href, $type = null, $hreflang = null, $title = null,
-			$length = null ) {
-		$link = array( 'href' => $href );
-		if ( $type ) {
-			$link['type'] = $type;
-		}
-		if ( $hreflang ) {
-			$link['hreflang'] = $hreflang;
-		}
-		if ( $title ) {
-			$link['title'] = $title;
-		}
-		if ( $length ) {
-			$link['length'] = $length;
-		}
-		$this->addLinkRel( 'alternate', $link );
-	}
-
-	/**
-	 * Add a link to the list of links.
-	 *
-	 * @param $rel Relationship type between the feed or entry and the
-	 *   resource represented by the link. Any string is valid, but registered
-	 *   ones include 'alternate', 'related', 'self', 'enclosure', 'via'
-	 *   (RFC 4287) and 'replies' (RFC 4685).
-	 * @param $link Associative array of relationship-specific attributes
-	 *   (attribute-name => value). Common attributes names defined in
-	 *   RFC 4287 are: 'href', 'type', 'hreflang', 'title' and 'length'.
-	 */
-	function addLinkRel( $rel, $link ) {
-		$this->mLinks[$rel][] = $link;
-	}
-
-	/**
-	 * Associate an author to the given feed or entry.
-	 *
-	 * @param $name Human-readable name for the person.
-	 * @param $uri IRI associated with the person, optional.
-	 * @param $email E-mail address associated with the person, optional.
-	 */
-	function addAuthor( $name, $uri = null, $email = null ) {
-		$this->mAuthors[] = array(
-			'name'   => $name,
-			'uri'    => $uri,
-			'email'  => $email
-		);
-	}
-
-	/**
-	 * Associate a contributor to the given feed or entry.
-	 *
-	 * @param $name Human-readable name for the person.
-	 * @param $uri IRI associated with the person, optional.
-	 * @param $email E-mail address associated with the person, optional.
-	 */
-	function addContributor( $name, $uri = null, $email = null ) {
-		$this->mContributors[] = array(
-			'name'   => $name,
-			'uri'    => $uri,
-			'email'  => $email
-		);
-	}
-
-	/**
-	 * Associate a category to the given feed or entry.
-	 *
-	 * @param $term String that identifies the category to which the feed or
-	 *   entry belongs.
-	 * @param $scheme IRI that identifies a categorization scheme, optional.
-	 * @param $label Human-readable label for display in end-user applications,
-	 *   optional.
-	 */
-	function addCategory( $term, $scheme = null, $label = null ) {
-		$cat = array( 'term' => $term );
-		if ( $scheme ) {
-			$cat['scheme'] = $scheme;
-		}
-		if ( $label ) {
-			$cat['label'] = $label;
-		}
-		$this->mCategories[] = $cat;
-	}
-
-}
-
-/**
- * Syndication feed class. This class represents a feed (Atom) or channel
- * (RSS).
- */
-abstract class WlSyndicationFeed
-	extends WlSyndicationBase
-{
-	/**
-	 * A text construct that conveys a human-readable description or subtitle
-	 * for the feed. Optional. Corresponds to atom:subtitle and rss:description
-	 * elements. Assumed to be plain text unless it is an instance of
-	 * WlTextConstruct.
-	 * @note RSS doesn't support HTML in this field.
-	 */
-	protected $mSubtitle = null;
-
-	/**
-	 * IRI reference that identifies an image that provides iconic visual
-	 * identification for a feed. Optional. Corresponds to atom:icon element of
-	 * Atom.
-	 * @note RSS doesn't support icons directly.
-	 */
-	protected $mIcon = null;
-
-	/**
-	 * IRI reference that identifies an image that provides visual
-	 * identification for a feed. Optional. Corresponds to atom:logo and
-	 * rss:image elements.
-	 * @todo Fix discrepancies between atom:logo and rss:image.
-	 */
-	protected $mLogo = null;
-
-	/**
-	 * Quirks to workaround browser "misbehaviors". Mostly used for debugging.
-	 */
-	protected $mQuirks = array();
-
-	/**
-	 * String used to disable browser detection of feed.
-	 */
-	const QUIRK_SNIFF_STR =
-		"512+ bytes of junk in order to avoid browser detection of feed data.\n";
-
-	/**
-	 * Constructor.
-	 *
-	 * @param $id Feed universally unique identifier. Required.
-	 * @param $title Feed title. Required. Text or HTML (Atom only).
-	 * @param $updated Last updated date/time. If omitted, the current
-	 *   date/time is assumed.
-	 * @param $url Wikilog URL, pointing back to the page it represents.
-	 *   Optional.
-	 * @param $self Feed URL, pointing to itself. Optional. If omitted,
-	 *   the URL is inferred from the request URL.
-	 */
-	function __construct( $id, $title, $updated = null, $url = null, $self = null ) {
-		global $wgRequest;
-
-		parent::__construct( $id, $title, $updated );
-
-		if ( $url ) {
-			global $wgMimeType;
-			$this->addLink( $url, $wgMimeType );
-		}
-
-		$this->addLinkRel( 'self', array(
-			'href' => !is_null( $self ) ? $self : $wgRequest->getFullRequestURL(),
-			'type' => $this->defaultContentType()
-		) );
-
-		if ( ( $quirks = $wgRequest->getVal( 'quirks' ) ) ) {
-			$this->mQuirks = explode( ',', $quirks );
-		}
-	}
-
-	/**
-	 * Acessor functions.
-	 */
-	/*@{*/
-
-	function setSubtitle( $value ) { $this->mSubtitle = $value; }
-	function getSubtitle() { return $this->mSubtitle; }
-
-	function setIcon( $value ) { $this->mIcon = $value; }
-	function getIcon() { return $this->mIcon; }
-	function getIconUrl() { return self::getFileUrl( $this->mIcon ); }
-
-	function setLogo( $value ) { $this->mLogo = $value; }
-	function getLogo() { return $this->mLogo; }
-	function getLogoUrl() { return self::getFileUrl( $this->mLogo ); }
-
-	/*@}*/
-
-	/**
-	 * Is the output of this feed cacheable? The feed is not cacheable if any
-	 * quirk is requested.
-	 */
-	public function isCacheable() {
-		return empty( $this->mQuirks );
-	}
-
-	/**
-	 * Returns information about the feed generator (yes, MediaWiki), for
-	 * filling into atom:generator and rss:generator elements.
-	 * @return An associative array with 'attribs' and 'content' keys. The
-	 *   'attribs' value is suitable for using as the attributes of the
-	 *   atom:generator element, and contains 'uri' and 'version' attributes.
-	 *   The 'content' value contains the name of the generator ("MediaWiki"),
-	 *   and is suitable for the contents of atom:generator element.
-	 */
-	function getGenerator() {
-		global $wgVersion;
-		return array(
-			'attribs' => array(
-				'uri' => 'http://www.mediawiki.org/',
-				'version' => $wgVersion
-			),
-			'content' => "MediaWiki"
-		);
-	}
-
-	/**
-	 * Disables OutputPage and returns the HTTP headers for the feed.
-	 */
-	function httpHeaders() {
-		global $wgOut;
-
-		# We take over from $wgOut, excepting its cache header info
-		$wgOut->disable();
-		$mimetype = $this->contentType();
-		header( "Content-type: $mimetype; charset=UTF-8" );
-		$wgOut->sendCacheControl();
-	}
-
-	/**
-	 * Returns the content type for the feed. Depends on overloaded abstract
-	 * method defaultContentType(). The query parameter ctype affects the
-	 * MIME type returned, if the value is allowed.
-	 * @return Feed content type.
-	 */
-	function contentType() {
-		global $wgRequest;
-
-		$default = $this->defaultContentType();
-		$ctype = $wgRequest->getVal( 'ctype', $default );
-		$allowedctypes = array(
-			'application/atom+xml',
-			'application/rss+xml',
-			'application/xml',
-			'text/xml'
-		);
-		return in_array( $ctype, $allowedctypes ) ? $ctype : $default;
-	}
-
-	/**
-	 * Output the XML headers common to both Atom and RSS feeds (XML
-	 * declaration and stylesheet.
-	 */
-	function outXmlHeader() {
-		global $wgStylePath, $wgStyleVersion;
-
-		$this->httpHeaders();
-		echo '<?xml version="1.0" encoding="utf-8"?>' . "\n";
-
-		if ( in_array( 'sniff', $this->mQuirks ) ) {
-			echo "<!--\n" . str_repeat( self::QUIRK_SNIFF_STR, 10 ) . "-->\n";
-		}
-	}
-
-	/**
-	 * This function must be overloaded in derived classes, and must return
-	 * the default content type for the feed.
-	 * @return Default feed content type.
-	 */
-	abstract function defaultContentType();
-
-	/**
-	 * This function must be overloaded in derived classes, and must return
-	 * the proper representation of the given timestamp.
-	 * @param $ts MediaWiki-formatted timestamp.
-	 * @return Feed-formatted date construct.
-	 */
-	abstract function formatTime( $ts );
-
-	/**
-	 * Output the header of the feed. This includes all the metadata about
-	 * the feed, like id, title, links, updated, etc.
-	 */
-	abstract function outHeader();
-
-	/**
-	 * Output a single entry for the feed.
-	 * @param $entry Entry.
-	 */
-	abstract function outEntry( WlSyndicationEntry $entry );
-
-	/**
-	 * Output the footer of the feed. This usually only closes tags left open
-	 * from outHeader().
-	 */
-	abstract function outFooter();
-
-	/**
-	 * Easy handler for getIconUrl() and getLogoUrl().
-	 */
-	private static function getFileUrl( $file ) {
-		if ( $file instanceof File ) {
-			return $file->getFullUrl();
-		} elseif ( is_string( $file ) ) {
-			return $file;
-		} else {
-			return null;
-		}
-	}
-}
-
-/**
- * Syndication entry class. This class represents individual entries (Atom) or
- * items (RSS).
- */
-class WlSyndicationEntry
-	extends WlSyndicationBase
-{
-	/**
-	 * A date value indicating an instant in time when the entry was published.
-	 */
-	protected $mPublished = null;
-
-	/**
-	 * Source feed.
-	 */
-	protected $mSource = null;
-
-	/**
-	 * A text construct that conveys a short summary, abstract, or excerpt of
-	 * an entry.
-	 */
-	protected $mSummary = null;
-
-	/**
-	 * A text construct that conveys the content of the entry.
-	 */
-	protected $mContent = null;
-
-	/**
-	 * Constructor.
-	 *
-	 * @param $id Entry universally unique identifier. Required.
-	 * @param $title Entry title. Required. Text or HTML (Atom only).
-	 * @param $updated Last updated date/time. If omitted, the current
-	 *   date/time is assumed.
-	 * @param $url Entry URL, pointing back to the page it represents.
-	 *   Optional.
-	 * @param $author Entry author. Optional.
-	 * @param $content Entry content. Optional.
-	 */
-	function __construct( $id, $title, $updated = null, $url = null,
-			$author = null, $content = null ) {
-		parent::__construct( $id, $title, $updated );
-
-		if ( $url ) {
-			global $wgMimeType;
-			$this->addLink( $url, $wgMimeType );
-		}
-
-		if ( $author ) {
-			$this->addAuthor( $author );
-		}
-
-		if ( $content ) {
-			$this->setContent( $content );
-		}
-	}
-
-	/**
-	 * Acessor functions.
-	 */
-	/*@{*/
-
-	function setPublished( $value ) { $this->mPublished = $value; }
-	function getPublished() { return $this->mPublished; }
-
-	function setSource( $value ) { $this->mSource = $value; }
-	function getSource() { return $this->mSource; }
-
-	function setSummary( $value ) { $this->mSummary = $value; }
-	function getSummary() { return $this->mSummary; }
-
-	function setContent( $value ) { $this->mContent = $value; }
-	function getContent() { return $this->mContent; }
-
-	/*@}*/
-}
-
-/**
- * A text construct, contains human-readable text and is language-sensitive.
- * May contain plain text, HTML or XHTML.
- */
-class WlTextConstruct
-{
-	const T_TEXT  = 'text';				///< Plain text, no markup.
-	const T_HTML  = 'html';				///< Contains HTML markup.
-	const T_XHTML = 'xhtml';			///< Contains XHTML markup.
-
-	/**
-	 * Content language tag.
-	 */
-	protected $mLang = null;
-
-	/**
-	 * Type of contents, one of T_TEXT, T_HTML or T_XHTML.
-	 */
-	protected $mType = null;
-
-	/**
-	 * Contents.
-	 */
-	protected $mText = null;
-
-	/**
-	 * Constructor.
-	 *
-	 * @param $type Type of contents. One of WlTextConstruct::T_TEXT,
-	 *   WlTextConstruct::T_HTML or WlTextConstruct::T_XHTML.
-	 * @param $text Contents, plain text or HTML-formatted depending on
-	 *   @a $type.
-	 * @param $lang Content language tag, optional.
-	 */
-	function __construct( $type, $text, $lang = null ) {
-		$this->mType = $type;
-		$this->mText = $text;
-		$this->mLang = $lang;
-	}
-
-	/**
-	 * Returns the language tag.
-	 */
-	function getLang() { return $this->mLang; }
-
-	/**
-	 * Returns the content type.
-	 */
-	function getType() { return $this->mType; }
-
-	/**
-	 * Returns the contents of the text construct as plain text. If the
-	 * contents are HTML, it is transformed into plain text by removing all
-	 * tags.
-	 *
-	 * @note This function returns text as is. Don't use it where HTML is
-	 *   expected.
-	 */
-	function getText() {
-		if ( $this->mType == self::T_TEXT ) {
-			return $this->mText;
-		} else {
-			return strip_tags( $this->mText );
-		}
-	}
-
-	/**
-	 * Returns the contents of the text construct as HTML. If the contents
-	 * are plain text, special characters are escaped once.
-	 *
-	 * @note When outputting the return of this function to the feed, you
-	 *   usually have to escape special characters again, no matter if the
-	 *   content is text or HTML.
-	 */
-	function getHTML() {
-		if ( $this->mType == self::T_TEXT ) {
-			return htmlspecialchars( $this->mText );
-		} else {
-			return $this->mText;
-		}
-	}
-
-	/**
-	 * Returns the contents of the text construct as XML. This is the only
-	 * way to output XHTML.
-	 *
-	 * @param $element Feed (XML) element name, optional.
-	 * @param $attribs Element attributes, optional.
-	 */
-	function getXML( $element = null, $attribs = array() ) {
-		if ( $this->mType == self::T_XHTML ) {
-			$content = Xml::tags( 'div', array( 'xmlns' => "http://www.w3.org/1999/xhtml" ), $this->mText );
-		} else {
-			$content = htmlspecialchars( $this->mText );
-		}
-		if ( $element ) {
-			if ( $this->mLang ) {
-				$attribs['xml:lang'] = $this->mLang;
-			}
-			$attribs['type'] = $this->mType;
-			$content = Xml::tags( $element, $attribs, $content );
-		}
-		return $content;
-	}
-}
-
-/**
- * Atom feed class.
- */
-class WlAtomFeed
-	extends WlSyndicationFeed
-{
-	/**
-	 * Returns the default content type for Atom feeds.
-	 */
-	function defaultContentType() {
-		return 'application/atom+xml';
-	}
-
-	/**
-	 * Format date values for Atom feeds.
-	 */
-	function formatTime( $ts ) {
-		return gmdate( 'Y-m-d\TH:i:s\Z', wfTimestamp( TS_UNIX, $ts ) );
-	}
-
-	/**
-	 * Formats an element that contains text.
-	 *
-	 * @param $element Element tag name.
-	 * @param $contents Contents, either a simple string or a WlTextConstruct.
-	 * @return An XML fragment.
-	 */
-	static function formatTextData( $element, $contents ) {
-		if ( is_null( $contents ) || empty( $contents ) ) {
-			return null;
-		} elseif ( $contents instanceof WlTextConstruct ) {
-			return $contents->getXML( $element ) . "\n";
-		} else {
-			return Xml::element( $element, null, $contents ) . "\n";
-		}
-	}
-
-	/**
-	 * Formats an element that contains a person construct (RFC 4287, 3.2).
-	 *
-	 * @param $element Element tag name (author or contributor).
-	 * @param $person Person data associative array.
-	 * @return An XML fragment.
-	 */
-	static function formatPersonData( $element, $person ) {
-		$content = Xml::element( 'name', null, $person['name'] );
-		if ( isset( $person['uri'] ) && !empty( $person['uri'] ) ) {
-			$content .= Xml::element( 'uri', null, $person['uri'] );
-		}
-		if ( isset( $person['email'] ) && !empty( $person['email'] ) ) {
-			$content .= Xml::element( 'email', null, $person['email'] );
-		}
-		return Xml::tags( $element, null, $content );
-	}
-
-	/**
-	 * Formats feed metadata.
-	 */
-	function formatFeedMetadata() {
-		$content = Xml::element( 'id', null, $this->getId() ) . "\n";
-		$content .= self::formatTextData( 'title', $this->getTitle() );
-		$content .= self::formatTextData( 'subtitle', $this->getSubtitle() );
-		foreach ( $this->getLinks() as $rel => $links ) {
-			foreach ( $links as $link ) {
-				$content .= Xml::element( 'link', array( 'rel' => $rel ) + $link ) . "\n";
-			}
-		}
-		foreach ( $this->getAuthors() as $author ) {
-			$content .= self::formatPersonData( 'author', $author ) . "\n";
-		}
-		foreach ( $this->getContributors() as $contributor ) {
-			$content .= self::formatPersonData( 'contributor', $contributor ) . "\n";
-		}
-		foreach ( $this->getCategories() as $category ) {
-			$content .= Xml::element( 'category', $category ) . "\n";
-		}
-		if ( $this->getIcon() ) {
-			$content .= Xml::element( 'icon', null, $this->getIconUrl() ) . "\n";
-		}
-		if ( $this->getLogo() ) {
-			$content .= Xml::element( 'logo', null, $this->getLogoUrl() ) . "\n";
-		}
-		$content .= Xml::element( 'updated', null,
-					$this->formatTime( $this->getUpdated() ) ) . "\n";
-		$content .= self::formatTextData( 'rights', $this->getRights() );
-		return $content;
-	}
-
-	/**
-	 * Output the header of the Atom feed.
-	 */
-	function outHeader() {
-		$this->outXmlHeader();
-
-		echo Xml::openElement( 'feed',
-			array(
-				'xmlns'     => "http://www.w3.org/2005/Atom",
-				'xmlns:thr' => "http://purl.org/syndication/thread/1.0",
-				'xml:lang'  => $this->getLanguage()
-			)
-		) . "\n";
-
-		echo $this->formatFeedMetadata();
-
-		$gtor = $this->getGenerator();
-		echo Xml::element( 'generator', $gtor['attribs'], $gtor['content'] ) . "\n";
-	}
-
-	/**
-	 * Output a single feed entry.
-	 */
-	function outEntry( WlSyndicationEntry $entry ) {
-		echo Xml::openElement( 'entry' ) . "\n";
-
-		echo Xml::element( 'id', null, $entry->getId() ) . "\n";
-		echo self::formatTextData( 'title', $entry->getTitle() );
-
-		foreach ( $entry->getLinks() as $rel => $links ) {
-			foreach ( $links as $link ) {
-				echo Xml::element( 'link', array( 'rel' => $rel ) + $link ) . "\n";
-			}
-		}
-
-		foreach ( $entry->getAuthors() as $author ) {
-			echo self::formatPersonData( 'author', $author ) . "\n";
-		}
-
-		foreach ( $entry->getContributors() as $contributor ) {
-			echo self::formatPersonData( 'contributor', $contributor ) . "\n";
-		}
-
-		foreach ( $entry->getCategories() as $category ) {
-			echo Xml::element( 'category', $category ) . "\n";
-		}
-
-		echo Xml::element( 'published', null,
-			$this->formatTime( $entry->getPublished() ) ) . "\n";
-
-		echo Xml::element( 'updated', null,
-			$this->formatTime( $entry->getUpdated() ) ) . "\n";
-
-		echo self::formatTextData( 'rights', $entry->getRights() );
-
-		$source = $entry->getSource();
-		if ( $source instanceof WlSyndicationFeed ) {
-			echo Xml::tags( 'source', array(
-				'xml:lang' => $source->getLanguage()
-			), $source->formatFeedMetadata() );
-		}
-
-		echo self::formatTextData( 'summary', $entry->getSummary() );
-		echo self::formatTextData( 'content', $entry->getContent() );
-
-		echo Xml::closeElement( 'entry' ) . "\n";
-	}
-
-	/**
-	 * Output the footer of the Atom feed.
-	 */
-	function outFooter() {
-		echo Xml::closeElement( 'feed' ) . "\n";
-	}
-}
-
-/**
- * RSS feed class.
- */
-class WlRSSFeed
-	extends WlSyndicationFeed
-{
-	/**
-	 * Returns the default content type for RSS feeds.
-	 */
-	function defaultContentType() {
-		return 'application/rss+xml';
-	}
-
-	/**
-	 * Format date values for RSS feeds.
-	 */
-	function formatTime( $ts ) {
-		return gmdate( 'D, d M Y H:i:s \G\M\T', wfTimestamp( TS_UNIX, $ts ) );
-	}
-
-	/**
-	 * Formats an element that contains text.
-	 *
-	 * @param $element Element tag name.
-	 * @param $contents Contents, either a simple string or a WlTextConstruct.
-	 * @return An XML fragment.
-	 */
-	static function formatTextData( $element, $contents ) {
-		if ( is_null( $contents ) ) {
-			return null;
-		} elseif ( $contents instanceof WlTextConstruct ) {
-			return Xml::element( $element, null, $contents->getText() ) . "\n";
-		} else {
-			return Xml::element( $element, null, $contents ) . "\n";
-		}
-	}
-
-	/**
-	 * Output the header of the RSS feed.
-	 */
-	function outHeader() {
-		$this->outXmlHeader();
-		$mlink = false;
-
-		echo Xml::openElement( 'rss',
-			array(
-				'version'       => "2.0",
-				'xmlns:atom'    => "http://www.w3.org/2005/Atom",
-				'xmlns:thr'     => "http://purl.org/syndication/thread/1.0",
-				'xmlns:content' => "http://purl.org/rss/1.0/modules/content/",
-				'xmlns:dc'      => "http://purl.org/dc/elements/1.1/"
-			)
-		) . "\n";
-
-		echo Xml::openElement( 'channel' ) . "\n";
-		echo self::formatTextData( 'title', $this->getTitle() );
-		echo self::formatTextData( 'description', $this->getSubtitle() );
-
-		foreach ( $this->getLinks() as $rel => $links ) {
-			if ( $rel == 'alternate' ) {
-				# RSS only supports (and requires) a single link element.
-				$mlink = array_shift( $links );
-				echo Xml::element( 'link', null, $mlink['href'] ) . "\n";
-			} else {
-				# For other links, we use the atom namespace.
-				foreach ( $links as $link ) {
-					echo Xml::element( 'atom:link', array( 'rel' => $rel ) + $link ) . "\n";
-				}
-			}
-		}
-
-		foreach ( $this->getAuthors() as $author ) {
-			echo Xml::element( 'dc:creator', null, $author['name'] ) . "\n";
-		}
-
-		if ( $this->getLogo() && $mlink ) {
-			$title = $this->getTitle();
-			if ( $title instanceof WlTextConstruct ) $title = $title->getText();
-			echo Xml::openElement( 'image' ) .
-				 Xml::element( 'url', null, $this->getLogoUrl() ) .
-				 Xml::element( 'title', null, $title ) .
-				 Xml::element( 'link', null, $mlink['href'] ) .
-				 Xml::closeElement( 'image' ) . "\n";
-		}
-
-		echo Xml::element( 'language', null, $this->getLanguage() ) . "\n";
-		echo Xml::element( 'lastBuildDate', null, $this->formatTime( $this->getUpdated() ) ) . "\n";
-		echo $this->formatTextData( 'copyright', $this->getRights() );
-
-		$gtor = $this->getGenerator();
-		echo Xml::element( 'generator', null, "{$gtor['content']} {$gtor['attribs']['version']}" ) . "\n";
-	}
-
-	/**
-	 * Output a single feed entry.
-	 */
-	function outEntry( WlSyndicationEntry $entry ) {
-		echo Xml::openElement( 'item' ) . "\n";
-		echo Xml::element( 'guid', array( 'isPermaLink' => "false" ), $entry->getId() ) . "\n";
-		echo $this->formatTextData( 'title', $entry->getTitle() );
-
-		foreach ( $entry->getLinks() as $rel => $links ) {
-			if ( $rel == 'alternate' ) {
-				if ( !empty( $links ) ) {
-					# RSS only supports a single link element.
-					$link = array_shift( $links );
-					echo Xml::element( 'link', null, $link['href'] ) . "\n";
-				}
-			} elseif ( $rel == 'enclosure' ) {
-				if ( !empty( $links ) ) {
-					# RSS only supports a single enclosure element.
-					$link = array_shift( $links );
-					$attribs = array(
-						'url' => $link['href'],
-						'type' => $link['type'],
-						'length' => $link['length']
-					);
-					echo Xml::element( 'enclosure', $attribs ) . "\n";
-				}
-			} elseif ( $rel == 'replies' ) {
-				if ( !empty( $links ) ) {
-					# RSS only supports a single comments element.
-					$link = array_shift( $links );
-					echo Xml::element( 'comments', null, $link['href'] ) . "\n";
-				}
-			} else {
-				# For other links, we use the atom namespace.
-				foreach ( $links as $link ) {
-					echo Xml::element( 'atom:link', array( 'rel' => $rel ) + $link ) . "\n";
-				}
-			}
-		}
-
-		foreach ( $entry->getAuthors() as $author ) {
-			echo Xml::element( 'dc:creator', null, $author['name'] ) . "\n";
-		}
-
-		foreach ( $entry->getCategories() as $category ) {
-			$content = str_replace( '_', ' ', $category['term'] );
-			$attribs = array();
-			if ( isset( $category['scheme'] ) ) {
-				$attribs['domain'] = $category['scheme'];
-			}
-			echo Xml::element( 'category', $attribs, $content ) . "\n";
-		}
-
-		# Use either published or updated dates for the pubDate element.
-		$date = $entry->getPublished() ? $entry->getPublished() : $entry->getUpdated();
-		echo Xml::element( 'pubDate', null, $this->formatTime( $date ) ) . "\n";
-
-		# RSS source feed.
-		$source = $entry->getSource();
-		if ( $source instanceof WlSyndicationFeed ) {
-			$s_title = $source->getTitle();
-			$s_links = $source->getLinks( 'self' );
-			$s_url = array_shift( $s_links );
-			echo Xml::element( 'source', array( 'url' => $s_url['href'] ),
-				$s_title instanceof WlTextConstruct ?
-					$s_title->getText() : $s_title
-			) . "\n";
-		}
-
-		# If only summary or only content is provided, prefer the standard
-		# description element for either. If both are provided, put the
-		# summary in the description element and the content in the extension
-		# content:encoded element.
-		$content = $description = null;
-		if ( $entry->getSummary() && $entry->getContent() ) {
-			$description = $entry->getSummary();
-			$content = $entry->getContent();
-		} elseif ( $entry->getSummary() ) {
-			$description = $entry->getSummary();
-		} elseif ( $entry->getContent() ) {
-			$description = $entry->getContent();
-		}
-
-		if ( $description ) {
-			if ( $description instanceof WlTextConstruct ) {
-				echo Xml::element( 'description', null, $description->getHTML() );
-			} else {
-				echo Xml::element( 'description', null, htmlspecialchars( $description ) );
-			}
-		}
-
-		if ( $content ) {
-			if ( $content instanceof WlTextConstruct ) {
-				echo Xml::element( 'content:encoded', null, $content->getHTML() );
-			} else {
-				echo Xml::element( 'content:encoded', null, htmlspecialchars( $content ) );
-			}
-		}
-
-		echo Xml::closeElement( 'item' ) . "\n";
-	}
-
-	/**
-	 * Output the footer of the RSS feed.
-	 */
-	function outFooter() {
-		echo Xml::closeElement( 'channel' ) . "\n";
-		echo Xml::closeElement( 'rss' ) . "\n";
-	}
-}
-
-/**
- * MediaWiki compatibility classes.
- */
-class WlFeedItemCompat
-	extends WlSyndicationEntry
-{
-	function __construct( $item ) {
-		parent::__construct(
-			$item->Url,
-			$item->Title,
-			( !empty( $item->Date ) ? $item->Date : null ),
-			$item->Url,
-			( !empty( $item->Author ) ? $item->Author : null ),
-			new WlTextConstruct( 'html', $item->Description )
-		);
-		if ( !empty( $item->Comments ) ) {
-			$this->addLinkRel( 'replies', array( 'href' => $item->Comments ) );
-		}
-	}
-}
-
-class WlRSSFeedCompat
-	extends WlRSSFeed
-{
-	function __construct( $title, $descr, $url, $date = null ) {
-		parent::__construct( $url, $title, $date, $url );
-		$this->setSubtitle( $descr );
-	}
-	function outItem( $item ) {
-		$this->outEntry( new WlFeedItemCompat( $item ) );
-	}
-}
-
-class WlAtomFeedCompat
-	extends WlAtomFeed
-{
-	function __construct( $title, $descr, $url, $date = null ) {
-		parent::__construct( $url, $title, $date, $url );
-		$this->setSubtitle( $descr );
-	}
-	function outItem( $item ) {
-		$this->outEntry( new WlFeedItemCompat ( $item ) );
-	}
-}
diff --git a/WlFeed.i18n.php b/WlFeed.i18n.php
deleted file mode 100644
index b36cd80..0000000
--- a/WlFeed.i18n.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-/**
- * This is a backwards-compatibility shim, generated by:
- * https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/maintenance%2FgenerateJsonI18n.php
- *
- * Beginning with MediaWiki 1.23, translation strings are stored in json files,
- * and the EXTENSION.i18n.php file only exists to provide compatibility with
- * older releases of MediaWiki. For more information about this migration, see:
- * https://www.mediawiki.org/wiki/Requests_for_comment/Localisation_format
- *
- * This shim maintains compatibility back to MediaWiki 1.17.
- */
-$messages = array();
-if ( !function_exists( 'wfJsonI18nShimda6284c51e112860' ) ) {
-	function wfJsonI18nShimda6284c51e112860( $cache, $code, &$cachedData ) {
-		$codeSequence = array_merge( array( $code ), $cachedData['fallbackSequence'] );
-		foreach ( $codeSequence as $csCode ) {
-			$fileName = dirname( __FILE__ ) . "/i18n/wlfeed/$csCode.json";
-			if ( is_readable( $fileName ) ) {
-				$data = FormatJson::decode( file_get_contents( $fileName ), true );
-				foreach ( array_keys( $data ) as $key ) {
-					if ( $key === '' || $key[0] === '@' ) {
-						unset( $data[$key] );
-					}
-				}
-				$cachedData['messages'] = array_merge( $data, $cachedData['messages'] );
-			}
-
-			$cachedData['deps'][] = new FileDependency( $fileName );
-		}
-		return true;
-	}
-
-	$GLOBALS['wgHooks']['LocalisationCacheRecache'][] = 'wfJsonI18nShimda6284c51e112860';
-}
diff --git a/WlFeed.php b/WlFeed.php
deleted file mode 100644
index c5131e9..0000000
--- a/WlFeed.php
+++ /dev/null
@@ -1,112 +0,0 @@
-<?php
-/**
- * Enhanced feed generation classes.
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-if ( !defined( 'MEDIAWIKI' ) )
-	die();
-
-/**
- * General extension information.
- */
-$wgExtensionCredits['other'][] = array(
-	'path'           => __FILE__,
-	'name'           => 'WlFeed',
-	'version'        => '1.3.0',
-	'author'         => 'Juliano F. Ravasi',
-	'descriptionmsg' => 'wlfeed-desc',
-	'url'            => 'https://www.mediawiki.org/wiki/Extension:Wikilog',
-);
-
-/**
- * Module autoload information.
- */
-
-$dir = dirname( __FILE__ ) . '/';
-
-$wgMessagesDirs['WlFeed'] = __DIR__ . '/i18n/wlfeed';
-$wgExtensionMessagesFiles['WlFeed'] = $dir . 'WlFeed.i18n.php';
-
-$wgAutoloadClasses += array(
-	'WlSyndicationBase'		=> $dir . 'WlFeed.body.php',
-	'WlSyndicationFeed'		=> $dir . 'WlFeed.body.php',
-	'WlSyndicationEntry'	=> $dir . 'WlFeed.body.php',
-	'WlTextConstruct'		=> $dir . 'WlFeed.body.php',
-	'WlAtomFeed'			=> $dir . 'WlFeed.body.php',
-	'WlRSSFeed'				=> $dir . 'WlFeed.body.php',
-	'WlFeedItemCompat'		=> $dir . 'WlFeed.body.php',
-	'WlAtomFeedCompat'		=> $dir . 'WlFeed.body.php',
-	'WlRSSFeedCompat'		=> $dir . 'WlFeed.body.php'
-);
-
-/**
- * Extension setup.
- */
-
-$wgExtensionFunctions[] = array( 'WlFeed', 'ExtensionInit' );
-
-/**
- * Main WlFeed class.
- */
-class WlFeed
-{
-
-	/**
-	 * Configuration: Override default MediaWiki syndication classes. If set
-	 * to true, default feed classes defined in $wgFeedClasses global will
-	 * be overriden with compatibility classes of WlFeed. This causes all
-	 * MediaWiki feeds (Special:Recentchanges, page history, etc) to be
-	 * served through this extension.
-	 *
-	 * Use with caution. WlFeed classes have some differences from system
-	 * feed classes, for example, regarding to ctype= and quirks= parameters
-	 * and caching.
-	 */
-	static public $cfgOverride = false;
-
-	/**
-	 * System class equivalence.
-	 */
-	static private $classEquiv = array(
-		'AtomFeed' => 'WlAtomFeedCompat',
-		'RSSFeed' => 'WlRSSFeedCompat'
-	);
-
-	/**
-	 * Extension setup function.
-	 */
-	static function ExtensionInit() {
-		# Override system feeds.
-		if ( self::$cfgOverride ) {
-			global $wgFeedClasses;
-			foreach ( $wgFeedClasses as $t => $c ) {
-				if ( isset( self::$classEquiv[$c] ) ) {
-					$wgFeedClasses[$t] = self::$classEquiv[$c];
-				}
-			}
-		}
-	}
-}
diff --git a/archives/patch-comments-indexes.sql b/archives/patch-comments-indexes.sql
deleted file mode 100644
index 6bf9e80..0000000
--- a/archives/patch-comments-indexes.sql
+++ /dev/null
@@ -1,9 +0,0 @@
--- MediaWiki Wikilog extension database patch.
---
--- Version: 1.0.99.1dev
--- Add wlc_timestamp and wlc_updated indexes to wikilog_comments table.
---
-
-ALTER TABLE /*$wgDBprefix*/wikilog_comments
-  ADD INDEX wlc_timestamp (wlc_timestamp),
-  ADD INDEX wlc_updated (wlc_updated);
diff --git a/documentation/Wikilog.png b/documentation/Wikilog.png
deleted file mode 100644
index 7a90340..0000000
--- a/documentation/Wikilog.png
+++ /dev/null
Binary files differ
diff --git a/documentation/Wikilog_CC-BY-SA_88x31.png b/documentation/Wikilog_CC-BY-SA_88x31.png
deleted file mode 100644
index 3cbffcf..0000000
--- a/documentation/Wikilog_CC-BY-SA_88x31.png
+++ /dev/null
Binary files differ
diff --git a/documentation/Wikilog_SpecialWikilog_query_form.png b/documentation/Wikilog_SpecialWikilog_query_form.png
deleted file mode 100644
index f586cc1..0000000
--- a/documentation/Wikilog_SpecialWikilog_query_form.png
+++ /dev/null
Binary files differ
diff --git a/documentation/Wikilog_side_column_example.png b/documentation/Wikilog_side_column_example.png
deleted file mode 100644
index 014ab96..0000000
--- a/documentation/Wikilog_side_column_example.png
+++ /dev/null
Binary files differ
diff --git a/documentation/Wikilog_summary_auto.png b/documentation/Wikilog_summary_auto.png
deleted file mode 100644
index 90f89e5..0000000
--- a/documentation/Wikilog_summary_auto.png
+++ /dev/null
Binary files differ
diff --git a/documentation/Wikilog_summary_auto.xcf b/documentation/Wikilog_summary_auto.xcf
deleted file mode 100644
index 7d85386..0000000
--- a/documentation/Wikilog_summary_auto.xcf
+++ /dev/null
Binary files differ
diff --git a/documentation/Wikilog_summary_delim.png b/documentation/Wikilog_summary_delim.png
deleted file mode 100644
index 50230f7..0000000
--- a/documentation/Wikilog_summary_delim.png
+++ /dev/null
Binary files differ
diff --git a/documentation/Wikilog_summary_delim.xcf b/documentation/Wikilog_summary_delim.xcf
deleted file mode 100644
index 16b495a..0000000
--- a/documentation/Wikilog_summary_delim.xcf
+++ /dev/null
Binary files differ
diff --git a/documentation/Wikilog_summary_manual.png b/documentation/Wikilog_summary_manual.png
deleted file mode 100644
index 2e91080..0000000
--- a/documentation/Wikilog_summary_manual.png
+++ /dev/null
Binary files differ
diff --git a/documentation/Wikilog_summary_manual.xcf b/documentation/Wikilog_summary_manual.xcf
deleted file mode 100644
index 8c685d0..0000000
--- a/documentation/Wikilog_summary_manual.xcf
+++ /dev/null
Binary files differ
diff --git a/documentation/Wikilog_tab.png b/documentation/Wikilog_tab.png
deleted file mode 100644
index 3041a35..0000000
--- a/documentation/Wikilog_tab.png
+++ /dev/null
Binary files differ
diff --git a/documentation/Wikilog_template_example_1.png b/documentation/Wikilog_template_example_1.png
deleted file mode 100644
index cf65592..0000000
--- a/documentation/Wikilog_template_example_1.png
+++ /dev/null
Binary files differ
diff --git a/documentation/Wikilog_template_example_2.png b/documentation/Wikilog_template_example_2.png
deleted file mode 100644
index 1ef8dc4..0000000
--- a/documentation/Wikilog_template_example_2.png
+++ /dev/null
Binary files differ
diff --git a/documentation/documentation-pagelist.txt b/documentation/documentation-pagelist.txt
deleted file mode 100644
index 2975c87..0000000
--- a/documentation/documentation-pagelist.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-Category:Wikilog manual
-Template:Wikilog user manual header
-Template:Wikilog user manual footer
-Template:Wikilog user manual index
-Help:Wikilog
-Help:Embedding wikilogs
-Help:Overview of wikilogs
-Help:Overview of wikilog articles
-Help:Special:Wikilog
-Help:Wikilog settings
-Help:Wikilog styling
-Help:Writing a wikilog article
-File:Wikilog.png
-File:Wikilog CC-BY-SA 88x31.png
-File:Wikilog SpecialWikilog query form.png
-File:Wikilog summary auto.png
-File:Wikilog summary delim.png
-File:Wikilog summary manual.png
-File:Wikilog tab.png
-File:Wikilog template example 1.png
-File:Wikilog template example 2.png
diff --git a/documentation/documentation.xml b/documentation/documentation.xml
deleted file mode 100644
index 95465f9..0000000
--- a/documentation/documentation.xml
+++ /dev/null
@@ -1,1046 +0,0 @@
-<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.4/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.4/ http://www.mediawiki.org/xml/export-0.4.xsd" version="0.4" xml:lang="en">
-  <siteinfo>
-    <sitename>JWiki</sitename>
-    <base>http://wiki.juliano.info/wiki/Welcome</base>
-    <generator>MediaWiki 1.16.0</generator>
-    <case>case-sensitive</case>
-    <namespaces>
-      <namespace key="-2" case="case-sensitive">Media</namespace>
-      <namespace key="-1" case="first-letter">Special</namespace>
-      <namespace key="0" case="case-sensitive" />
-      <namespace key="1" case="case-sensitive">Talk</namespace>
-      <namespace key="2" case="first-letter">User</namespace>
-      <namespace key="3" case="first-letter">User talk</namespace>
-      <namespace key="4" case="case-sensitive">JWiki</namespace>
-      <namespace key="5" case="case-sensitive">JWiki talk</namespace>
-      <namespace key="6" case="case-sensitive">File</namespace>
-      <namespace key="7" case="case-sensitive">File talk</namespace>
-      <namespace key="8" case="first-letter">MediaWiki</namespace>
-      <namespace key="9" case="first-letter">MediaWiki talk</namespace>
-      <namespace key="10" case="case-sensitive">Template</namespace>
-      <namespace key="11" case="case-sensitive">Template talk</namespace>
-      <namespace key="12" case="case-sensitive">Help</namespace>
-      <namespace key="13" case="case-sensitive">Help talk</namespace>
-      <namespace key="14" case="case-sensitive">Category</namespace>
-      <namespace key="15" case="case-sensitive">Category talk</namespace>
-      <namespace key="100" case="case-sensitive">Wikilog</namespace>
-      <namespace key="101" case="case-sensitive">Wikilog talk</namespace>
-      <namespace key="202" case="case-sensitive">Property</namespace>
-      <namespace key="203" case="case-sensitive">Property talk</namespace>
-      <namespace key="204" case="case-sensitive">Type</namespace>
-      <namespace key="205" case="case-sensitive">Type talk</namespace>
-      <namespace key="208" case="case-sensitive">Concept</namespace>
-      <namespace key="209" case="case-sensitive">Concept talk</namespace>
-    </namespaces>
-  </siteinfo>
-  <page>
-    <title>Category:Wikilog manual</title>
-    <id>89</id>
-    <revision>
-      <id>158</id>
-      <timestamp>2009-09-03T00:44:25Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <comment>Created page with ''''[[Help:Wikilog|]]''' is a [http://www.mediawiki.org/ MediaWiki] extension that enhances it with some common blogging features, making it a wiki-blog hybrid.  This category con…'</comment>
-      <text xml:space="preserve">'''[[Help:Wikilog|Wikilog]]''' is a [http://www.mediawiki.org/ MediaWiki] extension that enhances it with some common blogging features, making it a wiki-blog hybrid.
-
-This category contains the user and administration manual of the extension.</text>
-    </revision>
-  </page>
-  <page>
-    <title>Template:Wikilog user manual header</title>
-    <id>90</id>
-    <revision>
-      <id>306</id>
-      <timestamp>2010-08-08T02:49:54Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <text xml:space="preserve">== Summary ==
-
-This template creates a navigation bar at the top of [[Help:Wikilog|Wikilog]] manual articles.
-
-== Parameters ==
-
-; 1
-: Manual chapter: &quot;intro&quot;, &quot;wikilog&quot;, &quot;article&quot; or &quot;advanced&quot;.
-
-== Template ==
-
-&lt;onlyinclude&gt;&lt;!--
---&gt;&lt;table border=&quot;1&quot; cellspacing=&quot;0&quot; style=&quot;background: #F6F6F6; border: 1px solid #A7D9F9;
-     border-collapse: collapse; width: 100%; margin: 6pt 0pt 0pt;&quot;&gt;&lt;!--
-  --&gt;&lt;tr&gt;&lt;!--
-    --&gt;&lt;td style=&quot;background: #F6F6F6; text-align: center; width: 15%; padding: 0 6pt;&quot;&gt;&lt;!--
-      --&gt;[[Image:Wikilog.png|80px|text-bottom|link=Help:Wikilog]]&lt;!--
-    --&gt;&lt;/td&gt;&lt;!--
-    --&gt;&lt;td style=&quot;background: #F6F6F6; text-align: left; padding: 0 6pt;&quot;&gt;&lt;!--
-      --&gt;&lt;span style=&quot;font-family: Times, serif; font-size: 110%; font-weight: bold;
-           font-style: italic;&quot;&gt;User Manual&lt;/span&gt;&lt;!--
-    --&gt;&lt;/td&gt;&lt;!--
-  --&gt;&lt;/tr&gt;&lt;!--
---&gt;&lt;/table&gt;&lt;!--
-
---&gt;&lt;table border=&quot;1&quot; cellspacing=&quot;0&quot; style=&quot;background: #F6F6F6; border: 1px solid #A7D9F9;
-     border-top: 0px; border-collapse: collapse; margin: 0pt 0pt 6pt 6pt; width: 15em;
-     float: right;&quot;&gt;&lt;!--
-  --&gt;&lt;tr&gt;&lt;!--
-    --&gt;&lt;td&gt;&lt;!--
-      --&gt;{{Wikilog user manual index}}&lt;!--
-    --&gt;&lt;/td&gt;&lt;!--
-  --&gt;&lt;/tr&gt;&lt;!--
---&gt;&lt;/table&gt;&lt;!--
-
---&gt;[[{{ns:Category}}:Wikilog manual|{{{title|{{SUBPAGENAME}}}}}]]&lt;!--
---&gt;&lt;/onlyinclude&gt;
-
-[[{{ns:Category}}:Wikilog manual]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>Template:Wikilog user manual footer</title>
-    <id>95</id>
-    <revision>
-      <id>249</id>
-      <timestamp>2009-09-12T04:36:44Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <text xml:space="preserve">This template creates the copyright notice at the bottom of [[Help:Wikilog|Wikilog]] manual articles.
-
-== Example ==
-
-&lt;onlyinclude&gt;&lt;table style=&quot;background: #EEEEEE; border: 1px solid #999999; margin: 24pt auto 3pt; width: 75%; clear: both;&quot;&gt;&lt;tr&gt;&lt;td class=&quot;plainlinks&quot; style=&quot;background: #DDDDDD; text-align: center; width: 10%; padding: 3pt 6pt;&quot;&gt;[http://creativecommons.org/licenses/by-sa/3.0/ [[File:Wikilog CC-BY-SA 88x31.png|link=]]]&lt;/td&gt;&lt;td style=&quot;padding: 3pt 6pt; font-style: italic;&quot;&gt;This {{{kind|page}}} is part of the Wikilog extension user manual, which is licensed under a [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-Share Alike 3.0 Unported License]. The original text is available at the [http://wiki.juliano.info/wiki/Help:Wikilog extension site].&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/onlyinclude&gt;
-
-[[Category:Wikilog manual]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>Template:Wikilog user manual index</title>
-    <id>128</id>
-    <revision>
-      <id>305</id>
-      <timestamp>2010-08-08T02:35:39Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <comment>Created page with '&lt;onlyinclude&gt; * [[Help:Wikilog|Introduction]] * Wikilogs ** [[Help:Overview of wikilogs|Overview of wikilogs]] ** [[Help:Wikilog settings|Wikilog settings]] * Wikilog articles **…'</comment>
-      <text xml:space="preserve">&lt;onlyinclude&gt;
-* [[Help:Wikilog|Introduction]]
-* Wikilogs
-** [[Help:Overview of wikilogs|Overview of wikilogs]]
-** [[Help:Wikilog settings|Wikilog settings]]
-* Wikilog articles
-** [[Help:Overview of wikilog articles|Overview of wikilog articles]]
-** [[Help:Writing a wikilog article|Writing a wikilog article]]
-* Advanced
-** [[Help:Special:Wikilog|Special:Wikilog]]
-** [[Help:Embedding wikilogs|Embedding wikilogs]]
-** [[Help:Wikilog styling|Styling]]
-&lt;/onlyinclude&gt;
-
-[[{{ns:Category}}:Wikilog manual]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>Help:Wikilog</title>
-    <id>58</id>
-    <revision>
-      <id>309</id>
-      <timestamp>2010-08-08T02:53:20Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <comment>/* User manual */</comment>
-      <text xml:space="preserve">{{Wikilog user manual header|intro}}
-
-'''Wikilog''' is a [http://www.mediawiki.org/ MediaWiki] extension that enhances the wiki software with some common blogging features, making it a wiki-blog hybrid.
-
-Wiki pages are configured to act as blogs, which are called &quot;wikilogs&quot;.  Just like blogs, each wikilog contains a number of published articles, with the most recent ones displayed on the wikilog main page in reverse chronological order.  Visitors can read wikilog articles from either the wikilog's main page or the article's page.  Visitors can easily leave comments to wikilog articles.
-
-Wikilog articles are stored as regular wiki pages, with extra functionality added by the extension.  This allows wikilog articles to inherit all the usual wiki functionality, like: wiki syntax, edit history, page categories, talk pages, etc.  Extra functionality added by the extension include the listing of articles, setting of article authors, handling of article comments, generation of syndication feeds (Atom and RSS) for individual wikilogs and for all wikilogs of the wiki, and others.
-
-The philosophy of Wikilog is not to just make a blog out of a wiki, but to combine both concepts.  Unlike most blogs, wikilog articles can be collaboratively written and published by multiple users.  Talk pages of wikilog articles provide a simpler interface for commenting than standard MediaWiki talk pages.  It is similar to most blog software, with the addition of discussion threading.
-
-== User manual ==
-
-{{Wikilog user manual index}}
-
-== External links ==
-
-* [http://www.mediawiki.org/wiki/Extension:Wikilog Wikilog MediaWiki extension page]
-
-{{Wikilog user manual footer}}</text>
-    </revision>
-  </page>
-  <page>
-    <title>Help:Embedding wikilogs</title>
-    <id>109</id>
-    <revision>
-      <id>328</id>
-      <timestamp>2011-12-11T03:19:46Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <text xml:space="preserve">{{Wikilog user manual header|advanced}}
-
-It is possible to embed a list of wikilog articles in other wiki pages.  Any listing that may be generated by [[Help:Special:Wikilog|Special:Wikilog]] can also be embedded like a template in other wiki pages.
-
-This has many interesting uses:
-
-* In the front page of the wiki, a list of the latest wikilog articles.
-* In users pages, a list of that user's wikilog articles in all wikilogs.
-
-== Simple embedding ==
-
-Simple embedding is possible by adding [[Help:Special:Wikilog|Special:Wikilog]] as a template call to any wiki page.  The syntax is very similar to simple wiki link, except that &lt;code&gt;&lt;nowiki&gt;[[...]]&lt;/nowiki&gt;&lt;/code&gt; brackets are replaced by &lt;code&gt;&lt;nowiki&gt;{{...}}&lt;/nowiki&gt;&lt;/code&gt; braces.
-
-For example, to embed a list of the last five articles from all wikilogs filled in the History category in the current page, this markup must be added:
-
- '''&lt;nowiki&gt;{{&lt;/nowiki&gt;Special:Wikilog'''/Category:History/5'''&lt;nowiki&gt;}}&lt;/nowiki&gt;'''
-
-Articles are formatted like in Special:Wikilog page itself, except that the query form isn't shown and no navigation links are provided, only the last articles are listed.
-
-When including or embedding a list of wikilog articles in another page, it may be desired to have the articles presented in a different format, more visually suitable for the page it is being embedded to.  In this case, templated embedding is possible.
-
-== Templated embedding ==
-
-By providing a [[Help:Templates|template]] name to Special:Wikilog, the article listing will be formatted according to the provided template.  Wikilog loads the template and expands it once for each article, filling its parameters with data from the articles.
-
-For example, to embed a list of wikilog articles from the user ''John Smith'' using the template ''WikilogTempl1'':
-
- &lt;nowiki&gt;{{&lt;/nowiki&gt;Special:Wikilog/User:John Smith/'''Template:WikilogTempl1'''&lt;nowiki&gt;}}&lt;/nowiki&gt;
-
-The following parameters are provided to the template:
-
-{| class=&quot;wikitable&quot; width=&quot;100%&quot;
- |- style=&quot;vertical-align: top;&quot;
- ! Template parameter
- ! Contents
- |-
- | '''class'''
- | A list of HTML classes that are suggested to be applied to a &lt;code&gt;&lt;nowiki&gt;&lt;div&gt;&lt;/nowiki&gt;&lt;/code&gt; block around the list fragment.  It allows the article entry to be globally styled (see [[Help:Wikilog styling|styling]]).  It is a list of one or more of: &quot;wl-entry&quot; and &quot;wl-draft&quot;.
- |-
- | '''wikilogTitle'''
- | The title of the wikilog where the article is published, without the namespace prefix. Suitable for presentation.
- |-
- | '''wikilogPage'''
- | The full page title of the wikilog where the article is published. Suitable for wikilinking.
- |-
- | '''title'''
- | The article title. Suitable for presentation.
- |-
- | '''page'''
- | The full page title of the article. Suitable for wikilinking.
- |-
- | '''authors'''
- | One or more authors of the article.
- |-
- | '''tags'''
- | Comma-separated list of article tags.
- |-
- | '''published'''
- | Whether the article was published or still a draft.  An asterisk is returned if the article was published, otherwise the parameter is blank.  This is designed to be used with the &lt;code&gt;[[Help:Extension:ParserFunctions##if:|&lt;nowiki&gt;{{#if:...}}&lt;/nowiki&gt;]]&lt;/code&gt; parser function.
- |-
- | '''date'''
- | The article publication date.  This is the date that the article was signed, which is the first argument to the &lt;code&gt;&lt;nowiki&gt;{{wl-publish:...}}&lt;/nowiki&gt;&lt;/code&gt; parser function call.
- |-
- | '''time'''
- | The article publication time.  This is the time that the article was signed, which is the first argument to the &lt;code&gt;&lt;nowiki&gt;{{wl-publish:...}}&lt;/nowiki&gt;&lt;/code&gt; parser function call.
- |-
- | '''tz'''
- | Timezone information for the article publication date/time.
- |-
- | '''updatedDate'''
- | The date the article was last edited.
- |-
- | '''updatedTime'''
- | The time the article was last edited.
- |-
- | '''hasMore'''
- | Whether the article has more text than provided by 'summary'.  An asterisk is returned if the article contains more text, otherwise the parameter is blank.  This is designed to be used with the &lt;code&gt;[[Help:Extension:ParserFunctions##if:|&lt;nowiki&gt;{{#if:...}}&lt;/nowiki&gt;]]&lt;/code&gt; parser function.
- |-
- | '''summary'''
- | The article summary.
- |-
- | '''comments'''
- | A link to the article comments page.  The link text states how many comments are there.
- |}
-
-=== Template examples ===
-
-{| class=&quot;wikitable&quot; width=&quot;100%&quot;
- |-
- ! Template markup
- ! Result
- |-
- |
-&lt;pre&gt;
-&lt;div class=&quot;{{{class}}}&quot;&gt;
-'''[[{{{page}}}|{{{title}}}]]'''
-&lt;blockquote&gt;
-{{{summary}}}
-&lt;p&gt;&lt;small&gt;-- {{{authors}}}, {{{time}}}, {{{date}}}.&lt;/small&gt;&lt;/p&gt;
-&lt;/blockquote&gt;
-&lt;/div&gt;
-&lt;/pre&gt;
- | [[Image:Wikilog template example 1.png]]
- |-
- |
-&lt;pre&gt;
-&lt;div class=&quot;{{{class}}}&quot; style=&quot;background: #FFFFEE;
-     border: 1px solid #CCCC99; margin: 1px;&quot;&gt;
-&lt;ul&gt;
-&lt;li&gt;'''Title:''' [[{{{page}}}|{{{title}}}]]&lt;/li&gt;
-&lt;li&gt;'''Wikilog:''' [[{{{wikilogPage}}}|{{{wikilogTitle}}}]]&lt;/li&gt;
-&lt;li&gt;'''Authors:''' {{{authors}}}&lt;/li&gt;
-&lt;li&gt;'''Published:''' {{{time}}}, {{{date}}}&lt;/li&gt;
-&lt;li&gt;'''Summary:''' {{{summary}}}&lt;/li&gt;
-&lt;li&gt;'''Comments:''' {{{comments}}}&lt;/li&gt;
-&lt;/ul&gt;
-&lt;/div&gt;
-&lt;/pre&gt;
- | [[Image:Wikilog template example 2.png]]
- |}
-
-{{Wikilog user manual footer}}</text>
-    </revision>
-  </page>
-  <page>
-    <title>Help:Overview of wikilogs</title>
-    <id>91</id>
-    <revision>
-      <id>220</id>
-      <timestamp>2009-09-07T02:12:12Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <text xml:space="preserve">{{Wikilog user manual header|wikilog}}
-
-'''Wikilogs''' are the primary concept of a Wikilog-enabled wiki site.  Each wikilog works like a blog, and contains multiple published articles.  Each wikilog has a main page that lists the last few of its articles (possibly only a summary of each) in reverse chronological order, and navigation links to other pages.  Each wikilog article listed is linked to its own page, where the article can be read in full and commented.
-
-A distinction should be made between &quot;Wikilog&quot; the software extension, and &quot;wikilog&quot; the concept.  The first refers to the MediaWiki software extension that is installed and provides the blogging functionality; it is always capitalized in this manual.  The second refers to this resource provided by the extension, and is pretty much synonymous with &quot;blog&quot;; it is capitalized only at the beginning of sentences in this manual.
-
-Wikilogs are special wiki pages created under certain custom wiki [[Help:Namespaces|namespaces]].  Namespaces are prefixes added before the page title and are used to classify different kinds of pages. In this wiki, {{plural:{{wl-info:num-namespaces}}|the following namespace contains|the following namespaces contain}} wikilogs: ''{{wl-info:all-namespaces}}''.
-
-Pages in {{plural:{{wl-info:num-namespaces}}|this namespace|those namespaces}} have special behavior in a way similar to the pages in ''{{ns:File}}'' and ''{{ns:Category}}'' namespaces.  In order to create a new wikilog, a new page has to be created with {{plural:{{wl-info:num-namespaces}}|the ''{{wl-info:namespace-by-index}}'' prefix|one of the above prefixes}} followed by a colon and the title of the wikilog.  For example, in order to create a wikilog with the title &quot;''General Rants''&quot; in the ''{{wl-info:namespace-by-index}}'' namespace, the page that has to be created should have the &quot;''{{wl-info:namespace-by-index}}:General Rants''&quot; title.
-
-The contents of the wikilog page are arbitrary, and it will be shown above the listing of wikilog articles.  It can be used to describe the purpose of the wikilog, list category links, etc.  Since a wikilog is also a wiki page (with added functionality), other wiki features can be creatively used: group wikilogs in categories, interwiki similar wikilogs in different languages, etc.  The wikilog page is also used to configure the wikilog through some special markup.
-
-[[Image:Wikilog tab.png|right|frame|Wikilog tab.]]
-Wikilog pages have an additional content action tab called &quot;wikilog&quot;, that provides some information about the wikilog and also a form to create new articles.
-
-== Further reading ==
-
-* [[Help:Wikilog settings|Wikilog settings]]
-* [[Help:Overview of wikilog articles|Overview of wikilog articles]]
-
-{{Wikilog user manual footer}}</text>
-    </revision>
-  </page>
-  <page>
-    <title>Help:Overview of wikilog articles</title>
-    <id>96</id>
-    <revision>
-      <id>327</id>
-      <timestamp>2011-12-11T03:15:02Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <text xml:space="preserve">{{Wikilog user manual header|article}}
-
-'''Wikilog articles''' are wiki pages that contain the actual stories published in [[Help:Overview of wikilogs|wikilogs]].  They may have many different names in different blog software: articles, posts, entries, pages, items, news, etc.  In this manual, they are strictly referred as wikilog articles, or just articles.
-
-Each wikilog article belongs to exactly one wikilog.  Articles are stored as [[Help:Subpages|subpages]] of wikilog pages, where the wiki page title consists of the wikilog title, followed by slash character (&quot;&lt;code&gt;/&lt;/code&gt;&quot;) and the article title.
-
-To avoid confusion, this manual always refers to these titles as ''full page title'' and ''article title''.  For example, an article ''The brown fox'' in the ''General Rants'' wikilog in the ''{{wl-info:namespace-by-index}}'' namespace has these titles:
-
-* '''''{{wl-info:namespace-by-index}}:General Rants/The brown fox'''''
-*: This is the full page title.  It is used to identify and store the wikilog article in the wiki database, and also to link to the article from other pages of the wiki by using it between &lt;code&gt;[[&lt;/code&gt; and &lt;code&gt;]]&lt;/code&gt; marks in wikitext.
-* '''''The brown fox'''''
-*: This is the article title.  It is shown to the visitor at the top of the page and is also used to identify the article anywhere within the wikilog.
-
-Wikilog articles can be classified in multiple [[Help:Categories|categories]], like standard wiki pages.  Articles may also have [[Help:Wikilog article tags|tags]], which provide a secondary, less formal classification.  Also, unlike most blogs, wikilog articles can be prepared, signed and published by multiple authors, in a collaborative way that follows the wiki philosophy.  Wikilog provides a special page, [[Help:Special:Wikilog|Special:Wikilog]], which allows the user to query articles by category, author or other criteria.
-
-Since articles can be very long and the wikilog page has to list the last published ones, summaries are used to keep wikilog pages short.  Each article has a summary that can be either automatically generated (the beginning of the article up to the first heading) or manually specified by the author (through a special markup).
-
-Talk pages of wikilog articles are enhanced with a commenting interface that is at the same time familiar to blog readers (easy comment post form) and comfortable to wiki users (supports discussion threading, edits, history).
-
-All MediaWiki features are automatically available to wikilog articles and comments.  Users can make creative use of them, for example, using interwiki links to link together wikilogs and articles in different languages and different wikis.
-
-== Further reading ==
-
-* [[Help:Writing a wikilog article|Writing a wikilog article]]
-
-{{Wikilog user manual footer}}</text>
-    </revision>
-  </page>
-  <page>
-    <title>Help:Special:Wikilog</title>
-    <id>107</id>
-    <revision>
-      <id>318</id>
-      <timestamp>2010-08-08T04:46:56Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <comment>/* Parameters */</comment>
-      <text xml:space="preserve">{{Wikilog user manual header|advanced}}
-
-The '''[[Special:Wikilog]]''' special page is a central query page for wikilog listings.  By default, it displays a list of all articles in all wikilogs, like an aggregator for all hosted wikilogs.  It also allows queries based on categories, authors, tags, status, etc.  This special page can be included in other pages, so you can embed lists or summaries of wikilog posts anywhere in the wiki.  For more information, see [[Help:Embedding wikilogs|embedding wikilogs]].
-
-== Syntax ==
-
-The simplest call to this special page, without parameters, results in a listing of all articles from all wikilogs in the wiki.  Example:
-
- '''&lt;nowiki&gt;[[&lt;/nowiki&gt;[[Special:Wikilog]]&lt;nowiki&gt;]]&lt;/nowiki&gt;'''
-
-The special page displays a query form where the user can provide wikilog, category, author, tag, date and status of articles to list.  By filling some of the fields of this form and submitting it, the list is filtered so that only articles matching the criteria are listed.
-
-[[Image:Wikilog_SpecialWikilog_query_form.png|frame|center|Example: Using Special:Wikilog query form to search all wikilog articles in ''Category:Communication'' published in ''2008''.]]
-
-It is possible to call the special page directly with the filtering criteria in two different ways: inline and via query parameters.
-
-The '''inline syntax''' is useful when referring the special page from other pages in the wiki, and also when embedding. In it, parameters are passed to the special page like subpages, after &quot;Special:Wikilog&quot;, separated by slash characters (&quot;&lt;code&gt;/&lt;/code&gt;&quot;).  For example, the query displayed in the image above could be directly linked from other pages with:
-
- '''&lt;nowiki&gt;[[&lt;/nowiki&gt;[[Special:Wikilog/Category:Communication/y=2008]]&lt;nowiki&gt;]]&lt;/nowiki&gt;'''
-
-The '''standard syntax''' is used when interacting with HTML forms and directly calling the MediaWiki [[Manual:index.php|index.php]] script.  Some features, like syndication feeds, are available only through the standard syntax.  For example, the same query above looks like this in the standard syntax:
-
- '''{{localurl:Special:Wikilog|category=''Communication''&amp;year=''2008''}}'''
-
-== Parameters ==
-
-The following table lists the parameters accepted by the Special:Wikilog special page.  The first column lists the standard query syntax parameters that should be passed when calling the [[Manual:index.php|index.php]] script.  Multiple parameters are concatenated with ampersand characters (&quot;&lt;code&gt;&amp;&lt;/code&gt;&quot;).  The second column lists the inline syntax parameters that should be passed when linking from the wiki.  Multiple parameters are concatenated with slash characters (&quot;&lt;code&gt;/&lt;/code&gt;&quot;) ['''Note:''' &quot;&lt;code&gt;;&lt;/code&gt;&quot; was used as separator before Wikilog 0.8.0].
-
-{| class=&quot;wikitable&quot;
- |- style=&quot;vertical-align: top;&quot;
- ! Query parameter
- ! Inline syntax
- ! Description
- |- style=&quot;vertical-align: top;&quot;
- |rowspan=2| '''wikilog='''''wikilog-title''
- |rowspan=2| ''wikilog-title''
- | Display only articles from the given wikilog.  In both cases, ''wikilog-title'' is the wikilog page title including the namespace, since multiple namespaces can be configured to have wikilogs.  Example: ''&quot;{{wl-info:namespace-by-index}}:General rants&quot;''.
- |- style=&quot;vertical-align: top;&quot;
- | It is also possible to display all articles in a given namespace by using an asterisk as the page title.  Example: ''&quot;{{wl-info:namespace-by-index}}:*&quot;''
- |- style=&quot;vertical-align: top;&quot;
- | '''category='''''category-name''
- | '''{{ns:Category}}:'''''category-name''
- | Display only articles in the given category.  Example: ''&quot;{{ns:Category}}:Communication&quot;''.
- |- style=&quot;vertical-align: top;&quot;
- | '''author='''''author-name''
- | '''{{ns:User}}:'''''author-name''
- | Display only articles written by the given author.  Example: ''&quot;{{ns:User}}:John_Smith&quot;''.
- |- style=&quot;vertical-align: top;&quot;
- | '''tag='''''tag''
- | '''t='''''tag''
- | Display only articles tagged with the given tag.  {{#if: {{wl-info:tags-enabled}} | | This feature is not enabled in this wiki. }}  Example: ''&quot;t=web&quot;''.
- |- style=&quot;vertical-align: top;&quot;
- | '''year='''''year''&lt;br/&gt;'''month='''''month''&lt;br/&gt;'''day='''''day''&lt;br/&gt;
- | '''y='''''year''&lt;br/&gt;'''m='''''month''&lt;br/&gt;'''d='''''day''&lt;br/&gt;'''date='''''year''[-''month''[-''day'']]
- | Display only articles in the time period specified.  The ''date='' parameter of the inline syntax is an alternative to the ''y='', ''m='' and ''d='' syntax; the later is preferred.  Example: ''&quot;y=2008/m=10&quot;''.
- |- style=&quot;vertical-align: top;&quot;
- | '''show='''''status''
- | ''status''
- | Display only articles with the given status:
-* '''all''' - displays all posts
-* '''published''' (default) - displays only published posts
-* '''drafts''' - displays only drafts
- |- style=&quot;vertical-align: top;&quot;
- | '''view='''''view-mode''
- | ''view-mode''
- | Select the view mode:
-* '''summary''' (default) - displays the title and summary of articles, in reverse chronological order
-* '''archives''' - displays a compact tabular list of articles
- |- style=&quot;vertical-align: top;&quot;
- | '''template='''''template-name''
- | '''Template:'''''template-name''
- | In summary view, format articles using the given template instead of the standard presentation.  Details about the template parameters that can be used are presented in [[Help:Embedding wikilogs|embedding wikilogs]].
- |- style=&quot;vertical-align: top;&quot;
- | '''limit='''''number-of-posts''
- | ''number-of-posts''
- | Limit the number of posts displayed.  Note that in inline syntax, the number itself is the parameter.
- |- style=&quot;vertical-align: top;&quot;
- | '''feed='''''format''
- | 
- | Generates a syndication feed of wikilog articles (valid formats: '''atom''' and '''rss''').
- |}
-
-== Syndication feeds ==
-
-When the ''feed='' parameter is used, a syndication feed in the given format is generated and returned.  The URL can be added to feed aggregators, which will retrieve the list of wikilog articles directly from the wiki.
-
-'''Note:''' Due to caching concerns, filtering is very limited in this mode.  Only wikilog and limit parameters are recognized.  Probably category filtering will also be enabled in the future.
-
-== Examples ==
-
-The last five articles from all wikilogs in the ''History'' category:
-
- &lt;nowiki&gt;[[&lt;/nowiki&gt;Special:Wikilog/Category:History/5&lt;nowiki&gt;]]&lt;/nowiki&gt;
-
-All articles written by user ''John Smith'' in October 2008:
-
- &lt;nowiki&gt;[[&lt;/nowiki&gt;Special:Wikilog/User:John Smith/y=2008/m=10&lt;nowiki&gt;]]&lt;/nowiki&gt;
-
-All drafts from all wikilogs:
-
- &lt;nowiki&gt;[[&lt;/nowiki&gt;Special:Wikilog/drafts&lt;nowiki&gt;]]&lt;/nowiki&gt;
-
-{{Wikilog user manual footer}}</text>
-    </revision>
-  </page>
-  <page>
-    <title>Help:Wikilog settings</title>
-    <id>93</id>
-    <revision>
-      <id>308</id>
-      <timestamp>2010-08-08T02:52:11Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <minor/>
-      <comment>fix for new header style</comment>
-      <text xml:space="preserve">{{Wikilog user manual header|wikilog}}
-
-Each wikilog has a few settings that can be set by adding some special markup to the wikilog page.  These settings are more relevant to the syndication feeds (Atom and RSS) that are automatically generated by Wikilog.
-
-== Icon, logo and subtitle ==
-
-In order to adjust the icon, logo and subtitle of the wikilog, the &lt;code&gt;&lt;nowiki&gt;{{wl-settings:...}}&lt;/nowiki&gt;&lt;/code&gt; parser function should be added to the text of the wikilog page.  This parser function has the following format (bolds are fixed text, italics are variable text):
-
- '''&lt;nowiki&gt;{{wl-settings:&lt;/nowiki&gt;'''
- ''' | icon =''' ''icon file''
- ''' | logo =''' ''logo file''
- ''' | subtitle =''' ''subtitle message''
- '''}}'''
-
-The three middle lines (''icon'', ''logo'' and ''subtitle'') are all optional, and should only be provided if that information is to be set.
-
-=== Icon ===
-
-The ''icon'' parameter to the &lt;code&gt;&lt;nowiki&gt;{{wl-settings:...}}&lt;/nowiki&gt;&lt;/code&gt; parser function provides an iconic identification for the wikilog.  The icon should be a small square image and has the same principle as [http://en.wikipedia.org/wiki/Favicon website favicons].  Icons are used only in Atom feeds [http://tools.ietf.org/html/rfc4287#section-4.2.5].
-
-The ''icon file'' argument should consist of a simple image wikilink to the file that contains the icon.  The file must have been uploaded and be accessible from the wiki.
-
-For example, the following block of text defines the icon of the wikilog to be ''ExampleIcon.png'':
-
- '''&lt;nowiki&gt;{{wl-settings:&lt;/nowiki&gt;'''
- ''' | icon =''' &lt;nowiki&gt;[[Image:ExampleIcon.png]]&lt;/nowiki&gt;
- '''}}'''
-
-Many syndication feed readers don't support feed icons.
-
-=== Logo ===
-
-The ''logo'' parameter to the &lt;code&gt;&lt;nowiki&gt;{{wl-settings:...}}&lt;/nowiki&gt;&lt;/code&gt; parser function provides a visual identification for the wikilog.  Logos are used in both Atom and RSS feeds, but has different restrictions.  The Atom specification recommends that the image have a landscape orientation with 2 to 1 aspect ratio [http://tools.ietf.org/html/rfc4287#section-4.2.8], while the RSS specification restricts the image size to 144×400 pixels maximum [http://www.rssboard.org/rss-specification#ltimagegtSubelementOfLtchannelgt].  A good compromise between both specifications is a logo with dimensions of 144×72 pixels.
-
-The ''logo file'' argument in the above example should consist of a simple image wikilink to the file that contains the logo.  The file must have been uploaded and be accessible from the wiki.  For example, the following block of text defines the logo of the wikilog to be ''ExampleLogo.png'':
-
- '''&lt;nowiki&gt;{{wl-settings:&lt;/nowiki&gt;'''
- ''' | logo =''' &lt;nowiki&gt;[[Image:ExampleLogo.png]]&lt;/nowiki&gt;
- '''}}'''
-
-Many syndication feed readers don't support feed logos.
-
-=== Subtitle ===
-
-The ''subtitle'' parameter to the &lt;code&gt;&lt;nowiki&gt;{{wl-settings:...}}&lt;/nowiki&gt;&lt;/code&gt; parser function provides a short description about the wikilog. It is used in both Atom and RSS feeds.  Wiki markup is allowed, but only possible in Atom feeds (RSS feeds will have only text).
-
-For example, the following block of text defines the subtitle of the wikilog to be ''Random rants'':
-
- '''&lt;nowiki&gt;{{wl-settings:&lt;/nowiki&gt;'''
- ''' | subtitle =''' Random rants
- '''}}'''
-
-== Authors ==
-
-It is possible to globally define the authors of a wikilog through the &lt;code&gt;&lt;nowiki&gt;{{wl-author:...}}&lt;/nowiki&gt;&lt;/code&gt; parser function.  Many authors can be provided, separated by pipe (&quot;&lt;code&gt;|&lt;/code&gt;&quot;) characters.  The markup can also appear many times in the contents of wikilog page.  In both cases, multiple authors are defined.
-
- '''&lt;nowiki&gt;{{wl-author:&lt;/nowiki&gt;''' ''author name'' '''}}'''
- '''&lt;nowiki&gt;{{wl-author:&lt;/nowiki&gt;''' ''first author'' | ''second author'' | ''...'' '''}}'''
-
-The author name should be the name of the user in the wiki.  The wiki user page is linked back from the syndication feeds.
-
-'''Note:''' This feature is provided only for completeness and its usage is not recommended.  The expected usage is to provide authors individually for each wikilog article published in the wikilog, through the &lt;code&gt;&lt;nowiki&gt;{{wl-publish:...}}&lt;/nowiki&gt;&lt;/code&gt; parser function in the wikilog article page.
-
-== References ==
-
-* [http://tools.ietf.org/html/rfc4287 RFC 4287 - The Atom Syndication Format]
-* [http://www.rssboard.org/rss-specification RSS 2.0 Specification]
-
-{{Wikilog user manual footer}}</text>
-    </revision>
-  </page>
-  <page>
-    <title>Help:Wikilog styling</title>
-    <id>88</id>
-    <revision>
-      <id>316</id>
-      <timestamp>2010-08-08T04:39:51Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <comment>new comments page</comment>
-      <text xml:space="preserve">{{Wikilog user manual header|advanced}}
-
-This page shows topographic diagrams of HTML blocks that may be useful in order to customize the appearance of the content generated by the Wikilog extension. The extension can be customized by adding CSS rules to [[MediaWiki:Common.css]].
-
-== Summary pager ==
-
-The summary pager is used by default to display the list of wikilog articles in wikilog pages and [[Special:Wikilog]].  It produces the following topography:
-
-&lt;div style=&quot;background:#EEE; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-wrapper'''&lt;br/&gt;
-Contains the Wikilog-generated listing of wikilog articles.
-
-  &lt;div style=&quot;background:#DDD; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-options'''&lt;br/&gt;
-Used only in Special:Wikilog, optional. It is a fieldset with query fields.
-  &lt;/div&gt;
-
-  &lt;div style=&quot;background:#DDD; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-navbar .wl-navbar-top'''&lt;br/&gt;
-Optional. The top navigation bar, with paging links to next/previous pages of articles.&lt;br/&gt;
-''([[MediaWiki:Wikilog-navigation-bar|wikilog-navigation-bar]] -- customizable, optional)''
-  &lt;/div&gt;
-
-  &lt;div style=&quot;background:#DDD; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-roll'''&lt;br/&gt;
-The list of wikilog articles (entries).
-
-    &lt;div style=&quot;background:#CCC; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-entry''' [ ''.wl-draft'' ]&lt;br/&gt;
-A single wikilog article (entry).
-
-      &lt;div style=&quot;background:#BBB; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''h2'''&lt;br/&gt;
-The title of the wikilog article.
-      &lt;/div&gt;
-
-      &lt;div style=&quot;background:#BBB; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-summary-header'''&lt;br/&gt;
-Optional. Contains the header of the summary entry, with authors, date, time, comments link, etc.&lt;br/&gt;
-''([[MediaWiki:Wikilog-summary-header|wikilog-summary-header]] -- customizable)''
-      &lt;/div&gt;
-
-      &lt;div style=&quot;background:#BBB; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-summary'''&lt;br/&gt;
-The summary text of the wikilog article.&lt;br/&gt;
-''([[MediaWiki:Wikilog-summary-more|wikilog-summary-more]] -- customizable, conditional)''
-      &lt;/div&gt;
-
-      &lt;div style=&quot;background:#BBB; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-summary-footer'''&lt;br/&gt;
-Optional. Contains the header of the summary entry, with authors, date, time, comments link, etc.&lt;br/&gt;
-''([[MediaWiki:Wikilog-summary-footer|wikilog-summary-footer]] -- customizable)''
-      &lt;/div&gt;
-
-    &lt;/div&gt;
-
-    &lt;div style=&quot;background:#CCC; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;'''.wl-entry''' [ ''.wl-draft'' ] ...&lt;/div&gt;
-    &lt;div style=&quot;background:#CCC; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;'''.wl-entry''' [ ''.wl-draft'' ] ...&lt;/div&gt;
-&lt;p style=&quot;text-align:center&quot;&gt;...&lt;/p&gt;
-
-  &lt;/div&gt;
-
-  &lt;div style=&quot;background:#DDD; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-navbar .wl-navbar-bottom'''&lt;br/&gt;
-Optional. The bottom navigation bar, with paging links to next/previous pages of articles.&lt;br/&gt;
-''([[MediaWiki:Wikilog-navigation-bar|wikilog-navigation-bar]] -- customizable, optional)''.
-  &lt;/div&gt;
-&lt;/div&gt;
-
-== Comments page ==
-
-The comments page of a wikilog article contains the standard page contents (usually blank, unless it was edited or viewing a single comment) followed by Wikilog-generated list of comments, with the following topography:
-
-&lt;div style=&quot;background:#EEE; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-comments'''&lt;br/&gt;
-Wraps entire Wikilog-generated list of comments.
-
-  &lt;div style=&quot;background:#DDD; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''h2#wl-comments-header'''&lt;br/&gt;
-The &quot;Comments&quot; or &quot;Replies&quot; H2 heading.
-  &lt;/div&gt;
-
-  &lt;div style=&quot;background:#DDD; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-threads'''&lt;br/&gt;
-Contains all threads of the comments page.
-
-    &lt;div style=&quot;background:#CCC; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-thread'''&lt;br/&gt;
-A single top-level comment and its thread (all its replies, recursively).&lt;br/&gt;
-... (see below)
-    &lt;/div&gt;
-
-    &lt;div style=&quot;background:#CCC; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;'''.wl-thread''' ... (see below)&lt;/div&gt;
-    &lt;div style=&quot;background:#CCC; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;'''.wl-thread''' ... (see below)&lt;/div&gt;
-    &lt;p style=&quot;text-align:center&quot;&gt;...&lt;/p&gt;
-  &lt;/div&gt;
-
-  &lt;div style=&quot;background:#DDD; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''#wl-comment-form'''&lt;br/&gt;
-The &quot;add new comment&quot; form that the user interacts with.
-  &lt;/div&gt;
-&lt;/div&gt;
-
-=== Visible comment ===
-
-A single visible comment thread, an all the replies to such a comment, is formatted as follows:
-
-&lt;div style=&quot;background:#EEE; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-thread'''&lt;br/&gt;
-Indents the comment and all its replies in a thread.
-
-  &lt;div style=&quot;background:#DDD; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-comment''' [ ''.wl-comment-pending'' | ''.wl-comment-deleted'' ] [ ''.wl-comment-by-anon'' | ''.wl-comment-by-user'' [ ''.wl-comment-by-author'' ] ]&lt;br/&gt;
-Contains the visible comment.
-
-    &lt;div style=&quot;background:#CCC; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-comment-header'''&lt;br/&gt;
-Optional. Contains the header of the comment, with author, date, time, etc.&lt;br/&gt;
-''([[MediaWiki:Wikilog-comment-header|wikilog-comment-header]] -- customizable)''
-    &lt;/div&gt;
-    &lt;div style=&quot;background:#CCC; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-comment-text'''&lt;br/&gt;
-The comment text itself.
-    &lt;/div&gt;
-    &lt;div style=&quot;background:#CCC; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-comment-footer'''&lt;br/&gt;
-Optional. Contains the footer of the comment, with author, date, time, etc.&lt;br/&gt;
-''([[MediaWiki:Wikilog-comment-footer|wikilog-comment-footer]] -- customizable)''
-    &lt;/div&gt;
-    &lt;div style=&quot;background:#CCC; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-comment-tools'''&lt;br/&gt;
-Contains links related to the comment, like reply, page, edit, etc.
-    &lt;/div&gt;
-  &lt;/div&gt;
-
-  &lt;div style=&quot;background:#DDD; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;'''.wl-thread''' ... (recursive)&lt;/div&gt;
-  &lt;div style=&quot;background:#DDD; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;'''.wl-thread''' ... (recursive)&lt;/div&gt;
-  &lt;p style=&quot;text-align:center&quot;&gt;...&lt;/p&gt;
-&lt;/div&gt;
-
-=== Hidden comment ===
-
-A single hidden comment thread, an all the replies to such a comment, is formatted as follows:
-
-&lt;div style=&quot;background:#EEE; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-thread'''&lt;br/&gt;
-Indents the comment and all its replies in a thread.
-
-  &lt;div style=&quot;background:#DDD; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-comment''' [ ''.wl-comment-pending'' | ''.wl-comment-deleted'' ] [ ''.wl-comment-by-anon'' | ''.wl-comment-by-user'' [ ''.wl-comment-by-author'' ] ]&lt;br/&gt;
-Contains the hidden comment and its metadata.
-
-    &lt;div style=&quot;background:#CCC; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;
-'''.wl-comment-placeholder'''&lt;br/&gt;
-Placeholder of the hidden comment.
-    &lt;/div&gt;
-  &lt;/div&gt;
-
-  &lt;div style=&quot;background:#DDD; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;'''.wl-thread''' ... (recursive)&lt;/div&gt;
-  &lt;div style=&quot;background:#DDD; border:1px dashed gray; padding:3pt; margin:3pt;&quot;&gt;'''.wl-thread''' ... (recursive)&lt;/div&gt;
-  &lt;p style=&quot;text-align:center&quot;&gt;...&lt;/p&gt;
-&lt;/div&gt;
-
-{{Wikilog user manual footer}}</text>
-    </revision>
-  </page>
-  <page>
-    <title>Help:Writing a wikilog article</title>
-    <id>101</id>
-    <revision>
-      <id>315</id>
-      <timestamp>2010-08-08T04:25:29Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <minor/>
-      <comment>/* Article summary */</comment>
-      <text xml:space="preserve">{{Wikilog user manual header|article}}
-
-In order to create a new wikilog article, a new wiki page must be created as a subpage of the wikilog page.  The wikilog article title is the subpage part of the page title.  For example, a wikilog article ''&quot;The brown fox&quot;'' in the ''&quot;{{wl-info:namespace-by-index}}:General Rants&quot;'' wikilog must have the full page title ''&quot;{{wl-info:namespace-by-index}}:General Rants/The brown fox&quot;''.
-
-[[Image:Wikilog tab.png|right|frame|Wikilog tab.]]
-The user can either create the page with the title directly, or use the ''wikilog'' content action tab from the main wikilog page.  In the later case, the user should type the new article title in the ''&quot;Create new wikilog article&quot;'' box and press ''&quot;Create&quot;'' to be redirected to the edit page of the new article with the correct full title.
-
-At the edit page, the user writes the contents of the wikilog article like any other wiki page.  The article stays in &quot;draft&quot; state and won't show in listings until it is ready for publication.  While in draft state, authors must use the ''wikilog'' content action tab to access the article, or directly via its URL.
-
-== Signing and publishing ==
-
-In order for the article to show in the wikilog listing, it must be signed and published.  The article is assigned an author and a date when published.  In the most common usage, this can be achieved by simply adding four consecutive tildes (&quot;&lt;code&gt;&lt;nowiki&gt;~~~~&lt;/nowiki&gt;&lt;/code&gt;&quot;) to the article text, preferably at its end near the other metadata like categores, interwiki links, tags, etc.  This sequence of tildes are called &quot;signature&quot;, and adding it to a piece of wikitext in MediaWiki is commonly referred as &quot;to sign&quot; the text.  In wikilog context, this means &quot;to sign and publish&quot; the article.  The edit toolbar provides a button for signing that can be used to insert this sequence in the text.
-
-When the article is saved, the tilde sequence is replaced by a special markup that sets the article publication date and adds the current editor as an author.  Other sequences, from 3 to 5 consecutive tildes, are also recognized by Wikilog, with different meanings:
-
-{| class=&quot;wikitable&quot;
-|- 
-! Function !! Wiki markup !! Wikilog meaning !! Replaced by
-|-
-| Signature alone
-| '''&lt;pre&gt;~~~&lt;/pre&gt;'''
-| Add the current editor as an author of the wikilog article, without publishing the article.
-|
- '''&lt;nowiki&gt;{{wl-author:&lt;/nowiki&gt;''' ''user name'' '''&lt;nowiki&gt;}}&lt;/nowiki&gt;'''
-|-
-| Signature plus timestamp
-| '''&lt;pre&gt;~~~~&lt;/pre&gt;'''
-| Add the current editor as an author and immediately publish the article.
-|
- '''&lt;nowiki&gt;{{wl-publish:&lt;/nowiki&gt;''' ''current time'' '''|''' ''user name'' '''&lt;nowiki&gt;}}&lt;/nowiki&gt;'''
-|-
-| Timestamp alone
-| '''&lt;pre&gt;~~~~~&lt;/pre&gt;'''
-| Immediately publish the article, but don't set any new author.
-|
- '''&lt;nowiki&gt;{{wl-publish:&lt;/nowiki&gt;''' ''current time'' '''&lt;nowiki&gt;}}&lt;/nowiki&gt;'''
-|}
-
-It may be noticed that the meanings of these markups are very intuitive when compared to the [[Help:Signatures|standard signatures]].
-
-== Article summary ==
-
-&lt;div class=&quot;thumb&quot;&gt;&lt;div class=&quot;thumbinner&quot;&gt;
-[[Image:Wikilog summary auto.png|frameless|border]]
-[[Image:Wikilog summary delim.png|frameless|border]]
-[[Image:Wikilog summary manual.png|frameless|border]]
-&lt;div class=&quot;thumbcaption&quot;&gt;Examples of article summary text automatically selected by Wikilog and summary defined by the author using the &lt;code&gt;--more--&lt;/code&gt; delimiter and using the &lt;code&gt;&lt;nowiki&gt;&lt;summary&gt;&lt;/nowiki&gt;&lt;/code&gt; tag.&lt;/div&gt;
-&lt;/div&gt;&lt;/div&gt;
-
-Wikilog articles, like any wiki page, can be very long.  Wikilog pages list several articles at a time, and visitors may not be interested in reading entire articles when casually visiting the wikilog.  Instead, wikilog pages shows only article summaries.  Visitors click the article title or a &quot;continue reading...&quot; link to read the full article in its own page.
-
-Summaries are either inferred automatically by Wikilog or defined explicitly by article authors.
-
-Automatic summaries are used when no indication is explicitly provided.  The algorithm is very simple: all the text from the beginning up to the first page heading is used as a summary of the article.  In other words, the zeroth section of the page is its summary.  This usually leads to good results: short articles usually have only a single section and no headings, so the whole article is its own summary; long articles, on the other hand, are usually divided in many sections, and only the leading section is used.  But this implementation will give really bad results for a long article with no headings.  In this case, a summary should be manually defined.
-
-Manual summaries can be defined by using specific delimiters in the article text. There are two methods to define a manual summary for an article.
-
-The first method is to place the &lt;code&gt;--more--&lt;/code&gt; delimiter in a line by itself.  Everything before the delimiter is used as the article summary.  The full article includes all the text before the delimiter (the summary) and the text after the delimiter.  The delimiter itself is invisible.  Due to the nature of this method, only the beginning of the article can be used as a summary.
-
- ''summary text''
- '''--more--'''
- ''rest of article text''
-
-The second method is to surround part of the article text with the &lt;code&gt;&lt;nowiki&gt;&lt;summary&gt;...&lt;/summary&gt;&lt;/nowiki&gt;&lt;/code&gt; markup.  Only the text between these tags will be used as the summary of the article.  The summary is also normally shown as part of the article text.
-
-It is possible to define a summary that will only be used in wikilog listings, and not appear in the article page itself.  This can be useful in order to display a slightly different text in wikilog listings, perhaps with different formatting or with a thumbnail of an image of the article.  In this case, the &lt;code&gt;hidden&lt;/code&gt; parameter must be passed in the opening summary tag.  The text between the summary tags will not appear in the article page.
-
-The general syntax of the summary tag is:
-
- '''&lt;nowiki&gt;&lt;summary&lt;/nowiki&gt;''' [ hidden ]'''&gt;'''
- ''summary text''
- '''&lt;nowiki&gt;&lt;/summary&gt;&lt;/nowiki&gt;'''
-
-{{Wikilog user manual footer}}</text>
-    </revision>
-  </page>
-  <page>
-    <title>File:Wikilog.png</title>
-    <id>57</id>
-    <revision>
-      <id>258</id>
-      <timestamp>2009-09-12T04:48:34Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <text xml:space="preserve">== Summary ==
-Wikilog logo.
-
-== License ==
-* '''Author:''' [http://juliano.info/ Juliano F. Ravasi]
-* '''License:''' [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-Share Alike 3.0 Unported License]
-
-{{Wikilog user manual footer|kind=image}}
-[[Category:Wikilog manual]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>File:Wikilog CC-BY-SA 88x31.png</title>
-    <id>94</id>
-    <revision>
-      <id>248</id>
-      <timestamp>2009-09-12T04:34:37Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <text xml:space="preserve">Creative Commons Attribution-ShareAlike License icon. Provided as a file since MediaWiki can't include images in page texts from other sites without special server configuration.
-
-Original image: http://i.creativecommons.org/l/by-sa/3.0/88x31.png
-
-[[Category:Wikilog manual]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>File:Wikilog SpecialWikilog query form.png</title>
-    <id>108</id>
-    <revision>
-      <id>259</id>
-      <timestamp>2009-09-12T04:49:07Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <text xml:space="preserve">== Summary ==
-Special:Wikilog special page query form.
-
-== License ==
-* '''Author:''' [http://juliano.info/ Juliano F. Ravasi]
-* '''License:''' [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-Share Alike 3.0 Unported License]
-
-{{Wikilog user manual footer|kind=image}}
-[[Category:Wikilog manual]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>File:Wikilog summary auto.png</title>
-    <id>102</id>
-    <revision>
-      <id>313</id>
-      <timestamp>2010-08-08T04:10:28Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <comment>uploaded a new version of &quot;[[File:Wikilog summary auto.png]]&quot;</comment>
-      <text xml:space="preserve">== Summary ==
-Wikilog automatic summary example.
-
-== License ==
-* '''Author:''' [http://juliano.info/ Juliano F. Ravasi]
-* '''License:''' [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-Share Alike 3.0 Unported License]
-
-{{Wikilog user manual footer|kind=image}}
-[[Category:Wikilog manual]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>File:Wikilog summary delim.png</title>
-    <id>129</id>
-    <revision>
-      <id>312</id>
-      <timestamp>2010-08-08T04:07:58Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <comment>== Summary ==
-Wikilog manual summary example.
-
-== License ==
-* '''Author:''' [http://juliano.info/ Juliano F. Ravasi]
-* '''License:''' [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-Share Alike 3.0 Unported License]
-
-{{Wikilo</comment>
-      <text xml:space="preserve">== Summary ==
-Wikilog manual summary example.
-
-== License ==
-* '''Author:''' [http://juliano.info/ Juliano F. Ravasi]
-* '''License:''' [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-Share Alike 3.0 Unported License]
-
-{{Wikilog user manual footer|kind=image}}
-[[Category:Wikilog manual]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>File:Wikilog summary manual.png</title>
-    <id>103</id>
-    <revision>
-      <id>311</id>
-      <timestamp>2010-08-08T04:07:15Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <comment>uploaded a new version of &quot;[[File:Wikilog summary manual.png]]&quot;</comment>
-      <text xml:space="preserve">== Summary ==
-Wikilog manual summary example.
-
-== License ==
-* '''Author:''' [http://juliano.info/ Juliano F. Ravasi]
-* '''License:''' [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-Share Alike 3.0 Unported License]
-
-{{Wikilog user manual footer|kind=image}}
-[[Category:Wikilog manual]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>File:Wikilog tab.png</title>
-    <id>92</id>
-    <revision>
-      <id>262</id>
-      <timestamp>2009-09-12T04:50:20Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <text xml:space="preserve">== Summary ==
-Wikilog tab.
-
-== License ==
-* '''Author:''' [http://juliano.info/ Juliano F. Ravasi]
-* '''License:''' [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-Share Alike 3.0 Unported License]
-
-{{Wikilog user manual footer|kind=image}}
-[[Category:Wikilog manual]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>File:Wikilog template example 1.png</title>
-    <id>112</id>
-    <revision>
-      <id>263</id>
-      <timestamp>2009-09-12T04:50:36Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <text xml:space="preserve">== Summary ==
-Wikilog template example.
-
-== License ==
-* '''Author:''' [http://juliano.info/ Juliano F. Ravasi]
-* '''License:''' [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-Share Alike 3.0 Unported License]
-
-{{Wikilog user manual footer|kind=image}}
-[[Category:Wikilog manual]]</text>
-    </revision>
-  </page>
-  <page>
-    <title>File:Wikilog template example 2.png</title>
-    <id>113</id>
-    <revision>
-      <id>264</id>
-      <timestamp>2009-09-12T04:50:44Z</timestamp>
-      <contributor>
-        <username>Juliano</username>
-        <id>1</id>
-      </contributor>
-      <text xml:space="preserve">== Summary ==
-Wikilog template example.
-
-== License ==
-* '''Author:''' [http://juliano.info/ Juliano F. Ravasi]
-* '''License:''' [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-Share Alike 3.0 Unported License]
-
-{{Wikilog user manual footer|kind=image}}
-[[Category:Wikilog manual]]</text>
-    </revision>
-  </page>
-</mediawiki>
diff --git a/documentation/lorem-ipsum.txt b/documentation/lorem-ipsum.txt
deleted file mode 100644
index 5ca2182..0000000
--- a/documentation/lorem-ipsum.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-'''Lorem ipsum''' dolor sit amet, consectetur adipiscing elit.
-Duis nec diam sed velit interdum accumsan et eget metus. Etiam
-tortor nisl, molestie ac egestas nec, dignissim quis purus.
-
-Sed erat nunc, condimentum ac consectetur rutrum, blandit id mi.
-In hac habitasse platea dictumst. [[Sed risus]] lorem, suscipit
-sed pharetra sed, ultrices eu lectus. ''Nullam ut vulputate
-urna.'' Nulla facilisi.
-
-== Mauris felis ==
-
-Curabitur metus purus, suscipit ac mollis nec, volutpat non
-purus. Proin placerat fermentum justo ut molestie. Nulla eu
-nulla erat, non vehicula nulla. Proin faucibus erat nibh, eget
-dapibus enim. Maecenas semper gravida [[ligula ut cursus]]
-
-Ouisque luctus elit id purus lobortis semper. Nam tempor
-faucibus dictum. Suspendisse sallicitudin vestibulum tellus id
-hendrerit. Cras posuere tellus est.
-
-=== Nisi sed ===
-
-Sed hendrerit lacinia nisl quis interdum. Donec fermentum
-tincidunt mauris nec suscipit. Suspendisse justo sapien, iaculis
-congue viverra nec, rutrum vitae turpis. Nulla eu ligula massa.
-In hac habitasse platea dictumst. Integer at dui nunc.
-
-Nulla eu quam eu lorem suscipit fermentum ac a felis. Curabitur
-eleifend augue quis nibh porta mollis. Nam tristique tincidunt
-tincidunt.
-
-== Duis vel nulla ==
-
-Aliquam tincidunt aliquet mauris, sed aliquam risus auctor in.
diff --git a/i18n/wikilog/ab.json b/i18n/wikilog/ab.json
deleted file mode 100644
index f40cebb..0000000
--- a/i18n/wikilog/ab.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Temuri rajavi"
-		]
-	},
-	"wikilog-form-category": "Акатегориа:"
-}
diff --git a/i18n/wikilog/af.json b/i18n/wikilog/af.json
deleted file mode 100644
index 7b08bf6..0000000
--- a/i18n/wikilog/af.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Naudefj"
-		]
-	},
-	"wikilog-help": "{{ns:help}}:Wikilog",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-log-pagename": "Wikilog-aksieslogboek",
-	"wikilog-log-pagetext": "Hieronder is 'n lys van wikilog aksies:",
-	"wikilog-log-cmt-approve": "het kommentaar [[$1]] goedgekeur",
-	"wikilog-log-cmt-reject": "het kommentaar [[$1]] afgekeur",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Wikilog-aksies",
-	"wikilog-information": "Wikilog-inligting",
-	"wikilog-new-item-go": "Skep",
-	"wikilog-item-name": "Artikelnaam:",
-	"wikilog-published": "Gepubliseer",
-	"wikilog-updated": "Opgedateer",
-	"wikilog-authors": "Outeurs",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Titel",
-	"wikilog-actions": "Aksies",
-	"wikilog-comments": "Kommentaar",
-	"wikilog-replies": "Antwoorde",
-	"wikilog-view-archives": "Argiewe",
-	"wikilog-view-summary": "Samevatting",
-	"wikilog-draft-title-mark": "(werkweergawe)",
-	"wikilog-anonymous-mark": "(anoniem)",
-	"wikilog-pager-newest": "nuutste",
-	"wikilog-pager-oldest": "oudste",
-	"wikilog-pager-prev": "vorige",
-	"wikilog-pager-next": "volgende",
-	"wikilog-pager-first": "eerste",
-	"wikilog-pager-last": "laaste",
-	"wikilog-pager-empty": "(geen items)",
-	"wikilog-no-comments": "geen kommentaar",
-	"wikilog-has-comments": "{{PLURAL:$1|een opmerking|$1 opmerkings}}",
-	"wikilog-summary-footer": "Geplaas deur $7 op [[$1|$2]] op $8 om $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Geplaas deur $7 op $8 om $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Ongekategoriseer",
-	"wikilog-summary-categories": "Geliasseer onder $2",
-	"wikilog-summary-more": "[[$3|→ lees verder...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|kontak]])",
-	"wikilog-comment-permalink": "$1 om $2",
-	"wikilog-comment-note-item": "geplaas op $1",
-	"wikilog-comment-note-edited": "laaste wysiging op $1 om $2",
-	"wikilog-comment-anonsig": "$3 (anoniem)",
-	"wikilog-comment-deleted": "Hierdie kommentaar is verwyder.",
-	"wikilog-comment-edit": "Wysig die kommentaar",
-	"wikilog-comment-delete": "Skrap hierdie kommentaar",
-	"wikilog-comment-history": "Wys kommentaar se geskiedenis",
-	"wikilog-comment-approve": "Keur kommentaar goed (onmiddellike aksie)",
-	"wikilog-comment-reject": "Verwerp kommentaar (onmiddellike aksie)",
-	"wikilog-title-comments": "Kommentaar - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Wikilog-fout",
-	"wikilog-invalid-param": "Ongeldige parameter: $1.",
-	"wikilog-invalid-author": "Ongeldige outeur: $1.",
-	"wikilog-invalid-date": "Ongeldige datum: $1.",
-	"wikilog-invalid-tag": "Ongeldige etiket: $1.",
-	"wikilog-invalid-file": "Ongeldige lêer: $1.",
-	"wikilog-file-not-found": "Nie-bestaande lêer: $1.",
-	"wikilog-not-an-image": "Die lêer is nie 'n beeld nie: $1.",
-	"wikilog-post-comment": "Pos 'n nuwe kommentaar",
-	"wikilog-post-reply": "Pos 'n nuwe antwoord",
-	"wikilog-form-legend": "Soek vir wikilog-artikels",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Kategorie:",
-	"wikilog-form-name": "Naam:",
-	"wikilog-form-author": "Outeur:",
-	"wikilog-form-tag": "Etiket:",
-	"wikilog-form-date": "Datum:",
-	"wikilog-form-status": "Status:",
-	"wikilog-form-preview": "Voorskou:",
-	"wikilog-form-comment": "Opmerking:",
-	"wikilog-show-all": "Alle boodskappe",
-	"wikilog-show-published": "Gepubliseer",
-	"wikilog-show-drafts": "Werkweergawes",
-	"wikilog-submit": "Dien in",
-	"wikilog-preview": "Voorskou",
-	"wikilog-edit-lc": "wysig",
-	"wikilog-reply-lc": "antwoord",
-	"wikilog-delete-lc": "skrap",
-	"wikilog-approve-lc": "keur goed",
-	"wikilog-reject-lc": "verwerp",
-	"wikilog-page-lc": "bladsy",
-	"wikilog-history-lc": "geskiedenis"
-}
diff --git a/i18n/wikilog/aln.json b/i18n/wikilog/aln.json
deleted file mode 100644
index 939c526..0000000
--- a/i18n/wikilog/aln.json
+++ /dev/null
@@ -1,124 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Mdupont"
-		]
-	},
-	"wikilog-desc": "Shton funksione Blogging, duke krijuar një hibrid wiki-blog",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Komentet Mesazhe të wikilog artikuj",
-	"right-wl-moderation": "Moderim i wikilog komente neni",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-log-pagename": "veprimet Wikilog log",
-	"wikilog-log-pagetext": "Më poshtë është një listë e wikilog veprime.",
-	"wikilog-log-cmt-approve": "Komenti i miratuar \"[[$1]]\"",
-	"wikilog-log-cmt-reject": "refuzuar \"Komenti [[$1]]\"",
-	"wikilog-log-cmt-rejdel": "Kundërshtoi koment wikilog nga [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "veprimet Wikilog",
-	"wikilog-missing-wikilog": "Kjo është [[{{int:wikilog-help}}|wikilog faqe]] për [[{{FULLPAGENAME}}]]. Kjo wikilog nuk ekziston ende. Në mënyrë që të botojë artikuj dhe për të mundësuar wikilog karakteristika të tjera, ajo ka të krijohet parë. * <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Krijo këtë] wikilog.</span>",
-	"wikilog-information": "informacion Wikilog",
-	"wikilog-post-count-published": "Ka  {{PLURAL:$1|është një nga|botuar artikull janë $1 botuar artikuj}} në këtë wikilog",
-	"wikilog-post-count-drafts": "Ka  {{PLURAL:$1|është një i pabotuar (projekt)|neni janë $1 pabotuar (projekt) artikuj}}",
-	"wikilog-post-count-all": "Në total ka {{PLURAL:$1|është një nga|neni janë $1 artikuj}}.",
-	"wikilog-new-item": "neni wikilog Krijo të ri",
-	"wikilog-new-item-go": "Krijo",
-	"wikilog-item-name": "Emri i artikullit:",
-	"wikilog-published": "Publikuar",
-	"wikilog-updated": "Përditësuar",
-	"wikilog-draft": "Projekt",
-	"wikilog-authors": "Autorët",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Titull",
-	"wikilog-actions": "Veprimet",
-	"wikilog-comments": "Komente",
-	"wikilog-replies": "Përgjigje",
-	"wikilog-view-archives": "Arkiv",
-	"wikilog-view-summary": "Përmbledhje",
-	"wikilog-draft-title-mark": "(Projekt)",
-	"wikilog-anonymous-mark": "(Anonim)",
-	"wikilog-pager-newest": "ri",
-	"wikilog-pager-oldest": "vjetër",
-	"wikilog-pager-prev": "i mëparshëm",
-	"wikilog-pager-next": "tjetër",
-	"wikilog-pager-first": "i parë",
-	"wikilog-pager-last": "fundit",
-	"wikilog-pager-empty": "(Nuk ka artikuj)",
-	"wikilog-no-comments": "nuk ka komente",
-	"wikilog-has-comments": "{{PLURAL:$1|një koment|Komentet $1}}",
-	"wikilog-summary-footer": "Dërguar nga $7 të [[$1|$2]] më $8 në $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Dërguar nga $7 më $8 në $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Uncategorized",
-	"wikilog-summary-categories": "Paraqitur sipas $2",
-	"wikilog-summary-more": "[[$3|→ vazhdojë leximin ...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|flisni]])",
-	"wikilog-edit-fieldset-legend": "opsione Wikilog:",
-	"wikilog-edit-signpub": "Regjistrohu dhe publikimi i këtij neni",
-	"wikilog-edit-signpub-tooltip": "Shkakton këtë artikull që do të nënshkruhet dhe publikohet në wikilog e saj kur shpëtoi. Çshenjojeni këtë kuti për të mbajtur artikull si një projekt.",
-	"wikilog-comment-permalink": "$1 tek $2",
-	"wikilog-comment-note-item": "postuar tek $1",
-	"wikilog-comment-note-edited": "e fundit redaktuar $1 tek $2",
-	"wikilog-comment-anonsig": "$3 (anonim)",
-	"wikilog-comment-pending": "Ky koment është në pritje të miratimit.",
-	"wikilog-comment-deleted": "Ky koment u fshi.",
-	"wikilog-comment-omitted-x": "Koment lënë jashtë (#$1).",
-	"wikilog-comment-autosumm": "koment i ri nga $1: $2",
-	"wikilog-reply-to-comment": "Posto një përgjigje për këtë koment",
-	"wikilog-comment-page": "Shko tek faqja këtë koment's",
-	"wikilog-comment-edit": "Ndryshoni këtë koment",
-	"wikilog-comment-delete": "Fshije këtë koment",
-	"wikilog-comment-history": "Shihni historik koment",
-	"wikilog-comment-approve": "Miratojë këtë koment (veprim të menjëhershëm)",
-	"wikilog-comment-reject": "Kundërshtojnë këtë koment (veprim të menjëhershëm)",
-	"wikilog-newtalk-summary": "krijuar automatikisht nga Wikilog",
-	"wikilog-feed-description": "Lexo postimet më të fundit në këtë ushqim.",
-	"wikilog-comment-feed-title1": "Koment nga $2 (#$1)",
-	"wikilog-comment-feed-title2": "Koment nga $2 në $3 (#$1)",
-	"wikilog-comment-feed-description": "Lexo komentet më të fundit në këtë ushqim.",
-	"wikilog-title-comments": "Komente - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "gabim Wikilog",
-	"wikilog-invalid-param": "parametër i pavlefshëm: $1.",
-	"wikilog-invalid-author": "autor i pavlefshëm: $1.",
-	"wikilog-invalid-date": "Data e pavlefshme: $1.",
-	"wikilog-invalid-tag": "tag pavlefshme: $1.",
-	"wikilog-invalid-file": "Pavlefshme file: $1.",
-	"wikilog-file-not-found": "Jo-ekzistuese file: $1.",
-	"wikilog-not-an-image": "File nuk është një imazh: $1.",
-	"wikilog-out-of-context": "Warning: tags Wikilog janë duke u përdorur jashtë kontekstit. Ato duhet të përdoret vetëm në shkrimet në hapësirën Wikilog.",
-	"wikilog-too-many-authors": "Warning: Shumë autorë shumë të shënuara në këtë post wikilog.",
-	"wikilog-too-many-tags": "Warning: Shumë tags shumë të shënuara në këtë post wikilog.",
-	"wikilog-comment-is-empty": "koment Posted është bosh.",
-	"wikilog-comment-too-long": "koment Posted është shumë i gjatë.",
-	"wikilog-comment-invalid-name": "emri kusht është i pavlefshëm.",
-	"wikilog-no-such-article": "Artikulli i kërkuar wikilog nuk ekziston.",
-	"wikilog-reading-draft": "Ky artikull wikilog është një projekt, ai nuk ishte botuar ende.",
-	"wikilog-posting-anonymously": "Ju tani jeni duke not logged in, komenti juaj do të postohet në mënyrë anonime, të identifikuara nga lidhja adresën e internetit tuaj. Ju duhet ose të sigurojë një pseudonim më lart për të identifikuar komentin tuaj ose $1 për atë që do të atribuohen si duhet.",
-	"wikilog-anonymous-moderated": "Pasi ju paraqisni komentin tuaj, ajo nuk do të jetë menjëherë e dukshme në këtë faqe. Koment do të shfaqet vetëm pasi të jetë shqyrtuar nga një moderator.",
-	"wikilog-post-comment": "Shkruaj një koment të ri",
-	"wikilog-post-reply": "Posto një përgjigje të re",
-	"wikilog-form-legend": "Kërko për wikilog posts",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Kategoria:",
-	"wikilog-form-name": "Emri:",
-	"wikilog-form-author": "Author:",
-	"wikilog-form-tag": "Tag:",
-	"wikilog-form-date": "Data:",
-	"wikilog-form-status": "Statusi:",
-	"wikilog-form-preview": "Preview:",
-	"wikilog-form-comment": "Koment:",
-	"wikilog-show-all": "Të gjitha mesazhet",
-	"wikilog-show-published": "Publikuar",
-	"wikilog-show-drafts": "Skicat",
-	"wikilog-submit": "Submit",
-	"wikilog-preview": "Preview",
-	"wikilog-edit-lc": "redaktoj",
-	"wikilog-reply-lc": "përgjigje",
-	"wikilog-delete-lc": "fshij",
-	"wikilog-approve-lc": "miratoj",
-	"wikilog-reject-lc": "refuzoj",
-	"wikilog-page-lc": "faqe",
-	"wikilog-history-lc": "histori",
-	"wikilog-doc-import-comment": "Dokumentacionin e importuara Wikilog"
-}
diff --git a/i18n/wikilog/an.json b/i18n/wikilog/an.json
deleted file mode 100644
index 87fd259..0000000
--- a/i18n/wikilog/an.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Juanpabl"
-		]
-	},
-	"wikilog-new-item-go": "Creyar",
-	"wikilog-actions": "Accions",
-	"wikilog-form-date": "Calendata:",
-	"wikilog-form-preview": "Previsualización:",
-	"wikilog-submit": "Ninviar",
-	"wikilog-preview": "Previsualizar",
-	"wikilog-edit-lc": "editar",
-	"wikilog-page-lc": "pachina",
-	"wikilog-history-lc": "historial"
-}
diff --git a/i18n/wikilog/ar.json b/i18n/wikilog/ar.json
deleted file mode 100644
index b968614..0000000
--- a/i18n/wikilog/ar.json
+++ /dev/null
@@ -1,120 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Meno25",
-			"OsamaK",
-			"روخو",
-			"زكريا"
-		]
-	},
-	"wikilog-desc": "يضيف خصائص تدوين، منشئا تهجين ويكي-مدونة",
-	"wikilog-auto": "سجل الويكي آلي",
-	"wikilog-help": "{{ns:Help}}:سجل الويكي",
-	"right-wl-postcomment": "كتابة تعليقات على مقالات سجل الويكي",
-	"right-wl-moderation": "مراجعة تعليقات مقالات سجل الويكي",
-	"wikilog-specialwikilog-title": "سجلات الويكي",
-	"wikilog-log-pagename": "سجل أفعال سجل الويكي",
-	"wikilog-log-pagetext": "بالأسفل قائمة بأفعال سجل الويكي.",
-	"wikilog-log-cmt-approve": "وافق على التعليق \"[[$1]]\"",
-	"wikilog-log-cmt-reject": "رفض التعليق \"[[$1]]\"",
-	"wikilog-log-cmt-rejdel": "تعليقات سجل الويكي المرفوضة من [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "سجل الويكي",
-	"wikilog-tab-title": "أفعال سجل الويكي",
-	"wikilog-missing-wikilog": "هذه هي صفحة [[{{int:wikilog-help}}|سجل الويكي]] ل[[{{FULLPAGENAME}}]].\n\nسجل الويكي هذا لا يوجد حاليا.\nحتى تنشر المقالات وتفعل خصائص سجل الويكي الأخرى، يجب أن يتم إنشاؤه أولا.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} أنشئ سجل الويكي هذا].</span>",
-	"wikilog-information": "معلومات سجل الويكي",
-	"wikilog-post-count-published": "هناك {{PLURAL:$1|مقالة واحدة منشورة|$1 مقالة منشورة}} في سجل الويكي هذا",
-	"wikilog-post-count-drafts": "هناك {{PLURAL:$1|مقالة واحدة غير منشورة (مسودة)|$1 مقالة غير منشورة (مسودة)}}",
-	"wikilog-post-count-all": "إجمالا هناك {{PLURAL:$1|مقالة واحدة|$1 مقالة}}.",
-	"wikilog-new-item": "إنشاء مقالة سجل ويكي جديدة",
-	"wikilog-new-item-go": "إنشاء",
-	"wikilog-item-name": "اسم المقالة:",
-	"wikilog-published": "منشور",
-	"wikilog-updated": "محدث",
-	"wikilog-draft": "مسودة",
-	"wikilog-authors": "مؤلفون",
-	"wikilog-wikilog": "سجل الويكي",
-	"wikilog-title": "عنوان",
-	"wikilog-actions": "أفعال",
-	"wikilog-comments": "تعليقات",
-	"wikilog-replies": "ردود",
-	"wikilog-view-archives": "أرشيفات",
-	"wikilog-view-summary": "ملخص",
-	"wikilog-draft-title-mark": "(مسودة)",
-	"wikilog-anonymous-mark": "(مجهول)",
-	"wikilog-pager-newest": "الأحدث",
-	"wikilog-pager-oldest": "الأقدم",
-	"wikilog-pager-prev": "سابق",
-	"wikilog-pager-next": "تالي",
-	"wikilog-pager-first": "أول",
-	"wikilog-pager-last": "آخر",
-	"wikilog-pager-empty": "(لا مدخلات)",
-	"wikilog-no-comments": "لا تعليقات",
-	"wikilog-has-comments": "{{PLURAL:$1|تعليق واحد|$1 تعليق}}",
-	"wikilog-summary-footer": "أرسل بواسطة $7 إلى [[$1|$2]] في $8 الساعة $9 ($15), $10.",
-	"wikilog-summary-footer-single": "أرسل بواسطة $7 في $8 الساعة $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "غير مصنف",
-	"wikilog-summary-categories": "مصنف تحت $2",
-	"wikilog-summary-more": "[[$3|→ استكمال القراءة...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|نقاش]])",
-	"wikilog-edit-fieldset-legend": "خيارات سجل الويكي:",
-	"wikilog-edit-signpub": "وقع وانشر هذه المقالة",
-	"wikilog-edit-signpub-tooltip": "يسبب هذه المقالة أن يتم توقيعها ونشرها في سجلها للويكي عند حفظها.\nلا تعلم على هذا الصندوق لإبقاء المقالة كمسودة.",
-	"wikilog-comment-anonsig": "$3 (مجهول)",
-	"wikilog-comment-pending": "هذا التعليق بانتظار الموافقة.",
-	"wikilog-comment-deleted": "هذا التعليق تم حذفه.",
-	"wikilog-comment-autosumm": "تعليق جديد بواسطة $1: $2",
-	"wikilog-reply-to-comment": "اكتب ردا لهذا التعليق",
-	"wikilog-comment-page": "اذهب إلى صفحة هذا التعليق",
-	"wikilog-comment-edit": "عدل هذا التعليق",
-	"wikilog-comment-delete": "احذف هذا التعليق",
-	"wikilog-comment-history": "عرض تاريخ التعليق",
-	"wikilog-comment-approve": "وافق على هذا التعليق (فعل لحظي)",
-	"wikilog-comment-reject": "ارفض هذا التعليق (فعل لحظي)",
-	"wikilog-newtalk-summary": "تم إنشاؤه تلقائيا بواسطة سجل الويكي",
-	"wikilog-feed-description": "اقرأ أحدث الكتابات في هذا التلقيم.",
-	"wikilog-title-comments": "تعليقات - $1",
-	"wikilog-error-msg": "سجل الويكي: $1",
-	"wikilog-error-title": "خطأ سجل الويكي",
-	"wikilog-invalid-param": "محدد غير صحيح: $1.",
-	"wikilog-invalid-author": "مؤلف غير صحيح: $1.",
-	"wikilog-invalid-date": "تاريخ غير صحيح: $1.",
-	"wikilog-invalid-tag": "وسم غير صحيح: $1.",
-	"wikilog-invalid-file": "ملف غير صحيح: $1.",
-	"wikilog-file-not-found": "ملف غير موجود: $1.",
-	"wikilog-not-an-image": "الملف ليس صورة: $1.",
-	"wikilog-out-of-context": "تحذير: وسوم سجل الويكي يتم استخدامها خخارج المحتوى.\nيجب أن يتم استخدامها فقط في المقالات في نطاق سجل الويكي.",
-	"wikilog-too-many-authors": "تحذير: عدد كبير من المؤلفين معروضين في تعليق سجل الويكي هذا.",
-	"wikilog-too-many-tags": "تحذير: عدد كبير من الوسوم معروضة في تعليق سجل الويكي هذا.",
-	"wikilog-comment-is-empty": "التعليق المكتوب فارغ.",
-	"wikilog-comment-too-long": "التعليق المكتوب طويل جدا.",
-	"wikilog-comment-invalid-name": "الاسم الموفر غير صحيح.",
-	"wikilog-no-such-article": "مقالة سجل الويكي المطلوبة غير موجودة.",
-	"wikilog-reading-draft": "مقالة سجل الويكي هذه مسودة، لم يتم نشرها بعد.",
-	"wikilog-posting-anonymously": "أنت حاليا لست مسجل الدخول؛\nتعليقك سيتم تسجيله كمجهول، معرف بواسطة عنوان اتصالك بالإنترنت.\nينبغي إما أن توفر اسما مستعارا بالاعلى لتعريف تعليقك أو $1 له ليتم عزوه بشكل صحيح",
-	"wikilog-anonymous-moderated": "بعد كتابة تعليقك، لن يكون ظاهرا فورا على هذه الصفحة.\nالتعليق سيظهر فقط بعد مراجعته بواسطة إداري.",
-	"wikilog-post-comment": "أرسل ردا جديدا",
-	"wikilog-post-reply": "أرسل ردا جديدا",
-	"wikilog-form-legend": "بحث عن تعليقات سجل الويكي",
-	"wikilog-form-wikilog": "سجل الويكي:",
-	"wikilog-form-category": "التصنيف:",
-	"wikilog-form-name": "الاسم:",
-	"wikilog-form-author": "المؤلف:",
-	"wikilog-form-tag": "الوسم:",
-	"wikilog-form-date": "التاريخ:",
-	"wikilog-form-status": "الحالة:",
-	"wikilog-form-preview": "عرض مسبق:",
-	"wikilog-form-comment": "التعليق:",
-	"wikilog-show-all": "كل التعليقات",
-	"wikilog-show-published": "منشور",
-	"wikilog-show-drafts": "مسودات",
-	"wikilog-submit": "إرسال",
-	"wikilog-preview": "عرض مسبق",
-	"wikilog-edit-lc": "عدل",
-	"wikilog-reply-lc": "رد",
-	"wikilog-delete-lc": "حذف",
-	"wikilog-approve-lc": "موافقة",
-	"wikilog-reject-lc": "رفض",
-	"wikilog-page-lc": "صفحة",
-	"wikilog-history-lc": "تاريخ",
-	"wikilog-doc-import-comment": "استورد توثيق سجل الويكي"
-}
diff --git a/i18n/wikilog/arc.json b/i18n/wikilog/arc.json
deleted file mode 100644
index 28d9116..0000000
--- a/i18n/wikilog/arc.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Basharh"
-		]
-	},
-	"wikilog-pager-newest": "ܚܕܬ ܡܢ ܟܠ",
-	"wikilog-pager-oldest": "ܩܕܝܡ ܡܢ ܟܠ",
-	"wikilog-pager-prev": "ܕܩܕܡ",
-	"wikilog-pager-next": "ܕܒܬܪ",
-	"wikilog-pager-first": "ܩܕܡܝܐ",
-	"wikilog-pager-last": "ܐܚܪܝܐ",
-	"wikilog-form-author": "ܣܝܘܡܐ"
-}
diff --git a/i18n/wikilog/arz.json b/i18n/wikilog/arz.json
deleted file mode 100644
index c853901..0000000
--- a/i18n/wikilog/arz.json
+++ /dev/null
@@ -1,116 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Meno25"
-		]
-	},
-	"wikilog-desc": "يضيف خصائص تدوين، منشئا تهجين ويكي-مدونة",
-	"wikilog-auto": "سجل الويكى آلي",
-	"wikilog-help": "{{ns:Help}}:سجل الويكي",
-	"right-wl-postcomment": "كتابه تعليقات على مقالات سجل الويكي",
-	"right-wl-moderation": "مراجعه تعليقات مقالات سجل الويكي",
-	"wikilog-specialwikilog-title": "سجلات الويكي",
-	"wikilog-log-pagename": "سجل أفعال سجل الويكي",
-	"wikilog-log-pagetext": "بالأسفل قائمه بأفعال سجل الويكى.",
-	"wikilog-log-cmt-approve": "وافق على التعليق \"[[$1]]\"",
-	"wikilog-log-cmt-reject": "رفض التعليق \"[[$1]]\"",
-	"wikilog-log-cmt-rejdel": "تعليقات سجل الويكى المرفوضه من [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "سجل الويكي",
-	"wikilog-tab-title": "أفعال سجل الويكي",
-	"wikilog-missing-wikilog": "هذه هى صفحه [[{{int:wikilog-help}}|سجل الويكي]] ل[[{{FULLPAGENAME}}]].\n\nسجل الويكى هذا لا يوجد حاليا.\nحتى تنشر المقالات وتفعل خصائص سجل الويكى الأخرى، يجب أن يتم إنشاؤه أولا.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} أنشئ سجل الويكى هذا].</span>",
-	"wikilog-information": "معلومات سجل الويكي",
-	"wikilog-post-count-published": "هناك {{PLURAL:$1|مقاله واحده منشورة|$1 مقاله منشورة}} فى سجل الويكى هذا",
-	"wikilog-post-count-drafts": "هناك {{PLURAL:$1|مقاله واحده غير منشوره (مسودة)|$1 مقاله غير منشوره (مسودة)}}",
-	"wikilog-post-count-all": "إجمالا هناك {{PLURAL:$1|مقاله واحدة|$1 مقالة}}.",
-	"wikilog-new-item": "إنشاء مقاله سجل ويكى جديدة",
-	"wikilog-new-item-go": "إنشاء",
-	"wikilog-item-name": "اسم المقالة:",
-	"wikilog-published": "منشور",
-	"wikilog-updated": "محدث",
-	"wikilog-draft": "مسودة",
-	"wikilog-authors": "مؤلفون",
-	"wikilog-wikilog": "سجل الويكي",
-	"wikilog-title": "عنوان",
-	"wikilog-actions": "أفعال",
-	"wikilog-comments": "تعليقات",
-	"wikilog-replies": "ردود",
-	"wikilog-view-archives": "أرشيفات",
-	"wikilog-view-summary": "ملخص",
-	"wikilog-draft-title-mark": "(مسودة)",
-	"wikilog-anonymous-mark": "(مجهول)",
-	"wikilog-pager-newest": "أجدد",
-	"wikilog-pager-oldest": "أقدم",
-	"wikilog-pager-prev": "سابق",
-	"wikilog-pager-next": "تالى",
-	"wikilog-pager-first": "أول",
-	"wikilog-pager-last": "آخر",
-	"wikilog-pager-empty": "(لا مدخلات)",
-	"wikilog-no-comments": "لا تعليقات",
-	"wikilog-has-comments": "{{PLURAL:$1|تعليق واحد|$1 تعليق}}",
-	"wikilog-summary-footer": "أرسل بواسطه $7 إلى [[$1|$2]] فى $8 الساعه $9 ($15), $10.",
-	"wikilog-summary-footer-single": "أرسل بواسطه $7 فى $8 الساعه $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "غير مصنف",
-	"wikilog-summary-categories": "مصنف تحت $2",
-	"wikilog-summary-more": "[[$3|→ استكمال القراءه...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|نقاش]])",
-	"wikilog-edit-fieldset-legend": "خيارات سجل الويكي:",
-	"wikilog-edit-signpub": "وقع وانشر هذه المقالة",
-	"wikilog-edit-signpub-tooltip": "يسبب هذه المقاله أن يتم توقيعها ونشرها فى سجلها للويكى عند حفظها.\nلا تعلم على هذا الصندوق لإبقاء المقاله كمسوده.",
-	"wikilog-comment-pending": "هذا التعليق بانتظار الموافقه.",
-	"wikilog-comment-deleted": "هذا التعليق تم حذفه.",
-	"wikilog-comment-autosumm": "تعليق جديد بواسطه $1: $2",
-	"wikilog-reply-to-comment": "اكتب ردا لهذا التعليق",
-	"wikilog-comment-page": "اذهب إلى صفحه هذا التعليق",
-	"wikilog-comment-edit": "عدل هذا التعليق",
-	"wikilog-comment-delete": "احذف هذا التعليق",
-	"wikilog-comment-history": "عرض تاريخ التعليق",
-	"wikilog-comment-approve": "وافق على هذا التعليق (فعل لحظي)",
-	"wikilog-comment-reject": "ارفض هذا التعليق (فعل لحظي)",
-	"wikilog-newtalk-summary": "تم إنشاؤه تلقائيا بواسطه سجل الويكي",
-	"wikilog-feed-description": "اقرأ أحدث الكتابات فى هذا التلقيم.",
-	"wikilog-title-comments": "تعليقات - $1",
-	"wikilog-error-msg": "سجل الويكي: $1",
-	"wikilog-error-title": "خطأ سجل الويكي",
-	"wikilog-invalid-param": "محدد غير صحيح: $1.",
-	"wikilog-invalid-author": "مؤلف غير صحيح: $1.",
-	"wikilog-invalid-date": "تاريخ غير صحيح: $1.",
-	"wikilog-invalid-tag": "وسم غير صحيح: $1.",
-	"wikilog-invalid-file": "ملف غير صحيح: $1.",
-	"wikilog-file-not-found": "ملف غير موجود: $1.",
-	"wikilog-not-an-image": "الملف ليس صورة: $1.",
-	"wikilog-out-of-context": "تحذير: وسوم سجل الويكى يتم استخدامها خخارج المحتوى.\nيجب أن يتم استخدامها فقط فى المقالات فى نطاق سجل الويكى.",
-	"wikilog-too-many-authors": "تحذير: عدد كبير من المؤلفين معروضين فى تعليق سجل الويكى هذا.",
-	"wikilog-too-many-tags": "تحذير: عدد كبير من الوسوم معروضه فى تعليق سجل الويكى هذا.",
-	"wikilog-comment-is-empty": "التعليق المكتوب فارغ.",
-	"wikilog-comment-too-long": "التعليق المكتوب طويل جدا.",
-	"wikilog-comment-invalid-name": "الاسم الموفر غير صحيح.",
-	"wikilog-no-such-article": "مقاله سجل الويكى المطلوبه غير موجوده.",
-	"wikilog-reading-draft": "مقاله سجل الويكى هذه مسوده، لم يتم نشرها بعد.",
-	"wikilog-posting-anonymously": "أنت حاليا لست مسجل الدخول؛\nتعليقك سيتم تسجيله كمجهول، معرف بواسطه عنوان اتصالك بالإنترنت.\nينبغى إما أن توفر اسما مستعارا بالاعلى لتعريف تعليقك أو $1 له ليتم عزوه بشكل صحيح",
-	"wikilog-anonymous-moderated": "بعد كتابه تعليقك، لن يكون ظاهرا فورا على هذه الصفحه.\nالتعليق سيظهر فقط بعد مراجعته بواسطه إدارى.",
-	"wikilog-post-comment": "أرسل ردا جديدا",
-	"wikilog-post-reply": "أرسل ردا جديدا",
-	"wikilog-form-legend": "بحث عن تعليقات سجل الويكي",
-	"wikilog-form-wikilog": "سجل الويكي:",
-	"wikilog-form-category": "التصنيف:",
-	"wikilog-form-name": "الاسم:",
-	"wikilog-form-author": "المؤلف:",
-	"wikilog-form-tag": "الوسم:",
-	"wikilog-form-date": "التاريخ:",
-	"wikilog-form-status": "الحالة:",
-	"wikilog-form-preview": "المعاينة:",
-	"wikilog-form-comment": "التعليق:",
-	"wikilog-show-all": "كل التعليقات",
-	"wikilog-show-published": "منشور",
-	"wikilog-show-drafts": "مسودات",
-	"wikilog-submit": "تنفيذ",
-	"wikilog-preview": "معاينة",
-	"wikilog-edit-lc": "عدل",
-	"wikilog-reply-lc": "رد",
-	"wikilog-delete-lc": "احذف",
-	"wikilog-approve-lc": "موافقة",
-	"wikilog-reject-lc": "رفض",
-	"wikilog-page-lc": "صفحة",
-	"wikilog-history-lc": "تاريخ",
-	"wikilog-doc-import-comment": "استورد توثيق سجل الويكي"
-}
diff --git a/i18n/wikilog/az.json b/i18n/wikilog/az.json
deleted file mode 100644
index 9920318..0000000
--- a/i18n/wikilog/az.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"AZISS",
-			"Cekli829"
-		]
-	},
-	"wikilog-pager-next": "növbəti",
-	"wikilog-pager-first": "birinci",
-	"wikilog-pager-last": "sonuncu",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|müzakirə]])",
-	"wikilog-title-comments": "Şərhlər - $1",
-	"wikilog-form-category": "Kateqoriya:",
-	"wikilog-form-name": "Ad:",
-	"wikilog-form-author": "Müəllif:",
-	"wikilog-form-date": "Tarix:",
-	"wikilog-form-status": "Status:",
-	"wikilog-form-comment": "Şərh:",
-	"wikilog-show-all": "Bütün postlar",
-	"wikilog-submit": "Təsdiq et",
-	"wikilog-preview": "Sınaq görüntüsü",
-	"wikilog-edit-lc": "redaktə",
-	"wikilog-reply-lc": "yenidən",
-	"wikilog-delete-lc": "sil",
-	"wikilog-page-lc": "səhifə",
-	"wikilog-history-lc": "tarix"
-}
diff --git a/i18n/wikilog/azb.json b/i18n/wikilog/azb.json
deleted file mode 100644
index e54ef52..0000000
--- a/i18n/wikilog/azb.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Mousa"
-		]
-	},
-	"wikilog-desc": "بلوق اؤزل‌لیکلریم آرتیرار و بیر ویکی-بلوق هیبریدی یارادار",
-	"wikilog-auto": "ویکی‌لاق اوتو",
-	"wikilog-help": "{{ns:Help}}:ویکی‌لاق",
-	"right-wl-postcomment": "ویکی‌لاق مقاله‌لرینه نظر یول‌لا",
-	"right-wl-moderation": "ویکی‌لاق مقاله نظرلرینین ایداره‌سی",
-	"wikilog-specialwikilog-title": "ویکی‌لاق‌لار",
-	"wikilog-log-pagename": "ویکی‌لاق ایشلری قئیدلری",
-	"wikilog-log-pagetext": "آشاغیدا ویکی‌لاق ایشلرینین لیستی واردیر.",
-	"wikilog-log-cmt-approve": "تأیید اولونموش نظر «[[$1]]»",
-	"wikilog-log-cmt-reject": "رد اولونموش نظر «[[$1]]»",
-	"wikilog-log-cmt-rejdel": "[[Special:Contributions/$1|$1]]-دن رد اولونموش ویکی‌لاق نظری",
-	"wikilog-tab": "ویکی‌لاق",
-	"wikilog-tab-title": "ویکی‌لاق ایشلری",
-	"wikilog-missing-wikilog": "بورا [[{{FULLPAGENAME}}]] اوچون [[{{int:wikilog-help}}|ویکی‌لاق]] صحیفه‌سی‌دیر.\n\nبو ویکی‌لاق هله‌لیک یوخدور.\nمقاله یایماق و آیری اؤزل‌لیکلری آچماق اوچون، او گرک یارادیلا.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} بو ویکی‌لاقی یارات].</span>",
-	"wikilog-information": "ویکی‌لاق بیلگیلری",
-	"wikilog-post-count-published": "بو ویکی‌لاق‌دا {{PLURAL:$1|بیر|$1}} یایینلانمیش مقاله واردیر",
-	"wikilog-post-count-drafts": "{{PLURAL:$1|بیر|$1}} یاییلمامیش (قارالاما) مقاله واردیر",
-	"wikilog-post-count-all": "توپلام‌دا {{PLURAL:$1|بیر|$1}} مقاله واردیر.",
-	"wikilog-new-item": "یئنی ویکی‌لاق مقاله یارادیلیر",
-	"wikilog-new-item-go": "یارات",
-	"wikilog-item-name": "مقاله آدی:",
-	"wikilog-published": "یایینلانیب",
-	"wikilog-updated": "گونجل‌لنیب",
-	"wikilog-draft": "قارالاما",
-	"wikilog-authors": "یازارلار",
-	"wikilog-wikilog": "ویکی‌لاق",
-	"wikilog-title": "باشلیق",
-	"wikilog-actions": "ایشلر",
-	"wikilog-comments": "نظرلر",
-	"wikilog-replies": "جاوابلار",
-	"wikilog-view-archives": "آرشیولر",
-	"wikilog-view-summary": "قیساسی",
-	"wikilog-draft-title-mark": "(قارالاما)",
-	"wikilog-anonymous-mark": "(تانیلمایان)",
-	"wikilog-pager-newest": "ان یئنی",
-	"wikilog-pager-oldest": "ان اسکی",
-	"wikilog-pager-prev": "قاباقکی",
-	"wikilog-pager-next": "سونراکی",
-	"wikilog-pager-first": "ایلک",
-	"wikilog-pager-last": "سون",
-	"wikilog-pager-empty": "(هئچ بیر شئی)",
-	"wikilog-no-comments": "نظر یوخدور",
-	"wikilog-has-comments": "{{PLURAL:$1|بیر|$1}} نظر",
-	"wikilog-summary-footer": "$7 ایله [[$1|$2]]-ه $8 $9-ده ($15) گؤندریلیب‌دیر، $10.",
-	"wikilog-summary-footer-single": "$7 ایله $8 $9-ده ($15) گؤندریلیب‌دیر، $10.",
-	"wikilog-summary-uncategorized": "بؤلمه‌لندیریلمه‌میش",
-	"wikilog-summary-categories": "$2 آلتیندا یئرلشدیریلیب‌دیر",
-	"wikilog-summary-more": "[[$3|→ اوخوماغا داوام ائدین...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|دانیشیق]])",
-	"wikilog-edit-hint": "ویکی‌لاق مقاله‌سینی دَییشدیر: $1",
-	"wikilog-edit-fieldset-legend": "ویکی‌لاق سئچمه‌لری",
-	"wikilog-edit-signpub": "بو مقاله‌نی ایمضالا و یایینلا",
-	"wikilog-edit-signpub-tooltip": "بو مقاله‌نی قئید اولاندا ایمضالانیب و یایینلانماغینا سبب اولار.\nمقاله‌نی قارالاما کیمی ساخلاماق اوچون بو قوتونون تیکینی گؤتورون.",
-	"wikilog-comment-permalink": "$1، $2 ($3)",
-	"wikilog-comment-note-item": "$1-ه گؤندریلیب‌دیر",
-	"wikilog-comment-note-edited": "سون دفعه $1، $2-ده دَییشیلیب‌دیر",
-	"wikilog-comment-anonsig": "$3 (تانیلمایان)",
-	"wikilog-comment-pending": "بو نظر، تأیید اولونماغی گؤزله‌ییر.",
-	"wikilog-comment-deleted": "بو نظر سیلینیب‌دیر.",
-	"wikilog-comment-omitted-x": "بو نظر بوراخیلیب‌دیر (#$1).",
-	"wikilog-comment-autosumm": "$1-دن یئنی نظر: $2",
-	"wikilog-reply-to-comment": "بو نظره بیر جاواب یول‌لا",
-	"wikilog-comment-page": "بو نظرین صحیفه‌سینه گئت",
-	"wikilog-comment-edit": "بو نظری دَییشدیر",
-	"wikilog-comment-delete": "بو نظری سیل",
-	"wikilog-comment-history": "بو نظرین گئچمیشینه باخین",
-	"wikilog-comment-approve": "بو نظری تأیید ائدین (آنی ایش)",
-	"wikilog-comment-reject": "بو نظری رد ائدین (آنی ایش)",
-	"wikilog-newtalk-summary": "ویکی‌لاق ایله اوتوماتیک یارانیب‌دیر",
-	"wikilog-feed-ns-title": "$1 ویکی‌لاق مقاله‌لری",
-	"wikilog-feed-description": "بو کانال‌دا ان یئنی یازیلاری اوخویون.",
-	"wikilog-comment-feed-title1": "$2-دن نظر (#$1)",
-	"wikilog-comment-feed-title2": "$2-دن $3-ه نظر (#$1)",
-	"wikilog-comment-feed-description": "بو کانال‌دا ان یئنی نظرلری اوخویون.",
-	"wikilog-title-comments": "نظرلر - $1",
-	"wikilog-error-msg": "ویکی‌لاق: $1",
-	"wikilog-error-title": "ویکی‌لاق خطاسی",
-	"wikilog-invalid-param": "گئچرسیز پارامِتر: $1.",
-	"wikilog-invalid-author": "گئچرسیز یازار: $1.",
-	"wikilog-invalid-date": "گئچرسیز تاریخ: $1.",
-	"wikilog-invalid-tag": "گئچرسیز اِتیکِت: $1.",
-	"wikilog-invalid-file": "گئچرسیز فایل: $1.",
-	"wikilog-file-not-found": "اولمایان فایل: $1.",
-	"wikilog-not-an-image": "فایل بیر عکس دئییل: $1.",
-	"wikilog-out-of-context": "دیقت: ویکی‌لاق اِتیکِتلری باغلامیندان ائشیک‌ده ایشلنیلیر.\nاونلار گرک ویکی‌لاق آدفضاسینین مقاله‌لرینده ایشلنسینلر.",
-	"wikilog-too-many-authors": "دیقت: بو ویکی‌لاق یازیسینا چوخ چوخ یازار لیست اولونوب‌دور.",
-	"wikilog-too-many-tags": "دیقت: بو ویکی‌لاق یازیسینا چوخ چوخ اِتیکِت وورولوب‌دور.",
-	"wikilog-comment-is-empty": "یول‌لانیلان نظر بوش‌دور.",
-	"wikilog-comment-too-long": "یول‌لانیلان نظر چوخ اوزون‌دور.",
-	"wikilog-comment-invalid-name": "وئریلمیش آد گئچرسیزدیر.",
-	"wikilog-no-such-article": "ایسته‌نیلمیش ویکی‌لاق مقاله‌سی یوخدور.",
-	"wikilog-reading-draft": "بو ویکی‌لاق مقاله‌سی قارالامادیر، هله‌لیک یایینلانماییب‌دیر.",
-	"wikilog-posting-anonymously": "سیز ایندی گیریش ائتمه‌میسینیز؛\nسیزین نظرینیز تانیلمایان کیمی و آی‌پی آدرسینیز ایله یول‌لانیلاجاق‌دیر.\nسیز گرک یا بیر آد ایله نظرینیزی تانیتدیراسینیز، یا دا $1 کی دوزگون بیلینسین.",
-	"wikilog-anonymous-moderated": "نظرینیزی گؤندرن‌دن سونرا، او لحظه بو صحیفه‌ده گؤستریلمیه‌جکدیر.\nبو نظر یالنیز بیر ایداره‌چی گؤزدن گئچیردن‌دن سونرا گؤرونه‌جکدیر.",
-	"wikilog-post-comment": "بیر یئنی نظر گؤندر",
-	"wikilog-post-reply": "بیر یئنی جاواب گؤندر",
-	"wikilog-form-legend": "ویکی‌لاق یازیلارینی آختار",
-	"wikilog-form-wikilog": "ویکی‌لاق:",
-	"wikilog-form-category": "بؤلمه:",
-	"wikilog-form-name": "آد:",
-	"wikilog-form-author": "یازار:",
-	"wikilog-form-tag": "اِتیکِت:",
-	"wikilog-form-date": "تاریخ:",
-	"wikilog-form-status": "وضعیت:",
-	"wikilog-form-preview": "اؤن‌گؤستریش:",
-	"wikilog-form-comment": "نظر:",
-	"wikilog-show-all": "بوتون یازیلار",
-	"wikilog-show-published": "یایینلانمیش",
-	"wikilog-show-drafts": "قارامالار",
-	"wikilog-submit": "گؤندر",
-	"wikilog-preview": "اؤن‌گؤستریش",
-	"wikilog-edit-lc": "دَییشدیر",
-	"wikilog-reply-lc": "جاواب",
-	"wikilog-delete-lc": "سیل",
-	"wikilog-approve-lc": "تأیید ائت",
-	"wikilog-reject-lc": "رد ائت",
-	"wikilog-page-lc": "صحیفه",
-	"wikilog-history-lc": "گئچمیش",
-	"wikilog-doc-import-comment": "ایچری گتیریلمیش ویکی‌لاق سندلندیرمه‌لری"
-}
diff --git a/i18n/wikilog/ba.json b/i18n/wikilog/ba.json
deleted file mode 100644
index b78e214..0000000
--- a/i18n/wikilog/ba.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Haqmar"
-		]
-	},
-	"wikilog-submit": "Ебәрергә",
-	"wikilog-preview": "Алдан байҡау",
-	"wikilog-edit-lc": "үҙгәртергә",
-	"wikilog-reply-lc": "яуапларға",
-	"wikilog-delete-lc": "юйырға",
-	"wikilog-approve-lc": "раҫларға",
-	"wikilog-reject-lc": "кире ҡағырға",
-	"wikilog-page-lc": "бит",
-	"wikilog-history-lc": "тарих"
-}
diff --git a/i18n/wikilog/be-tarask.json b/i18n/wikilog/be-tarask.json
deleted file mode 100644
index 1237fbc..0000000
--- a/i18n/wikilog/be-tarask.json
+++ /dev/null
@@ -1,129 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"EugeneZelenko",
-			"Jim-by",
-			"Wizardist",
-			"Zedlik"
-		]
-	},
-	"wikilog-desc": "Дадае магчымасьці блогаў для стварэньня гібрыду вікі-блогу",
-	"wikilog-auto": "Робат вікі-блогу",
-	"wikilog-help": "{{ns:Help}}:Вікі-блог",
-	"right-wl-postcomment": "пакідаць камэнтары ў артыкулах вікі-блогу",
-	"right-wl-moderation": "мадэрацыя камэнтараў да артыкулаў вікі-блогу",
-	"wikilog-specialwikilog-title": "Вікі-блогі",
-	"wikilog-log-pagename": "Журнал дзеяньняў вікі-блогу",
-	"wikilog-log-pagetext": "Ніжэй пададзены сьпіс дзеяньняў вікі-блогу.",
-	"wikilog-log-cmt-approve": "зацьверджаны камэнтар [[$1]]",
-	"wikilog-log-cmt-reject": "адхілены камэнтар [[$1]]",
-	"wikilog-log-cmt-rejdel": "Адхілены камэнтар вікі-блогу ад [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Вікі-блог",
-	"wikilog-tab-title": "Дзеяньні вікі-блогу",
-	"wikilog-missing-wikilog": "Гэта старонка [[{{int:wikilog-help}}|вікі-блогу]] для [[{{FULLPAGENAME}}]].\n\nГэты вікі-блог пакуль не існуе.\nКаб апублікаваць артыкул і ўключыць іншыя магчымасьці вікі-блогу, Вам неабходна спачатку яго стварыць.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Стварыць гэты вікі-блог].</span>",
-	"wikilog-information": "Інфармацыя пра вікі-блог",
-	"wikilog-post-count-published": "У гэтым вікі-блогу {{PLURAL:$1|апублікаваны $1 артыкул|апублікаваныя $1 артыкулы|апублікаваныя $1 артыкулаў}},",
-	"wikilog-post-count-drafts": "Ёсьць $1 {{PLURAL:$1|неапублікаваны чарнавік|неапублікаваныя чарнавікі|неапублікаваных чарнавікоў}}",
-	"wikilog-post-count-all": "Усяго $1 {{PLURAL:$1|артыкул|артыкулы|артыкулаў}}.",
-	"wikilog-new-item": "Стварыць новы артыкул вікі-блогу",
-	"wikilog-new-item-go": "Стварыць",
-	"wikilog-item-name": "Назва артыкула:",
-	"wikilog-published": "Апублікаваны",
-	"wikilog-updated": "Абноўлены",
-	"wikilog-draft": "Чарнавік",
-	"wikilog-authors": "Аўтары",
-	"wikilog-wikilog": "Вікі-блог",
-	"wikilog-title": "Назва",
-	"wikilog-actions": "Дзеяньні",
-	"wikilog-comments": "Камэнтары",
-	"wikilog-replies": "Адказы",
-	"wikilog-view-archives": "Архівы",
-	"wikilog-view-summary": "Апісаньне",
-	"wikilog-draft-title-mark": "(чарнавік)",
-	"wikilog-anonymous-mark": "(ананім)",
-	"wikilog-pager-newest": "найнавейшыя",
-	"wikilog-pager-oldest": "найстарэйшыя",
-	"wikilog-pager-prev": "папярэдняя",
-	"wikilog-pager-next": "наступная",
-	"wikilog-pager-first": "першая",
-	"wikilog-pager-last": "апошняя",
-	"wikilog-pager-empty": "(няма элемэнтаў)",
-	"wikilog-no-comments": "няма камэнтараў",
-	"wikilog-has-comments": "$1 {{PLURAL:$1|камэнтар|камэнтары|камэнтараў}}",
-	"wikilog-summary-footer": "Разьмешчаны $7 у [[$1|$2]] $8 $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Разьмешчаны $7 у $8 $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Без катэгорыі",
-	"wikilog-summary-categories": "Унесены ў $2",
-	"wikilog-summary-more": "[[$3|→ працягваць чытаньне…]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|гутаркі]])",
-	"wikilog-edit-hint": "Рэдагаваць артыкул вікі-блогу: $1",
-	"wikilog-edit-fieldset-legend": "Налады вікі-блогу:",
-	"wikilog-edit-signpub": "Падпісаць і апублікаваць гэты артыкул",
-	"wikilog-edit-signpub-tooltip": "Вядзе да таго, што гэты артыкул будзе падпісаны і апублікаваны ў гэтым вікі-блогу пад час захаваньня.\nПрыбярыце гэтае пазначэньне, каб пакінуць артыкул у стане чарнавіка.",
-	"wikilog-comment-permalink": "$1 у $2",
-	"wikilog-comment-note-item": "разьмешчаны ў $1",
-	"wikilog-comment-note-edited": "апошняе рэдагаваньне $1 у $2",
-	"wikilog-comment-anonsig": "$3 (ананім)",
-	"wikilog-comment-pending": "Гэты камэнтар чакае зацьверджаньня.",
-	"wikilog-comment-deleted": "Гэты камэнтар быў выдалены.",
-	"wikilog-comment-omitted-x": "Камэнтар прапушчаны (#$1).",
-	"wikilog-comment-autosumm": "Новы камэнтар ад $1: $2",
-	"wikilog-reply-to-comment": "Адказаць на гэты камэнтар",
-	"wikilog-comment-page": "Перайсьці на старонку гэтага камэнтара",
-	"wikilog-comment-edit": "Рэдагаваць гэты камэнтар",
-	"wikilog-comment-delete": "Выдаліць гэты камэнтар",
-	"wikilog-comment-history": "Паказаць гісторыю камэнтара",
-	"wikilog-comment-approve": "Зацьвердзіць гэты камэнтар (неадкладнае дзеяньне)",
-	"wikilog-comment-reject": "Адхіліць гэты камэнтар (неадкладнае дзеяньне)",
-	"wikilog-newtalk-summary": "аўтаматычна створанае вікі-блогам",
-	"wikilog-feed-ns-title": "$1 артыкулаў вікі-блогу",
-	"wikilog-feed-description": "Чытаць апошнія паведамленьні на гэтым канале.",
-	"wikilog-comment-feed-title1": "Камэнтар $2 (#$1)",
-	"wikilog-comment-feed-title2": "Камэнтар $2 да $3 (#$1)",
-	"wikilog-comment-feed-description": "Чытаць апошнія камэнтары на гэтым канале.",
-	"wikilog-title-comments": "Камэнтары — $1",
-	"wikilog-error-msg": "Вікі-блог: $1",
-	"wikilog-error-title": "Памылка вікіблёгу",
-	"wikilog-invalid-param": "Няслушны парамэтар: $1.",
-	"wikilog-invalid-author": "Няслушны аўтар: $1.",
-	"wikilog-invalid-date": "Няслушная дата: $1.",
-	"wikilog-invalid-tag": "Няслушная метка: $1.",
-	"wikilog-invalid-file": "Няслушны файл: $1.",
-	"wikilog-file-not-found": "Неіснуючы файл: $1.",
-	"wikilog-not-an-image": "Файл не зьяўляецца выявай: $1.",
-	"wikilog-out-of-context": "Папярэджаньне: меткі вікі-блогу выкарыстоўваюцца па-за блогам.\nЯны павінны выкарыстоўвацца толькі ў артыкулах прасторы назваў вікі-блогу.",
-	"wikilog-too-many-authors": "Папярэджаньне: у гэтым паведамленьні вікіблёгу пералічаныя занадта шмат аўтараў.",
-	"wikilog-too-many-tags": "Папярэджаньне: у гэтым паведамленьні вікіблёгу пералічаныя занадта шмат метак.",
-	"wikilog-comment-is-empty": "Адпраўлены камэнтар пусты.",
-	"wikilog-comment-too-long": "Адпраўлены камэнтар занадта доўгі.",
-	"wikilog-comment-invalid-name": "Пададзеная назва — няслушная.",
-	"wikilog-no-such-article": "Запытаны артыкул вікі-блогу не існуе.",
-	"wikilog-reading-draft": "Гэты артыкул вікі-блогу зьяўляецца чарнавіком і пакуль ня быў апублікаваны.",
-	"wikilog-posting-anonymously": "Вы не ўвайшлі ў сыстэму;\nВашыя камэнтары будуць разьмешчаныя ананімна, Вы будзеце ідэнтыфікаваны па свайму IP-адрасу.\nВам неабходна падаць псэўданім ніжэй для ідэнтыфікацыі Вашага камэнтара альбо $1 для таго каб быць пазначаным аўтарам.",
-	"wikilog-anonymous-moderated": "Пасьля адпраўкі Вашага камэнтара, ён ня будзе адразу бачны на гэтай старонцы.\nКамэнтар зьявіцца толькі пасьля яго прагляду мадэратарам.",
-	"wikilog-post-comment": "Даслаць новы камэнтар",
-	"wikilog-post-reply": "Даслаць новы адказ",
-	"wikilog-form-legend": "Пошук па паведамленьням вікіблёгу",
-	"wikilog-form-wikilog": "Вікі-блог:",
-	"wikilog-form-category": "Катэгорыя:",
-	"wikilog-form-name": "Назва:",
-	"wikilog-form-author": "Аўтар:",
-	"wikilog-form-tag": "Метка:",
-	"wikilog-form-date": "Дата:",
-	"wikilog-form-status": "Статус:",
-	"wikilog-form-preview": "Папярэдні прагляд:",
-	"wikilog-form-comment": "Камэнтар:",
-	"wikilog-show-all": "Усе паведамленьні",
-	"wikilog-show-published": "Апублікаваныя",
-	"wikilog-show-drafts": "Чарнавікі",
-	"wikilog-submit": "Даслаць",
-	"wikilog-preview": "Папярэдні прагляд",
-	"wikilog-edit-lc": "рэдагаваць",
-	"wikilog-reply-lc": "адказаць",
-	"wikilog-delete-lc": "выдаліць",
-	"wikilog-approve-lc": "зацьвердзіць",
-	"wikilog-reject-lc": "адхіліць",
-	"wikilog-page-lc": "старонка",
-	"wikilog-history-lc": "гісторыя",
-	"wikilog-doc-import-comment": "Імпартаваная дакумэнтацыя вікі-блогу"
-}
diff --git a/i18n/wikilog/be.json b/i18n/wikilog/be.json
deleted file mode 100644
index f0d1b3a..0000000
--- a/i18n/wikilog/be.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Тест"
-		]
-	},
-	"wikilog-authors": "Аўтары",
-	"wikilog-form-author": "Аўтар:",
-	"wikilog-history-lc": "Гісторыя"
-}
diff --git a/i18n/wikilog/bg.json b/i18n/wikilog/bg.json
deleted file mode 100644
index b358ad4..0000000
--- a/i18n/wikilog/bg.json
+++ /dev/null
@@ -1,114 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Borislav",
-			"DCLXVI",
-			"Spiritia",
-			"Stanqo"
-		]
-	},
-	"wikilog-desc": "Добавяне на възможности за блогване, създаване на хибрид между уики и блог",
-	"wikilog-help": "{{ns:Help}}:Уикиблог",
-	"right-wl-postcomment": "Оставяне на коментари към статии от уикиблога",
-	"right-wl-moderation": "Модериране на коментарите към статии в уикилога",
-	"wikilog-specialwikilog-title": "Уикилогове",
-	"wikilog-log-pagename": "Дневник на действията в уикиблога",
-	"wikilog-log-pagetext": "По-долу е списъкът от действията по уикиблога.",
-	"wikilog-log-cmt-approve": "одобрен коментар \"[[$1]]\"",
-	"wikilog-log-cmt-reject": "отхвърлен коментар \"[[$1]]\"",
-	"wikilog-log-cmt-rejdel": "Коментар в уикиблог, отхвърлен от [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Уикиблог",
-	"wikilog-tab-title": "Действия в уикиблога",
-	"wikilog-missing-wikilog": "Това е помощната страница за [[{{int:wikilog-help}}|уикиблоговете]] в [[{{FULLPAGENAME}}]].\n\nТози уикиблог все още не съществува.\nЗа да можете да публикувате статии и да активирате други функционалности на уикиблога, първо трябва да го създадете.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Създайте този уикиблог].</span>",
-	"wikilog-information": "Информация за уикиблога",
-	"wikilog-post-count-published": "Има {{PLURAL:$1|една публикувана статия|$1 публикувани статии}} в този уикиблог",
-	"wikilog-post-count-drafts": "Има {{PLURAL:$1|една непубликувана статия (чернова)|$1 непубликувани статии (чернови)}}",
-	"wikilog-post-count-all": "Има общо {{PLURAL:$1|една статия|$1 статии}}.",
-	"wikilog-new-item": "Създаване на нова статия в уикиблога",
-	"wikilog-new-item-go": "Създаване",
-	"wikilog-item-name": "Заглавие на статия:",
-	"wikilog-published": "Публикувано",
-	"wikilog-updated": "Обновено",
-	"wikilog-draft": "Чернова",
-	"wikilog-authors": "Автори",
-	"wikilog-wikilog": "Уикиблог",
-	"wikilog-title": "Заглавие",
-	"wikilog-actions": "Действия",
-	"wikilog-comments": "Коментари",
-	"wikilog-replies": "Отговори",
-	"wikilog-view-archives": "Архиви",
-	"wikilog-view-summary": "Резюме",
-	"wikilog-draft-title-mark": "(чернова)",
-	"wikilog-anonymous-mark": "(анонимен)",
-	"wikilog-pager-newest": "най-новите",
-	"wikilog-pager-oldest": "най-старите",
-	"wikilog-pager-prev": "предишни",
-	"wikilog-pager-next": "следващи",
-	"wikilog-pager-first": "първи",
-	"wikilog-pager-last": "последни",
-	"wikilog-pager-empty": "(няма записи)",
-	"wikilog-no-comments": "няма коментари",
-	"wikilog-has-comments": "{{PLURAL:$1|един коментар|$1 коментара}}",
-	"wikilog-summary-footer": "Публикувано от $7 относно [[$1|$2]] на $8 в $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Публикувано от $7 на $8 в $9 ($15), $10.",
-	"wikilog-summary-more": "[[$3|→ продължение...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|беседа]])",
-	"wikilog-edit-fieldset-legend": "Опции на уикиблога:",
-	"wikilog-edit-signpub": "Подпис и публикуване на статията",
-	"wikilog-edit-signpub-tooltip": "Със съхраняване на редакцията статията ще бъде подписана и публикувана в уикиблога.  \nМахнете отметката от тази кутийка, за да запазите статията като чернова.",
-	"wikilog-comment-pending": "Коментарът очаква одобрение.",
-	"wikilog-comment-deleted": "Коментарът беше изтрит.",
-	"wikilog-comment-autosumm": "Нов коментар от $1: $2",
-	"wikilog-reply-to-comment": "Оставяне на отговор към този коментар",
-	"wikilog-comment-page": "Към страницата на коментара",
-	"wikilog-comment-edit": "Редактиране на коментара",
-	"wikilog-comment-delete": "Изтриване на коментара",
-	"wikilog-comment-history": "Преглед на историята на коментарите",
-	"wikilog-comment-approve": "Одобряване на този коментар (незабавно действие)",
-	"wikilog-comment-reject": "Отхвърляне на този коментар (незабавно действие)",
-	"wikilog-feed-description": "Прочетете най-скорошните публикации в емисията.",
-	"wikilog-title-comments": "Коментари - $1",
-	"wikilog-error-msg": "Уикиблог: $1",
-	"wikilog-error-title": "Грешка в уикиблога",
-	"wikilog-invalid-param": "Невалиден параметър: $1.",
-	"wikilog-invalid-author": "Невалиден автор: $1.",
-	"wikilog-invalid-date": "Невалидна дата: $1.",
-	"wikilog-invalid-tag": "Невалиден етикет: $1.",
-	"wikilog-invalid-file": "Невалиден файл: $1.",
-	"wikilog-file-not-found": "Несъществушащ файл: $1.",
-	"wikilog-not-an-image": "Файлът не е картинка: $1.",
-	"wikilog-out-of-context": "Внимание: Етикети на уикиблога са използвани извън контекста.\nТакива етикети трябва да се използват само в статии от именното пространство на уикиблоговете.",
-	"wikilog-too-many-authors": "Внимание: Твърде много автори са изредени в тази уикиблог публикация.",
-	"wikilog-too-many-tags": "Внимание: Твърде много етикети са изброени в тази публикация в уикиблога.",
-	"wikilog-comment-is-empty": "Оставеният коментар е празен.",
-	"wikilog-comment-too-long": "Оставеният коментар е твърде дълъг.",
-	"wikilog-comment-invalid-name": "Указаното име е невалидно.",
-	"wikilog-no-such-article": "Търсената статия от уикиблога не съществува.",
-	"wikilog-reading-draft": "Тази статия от уикиблога е във вид на чернова и все още не е публикувана.",
-	"wikilog-posting-anonymously": "В момента не сте влезли в системата;\nкоментарът ви ще бъде публикуван анонимно, идентифицирайки ви с вашия IP address.\nТрябва или да посочите псевдоним по-горе, с който да се идентифицира коментарът ви, или да $1, за да се свърже с потребителското ви име.",
-	"wikilog-anonymous-moderated": "След като изпратите коментара си, той няма веднага да се публикува на страницата.\nКоментарът ще се появи едва след одобрение от модератор.",
-	"wikilog-post-comment": "Оставяне на нов коментар",
-	"wikilog-post-reply": "Оставяне на нов отговор",
-	"wikilog-form-legend": "Търсене на публикации в уикиблога",
-	"wikilog-form-wikilog": "Уикиблог:",
-	"wikilog-form-category": "Категория:",
-	"wikilog-form-name": "Име:",
-	"wikilog-form-author": "Автор:",
-	"wikilog-form-tag": "Етикет:",
-	"wikilog-form-date": "Дата:",
-	"wikilog-form-status": "Статут:",
-	"wikilog-form-preview": "Преглед:",
-	"wikilog-form-comment": "Коментар:",
-	"wikilog-show-all": "Всички публикации",
-	"wikilog-show-drafts": "Чернови",
-	"wikilog-submit": "Изпращане:",
-	"wikilog-preview": "Преглед",
-	"wikilog-edit-lc": "редактиране",
-	"wikilog-reply-lc": "отговаряне",
-	"wikilog-delete-lc": "изтриване",
-	"wikilog-approve-lc": "одобри",
-	"wikilog-reject-lc": "отказване",
-	"wikilog-page-lc": "страница",
-	"wikilog-history-lc": "история",
-	"wikilog-doc-import-comment": "Внесена документация за уикиблога"
-}
diff --git a/i18n/wikilog/bn.json b/i18n/wikilog/bn.json
deleted file mode 100644
index b19bc93..0000000
--- a/i18n/wikilog/bn.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Bellayet"
-		]
-	},
-	"wikilog-specialwikilog-title": "উইকিলগসমূহ",
-	"wikilog-tab": "উইকিলগ",
-	"wikilog-new-item-go": "তৈরি",
-	"wikilog-item-name": "নিবন্ধের নাম:",
-	"wikilog-published": "প্রকাশিত",
-	"wikilog-updated": "হালনাগাদকৃত",
-	"wikilog-draft": "খসড়া",
-	"wikilog-authors": "লেখক",
-	"wikilog-title": "শিরোনাম",
-	"wikilog-actions": "কার্যক্রম",
-	"wikilog-comments": "মন্তব্য",
-	"wikilog-replies": "উত্তর",
-	"wikilog-view-summary": "সারাংশ",
-	"wikilog-draft-title-mark": "(খসড়া)",
-	"wikilog-anonymous-mark": "(বেনামী)",
-	"wikilog-pager-newest": "নতুন",
-	"wikilog-pager-oldest": "পুরাতন",
-	"wikilog-pager-prev": "পূর্ববর্তী",
-	"wikilog-pager-next": "পরবর্তী",
-	"wikilog-pager-first": "প্রথম",
-	"wikilog-pager-last": "শেষ",
-	"wikilog-pager-empty": "(কোন আইটেম নাই)",
-	"wikilog-no-comments": "কোন মন্তব্য নাই",
-	"wikilog-has-comments": "{{PLURAL:$1|একটি মন্তব্য|$1 টি মন্তব্য}}",
-	"wikilog-comment-edit": "এই মন্তব্য সম্পাদনা",
-	"wikilog-comment-delete": "এই মন্তব্য অপসারণ",
-	"wikilog-comment-history": "মন্তব্য ইতিহাস দেখুন",
-	"wikilog-title-comments": "মন্তব্য - $1",
-	"wikilog-error-title": "উইকিলগ ত্রুটি",
-	"wikilog-form-wikilog": "উইকিলগ:",
-	"wikilog-form-category": "বিষয়শ্রেণী:",
-	"wikilog-form-name": "নাম:"
-}
diff --git a/i18n/wikilog/br.json b/i18n/wikilog/br.json
deleted file mode 100644
index 98cb83b..0000000
--- a/i18n/wikilog/br.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Fohanno",
-			"Fulup",
-			"Y-M D"
-		]
-	},
-	"wikilog-desc": "Ouzhpennañ a ra perzhioù blog evit sevel ur wiki hag ur blog kemmesk",
-	"wikilog-auto": "Wikilog Aoto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Postañ addisplegoù da bennadoù wikilog",
-	"right-wl-moderation": "Habaskaat an evezhiadennoù evit pennadoù wikilog",
-	"wikilog-specialwikilog-title": "Wikilogoù",
-	"wikilog-log-pagename": "Marilh an oberoù war wikilog",
-	"wikilog-log-pagetext": "Dindan e kavot ur roll eus an oberoù war wikilog.",
-	"wikilog-log-cmt-approve": "addispleg aprouet [[$1]]",
-	"wikilog-log-cmt-reject": "addispleg distaolet [[$1]]",
-	"wikilog-log-cmt-rejdel": "en deus nac'het kemennadenn [[Special:Contributions/$1|$1]] war wikilog",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Oberoù wikilog",
-	"wikilog-missing-wikilog": "Ar bajenn [[{{int:wikilog-help}}|wikilog]] evit [[{{FULLPAGENAME}}]] eo.\n\nN'eus ket eus ar wikilog-mañ evit poent.\nRet eo e vefe krouet da gentañ evit ma vefe posupl embann pennadoù hag implijout arc'hweladurioù all ar wikilog.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Krouiñ ar wikilog-mañ].</span>",
-	"wikilog-information": "Titouroù war wikilog",
-	"wikilog-post-count-published": "Embannet ez eus {{PLURAL:$1|ur pennad|$1 pennad}} er wikilog-mañ.",
-	"wikilog-post-count-drafts": "{{PLURAL:$1|Ur pennad (brouilhoñs) diembann |$1 pennad (brouilhoñs) diembann}} zo",
-	"wikilog-post-count-all": "En holl ez eus {{PLURAL:$1|ur pennad|$1 pennad}}.",
-	"wikilog-new-item": "Krouiñ ur pennad wikilog nevez",
-	"wikilog-new-item-go": "Krouiñ",
-	"wikilog-item-name": "Anv ar pennad :",
-	"wikilog-published": "Embannet",
-	"wikilog-updated": "Hizivaet",
-	"wikilog-draft": "Brouilhed",
-	"wikilog-authors": "Aozerien",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Titl",
-	"wikilog-actions": "Oberoù",
-	"wikilog-comments": "Evezhiadennoù",
-	"wikilog-replies": "Respontoù",
-	"wikilog-view-archives": "Dielloù",
-	"wikilog-view-summary": "Diverradur",
-	"wikilog-draft-title-mark": "(brouilhed)",
-	"wikilog-anonymous-mark": "(dizanv)",
-	"wikilog-pager-newest": "ar re nevesañ",
-	"wikilog-pager-oldest": "ar re goshañ",
-	"wikilog-pager-prev": "kent",
-	"wikilog-pager-next": "war-lerc'h",
-	"wikilog-pager-first": "kentañ",
-	"wikilog-pager-last": "diwezhañ",
-	"wikilog-pager-empty": "(elfenn ebet)",
-	"wikilog-no-comments": "addispleg ebet",
-	"wikilog-has-comments": "{{PLURAL:$1|un addispleg|$1 addispleg}}",
-	"wikilog-summary-footer": "Embannet gant $7 e [[$1|$2]] d'an $8 da $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Embannet gant $7 d'ar $8 da $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Anrummatet",
-	"wikilog-summary-categories": "Rummet e-barzh $2",
-	"wikilog-summary-more": "[[$3|→ kenderc'hel da lenn...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|kaozeal]])",
-	"wikilog-edit-hint": "Kemmañ ar pennad $1 eus ar wikilog",
-	"wikilog-edit-fieldset-legend": "Dibarzhioù wikilog :",
-	"wikilog-edit-signpub": "Sinañ hag embann ar pennad-mañ",
-	"wikilog-edit-signpub-tooltip": "Ober a ra d'ar pennad bezañ sinet hag embannet en e wikilog pa vez enrollet.\nDiaskit ar voest-mañ evit ma chomo ar pennad ur brouilhed.",
-	"wikilog-comment-permalink": "$1 d'an $2",
-	"wikilog-comment-note-item": "postet e $1",
-	"wikilog-comment-note-edited": "kemm ziwezhañ d'an $1 da $2",
-	"wikilog-comment-anonsig": "$3 (dizanv)",
-	"wikilog-comment-pending": "Emañ an addispleg-mañ o c'hortoz bezañ aprouet.",
-	"wikilog-comment-deleted": "Dilamet e oa bet an addispleg-mañ.",
-	"wikilog-comment-omitted-x": "Evezhiadenn disoñjet (#$1).",
-	"wikilog-comment-autosumm": "Addispleg nevez gant $1 : $2",
-	"wikilog-reply-to-comment": "Postañ ur respont d'an addispleg-mañ",
-	"wikilog-comment-page": "Mont da bajenn an addispleg-mañ",
-	"wikilog-comment-edit": "Aozañ an addispleg-mañ",
-	"wikilog-comment-delete": "Dilemel an addispleg-mañ",
-	"wikilog-comment-history": "Gwelet istor an addisplegoù",
-	"wikilog-comment-approve": "Aprouiñ ar gemennadenn-mañ (efed war-eeun)",
-	"wikilog-comment-reject": "Nac'hañ ar gemennadenn-mañ (efed war-eeun)",
-	"wikilog-newtalk-summary": "krouet ent emgefre gant Wikilog",
-	"wikilog-feed-ns-title": "$1 pennad wikilog",
-	"wikilog-feed-description": "Lenn pennadoù nevesañ an neudennad-mañ.",
-	"wikilog-comment-feed-title1": "Evezhiadenn a-berzh $2 (# $1)",
-	"wikilog-comment-feed-title2": "Evezhiadenn a-berzh $2 da $3 (# $1)",
-	"wikilog-comment-feed-description": "Lenn an evezhiadennoù an neveshañ er gwazh-mañ.",
-	"wikilog-title-comments": "Addisplegoù - $1",
-	"wikilog-error-msg": "Wikilog : $1",
-	"wikilog-error-title": "Fazi wikilog",
-	"wikilog-invalid-param": "Arventenn direizh : $1.",
-	"wikilog-invalid-author": "Aozer direizh : $1.",
-	"wikilog-invalid-date": "Deiziad direizh : $1.",
-	"wikilog-invalid-tag": "Balizenn direizh : $1.",
-	"wikilog-invalid-file": "Restr direizh : $1.",
-	"wikilog-file-not-found": "Restr n'eus ket anezhi : $1.",
-	"wikilog-not-an-image": "Ar restr n'eo ket ur skeudenn : $1.",
-	"wikilog-out-of-context": "Kemennadenn : implijet e vez balizennoù wikilog e-maez o c'henarroud.\nRankout a rafent bezañ implijet e pennadoù an esaouenn anv Wikilog hepken.",
-	"wikilog-too-many-authors": "Diwallit : Re a aozerien zo rollet er pennad wikilog-mañ",
-	"wikilog-too-many-tags": "Diwallit : Re a valizennoù zo rollet er pennad wikilog-mañ",
-	"wikilog-comment-is-empty": "Goullo eo an addispleg postet.",
-	"wikilog-comment-too-long": "Re hir eo an addispleg postet.",
-	"wikilog-comment-invalid-name": "Direizh eo an anv pourchaset.",
-	"wikilog-no-such-article": "N'eus ket eus ar pennad wikilog goulennet.",
-	"wikilog-reading-draft": "Un tamm brouilhoñs eo ar pennad wikilog-mañ. N'eo ket bet embannet c'hoazh.",
-	"wikilog-posting-anonymously": "N'oc'h ket kevreet evit poent ;\nembannet e vo hoc'h evezhiadenn en un doare dizanv, anavezet gant ho chomlec'h kevreañ da Internet.\nRankout a rafec'h lakaat ul lesanv a-us a-benn anavezout hoc'h evezhiadenn, pe $1 evit ma vefe deroet en un doare reizh.",
-	"wikilog-anonymous-moderated": "Ur wech ma vo postet hoc'h evezhiadenn ganeoc'h, ne vo ket posupl e lenn kerkent.\nNe vo gwelet an evezhiadenn nemet ur wech ma vo bet gwiriet gant ur merour.",
-	"wikilog-post-comment": "Postañ un addispleg nevez",
-	"wikilog-post-reply": "Embann ur respont nevez",
-	"wikilog-form-legend": "Klask pennadoù e wikilog",
-	"wikilog-form-wikilog": "Wikilog :",
-	"wikilog-form-category": "Rummad :",
-	"wikilog-form-name": "Anv :",
-	"wikilog-form-author": "Aozer :",
-	"wikilog-form-tag": "Balizenn :",
-	"wikilog-form-date": "Deiziad :",
-	"wikilog-form-status": "Statud :",
-	"wikilog-form-preview": "Rakwelet :",
-	"wikilog-form-comment": "Addispleg :",
-	"wikilog-show-all": "An holl bennadoù",
-	"wikilog-show-published": "Embannet",
-	"wikilog-show-drafts": "Brouilhedoù",
-	"wikilog-submit": "Kas",
-	"wikilog-preview": "Rakwelet",
-	"wikilog-edit-lc": "kemmañ",
-	"wikilog-reply-lc": "respont",
-	"wikilog-delete-lc": "diverkañ",
-	"wikilog-approve-lc": "aprouiñ",
-	"wikilog-reject-lc": "disteurel",
-	"wikilog-page-lc": "pajenn",
-	"wikilog-history-lc": "istor",
-	"wikilog-doc-import-comment": "Teuliadur wikilog enporzhiet"
-}
diff --git a/i18n/wikilog/bs.json b/i18n/wikilog/bs.json
deleted file mode 100644
index 2066e1a..0000000
--- a/i18n/wikilog/bs.json
+++ /dev/null
@@ -1,127 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"CERminator",
-			"Palapa"
-		]
-	},
-	"wikilog-desc": "Dodaje mogućnosti bloga, pravljenje hibrida između wikija i bloga",
-	"wikilog-auto": "Automatski Wikilog",
-	"wikilog-help": "{{ns:Help}}:Wikizapisnik",
-	"right-wl-postcomment": "Slanje komentara na članke wikizapisnika",
-	"right-wl-moderation": "Moderiranje komentara na članke wikizapisnika",
-	"wikilog-specialwikilog-title": "Wikizapisnici",
-	"wikilog-log-pagename": "Zapisnik Wikilog akcija",
-	"wikilog-log-pagetext": "Ispod je spisak akcija wikizapisnika.",
-	"wikilog-log-cmt-approve": "odobreni komentar \"[[$1]]\"",
-	"wikilog-log-cmt-reject": "odbačen komentar \"[[$1]]\"",
-	"wikilog-log-cmt-rejdel": "Odbačen komentar wiki zapisnika od [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikizapisnik",
-	"wikilog-tab-title": "Akcije wikizapisnika",
-	"wikilog-missing-wikilog": "Ovo je stranica [[{{int:wikilog-help}}|wikizapisnika]] za [[{{FULLPAGENAME}}]].\n\nOvaj wikizapisnik još uvijek ne postoji.\nDa biste mogli objavljivati članke i omogućiti ostale mogućnosti wikizapisnika, on naprije mora biti napravljen.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Napravi ovaj wikizapisnik].</span>",
-	"wikilog-information": "Informacije o wikizapisniku",
-	"wikilog-post-count-published": "{{PLURAL:$1|Postoji 1 objavljeni članak|Postoje $1 objavljena članka|Postoji $1 objavljenih članaka}} u ovom wikizapisniku",
-	"wikilog-post-count-drafts": "{{PLURAL:$1|Postoji 1 neobjavljen (skiciran) članak|Postoje $1 neobjavljena (skicirana) članka|Postoji $1 neobjavljenih (skiciranih) članaka}}",
-	"wikilog-post-count-all": "Ukupno ovdje se {{PLURAL:$1|nalazi jedan članak|nalaze $1 članka|nalazi $1 članaka}}.",
-	"wikilog-new-item": "Napravi novi članak wikizapisnika",
-	"wikilog-new-item-go": "Napravi",
-	"wikilog-item-name": "Naziv članka:",
-	"wikilog-published": "Objavljeno",
-	"wikilog-updated": "Ažurirano",
-	"wikilog-draft": "Radna verzija",
-	"wikilog-authors": "Autori",
-	"wikilog-wikilog": "Wikizapisnik",
-	"wikilog-title": "Naslov",
-	"wikilog-actions": "Akcije",
-	"wikilog-comments": "Komentari",
-	"wikilog-replies": "Odgovori",
-	"wikilog-view-archives": "Arhive",
-	"wikilog-view-summary": "Sažetak",
-	"wikilog-draft-title-mark": "(radna verzija)",
-	"wikilog-anonymous-mark": "(anonimni)",
-	"wikilog-pager-newest": "najnovije",
-	"wikilog-pager-oldest": "najstarije",
-	"wikilog-pager-prev": "prethodni/o",
-	"wikilog-pager-next": "slijedeći",
-	"wikilog-pager-first": "prvi/o",
-	"wikilog-pager-last": "posljednji",
-	"wikilog-pager-empty": "(nema stavki)",
-	"wikilog-no-comments": "nema komentara",
-	"wikilog-has-comments": "{{PLURAL:$1|jedan komentar|$1 komentara}}",
-	"wikilog-summary-footer": "Postavio $7 u [[$1|$2]] na $8 pod $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Poslano od strane $7 dana $8 u $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Nekategorisano",
-	"wikilog-summary-categories": "Spremljeno pod $2",
-	"wikilog-summary-more": "[[$3|→ nastavi s čitanjem...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|razgovor]])",
-	"wikilog-edit-hint": "Uredi članak wikizapisnika: $1",
-	"wikilog-edit-fieldset-legend": "Opcije wikizapisnika:",
-	"wikilog-edit-signpub": "Potpiši i objavi ovaj članak",
-	"wikilog-edit-signpub-tooltip": "Uzrokuje potpisivanje ovog članka i njegovo objavljivanje na wikizapisniku kada se spremi.\nAko otkačite ovu kutiju ostavićete članak kao radnu verziju.",
-	"wikilog-comment-permalink": "$1 u $2",
-	"wikilog-comment-note-item": "poslano na $1",
-	"wikilog-comment-note-edited": "posljednja izmjena dana $1 u $2",
-	"wikilog-comment-anonsig": "$3 (anonimni)",
-	"wikilog-comment-pending": "Ovaj komentar čeka na potvrdu.",
-	"wikilog-comment-deleted": "Ovaj komentar je bio izbrisan.",
-	"wikilog-comment-omitted-x": "Komentar preskočen (#$1).",
-	"wikilog-comment-autosumm": "Novi komentar od strane $1: $2",
-	"wikilog-reply-to-comment": "Pošalji odgovor na ovaj komentar",
-	"wikilog-comment-page": "Idi na stranicu ovog komentara",
-	"wikilog-comment-edit": "Uredi ovaj komentar",
-	"wikilog-comment-delete": "Izbriši ovaj komentar",
-	"wikilog-comment-history": "Vidi historiju komentara",
-	"wikilog-comment-approve": "Odobri ovaj komentar (neodgodna radnja)",
-	"wikilog-comment-reject": "Odbaci ovaj komentar (neodgodna radnja)",
-	"wikilog-newtalk-summary": "napravljeno automatski od strane Wikizapisnika",
-	"wikilog-feed-ns-title": "$1 članci wikizapisnika",
-	"wikilog-feed-description": "Pročitajte najsvježije vijesti u ovom feedu.",
-	"wikilog-comment-feed-title1": "Komentirao $2 (#$1)",
-	"wikilog-comment-feed-title2": "Komentirao od strane $2 na $3 (#$1)",
-	"wikilog-comment-feed-description": "Pročitajte najsvježije komentare u ovom feedu.",
-	"wikilog-title-comments": "Komentari - $1",
-	"wikilog-error-msg": "Wikizapisnik: $1",
-	"wikilog-error-title": "Greška wikizapisnika",
-	"wikilog-invalid-param": "Nevaljan parametar: $1.",
-	"wikilog-invalid-author": "Nevaljan autor: $1.",
-	"wikilog-invalid-date": "Nevaljan datum: $1.",
-	"wikilog-invalid-tag": "Nevaljana oznaka: $1.",
-	"wikilog-invalid-file": "Nevaljana datoteka: $1.",
-	"wikilog-file-not-found": "Nepostojeća datoteka: $1.",
-	"wikilog-not-an-image": "Datoteka nije slika: $1.",
-	"wikilog-out-of-context": "Upozorenje: Oznake Wikizapisnika se koriste van konteksta.\nOne bi trebale da se koriste samo u člankcima u imenskom prostoru Wikizapisnik.",
-	"wikilog-too-many-authors": "Upozorenje: Previše autora je navedeno u ovom postu wikizapisnika.",
-	"wikilog-too-many-tags": "Upozorenje: Previše oznaka je prikazano u ovom postu wikizapisnika.",
-	"wikilog-comment-is-empty": "Poslani komentar je prazan.",
-	"wikilog-comment-too-long": "Poslani komentar je previše dug.",
-	"wikilog-comment-invalid-name": "Navedeno ime nije valjano.",
-	"wikilog-no-such-article": "Zahtijevani članak wikizapisnika ne postoji.",
-	"wikilog-reading-draft": "Ovaj članak wikizapisnika je samo skica, još nije objavljen.",
-	"wikilog-posting-anonymously": "Trenutno niste prijavljeni;\nvaš komentar će biti poslan anonimno, označen samo preko vaše adrese internet veze.\nTrebali biste ili navesti neki nadimak da bi ste identificirali vaš komentar gore ili $1 da bi se to redovno označilo.",
-	"wikilog-anonymous-moderated": "Nakon što pošaljete vaš komentar, neće biti odmah vidljiv na ovoj stranici.\nKomentar će se pojaviti samo nakon što bude pregledan od strane moderatora.",
-	"wikilog-post-comment": "Postavi novi komentar",
-	"wikilog-post-reply": "Postavi novi odgovor",
-	"wikilog-form-legend": "Traži wikilog oglase",
-	"wikilog-form-wikilog": "Wikizapisnik:",
-	"wikilog-form-category": "Kategorija:",
-	"wikilog-form-name": "Ime:",
-	"wikilog-form-author": "Autor:",
-	"wikilog-form-tag": "Oznaka indeksiranja:",
-	"wikilog-form-date": "Datum:",
-	"wikilog-form-status": "Stanje:",
-	"wikilog-form-preview": "Pregled:",
-	"wikilog-form-comment": "Komentar:",
-	"wikilog-show-all": "Svi oglasi",
-	"wikilog-show-published": "Objavljeno",
-	"wikilog-show-drafts": "Koncepti",
-	"wikilog-submit": "Pošalji",
-	"wikilog-preview": "Pregled",
-	"wikilog-edit-lc": "uredi",
-	"wikilog-reply-lc": "odgovor",
-	"wikilog-delete-lc": "brisati",
-	"wikilog-approve-lc": "odobri",
-	"wikilog-reject-lc": "odbaciti",
-	"wikilog-page-lc": "stranica",
-	"wikilog-history-lc": "historija",
-	"wikilog-doc-import-comment": "Uvezena Wikilog dokumentacija"
-}
diff --git a/i18n/wikilog/ca.json b/i18n/wikilog/ca.json
deleted file mode 100644
index 3346a28..0000000
--- a/i18n/wikilog/ca.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"SMP",
-			"Solde",
-			"Ssola"
-		]
-	},
-	"right-wl-postcomment": "Escriure comentaris als articles wikilog",
-	"right-wl-moderation": "Moderar comentaris als articles de wikilog",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Accions de Wikilog",
-	"wikilog-information": "Informació de Wikilog",
-	"wikilog-new-item-go": "Crea",
-	"wikilog-item-name": "Nom de l'article:",
-	"wikilog-published": "Publicat",
-	"wikilog-updated": "Actualitzat",
-	"wikilog-draft": "Esborrany",
-	"wikilog-authors": "Autors",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Títol",
-	"wikilog-actions": "Accions",
-	"wikilog-comments": "Comentaris",
-	"wikilog-replies": "Rèpliques",
-	"wikilog-view-archives": "Arxivat",
-	"wikilog-view-summary": "Resum",
-	"wikilog-draft-title-mark": "(esborrany)",
-	"wikilog-anonymous-mark": "(anònim)",
-	"wikilog-pager-newest": "el més nou",
-	"wikilog-pager-oldest": "el més vell",
-	"wikilog-pager-prev": "anterior",
-	"wikilog-pager-next": "següent",
-	"wikilog-pager-first": "primer",
-	"wikilog-pager-last": "darrer",
-	"wikilog-pager-empty": "(sense ítems)",
-	"wikilog-no-comments": "sense comentaris",
-	"wikilog-has-comments": "{{PLURAL:$1|un comentari|$1 comentaris}}",
-	"wikilog-summary-uncategorized": "Sense categoritzar",
-	"wikilog-edit-fieldset-legend": "Opcions de Wikilog:",
-	"wikilog-comment-edit": "Edita aquest comentari",
-	"wikilog-comment-delete": "Elimina aquest comentari",
-	"wikilog-title-comments": "Comentaris - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Error de Wikilog",
-	"wikilog-invalid-param": "Paràmetre invàlid: $1.",
-	"wikilog-invalid-author": "Autor invàlid: $1.",
-	"wikilog-invalid-date": "Data invàlida: $1.",
-	"wikilog-invalid-file": "Fitxer invàlid: $1.",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Categoria:",
-	"wikilog-form-name": "Nom:",
-	"wikilog-form-author": "Autor:",
-	"wikilog-form-tag": "Etiqueta:",
-	"wikilog-form-date": "Data:",
-	"wikilog-form-status": "Estat:",
-	"wikilog-form-preview": "Previsualització:",
-	"wikilog-form-comment": "Comentari:",
-	"wikilog-show-published": "Publicat",
-	"wikilog-show-drafts": "Esborranys",
-	"wikilog-submit": "Envia",
-	"wikilog-preview": "Previsualitza",
-	"wikilog-edit-lc": "modifica",
-	"wikilog-reply-lc": "contesta",
-	"wikilog-delete-lc": "elimina",
-	"wikilog-approve-lc": "aprova",
-	"wikilog-reject-lc": "rebutja",
-	"wikilog-page-lc": "pàgina",
-	"wikilog-history-lc": "historial"
-}
diff --git a/i18n/wikilog/ce.json b/i18n/wikilog/ce.json
deleted file mode 100644
index 3175f0e..0000000
--- a/i18n/wikilog/ce.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Sasan700",
-			"Умар"
-		]
-	},
-	"wikilog-item-name": "Яззаман цӀе:",
-	"wikilog-authors": "Автораш",
-	"wikilog-title": "ЦӀе",
-	"wikilog-view-summary": "Цунах лаьцна",
-	"wikilog-pager-prev": "хьалха хиларг",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|дийцаре]])",
-	"wikilog-form-tag": "Билгало:",
-	"wikilog-form-date": "Терахь:",
-	"wikilog-form-status": "Хьал:",
-	"wikilog-form-preview": "Хьалха муха ю хьажа:",
-	"wikilog-show-all": "Массо билгалонаш",
-	"wikilog-submit": "ДӀадахьийта",
-	"wikilog-preview": "Хьалха муха ю хьажа",
-	"wikilog-edit-lc": "нисъе",
-	"wikilog-reply-lc": "жоп ло",
-	"wikilog-delete-lc": "дӀаяккха",
-	"wikilog-page-lc": "агӀо",
-	"wikilog-history-lc": "истори"
-}
diff --git a/i18n/wikilog/ckb.json b/i18n/wikilog/ckb.json
deleted file mode 100644
index abad21c..0000000
--- a/i18n/wikilog/ckb.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Calak"
-		]
-	},
-	"wikilog-view-summary": "پوختە",
-	"wikilog-pager-last": "دوایین",
-	"wikilog-form-category": "پۆل:",
-	"wikilog-submit": "ناردن",
-	"wikilog-delete-lc": "سڕینەوە"
-}
diff --git a/i18n/wikilog/crh-cyrl.json b/i18n/wikilog/crh-cyrl.json
deleted file mode 100644
index 165ab6e..0000000
--- a/i18n/wikilog/crh-cyrl.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Don Alessandro"
-		]
-	},
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|музакере]])"
-}
diff --git a/i18n/wikilog/crh-latn.json b/i18n/wikilog/crh-latn.json
deleted file mode 100644
index 1565862..0000000
--- a/i18n/wikilog/crh-latn.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Don Alessandro"
-		]
-	},
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|muzakere]])"
-}
diff --git a/i18n/wikilog/cs.json b/i18n/wikilog/cs.json
deleted file mode 100644
index b992558..0000000
--- a/i18n/wikilog/cs.json
+++ /dev/null
@@ -1,116 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Matěj Grabovský"
-		]
-	},
-	"wikilog-desc": "Přidává možnosti blogování, čímž vytváří hybrid wiki a blogu",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Posílání komentářů k wikilog článkům",
-	"right-wl-moderation": "Moderování komentářů wikilog článků",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-log-pagename": "Záznam událostí wikilog",
-	"wikilog-log-pagetext": "Níže je seznam událostí wikilog",
-	"wikilog-log-cmt-approve": "schvaluje komentář k článku „[[$1]]“",
-	"wikilog-log-cmt-reject": "zamítá komentář k článku „[[$1]]“",
-	"wikilog-log-cmt-rejdel": "Zamítnut wikilog komentář uživatele [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Události wikilog",
-	"wikilog-missing-wikilog": "Toto je [[{{int:wikilog-help}}|wikilog]] stránka pro [[{{FULLPAGENAME}}]].\n\nTento wikilog zatím neexistuje.\nPokud chcete publikovat články a používat další funkce wikilogu, musíte jej nejprve vytvořit.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Vytvořit tento wikilog]</span>",
-	"wikilog-information": "Informace o wikilogu",
-	"wikilog-post-count-published": "V tomto wikilogu {{PLURAL:$1|je $1 publikovaný článek|jsou $1 publikované články|je $1 publikovaných článků}}",
-	"wikilog-post-count-drafts": "Je zde {{PLURAL:$1|$1 nezveřejněný článek (návrh)|$1 nezveřejněné články (návrhy)|$1 nezveřejněných článků (návrhů)}}",
-	"wikilog-post-count-all": "Dohromady {{PLURAL:$1|je zde $1 článek|jsou zde $1 články|je zde $1 článků}}",
-	"wikilog-new-item": "Vytvořit nový wikilog článek",
-	"wikilog-new-item-go": "Vytvořit",
-	"wikilog-item-name": "Název článku:",
-	"wikilog-published": "Publikovat",
-	"wikilog-updated": "Aktualizováno",
-	"wikilog-draft": "Návrh",
-	"wikilog-authors": "Autoři",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Název",
-	"wikilog-actions": "Události",
-	"wikilog-comments": "Komentáře",
-	"wikilog-replies": "Odpovědi",
-	"wikilog-view-archives": "Archivy",
-	"wikilog-view-summary": "Shrnutí",
-	"wikilog-draft-title-mark": "(návrh)",
-	"wikilog-anonymous-mark": "(anonym)",
-	"wikilog-pager-newest": "nejnovější",
-	"wikilog-pager-oldest": "nejstarší",
-	"wikilog-pager-prev": "předchozí",
-	"wikilog-pager-next": "další",
-	"wikilog-pager-first": "první",
-	"wikilog-pager-last": "poslední",
-	"wikilog-pager-empty": "(žádné články)",
-	"wikilog-no-comments": "žádné komentáře",
-	"wikilog-has-comments": "$1 {{PLURAL:$1|komentář|komentáře|komentářů}}",
-	"wikilog-summary-footer": "Od {{PLURAL:$5|uživatele|uživatelů}} $7, posláno do wikilogu [[$1|$2]] $8 v $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Od {{PLURAL:$5|uživatele|uživatelů}} $7, posláno $8 v $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Bez kategorie",
-	"wikilog-summary-categories": "V {{PLURAL:$1|kategorii|kategoriích}} $2",
-	"wikilog-summary-more": "[[$3|→ pokračovat ve čtení…]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|diskuse]])",
-	"wikilog-edit-fieldset-legend": "Možnosti wikilogu:",
-	"wikilog-edit-signpub": "Podepsat a publikovat tento článek",
-	"wikilog-edit-signpub-tooltip": "Podepíše tento článek a po uložení ho publikuje v jeho wikilogu.\nZrušte zaskrtnutí tohoto políčka, pokud ho chcete ponechat jako návrh.",
-	"wikilog-comment-pending": "Tento komentář čeká na schválení.",
-	"wikilog-comment-deleted": "Tento komentář byl smazán.",
-	"wikilog-comment-autosumm": "Nový komentář uživatele $1: „$2“",
-	"wikilog-reply-to-comment": "Odeslat odpověď na tento komentář",
-	"wikilog-comment-page": "Přejít na stránku tohoto komentáře",
-	"wikilog-comment-edit": "Upravit tento komentář",
-	"wikilog-comment-delete": "Smazat tento komentář",
-	"wikilog-comment-history": "Zobrazit historii komentáře",
-	"wikilog-comment-approve": "Schválit tento komentář (okamžitá akce)",
-	"wikilog-comment-reject": "Zamítnout tento komentář (okamžitá akce)",
-	"wikilog-newtalk-summary": "vytvořeno automaticky rozšířením Wikilog",
-	"wikilog-feed-description": "Přečíst si nejnovější příspěvky v tomto kanálu.",
-	"wikilog-title-comments": "Komentáře – $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Chyba Wikilog",
-	"wikilog-invalid-param": "Neplatný parametr: $1.",
-	"wikilog-invalid-author": "Neplatný autor: $1.",
-	"wikilog-invalid-date": "Neplatné datum: $1.",
-	"wikilog-invalid-tag": "Neplatná značka: $1.",
-	"wikilog-invalid-file": "Neplatný soubor: $1.",
-	"wikilog-file-not-found": "Neexistující soubor: $1.",
-	"wikilog-not-an-image": "Soubor není obrázek: $1.",
-	"wikilog-out-of-context": "Upozornění: Štítky Wikilog jsou používány mimo kontext.\nMěly by být používány pouze v článcích ve jmenném prostoru Wikilog.",
-	"wikilog-too-many-authors": "Upozornění: V tomto wikilog příspěvku je uvedeno moc autorů.",
-	"wikilog-too-many-tags": "Upozornění: V tomto wikilog příspěvku je uvedeno moc značek.",
-	"wikilog-comment-is-empty": "Odeslaný komentář je prázdný.",
-	"wikilog-comment-too-long": "Odeslaný komentář je moc dlouhý.",
-	"wikilog-comment-invalid-name": "Poskytnuté jméno je neplatné.",
-	"wikilog-no-such-article": "Požadovaný wikilog článek neexistuje.",
-	"wikilog-reading-draft": "Tento wikilog článek je návrh – zatím nebyl publikován.",
-	"wikilog-posting-anonymously": "Momentálně nejste přihlášeni; váš bude odeslán anonymně, identifikovaný vaší IP adresou. Aby byl váš příspěvek správně přidělen, měli byste buď poskytnout váš pseudonym nebo $1.",
-	"wikilog-anonymous-moderated": "Váš komentář nebude na této stránce hned po odeslání viditelný, nejprve bude muset být schválen moderátorem.",
-	"wikilog-post-comment": "Odeslat nový komentář",
-	"wikilog-post-reply": "Odeslat novou odpověď",
-	"wikilog-form-legend": "Hledat wikilog příspěvek",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Kategorie:",
-	"wikilog-form-name": "Jméno:",
-	"wikilog-form-author": "Autor:",
-	"wikilog-form-tag": "Značka:",
-	"wikilog-form-date": "Datum:",
-	"wikilog-form-status": "Stav:",
-	"wikilog-form-preview": "Náhled:",
-	"wikilog-form-comment": "Komentář:",
-	"wikilog-show-all": "Všechny příspěvky",
-	"wikilog-show-published": "Publikováno",
-	"wikilog-show-drafts": "Návrhy",
-	"wikilog-submit": "Odeslat",
-	"wikilog-preview": "Náhled",
-	"wikilog-edit-lc": "upravit",
-	"wikilog-reply-lc": "odpovědět",
-	"wikilog-delete-lc": "smazat",
-	"wikilog-approve-lc": "schválit",
-	"wikilog-reject-lc": "zamítnout",
-	"wikilog-page-lc": "stránka",
-	"wikilog-history-lc": "historie",
-	"wikilog-doc-import-comment": "Importovaná Wikilog dokumentace"
-}
diff --git a/i18n/wikilog/cu.json b/i18n/wikilog/cu.json
deleted file mode 100644
index 8ee9349..0000000
--- a/i18n/wikilog/cu.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"ОйЛ"
-		]
-	},
-	"wikilog-authors": "творьци",
-	"wikilog-invalid-author": "творьца и́мѧ блаꙁнѫ дрьжитъ : $1",
-	"wikilog-form-name": "имѧ :",
-	"wikilog-form-author": "творьць :",
-	"wikilog-edit-lc": "исправи",
-	"wikilog-history-lc": "їсторїꙗ"
-}
diff --git a/i18n/wikilog/da.json b/i18n/wikilog/da.json
deleted file mode 100644
index b49e0b5..0000000
--- a/i18n/wikilog/da.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Froztbyte",
-			"MGA73"
-		]
-	},
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"wikilog-log-cmt-approve": "godkendt kommentar \"[[$1]]\"",
-	"wikilog-tab": "Wikilog",
-	"wikilog-updated": "Opdateret",
-	"wikilog-draft": "Kladde",
-	"wikilog-authors": "Forfattere",
-	"wikilog-title": "Titel",
-	"wikilog-actions": "Handlinger",
-	"wikilog-comments": "Kommentarer",
-	"wikilog-replies": "Svar",
-	"wikilog-view-archives": "Arkiver",
-	"wikilog-view-summary": "Resumé",
-	"wikilog-draft-title-mark": "(udkast)",
-	"wikilog-anonymous-mark": "(anonym)",
-	"wikilog-pager-newest": "nyeste",
-	"wikilog-pager-oldest": "ældste",
-	"wikilog-pager-prev": "forrige",
-	"wikilog-pager-next": "næste",
-	"wikilog-pager-first": "første",
-	"wikilog-pager-last": "sidste",
-	"wikilog-no-comments": "ingen kommentarer",
-	"wikilog-summary-uncategorized": "Ukategoriserede",
-	"wikilog-summary-categories": "Gemt under $2",
-	"wikilog-summary-more": "[[$3|→ fortsæt med at læse ...]]",
-	"wikilog-edit-signpub": "Signér og offentliggør denne artikel",
-	"wikilog-comment-permalink": "$1 $2",
-	"wikilog-comment-anonsig": "$3 (anonym)",
-	"wikilog-comment-pending": "Denne kommentar afventer godkendelse.",
-	"wikilog-comment-deleted": "Denne kommentar blev slettet.",
-	"wikilog-comment-omitted-x": "Kommentar udeladt (#$1).",
-	"wikilog-comment-autosumm": "Nye kommentarer af $1: $2",
-	"wikilog-reply-to-comment": "Skriv et svar til denne kommentar",
-	"wikilog-comment-page": "Gå til denne kommentars side",
-	"wikilog-comment-edit": "Redigér denne kommentar",
-	"wikilog-comment-delete": "Slet denne kommentar",
-	"wikilog-comment-history": "Vis kommentarhistorik",
-	"wikilog-comment-approve": "Godkend denne kommentar (øjeblikkelig handling)",
-	"wikilog-newtalk-summary": "automatisk oprettet af Wikilog",
-	"wikilog-feed-ns-title": "$1 wikilog-artikler",
-	"wikilog-feed-description": "Læs de seneste indlæg i denne feed.",
-	"wikilog-comment-feed-title1": "Kommentar av $2 (#$1)",
-	"wikilog-title-comments": "Kommentarer - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Wikilog fejl",
-	"wikilog-invalid-param": "Ugyldig parameter: $1.",
-	"wikilog-invalid-author": "Ugyldig forfatter: $1.",
-	"wikilog-invalid-date": "Ugyldig dato: $1.",
-	"wikilog-invalid-tag": "Ugyldig mærke: $1.",
-	"wikilog-invalid-file": "Ugyldig fil: $1.",
-	"wikilog-file-not-found": "Ikke-eksisterende fil: $1.",
-	"wikilog-not-an-image": "Filen er ikke et billede: $1.",
-	"wikilog-too-many-authors": "Advarsel: For mange forfattere er listet i dette wikilog-indlæg.",
-	"wikilog-comment-is-empty": "Indsendte kommentar er tom.",
-	"wikilog-comment-too-long": "Indsendte kommentar er for lang.",
-	"wikilog-comment-invalid-name": "Opgivne navn er ugyldigt.",
-	"wikilog-post-comment": "Skrive en ny kommentar",
-	"wikilog-post-reply": "Skriv et nyt svar",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Kategori:",
-	"wikilog-form-name": "Navn:",
-	"wikilog-form-author": "Forfatter:",
-	"wikilog-form-date": "Dato:",
-	"wikilog-form-status": "Status:",
-	"wikilog-form-preview": "Forhåndsvisning:",
-	"wikilog-form-comment": "Kommentar:",
-	"wikilog-show-all": "Alle indlæg",
-	"wikilog-show-published": "Udgivet",
-	"wikilog-show-drafts": "Udkast",
-	"wikilog-submit": "Gem",
-	"wikilog-edit-lc": "redigér",
-	"wikilog-reply-lc": "svar",
-	"wikilog-delete-lc": "slet",
-	"wikilog-approve-lc": "godkend",
-	"wikilog-reject-lc": "afvis",
-	"wikilog-page-lc": "side",
-	"wikilog-history-lc": "historik"
-}
diff --git a/i18n/wikilog/de-formal.json b/i18n/wikilog/de-formal.json
deleted file mode 100644
index e29c419..0000000
--- a/i18n/wikilog/de-formal.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Imre"
-		]
-	},
-	"wikilog-comment-feed-description": "Lesen Sie die neuesten Kommentare dieses Feeds.",
-	"wikilog-posting-anonymously": "Sie sind zurzeit nicht angemeldet; Ihr Kommentar wird anonym versendet, identifiziert durch Ihre Internetverbindungsadresse. Sie sollten oben entweder ein Pseudonym angeben, um den Kommentar zu identifizieren oder sich $1, damit er passend zugeordnet wird.",
-	"wikilog-anonymous-moderated": "Nachdem Sie Ihren Kommentar absenden, wird er nicht sofort auf dieser Seite angezeigt.\nDer Kommentar wird nur erscheinen, nachdem er von einem Moderator freigegeben wurde."
-}
diff --git a/i18n/wikilog/de.json b/i18n/wikilog/de.json
deleted file mode 100644
index def4063..0000000
--- a/i18n/wikilog/de.json
+++ /dev/null
@@ -1,134 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Erkan Yilmaz",
-			"Imre",
-			"Kghbln",
-			"MF-Warburg",
-			"Tbleher",
-			"The Evil IP address",
-			"Umherirrender"
-		]
-	},
-	"wikilog-desc": "Ermöglicht die Nutzung von Blogfunktionen auf dem Wiki",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Kommentare zu Wikilog-Beiträgen posten",
-	"right-wl-moderation": "Moderation von Kommentaren zu Wikilog-Beiträgen",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-log-pagename": "Wikilog-Aktionslogbuch",
-	"wikilog-log-pagetext": "Unten folgt eine Liste von Wikilog-Aktionen.",
-	"wikilog-log-cmt-approve": "gab den Kommentar „[[$1]]“ frei",
-	"wikilog-log-cmt-reject": "lehnte den Kommentar „[[$1]]“ ab",
-	"wikilog-log-cmt-rejdel": "lehnte Wikilog-Kommentar von „[[Special:Contributions/$1|$1]]“ ab",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Wikilog-Aktionen",
-	"wikilog-missing-wikilog": "Dies ist die [[{{int:wikilog-help}}|Wikilog]]-Seite von [[{{FULLPAGENAME}}]].\n\nDieses Wikilog existiert noch nicht.\nUm Artikel zu veröffentlichen und andere Wikilog-Funktionen freizuschalten muss sie erst erstellt werden.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Dieses Wikilog erstellen].</span>",
-	"wikilog-information": "Wikilog-Information",
-	"wikilog-post-count-published": "$1 {{PLURAL:$1|Beitrag|Beiträge}} wurden in diesem Wikilog veröffentlicht,",
-	"wikilog-post-count-drafts": "plus $1 {{PLURAL:$1|Beitrag|Beiträge}}, die unveröffentlicht (Entwurf) sind,",
-	"wikilog-post-count-all": "insgesamt gibt es $1 {{PLURAL:$1|Beitrag|Beiträge}}.",
-	"wikilog-new-item": "Erstelle einen neuen Wikilog-Beitrag",
-	"wikilog-new-item-go": "Erstellen",
-	"wikilog-item-name": "Beitrag-Name:",
-	"wikilog-published": "Veröffentlicht",
-	"wikilog-updated": "Aktualisiert",
-	"wikilog-draft": "Entwurf",
-	"wikilog-authors": "Autoren",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Titel",
-	"wikilog-actions": "Aktionen",
-	"wikilog-comments": "Kommentare",
-	"wikilog-replies": "Antworten",
-	"wikilog-view-archives": "Archive",
-	"wikilog-view-summary": "Zusammenfassung",
-	"wikilog-draft-title-mark": "(Entwurf)",
-	"wikilog-anonymous-mark": "(anonym)",
-	"wikilog-pager-newest": "neuester",
-	"wikilog-pager-oldest": "ältester",
-	"wikilog-pager-prev": "vorheriger",
-	"wikilog-pager-next": "nächster",
-	"wikilog-pager-first": "erster",
-	"wikilog-pager-last": "letzter",
-	"wikilog-pager-empty": "(keine Beiträge)",
-	"wikilog-no-comments": "keine Kommentare",
-	"wikilog-has-comments": "{{PLURAL:$1|ein Kommentar|$1 Kommentare}}",
-	"wikilog-summary-footer": "Von $7 am $8 um $9 ($15) zu [[$1|$2]] hinzugefügt, $10.",
-	"wikilog-summary-footer-single": "Von $7 am $8 um $9 ($15) hinzugefügt, $10.",
-	"wikilog-summary-uncategorized": "Unkategorisiert",
-	"wikilog-summary-categories": "Abgelegt unter $2",
-	"wikilog-summary-more": "[[$3|→ weiterlesen …]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|Diskussion]])",
-	"wikilog-edit-hint": "„Wikilog“-Artikel bearbeiten: $1",
-	"wikilog-edit-fieldset-legend": "Wikilog-Optionen:",
-	"wikilog-edit-signpub": "Diesen Artikel signieren und veröffentlichen",
-	"wikilog-edit-signpub-tooltip": "Signiert und veröffentlicht den Artikel in seinem Wikilog beim Speichern.\nHaken entfernen, um den Artikel als Entwurf zu speichern.",
-	"wikilog-comment-permalink": "$1 um $2 Uhr",
-	"wikilog-comment-note-item": "hat $1 kommentiert",
-	"wikilog-comment-note-edited": "zuletzt am $1 um $2 bearbeitet",
-	"wikilog-comment-anonsig": "$3 (anonymer Bearbeiter)",
-	"wikilog-comment-pending": "Dieser Kommentar muss noch zugelassen werden.",
-	"wikilog-comment-deleted": "Dieser Kommentar wurde gelöscht.",
-	"wikilog-comment-omitted-x": "Kommentar zurückgenommen (#$1).",
-	"wikilog-comment-autosumm": "Neuer Kommentar von $1: $2",
-	"wikilog-reply-to-comment": "Poste eine Antwort auf diesen Kommentar",
-	"wikilog-comment-page": "Zur Seite dieses Kommentars wechseln",
-	"wikilog-comment-edit": "Bearbeite diesen Kommentar",
-	"wikilog-comment-delete": "Lösche diesen Kommentar",
-	"wikilog-comment-history": "Kommentargeschichte anzeigen",
-	"wikilog-comment-approve": "Diesen Kommentar freigeben (sofortige Aktion)",
-	"wikilog-comment-reject": "Diesen Kommentar ablehnen (sofortige Aktion)",
-	"wikilog-newtalk-summary": "automatisch von Wikilog erstellt",
-	"wikilog-feed-title": "{{SITENAME}} - $1 [$2]",
-	"wikilog-feed-ns-title": "$1 „Wikilog“-Artikel",
-	"wikilog-feed-description": "Lese die neuesten Beiträge in diesem Feed.",
-	"wikilog-comment-feed-title1": "Kommentar von $2 (#$1)",
-	"wikilog-comment-feed-title2": "Kommentar von $2 zu $3 (#$1)",
-	"wikilog-comment-feed-description": "Lese die neuesten Kommentare dieses Feeds.",
-	"wikilog-title-item-full": "$1 - $2",
-	"wikilog-title-comments": "Kommentare - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Wikilog-Fehler",
-	"wikilog-invalid-param": "Ungültiger Parameter: $1.",
-	"wikilog-invalid-author": "Ungültiger Autor: $1.",
-	"wikilog-invalid-date": "Ungültiges Datum: $1.",
-	"wikilog-invalid-tag": "Ungültiges Tag: $1.",
-	"wikilog-invalid-file": "Ungültige Datei: $1.",
-	"wikilog-file-not-found": "Nicht vorhandene Datei: $1.",
-	"wikilog-not-an-image": "Datei ist kein Bild: $1.",
-	"wikilog-out-of-context": "Warnung: Wikilog-Tags werden nicht im Zusammenhang benutzt.\nSie sollten nur in Beiträgen im Wikilog-Namensraum benutzt werden.",
-	"wikilog-too-many-authors": "Warnung: Zu viele Autoren werden in diesem Wikilog-Beitrag aufgeführt.",
-	"wikilog-too-many-tags": "Warnung: Zu viele Tags werden in diesem Wikilog-Beitrag erfasst.",
-	"wikilog-comment-is-empty": "Der gesendete Kommentar ist leer.",
-	"wikilog-comment-too-long": "Der gesendete Kommentar ist zu lang.",
-	"wikilog-comment-invalid-name": "Der angegebene Name ist ungültig.",
-	"wikilog-no-such-article": "Der angeforderte Wikilog-Artikel existiert nicht.",
-	"wikilog-reading-draft": "Dieser Wikilog-Beitrag ist ein Entwurf und wurde noch nicht veröffentlicht.",
-	"wikilog-posting-anonymously": "Du bist zurzeit nicht angemeldet; dein Kommentar wird anonym versendet, identifiziert durch deine Internetverbindungsadresse. Du solltest oben entweder ein Pseudonym angeben, um den Kommentar zu identifizieren oder dich $1, damit er passend zugeordnet wird.",
-	"wikilog-anonymous-moderated": "Nachdem du deinen Kommentar übermittelt hast, wird er nicht sofort auf dieser Seite sichtbar sein. \nDer Kommentar wird erst erscheinen, nachdem er von einem Moderator geprüft wurde.",
-	"wikilog-post-comment": "Verfasse einen neuen Kommentar",
-	"wikilog-post-reply": "Poste eine neue Antwort",
-	"wikilog-form-legend": "Suche nach Wikilog-Beiträgen",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Kategorie:",
-	"wikilog-form-name": "Name:",
-	"wikilog-form-author": "Autor:",
-	"wikilog-form-tag": "Tag:",
-	"wikilog-form-date": "Datum:",
-	"wikilog-form-status": "Status:",
-	"wikilog-form-preview": "Vorschau:",
-	"wikilog-form-comment": "Kommentar:",
-	"wikilog-show-all": "Alle Beiträge",
-	"wikilog-show-published": "Veröffentlicht",
-	"wikilog-show-drafts": "Entwürfe",
-	"wikilog-submit": "Speichern",
-	"wikilog-preview": "Vorschau",
-	"wikilog-edit-lc": "bearbeiten",
-	"wikilog-reply-lc": "antworten",
-	"wikilog-delete-lc": "löschen",
-	"wikilog-approve-lc": "annehmen",
-	"wikilog-reject-lc": "ablehnen",
-	"wikilog-page-lc": "Seite",
-	"wikilog-history-lc": "Versionen",
-	"wikilog-doc-import-comment": "Importierte Wikilog-Dokumentation"
-}
diff --git a/i18n/wikilog/diq.json b/i18n/wikilog/diq.json
deleted file mode 100644
index 67a2d53..0000000
--- a/i18n/wikilog/diq.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Erdemaslancan",
-			"Marmase",
-			"Mirzali"
-		]
-	},
-	"wikilog-item-name": "Namey wesiqa:",
-	"wikilog-published": "Hesreya",
-	"wikilog-draft": "Taslax",
-	"wikilog-actions": "Kerdışi",
-	"wikilog-view-summary": "Xulasa",
-	"wikilog-pager-oldest": "tewr kehan",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|behse]])",
-	"wikilog-title-comments": "Vatışê - ($1)",
-	"wikilog-form-category": "Kategoriye:",
-	"wikilog-form-name": "Name:",
-	"wikilog-form-author": "Nuskar:",
-	"wikilog-form-tag": "Etiket:",
-	"wikilog-form-date": "Deme:",
-	"wikilog-form-status": "Weziyet:",
-	"wikilog-form-preview": "Verasayış:",
-	"wikilog-form-comment": "Vatış:",
-	"wikilog-show-published": "Hesreya",
-	"wikilog-show-drafts": "Taslaxi",
-	"wikilog-submit": "Bırşe",
-	"wikilog-preview": "Verqayt",
-	"wikilog-delete-lc": "bestere",
-	"wikilog-page-lc": "pele"
-}
diff --git a/i18n/wikilog/dsb.json b/i18n/wikilog/dsb.json
deleted file mode 100644
index fc5dca3..0000000
--- a/i18n/wikilog/dsb.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Michawiki"
-		]
-	},
-	"wikilog-desc": "Pśidawa funkcije blogowanja, aby se wikiblogowy hybrid napórał",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Komentary k wikilogowym pśinoskam pósłaś",
-	"right-wl-moderation": "Moderacija komentarow k wikilogowym pśinoskam",
-	"wikilog-specialwikilog-title": "Wikilogi",
-	"wikilog-log-pagename": "Protokol wikilogowych akcijow",
-	"wikilog-log-pagetext": "Dołojce jo lisćina wikilogowych akcijow.",
-	"wikilog-log-cmt-approve": "pśizwólony komentar [[$1]]",
-	"wikilog-log-cmt-reject": "wótpokazany komentar [[$1]]",
-	"wikilog-log-cmt-rejdel": "Wótpokazany wikilogowy komentar wót [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Wikilogowe akcije",
-	"wikilog-missing-wikilog": "To jo [[{{int:wikilog-help}}|wikilogowy]] bok za [[{{FULLPAGENAME}}]].\n\nToś ten wikilog hyšći njeeksistěrujo.\nAby se nastawki wózjawili a druge wikilogowe funkcije zmóžnili, musy se wón nejpjerwjej napóraś.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Toś ten wikilog napóraś].</span>",
-	"wikilog-information": "Wikilogowe informacije",
-	"wikilog-post-count-published": "{{PLURAL:$1|Jo jaden wózjawjony pśinosk|Stej $1 wózjawjonej pśinoska|Su $1 wózjawjone pśinoski|Jo $1 wózjawjonych pśinoskow}} w toś tom wikilogu",
-	"wikilog-post-count-drafts": "{{PLURAL:$1|Jo jaden njewózjawjony pśinosk (nacerjenje)|Stej $1 njewózjawjonej pśinoska (nacerjeni)|Su $1 wózjawjone pśinoski (nacerjenja)|Jo $1 wózjawjonych pśinoskow (nacerjenjow)}}",
-	"wikilog-post-count-all": "Dogromady {{PLURAL:$1|jo jaden pśinosk|stej $1 pśinoska|su $1 pśinoski|jo $1 pśinoskow}}.",
-	"wikilog-new-item": "Wikilogowy pśinosk napóraś",
-	"wikilog-new-item-go": "Napóraś",
-	"wikilog-item-name": "Mě pśinoska:",
-	"wikilog-published": "Wózjawjony",
-	"wikilog-updated": "Zaktualizěrowany",
-	"wikilog-draft": "Nacerjenje",
-	"wikilog-authors": "Awtory",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Titel",
-	"wikilog-actions": "Akcije",
-	"wikilog-comments": "Komentary",
-	"wikilog-replies": "Wótegrona",
-	"wikilog-view-archives": "Archiwy",
-	"wikilog-view-summary": "Zespominanje",
-	"wikilog-draft-title-mark": "(nacerjenje)",
-	"wikilog-anonymous-mark": "(anonymny)",
-	"wikilog-pager-newest": "nejnowšy",
-	"wikilog-pager-oldest": "nejstaršy",
-	"wikilog-pager-prev": "pjerwjejšny",
-	"wikilog-pager-next": "pśiducy",
-	"wikilog-pager-first": "prědny",
-	"wikilog-pager-last": "slědny",
-	"wikilog-pager-empty": "(žedne zapiski)",
-	"wikilog-no-comments": "žedne komentary",
-	"wikilog-has-comments": "{{PLURAL:$1|jaden komentar|$1 komentara|$1 komentary|$1 komentarow}}",
-	"wikilog-summary-footer": "Pósłany wót $7 do [[$1|$2]] $8 $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Pósłany wót $7 $8 $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Njekategorizěrowany",
-	"wikilog-summary-categories": "Wótpołožony pód $2",
-	"wikilog-summary-more": "[[$3|→ dalej cytaś...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|diskusija]])",
-	"wikilog-edit-hint": "Nastawk wikiprotokola wobźěłaś: $1",
-	"wikilog-edit-fieldset-legend": "Wikilogowe opcije:",
-	"wikilog-edit-signpub": "Toś ten pśinosk pódpisaś a wózjawiś",
-	"wikilog-edit-signpub-tooltip": "Zawinujo, až toś ten pśinosk pódpišo a wózjawijo w swójom wikilogu, gaž se składujo.\nWótpóraj markěrowanje toś togo kašćika, aby se pśinosk wobchował ako nacerjenje.",
-	"wikilog-comment-permalink": "$1 $2",
-	"wikilog-comment-note-item": "jo pósłał do $1",
-	"wikilog-comment-note-edited": "slědny raz wobźěłany $1 $2",
-	"wikilog-comment-anonsig": "$3 (anonymny)",
-	"wikilog-comment-pending": "Toś ten komentar caka na pśizwólenje.",
-	"wikilog-comment-deleted": "Toś ten komentar jo se wulašował.",
-	"wikilog-comment-omitted-x": "Komentar wuwóstajony (#$1).",
-	"wikilog-comment-autosumm": "Nowy komentar wót $1: $2",
-	"wikilog-reply-to-comment": "Wótegrono k toś tomu komentaroju pósłaś",
-	"wikilog-comment-page": "K bokoju toś togo komentara",
-	"wikilog-comment-edit": "Toś ten komentar wobźěłaś",
-	"wikilog-comment-delete": "Toś ten komentar wulašowaś",
-	"wikilog-comment-history": "Historiju komentara pokazaś",
-	"wikilog-comment-approve": "Toś ten komentar pśizwóliś (direktna akcija)",
-	"wikilog-comment-reject": "Toś ten komentar wótpokazaś (direktna akcija)",
-	"wikilog-newtalk-summary": "jo se awtomatiski napórał pséz Wikilog",
-	"wikilog-feed-ns-title": "$1: nastawiki wikiprotokola",
-	"wikilog-feed-description": "Cytaj nejnowše pśinoski w toś tom kanalu.",
-	"wikilog-comment-feed-title1": "Komentar wót $2 (#$1)",
-	"wikilog-comment-feed-title2": "Komentar wót $2 k $3 (#$1)",
-	"wikilog-comment-feed-description": "Nejnowše komentary w toś tom kanalu cytaś.",
-	"wikilog-title-comments": "Komentary - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Zmólka Wikilog",
-	"wikilog-invalid-param": "Njepłaśiwy parameter: $1.",
-	"wikilog-invalid-author": "Njepłaśiwy awtor: $1",
-	"wikilog-invalid-date": "Njepłaśiwy datum: $1.",
-	"wikilog-invalid-tag": "Njepłaśiwa toflicka: $1.",
-	"wikilog-invalid-file": "Njepłaśiwa dataja: $1.",
-	"wikilog-file-not-found": "Njeeksistěrujuca dataja: $1.",
-	"wikilog-not-an-image": "Dataja njejo wobraz: $1.",
-	"wikilog-out-of-context": "Warnowanje: wikilogowe toflicki wužywaju se zwenka konteksta.\nWóni by měli jano w pśinoskach w mjenjowem rumje Wikilog wužywaś.",
-	"wikilog-too-many-authors": "Warnowanje: Pśewjele awtorow w toś tom wikilogowem pśinosku pódane.",
-	"wikilog-too-many-tags": "Warnowanje: Pśewjele toflickow w toś tom wikilogowem pśinosku pódane.",
-	"wikilog-comment-is-empty": "Pósłany komentar jo prozny.",
-	"wikilog-comment-too-long": "Pósłany komentar jo pśeliś dłujki.",
-	"wikilog-comment-invalid-name": "Pódane mě jo njepłaśiwe.",
-	"wikilog-no-such-article": "Póžedany wikilogowy pśinosk njeeksistěrujo.",
-	"wikilog-reading-draft": "Toś ten wikilogowy pśinosk jo nacerjenje, hyšći njejo se wózjawił.",
-	"wikilog-posting-anonymously": "Tuchylu njejsy pśizjawjony;\ntwój komentar buźo se anonymnje słaś, identificěrowany pśez internetnu zwiskowu adresu.\nTy by měł górjejce pak pseudonym pódaś, aby identificěrował swój komentar pak se $1, aby se pórědnje pśipokazał.",
-	"wikilog-anonymous-moderated": "Za tym až sy swój komentar wótpósłał, njebuźo ned widobny na toś tom boku.\nKomentar buźo se akle pokazaś, za tym až moderator jo jen pśeglědał.",
-	"wikilog-post-comment": "Nowy komentar pósłaś",
-	"wikilog-post-reply": "Nowe wótegrono pósłaś",
-	"wikilog-form-legend": "Wikilogowe pśinoski pytaś",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Kategorija:",
-	"wikilog-form-name": "Mě:",
-	"wikilog-form-author": "Awtor:",
-	"wikilog-form-tag": "Toflicka:",
-	"wikilog-form-date": "Datum:",
-	"wikilog-form-status": "Status:",
-	"wikilog-form-preview": "Pśeglěd:",
-	"wikilog-form-comment": "Komentar:",
-	"wikilog-show-all": "Wše pśinoski",
-	"wikilog-show-published": "Wózjawjony",
-	"wikilog-show-drafts": "Nacerjenja",
-	"wikilog-submit": "Wótpósłaś",
-	"wikilog-preview": "Pśeglěd pokazaś",
-	"wikilog-edit-lc": "wobźěłaś",
-	"wikilog-reply-lc": "wótegroniś",
-	"wikilog-delete-lc": "lašowaś",
-	"wikilog-approve-lc": "pśizwóliś",
-	"wikilog-reject-lc": "wótpokazaś",
-	"wikilog-page-lc": "bok",
-	"wikilog-history-lc": "historija",
-	"wikilog-doc-import-comment": "Importěrowana wikilogowa dokumentacija"
-}
diff --git a/i18n/wikilog/ee.json b/i18n/wikilog/ee.json
deleted file mode 100644
index 522e244..0000000
--- a/i18n/wikilog/ee.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-	"@metadata": {
-		"authors": []
-	},
-	"wikilog-new-item-go": "Dze egɔme",
-	"wikilog-edit-lc": "trɔ asi le eŋu",
-	"wikilog-delete-lc": "tutui",
-	"wikilog-page-lc": "axa"
-}
diff --git a/i18n/wikilog/el.json b/i18n/wikilog/el.json
deleted file mode 100644
index 1e10e09..0000000
--- a/i18n/wikilog/el.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Crazymadlover",
-			"Dada",
-			"Lou",
-			"Protnet",
-			"ZaDiak",
-			"Απεργός"
-		]
-	},
-	"wikilog-desc": "Προσθέτει χαρακτηριστικά ιστολογίου, δημιουργώντας ένα υβριδικό wiki-ιστολόγιο",
-	"wikilog-help": "{{ns:Help}}:Βικιαρχείο",
-	"wikilog-specialwikilog-title": "Βικιαρχεία",
-	"wikilog-log-pagename": "Αρχείο δραστηριοτήτων Βικιαρχείου",
-	"wikilog-log-pagetext": "Παρακάτω είναι μια λίστα δραστηριοτήτων του βικιαρχείου.",
-	"wikilog-log-cmt-approve": "ενέκρινε το σχόλιο «[[$1]]»",
-	"wikilog-log-cmt-reject": "απέρριψε το σχόλιο «[[$1]]»",
-	"wikilog-tab": "Βικιαρχείο",
-	"wikilog-tab-title": "Δραστηριότητες Βικιαρχείου",
-	"wikilog-information": "Πληροφορίες Βικιαρχείου",
-	"wikilog-post-count-published": "{{PLURAL:$1|Υπάρχει ένα δημοσιευμένο άρθρο|Υπάρχουν $1 δημοσιευμένα άρθρα}} σε αυτό το βικιαρχείο",
-	"wikilog-post-count-drafts": "{{PLURAL:$1|Υπάρχει ένα μη δημοσιευμένο (προσχέδιο) άρθρο|Υπάρχουν $1 δημοσιευμένα (προσχέδια) άρθρα}}",
-	"wikilog-post-count-all": "Συνολικά {{PLURAL:$1|υπάρχει ένα δημοσιευμένο άρθρο|υπάρχουν $1 δημοσιευμένα άρθρα}}.",
-	"wikilog-new-item": "Δημιουργία νέου άρθρου βικιαρχείου",
-	"wikilog-new-item-go": "Δημιουργία",
-	"wikilog-item-name": "Όνομα άρθρου:",
-	"wikilog-published": "Δημοσιευμένο",
-	"wikilog-updated": "Ενημερωμένος",
-	"wikilog-draft": "Προσχέδιο",
-	"wikilog-authors": "Συγγραφείς",
-	"wikilog-wikilog": "Βικιαρχείο",
-	"wikilog-title": "Τίτλος",
-	"wikilog-actions": "Δραστηριότητες",
-	"wikilog-comments": "Σχόλια",
-	"wikilog-replies": "Απαντήσεις",
-	"wikilog-view-archives": "Αρχεία",
-	"wikilog-view-summary": "Σύνοψη",
-	"wikilog-draft-title-mark": "(προσχέδιο)",
-	"wikilog-anonymous-mark": "(ανώνυμο)",
-	"wikilog-pager-newest": "πιο πρόσφατο",
-	"wikilog-pager-oldest": "πιο παλιό",
-	"wikilog-pager-prev": "προηγούμενο",
-	"wikilog-pager-next": "επόμενο",
-	"wikilog-pager-first": "πρώτο",
-	"wikilog-pager-last": "τελευταίο",
-	"wikilog-pager-empty": "(καθόλου αντικείμενα)",
-	"wikilog-no-comments": "κανένα σχόλιο",
-	"wikilog-has-comments": "{{PLURAL:$1|ένα σχόλιο|$1 σχόλια}}",
-	"wikilog-summary-footer": "Δημοσιεύτηκε από $7 στο [[$1|$2]] στις $8 στις $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Δημοσιεύτηκε από $7 στις $8 στις $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Ακατηγοριοποίητο",
-	"wikilog-summary-categories": "Αρχειοποιημένο κάτω από $2",
-	"wikilog-summary-more": "[[$3|→ συνέχεια ανάγνωσης...]]",
-	"wikilog-edit-fieldset-legend": "Επιλογές Βικιαρχείου:",
-	"wikilog-edit-signpub": "Υπογραφή και δημοσίευση αυτού του άρθρου",
-	"wikilog-comment-anonsig": "$3 (ανώνυμος)",
-	"wikilog-comment-pending": "Αυτό το σχόλιο αναμένει έγκριση.",
-	"wikilog-comment-deleted": "Αυτό το σχόλιο διαγράφηκε.",
-	"wikilog-comment-omitted-x": "Το σχόλιο παραλείπεται (#$1).",
-	"wikilog-comment-autosumm": "Νέο σχόλιο από $1: $2",
-	"wikilog-reply-to-comment": "Αποστολή απάντησης σε αυτό το σχόλιο",
-	"wikilog-comment-page": "Μετάβαση στη σελίδα αυτού του σχολίου",
-	"wikilog-comment-edit": "Επεξεργασία αυτού του σχολίου",
-	"wikilog-comment-delete": "Διαγραφή αυτού του σχολίου",
-	"wikilog-comment-history": "Προβολή ιστορικού του σχολίου",
-	"wikilog-comment-feed-title1": "Σχόλιο από $2 (#$1)",
-	"wikilog-title-comments": "Σχόλια - $1",
-	"wikilog-error-msg": "Βικιαρχείο: $1",
-	"wikilog-error-title": "Σφάλμα Βικιαρχείου",
-	"wikilog-invalid-param": "Λανθασμένη παράμετρος: $1",
-	"wikilog-invalid-author": "Λανθασμένος δημιουργός: $1.",
-	"wikilog-invalid-date": "Λανθασμένη ημερομηνία: $1.",
-	"wikilog-invalid-tag": "Λανθασμένη επισήμανση: $1.",
-	"wikilog-invalid-file": "Μη έγκυρο αρχείο: $1.",
-	"wikilog-file-not-found": "Ανύπαρκτο αρχείο: $1",
-	"wikilog-not-an-image": "Το αρχείο δεν είναι εικόνα: $1.",
-	"wikilog-post-comment": "Ανάρτηση νέου σχολίου",
-	"wikilog-post-reply": "Δημοσίευση μια νέας απάντησης",
-	"wikilog-form-wikilog": "Βικιαρχείο:",
-	"wikilog-form-category": "Κατηγορία:",
-	"wikilog-form-name": "Όνομα:",
-	"wikilog-form-author": "Δημιουργός:",
-	"wikilog-form-tag": "Ετικέτα:",
-	"wikilog-form-date": "Ημερομηνία:",
-	"wikilog-form-status": "Κατάσταση:",
-	"wikilog-form-preview": "Προεπισκόπηση:",
-	"wikilog-form-comment": "Σχόλιο:",
-	"wikilog-show-all": "Όλες οι δημοσιεύσεις",
-	"wikilog-show-published": "Δημοσιευμένα",
-	"wikilog-show-drafts": "Προσχέδια",
-	"wikilog-submit": "Υποβολή",
-	"wikilog-preview": "Προεπισκόπηση",
-	"wikilog-edit-lc": "επεξεργασία",
-	"wikilog-reply-lc": "απάντηση",
-	"wikilog-delete-lc": "διαγραφή",
-	"wikilog-approve-lc": "αποδοχή",
-	"wikilog-reject-lc": "απόρριψη",
-	"wikilog-page-lc": "σελίδα",
-	"wikilog-history-lc": "ιστορικό"
-}
diff --git a/i18n/wikilog/en-gb.json b/i18n/wikilog/en-gb.json
deleted file mode 100644
index a9ed619..0000000
--- a/i18n/wikilog/en-gb.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Reedy"
-		]
-	},
-	"wikilog-summary-uncategorized": "Uncategorised"
-}
diff --git a/i18n/wikilog/en.json b/i18n/wikilog/en.json
deleted file mode 100644
index 5033412..0000000
--- a/i18n/wikilog/en.json
+++ /dev/null
@@ -1,140 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Juliano F. Ravasi"
-		]
-	},
-	"wikilog-desc": "Adds blogging features, creating a wiki-blog hybrid",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Post comments to wikilog articles",
-	"right-wl-moderation": "Moderation of wikilog article comments",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-log-pagename": "Wikilog actions log",
-	"wikilog-log-pagetext": "Below is a list of wikilog actions.",
-	"wikilog-log-cmt-approve": "approved comment \"[[$1]]\"",
-	"wikilog-log-cmt-reject": "rejected comment \"[[$1]]\"",
-	"wikilog-log-cmt-rejdel": "Rejected wikilog comment from [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Wikilog actions",
-	"wikilog-missing-wikilog": "This is the [[{{int:wikilog-help}}|wikilog]] page for [[{{FULLPAGENAME}}]].\n\nThis wikilog does not exist yet.\nIn order to publish articles and enable other wikilog features, it has to be created first.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Create this wikilog].</span>",
-	"wikilog-information": "Wikilog information",
-	"wikilog-post-count-published": "There {{PLURAL:$1|is one published article|are $1 published articles}} in this wikilog",
-	"wikilog-post-count-drafts": "There {{PLURAL:$1|is one unpublished (draft) article|are $1 unpublished (draft) articles}}",
-	"wikilog-post-count-all": "In total there {{PLURAL:$1|is one article|are $1 articles}}.",
-	"wikilog-new-item": "Create new wikilog article",
-	"wikilog-new-item-go": "Create",
-	"wikilog-item-name": "Article name:",
-	"wikilog-published": "Published",
-	"wikilog-updated": "Updated",
-	"wikilog-draft": "Draft",
-	"wikilog-authors": "Authors",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Title",
-	"wikilog-actions": "Actions",
-	"wikilog-comments": "Comments",
-	"wikilog-replies": "Replies",
-	"wikilog-view-archives": "Archives",
-	"wikilog-view-summary": "Summary",
-	"wikilog-draft-title-mark": "(draft)",
-	"wikilog-anonymous-mark": "(anonymous)",
-	"wikilog-pager-newest": "newest",
-	"wikilog-pager-oldest": "oldest",
-	"wikilog-pager-prev": "previous",
-	"wikilog-pager-next": "next",
-	"wikilog-pager-first": "first",
-	"wikilog-pager-last": "last",
-	"wikilog-pager-empty": "(no items)",
-	"wikilog-no-comments": "no comments",
-	"wikilog-has-comments": "{{PLURAL:$1|one comment|$1 comments}}",
-	"wikilog-summary-header": "",
-	"wikilog-summary-footer": "Posted by $7 to [[$1|$2]] on $8 at $9 ($15), $10.",
-	"wikilog-summary-header-single": "",
-	"wikilog-summary-footer-single": "Posted by $7 on $8 at $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Uncategorized",
-	"wikilog-summary-categories": "Filed under $2",
-	"wikilog-summary-more": "[[$3|→ continue reading...]]",
-	"wikilog-entry-sub": "",
-	"wikilog-entry-header": "",
-	"wikilog-entry-footer": "— $7 • $9, $8 • $10",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|talk]])",
-	"wikilog-simple-signature": "$1 ($2)",
-	"wikilog-edit-hint": "Edit wikilog article: $1",
-	"wikilog-edit-fieldset-legend": "Wikilog options:",
-	"wikilog-edit-signpub": "Sign and publish this article",
-	"wikilog-edit-signpub-tooltip": "Causes this article to be signed and published in its wikilog when saved. \nUncheck this box to keep the article as a draft.",
-	"wikilog-comment-header": "",
-	"wikilog-comment-footer": "— $2 • $5 $6",
-	"wikilog-comment-permalink": "$1 at $2 ($3)",
-	"wikilog-comment-note-item": "posted to $1",
-	"wikilog-comment-note-edited": "last edited on $1 at $2",
-	"wikilog-comment-anonsig": "$3 (anonymous)",
-	"wikilog-comment-pending": "This comment is awaiting approval.",
-	"wikilog-comment-deleted": "This comment was deleted.",
-	"wikilog-comment-omitted-x": "Comment omitted (#$1).",
-	"wikilog-comment-autosumm": "New comment by $1: $2",
-	"wikilog-reply-to-comment": "Post a reply to this comment",
-	"wikilog-comment-page": "Go to this comment's page",
-	"wikilog-comment-edit": "Edit this comment",
-	"wikilog-comment-delete": "Delete this comment",
-	"wikilog-comment-history": "View comment history",
-	"wikilog-comment-approve": "Approve this comment (immediate action)",
-	"wikilog-comment-reject": "Reject this comment (immediate action)",
-	"wikilog-newtalk-text": "<!-- blank page created by Wikilog -->",
-	"wikilog-newtalk-summary": "created automatically by Wikilog",
-	"wikilog-feed-title": "{{SITENAME}} - $1 [$2]",
-	"wikilog-feed-ns-title": "$1 wikilog articles",
-	"wikilog-feed-description": "Read the most recent posts in this feed.",
-	"wikilog-comment-feed-title1": "Comment by $2 (#$1)",
-	"wikilog-comment-feed-title2": "Comment by $2 to $3 (#$1)",
-	"wikilog-comment-feed-description": "Read the most recent comments in this feed.",
-	"wikilog-title-item-full": "$1 - $2",
-	"wikilog-title-comments": "Comments - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Wikilog error",
-	"wikilog-invalid-param": "Invalid parameter: $1.",
-	"wikilog-invalid-author": "Invalid author: $1.",
-	"wikilog-invalid-date": "Invalid date: $1.",
-	"wikilog-invalid-tag": "Invalid tag: $1.",
-	"wikilog-invalid-file": "Invalid file: $1.",
-	"wikilog-file-not-found": "Non-existing file: $1.",
-	"wikilog-not-an-image": "File is not an image: $1.",
-	"wikilog-out-of-context": "Warning: Wikilog tags are being used out of context.\nThey should only be used in articles in the Wikilog namespace.",
-	"wikilog-too-many-authors": "Warning: Too many authors listed in this wikilog post.",
-	"wikilog-too-many-tags": "Warning: Too many tags listed in this wikilog post.",
-	"wikilog-comment-is-empty": "Posted comment is blank.",
-	"wikilog-comment-too-long": "Posted comment is too long.",
-	"wikilog-comment-invalid-name": "Provided name is invalid.",
-	"wikilog-no-such-article": "The requested wikilog article does not exist.",
-	"wikilog-reading-draft": "This wikilog article is a draft, it was not published yet.",
-	"wikilog-posting-anonymously": "You are currently not logged in;\nyour comment will be posted anonymously, identified by your Internet connection address.\nYou should either provide a pseudonym above to identify your comment or $1 for it to be properly attributed.",
-	"wikilog-anonymous-moderated": "After you submit your comment, it will not be immediately visible on this page.\nThe comment will only appear after it is reviewed by a moderator.",
-	"wikilog-post-comment": "Post a new comment",
-	"wikilog-post-reply": "Post a new reply",
-	"wikilog-form-legend": "Search for wikilog posts",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Category:",
-	"wikilog-form-name": "Name:",
-	"wikilog-form-author": "Author:",
-	"wikilog-form-tag": "Tag:",
-	"wikilog-form-date": "Date:",
-	"wikilog-form-status": "Status:",
-	"wikilog-form-preview": "Preview:",
-	"wikilog-form-comment": "Comment:",
-	"wikilog-show-all": "All posts",
-	"wikilog-show-published": "Published",
-	"wikilog-show-drafts": "Drafts",
-	"wikilog-submit": "Submit",
-	"wikilog-preview": "Preview",
-	"wikilog-edit-lc": "edit",
-	"wikilog-reply-lc": "reply",
-	"wikilog-delete-lc": "delete",
-	"wikilog-approve-lc": "approve",
-	"wikilog-reject-lc": "reject",
-	"wikilog-page-lc": "page",
-	"wikilog-history-lc": "history",
-	"wikilog-doc-import-comment": "Imported Wikilog documentation",
-	"wikilog-summary": "",
-	"wikilog-backlink": "← $1",
-	"wikilog-brackets": "[$1]"
-}
diff --git a/i18n/wikilog/eo.json b/i18n/wikilog/eo.json
deleted file mode 100644
index 090cb39..0000000
--- a/i18n/wikilog/eo.json
+++ /dev/null
@@ -1,102 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Airon90",
-			"Lucas",
-			"LyzTyphone",
-			"Yekrats"
-		]
-	},
-	"wikilog-desc": "Aldonas blogan kapablon, kreante vikia-blogan hibridon",
-	"wikilog-auto": "Vikiblogo Auto",
-	"wikilog-help": "{{ns:Help}}:Vikiblogo",
-	"right-wl-moderation": "Administri komentojn en Vikiblog-artikoloj",
-	"wikilog-specialwikilog-title": "Vikiblogoj",
-	"wikilog-log-pagename": "Protokolo de Vikiblog-agoj",
-	"wikilog-log-pagetext": "Jen listo de Vikiblog-agoj.",
-	"wikilog-log-cmt-approve": "aprobis komenton \"[[$1]]\"",
-	"wikilog-log-cmt-reject": "malaprobis komenton \"[[$1]]\"",
-	"wikilog-log-cmt-rejdel": "Malaprobis Vikiblog-komenton de [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Vikiblog",
-	"wikilog-tab-title": "Vikiblog-agoj",
-	"wikilog-information": "Informo pri Vikiblogo",
-	"wikilog-new-item": "Krei novan wikilog-artikolon",
-	"wikilog-new-item-go": "Krei",
-	"wikilog-item-name": "Artikola nomo:",
-	"wikilog-published": "Publikigita",
-	"wikilog-updated": "Ĝisdatigita",
-	"wikilog-draft": "Malneto",
-	"wikilog-authors": "Aŭtoroj",
-	"wikilog-wikilog": "Vikiblogo",
-	"wikilog-title": "Titolo",
-	"wikilog-actions": "Agoj",
-	"wikilog-comments": "Komentoj",
-	"wikilog-replies": "Respondoj",
-	"wikilog-view-archives": "Arkivoj",
-	"wikilog-view-summary": "Resumo",
-	"wikilog-draft-title-mark": "(malneto)",
-	"wikilog-anonymous-mark": "(anonimulo)",
-	"wikilog-pager-newest": "plej nova",
-	"wikilog-pager-oldest": "plej malnova",
-	"wikilog-pager-prev": "antaŭa",
-	"wikilog-pager-next": "posta",
-	"wikilog-pager-first": "supera",
-	"wikilog-pager-last": "lasta",
-	"wikilog-pager-empty": "(malplena)",
-	"wikilog-no-comments": "neniuj komentoj",
-	"wikilog-has-comments": "{{PLURAL:$1|unu komento|$1 komentoj}}",
-	"wikilog-summary-uncategorized": "Nekategoriiga",
-	"wikilog-summary-more": "[[$3|→ Daŭre legi...]]",
-	"wikilog-edit-fieldset-legend": "Vikiblog-agordoj",
-	"wikilog-comment-permalink": "$1 ĉe $2",
-	"wikilog-comment-note-edited": "laste ŝanĝita je la $1 je $2",
-	"wikilog-comment-anonsig": "$3 (anonima)",
-	"wikilog-comment-pending": "Ĉi tiu komento atendas aprobadon.",
-	"wikilog-comment-deleted": "Ĉi tiu komento estis forigita.",
-	"wikilog-comment-autosumm": "Nova komento de $1: $2",
-	"wikilog-comment-page": "Iri al la paĝo de ĉi tiu komento",
-	"wikilog-comment-edit": "Redakti ĉi tiun komenton",
-	"wikilog-comment-delete": "Forigi ĉi tiun komenton",
-	"wikilog-comment-history": "Vidi komentan historion",
-	"wikilog-comment-approve": "Aprobi ĉi tiun komenton (tuja ago)",
-	"wikilog-comment-reject": "Malaprobi ĉi tiun komenton (tuja ago)",
-	"wikilog-newtalk-summary": "kreita aŭtomate de Vikiblogo",
-	"wikilog-title-comments": "Komentoj - $1",
-	"wikilog-error-msg": "Vikiblogo: $1",
-	"wikilog-error-title": "Vikiblog-eraro",
-	"wikilog-invalid-param": "Malvalida parametro: $1.",
-	"wikilog-invalid-author": "Malvalida aŭtoro: $1.",
-	"wikilog-invalid-date": "Nevalida dato: $1.",
-	"wikilog-invalid-tag": "Malvalida markilo: $1",
-	"wikilog-invalid-file": "Malvalida dosiero: $1.",
-	"wikilog-file-not-found": "Mankanta dosiero: $1.",
-	"wikilog-not-an-image": "Dosiero ne estas bildo: $1.",
-	"wikilog-comment-is-empty": "Afiŝita komento estas nula.",
-	"wikilog-comment-too-long": "Afiŝa komento estas tro longa.",
-	"wikilog-comment-invalid-name": "Provizita nomo estas malvalida.",
-	"wikilog-no-such-article": "La petita vikibloga artikolo ne ekzistas.",
-	"wikilog-post-comment": "Afiŝi novan komenton",
-	"wikilog-post-reply": "Afiŝi novan respondon",
-	"wikilog-form-legend": "Serĉi Vikiblog-afiŝojn",
-	"wikilog-form-wikilog": "Vikiblogo:",
-	"wikilog-form-category": "Kategorio:",
-	"wikilog-form-name": "Nomo:",
-	"wikilog-form-author": "Aŭtoro:",
-	"wikilog-form-tag": "Etikedo:",
-	"wikilog-form-date": "Dato:",
-	"wikilog-form-status": "Stato:",
-	"wikilog-form-preview": "Antaŭvido:",
-	"wikilog-form-comment": "Komento:",
-	"wikilog-show-all": "Ĉiuj afiŝoj",
-	"wikilog-show-published": "Publikigitaj",
-	"wikilog-show-drafts": "Malnetoj",
-	"wikilog-submit": "Enigi",
-	"wikilog-preview": "Antaŭvido",
-	"wikilog-edit-lc": "redakti",
-	"wikilog-reply-lc": "respondi",
-	"wikilog-delete-lc": "forigi",
-	"wikilog-approve-lc": "aprobi",
-	"wikilog-reject-lc": "malaprobi",
-	"wikilog-page-lc": "paĝo",
-	"wikilog-history-lc": "historio"
-}
diff --git a/i18n/wikilog/es.json b/i18n/wikilog/es.json
deleted file mode 100644
index c6b6b45..0000000
--- a/i18n/wikilog/es.json
+++ /dev/null
@@ -1,132 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Crazymadlover",
-			"Dferg",
-			"Imre",
-			"Locos epraix",
-			"MarcoAurelio",
-			"Peter17",
-			"Translationista"
-		]
-	},
-	"wikilog-desc": "Añade características de blogueo creando así un híbrido de wiki y blog",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Publicar comentarios en artículos del Wikilog",
-	"right-wl-moderation": "Moderación de comentarios de artículos de wikilog",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-log-pagename": "Registro de acciones  de Wikilog",
-	"wikilog-log-pagetext": "A continuación hay un listado de acciones de Wikilog.",
-	"wikilog-log-cmt-approve": "comentario aprobado [[$1]]",
-	"wikilog-log-cmt-reject": "comentario rechazado [[$1]]",
-	"wikilog-log-cmt-rejdel": "Comentario de wikilog rechazado de [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Acciones de Wikilog",
-	"wikilog-missing-wikilog": "Esta es la página de  [[{{int:wikilog-help}}|wikilog]] para  [[{{FULLPAGENAME}}]].\n\nEste wikilog todavía no existe.\nPara poder publicar artículos y habilitar otras características de wikilog, este debe crearse primero.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Crear este wikilog].</span>",
-	"wikilog-information": "Información sobre Wikilog",
-	"wikilog-post-count-published": "Hay {{PLURAL:$1|un artículo publicado|$1 artículos publicados}} en este wikilog",
-	"wikilog-post-count-drafts": "Hay {{PLURAL:$1|un artículo sin publicar (borrador)|$1 artículos sin publicar (borradores)}} en este wikilog",
-	"wikilog-post-count-all": "En total hay {{PLURAL:$1|un artículo|$1 artículos}}.",
-	"wikilog-new-item": "Crear nuevo artículo de wikilog",
-	"wikilog-new-item-go": "Crear",
-	"wikilog-item-name": "Nombre del artículo:",
-	"wikilog-published": "Publicado",
-	"wikilog-updated": "Actualizado",
-	"wikilog-draft": "Borrador",
-	"wikilog-authors": "Autores",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Título",
-	"wikilog-actions": "Acciones",
-	"wikilog-comments": "Comentarios",
-	"wikilog-replies": "Respuestas",
-	"wikilog-view-archives": "Archivos",
-	"wikilog-view-summary": "Resumen",
-	"wikilog-draft-title-mark": "(borrador)",
-	"wikilog-anonymous-mark": "(anónimo)",
-	"wikilog-pager-newest": "lo más reciente",
-	"wikilog-pager-oldest": "lo más antiguo",
-	"wikilog-pager-prev": "anterior",
-	"wikilog-pager-next": "siguiente",
-	"wikilog-pager-first": "primero",
-	"wikilog-pager-last": "último",
-	"wikilog-pager-empty": "(no puntos)",
-	"wikilog-no-comments": "sin comentarios",
-	"wikilog-has-comments": "{{PLURAL:$1|un comentario|$1 comentarios}}",
-	"wikilog-summary-footer": "Publicado por $7 en relación con [[$1|$2]] el $8 a las $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Publicado por $7 el $8 a las $9 ($15), S10.",
-	"wikilog-summary-uncategorized": "No categorizado",
-	"wikilog-summary-categories": "Rellenado en $2",
-	"wikilog-summary-more": "[[$3|→ continuar leyendo...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|discusión]])",
-	"wikilog-edit-hint": "Editar artículo wikilog: $1",
-	"wikilog-edit-fieldset-legend": "Ajustes de Wikilog:",
-	"wikilog-edit-signpub": "Firma y publica este artículo",
-	"wikilog-edit-signpub-tooltip": "Hace que el artículo se firme y publique en este wikilog una vez salvado.\nDesmarcar esta casilla para mantener este artículo como borrador.",
-	"wikilog-comment-permalink": "$1 en $2",
-	"wikilog-comment-note-item": "publicado para $1",
-	"wikilog-comment-note-edited": "modificado por última vez el $1 a las $2",
-	"wikilog-comment-anonsig": "$3 (anónimo)",
-	"wikilog-comment-pending": "Este comentario está en espera por ser aprobado",
-	"wikilog-comment-deleted": "Este comentario ha sido borrado.",
-	"wikilog-comment-omitted-x": "Comentario omitido (#$1).",
-	"wikilog-comment-autosumm": "Nuevo comentario de $1: $2",
-	"wikilog-reply-to-comment": "Publicar una respuesta a este comentario",
-	"wikilog-comment-page": "Ir a la página de este comentario",
-	"wikilog-comment-edit": "Editar este comentario",
-	"wikilog-comment-delete": "Borrar este comentario",
-	"wikilog-comment-history": "Ver el historial de comentarios",
-	"wikilog-comment-approve": "Aprobar este comentario (acción inmediata)",
-	"wikilog-comment-reject": "Rechazar este comentario (acción inmediata)",
-	"wikilog-newtalk-summary": "creado automáticamente por Wikilog",
-	"wikilog-feed-ns-title": "Artículos wikilog de $1",
-	"wikilog-feed-description": "Leer los mensajes más recientes en este canal.",
-	"wikilog-comment-feed-title1": "Comentario hecho por $2 (#$1)",
-	"wikilog-comment-feed-title2": "Comentario acerca de $3, hecho por $2 (#$1)",
-	"wikilog-comment-feed-description": "Leer los mensajes más recientes de esta fuente.",
-	"wikilog-title-comments": "Comentarios - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Error de Wikilog",
-	"wikilog-invalid-param": "Parámetro inválido: $1.",
-	"wikilog-invalid-author": "Autor inválido: $1.",
-	"wikilog-invalid-date": "Fecha inválida: $1.",
-	"wikilog-invalid-tag": "Etiqueta inválida: $1.",
-	"wikilog-invalid-file": "Archivo inválido: $1.",
-	"wikilog-file-not-found": "Archivo inexistente: $1.",
-	"wikilog-not-an-image": "El archivo no es una imagen: $1.",
-	"wikilog-out-of-context": "Advertencia: Las etiquetas de Wikilog están siendo usadas fuera de contexto.\nSólo deben ser usadas en artículos en el espacio de nombre Wikilog.",
-	"wikilog-too-many-authors": "Advertencia: Muchos autores listados en esta publicación de wikilog.",
-	"wikilog-too-many-tags": "Advertencia: Muchas etiquetas utilizadas para esta publicación de wikilog.",
-	"wikilog-comment-is-empty": "El comentario añadido está en blanco.",
-	"wikilog-comment-too-long": "El comentario añadido es muy largo",
-	"wikilog-comment-invalid-name": "El nombre suministrado es inválido.",
-	"wikilog-no-such-article": "El artículo de wikilog solicitado no existe.",
-	"wikilog-reading-draft": "Este artículo de wikilog es un borrador. No ha sido publicado aún.",
-	"wikilog-posting-anonymously": "No has accedido al sistema;\ntu comentario se añadirá como anónimo y se identificará por medio de tu dirección de conexión de internet.\nDebes escribir un seudónimo abajo para identificar tu comentario o $1 para que se te atribuya.",
-	"wikilog-anonymous-moderated": "Tu comentario no será inmediatamente visible en esta página al enviarlo.\nAparecerá sólo después de haber sido revisado por un moderador.",
-	"wikilog-post-comment": "Publicar un nuevo comentario",
-	"wikilog-post-reply": "Publicar una nueva respuesta",
-	"wikilog-form-legend": "Buscar publicaciones del wikilog",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Categoría:",
-	"wikilog-form-name": "Nombre:",
-	"wikilog-form-author": "Autor:",
-	"wikilog-form-tag": "Etiqueta:",
-	"wikilog-form-date": "Fecha:",
-	"wikilog-form-status": "Estado:",
-	"wikilog-form-preview": "Previsualización:",
-	"wikilog-form-comment": "Comentario:",
-	"wikilog-show-all": "Todos posts",
-	"wikilog-show-published": "Publicado",
-	"wikilog-show-drafts": "Borradores",
-	"wikilog-submit": "Enviar",
-	"wikilog-preview": "Previsualizar",
-	"wikilog-edit-lc": "editar",
-	"wikilog-reply-lc": "responder",
-	"wikilog-delete-lc": "borrar",
-	"wikilog-approve-lc": "aprobar",
-	"wikilog-reject-lc": "rechazar",
-	"wikilog-page-lc": "página",
-	"wikilog-history-lc": "historial",
-	"wikilog-doc-import-comment": "Documentación de Wikilog importado"
-}
diff --git a/i18n/wikilog/et.json b/i18n/wikilog/et.json
deleted file mode 100644
index d2278ef..0000000
--- a/i18n/wikilog/et.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Avjoska"
-		]
-	},
-	"wikilog-new-item": "Loo uus vikilogi artikkel",
-	"wikilog-new-item-go": "Loo",
-	"wikilog-item-name": "Artikli pealkiri:",
-	"wikilog-published": "Avaldatud",
-	"wikilog-updated": "Uuendatud",
-	"wikilog-draft": "Mustand",
-	"wikilog-authors": "Autorid",
-	"wikilog-title": "Pealkiri",
-	"wikilog-comments": "Kommentaarid",
-	"wikilog-replies": "Vastused",
-	"wikilog-view-archives": "Arhiivid",
-	"wikilog-view-summary": "Kokkuvõte",
-	"wikilog-draft-title-mark": "(mustand)",
-	"wikilog-anonymous-mark": "(anonüümne)",
-	"wikilog-pager-newest": "uusim",
-	"wikilog-pager-oldest": "vanim",
-	"wikilog-pager-prev": "eelmine",
-	"wikilog-pager-next": "järgmine",
-	"wikilog-pager-first": "esimene",
-	"wikilog-pager-last": "viimane",
-	"wikilog-no-comments": "kommentaare ei ole",
-	"wikilog-summary-uncategorized": "Kategoriseerimata",
-	"wikilog-comment-edit": "Redigeeri seda kommentaari",
-	"wikilog-comment-delete": "Kustuta see kommentaar",
-	"wikilog-comment-history": "Vaata kommentaaride ajalugu",
-	"wikilog-post-comment": "Saada uus kommentaar",
-	"wikilog-post-reply": "Saada uus vastus",
-	"wikilog-form-category": "Kategooria:",
-	"wikilog-form-name": "Nimi:",
-	"wikilog-form-author": "Autor:",
-	"wikilog-form-date": "Kuupäev:",
-	"wikilog-form-status": "Olek:",
-	"wikilog-form-preview": "Eelvaade:",
-	"wikilog-form-comment": "Kommentaar:",
-	"wikilog-show-all": "Kõik sõnumid",
-	"wikilog-show-published": "Avaldatud",
-	"wikilog-show-drafts": "Mustandid",
-	"wikilog-preview": "Eelvaade",
-	"wikilog-edit-lc": "redigeeri",
-	"wikilog-reply-lc": "vasta",
-	"wikilog-delete-lc": "kustuta",
-	"wikilog-page-lc": "lehekülg",
-	"wikilog-history-lc": "ajalugu"
-}
diff --git a/i18n/wikilog/eu.json b/i18n/wikilog/eu.json
deleted file mode 100644
index d47496b..0000000
--- a/i18n/wikilog/eu.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"An13sa"
-		]
-	},
-	"wikilog-new-item-go": "Sortu",
-	"wikilog-item-name": "Artikuluaren izena:",
-	"wikilog-published": "Argitaratua",
-	"wikilog-updated": "Eguneratua",
-	"wikilog-draft": "Zirriborroa",
-	"wikilog-authors": "Egileak",
-	"wikilog-title": "Izenburua",
-	"wikilog-comments": "Iruzkinak",
-	"wikilog-view-summary": "Laburpena",
-	"wikilog-draft-title-mark": "(zirriborroa)",
-	"wikilog-pager-newest": "berrienak",
-	"wikilog-pager-oldest": "zaharrenak",
-	"wikilog-pager-prev": "aurrekoa",
-	"wikilog-pager-next": "hurrengoa",
-	"wikilog-pager-first": "lehena",
-	"wikilog-pager-last": "azkena",
-	"wikilog-no-comments": "ez dago iruzkinik",
-	"wikilog-has-comments": "{{PLURAL:$1|iruzkin bat|$1 iruzkin}}",
-	"wikilog-summary-more": "[[$3|→ jarraitu irakurtzen...]]",
-	"wikilog-comment-edit": "Iruzkin hau editatu",
-	"wikilog-comment-delete": "Iruzkin hau ezabatu",
-	"wikilog-title-comments": "Iruzkinak - $1",
-	"wikilog-comment-too-long": "Argitaratutako iruzkina luzeegia da.",
-	"wikilog-comment-invalid-name": "Emandako izena ez da zuzena.",
-	"wikilog-form-category": "Kategoria:",
-	"wikilog-form-name": "Izena:",
-	"wikilog-form-author": "Egilea:",
-	"wikilog-form-tag": "Etiketa:",
-	"wikilog-form-date": "Data:",
-	"wikilog-form-status": "Egoera:",
-	"wikilog-form-preview": "Aurrikuspena:",
-	"wikilog-form-comment": "Iruzkina:",
-	"wikilog-submit": "Bidali",
-	"wikilog-preview": "Aurreikusi",
-	"wikilog-edit-lc": "aldatu",
-	"wikilog-reply-lc": "erantzun",
-	"wikilog-delete-lc": "ezabatu",
-	"wikilog-page-lc": "orrialdea",
-	"wikilog-history-lc": "historia"
-}
diff --git a/i18n/wikilog/fa.json b/i18n/wikilog/fa.json
deleted file mode 100644
index 1506474..0000000
--- a/i18n/wikilog/fa.json
+++ /dev/null
@@ -1,129 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Armin1392",
-			"Ebraminio",
-			"Mjbmr",
-			"Reza1615"
-		]
-	},
-	"wikilog-desc": "افزودن ویژگی‌های بلاگ، ایجاد یک ویکی‌بلاگ مرکب",
-	"wikilog-auto": "ویکی‌لوگ خودکار",
-	"wikilog-help": "{{ns:Help}}:ویکی‌لوگ",
-	"right-wl-postcomment": "ارسال نظرات به مقالات ویکی‌لوگ",
-	"right-wl-moderation": "اعتدال نظرات مقاله ویکی‌لوگ",
-	"wikilog-specialwikilog-title": "ویکی‌لوگ‌ها",
-	"wikilog-log-pagename": "سیاهه فعالیت‌های ویکی‌لوگ",
-	"wikilog-log-pagetext": "در زیر فهرست فعالیت‌های ویکی‌لوگ است.",
-	"wikilog-log-cmt-approve": "تأیید نظر \"[[$1]]\"",
-	"wikilog-log-cmt-reject": "رد نظر \"[[$1]]\"",
-	"wikilog-log-cmt-rejdel": "نظر ویکی‌لوگ رد شده از  [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "سیاههٔ ویکی",
-	"wikilog-tab-title": "عملیات سیاههٔ ویکی",
-	"wikilog-missing-wikilog": "این یک [[{{int:wikilog-help}}|ویکی‌لوگ]] صفحه برای [[{{FULLPAGENAME}}]] است.\nاین ویکی‌لوگ هنوز وجود ندارد.\nبرای انتشار مقالات و فعال کردن دیگر ویژگی‌های ویکی‌لوگ، باید اول ایجاد شود.\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} ایجاد این ویکی‌لوگ].</span>",
-	"wikilog-information": "اطلاعات سیاههٔ ویکی",
-	"wikilog-post-count-published": "{{PLURAL:$1|یک مقاله منتشر شده| $1 مقاله‌های منتشر شده}} در این ویکی‌لوگ هستند.",
-	"wikilog-post-count-drafts": "{{PLURAL:$1|یک مقاله منتشر نشده (پیش‌نویس)|$1 مقاله‌های منتشر نشده(پیش‌نویس)}} هستند",
-	"wikilog-post-count-all": "در مجموع {{PLURAL:$1|یک مقاله است| $1مقاله‌ها هستند}}.",
-	"wikilog-new-item": "ایجاد مقالهٔ جدید سیاههٔ ویکی",
-	"wikilog-new-item-go": "ایجاد",
-	"wikilog-item-name": "نام مقاله:",
-	"wikilog-published": "منتشر شده",
-	"wikilog-updated": "به روز رسانی شده",
-	"wikilog-draft": "پیش نویس",
-	"wikilog-authors": "مؤلفان",
-	"wikilog-wikilog": "سیاههٔ ویکی",
-	"wikilog-title": "عنوان",
-	"wikilog-actions": "اقدامات",
-	"wikilog-comments": "نظرها",
-	"wikilog-replies": "پاسخ ها",
-	"wikilog-view-archives": "بایگانی‌ها",
-	"wikilog-view-summary": "خلاصه",
-	"wikilog-draft-title-mark": "(پیش نویس)",
-	"wikilog-anonymous-mark": "(ناشناس)",
-	"wikilog-pager-newest": "جدیدترین",
-	"wikilog-pager-oldest": "قدیمی‌ترین",
-	"wikilog-pager-prev": "قبلی",
-	"wikilog-pager-next": "بعدی",
-	"wikilog-pager-first": "نخستین",
-	"wikilog-pager-last": "واپسین",
-	"wikilog-pager-empty": "(هیچ مورد)",
-	"wikilog-no-comments": "بدون نظر",
-	"wikilog-has-comments": "$1 نظر",
-	"wikilog-summary-footer": "ارسال شده توسط $7 به [[$1|$2]] در $8 در $9 ($15), $10.",
-	"wikilog-summary-footer-single": "ارسال شده توسط $7 در $8 در $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "رده بندی نشده",
-	"wikilog-summary-categories": "پر شده تحت $2",
-	"wikilog-summary-more": "[[$3|← ادامه خواندن...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|بحث]])",
-	"wikilog-edit-hint": "ویرایش مقالهٔ سیاههٔ ویکی: $1",
-	"wikilog-edit-fieldset-legend": "گزینه‌های سیاههٔ ویکی:",
-	"wikilog-edit-signpub": "ثبت و نشر این مقاله",
-	"wikilog-edit-signpub-tooltip": "این مقاله باعث امضاء شدن و منتشر شدن در این ویکی‌لوگ هنگام ذخیره می‌شود.\nبررسی نشدن این جعبه برای نگهداری عنوان به عنوان یک پیش‌نویس.",
-	"wikilog-comment-permalink": "$1 در $2 ($3)",
-	"wikilog-comment-note-item": "ارسال‌ شده به $1",
-	"wikilog-comment-note-edited": "آخرین ویرایش در $1 در $2",
-	"wikilog-comment-anonsig": "$3 (ناشناس)",
-	"wikilog-comment-pending": "نظر در حال انتظار تصویب است.",
-	"wikilog-comment-deleted": "این نظر حذف شد.",
-	"wikilog-comment-omitted-x": "نظر حذف شده (#$1).",
-	"wikilog-comment-autosumm": "نظر جدید توسط $1: $2",
-	"wikilog-reply-to-comment": "ارسال یک پاسخ به این نظر",
-	"wikilog-comment-page": "رفتن به این صفحهٔ نظرات",
-	"wikilog-comment-edit": "ویرایش این نظر",
-	"wikilog-comment-delete": "حذف این نظر",
-	"wikilog-comment-history": "مشاهده‌ٔ تاریخچهٔ نظر",
-	"wikilog-comment-approve": "تأیید این نظر (اقدام فوری)",
-	"wikilog-comment-reject": "رد این نظر (اقدام فوری)",
-	"wikilog-newtalk-summary": "به طور خودکار توسط سیاههٔ ویکی ایجاد شده",
-	"wikilog-feed-ns-title": "$1 مقاله‌های سیاههٔ ویکی",
-	"wikilog-feed-description": "خواندن اخیرترین پست‌ها در این فید.",
-	"wikilog-comment-feed-title1": "نظر توسط $2 (#$1)",
-	"wikilog-comment-feed-title2": "نظر توسط $2 به $3 (#$1)",
-	"wikilog-comment-feed-description": "خواندن اخیرترین نظرات در این فید.",
-	"wikilog-title-comments": "نظرات ـ $1",
-	"wikilog-error-msg": "ویکی‌لوگ: $1",
-	"wikilog-error-title": "خطای ویکی‌لوگ",
-	"wikilog-invalid-param": "پارامتر نامعتبر: $1.",
-	"wikilog-invalid-author": "مؤلف نامعتبر: $1.",
-	"wikilog-invalid-date": "تاریخ نامعتبر: $1.",
-	"wikilog-invalid-tag": "برچسب نامعتبر: $1.",
-	"wikilog-invalid-file": "پروندهٔ نامعتبر: $1.",
-	"wikilog-file-not-found": "پوشه‌های غیر موجود:  $1 .",
-	"wikilog-not-an-image": "پوشه یک عکس نیست: $1.",
-	"wikilog-out-of-context": "هشدارː برچسب‌های ویکی‌لوگ خارج از چهارچوب مورد استفاده‌ هستند.\nآنها باید تنها در مقالات در فضای نام ویکی‌لوگ مورد استفاده قرار گیرند.",
-	"wikilog-too-many-authors": "هشدار: نویسندگان زیادی در این پست ویکی‌لوگ فهرست شده‌اند.",
-	"wikilog-too-many-tags": "هشدار: برچسب‌های زیادی در این پست ویکی‌لوگ فهرست شده‌است.",
-	"wikilog-comment-is-empty": "نظر ارسال شده خالی است.",
-	"wikilog-comment-too-long": "نظر ارسال شده بیش از حد طولانی است.",
-	"wikilog-comment-invalid-name": "نام ارائه شده نامعتبر است.",
-	"wikilog-no-such-article": "عنوان ویکی‌لوگ درخواست شده وجود ندارد.",
-	"wikilog-reading-draft": "این مقاله ویکی‌لوگ یک پیش‌نویس است، هنوز منتشر نشده‌است.",
-	"wikilog-posting-anonymously": "شما در حال حاضر وارد نشده‌اید؛\nنظر شما به طور ناشناس پست خواهد‌شد، توسط آدرس اتصال اینترنت شما شناسایی شده.\nشما باید یا یک نام مستعار در بالا برای شناسایی نظر خود ارائه کنید یا $1 برای به درستی نسبت داده شدن.",
-	"wikilog-anonymous-moderated": "پس از اینکه نظر شما ارسال شد، بلافاصله در این صفحه قابل مشاهده نخواهد‌بود.\nنظر تنها پس از بازبینی توسط یک واسطه، ظاهر خواهدشد.",
-	"wikilog-post-comment": "ارسال یک نظر جدید",
-	"wikilog-post-reply": "ارسال یک پاسخ جدید",
-	"wikilog-form-legend": "جستجو برای پست‌های ویکی‌لوگ",
-	"wikilog-form-wikilog": "سیاهه‌ویکی:",
-	"wikilog-form-category": "رده:",
-	"wikilog-form-name": "نام:",
-	"wikilog-form-author": "مؤلف:",
-	"wikilog-form-tag": "برچسپ:",
-	"wikilog-form-date": "تاریخ:",
-	"wikilog-form-status": "وضعیت:",
-	"wikilog-form-preview": "پیش نمایش:",
-	"wikilog-form-comment": "توضیح:",
-	"wikilog-show-all": "همهٔ ارسال‌ها",
-	"wikilog-show-published": "منتشر شد",
-	"wikilog-show-drafts": "پیش‌نویس‌ها",
-	"wikilog-submit": "ثبت",
-	"wikilog-preview": "پیش نمایش",
-	"wikilog-edit-lc": "ویرایش",
-	"wikilog-reply-lc": "پاسخ دادن",
-	"wikilog-delete-lc": "حذف",
-	"wikilog-approve-lc": "تصویب",
-	"wikilog-reject-lc": "رد کردن",
-	"wikilog-page-lc": "صفحه",
-	"wikilog-history-lc": "تاریخچه",
-	"wikilog-doc-import-comment": "اسناد ویکی‌لوگ وارد شده"
-}
diff --git a/i18n/wikilog/fi.json b/i18n/wikilog/fi.json
deleted file mode 100644
index ff7c492..0000000
--- a/i18n/wikilog/fi.json
+++ /dev/null
@@ -1,124 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Centerlink",
-			"Crt",
-			"Nike",
-			"Silvonen",
-			"Str4nd",
-			"ZeiP"
-		]
-	},
-	"wikilog-desc": "Lisää blogiominaisuudet, jolloin saat wiki–blogi-yhdistelmän.",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Lähettää kommentteja wikilog-artikkeleihin",
-	"right-wl-moderation": "Moderoida wikilog-artikkeleiden kommentteja",
-	"wikilog-specialwikilog-title": "Wikilogit",
-	"wikilog-log-pagename": "Wikilog-toimintoloki",
-	"wikilog-log-pagetext": "Alla on lista wikilog-toiminnoista.",
-	"wikilog-log-cmt-approve": "hyväksytty kommentti ”[[$1]]”",
-	"wikilog-log-cmt-reject": "hyväksytty kommentti ”[[$1]]”",
-	"wikilog-log-cmt-rejdel": "Hylätty wikilog-kommentti käyttäjältä [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Wikilog-toiminnot",
-	"wikilog-missing-wikilog": "Tämä on sivun [[{{FULLPAGENAME}}]] [[{{int:wikilog-help}}|wikilog]]-sivu.\n\nTätä wikilogia ei vielä ole olemassa.\nJulkaistaksesi artikkeleita ja ottaaksesi muut wikilogin ominaisuudet käyttöön, se tulee ensin luoda.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Luo tämä wikilog].</span>",
-	"wikilog-information": "Wikilog-tiedot",
-	"wikilog-post-count-published": "Tässä wikilogissa on {{PLURAL:$1|yksi julkaistu artikkeli|$1 julkaistua artikkelia}}",
-	"wikilog-post-count-drafts": "$1 {{PLURAL:$1|julkaisematon|julkaisematonta}} {{PLURAL:$1|luonnosartikkeli|luonnosartikkelia}}",
-	"wikilog-post-count-all": "Yhteensä {{PLURAL:$1|yksi artikkeli|$1 artikkelia}}.",
-	"wikilog-new-item": "Luo uusi wikilog-artikkeli",
-	"wikilog-new-item-go": "Luo",
-	"wikilog-item-name": "Artikkelin nimi",
-	"wikilog-published": "Julkaistu",
-	"wikilog-updated": "Päivitetty",
-	"wikilog-draft": "Luonnos",
-	"wikilog-authors": "Tekijät",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Otsikko",
-	"wikilog-actions": "Toiminnot",
-	"wikilog-comments": "Kommentit",
-	"wikilog-replies": "Vastaukset",
-	"wikilog-view-archives": "Arkistot",
-	"wikilog-view-summary": "Yhteenveto",
-	"wikilog-draft-title-mark": "(luonnos)",
-	"wikilog-anonymous-mark": "(nimetön)",
-	"wikilog-pager-newest": "uusin",
-	"wikilog-pager-oldest": "vanhin",
-	"wikilog-pager-prev": "edellinen",
-	"wikilog-pager-next": "seuraava",
-	"wikilog-pager-first": "ensimmäinen",
-	"wikilog-pager-last": "viimeinen",
-	"wikilog-pager-empty": "(ei kohteita)",
-	"wikilog-no-comments": "ei kommentteja",
-	"wikilog-has-comments": "{{PLURAL:$1|yksi kommentti|$1 kommenttia}}",
-	"wikilog-summary-footer": "Lähettänyt $7 kohteeseen [[$1|$2]] ($8 kello $9 ($15)), $10.",
-	"wikilog-summary-footer-single": "Lähettänyt $7 ($8 kello $9 ($15)), $10.",
-	"wikilog-summary-uncategorized": "Luokittelematon",
-	"wikilog-summary-categories": "Luokiteltu {{PLURAL:$1|luokkaan|luokkiin}} $2",
-	"wikilog-summary-more": "[[$3|→ jatka lukemista...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|keskustelu]])",
-	"wikilog-edit-fieldset-legend": "Wikilog-asetukset:",
-	"wikilog-edit-signpub": "Allekirjoita ja julkaise tämä artikkeli",
-	"wikilog-edit-signpub-tooltip": "Aiheuttaa tämän artikkelin allekirjoituksen ja julkaisemisen wikilogiinsa tallennettaessa.\nPoista tämän laatikon valinta pitääksesi artikkelin luonnoksena.",
-	"wikilog-comment-permalink": "$1 kello $2",
-	"wikilog-comment-note-edited": "viimeksi muokattu $1 kello $2",
-	"wikilog-comment-anonsig": "$3 (anonyymi)",
-	"wikilog-comment-pending": "Tämä kommentti odottaa hyväksyntää.",
-	"wikilog-comment-deleted": "Tämä kommentti oli poistettu.",
-	"wikilog-comment-autosumm": "Uusi kommentti käyttäjältä $1: $2",
-	"wikilog-reply-to-comment": "Vastaa tähän kommenttiin",
-	"wikilog-comment-page": "Siirry tälle kommenttisivulle",
-	"wikilog-comment-edit": "Muokkaa tätä kommenttia",
-	"wikilog-comment-delete": "Poista tämä kommentti",
-	"wikilog-comment-history": "Näytä kommenttihistoria",
-	"wikilog-comment-approve": "Hyväksy tämä kommentti (välitön toiminto)",
-	"wikilog-comment-reject": "Hylkää tämä kommentti (välitön toiminto)",
-	"wikilog-newtalk-summary": "Wikilogin automaattisesti luoma",
-	"wikilog-feed-description": "Lue tämän syötteen uusimmat merkinnät.",
-	"wikilog-title-comments": "Kommentit – $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Wikilog-virhe",
-	"wikilog-invalid-param": "Virheellinen parametri: $1.",
-	"wikilog-invalid-author": "Virheellinen tekijä: $1.",
-	"wikilog-invalid-date": "Virheellinen päivämäärä: $1.",
-	"wikilog-invalid-tag": "Virheellinen tagi: $1.",
-	"wikilog-invalid-file": "Virheellinen tiedosto: $1.",
-	"wikilog-file-not-found": "Olematon tiedosto: $1.",
-	"wikilog-not-an-image": "Tiedosto ei ole kuva: $1.",
-	"wikilog-out-of-context": "Varoitus: Wikilog-tageja on käytetty väärässä paikassa.\nNiitä tulee käyttää ainoastaan Wikilog-nimiavaruuden artikkeleissa.",
-	"wikilog-too-many-authors": "Varoitus: Tälle Wikilog-merkinnälle on listattu liian monta tekijää.",
-	"wikilog-too-many-tags": "Varoitus: Tälle Wikilog-merkinnälle on listattu liian monta tagia.",
-	"wikilog-comment-is-empty": "Lähetetty kommentti on tyhjä.",
-	"wikilog-comment-too-long": "Lähetetty kommentti on liian pitkä.",
-	"wikilog-comment-invalid-name": "Annettu nimi ei kelpaa.",
-	"wikilog-no-such-article": "Pyydettyä Wikilog-artikkelia ei ole olemassa.",
-	"wikilog-reading-draft": "Tämä Wikilog-artikkeli on luonnos, sitä ei ole vielä julkaistu.",
-	"wikilog-posting-anonymously": "Et ole kirjautunut sisään;\nkommenttisi lähetetään nimettömänä, lähettäjä tunnistetaan Internet-yhteytesi osoitteen perusteella.\nSinun tulisi joko antaa nimimerkki yllä kommenttisi tunnistamiseen tai $1 sen nimeämiseksi oikein.",
-	"wikilog-anonymous-moderated": "Kun olet lähettänyt kommenttisi, se ei tule näkyville tälle sivulle välittömästi. \nKommentti näkyy vasta kun moderaattori on tarkistanut sen.",
-	"wikilog-post-comment": "Lähetä uusi kommentti",
-	"wikilog-post-reply": "Lähetä uusi vastaus",
-	"wikilog-form-legend": "Hae Wikilog-merkintöjä",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Luokka:",
-	"wikilog-form-name": "Nimi",
-	"wikilog-form-author": "Tekijä",
-	"wikilog-form-tag": "Tagi:",
-	"wikilog-form-date": "Päiväys",
-	"wikilog-form-status": "Tila",
-	"wikilog-form-preview": "Esikatselu",
-	"wikilog-form-comment": "Kommentti",
-	"wikilog-show-all": "Kaikki merkinnät",
-	"wikilog-show-published": "Julkaistu",
-	"wikilog-show-drafts": "Luonnokset",
-	"wikilog-submit": "Lähetä",
-	"wikilog-preview": "Esikatselu",
-	"wikilog-edit-lc": "muokkaa",
-	"wikilog-reply-lc": "vastaa",
-	"wikilog-delete-lc": "poista",
-	"wikilog-approve-lc": "hyväksy",
-	"wikilog-reject-lc": "hylkää",
-	"wikilog-page-lc": "sivu",
-	"wikilog-history-lc": "historia",
-	"wikilog-doc-import-comment": "Tuodut Wikilog-ohjeet"
-}
diff --git a/i18n/wikilog/fr.json b/i18n/wikilog/fr.json
deleted file mode 100644
index 832a271..0000000
--- a/i18n/wikilog/fr.json
+++ /dev/null
@@ -1,132 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Crochet.david",
-			"IAlex",
-			"Peter17",
-			"PieRRoMaN",
-			"Urhixidur",
-			"Verdy p",
-			"Yekrats"
-		]
-	},
-	"wikilog-desc": "Ajoute des fonctionnalités de blogue, créant un hybride wiki-blogue",
-	"wikilog-auto": "Vikilogo Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Poster des commentaires sur les articles de wikilog",
-	"right-wl-moderation": "Modération des commentaires sur les articles de wikilog",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-log-pagename": "Journal des actions sur wikilog",
-	"wikilog-log-pagetext": "Ci-dessous se trouve une liste des actions sur wikilog.",
-	"wikilog-log-cmt-approve": "commentaire approuvé [[$1]]",
-	"wikilog-log-cmt-reject": "commentaire rejeté [[$1]]",
-	"wikilog-log-cmt-rejdel": "A rejeté le commentaire sur wikilog de [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Actions sur wikilog",
-	"wikilog-missing-wikilog": "Ceci est la page [[{{int:wikilog-help}}|wikilog]] pour [[{{FULLPAGENAME}}]].\n\nCe wikilog n’existe pas pour l’instant.\nIl doit d’abord être créé afin de pouvoir publier des articles et utiliser les autres fonctionnalités de wikilog.\n\n* <span class=\"plainlkinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Créer ce wikilog].</span>",
-	"wikilog-information": "Information sur wikilog",
-	"wikilog-post-count-published": "Il y a {{PLURAL:$1|$1 article publié|$1 articles publiés}} sur ce wikilog,",
-	"wikilog-post-count-drafts": "Il y a {{PLURAL:$1|un article non publié (brouillon)|$1 articles non publiés (brouillons)}},",
-	"wikilog-post-count-all": "Au total, il y a {{PLURAL:$1|un article|$1 articles}}.",
-	"wikilog-new-item": "Créer un nouvel article de wikilog",
-	"wikilog-new-item-go": "Créer",
-	"wikilog-item-name": "Nom de l’article :",
-	"wikilog-published": "Publié",
-	"wikilog-updated": "Mis à jour",
-	"wikilog-draft": "Brouillon",
-	"wikilog-authors": "Auteurs",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Titre",
-	"wikilog-actions": "Actions",
-	"wikilog-comments": "Commentaires",
-	"wikilog-replies": "Réponses",
-	"wikilog-view-archives": "Archives",
-	"wikilog-view-summary": "Résumé",
-	"wikilog-draft-title-mark": "(brouillon)",
-	"wikilog-anonymous-mark": "(anonyme)",
-	"wikilog-pager-newest": "les plus récents",
-	"wikilog-pager-oldest": "les plus anciens",
-	"wikilog-pager-prev": "précédente",
-	"wikilog-pager-next": "suivant",
-	"wikilog-pager-first": "première",
-	"wikilog-pager-last": "dernière",
-	"wikilog-pager-empty": "(aucun item)",
-	"wikilog-no-comments": "pas de commentaire",
-	"wikilog-has-comments": "{{PLURAl:$1|un commentaire|$1 commentaires}}",
-	"wikilog-summary-footer": "Posté par $7 dans [[$1|$2]] le $8 à $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Posté par $7 le $8 à $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Non catégorisé",
-	"wikilog-summary-categories": "Classé dans $2",
-	"wikilog-summary-more": "[[$3|→ lire la suite...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|discuter]])",
-	"wikilog-edit-hint": "Modifier l’article $1 du wikilog",
-	"wikilog-edit-fieldset-legend": "Options de wikilog :",
-	"wikilog-edit-signpub": "Signer et publier cet article",
-	"wikilog-edit-signpub-tooltip": "Fait que l’article soit signé et publié dans son wikilog lors de la sauvegarde.\nDécochez cette case pour que l’article reste à l’état de brouillon.",
-	"wikilog-comment-permalink": "$1 à $2",
-	"wikilog-comment-note-item": "Posté à $1",
-	"wikilog-comment-note-edited": "dernière modification le $1 à $2",
-	"wikilog-comment-anonsig": "$3 (anonyme)",
-	"wikilog-comment-pending": "Ce commentaire est en attente d’une approbation.",
-	"wikilog-comment-deleted": "Ce commentaire a été supprimé.",
-	"wikilog-comment-omitted-x": "Commentaire omis (#$1).",
-	"wikilog-comment-autosumm": "Nouveau commentaire de $1 : $2",
-	"wikilog-reply-to-comment": "Poster une réponse à ce commentaire",
-	"wikilog-comment-page": "Aller à la page de ce commentaire",
-	"wikilog-comment-edit": "Modifier ce commentaire",
-	"wikilog-comment-delete": "Supprimer ce commentaire",
-	"wikilog-comment-history": "Voir l’historique des commentaires",
-	"wikilog-comment-approve": "Approuver ce commentaire (effet immédiat)",
-	"wikilog-comment-reject": "Rejeter ce commentaire (effet immédiat)",
-	"wikilog-newtalk-summary": "créé automatiquement par Wikilog",
-	"wikilog-feed-ns-title": "$1 articles wikilog",
-	"wikilog-feed-description": "Lire les articles les plus récents dans ce fil de nouvelles.",
-	"wikilog-comment-feed-title1": "Commentaire de $2 (# $1)",
-	"wikilog-comment-feed-title2": "Commentaire de $2 à $3 (# $1)",
-	"wikilog-comment-feed-description": "Lire les commentaires les plus récents dans ce fil de nouvelles.",
-	"wikilog-title-comments": "Commentaires - $1",
-	"wikilog-error-msg": "Wikilog : $1",
-	"wikilog-error-title": "Erreur de wikilog",
-	"wikilog-invalid-param": "Paramètre invalide : $1.",
-	"wikilog-invalid-author": "Auteur invalide : $1.",
-	"wikilog-invalid-date": "Date invalide : $1.",
-	"wikilog-invalid-tag": "Marqueur invalide : $1.",
-	"wikilog-invalid-file": "Fichier invalide : $1.",
-	"wikilog-file-not-found": "Fichier inexistant : $1.",
-	"wikilog-not-an-image": "Le fichier n’est pas une image : $1.",
-	"wikilog-out-of-context": "Avertissement : des marqueurs de wikilog sont utilisés hors contexte.\nIls ne devraient être utilisés que dans les articles de l’espace de noms Wikilog.",
-	"wikilog-too-many-authors": "Avertissement : Trop d’auteurs listés dans l’article de wikilog.",
-	"wikilog-too-many-tags": "Avertissement : Trop de marqueurs listés dans cet article de wikilog.",
-	"wikilog-comment-is-empty": "Le commentaire posté est vide.",
-	"wikilog-comment-too-long": "Le commentaire posté est trop long.",
-	"wikilog-comment-invalid-name": "Le nom fourni n’est pas valide.",
-	"wikilog-no-such-article": "L’article de wikilog attendu n’existe pas.",
-	"wikilog-reading-draft": "Cet article de wikilog est un brouillon, il n’a pas encore été publié.",
-	"wikilog-posting-anonymously": "Vous n’êtes pas connecté ;\nvotre commentaire sera posté anonymement, identifié par votre adresse de connexion à Internet.\nVous devriez soit spécifier un pseudonyme ci-dessus pour identifier votre commentaire, ou vous $1 pour qu’il soit attribué correctement.",
-	"wikilog-anonymous-moderated": "Une fois votre commentaire soumis, il ne sera pas immédiatement visible sur la page.\nLe commentaire n’apparaîtra qu’après avoir été vérifié par un modérateur.",
-	"wikilog-post-comment": "Poster un nouveau commentaire",
-	"wikilog-post-reply": "Poster une nouvelle réponse",
-	"wikilog-form-legend": "Chercher des articles de wikilog",
-	"wikilog-form-wikilog": "Wikilog :",
-	"wikilog-form-category": "Catégorie :",
-	"wikilog-form-name": "Nom :",
-	"wikilog-form-author": "Auteur :",
-	"wikilog-form-tag": "Marqueur :",
-	"wikilog-form-date": "Date :",
-	"wikilog-form-status": "Statut :",
-	"wikilog-form-preview": "Prévisualisation :",
-	"wikilog-form-comment": "Commentaire :",
-	"wikilog-show-all": "Tous les articles",
-	"wikilog-show-published": "Publié",
-	"wikilog-show-drafts": "Brouillons",
-	"wikilog-submit": "Soumettre",
-	"wikilog-preview": "Prévisualiser",
-	"wikilog-edit-lc": "modifier",
-	"wikilog-reply-lc": "répondre",
-	"wikilog-delete-lc": "supprimer",
-	"wikilog-approve-lc": "approuver",
-	"wikilog-reject-lc": "rejeter",
-	"wikilog-page-lc": "page",
-	"wikilog-history-lc": "historique",
-	"wikilog-doc-import-comment": "Documentation importée de wikilog"
-}
diff --git a/i18n/wikilog/frp.json b/i18n/wikilog/frp.json
deleted file mode 100644
index 14dc30d..0000000
--- a/i18n/wikilog/frp.json
+++ /dev/null
@@ -1,117 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"ChrisPtDe"
-		]
-	},
-	"wikilog-desc": "Apond des fonccionalitâts de blogo, fassent un hibrido vouiqui-blogo.",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Postar des comentèros sur los articllos de Wikilog",
-	"right-wl-moderation": "Moderacion des comentèros sur los articllos de Wikilog",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-log-pagename": "Jornal de les accions dessus Wikilog",
-	"wikilog-log-pagetext": "Ce-desot sè trove una lista de les accions dessus Wikilog.",
-	"wikilog-log-cmt-approve": "comentèro aprovâ « [[$1]] »",
-	"wikilog-log-cmt-reject": "comentèro refusâ « [[$1]] »",
-	"wikilog-log-cmt-rejdel": "At refusâ lo comentèro dessus Wikilog de [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Accions dessus Wikilog",
-	"wikilog-information": "Enformacion sur Wikilog",
-	"wikilog-post-count-published": "Y at {{PLURAL:$1|yon articllo publeyê|$1 articllos publeyês}} sur cél wikilog",
-	"wikilog-post-count-drafts": "Y at {{PLURAL:£1|yon articllo pas publeyê (brolyon)|$1 articllos pas publeyês (brolyons)}}",
-	"wikilog-post-count-all": "En tot, y at {{PLURAL:$1|yon articllo|$1 articllos}}.",
-	"wikilog-new-item": "Fâre un articllo novél de Wikilog",
-	"wikilog-new-item-go": "Fâre",
-	"wikilog-item-name": "Nom de l’articllo :",
-	"wikilog-published": "Publeyê",
-	"wikilog-updated": "Betâ a jorn",
-	"wikilog-draft": "Brolyon",
-	"wikilog-authors": "Ôtors",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Titro",
-	"wikilog-actions": "Accions",
-	"wikilog-comments": "Comentèros",
-	"wikilog-replies": "Rèponses",
-	"wikilog-view-archives": "Arch·ives",
-	"wikilog-view-summary": "Rèsumâ",
-	"wikilog-draft-title-mark": "(brolyon)",
-	"wikilog-anonymous-mark": "(anonimo)",
-	"wikilog-pager-newest": "los ples novéls",
-	"wikilog-pager-oldest": "los ples vielys",
-	"wikilog-pager-prev": "devant",
-	"wikilog-pager-next": "aprés",
-	"wikilog-pager-first": "premiére",
-	"wikilog-pager-last": "dèrriére",
-	"wikilog-pager-empty": "(nion èlèment)",
-	"wikilog-no-comments": "gins de comentèro",
-	"wikilog-has-comments": "{{PLURAl:$1|yon comentèro|$1 comentèros}}",
-	"wikilog-summary-footer": "Postâ per $7 dens [[$1|$2]] lo $8 a $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Postâ per $7 lo $8 a $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Pas catègorisâ",
-	"wikilog-summary-categories": "Rengiê dens $2",
-	"wikilog-summary-more": "[[$3|→ liére la suita...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|discutar]])",
-	"wikilog-edit-hint": "Changiér l’articllo du wikilog : $1",
-	"wikilog-edit-fieldset-legend": "Chouèx de Wikilog :",
-	"wikilog-edit-signpub": "Signér et publeyér cél articllo",
-	"wikilog-comment-permalink": "$1 a $2",
-	"wikilog-comment-note-item": "mandâ a $1",
-	"wikilog-comment-note-edited": "dèrriér changement lo $1 a $2",
-	"wikilog-comment-anonsig": "$3 (anonimo)",
-	"wikilog-comment-pending": "Cél comentèro est en atenta d’una aprobacion.",
-	"wikilog-comment-deleted": "Cél comentèro at étâ suprimâ.",
-	"wikilog-comment-omitted-x": "Comentèro oubliâ (#$1).",
-	"wikilog-comment-autosumm": "Novél comentèro de $1 : $2",
-	"wikilog-reply-to-comment": "Postar una rèponsa a cél comentèro",
-	"wikilog-comment-page": "Alar a la pâge de cél comentèro",
-	"wikilog-comment-edit": "Changiér cél comentèro",
-	"wikilog-comment-delete": "Suprimar cél comentèro",
-	"wikilog-comment-history": "Vêre l’historico des comentèros",
-	"wikilog-comment-approve": "Aprovar cél comentèro (accion drêta)",
-	"wikilog-comment-reject": "Refusar cél comentèro (accion drêta)",
-	"wikilog-newtalk-summary": "fêt ôtomaticament per Wikilog",
-	"wikilog-feed-ns-title": "$1 articllos Wikilog",
-	"wikilog-feed-description": "Liére los mèssâjos los ples novéls dens cél fil.",
-	"wikilog-comment-feed-title1": "Comentèro de $2 (# $1)",
-	"wikilog-comment-feed-title2": "Comentèro de $2 a $3 (# $1)",
-	"wikilog-comment-feed-description": "Liére los comentèros los ples novéls dens cél fil.",
-	"wikilog-title-comments": "Comentèros - $1",
-	"wikilog-error-msg": "Wikilog : $1",
-	"wikilog-error-title": "Èrror de Wikilog",
-	"wikilog-invalid-param": "Paramètre envalido : $1.",
-	"wikilog-invalid-author": "Ôtor envalido : $1.",
-	"wikilog-invalid-date": "Dâta envalida : $1.",
-	"wikilog-invalid-tag": "Balisa envalida : $1.",
-	"wikilog-invalid-file": "Fichiér envalido : $1.",
-	"wikilog-file-not-found": "Fichiér pas ègzistent : $1.",
-	"wikilog-not-an-image": "Lo fichiér est pas una émâge : $1.",
-	"wikilog-comment-is-empty": "Lo comentèro postâ est vouedo.",
-	"wikilog-comment-too-long": "Lo comentèro postâ est trop long.",
-	"wikilog-comment-invalid-name": "Lo nom balyê est pas valido.",
-	"wikilog-post-comment": "Postar un novél comentèro",
-	"wikilog-post-reply": "Postar una rèponsa novèla",
-	"wikilog-form-legend": "Chèrchiér des mèssâjos de wikilog",
-	"wikilog-form-wikilog": "Wikilog :",
-	"wikilog-form-category": "Catègorie :",
-	"wikilog-form-name": "Nom :",
-	"wikilog-form-author": "Ôtor :",
-	"wikilog-form-tag": "Balisa :",
-	"wikilog-form-date": "Dâta :",
-	"wikilog-form-status": "Statut :",
-	"wikilog-form-preview": "Prèvisualisacion :",
-	"wikilog-form-comment": "Comentèro :",
-	"wikilog-show-all": "Tôs los mèssâjos",
-	"wikilog-show-published": "Publeyês",
-	"wikilog-show-drafts": "Brolyons",
-	"wikilog-submit": "Sometre",
-	"wikilog-preview": "Prèvisualisar",
-	"wikilog-edit-lc": "changiér",
-	"wikilog-reply-lc": "rèpondre",
-	"wikilog-delete-lc": "suprimar",
-	"wikilog-approve-lc": "aprovar",
-	"wikilog-reject-lc": "refusar",
-	"wikilog-page-lc": "pâge",
-	"wikilog-history-lc": "historico",
-	"wikilog-doc-import-comment": "Documentacion importâ de Wikilog"
-}
diff --git a/i18n/wikilog/ga.json b/i18n/wikilog/ga.json
deleted file mode 100644
index 470befa..0000000
--- a/i18n/wikilog/ga.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"පසිඳු කාවින්ද"
-		]
-	},
-	"wikilog-new-item-go": "Cruthaigh",
-	"wikilog-title": "Teideal",
-	"wikilog-view-summary": "Achoimriú",
-	"wikilog-form-category": "Catagóir:",
-	"wikilog-form-name": "Ainm:",
-	"wikilog-form-author": "Údar:",
-	"wikilog-form-date": "Dáta:",
-	"wikilog-form-preview": "Réamhamharc:",
-	"wikilog-form-comment": "Nóta tráchta:",
-	"wikilog-preview": "Réamhamharc",
-	"wikilog-edit-lc": "cur in eagar",
-	"wikilog-delete-lc": "scrios",
-	"wikilog-page-lc": "Leathanach",
-	"wikilog-history-lc": "Stair"
-}
diff --git a/i18n/wikilog/gl.json b/i18n/wikilog/gl.json
deleted file mode 100644
index 23e200a..0000000
--- a/i18n/wikilog/gl.json
+++ /dev/null
@@ -1,127 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Gallaecio",
-			"Toliño"
-		]
-	},
-	"wikilog-desc": "Engade funcionalidades de blogue, creando un híbrido entre un wiki e mais un blogue",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Publicar comentarios nos artigos do wikilog",
-	"right-wl-moderation": "Moderar os comentarios dos artigos do wikilog",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-log-pagename": "Rexistro de accións no wikilog",
-	"wikilog-log-pagetext": "A continuación está a lista das accións realizadas no wikilog.",
-	"wikilog-log-cmt-approve": "aprobou o comentario [[$1]]",
-	"wikilog-log-cmt-reject": "rexeitou o comentario [[$1]]",
-	"wikilog-log-cmt-rejdel": "Rexeitou o comentario no wikilog de [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Accións en wikilog",
-	"wikilog-missing-wikilog": "\nEsta é a páxina [[{{int:wikilog-help}}|wikilog]] de \"[[{{FULLPAGENAME}}]]\".\n\nEste wikilog aínda non existe.\nTense que crear primeiro para publicar artigos e activar outras características do wikilog.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Crear este wikilog].</span>",
-	"wikilog-information": "Información do wikilog",
-	"wikilog-post-count-published": "Hai {{PLURAL:$1|un artigo publicado|$1 artigos publicados}} neste wikilog",
-	"wikilog-post-count-drafts": "Hai {{PLURAL:$1|un artigo non publicado (borrador)|$1 artigos non publicados (borradores)}}",
-	"wikilog-post-count-all": "En total, hai {{PLURAL:$1|un artigo|$1 artigos}}.",
-	"wikilog-new-item": "Crear un novo artigo no wikilog",
-	"wikilog-new-item-go": "Crear",
-	"wikilog-item-name": "Nome do artigo:",
-	"wikilog-published": "Publicado",
-	"wikilog-updated": "Actualizado",
-	"wikilog-draft": "Borrador",
-	"wikilog-authors": "Autores",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Título",
-	"wikilog-actions": "Accións",
-	"wikilog-comments": "Comentarios",
-	"wikilog-replies": "Respostas",
-	"wikilog-view-archives": "Arquivos",
-	"wikilog-view-summary": "Resumo",
-	"wikilog-draft-title-mark": "(borrador)",
-	"wikilog-anonymous-mark": "(anónimo)",
-	"wikilog-pager-newest": "os máis novos",
-	"wikilog-pager-oldest": "os máis antigos",
-	"wikilog-pager-prev": "anterior",
-	"wikilog-pager-next": "seguinte",
-	"wikilog-pager-first": "primeira",
-	"wikilog-pager-last": "última",
-	"wikilog-pager-empty": "(sen elementos)",
-	"wikilog-no-comments": "sen comentarios",
-	"wikilog-has-comments": "{{PLURAL:$1|un comentario|$1 comentarios}}",
-	"wikilog-summary-footer": "Publicado por $7 en \"[[$1|$2]]\" o $8 ás $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Publicado por $7 o $8 ás $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Sen categorizar",
-	"wikilog-summary-categories": "Arquivado en $2",
-	"wikilog-summary-more": "[[$3|→ seguir lendo...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|conversa]])",
-	"wikilog-edit-hint": "Editar o artigo \"$1\" do wikilog",
-	"wikilog-edit-fieldset-legend": "Opcións do wikilog",
-	"wikilog-edit-signpub": "Asinar e publicar este artigo",
-	"wikilog-edit-signpub-tooltip": "Fai que o artigo sexa asinado e publicado no seu wikilog ao gardalo.\nDesmarque esta caixa para considerar o artigo un borrador.",
-	"wikilog-comment-permalink": "$1 ás $2",
-	"wikilog-comment-note-item": "publicado en $1",
-	"wikilog-comment-note-edited": "última edición o $1 ás $2",
-	"wikilog-comment-anonsig": "$3 (anónimo)",
-	"wikilog-comment-pending": "Este comentario está á espera de aprobación.",
-	"wikilog-comment-deleted": "Borrouse o comentario.",
-	"wikilog-comment-omitted-x": "Comentario omitido (#$1).",
-	"wikilog-comment-autosumm": "Novo comentario de $1: $2",
-	"wikilog-reply-to-comment": "Publicar unha resposta a este comentario",
-	"wikilog-comment-page": "Ir á páxina deste comentario",
-	"wikilog-comment-edit": "Editar este comentario",
-	"wikilog-comment-delete": "Borrar este comentario",
-	"wikilog-comment-history": "Ver o historial de comentarios",
-	"wikilog-comment-approve": "Aprobar este comentario (acción inmediata)",
-	"wikilog-comment-reject": "Rexeitar este comentario (acción inmediata)",
-	"wikilog-newtalk-summary": "creada automaticamente polo wikilog",
-	"wikilog-feed-ns-title": "Artigos do wikilog en $1",
-	"wikilog-feed-description": "Lea as mensaxes máis recentes nesta fonte de novas.",
-	"wikilog-comment-feed-title1": "Comentario de $2 (#$1)",
-	"wikilog-comment-feed-title2": "Comentario de $2 a \"$3\" (#$1)",
-	"wikilog-comment-feed-description": "Lea os comentarios máis recentes nesta fonte de novas.",
-	"wikilog-title-comments": "Comentarios - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Erro do wikilog",
-	"wikilog-invalid-param": "Parámetro non válido: $1.",
-	"wikilog-invalid-author": "Autor non válido: $1.",
-	"wikilog-invalid-date": "Data non válida: $1.",
-	"wikilog-invalid-tag": "Etiqueta non válida: $1.",
-	"wikilog-invalid-file": "Ficheiro non válido: $1.",
-	"wikilog-file-not-found": "Ficheiro non existente: $1.",
-	"wikilog-not-an-image": "O ficheiro non é unha imaxe: $1.",
-	"wikilog-out-of-context": "Aviso: estanse a usar fóra de contexto varias etiquetas do wikilog.\nSó se deberían empregar en artigos pertencentes ao espazo de nomes Wikilog.",
-	"wikilog-too-many-authors": "Aviso: hai demasiados autores mencionados nesta mensaxe do wikilog.",
-	"wikilog-too-many-tags": "Aviso: hai demasiadas etiquetas mencionadas nesta mensaxe do wikilog.",
-	"wikilog-comment-is-empty": "O comentario publicado está baleiro.",
-	"wikilog-comment-too-long": "O comentario publicado é demasiado longo.",
-	"wikilog-comment-invalid-name": "O nome proporcionado non é válido.",
-	"wikilog-no-such-article": "O artigo do wikilog solicitado non existe.",
-	"wikilog-reading-draft": "Este artigo do wikilog é un borrador, aínda non foi publicado.",
-	"wikilog-posting-anonymously": "Non accedeu ao sistema;\no seu comentario se publicará de xeito anónimo, identificado polo seu enderezo de conexión á Internet.\nDebería proporcionar un pseudónimo enriba para identificar o seu comentario ou $1 para que se lle poida atribuír a súa autoría correctamente.",
-	"wikilog-anonymous-moderated": "Tras enviar o seu comentario, non será visible inmediatamente nesta páxina.\nO comentario non aparecerá ata que sexa revisado por un moderador.",
-	"wikilog-post-comment": "Publicar un novo comentario",
-	"wikilog-post-reply": "Publicar unha nova resposta",
-	"wikilog-form-legend": "Buscar mensaxes do wikilog",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Categoría:",
-	"wikilog-form-name": "Nome:",
-	"wikilog-form-author": "Autor:",
-	"wikilog-form-tag": "Etiqueta:",
-	"wikilog-form-date": "Data:",
-	"wikilog-form-status": "Estado:",
-	"wikilog-form-preview": "Vista previa:",
-	"wikilog-form-comment": "Comentario:",
-	"wikilog-show-all": "Todos os comentarios",
-	"wikilog-show-published": "Publicados",
-	"wikilog-show-drafts": "Borradores",
-	"wikilog-submit": "Enviar",
-	"wikilog-preview": "Vista previa",
-	"wikilog-edit-lc": "editar",
-	"wikilog-reply-lc": "responder",
-	"wikilog-delete-lc": "borrar",
-	"wikilog-approve-lc": "aprobar",
-	"wikilog-reject-lc": "rexeitar",
-	"wikilog-page-lc": "páxina",
-	"wikilog-history-lc": "historial",
-	"wikilog-doc-import-comment": "Documentación importada do wikilog"
-}
diff --git a/i18n/wikilog/grc.json b/i18n/wikilog/grc.json
deleted file mode 100644
index 25cd96b..0000000
--- a/i18n/wikilog/grc.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Crazymadlover",
-			"Omnipaedista"
-		]
-	},
-	"wikilog-new-item-go": "Ποιεῖν",
-	"wikilog-updated": "Ἐνημερωθέν",
-	"wikilog-title": "Ἐπιγραφή",
-	"wikilog-actions": "Δράσεις",
-	"wikilog-comments": "Σχόλια",
-	"wikilog-view-summary": "Σύνοψις",
-	"wikilog-anonymous-mark": "(ἀνώνυμος)",
-	"wikilog-form-category": "Κατηγορία:",
-	"wikilog-form-name": "Ὄνομα:",
-	"wikilog-form-author": "Δημιουργός:",
-	"wikilog-form-date": "Ἡμερομηνία:",
-	"wikilog-form-comment": "Σχόλιον:",
-	"wikilog-edit-lc": "μεταγράφειν"
-}
diff --git a/i18n/wikilog/gsw.json b/i18n/wikilog/gsw.json
deleted file mode 100644
index d55f767..0000000
--- a/i18n/wikilog/gsw.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Als-Holder"
-		]
-	},
-	"wikilog-desc": "Fiegt Blog-Funktione derzue go ne Wiki-Blog Hybrid aalege",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Kommentar zue Wikilog-Byytreg poschte",
-	"right-wl-moderation": "Moderation vu Kommentar zue Wikilog-Byytreg",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-log-pagename": "Wikilog-Aktionslogbuech",
-	"wikilog-log-pagetext": "Unte het s e Lischt mit Wikilog-Aktione.",
-	"wikilog-log-cmt-approve": "het dr Kommentar [[$1]] prieft",
-	"wikilog-log-cmt-reject": "het dr Kommentar [[$1]] zruckgwise",
-	"wikilog-log-cmt-rejdel": "Het e Wikilog-Kommentar zruckgwise vu [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Wikilog-Aktione",
-	"wikilog-missing-wikilog": "Des isch d [[{{int:wikilog-help}}|Wikilogbuech]]-Syte fir [[{{FULLPAGENAME}}]].\n\nDes Wikilogbuech git s nonig.\n\nGo Artikel vereffentlige oder andri Wikilog-Funktione meglig mache, muess es zerscht aagleit wäre.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Des Wikilog aalege].</span>",
-	"wikilog-information": "Wikilog-Information",
-	"wikilog-post-count-published": "$1 {{PLURAL:$1|Byytrag isch|Byytreg sin}} in däm Wiklog vereffentligt wore,",
-	"wikilog-post-count-drafts": "S het {{PLURAL:$1|ei Byytrag, wu nit vereffentligt isch|$1 Byytreg, wu nit vereffentligt sin}} (Entwurf),",
-	"wikilog-post-count-all": "Insgsamt het s $1 {{PLURAL:$1|Byytrag|Byytreg}}.",
-	"wikilog-new-item": "E neje Wikilog-Byytrag aalege",
-	"wikilog-new-item-go": "Aalege",
-	"wikilog-item-name": "Byytrags-Name:",
-	"wikilog-published": "Vereffentligt",
-	"wikilog-updated": "Aktualisiert",
-	"wikilog-draft": "Entwurf",
-	"wikilog-authors": "Autore",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Titel",
-	"wikilog-actions": "Aktione",
-	"wikilog-comments": "Kommentar",
-	"wikilog-replies": "Antworte",
-	"wikilog-view-archives": "Archiv",
-	"wikilog-view-summary": "Zämmefassig",
-	"wikilog-draft-title-mark": "(Entwurf)",
-	"wikilog-anonymous-mark": "(anonym)",
-	"wikilog-pager-newest": "nejschti",
-	"wikilog-pager-oldest": "eltschti",
-	"wikilog-pager-prev": "vorige",
-	"wikilog-pager-next": "negschte",
-	"wikilog-pager-first": "erschte",
-	"wikilog-pager-last": "letschte",
-	"wikilog-pager-empty": "(kei Byytreg)",
-	"wikilog-no-comments": "kei Kommentar",
-	"wikilog-has-comments": "{{PLURAL:$1|ei Kommentar|$1 Kommentar}}",
-	"wikilog-summary-footer": "Byydrait dur $7 uf [[$1|$2]] am $8 am $9 ($15) Uhr, $10.",
-	"wikilog-summary-footer-single": "Byydrait dur $7 am $8 am $9 ($15) Uhr, $10.",
-	"wikilog-summary-uncategorized": "Nit kategorisiert",
-	"wikilog-summary-categories": "Kategorisiert unter $2",
-	"wikilog-summary-more": "[[$3|→ wyterläse …]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|Diskussion]])",
-	"wikilog-edit-hint": "„Wikilog“-Artikel bearbeite: $1",
-	"wikilog-edit-fieldset-legend": "Wikilog-Optione:",
-	"wikilog-edit-signpub": "Die Artikel unterzeichne un publiziere",
-	"wikilog-edit-signpub-tooltip": "Sorgt derfir, ass dää Artikel bim Spychere unterzeichnet un publiziert wird im Wikilog.\nSchalt des Chäschtli uus, wänn Du dr Artikel as Entwurf witt bhalte.",
-	"wikilog-comment-permalink": "$1 am $2",
-	"wikilog-comment-note-item": "ersetzt dur $1",
-	"wikilog-comment-note-edited": "s letscht Mol bearbeitet am $1 am $2",
-	"wikilog-comment-anonsig": "$3 (anonym)",
-	"wikilog-comment-pending": "Dää Kommentar muess no zuegloo wäre.",
-	"wikilog-comment-deleted": "Dää Kommentar isch glescht wore.",
-	"wikilog-comment-omitted-x": "Aamerkig uusgloo (#$1).",
-	"wikilog-comment-autosumm": "Neje Kommentar vu $1: $2",
-	"wikilog-reply-to-comment": "E Antwort uf dää Kommentar poschte",
-	"wikilog-comment-page": "Zue däre Kommentarsyte goh",
-	"wikilog-comment-edit": "Dää Kommentar bearbeite",
-	"wikilog-comment-delete": "Dää Kommentar lesche",
-	"wikilog-comment-history": "Kommentar-Versionsgschicht aaluege",
-	"wikilog-comment-approve": "Dää Kommentar zoeloo (Diräktaktion)",
-	"wikilog-comment-reject": "Dää Kommentar abwyse (Diräktaktion)",
-	"wikilog-newtalk-summary": "automatisch aagleit dur Wikilog",
-	"wikilog-feed-ns-title": "$1 „Wikilog“-Artikel",
-	"wikilog-feed-description": "Di nejschte Byytreg in däm Feed läse.",
-	"wikilog-comment-feed-title1": "Aamerkig vu $2 (#$1)",
-	"wikilog-comment-feed-title2": "Aamerkig vu $2 zue $3 (#$1)",
-	"wikilog-comment-feed-description": "Di nejschte Aamerkige in däm Feed läse.",
-	"wikilog-title-comments": "Kommentar - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Wikilog-Fähler",
-	"wikilog-invalid-param": "Nit giltige Parameter: $1.",
-	"wikilog-invalid-author": "Nit giltige Autor: $1.",
-	"wikilog-invalid-date": "Nit giltig Datum: $1.",
-	"wikilog-invalid-tag": "Nit giltig Tag: $1.",
-	"wikilog-invalid-file": "Nit giltigi Datei: $1.",
-	"wikilog-file-not-found": "Datei git s nit: $1",
-	"wikilog-not-an-image": "Datei isch kei Bild: $1.",
-	"wikilog-out-of-context": "Warnig: Wikilog-Tags wäre nit im Zämmehang verwändet.\nSi sotte numen in Byytreg im Wikilog-Namensruum brucht wäre.",
-	"wikilog-too-many-authors": "Warnig: In däm Wikilog-Byytrag wäre zvil Autore ufgfiert.",
-	"wikilog-too-many-tags": "Warnig: Zvil Tags wären in däm Wikilog-Byytrag erfasst.",
-	"wikilog-comment-is-empty": "Dr gschickt Kommentar isch läär.",
-	"wikilog-comment-too-long": "Dr gschickt Kommentar isch z lang.",
-	"wikilog-comment-invalid-name": "Dr Name, wu Du aagee hesch, isch nit giltig.",
-	"wikilog-no-such-article": "Dr aagforderet Wikilog-Artikel git s nit.",
-	"wikilog-reading-draft": "Dää Wikilog-Byytrag isch e Entwurf, är isch nonig vereffentligt.",
-	"wikilog-posting-anonymously": "Du bisch zur Zyt nit aagmäldet; Dyy Kommentar wird anonym verschickt, idäntifiziert dur Dyy Internetverbindigsadräss. Du sottsch oben entwäder e Pseudonym aagee go dr Kommentar idäntifiziere oder di $1, ass er rächt zuegordnet wird.",
-	"wikilog-anonymous-moderated": "Wänn Du Dyy Kommentar abgschickt hesch, isch er nit glyy uf dr Syte z sähne.\nDr Kommentar erschynt ärscht, wänn er dur e Moderator zuegloo isch.",
-	"wikilog-post-comment": "E neje Kommentar poschte",
-	"wikilog-post-reply": "E neji Antwort poschte",
-	"wikilog-form-legend": "No Wikilog-Byytreg sueche",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Kategorii:",
-	"wikilog-form-name": "Name:",
-	"wikilog-form-author": "Autor:",
-	"wikilog-form-tag": "Tag:",
-	"wikilog-form-date": "Datum:",
-	"wikilog-form-status": "Status:",
-	"wikilog-form-preview": "Vorschau:",
-	"wikilog-form-comment": "Kommentar:",
-	"wikilog-show-all": "Alli Byytreg",
-	"wikilog-show-published": "Vereffentligt",
-	"wikilog-show-drafts": "Entwirf",
-	"wikilog-submit": "Abschicke",
-	"wikilog-preview": "Vorschau",
-	"wikilog-edit-lc": "bearbeite",
-	"wikilog-reply-lc": "Antwort gee",
-	"wikilog-delete-lc": "lesche",
-	"wikilog-approve-lc": "zueloo",
-	"wikilog-reject-lc": "abwyyse",
-	"wikilog-page-lc": "Syte",
-	"wikilog-history-lc": "Versionsgschicht",
-	"wikilog-doc-import-comment": "Importierti Wikilog-Dokumäntation"
-}
diff --git a/i18n/wikilog/ha.json b/i18n/wikilog/ha.json
deleted file mode 100644
index 9d713e3..0000000
--- a/i18n/wikilog/ha.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-	"@metadata": {
-		"authors": []
-	},
-	"wikilog-new-item-go": "Ƙirƙira",
-	"wikilog-view-summary": "Taƙaici",
-	"wikilog-form-category": "Rukuni:",
-	"wikilog-delete-lc": "soke",
-	"wikilog-page-lc": "shafi"
-}
diff --git a/i18n/wikilog/he.json b/i18n/wikilog/he.json
deleted file mode 100644
index 860ffd4..0000000
--- a/i18n/wikilog/he.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Rotemliss",
-			"YaronSh",
-			"חיים"
-		]
-	},
-	"wikilog-log-cmt-approve": "הערה שאושרה \"[[$1]]\"",
-	"wikilog-log-cmt-reject": "הערה שנדחתה \"[[$1]]\"",
-	"wikilog-tab": "יומן ויקי",
-	"wikilog-tab-title": "פעולות יומן ויקי",
-	"wikilog-new-item-go": "יצירה",
-	"wikilog-item-name": "שם הדף:",
-	"wikilog-published": "פורסמה",
-	"wikilog-updated": "עודכן",
-	"wikilog-draft": "טיוטה",
-	"wikilog-authors": "כותבים",
-	"wikilog-title": "כותרת",
-	"wikilog-actions": "פעולות",
-	"wikilog-comments": "הערות",
-	"wikilog-replies": "תגובות",
-	"wikilog-view-archives": "ארכיונים",
-	"wikilog-view-summary": "תקציר",
-	"wikilog-draft-title-mark": "(טיוטה)",
-	"wikilog-anonymous-mark": "(אנונימי)",
-	"wikilog-pager-newest": "החדשים ביותר",
-	"wikilog-pager-oldest": "הישנים ביותר",
-	"wikilog-pager-prev": "הקודם",
-	"wikilog-pager-next": "הבא",
-	"wikilog-pager-first": "הראשון",
-	"wikilog-pager-last": "האחרון",
-	"wikilog-pager-empty": "(אין פריטים)",
-	"wikilog-no-comments": "אין תגובות",
-	"wikilog-has-comments": "{{PLURAL:$1|תגובה אחת|$1 תגובות}}",
-	"wikilog-summary-footer": "פורסם על ידי $7 אל [[$1|$2]] בתאריך $8 בשעה $9 ($15), $10.",
-	"wikilog-summary-footer-single": "פורסם על ידי $7 בתאריך $8 בשעה $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "ללא קטגוריה",
-	"wikilog-summary-more": "[[$3|→ להמשך הקריאה...]]",
-	"wikilog-edit-signpub": "חתמו ופרסמו ערך זה",
-	"wikilog-comment-pending": "הערה זו ממתינה לאישור.",
-	"wikilog-comment-deleted": "הערה זו נמחקה.",
-	"wikilog-comment-autosumm": "הערה חדשה על ידי $1: $2",
-	"wikilog-reply-to-comment": "פרסום תגובה לתגובה זו",
-	"wikilog-comment-page": "מעבר לדף ההערה",
-	"wikilog-comment-edit": "עריכת תגובה זו",
-	"wikilog-comment-delete": "מחיקת תגובה זו",
-	"wikilog-comment-history": "צפייה בהיסטוריית ההערות",
-	"wikilog-comment-approve": "אשר הערה זו (פעולה מידית)",
-	"wikilog-comment-reject": "דחה הערה זו (פעולה מידית)",
-	"wikilog-feed-description": "קריאת ההודעות העדכניות ביותר בהזנה זו.",
-	"wikilog-title-comments": "תגובות - $1",
-	"wikilog-invalid-param": "הפרמטר אינו תקין: $1.",
-	"wikilog-invalid-author": "המחבר אינו תקין: $1.",
-	"wikilog-invalid-date": "התאריך אינו תקין: $1.",
-	"wikilog-invalid-tag": "תגית בלתי תקינה: $1.",
-	"wikilog-invalid-file": "קובץ בלתי תקין: $1.",
-	"wikilog-file-not-found": "קובץ שאינו קיים: $1.",
-	"wikilog-not-an-image": "הקובץ אינו קובץ תמונה: $1.",
-	"wikilog-comment-is-empty": "התגובה שנשלחה ריקה.",
-	"wikilog-comment-too-long": "ההערה שנשלחה ארוכה מדי.",
-	"wikilog-comment-invalid-name": "השם שסופק אינו תקין.",
-	"wikilog-post-comment": "פרסום הערה חדשה",
-	"wikilog-post-reply": "פרסום תגובה חדשה",
-	"wikilog-form-category": "קטגוריה:",
-	"wikilog-form-name": "שם:",
-	"wikilog-form-author": "מחבר:",
-	"wikilog-form-tag": "תגית:",
-	"wikilog-form-date": "תאריך:",
-	"wikilog-form-status": "מצב:",
-	"wikilog-form-preview": "תצוגה מקדימה:",
-	"wikilog-form-comment": "הערה:",
-	"wikilog-show-all": "כל ההודעות",
-	"wikilog-show-published": "פורסמו",
-	"wikilog-show-drafts": "טיוטות",
-	"wikilog-submit": "שליחה",
-	"wikilog-preview": "תצוגה מקדימה",
-	"wikilog-edit-lc": "עריכה",
-	"wikilog-reply-lc": "תגובה",
-	"wikilog-delete-lc": "מחיקה",
-	"wikilog-approve-lc": "אישור",
-	"wikilog-reject-lc": "דחייה",
-	"wikilog-page-lc": "דף",
-	"wikilog-history-lc": "היסטוריה"
-}
diff --git a/i18n/wikilog/hr.json b/i18n/wikilog/hr.json
deleted file mode 100644
index 482c5c3..0000000
--- a/i18n/wikilog/hr.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Tivek"
-		]
-	},
-	"wikilog-desc": "Dodaje mogućnosti bloganja i stvara hibrid wikija i bloga",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Piši komentare na članke wikiloga",
-	"right-wl-moderation": "Moderacija komentara na članke wikiloga",
-	"wikilog-specialwikilog-title": "Wikilogovi",
-	"wikilog-log-pagename": "Evidencija radnji na wikilogu",
-	"wikilog-log-pagetext": "Ispod je popis radnji na wikilogu.",
-	"wikilog-log-cmt-approve": "odobren komentar \"[[$1]]\"",
-	"wikilog-log-cmt-reject": "odbijen komentar \"[[$1]]\"",
-	"wikilog-log-cmt-rejdel": "Odbijen komentar na wikilog od [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Radnje na wikilogu",
-	"wikilog-missing-wikilog": "Ovo je stranica [[{{int:wikilog-help}}|wikiloga]] za [[{{FULLPAGENAME}}]].\n\nOvaj wikilog još ne postoji.\nKako biste mogli objavljivati članke i koristiti ostale mogućnosti, wikilog prvo mora biti stvoren.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Stvori ovaj wikilog].</span>",
-	"wikilog-information": "Informacije o wikilogu",
-	"wikilog-post-count-published": "{{PLURAL:$1|1 članak je objavljen|$1 članka su objavljena|$1 članaka je objavljeno}} na ovom wikilogu",
-	"wikilog-post-count-drafts": "{{PLURAL:$1|1 članak je neobjavljen (skiciran)|$1 članka su neobjavljena (skicirana)|$1 članaka je neobjavljeno (skicirano)}}",
-	"wikilog-post-count-all": "Ukupno ima {{PLURAL:$1|jedan članak|$1 članka|$1 članaka}}.",
-	"wikilog-new-item": "Započni novi članak na wikilogu",
-	"wikilog-new-item-go": "Započni",
-	"wikilog-item-name": "Ime članka:",
-	"wikilog-published": "Objavljen",
-	"wikilog-updated": "Ažuriran",
-	"wikilog-draft": "Skica",
-	"wikilog-authors": "Autori",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Naslov",
-	"wikilog-actions": "Radnje",
-	"wikilog-comments": "Komentari",
-	"wikilog-replies": "Odgovori",
-	"wikilog-view-archives": "Arhive",
-	"wikilog-view-summary": "Sažetak",
-	"wikilog-draft-title-mark": "(skica)",
-	"wikilog-anonymous-mark": "(neprijavljen)",
-	"wikilog-pager-newest": "najnoviji",
-	"wikilog-pager-oldest": "najstariji",
-	"wikilog-pager-prev": "prethodni",
-	"wikilog-pager-next": "sljedeći",
-	"wikilog-pager-first": "prvi",
-	"wikilog-pager-last": "zadnji",
-	"wikilog-pager-empty": "(nema stavki)",
-	"wikilog-no-comments": "nema komentara",
-	"wikilog-has-comments": "{{PLURAL:$1|jedan komentar|$1 komentara|$1 komentara}}",
-	"wikilog-summary-footer": "{{PLURAL:$5|{{GENDER:$6|Poslao $7|Poslala $7|Poslao/poslala $7}}|Poslali $7|Poslali $7}} na [[$1|$2]], $8 u $9 ($15), $10.",
-	"wikilog-summary-footer-single": "{{PLURAL:$5|{{GENDER:$6|Poslao $7|Poslala $7|Poslao/poslala $7}}|Poslali $7|Poslali $7}}, $8 u $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Nekategorizirano",
-	"wikilog-summary-categories": "Spremljeno pod $2"
-}
diff --git a/i18n/wikilog/hsb.json b/i18n/wikilog/hsb.json
deleted file mode 100644
index a99a693..0000000
--- a/i18n/wikilog/hsb.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Michawiki"
-		]
-	},
-	"wikilog-desc": "Přidawa blogowe funkcije, zo by so wikiblogowy hybrid wutworił",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Komentary k přinoškam Wikilog pósłać",
-	"right-wl-moderation": "Moderacija komentarow k přinoškam Wikilog",
-	"wikilog-specialwikilog-title": "Wikiprotokole",
-	"wikilog-log-pagename": "Protokol akcijow Wikiloga",
-	"wikilog-log-pagetext": "Deleka je lisćina wikilogowych akcijow.",
-	"wikilog-log-cmt-approve": "schawli komentar [[$1]]",
-	"wikilog-log-cmt-reject": "wotpokaza komentar [[$1]]",
-	"wikilog-log-cmt-rejdel": "Wotpokazany wikilogowy komentar wot [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Akcije wikiloga",
-	"wikilog-missing-wikilog": "To je [[{{int:wikilog-help}}|wikilogowa]] strona za [[{{FULLPAGENAME}}]].\n\nTutón wikilog hišće njeeksistuje.\nZo bychu so nastawki wozjewili a druhe wikilogowe funkcije zmóžnili, dyrbi so wón najprjedy wutworić.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Tutón wikilog wutworić].</span>",
-	"wikilog-information": "Informacije wikiloga",
-	"wikilog-post-count-published": "W tutym wikilogu {{PLURAL:$1|je jedyn wozjewjeny přinošk|stej $1 wozjewjenej přinoškaj|su $1 wozjewjene přinoški|je $1 wozjewjenych přinoškow}},",
-	"wikilog-post-count-drafts": "W tutym wikilogu {{PLURAL:$1|je jedyn njewozjewjeny přinošk (naćisk)|stej $1 njewozjewjenej přinoškaj (naćiskaj)|su $1 njewozjewjene přinoški (naćiski)|je $1 njewozjewjenych přinoškow (naćiskow)}},",
-	"wikilog-post-count-all": "Dohromady {{PLURAL:$1|je jedyn přinošk|stej $1 přinoškaj|su $1 přinoški|je $1 přinoškow}}.",
-	"wikilog-new-item": "Nowy wikilogowy přinošk wutowrić",
-	"wikilog-new-item-go": "Wutworić",
-	"wikilog-item-name": "Mjeno přinoška:",
-	"wikilog-published": "Wozjewjeny",
-	"wikilog-updated": "Zaktualizowany",
-	"wikilog-draft": "Naćisk",
-	"wikilog-authors": "Awtorojo",
-	"wikilog-wikilog": "Wikiprotokol",
-	"wikilog-title": "Titul",
-	"wikilog-actions": "Akcije",
-	"wikilog-comments": "Komentary",
-	"wikilog-replies": "Wotmołwy",
-	"wikilog-view-archives": "Archiwy",
-	"wikilog-view-summary": "Zjeće",
-	"wikilog-draft-title-mark": "(naćisk)",
-	"wikilog-anonymous-mark": "(anonmny)",
-	"wikilog-pager-newest": "najnowši",
-	"wikilog-pager-oldest": "najstarši",
-	"wikilog-pager-prev": "předchadny",
-	"wikilog-pager-next": "přichodny",
-	"wikilog-pager-first": "prěni",
-	"wikilog-pager-last": "posledni",
-	"wikilog-pager-empty": "(žane zapiski)",
-	"wikilog-no-comments": "žane komentary",
-	"wikilog-has-comments": "{{PLURAL:$1|jedyn komentar|$1 komentaraj|$1 komentary|$1 komentarow}}",
-	"wikilog-summary-footer": "Pósłany wot $7 do [[$1|$2]] $8 $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Pósłany wot $7 $8 $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Njekategorizowany",
-	"wikilog-summary-categories": "Wotpołoženy pod $2",
-	"wikilog-summary-more": "[[$3|→ dale čitać...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|diskusija]])",
-	"wikilog-edit-hint": "Nastawk wikiprotokola wobdźěłać: $1",
-	"wikilog-edit-fieldset-legend": "Wikilogowe opcije:",
-	"wikilog-edit-signpub": "Tutón přinošk podpisać a wozjewić",
-	"wikilog-edit-signpub-tooltip": "Zawinuje, zo so tutón přinošk w swojim wikilogu podpisuje a wozjewja, hdyž so składuje.\nWotstroń markěrowanje z kašćika, zo by so přinošk jako naćisk wobchował.",
-	"wikilog-comment-permalink": "$1 $2",
-	"wikilog-comment-note-item": "do $1 pósłany",
-	"wikilog-comment-note-edited": "posledni raz $1 $2 změnjeny",
-	"wikilog-comment-anonsig": "$3 (anonymny)",
-	"wikilog-comment-pending": "Tutón komentar na schwalenje čaka.",
-	"wikilog-comment-deleted": "Tutón komentar bu zničeny.",
-	"wikilog-comment-omitted-x": "Komentar wuwostajeny (#$1)",
-	"wikilog-comment-autosumm": "Nowy komentar wot $1: $2",
-	"wikilog-reply-to-comment": "Wotmołwu na tutón komentar pósłać",
-	"wikilog-comment-page": "Ke komentarowej stronje",
-	"wikilog-comment-edit": "Tutón komentar wobdźěłać",
-	"wikilog-comment-delete": "Tutón komentar zničić",
-	"wikilog-comment-history": "Historiju sej wobhladać",
-	"wikilog-comment-approve": "Tutón komentar schwalić (hnydomniša akcija)",
-	"wikilog-comment-reject": "Tutón komentar wotpokazać (hnydomniša akcija)",
-	"wikilog-newtalk-summary": "awtomatisce přez Wikilog wutworjeny",
-	"wikilog-feed-ns-title": "Nastawki wikiprotokola z $1",
-	"wikilog-feed-description": "Čitaj najnowše přinoški w tutym kanalu.",
-	"wikilog-comment-feed-title1": "Komentar wot $2 (#$1)",
-	"wikilog-comment-feed-title2": "Komentar wot $2 na $3 (#$1)",
-	"wikilog-comment-feed-description": "Najnowše komentary w tutym kanalu čitać.",
-	"wikilog-title-comments": "Komentary - $1",
-	"wikilog-error-msg": "Wikiprotokol: $1",
-	"wikilog-error-title": "Wikiprotokolowy zmylk",
-	"wikilog-invalid-param": "Njepłaćiwy parameter: $1.",
-	"wikilog-invalid-author": "Njepłaćiwy awtor: $1",
-	"wikilog-invalid-date": "Njepłaćiwy datum: $1",
-	"wikilog-invalid-tag": "Njepłaćiwa taflička: $1",
-	"wikilog-invalid-file": "Njepłaćiwa dataja: $1",
-	"wikilog-file-not-found": "Njeeksistowaca dataja: $1",
-	"wikilog-not-an-image": "Dataja njeje wobraz: $1.",
-	"wikilog-out-of-context": "Warnowanje: Wikilogowe taflički wužiwaja so zwonka konteksta.\nMěli so jenož w přinoškach we mjenowym rumje Wikilog wužiwać.",
-	"wikilog-too-many-authors": "Warnowanje: Přewjele watorow je w tutym wikilogowym přinošku podate.",
-	"wikilog-too-many-tags": "Warnowanje: Přewjele tafličkow je w tutym wikilogowym přinošku podate.",
-	"wikilog-comment-is-empty": "Wotpósłany komentar je prózdny.",
-	"wikilog-comment-too-long": "Wotpósłany komentar je předołhi.",
-	"wikilog-comment-invalid-name": "Podate mjeno je njepłaćiwe.",
-	"wikilog-no-such-article": "Požadany wikilogowy přinošk njeeksistuje.",
-	"wikilog-reading-draft": "Wikilogowy přinošk je naćisk, dotal njeje wozjewjeny.",
-	"wikilog-posting-anonymously": "Tuchwilu njejsy přizjewjeny;\ntwój komentar budźe so anonymnje słać a so přez internetnu zwiskowu adresu identifikować.\nTy měł pak horjeka pseudonym podać, zo by swój komentar identifikował, pak so $1, zo by so porjadnje připokazał.",
-	"wikilog-anonymous-moderated": "Po tym zo sy swój komentar wotpósłał, njebudźe hnydom widźomny na stronje.\nKomentar budźe hakle jewić, po tym zo moderator je jón přepruwował.",
-	"wikilog-post-comment": "Nowy komentar pósłać",
-	"wikilog-post-reply": "Nowu wotmołwu pósłać",
-	"wikilog-form-legend": "Wikilogowe přinoški pytać",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Kategorija:",
-	"wikilog-form-name": "Mjeno:",
-	"wikilog-form-author": "Awtor:",
-	"wikilog-form-tag": "Taflička:",
-	"wikilog-form-date": "Datum:",
-	"wikilog-form-status": "Status:",
-	"wikilog-form-preview": "Přehlad:",
-	"wikilog-form-comment": "Komentar:",
-	"wikilog-show-all": "Wšě přinoški",
-	"wikilog-show-published": "Wozjewjeny",
-	"wikilog-show-drafts": "Naćiski",
-	"wikilog-submit": "Wotpósłać",
-	"wikilog-preview": "Přehlad",
-	"wikilog-edit-lc": "wobdźěłać",
-	"wikilog-reply-lc": "wotmołwić",
-	"wikilog-delete-lc": "zničić",
-	"wikilog-approve-lc": "schwalić",
-	"wikilog-reject-lc": "wotpokazać",
-	"wikilog-page-lc": "strona",
-	"wikilog-history-lc": "historija",
-	"wikilog-doc-import-comment": "Importowana dokumentacija wo Wikilogu"
-}
diff --git a/i18n/wikilog/hu.json b/i18n/wikilog/hu.json
deleted file mode 100644
index 37893c4..0000000
--- a/i18n/wikilog/hu.json
+++ /dev/null
@@ -1,119 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Dani",
-			"Glanthor Reviol"
-		]
-	},
-	"wikilog-desc": "Blogfunkciók hozzáadása a wikihez, wiki-blog hibridet létrehozva",
-	"wikilog-auto": "Automatikus wikinapló",
-	"wikilog-help": "{{ns:Help}}:Wikinapló",
-	"right-wl-postcomment": "Hozzászólások írása a wikinapló bejegyzésekhez",
-	"right-wl-moderation": "wikinapló bejegyzés hozzászólásainak moderálása",
-	"wikilog-specialwikilog-title": "Wikinaplók",
-	"wikilog-log-pagename": "Wikinapló-műveletek naplója",
-	"wikilog-log-pagetext": "Alább látható a wikinaplón végzett műveletek listája.",
-	"wikilog-log-cmt-approve": "jóváhagyta a következő hozzászólást: [[$1]]",
-	"wikilog-log-cmt-reject": "elutasította a következő hozzászólást: [[$1]]",
-	"wikilog-log-cmt-rejdel": "elutasította [[Special:Contributions/$1|$1]] wikinapló-hozzászólását",
-	"wikilog-tab": "Wikinapló",
-	"wikilog-tab-title": "Wikinapló-műveletek",
-	"wikilog-information": "Wikinapló információ",
-	"wikilog-post-count-published": "{{PLURAL:$1|Egy|$1}} közzétett bejegyzés van a wikinaplóban",
-	"wikilog-post-count-drafts": "{{PLURAL:$1|Egy|$1}} nem közzétett (vázlat) bejegyzés van",
-	"wikilog-post-count-all": "Összesen {{PLURAL:$1|egy|$1}} bejegyzés van.",
-	"wikilog-new-item": "Új wikinapló-bejegyzés létrehozása",
-	"wikilog-new-item-go": "Létrehozás",
-	"wikilog-item-name": "Cikk neve:",
-	"wikilog-published": "Közzétéve",
-	"wikilog-updated": "Frissítve",
-	"wikilog-draft": "Vázlat",
-	"wikilog-authors": "Szerzők",
-	"wikilog-wikilog": "Wikinapló",
-	"wikilog-title": "Cím",
-	"wikilog-actions": "Műveletek",
-	"wikilog-comments": "Hozzászólások",
-	"wikilog-replies": "Válaszok",
-	"wikilog-view-archives": "Archívumok",
-	"wikilog-view-summary": "Összefoglaló",
-	"wikilog-draft-title-mark": "(vázlat)",
-	"wikilog-anonymous-mark": "(névtelen)",
-	"wikilog-pager-newest": "legújabb",
-	"wikilog-pager-oldest": "legrégebbi",
-	"wikilog-pager-prev": "előző",
-	"wikilog-pager-next": "következő",
-	"wikilog-pager-first": "legelső",
-	"wikilog-pager-last": "legutolsó",
-	"wikilog-pager-empty": "(nincsenek elemek)",
-	"wikilog-no-comments": "nincsenek hozzászólások",
-	"wikilog-has-comments": "{{PLURAL:$1|egy|$1}} hozzászólás",
-	"wikilog-summary-footer": "Közzétette $7 a(z) [[$1|$2]] wikinaplón ekkor: $8 $9 ($15); $10",
-	"wikilog-summary-footer-single": "Közzétette $7 a(z) $8 wikinaplón ekkor: $9 ($15); $10.",
-	"wikilog-summary-uncategorized": "Nem kategorizált",
-	"wikilog-summary-categories": "Kategóriák: $2",
-	"wikilog-summary-more": "[[$3|→ olvass tovább…]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|vita]])",
-	"wikilog-edit-fieldset-legend": "Wikinapló-beállítások:",
-	"wikilog-edit-signpub": "Dokumentum aláírása és közzététele",
-	"wikilog-edit-signpub-tooltip": "Hatására ez a szócikk alá lesz írva és közzé lesz téve a wikinaplójában mentéskor.\nVedd ki a pipát a doboz elől, ha vázlatként szeretnéd elmenteni a cikket.",
-	"wikilog-comment-anonsig": "$3 (névtelen)",
-	"wikilog-comment-pending": "Ez a hozzászólás elfogadásra vár.",
-	"wikilog-comment-deleted": "Ez a hozzászólás törölve lett.",
-	"wikilog-comment-autosumm": "$1 új hozzászólást írt: $2",
-	"wikilog-reply-to-comment": "Válasz írása ehhez a hozzászóláshoz",
-	"wikilog-comment-page": "Ugrás a hozzászólás lapjára",
-	"wikilog-comment-edit": "Hozzászólás szerkesztése",
-	"wikilog-comment-delete": "Hozzászólás törlése",
-	"wikilog-comment-history": "Hozzászólás története",
-	"wikilog-comment-approve": "Hozzászólás jóváhagyása (azonnali művelet)",
-	"wikilog-comment-reject": "Hozzászólás elutasítása (azonnali művelet)",
-	"wikilog-newtalk-summary": "automatikusan létrehozta a Wikinapló",
-	"wikilog-feed-description": "A hírcsatorna legújabb hozzászólásainak olvasása",
-	"wikilog-comment-feed-title1": "$2 hozzászólása (#$1)",
-	"wikilog-comment-feed-title2": "$2 hozzászólása a(z) $3 lapon (#$1)",
-	"wikilog-title-comments": "Megjegyzések – $1",
-	"wikilog-error-msg": "Wikinapló: $1",
-	"wikilog-error-title": "Wikinapló hiba",
-	"wikilog-invalid-param": "Érvénytelen paraméter: $1.",
-	"wikilog-invalid-author": "Érvénytelen szerző: $1.",
-	"wikilog-invalid-date": "Érvénytelen dátum: $1.",
-	"wikilog-invalid-tag": "Érvénytelen címke: $1.",
-	"wikilog-invalid-file": "Érvénytelen fájl: $1.",
-	"wikilog-file-not-found": "Nem létező fájl: $1.",
-	"wikilog-not-an-image": "A fájl nem kép: $1.",
-	"wikilog-out-of-context": "Figyelem: a wikinapló címkéi nem a megfelelő helyen vannak használva.\nCsak a Wikinapló névterében lévő lapokon használhatóak.",
-	"wikilog-too-many-authors": "Figyelem: túl sok szerző van listázva ebben a wikinapló-hozzászólásban.",
-	"wikilog-too-many-tags": "Figyelem: túl sok címke van listázva ebben a wikinapló-hozzászólásban.",
-	"wikilog-comment-is-empty": "A hozzászólás üres.",
-	"wikilog-comment-too-long": "A hozzászólás túl hosszú.",
-	"wikilog-comment-invalid-name": "A megadott név érvénytelen.",
-	"wikilog-no-such-article": "A kért wikinapló-bejegyzés nem létezik.",
-	"wikilog-reading-draft": "Ez a wikinapló-bejegyzés még vázlat, nincs közzétéve.",
-	"wikilog-posting-anonymously": "Jelenleg nem vagy bejelentkezve;\na hozzászólásod névtelenül lesz közzétéve, az internetkapcsolatod címével lesz azonosítva.\nVagy $1, vagy meg kell adnod egy álnevet, hogy a hozzászólásod meg legyen jelölve a sajátodként.",
-	"wikilog-anonymous-moderated": "A hozzászólásod nem lesz azonnal látható ezen az oldalon, amint elküldted.\nCsak azután fog megjelenni, miután ellenőrizte egy moderátor.",
-	"wikilog-post-comment": "Új hozzászólás elküldése",
-	"wikilog-post-reply": "Új válasz elküldése",
-	"wikilog-form-legend": "Keresés a wikinapló hozzászólásai között",
-	"wikilog-form-wikilog": "Wikinapló:",
-	"wikilog-form-category": "Kategória:",
-	"wikilog-form-name": "Név:",
-	"wikilog-form-author": "Szerző:",
-	"wikilog-form-tag": "Címke:",
-	"wikilog-form-date": "Dátum:",
-	"wikilog-form-status": "Állapot:",
-	"wikilog-form-preview": "Előnézet:",
-	"wikilog-form-comment": "Hozzászólás:",
-	"wikilog-show-all": "Összes bejegyzés",
-	"wikilog-show-published": "Közzétéve",
-	"wikilog-show-drafts": "Vázlatok",
-	"wikilog-submit": "Elküldés",
-	"wikilog-preview": "Előnézet",
-	"wikilog-edit-lc": "szerkesztés",
-	"wikilog-reply-lc": "válasz",
-	"wikilog-delete-lc": "törlés",
-	"wikilog-approve-lc": "elfogadás",
-	"wikilog-reject-lc": "elutasítás",
-	"wikilog-page-lc": "lap",
-	"wikilog-history-lc": "történet",
-	"wikilog-doc-import-comment": "Importált Wikinapló dokumentáció"
-}
diff --git a/i18n/wikilog/ia.json b/i18n/wikilog/ia.json
deleted file mode 100644
index 17c8c59..0000000
--- a/i18n/wikilog/ia.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"McDutchie"
-		]
-	},
-	"wikilog-desc": "Adde functionalitate de blog, creante un hybrido wiki-blog",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Lassar commentos in articulos wikilog",
-	"right-wl-moderation": "Moderation de commentos de articulos wikilog",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-log-pagename": "Registro de actiones wikilog",
-	"wikilog-log-pagetext": "Seque un lista de actiones wikilog.",
-	"wikilog-log-cmt-approve": "approbava le commento [[$1]]",
-	"wikilog-log-cmt-reject": "rejectava le commento [[$1]]",
-	"wikilog-log-cmt-rejdel": "Rejectava un commento wikilog de [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Actiones wikilog",
-	"wikilog-missing-wikilog": "Isto es le pagina [[{{int:wikilog-help}}|wikilog]] pro [[{{FULLPAGENAME}}]].\n\nIste wikilog non existe ancora.\nA fin de publicar articulos e activar altere functiones wikilog, illo debe primo esser create.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Crear iste wikilog].</span>",
-	"wikilog-information": "Information wikilog",
-	"wikilog-post-count-published": "Il ha {{PLURAL:$1|un articulo|$1 articulos}} publicate in iste wikilog,",
-	"wikilog-post-count-drafts": "Il ha {{PLURAL:$1|un articulo|$1 articulos}} non publicate (provisori),",
-	"wikilog-post-count-all": "In total il ha {{PLURAL:$1|un articulo|$1 articulos}}.",
-	"wikilog-new-item": "Crear nove articulo wikilog",
-	"wikilog-new-item-go": "Crear",
-	"wikilog-item-name": "Nomine del articulo:",
-	"wikilog-published": "Publicate",
-	"wikilog-updated": "Actualisate",
-	"wikilog-draft": "Version provisori",
-	"wikilog-authors": "Autores",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Titulo",
-	"wikilog-actions": "Actiones",
-	"wikilog-comments": "Commentos",
-	"wikilog-replies": "Responsas",
-	"wikilog-view-archives": "Archivos",
-	"wikilog-view-summary": "Summario",
-	"wikilog-draft-title-mark": "(version provisori)",
-	"wikilog-anonymous-mark": "(anonyme)",
-	"wikilog-pager-newest": "le plus nove",
-	"wikilog-pager-oldest": "le plus ancian",
-	"wikilog-pager-prev": "precedente",
-	"wikilog-pager-next": "sequente",
-	"wikilog-pager-first": "prime",
-	"wikilog-pager-last": "ultime",
-	"wikilog-pager-empty": "(nulle entrata)",
-	"wikilog-no-comments": "nulle commento",
-	"wikilog-has-comments": "{{PLURAL:$1|un commento|$1 commentos}}",
-	"wikilog-summary-footer": "Publicate per $7 in [[$1|$2]] le $8 a $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Publicate per $7 le $8 a $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Sin categoria",
-	"wikilog-summary-categories": "In {{PLURAL:$1|categoria|categorias}} $2",
-	"wikilog-summary-more": "[[$3|→ continuar a leger...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|discussion]])",
-	"wikilog-edit-hint": "Modificar le articulo wikilog: $1",
-	"wikilog-edit-fieldset-legend": "Optiones de wikilog:",
-	"wikilog-edit-signpub": "Signar e publicar iste articulo",
-	"wikilog-edit-signpub-tooltip": "Face que iste articulo es signate e publicate in iste wikilog al momento que illo es salveguardate.\nDismarca iste quadrato pro retener le articulo como version provisori.",
-	"wikilog-comment-permalink": "le $1 a $2",
-	"wikilog-comment-note-item": "publicate in $1",
-	"wikilog-comment-note-edited": "ultime modification le $1 a $2",
-	"wikilog-comment-anonsig": "$3 (anonyme)",
-	"wikilog-comment-pending": "Iste commento attende approbation.",
-	"wikilog-comment-deleted": "Iste commento ha essite delite.",
-	"wikilog-comment-omitted-x": "Commento omittite (#$1).",
-	"wikilog-comment-autosumm": "Nove commento per $1: $2",
-	"wikilog-reply-to-comment": "Publicar un responsa a iste commento",
-	"wikilog-comment-page": "Visitar le pagina de iste commento",
-	"wikilog-comment-edit": "Modificar iste commento",
-	"wikilog-comment-delete": "Deler iste commento",
-	"wikilog-comment-history": "Vider le historia de commentos",
-	"wikilog-comment-approve": "Approbar iste commento (action immediate)",
-	"wikilog-comment-reject": "Rejectar iste commento (action immediate)",
-	"wikilog-newtalk-summary": "create automaticamente per Wikilog",
-	"wikilog-feed-ns-title": "Articulos wikilog in $1",
-	"wikilog-feed-description": "Leger le articulos le plus recente in iste syndication.",
-	"wikilog-comment-feed-title1": "Commento per $2 (#$1)",
-	"wikilog-comment-feed-title2": "Commento per $2 a $3 (#$1)",
-	"wikilog-comment-feed-description": "Leger le commentos le plus recente in iste syndication.",
-	"wikilog-title-comments": "Commentos - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Error de Wikilog",
-	"wikilog-invalid-param": "Parametro invalide: $1",
-	"wikilog-invalid-author": "Autor invalide: $1",
-	"wikilog-invalid-date": "Data invalide: $1",
-	"wikilog-invalid-tag": "Etiquetta invalide: $1",
-	"wikilog-invalid-file": "File invalide: $1",
-	"wikilog-file-not-found": "File non existe: $1",
-	"wikilog-not-an-image": "File non es un imagine: $1",
-	"wikilog-out-of-context": "Attention: alcun etiquettas de Wikilog es usate foras de contexto.\nIllos deberea solmente esser usate in articulos in le spatio de nomines Wikilog.",
-	"wikilog-too-many-authors": "Attention: Troppo de autores listate in iste articulo Wikilog.",
-	"wikilog-too-many-tags": "Attention: Troppo de etiquettas listate in iste articulo Wikilog.",
-	"wikilog-comment-is-empty": "Le commento inviate es vacue.",
-	"wikilog-comment-too-long": "Le commento inviate es troppo longe.",
-	"wikilog-comment-invalid-name": "Le nomine fornite es invalide.",
-	"wikilog-no-such-article": "Le articulo Wikilog requestate non existe.",
-	"wikilog-reading-draft": "Iste articulo Wikilog es un version provisori, illo non ha ancora essite publicate.",
-	"wikilog-posting-anonymously": "Al momento tu non es authenticate;\ntu commento essera publicate anonymemente, identificate per tu adresse de connexion a Internet.\nTu deberea o fornir un pseudonymo hic supra pro identificar tu commento, o $1 de sorta que le commento sia attribuite correctemente.",
-	"wikilog-anonymous-moderated": "Le commento submittite non essera immediatemente visibile in iste pagina;\nillo apparera post esser revidite per un moderator.",
-	"wikilog-post-comment": "Publicar un nove commento",
-	"wikilog-post-reply": "Publicar un nove responsa",
-	"wikilog-form-legend": "Cercar articulos Wikilog",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Categoria:",
-	"wikilog-form-name": "Nomine:",
-	"wikilog-form-author": "Autor:",
-	"wikilog-form-tag": "Etiquetta:",
-	"wikilog-form-date": "Data:",
-	"wikilog-form-status": "Stato:",
-	"wikilog-form-preview": "Previsualisation:",
-	"wikilog-form-comment": "Commento:",
-	"wikilog-show-all": "Tote le articulos",
-	"wikilog-show-published": "Publicate",
-	"wikilog-show-drafts": "Versiones provisori",
-	"wikilog-submit": "Submitter",
-	"wikilog-preview": "Previsualisar",
-	"wikilog-edit-lc": "modificar",
-	"wikilog-reply-lc": "responder",
-	"wikilog-delete-lc": "deler",
-	"wikilog-approve-lc": "approbar",
-	"wikilog-reject-lc": "rejectar",
-	"wikilog-page-lc": "pagina",
-	"wikilog-history-lc": "historia",
-	"wikilog-doc-import-comment": "Documentation importate de Wikilog"
-}
diff --git a/i18n/wikilog/id.json b/i18n/wikilog/id.json
deleted file mode 100644
index 2dd3d36..0000000
--- a/i18n/wikilog/id.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Farras",
-			"IvanLanin",
-			"Kenrick95"
-		]
-	},
-	"wikilog-desc": "Menambahkan fitur blog, membuat suatu gabungan wiki-blog",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Mengirim komentar untuk artikel wikilog",
-	"right-wl-moderation": "Memoderasi komentar artikel wikilog",
-	"wikilog-specialwikilog-title": "Wikilog",
-	"wikilog-log-pagename": "Log tindakan wikilog",
-	"wikilog-log-pagetext": "Berikut adalah daftar tindakan wikilog.",
-	"wikilog-log-cmt-approve": "komentar disetujui [[$1]]",
-	"wikilog-log-cmt-reject": "komentar ditolak [[$1]]",
-	"wikilog-log-cmt-rejdel": "Komentar wikilog yang ditolak dari [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Tindakan wikilog",
-	"wikilog-missing-wikilog": "Ini adalah halaman [[{{int:wikilog-help}}|wikilog]] untuk [[{{FULLPAGENAME}}]].\n\nWikilog ini belum tersedia.\nUntuk menerbitkan artikel dan mengaktifkan fitur wikilog lain, halaman ini harus dibuat dulu.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Buat wikilog ini].</span>",
-	"wikilog-information": "Informasi wikilog",
-	"wikilog-post-count-published": "Ada {{PLURAL:$1|satu|$1}} artikel terpublikasi di wikilog ini",
-	"wikilog-post-count-drafts": "Ada {{PLURAL:$1|satu|$1}} artikel yang belum terpublikasi (draf) di wikilog ini",
-	"wikilog-post-count-all": "Terdapat total {{PLURAL:$1|satu|$1}} artikel.",
-	"wikilog-new-item": "Buat artikel wikilog baru",
-	"wikilog-new-item-go": "Buat",
-	"wikilog-item-name": "Nama artikel:",
-	"wikilog-published": "Diterbitkan",
-	"wikilog-updated": "Diperbarui",
-	"wikilog-draft": "Draf",
-	"wikilog-authors": "Pengarang",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Judul",
-	"wikilog-actions": "Tindakan",
-	"wikilog-comments": "Komentar",
-	"wikilog-replies": "Balasan",
-	"wikilog-view-archives": "Arsip",
-	"wikilog-view-summary": "Ringkasan",
-	"wikilog-draft-title-mark": "(draf)",
-	"wikilog-anonymous-mark": "(anonim)",
-	"wikilog-pager-newest": "terbaru",
-	"wikilog-pager-oldest": "terlama",
-	"wikilog-pager-prev": "sebelumnya",
-	"wikilog-pager-next": "selanjutnya",
-	"wikilog-pager-first": "pertama",
-	"wikilog-pager-last": "terakhir",
-	"wikilog-pager-empty": "(tanpa butir)",
-	"wikilog-no-comments": "tidak ada komentar",
-	"wikilog-has-comments": "{{PLURAL:$1|satu|$1}} komentar",
-	"wikilog-summary-footer": "Dikirim oleh $7 untuk [[$1|$2]] pada $8 pukul $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Dikirim oleh $7 pada $8 pukul $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Tanpa kategori",
-	"wikilog-summary-categories": "Dikategorikan di $2",
-	"wikilog-summary-more": "[[$3|→ lanjutkan membaca...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|bicara]])",
-	"wikilog-edit-hint": "Sunting artikel wikilog: $1",
-	"wikilog-edit-fieldset-legend": "Opsi Wikilog:",
-	"wikilog-edit-signpub": "Tanda tangani dan terbitkan artikel ini",
-	"wikilog-edit-signpub-tooltip": "Menyebabkan artikel ini ditandatangani dan diterbitkan di wikilognya sewaktu disimpan.\nHapus centang di kotak ini untuk tetap menandai artikel ini sebagai draf.",
-	"wikilog-comment-permalink": "$1 pada $2",
-	"wikilog-comment-note-item": "dikirim ke $1",
-	"wikilog-comment-note-edited": "terakhir disunting pada tanggal $1 pada $2",
-	"wikilog-comment-anonsig": "$3 (anonim)",
-	"wikilog-comment-pending": "Komentar ini menunggu persetujuan.",
-	"wikilog-comment-deleted": "Komentar ini telah dihapus.",
-	"wikilog-comment-omitted-x": "Komentar yang diabaikan (#$1)",
-	"wikilog-comment-autosumm": "Komentar baru oleh $1: $2",
-	"wikilog-reply-to-comment": "Kirimkan balasan untuk komentar ini",
-	"wikilog-comment-page": "Tuju ke halaman komentar ini",
-	"wikilog-comment-edit": "Sunting komentar ini",
-	"wikilog-comment-delete": "Hapus komentar ini",
-	"wikilog-comment-history": "Lihat sejarah komentar",
-	"wikilog-comment-approve": "Setujui komentar ini (aksi langsung)",
-	"wikilog-comment-reject": "Tolak komentar ini (aksi langsung)",
-	"wikilog-newtalk-summary": "dibuat otomatis oleh Wikilog",
-	"wikilog-feed-ns-title": "$1 artikel wikilog",
-	"wikilog-feed-description": "Baca kiriman terbaru di umpan ini.",
-	"wikilog-comment-feed-title1": "Komentar oleh $2 (#$1)",
-	"wikilog-comment-feed-title2": "Komentar oleh $2 di $3 (#$1)",
-	"wikilog-comment-feed-description": "Baca komentar terbaru di umpan ini.",
-	"wikilog-title-comments": "Komentar - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Kesalahan Wikilog",
-	"wikilog-invalid-param": "Paramater tak valid: $1.",
-	"wikilog-invalid-author": "Penulis yang tidak valid: $1.",
-	"wikilog-invalid-date": "Tanggal yang tidak valid: $1.",
-	"wikilog-invalid-tag": "Tag yang tak valid: $1.",
-	"wikilog-invalid-file": "Berkas yang tak valid: $1.",
-	"wikilog-file-not-found": "Berkas yang tak ada: $1.",
-	"wikilog-not-an-image": "Berkas bukanlah suatu gambar: $1.",
-	"wikilog-out-of-context": "Peringatan: Tag Wikilog digunakan di luar konteks.\nTag ini seharusnya hanya digunakan hanya pada artikel di ruang nama Wikilog.",
-	"wikilog-too-many-authors": "Peringatan: Terlalu banyak pengarang yang tercantum dalam kiriman wikilog ini.",
-	"wikilog-too-many-tags": "Peringatan: Terlalu banyak tag yang tercantum dalam kiriman wikilog ini.",
-	"wikilog-comment-is-empty": "Komentar terkirim kosong.",
-	"wikilog-comment-too-long": "Komentar terkirim terlalu panjang.",
-	"wikilog-comment-invalid-name": "Nama yang diberikan tak valid.",
-	"wikilog-no-such-article": "Artikel wikilog yang diminta tak ditemukan",
-	"wikilog-reading-draft": "Artikel wikilog ini adalah draf dan belum diterbitkan.",
-	"wikilog-posting-anonymously": "Anda belum masuk log;\nkomentar Anda akan dikirim secara anonim, ditandai dengan alamat IP Anda.\nAnda harus menyediakan suatu pseudonim untuk menandai komentar Anda atau $1 agar dapat memberikan atribusi secara benar.",
-	"wikilog-anonymous-moderated": "Setelah Anda mengirim komentar Anda, komentar itu tidak akan langsung tampak di halaman ini.\nKomentar tersebut hanya akan muncul setelah ditinjau oleh seorang moderator.",
-	"wikilog-post-comment": "Kirimkan komentar baru",
-	"wikilog-post-reply": "Kirimkan balasan baru",
-	"wikilog-form-legend": "Cari kiriman wikilog",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Kategori:",
-	"wikilog-form-name": "Nama:",
-	"wikilog-form-author": "Pengarang:",
-	"wikilog-form-tag": "Tag:",
-	"wikilog-form-date": "Tanggal:",
-	"wikilog-form-status": "Status:",
-	"wikilog-form-preview": "Pratayang:",
-	"wikilog-form-comment": "Komentar:",
-	"wikilog-show-all": "Semua kiriman",
-	"wikilog-show-published": "Diterbitkan",
-	"wikilog-show-drafts": "Draf",
-	"wikilog-submit": "Kirimkan",
-	"wikilog-preview": "Pratayang",
-	"wikilog-edit-lc": "sunting",
-	"wikilog-reply-lc": "balas",
-	"wikilog-delete-lc": "hapus",
-	"wikilog-approve-lc": "setujui",
-	"wikilog-reject-lc": "tolak",
-	"wikilog-page-lc": "halaman",
-	"wikilog-history-lc": "sejarah",
-	"wikilog-doc-import-comment": "Dokumentasi Wikilog terimpor"
-}
diff --git a/i18n/wikilog/ig.json b/i18n/wikilog/ig.json
deleted file mode 100644
index e12a056..0000000
--- a/i18n/wikilog/ig.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Ukabia"
-		]
-	},
-	"wikilog-new-item-go": "Ké",
-	"wikilog-item-name": "Áhạ edemede:",
-	"wikilog-authors": "Odé ákwụ́kwọ́",
-	"wikilog-title": "Ishi edemede",
-	"wikilog-actions": "Mmèmé",
-	"wikilog-view-summary": "Mmẹkụwátá",
-	"wikilog-anonymous-mark": "(onye amágị)",
-	"wikilog-pager-newest": "nke ohúrù",
-	"wikilog-pager-oldest": "nke ichíé",
-	"wikilog-pager-last": "nke lara azu",
-	"wikilog-no-comments": "okwu a nogị",
-	"wikilog-summary-uncategorized": "E tibọ ya na ébé o gi nọr",
-	"wikilog-form-category": "Ébéonọr:",
-	"wikilog-form-name": "Áhạ:",
-	"wikilog-form-author": "Ọdè ákwúkwó:",
-	"wikilog-form-date": "Ubọchị:",
-	"wikilog-edit-lc": "mèzi",
-	"wikilog-delete-lc": "kàcha",
-	"wikilog-page-lc": "ihü",
-	"wikilog-history-lc": "ịta"
-}
diff --git a/i18n/wikilog/it.json b/i18n/wikilog/it.json
deleted file mode 100644
index a23da9e..0000000
--- a/i18n/wikilog/it.json
+++ /dev/null
@@ -1,127 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Beta16",
-			"Civvì"
-		]
-	},
-	"wikilog-desc": "Aggiunge funzionalità di blogging, creando un ibrido wiki-blog",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Scrivi un commento ad articoli wikilog",
-	"right-wl-moderation": "Moderazione di commenti ad articoli wikilog",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-log-pagename": "Registro delle azioni Wikilog",
-	"wikilog-log-pagetext": "Di seguito è riportato un elenco di azioni wikilog.",
-	"wikilog-log-cmt-approve": "commento autorizzato \"[[$1]]\"",
-	"wikilog-log-cmt-reject": "respinto commento \"[[$1]]\"",
-	"wikilog-log-cmt-rejdel": "Respinto commento wikilog di [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Azioni Wikilog",
-	"wikilog-missing-wikilog": "Questa è la pagina [[{{int:wikilog-help}}|wikilog]] per [[{{FULLPAGENAME}}]]. \n\nQuesto wikilog non esiste ancora. \nAllo scopo di pubblicare articoli e abilitare le altre caratteristiche wikilog deve essere prima creato il wikilog. \n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Crea questo wikilog].</span>",
-	"wikilog-information": "Informazioni Wikilog",
-	"wikilog-post-count-published": "In questo wikilog {{PLURAL:$1|c'è un articolo pubblicato|ci sono $1 articoli pubblicati}}",
-	"wikilog-post-count-drafts": "{{PLURAL:$1|C'è un articolo (bozza) non pubblicato|Ci sono $1 articoli (bozze) non pubblicati}}",
-	"wikilog-post-count-all": "In totale {{PLURAL:$1|c'è un articolo|ci sono $1 articoli}}.",
-	"wikilog-new-item": "Crea nuovo articolo wikilog",
-	"wikilog-new-item-go": "Crea",
-	"wikilog-item-name": "Nome articolo:",
-	"wikilog-published": "Pubblicato",
-	"wikilog-updated": "Aggiornato",
-	"wikilog-draft": "Bozza",
-	"wikilog-authors": "Autori",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Titolo",
-	"wikilog-actions": "Azioni",
-	"wikilog-comments": "Commenti",
-	"wikilog-replies": "Risposte",
-	"wikilog-view-archives": "Archivi",
-	"wikilog-view-summary": "Sommario",
-	"wikilog-draft-title-mark": "(Bozza)",
-	"wikilog-anonymous-mark": "(Anonimo)",
-	"wikilog-pager-newest": "più recente",
-	"wikilog-pager-oldest": "più datato",
-	"wikilog-pager-prev": "precedente",
-	"wikilog-pager-next": "successivo",
-	"wikilog-pager-first": "primo",
-	"wikilog-pager-last": "ultimo",
-	"wikilog-pager-empty": "(senza articoli)",
-	"wikilog-no-comments": "nessun commento",
-	"wikilog-has-comments": "{{PLURAL:$1|un commento|$1 commenti}}",
-	"wikilog-summary-footer": "Inviato da $7 a [[$1|$2]] il $8 alle $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Inviato da $7 il $8 alle $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Non categorizzato",
-	"wikilog-summary-categories": "Archiviato in $2",
-	"wikilog-summary-more": "[[$3|→ continua a leggere...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|discussioni]])",
-	"wikilog-edit-hint": "Modifica l'articolo wikilog: $1",
-	"wikilog-edit-fieldset-legend": "Wikilog opzioni:",
-	"wikilog-edit-signpub": "Firma e pubblica questo articolo",
-	"wikilog-edit-signpub-tooltip": "Firma e pubblica questo articolo nel wikilog quando viene salvato.\nDeseleziona questa casella per salvare l'articolo come bozza.",
-	"wikilog-comment-permalink": "$1 alle ore $2",
-	"wikilog-comment-note-item": "ha commentato $1",
-	"wikilog-comment-note-edited": "Ultima modifica il $1 alle $2",
-	"wikilog-comment-anonsig": "$3 (anonimo)",
-	"wikilog-comment-pending": "Questo commento è in attesa di approvazione.",
-	"wikilog-comment-deleted": "Il commento è stato cancellato.",
-	"wikilog-comment-omitted-x": "Commento omesso (#$1).",
-	"wikilog-comment-autosumm": "Nuovo commento di $1: $2",
-	"wikilog-reply-to-comment": "Inviare una risposta a questo commento",
-	"wikilog-comment-page": "Vai alla pagina di questo commento",
-	"wikilog-comment-edit": "Modifica questo commento",
-	"wikilog-comment-delete": "Elimina questo commento",
-	"wikilog-comment-history": "Vedi cronologia del commento",
-	"wikilog-comment-approve": "Approvare questo commento (azione immediata)",
-	"wikilog-comment-reject": "Rifiuta questo commento (azione immediata)",
-	"wikilog-newtalk-summary": "creato automaticamente da Wikilog",
-	"wikilog-feed-ns-title": "$1 articoli wikilog",
-	"wikilog-feed-description": "Leggi i commenti più recenti in questo feed.",
-	"wikilog-comment-feed-title1": "Commento di $2 (#$1)",
-	"wikilog-comment-feed-title2": "Commento di $2 a $3 (#$1)",
-	"wikilog-comment-feed-description": "Leggi i commenti più recenti in questo feed.",
-	"wikilog-title-comments": "Commenti - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Errore di Wikilog",
-	"wikilog-invalid-param": "Parametro non valido: $1.",
-	"wikilog-invalid-author": "Autore non valido: $1.",
-	"wikilog-invalid-date": "Data non valida: $1.",
-	"wikilog-invalid-tag": "Tag non valido: $1.",
-	"wikilog-invalid-file": "File non valido: $1.",
-	"wikilog-file-not-found": "File inesistente: $1.",
-	"wikilog-not-an-image": "Il file non è un'immagine: $1.",
-	"wikilog-out-of-context": "Attenzione: i tag Wikilog vengono usati fuori dal contesto. \nEssi dovrebbero essere usati solo in articoli nel namespace Wikilog.",
-	"wikilog-too-many-authors": "Attenzione: in questo post wikilog sono elencati troppi autori.",
-	"wikilog-too-many-tags": "Attenzione: In questo wikilog sono elencati troppi tag.",
-	"wikilog-comment-is-empty": "Il commento inviato è vuoto.",
-	"wikilog-comment-too-long": "Il commento inviato è troppo lungo.",
-	"wikilog-comment-invalid-name": "Il nome indicato non è valido.",
-	"wikilog-no-such-article": "L'articolo wikilog richiesto non esiste.",
-	"wikilog-reading-draft": "Questo articolo wikilog è una bozza, non è ancora stato pubblicato.",
-	"wikilog-posting-anonymously": "Al momento non sei connesso, il tuo commento verrà pubblicato in forma anonima ed identificato tramite il tuo indirizzo IP. \nDovresti fornire uno pseudonimo per identificare il tuo commento o $1 per per attribuirlo correttamente.",
-	"wikilog-anonymous-moderated": "Dopo l'invio del tuo commento questo non sarà immediatamente visibile. Il commento verrà pubblicato solo dopo l'approvazione da parte di un moderatore.",
-	"wikilog-post-comment": "Inserisci un nuovo commento",
-	"wikilog-post-reply": "Invia una nuova risposta",
-	"wikilog-form-legend": "Cerca post wikilog",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Categoria:",
-	"wikilog-form-name": "Nome:",
-	"wikilog-form-author": "Autore:",
-	"wikilog-form-tag": "Tag:",
-	"wikilog-form-date": "Data:",
-	"wikilog-form-status": "Stato:",
-	"wikilog-form-preview": "Anteprima:",
-	"wikilog-form-comment": "Commento:",
-	"wikilog-show-all": "Tutti i post",
-	"wikilog-show-published": "Pubblicato",
-	"wikilog-show-drafts": "Bozze",
-	"wikilog-submit": "Invia",
-	"wikilog-preview": "Anteprima",
-	"wikilog-edit-lc": "modifica",
-	"wikilog-reply-lc": "rispondi",
-	"wikilog-delete-lc": "cancella",
-	"wikilog-approve-lc": "approva",
-	"wikilog-reject-lc": "respingi",
-	"wikilog-page-lc": "pagina",
-	"wikilog-history-lc": "cronologia",
-	"wikilog-doc-import-comment": "Documentazione Wikilog importata"
-}
diff --git a/i18n/wikilog/ja.json b/i18n/wikilog/ja.json
deleted file mode 100644
index e659820..0000000
--- a/i18n/wikilog/ja.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Aotake",
-			"Fryed-peach",
-			"Hosiryuhosi",
-			"Shirayuki",
-			"青子守歌"
-		]
-	},
-	"wikilog-desc": "ブログ機能を追加し、ウィキとブログのハイブリッドを作成する",
-	"wikilog-auto": "ウィキログ・オート",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "ウィキログの記事にコメントを投稿",
-	"right-wl-moderation": "ウィキログ記事のコメントをモデレーション",
-	"wikilog-specialwikilog-title": "ウィキログ",
-	"wikilog-log-pagename": "ウィキログ操作記録",
-	"wikilog-log-pagetext": "以下にウィキログの操作の一覧を示します。",
-	"wikilog-log-cmt-approve": "承認済みコメント [[$1]]",
-	"wikilog-log-cmt-reject": "拒否されたコメント [[$1]]",
-	"wikilog-log-cmt-rejdel": "[[Special:Contributions/$1|$1]]のウィキログへのコメントを拒否しました",
-	"wikilog-tab": "ウィキログ",
-	"wikilog-tab-title": "ウィキログ操作",
-	"wikilog-missing-wikilog": "これは [[{{FULLPAGENAME}}]] の[[{{int:wikilog-help}}|ウィキログ]]ページです。\n\nこのウィキログはまだ存在しません。記事を投稿するなどウィキログの機能を使用するには、まずウィキログを作成する必要があります。\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} このウィキログを作成]</span>",
-	"wikilog-information": "ウィキログ情報",
-	"wikilog-post-count-published": "このウィキログには{{PLURAL:$1|$1件}}の公開記事があります。",
-	"wikilog-post-count-drafts": "このウィキログには{{PLURAL:$1|$1件}}の非公開記事 (下書き) があります。",
-	"wikilog-post-count-all": "合計で{{PLURAL:$1|$1個の記事があります}}。",
-	"wikilog-new-item": "新しいウィキログ記事を作成",
-	"wikilog-new-item-go": "作成",
-	"wikilog-item-name": "記事名:",
-	"wikilog-published": "公開",
-	"wikilog-updated": "更新",
-	"wikilog-draft": "下書き",
-	"wikilog-authors": "著者",
-	"wikilog-wikilog": "ウィキログ",
-	"wikilog-title": "題名",
-	"wikilog-actions": "操作",
-	"wikilog-comments": "コメント",
-	"wikilog-replies": "返信",
-	"wikilog-view-archives": "アーカイブ",
-	"wikilog-view-summary": "要約",
-	"wikilog-draft-title-mark": "(下書き)",
-	"wikilog-anonymous-mark": "(匿名)",
-	"wikilog-pager-newest": "最新",
-	"wikilog-pager-oldest": "最古",
-	"wikilog-pager-prev": "前へ",
-	"wikilog-pager-next": "次へ",
-	"wikilog-pager-first": "先頭",
-	"wikilog-pager-last": "末尾",
-	"wikilog-pager-empty": "(項目なし)",
-	"wikilog-no-comments": "コメントなし",
-	"wikilog-has-comments": "{{PLURAL:$1|$1 件のコメント}}",
-	"wikilog-summary-footer": "$8$9 ($15)に$7が[[$1|$2]]へ投稿 ($10)",
-	"wikilog-summary-footer-single": "$8$9 ($15)に$7が投稿 ($10)",
-	"wikilog-summary-uncategorized": "未分類",
-	"wikilog-summary-categories": "$2に分類",
-	"wikilog-summary-more": "[[$3|→ 続きを読む...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|トーク]])",
-	"wikilog-edit-hint": "ウィキログ記事を編集: $1",
-	"wikilog-edit-fieldset-legend": "ウィキログのオプション:",
-	"wikilog-edit-signpub": "この記事に署名し公開する",
-	"wikilog-edit-signpub-tooltip": "保存時にこの記事が署名され、そのウィキログに公開されます。この記事を下書きのままにするのなら、このボックスをチェックしないでください。",
-	"wikilog-comment-footer": "— $2 • $5 $6",
-	"wikilog-comment-permalink": "$1の$2",
-	"wikilog-comment-note-item": "$1への投稿",
-	"wikilog-comment-note-edited": "$1の$2に最後の編集",
-	"wikilog-comment-anonsig": "$3 (匿名利用者)",
-	"wikilog-comment-pending": "このコメントは承認待ちです。",
-	"wikilog-comment-deleted": "このコメントは削除されました。",
-	"wikilog-comment-omitted-x": "コメント省略(#$1)。",
-	"wikilog-comment-autosumm": "$1 による新規コメント: $2",
-	"wikilog-reply-to-comment": "このコメントへの返信を投稿",
-	"wikilog-comment-page": "このコメントのページへ移動",
-	"wikilog-comment-edit": "このコメントを編集",
-	"wikilog-comment-delete": "このコメントを削除",
-	"wikilog-comment-history": "コメント履歴を表示",
-	"wikilog-comment-approve": "このコメントを承認 (即時)",
-	"wikilog-comment-reject": "このコメントを拒否 (即時)",
-	"wikilog-newtalk-summary": "ウィキログにより自動的に作成",
-	"wikilog-feed-title": "{{SITENAME}} - $1 [$2]",
-	"wikilog-feed-ns-title": "$1ウィキログ記事",
-	"wikilog-feed-description": "このフィードで最新の投稿を読む。",
-	"wikilog-comment-feed-title1": "$2からのコメント(#$1)",
-	"wikilog-comment-feed-title2": "$3への$2からのコメント(#$1)",
-	"wikilog-comment-feed-description": "このフィードで最新のコメントを購読する。",
-	"wikilog-title-item-full": "$1 - $2",
-	"wikilog-title-comments": "コメント - $1",
-	"wikilog-error-msg": "ウィキログ: $1",
-	"wikilog-error-title": "ウィキログのエラー",
-	"wikilog-invalid-param": "無効な引数: $1",
-	"wikilog-invalid-author": "無効な著者: $1",
-	"wikilog-invalid-date": "無効な日付: $1",
-	"wikilog-invalid-tag": "無効なタグ: $1",
-	"wikilog-invalid-file": "無効なファイル: $1",
-	"wikilog-file-not-found": "存在しないファイル: $1",
-	"wikilog-not-an-image": "ファイルが画像ではありません: $1",
-	"wikilog-out-of-context": "警告: ウィキログのタグが意味のない箇所で使われています。ウィキログ名前空間の記事でのみ使われるべきです。",
-	"wikilog-too-many-authors": "警告: このウィキログ投稿で挙げられている著者は多すぎます。",
-	"wikilog-too-many-tags": "警告: このウィキログ投稿に使われているタグは多すぎます。",
-	"wikilog-comment-is-empty": "投稿されたコメントは空白です。",
-	"wikilog-comment-too-long": "投稿されたコメントは長すぎます。",
-	"wikilog-comment-invalid-name": "入力された名前は無効です。",
-	"wikilog-no-such-article": "要求されたウィキログ記事は存在しません。",
-	"wikilog-reading-draft": "このウィキログ記事は下書きであり、まだ公開されていません。",
-	"wikilog-posting-anonymously": "あなたは現在ログインしていません:\nあなたのコメントは匿名として投稿され、あなたの IP アドレスで識別されます。コメントの識別のために仮名を入力するか、個人が正しく表示されるよう$1してください。",
-	"wikilog-anonymous-moderated": "コメントを投稿しても、すぐにはこのページに表示されません。\nコメントは、モデレーターに審査されたあと表示されます。",
-	"wikilog-post-comment": "新しいコメントを投稿",
-	"wikilog-post-reply": "新しい返信を投稿",
-	"wikilog-form-legend": "ウィキログの投稿を検索",
-	"wikilog-form-wikilog": "ウィキログ:",
-	"wikilog-form-category": "カテゴリ:",
-	"wikilog-form-name": "名前:",
-	"wikilog-form-author": "著者:",
-	"wikilog-form-tag": "タグ:",
-	"wikilog-form-date": "日付:",
-	"wikilog-form-status": "状態:",
-	"wikilog-form-preview": "プレビュー:",
-	"wikilog-form-comment": "コメント:",
-	"wikilog-show-all": "すべての投稿",
-	"wikilog-show-published": "公開済み",
-	"wikilog-show-drafts": "下書き",
-	"wikilog-submit": "送信",
-	"wikilog-preview": "プレビュー",
-	"wikilog-edit-lc": "編集",
-	"wikilog-reply-lc": "返信",
-	"wikilog-delete-lc": "削除",
-	"wikilog-approve-lc": "承認",
-	"wikilog-reject-lc": "却下",
-	"wikilog-page-lc": "ページ",
-	"wikilog-history-lc": "履歴",
-	"wikilog-doc-import-comment": "取り込みされたウィキログのドキュメント"
-}
diff --git a/i18n/wikilog/jv.json b/i18n/wikilog/jv.json
deleted file mode 100644
index 824af7f..0000000
--- a/i18n/wikilog/jv.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Meursault2004"
-		]
-	},
-	"wikilog-item-name": "Jeneng artikel:",
-	"wikilog-comment-history": "Nudhuhaké sajarah komentar"
-}
diff --git a/i18n/wikilog/ka.json b/i18n/wikilog/ka.json
deleted file mode 100644
index ee503d7..0000000
--- a/i18n/wikilog/ka.json
+++ /dev/null
@@ -1,100 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"David1010"
-		]
-	},
-	"wikilog-auto": "ავტო ვიკილოგი",
-	"wikilog-help": "{{ns:Help}}:ვიკილოგი",
-	"wikilog-specialwikilog-title": "ვიკილოგები",
-	"wikilog-log-pagename": "ვიკილოგის მოქმედებების ჟურნალი",
-	"wikilog-log-pagetext": "ქვემოთ მოცემულია ვიკილოგის მოქმედებების სია.",
-	"wikilog-log-cmt-approve": "კომენტარის დამტკიცება „[[$1]]“",
-	"wikilog-log-cmt-reject": "კომენტარის უარყოფა „[[$1]]“",
-	"wikilog-tab": "ვიკილოგი",
-	"wikilog-tab-title": "ვიკილოგის მოქმედებები",
-	"wikilog-information": "ვიკილოგის ინფორმაცია",
-	"wikilog-post-count-published": "აქ, ამ ვიკილოგში {{PLURAL:$1|არის ერთი გამოქვეყნებული სტატია|არის $1 გამოქვეყნებული სტატია}}",
-	"wikilog-post-count-drafts": "აქ {{PLURAL:$1|არის გამოუქვეყნებელი (ესკიზი) სტატია|არის $1 გამოუქვეყნებელი (ესკიზი) სტატია}}",
-	"wikilog-post-count-all": "სულ არის {{PLURAL:$1|ერთი სტატია|$1 სტატია}}.",
-	"wikilog-new-item": "ვიკილოგის ახალი სტატიის შექმნა",
-	"wikilog-new-item-go": "შექმნა",
-	"wikilog-item-name": "სტატიის სათაური:",
-	"wikilog-published": "გამოქვეყნებული",
-	"wikilog-updated": "განახლებული",
-	"wikilog-draft": "ესკიზი",
-	"wikilog-authors": "ავტორები",
-	"wikilog-wikilog": "ვიკილოგი",
-	"wikilog-title": "სათაური",
-	"wikilog-actions": "მოქმედებები",
-	"wikilog-comments": "კომენტარები",
-	"wikilog-replies": "პასუხები",
-	"wikilog-view-archives": "არქივები",
-	"wikilog-view-summary": "რეზიუმე",
-	"wikilog-draft-title-mark": "(ესკიზი)",
-	"wikilog-anonymous-mark": "(ანონიმი)",
-	"wikilog-pager-newest": "უახლესი",
-	"wikilog-pager-oldest": "უძველესი",
-	"wikilog-pager-prev": "წინა",
-	"wikilog-pager-next": "შემდეგი",
-	"wikilog-pager-first": "პირველი",
-	"wikilog-pager-last": "ბოლო",
-	"wikilog-pager-empty": "(ელემენტები არ არის)",
-	"wikilog-no-comments": "კომენტარები არ არის",
-	"wikilog-has-comments": "{{PLURAL:$1|კომენტარი|$1 კომენტარი}}",
-	"wikilog-summary-uncategorized": "უკატეგორიო",
-	"wikilog-summary-more": "[[$3|→ კითხვის გაგრძელება...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|განხილვა]])",
-	"wikilog-edit-hint": "ვიკილოგის სტატიის რედაქტირება: $1",
-	"wikilog-edit-fieldset-legend": "ვიკილოგის პარამეტრები:",
-	"wikilog-edit-signpub": "ამ სტატიის ხელმოწერა და გამოქვეყნება",
-	"wikilog-comment-anonsig": "$3 (ანონიმურად)",
-	"wikilog-comment-pending": "ეს კომენტარი ელოდება დამტკიცებას.",
-	"wikilog-comment-deleted": "ეს კომენტარი წაშლილია,",
-	"wikilog-comment-omitted-x": "კომენტარი არ არის მითითებული (#$1).",
-	"wikilog-comment-autosumm": "ახალი კომენტარები $1-სგან: $2",
-	"wikilog-reply-to-comment": "ამ კომენტარზე პასუხი",
-	"wikilog-comment-page": "ამ კომენტარის გვერდზე გადასვლა",
-	"wikilog-comment-edit": "ამ კომენტარის რედაქტირება",
-	"wikilog-comment-delete": "ამ კომენტარის წაშლა",
-	"wikilog-comment-history": "კომენტარის ისტორიის ხილვა",
-	"wikilog-comment-approve": "ამ კომენტარის დამტკიცება (დაუყოვნებლივი მოქმედება)",
-	"wikilog-comment-reject": "ამ კომენტარის უარყოფა (დაუყოვნებლივი მოქმედება)",
-	"wikilog-newtalk-summary": "ვიკილოგის მიერ ავტომატურად შექმნილი",
-	"wikilog-title-comments": "კომენტარები - $1",
-	"wikilog-error-msg": "ვიკილოგი: $1",
-	"wikilog-error-title": "ვიკილოგის შეცდომა",
-	"wikilog-invalid-param": "არასწორი პარამეტრი: $1.",
-	"wikilog-invalid-author": "არასწორი ავტორი: $1.",
-	"wikilog-invalid-date": "არასწორი თარიღი: $1.",
-	"wikilog-invalid-tag": "არასწორი სანიშნე: $1",
-	"wikilog-invalid-file": "არასწორი ფაილი: $1.",
-	"wikilog-file-not-found": "არარსებული ფაილი: $1.",
-	"wikilog-not-an-image": "ფაილი არ წარმოადგენს სურათს: $1.",
-	"wikilog-comment-is-empty": "გაგზავნილი კომენტარი ცარიელია.",
-	"wikilog-comment-too-long": "გაგზავნილი კომენტარი ძალიან გრძელია.",
-	"wikilog-comment-invalid-name": "მითითებული სახელი არასწორია.",
-	"wikilog-post-comment": "ახალი კომენტარის დაწერა",
-	"wikilog-post-reply": "ახალი პასუხის დაწერა",
-	"wikilog-form-wikilog": "ვიკილოგი:",
-	"wikilog-form-category": "კატეგორია:",
-	"wikilog-form-name": "სახელი:",
-	"wikilog-form-author": "ავტორი:",
-	"wikilog-form-tag": "სანიშნე:",
-	"wikilog-form-date": "თარიღი:",
-	"wikilog-form-status": "სტატუსი:",
-	"wikilog-form-preview": "წინასწარი გადახედვა:",
-	"wikilog-form-comment": "კომენტარი:",
-	"wikilog-show-all": "ყველა შეტყობინება",
-	"wikilog-show-published": "გამოქვეყნდა",
-	"wikilog-show-drafts": "შავი ფურცლები",
-	"wikilog-submit": "მიღება",
-	"wikilog-preview": "წინასწარი გადახედვა",
-	"wikilog-edit-lc": "რედაქტირება",
-	"wikilog-reply-lc": "პასუხი",
-	"wikilog-delete-lc": "წაშლა",
-	"wikilog-approve-lc": "დამტკიცება",
-	"wikilog-reject-lc": "უარყოფა",
-	"wikilog-page-lc": "გვერდი",
-	"wikilog-history-lc": "ისტორია"
-}
diff --git a/i18n/wikilog/kn.json b/i18n/wikilog/kn.json
deleted file mode 100644
index eb460d1..0000000
--- a/i18n/wikilog/kn.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Dimension10",
-			"Nayvik"
-		]
-	},
-	"wikilog-authors": "ಕರ್ತೃಗಳು",
-	"wikilog-title": "ಶೀರ್ಷಿಕೆ",
-	"wikilog-comments": "ಟಿಪ್ಪಣಿಗಳು",
-	"wikilog-view-summary": "ಸಾರಾಂಶ",
-	"wikilog-pager-last": "ಕೊನೆಯ",
-	"wikilog-has-comments": "{{PLURAL:$1|ಟಿಪ್ಪಣಿ|$1 ಟಿಪ್ಪಣಿಗಳು}}",
-	"wikilog-title-comments": "ಟಿಪ್ಪಣಿಗಳು - $1",
-	"wikilog-form-category": "ವರ್ಗ:",
-	"wikilog-form-name": "ಹೆಸರು:",
-	"wikilog-form-author": "ಕರ್ತೃ:",
-	"wikilog-form-date": "ದಿನಾಂಕ:",
-	"wikilog-form-status": "ಸ್ಥಾನಮಾನ:",
-	"wikilog-form-preview": "ಮುನ್ನೋಟ:",
-	"wikilog-form-comment": "ಟಿಪ್ಪಣಿ :",
-	"wikilog-show-published": "ಪ್ರಕಟಿತ",
-	"wikilog-preview": "ಮುನ್ನೋಟ",
-	"wikilog-edit-lc": "ಸಂಪಾದಿಸಿ",
-	"wikilog-delete-lc": "ಅಳಿಸು",
-	"wikilog-page-lc": "ಪುಟ",
-	"wikilog-history-lc": "ಇತಿಹಾಸ"
-}
diff --git a/i18n/wikilog/ko.json b/i18n/wikilog/ko.json
deleted file mode 100644
index fd0805d..0000000
--- a/i18n/wikilog/ko.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"LFM",
-			"Priviet",
-			"아라"
-		]
-	},
-	"wikilog-desc": "블로그 기능을 추가하고, 위키와 블로그의 하이브리드를 만듭니다",
-	"wikilog-auto": "위키로그 자동",
-	"wikilog-help": "{{ns:Help}}:위키로그",
-	"right-wl-postcomment": "위키로그 문서에 덧글 남기기",
-	"right-wl-moderation": "위키로그 문서 덧글의 검토",
-	"wikilog-specialwikilog-title": "위키로그",
-	"wikilog-log-pagename": "위키로그 행위 기록",
-	"wikilog-log-pagetext": "아래는 위키로그 행위의 목록입니다.",
-	"wikilog-log-cmt-approve": "\"[[$1]]\" 덧글 승인",
-	"wikilog-log-cmt-reject": "\"[[$1]]\" 덧글 거부",
-	"wikilog-log-cmt-rejdel": "[[Special:Contributions/$1|$1]]에서 위키로그 덧글을 거부했습니다",
-	"wikilog-tab": "위키로그",
-	"wikilog-tab-title": "위키로그 행위",
-	"wikilog-missing-wikilog": "[[{{FULLPAGENAME}}]]의 [[{{int:wikilog-help}}|위키로그]] 문서입니다.\n\n이 위키로그는 아직 존재하지 않습니다.\n문서를 게시하고 다른 위키로그 기능을 활성화하려면 위키로그를 먼저 만들어야 합니다.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} 이 위키로그를 만드세요].</span>",
-	"wikilog-information": "위키로그 정보",
-	"wikilog-post-count-published": "이 위키로그에 {{PLURAL:$1|게시한 문서 한 개가 있습니다|게시한 문서 $1개가 있습니다}}",
-	"wikilog-post-count-drafts": "{{PLURAL:$1|게시하지 않은(임시 저장된) 문서 한 개가 있습니다|게시하지 않은(임시 저장된) 문서 $1개가 있습니다}}",
-	"wikilog-post-count-all": "총 {{PLURAL:$1|문서 한 개가 있습니다|문서 $1개가 있습니다}}.",
-	"wikilog-new-item": "새 위키로그 문서 만들기",
-	"wikilog-new-item-go": "만들기",
-	"wikilog-item-name": "문서 이름:",
-	"wikilog-published": "게시함",
-	"wikilog-updated": "업데이트됨",
-	"wikilog-draft": "임시 저장된 문서",
-	"wikilog-authors": "저자:",
-	"wikilog-wikilog": "위키로그",
-	"wikilog-title": "제목",
-	"wikilog-actions": "행위",
-	"wikilog-comments": "덧글",
-	"wikilog-replies": "답글",
-	"wikilog-view-archives": "보존",
-	"wikilog-view-summary": "요약",
-	"wikilog-draft-title-mark": "(임시 저장된 문서)",
-	"wikilog-anonymous-mark": "(익명)",
-	"wikilog-pager-newest": "최신",
-	"wikilog-pager-oldest": "오래됨",
-	"wikilog-pager-prev": "이전",
-	"wikilog-pager-next": "다음",
-	"wikilog-pager-first": "처음",
-	"wikilog-pager-last": "마지막",
-	"wikilog-pager-empty": "(항목 없음)",
-	"wikilog-no-comments": "덧글 없음",
-	"wikilog-has-comments": "{{PLURAL:$1|덧글 한 개|덧글 $1개}}",
-	"wikilog-summary-footer": "$8 $9($15)에 $7 사용자가 [[$1|$2]]에 게시했습니다. $10",
-	"wikilog-summary-footer-single": "$8 $9($15)에 $7 사용자가 게시했습니다. $10",
-	"wikilog-summary-uncategorized": "분류되지 않음",
-	"wikilog-summary-categories": "$2에 분류",
-	"wikilog-summary-more": "[[$3|→ 계속 읽기...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|토론]])",
-	"wikilog-edit-hint": "위키로그 문서 편집: $1",
-	"wikilog-edit-fieldset-legend": "위키로그 설정:",
-	"wikilog-edit-signpub": "이 문서에 서명하고 게시하기",
-	"wikilog-edit-signpub-tooltip": "저장할 때 이 문서는 서명되고 위키로그에 게시됩니다.\n문서를 임시 저장된 문서로 유지하려면 이 상자를 선택 해제하세요.",
-	"wikilog-comment-permalink": "$1 $2 ($3)",
-	"wikilog-comment-note-item": "$1에 게시됨",
-	"wikilog-comment-note-edited": "$1 $2에 마지막으로 편집됨",
-	"wikilog-comment-anonsig": "$3 (익명)",
-	"wikilog-comment-pending": "이 덧글은 승인을 기다리고 있습니다.",
-	"wikilog-comment-deleted": "이 덧글은 삭제되었습니다.",
-	"wikilog-comment-omitted-x": "덧글 생략 (#$1).",
-	"wikilog-comment-autosumm": "$1 사용자의 새 덧글: $2",
-	"wikilog-reply-to-comment": "이 덧글에 답글 게시",
-	"wikilog-comment-page": "이 덧글의 문서로 가기",
-	"wikilog-comment-edit": "이 덧글 편집",
-	"wikilog-comment-delete": "이 덧글 삭제",
-	"wikilog-comment-history": "덧글 역사 보기",
-	"wikilog-comment-approve": "이 덧글 승인 (바로 수행)",
-	"wikilog-comment-reject": "이 덧글 거부 (바로 수행)",
-	"wikilog-newtalk-summary": "위키로그가 자동으로 만들어졌습니다",
-	"wikilog-feed-ns-title": "$1 위키로그 문서",
-	"wikilog-feed-description": "이 피드의 가장 최근의 게시물을 읽습니다.",
-	"wikilog-comment-feed-title1": "$2의 덧글 (#$1)",
-	"wikilog-comment-feed-title2": "$3에 대한 $2의 덧글 (#$1)",
-	"wikilog-comment-feed-description": "이 피드의 가장 최근의 덧글을 읽습니다.",
-	"wikilog-title-comments": "덧글 - $1",
-	"wikilog-error-msg": "위키로그: $1",
-	"wikilog-error-title": "위키로그 오류",
-	"wikilog-invalid-param": "변수가 잘못되었습니다: $1.",
-	"wikilog-invalid-author": "저자가 잘못되었습니다: $1.",
-	"wikilog-invalid-date": "날짜가 잘못되었습니다: $1.",
-	"wikilog-invalid-tag": "태그가 잘못되었습니다: $1.",
-	"wikilog-invalid-file": "파일이 잘못되었습니다: $1.",
-	"wikilog-file-not-found": "존재하지 않는 파일입니다: $1.",
-	"wikilog-not-an-image": "파일은 그림이 아닙니다: $1.",
-	"wikilog-out-of-context": "결고: 위키로그 태그가 의미가 없는 곳에서 사용되고 있습니다.\n위키로그 이름공간의 문서에만 사용해야 합니다.",
-	"wikilog-too-many-authors": "경고: 위키로그 게시물에 너무 많은 저자를 나타내고 있습니다.",
-	"wikilog-too-many-tags": "경고: 위키로그 게시물에 너무 많은 태그를 나타내고 있습니다.",
-	"wikilog-comment-is-empty": "게시한 덧글이 비어 있습니다.",
-	"wikilog-comment-too-long": "게시한 덧글이 너무 깁니다.",
-	"wikilog-comment-invalid-name": "제공한 이름은 잘못되었습니다.",
-	"wikilog-no-such-article": "요청한 위키로그 문서가 존재하지 않습니다.",
-	"wikilog-reading-draft": "이 위키로그 문서는 임시 저장된 문서로 아직 게시하지 않았습니다.",
-	"wikilog-posting-anonymously": "현재 로그인하지 않았습니다;\n덧글은 익명으로 게시하며 인터넷 연결 주소로 식별됩니다.\n덧글 식별을 위해 가명을 입력하거나 개인이 제대로 표시되도록 $1해야 합니다.",
-	"wikilog-anonymous-moderated": "덧글을 제출하면 이 문서에 즉시 보이지 않습니다.\n덧글은 운영자가 검토하고 나서만 보입니다.",
-	"wikilog-post-comment": "새 덧글 게시",
-	"wikilog-post-reply": "새 답글 게시",
-	"wikilog-form-legend": "위키로그 게시물 검색",
-	"wikilog-form-wikilog": "위키로그:",
-	"wikilog-form-category": "분류:",
-	"wikilog-form-name": "이름:",
-	"wikilog-form-author": "저자:",
-	"wikilog-form-tag": "태그:",
-	"wikilog-form-date": "날짜:",
-	"wikilog-form-status": "상태:",
-	"wikilog-form-preview": "미리 보기:",
-	"wikilog-form-comment": "덧글:",
-	"wikilog-show-all": "모든 게시물",
-	"wikilog-show-published": "게시함",
-	"wikilog-show-drafts": "임시 저장된 문서 목록",
-	"wikilog-submit": "제출",
-	"wikilog-preview": "미리 보기",
-	"wikilog-edit-lc": "편집",
-	"wikilog-reply-lc": "답글",
-	"wikilog-delete-lc": "삭제",
-	"wikilog-approve-lc": "승인",
-	"wikilog-reject-lc": "거부",
-	"wikilog-page-lc": "문서",
-	"wikilog-history-lc": "역사",
-	"wikilog-doc-import-comment": "가져온 위키로그 문서"
-}
diff --git a/i18n/wikilog/koi.json b/i18n/wikilog/koi.json
deleted file mode 100644
index 712e344..0000000
--- a/i18n/wikilog/koi.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Enye Lav"
-		]
-	},
-	"wikilog-pager-newest": "медвиль",
-	"wikilog-pager-oldest": "межваж",
-	"wikilog-pager-first": "медодзза",
-	"wikilog-pager-last": "медбöрья",
-	"wikilog-form-category": "Категория",
-	"wikilog-form-name": "Ним:",
-	"wikilog-form-author": "Автор:",
-	"wikilog-form-tag": "Пасок:",
-	"wikilog-form-date": "Дата:"
-}
diff --git a/i18n/wikilog/ksh.json b/i18n/wikilog/ksh.json
deleted file mode 100644
index 36cfc9a..0000000
--- a/i18n/wikilog/ksh.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Purodha"
-		]
-	},
-	"wikilog-desc": "Brängk Müjjeleschkeite för ze Blogge en et Wiki, un schavv_esu e Wiki-Blog-Jemölsch.",
-	"wikilog-auto": "{{int:Wikilog-wikilog}} (automattesch)",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Aanmärkunge zoh Atikelle vum {{int:Wikilog-wikilog}} afjävve",
-	"right-wl-moderation": "De Aanmörkunge zoh Atikelle vum {{int:Wikilog-wikilog}} modderiere",
-	"wikilog-specialwikilog-title": "{{int:Wikilog-wikilog}} Blogs",
-	"wikilog-log-pagename": "et Logboch met dem {{int:Wikilog-wikilog}} singe Akßjuhne",
-	"wikilog-log-pagetext": "Heh dronger kütt en Leß met dem {{int:Wikilog-wikilog}} sing Akßjuhne.",
-	"wikilog-log-cmt-approve": "hät di Aanmärkung [[$1]] zohjelohße",
-	"wikilog-log-cmt-reject": "hät di Aanmärkung [[$1]] affjelähnt",
-	"wikilog-log-cmt-rejdel": "Afjelehnte Aanmärkung em {{int:Wikilog-wikilog}} {{GENDER:$1|fum|fum|fum Metmaacher|fun dä|fum}} [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "{{int:Wikilog-wikilog}}",
-	"wikilog-tab-title": "Em {{int:Wikilog-wikilog}} sing Akßjuhne",
-	"wikilog-missing-wikilog": "Dat heh es de [[{{int:wikilog-help}}|Wikilog]] Sigg för [[{{FULLPAGENAME}}]].\n\nHeh dat Wikilog jidd-et noch nit.\nÖm Atikele öffentlesch drop ze maache, un ander Müjjeleschkeijte vum Wikilog ze han, moß di Sigg eets ens aanjelaat wääde.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Donn dat Wikilog aanlääje!]</span>",
-	"wikilog-information": "Infomazjuhne övver {{int:Wikilog-wikilog}}",
-	"wikilog-post-count-published": "Mer han {{PLURAL:$1|eine öffentlesche Beidraach|$1 öffentlesche Beidrääsch|keine öffentlesche Beidrääsch}} en heh dämm {{int:Wikilog-wikilog}},",
-	"wikilog-post-count-drafts": "Et {{PLURAL:$1|es noch eine nit veröffentleschte Beidraach (Äntworf) do|sinn_er $1 Beidrääch (Äntwörf) noch nit öffentlesch jemaat|sinn_er kein Beidrääch (Äntwörf) noh_nit öffentlesch jemaat}}.",
-	"wikilog-post-count-all": "Ensjesamp ham_mer {{PLURAL:$1|eine Beidraach|$1 Beidrääch|kein Beidrääch}}.",
-	"wikilog-new-item": "Ene neue {{int:Wikilog-wikilog}} Beijdraach aanlääje",
-	"wikilog-new-item-go": "Lohß Jonn!",
-	"wikilog-item-name": "Dä Name för dä Beidraach:",
-	"wikilog-published": "Öffentlesch jemaat",
-	"wikilog-updated": "Op der neue Schtand jebraat",
-	"wikilog-draft": "Äntworf",
-	"wikilog-authors": "Schriiver",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Övverschreff",
-	"wikilog-actions": "Wat mer maache kann",
-	"wikilog-comments": "Aanmärkunge",
-	"wikilog-replies": "Antwoote",
-	"wikilog-view-archives": "Aschiive",
-	"wikilog-view-summary": "Zosammefaßong",
-	"wikilog-draft-title-mark": "(Äntworf)",
-	"wikilog-anonymous-mark": "(namelos)",
-	"wikilog-pager-newest": "neuste",
-	"wikilog-pager-oldest": "ählste",
-	"wikilog-pager-prev": "förrije",
-	"wikilog-pager-next": "nähste",
-	"wikilog-pager-first": "eetste",
-	"wikilog-pager-last": "lätsde",
-	"wikilog-pager-empty": "(Kein Beidrääsch)",
-	"wikilog-no-comments": "kein Aanmärkonge",
-	"wikilog-has-comments": "{{PLURAL:$1|ein Aanmärkung|$1 Aanmärkunge|kein Aanmärkunge}}",
-	"wikilog-summary-footer": "{{PLURAL:$5|{{GENDER:$6|Dä|Dat|Dä Metmaacher|Di|Dä}}|De Metmaacher|Keine}} $7 {{PLURAL:$5|hät|han|hät}} dat aam $8 öm $9 ($15) Uhr op [[$1|$2]] öffentlesch jemaat. Et jit $10.",
-	"wikilog-summary-footer-single": "{{PLURAL:$5|{{GENDER:$6|Dä|Dat|Dä Metmaacher|Di|Dä}}|De Metmaacher|Keine}} $7 {{PLURAL:$5|hät|han|hät}} dat aam $8 öm $9 ($15) Uhr öffentlesch jemaat. Et jit $10.",
-	"wikilog-summary-uncategorized": "Der oohne en Saachjropp",
-	"wikilog-summary-categories": "Affjelaat unger {{PLURAL:$1|dä Saachjropp|de Saachjroppe|kein einzijje Saachjropp}} $2",
-	"wikilog-summary-more": "[[$3|→&nbsp;wigger lässe{{int:ellipsis}}]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|{{ns:talk}}]])",
-	"wikilog-edit-hint": "Donn dä {{int:Wikilog-wikilog}}-Atikel „$1“ ändere",
-	"wikilog-edit-fieldset-legend": "Ennschtellunge för {{int:Wikilog-wikilog}}:",
-	"wikilog-edit-signpub": "Donn heh dä Atikel ongerschriive un öffentlesch maache",
-	"wikilog-edit-signpub-tooltip": "Sorresch doför, dat heh dä Atikel ongerschrevve weedt, un öffentlesch jemaat weedt.\nDonn heh keij Höhksche maache, öm en als ene Äntworf faßhallde.",
-	"wikilog-comment-permalink": "aam $1 öm $2 Uhr ($3)",
-	"wikilog-comment-note-item": "hädd en Aanmärkong zoh dä Sigg „$1“ jeschrevve",
-	"wikilog-comment-note-edited": "et läz aam $1 öm $2 Uhr ($3) jeändert",
-	"wikilog-comment-anonsig": "$3 (nit enjelogg)",
-	"wikilog-comment-pending": "Heh di Aamärkung es noch nit zohjelohße.",
-	"wikilog-comment-deleted": "He di Aanmärkung es fottjeschmeße woode.",
-	"wikilog-comment-omitted-x": "Aamerkung fottjelohße (#$1).",
-	"wikilog-comment-autosumm": "En neuje Aanmärkung {{GENDER:$1|vum|vum|vun däm Metmaacher|vun dä|vum}} $1: „$2“",
-	"wikilog-reply-to-comment": "Donn en Antwoot op heh di Aanmärkung jävve",
-	"wikilog-comment-page": "Jangk op dä Aanmärkung ier Sigg",
-	"wikilog-comment-edit": "Donn di Aanmärkung verändere",
-	"wikilog-comment-delete": "Donn di Aanmärkung fott schmiiße",
-	"wikilog-comment-history": "Don de Verjangeheit vun dä Aanmärkung beluhre",
-	"wikilog-comment-approve": "Donn di Aanmärkung zohlohße (weet_tiräk jedonn)",
-	"wikilog-comment-reject": "Donn di Aanmärkung afflähne (weet_tiräk jedonn)",
-	"wikilog-newtalk-summary": "Automattesch vum {{int:Wikilog-wikilog}} aanjelaat",
-	"wikilog-feed-ns-title": "{{int:Wikilog-wikilog}}-Atikele em Appachtemang „$1“",
-	"wikilog-feed-description": "Donn de neuste Beidrääsh en heh dämm Kanaal lässe.",
-	"wikilog-comment-feed-title1": "Aanmärkong vum $2 (#$1)",
-	"wikilog-comment-feed-title2": "Aanmärkong (#$1) vum $2 zo dä Sigg „$3“",
-	"wikilog-comment-feed-description": "Donn de neuste Beidrääsh en heh dämm Kanaal lässe.",
-	"wikilog-title-comments": "Aanmärkunge zoh „$1“",
-	"wikilog-error-msg": "{{int:Wikilog-wikilog}}: $1",
-	"wikilog-error-title": "Em {{int:Wikilog-wikilog}} es ene Fähler opjefalle",
-	"wikilog-invalid-param": "„$1“ es ene onjöltejje Parrammeeter.",
-	"wikilog-invalid-author": "„$1“ es ene onjöltejje Schriiver.",
-	"wikilog-invalid-date": "„$1“ es e onjöltesch Dattum.",
-	"wikilog-invalid-tag": "„$1“ es en onjöltejje Makeerung.",
-	"wikilog-invalid-file": "„$1“ es en onjöltejje Datteij.",
-	"wikilog-file-not-found": "En Dattei „$1“ jidd_et nit.",
-	"wikilog-not-an-image": "„$1“ es en Dattei, ed es ävver keij Beld dren.",
-	"wikilog-out-of-context": "Opjepaß: Em {{int:Wikilog-wikilog}} sing Makeerunge wääde ußerhallef vum Zosammehang vum {{int:Wikilog-wikilog}} jebruch. Se sullte alleijns en Atikelle em Appachtemang „{{int:Wikilog-wikilog}}“ vörkumme.",
-	"wikilog-too-many-authors": "Opjepaß: Et sin zoh vill Schriiver en heh dämm Beodraach em {{int:Wikilog-wikilog}} jeleß.",
-	"wikilog-too-many-tags": "Opjepaß: Et sin zoh vill Makeerunge en heh dämm Beodraach em {{int:Wikilog-wikilog}} jeleß.",
-	"wikilog-comment-is-empty": "En dä Aanmärkung schteiht nix dren.",
-	"wikilog-comment-too-long": "Di Aanmärkung es ze lang.",
-	"wikilog-comment-invalid-name": "Dä aanjejovve Name es nit jöltesch.",
-	"wikilog-no-such-article": "Dä aanjefroochte Atikel em {{int:Wikilog-wikilog}} jidd_et nit.",
-	"wikilog-reading-draft": "Heh dä Atikel em {{int:Wikilog-wikilog}} es ene Äntworf un es noch nit öffentlesch jemaat woode.",
-	"wikilog-posting-anonymously": "Do bes im Momang nit ennjelogg.\nDing Aanmärkung weed ohne Name öffentlesch jemaat, un Ding <i lang=\"en\">IP</i>-Addräß drran jeschrevve.\nDo sollts entweder ene aanjenumme Name bovve aanjävve udder $1, domet mer weijß, vun wämm di Aanmärkung es.",
-	"wikilog-anonymous-moderated": "Wann De Ding Aanmärkung afjeschpeijschert has, weed se nit tiräk op heh dä Sigg aanjezeijsch.\nSe moß eets vun enem Moderator aanjenumme wääde.",
-	"wikilog-post-comment": "En neue Aanmärkung maache",
-	"wikilog-post-reply": "Maach en neu Aanmärkung",
-	"wikilog-form-legend": "Noh Veröffentleschunge vum {{int:Wikilog-wikilog}} söhke",
-	"wikilog-form-wikilog": "{{int:Wikilog-wikilog}}:",
-	"wikilog-form-category": "Saachjropp:",
-	"wikilog-form-name": "Name:",
-	"wikilog-form-author": "Schriiver:",
-	"wikilog-form-tag": "Makeerung:",
-	"wikilog-form-date": "Dattum:",
-	"wikilog-form-status": "Stattus:",
-	"wikilog-form-preview": "Vör-Aansech:",
-	"wikilog-form-comment": "Aanmärkung:",
-	"wikilog-show-all": "All de Beijdrääsch",
-	"wikilog-show-published": "Öffentlesch jemaat",
-	"wikilog-show-drafts": "Äntwörf",
-	"wikilog-submit": "Lohß Jonn!",
-	"wikilog-preview": "{{int:preview}}",
-	"wikilog-edit-lc": "verändere",
-	"wikilog-reply-lc": "antwoote",
-	"wikilog-delete-lc": "fott schmiiße",
-	"wikilog-approve-lc": "aanämme",
-	"wikilog-reject-lc": "afflähne",
-	"wikilog-page-lc": "Sigg",
-	"wikilog-history-lc": "Versione",
-	"wikilog-doc-import-comment": "Empoteet Handbooch för {{int:Wikilog-wikilog}}"
-}
diff --git a/i18n/wikilog/ku-latn.json b/i18n/wikilog/ku-latn.json
deleted file mode 100644
index 28d0eb8..0000000
--- a/i18n/wikilog/ku-latn.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"George Animal"
-		]
-	},
-	"wikilog-item-name": "Navê gotarê:",
-	"wikilog-title": "Sernav",
-	"wikilog-view-summary": "Kurte",
-	"wikilog-summary-uncategorized": "Bêkategorî",
-	"wikilog-form-category": "Kategorî:",
-	"wikilog-form-name": "Nav:",
-	"wikilog-form-status": "Rewş:",
-	"wikilog-edit-lc": "biguherîne",
-	"wikilog-delete-lc": "jê bibe",
-	"wikilog-page-lc": "rûpel",
-	"wikilog-history-lc": "dîrok"
-}
diff --git a/i18n/wikilog/ky.json b/i18n/wikilog/ky.json
deleted file mode 100644
index 4df9d7d..0000000
--- a/i18n/wikilog/ky.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Growingup"
-		]
-	},
-	"wikilog-new-item-go": "Жаратуу",
-	"wikilog-draft": "Сомо",
-	"wikilog-authors": "Авторлор",
-	"wikilog-draft-title-mark": "(сомо)",
-	"wikilog-anonymous-mark": "(аноним)",
-	"wikilog-pager-prev": "мурунку",
-	"wikilog-pager-next": "кийинки",
-	"wikilog-form-category": "Категория:",
-	"wikilog-form-name": "Ат:",
-	"wikilog-form-author": "Автор:",
-	"wikilog-form-tag": "Белги:",
-	"wikilog-form-date": "Дата:",
-	"wikilog-form-status": "Абал:",
-	"wikilog-form-comment": "Комментарий:",
-	"wikilog-show-drafts": "Сомолор",
-	"wikilog-submit": "Жөнөтүү",
-	"wikilog-edit-lc": "оңдоо",
-	"wikilog-reply-lc": "жооп берүү",
-	"wikilog-delete-lc": "өчүрүү",
-	"wikilog-page-lc": "барак",
-	"wikilog-history-lc": "тарых"
-}
diff --git a/i18n/wikilog/lb.json b/i18n/wikilog/lb.json
deleted file mode 100644
index f2aa072..0000000
--- a/i18n/wikilog/lb.json
+++ /dev/null
@@ -1,107 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Robby",
-			"Soued031"
-		]
-	},
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-log-cmt-approve": "approuvéiert Bemierkung [[$1]]",
-	"wikilog-log-cmt-reject": "refuséiert Bemierkung [[$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Wikilog-Aktiounen",
-	"wikilog-information": "Wikilog Informatioun",
-	"wikilog-post-count-published": "Et {{PLURAL:$1|gëtt ee verëffentlechten Artikel|ginn $1 verëffentlecht Artikelen}} op dësem Wikilog.",
-	"wikilog-post-count-drafts": "Et {{PLURAL:$1|gëtt een net verëffentlechten (virbereeten) Artikel|ginn $1 net verëffentlecht (virbereeten) Artikelen}}",
-	"wikilog-post-count-all": "Am {{PLURAL:$1|Ganzen ass et een Artikel|Ganze sinn et $1 Artikelen}}.",
-	"wikilog-new-item": "Neie Wikilog-Artikel uleeën",
-	"wikilog-new-item-go": "Uleeën",
-	"wikilog-item-name": "Numm vum Artikel:",
-	"wikilog-published": "Verëffentlecht",
-	"wikilog-updated": "Aktualiséiert",
-	"wikilog-draft": "Virbereedung",
-	"wikilog-authors": "Auteuren",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Titel",
-	"wikilog-actions": "Aktiounen",
-	"wikilog-comments": "Bemierkungen",
-	"wikilog-replies": "Äntwerten",
-	"wikilog-view-archives": "Archiven",
-	"wikilog-view-summary": "Resumé",
-	"wikilog-draft-title-mark": "(Virbereedung)",
-	"wikilog-anonymous-mark": "(anonym)",
-	"wikilog-pager-newest": "neist",
-	"wikilog-pager-oldest": "eelzt",
-	"wikilog-pager-prev": "vireg",
-	"wikilog-pager-next": "nächst",
-	"wikilog-pager-first": "éischt",
-	"wikilog-pager-last": "lescht",
-	"wikilog-pager-empty": "(keng Objeten)",
-	"wikilog-no-comments": "Keng Bemierkungen",
-	"wikilog-has-comments": "{{PLURAL:$1|eng Bemierkung|$1 Bemierkungen}}",
-	"wikilog-summary-footer": "Geschéckt vum $1 op [[$1|$2]] den $8 ëm $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "A kenger Kategorie",
-	"wikilog-summary-categories": "Klasséiert ënner $2",
-	"wikilog-summary-more": "[[$3|→ weiderliesen ...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|Diskussioun]])",
-	"wikilog-edit-fieldset-legend": "Optioune vu Wikilog:",
-	"wikilog-edit-signpub": "Dësen Artikel ënnerschreiwen a publizéieren",
-	"wikilog-comment-permalink": "$1 ëm $2",
-	"wikilog-comment-note-edited": "fir d'lescht geännert den $1 ëm $2",
-	"wikilog-comment-anonsig": "$3 (anonym)",
-	"wikilog-comment-pending": "Dës Bemierkung muss nach validéiert ginn.",
-	"wikilog-comment-deleted": "Dës Bemierkung gouf geläscht.",
-	"wikilog-comment-omitted-x": "Bemierkung zréckgezunn (#$1).",
-	"wikilog-comment-autosumm": "Nei Bemierkung vum $1: $2",
-	"wikilog-reply-to-comment": "Eng Änwert zu dëser Bemierkung schécken",
-	"wikilog-comment-page": "Op d'Säit vun dëser Bemierkung goen",
-	"wikilog-comment-edit": "Dës Bemierkung änneren",
-	"wikilog-comment-delete": "Dës Bemierkung läschen",
-	"wikilog-comment-history": "Versioune vun der Bemierkung kucken",
-	"wikilog-comment-approve": "Dës Bemierkung approuvéieren (gëtt direkt gemaach)",
-	"wikilog-comment-reject": "Dës Bemierkung ofleenen (gëtt direkt gemaach)",
-	"wikilog-newtalk-summary": "automatesch ugeluecht vu Wikilog",
-	"wikilog-feed-ns-title": "$1 Wikilog-Artikelen",
-	"wikilog-comment-feed-title1": "Bemierkung vum $2 (#$1)",
-	"wikilog-comment-feed-title2": "Bemierkung vum $2 zu $3 (#$1)",
-	"wikilog-title-comments": "Bemierkungen - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Wikilog-Feeler",
-	"wikilog-invalid-param": "Parameter net valabel: $1",
-	"wikilog-invalid-author": "Auteur net valabel: $1",
-	"wikilog-invalid-date": "Datum net valabel: $1",
-	"wikilog-invalid-file": "Fichier net valabel: $1",
-	"wikilog-file-not-found": "Fichier gëtt et net: $1",
-	"wikilog-not-an-image": "De Fichier ass kee Bild: $1",
-	"wikilog-comment-is-empty": "Déi geschéckte Bemierung ass eidel.",
-	"wikilog-comment-too-long": "D'Bemierkung déi geschéckt gouf ass ze laang.",
-	"wikilog-comment-invalid-name": "Den Numm deen dir uginn hutt ass net valabel.",
-	"wikilog-no-such-article": "Den ugefrote Wikilog-Artikel gëtt et net.",
-	"wikilog-posting-anonymously": "Dir sidd elo net ageloggt.\nÄr Bemierkung gëtt als anonym geschéckt, an duerch Är Internetverbindung identifizéiert.\nDir sollt entweder e Pseudonym ugi fir Är Bemierkungen z'identifizéieren oder Iech $1 fir datt en uerdentlech zugeuerdnet ka ginn.",
-	"wikilog-post-comment": "Eng nei Bemierkung schécken",
-	"wikilog-post-reply": "Eng nei Äntwert schécken",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Kategorie:",
-	"wikilog-form-name": "Numm:",
-	"wikilog-form-author": "Auteur:",
-	"wikilog-form-tag": "Markéierung (Tag):",
-	"wikilog-form-date": "Datum:",
-	"wikilog-form-status": "Status:",
-	"wikilog-form-preview": "Kucken ouni ze späicheren:",
-	"wikilog-form-comment": "Bemierkung:",
-	"wikilog-show-all": "All Beiträg",
-	"wikilog-show-published": "Verëffentlecht",
-	"wikilog-show-drafts": "Virbereedungen",
-	"wikilog-submit": "Schécken",
-	"wikilog-preview": "Kucken ouni ze späicheren",
-	"wikilog-edit-lc": "änneren",
-	"wikilog-reply-lc": "äntwerten",
-	"wikilog-delete-lc": "läschen",
-	"wikilog-approve-lc": "zoustëmmen",
-	"wikilog-reject-lc": "refüséieren",
-	"wikilog-page-lc": "Säit",
-	"wikilog-history-lc": "Versiounen",
-	"wikilog-doc-import-comment": "Importéiert Wikilog-Dokumentatioun"
-}
diff --git a/i18n/wikilog/lg.json b/i18n/wikilog/lg.json
deleted file mode 100644
index e1c3a19..0000000
--- a/i18n/wikilog/lg.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Kizito"
-		]
-	},
-	"wikilog-form-preview": "Kulagako:",
-	"wikilog-preview": "Lingiza"
-}
diff --git a/i18n/wikilog/li.json b/i18n/wikilog/li.json
deleted file mode 100644
index 8a89001..0000000
--- a/i18n/wikilog/li.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Ooswesthoesbes"
-		]
-	},
-	"wikilog-desc": "Voeg blogmeugelikhede toe om 'ne wikiblog te make",
-	"wikilog-auto": "Wikilog Automatisch",
-	"wikilog-help": "{{ns:help}}:Wikilog",
-	"right-wl-postcomment": "Plaats reacties op wikilog-artikele",
-	"right-wl-moderation": "Modereer wikilogartikelreacties",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-log-pagename": "Wikiloghanjelingslogbook",
-	"wikilog-log-pagetext": "Hieronger trefs se 'n lies van Wikilog-hanjelinge aan.",
-	"wikilog-log-cmt-approve": "haet reactie [[$1]] goodgekeurd",
-	"wikilog-log-cmt-reject": "haet reactie [[$1]] aafgekeurd",
-	"wikilog-log-cmt-rejdel": "Haet 'n wikilogreactie van [[Special:Contributions/$1|$1]] aafgekeurd",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Wikilog-hanjelinge",
-	"wikilog-new-item": "Maak nuuj wikilogartikel aan",
-	"wikilog-new-item-go": "Maak aan",
-	"wikilog-item-name": "Artikelnaam:",
-	"wikilog-published": "Gepubliceerd",
-	"wikilog-updated": "Biegewèrk",
-	"wikilog-draft": "Werkversie",
-	"wikilog-authors": "sjrievers",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Titel",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Foutmeljing Wikilog"
-}
diff --git a/i18n/wikilog/lt.json b/i18n/wikilog/lt.json
deleted file mode 100644
index 3fc334e..0000000
--- a/i18n/wikilog/lt.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Eitvys200"
-		]
-	},
-	"wikilog-new-item-go": "Sukurti",
-	"wikilog-item-name": "Straipsnio pavadinimas:",
-	"wikilog-published": "Publikuotas",
-	"wikilog-updated": "Atnaujintas",
-	"wikilog-draft": "Ruošinys",
-	"wikilog-authors": "Autoriai",
-	"wikilog-actions": "Veiksmai",
-	"wikilog-comments": "Komentarai",
-	"wikilog-replies": "Atsakymai",
-	"wikilog-view-archives": "Archyvai",
-	"wikilog-draft-title-mark": "(ruošinys)",
-	"wikilog-anonymous-mark": "(anonimas)",
-	"wikilog-pager-newest": "naujausias",
-	"wikilog-pager-oldest": "seniausias",
-	"wikilog-pager-prev": "ankstesnis",
-	"wikilog-pager-next": "kitas",
-	"wikilog-pager-first": "pirmas",
-	"wikilog-pager-last": "paskutinis",
-	"wikilog-pager-empty": "(nėra elementų)",
-	"wikilog-no-comments": "nėra komentarų",
-	"wikilog-has-comments": "{{PLURAL:$1|vienas komentaras|$1 komentarai}}",
-	"wikilog-comment-permalink": "$1 $2 ($3)",
-	"wikilog-comment-note-item": "parašytas $1",
-	"wikilog-comment-note-edited": "paskutini karta redaguotas $1 $2",
-	"wikilog-comment-anonsig": "$3 (anonimas)",
-	"wikilog-comment-autosumm": "Naujas komentaras nuo $1: $2",
-	"wikilog-reply-to-comment": "Atsakyti į šį komentarą",
-	"wikilog-comment-page": "Eiti į šio komentaro puslapį",
-	"wikilog-comment-edit": "Redaguoti šį komentarą",
-	"wikilog-comment-delete": "Ištrinti šį komentarą",
-	"wikilog-title-comments": "Komentarai - $1"
-}
diff --git a/i18n/wikilog/ltg.json b/i18n/wikilog/ltg.json
deleted file mode 100644
index 849acf0..0000000
--- a/i18n/wikilog/ltg.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Dark Eagle"
-		]
-	},
-	"wikilog-history-lc": "viesture"
-}
diff --git a/i18n/wikilog/lv.json b/i18n/wikilog/lv.json
deleted file mode 100644
index e3e7478..0000000
--- a/i18n/wikilog/lv.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"GreenZeb"
-		]
-	},
-	"wikilog-form-category": "Kategorija:",
-	"wikilog-form-name": "Vārds:",
-	"wikilog-form-author": "Autors:",
-	"wikilog-form-tag": "Iezīme:",
-	"wikilog-form-date": "Datums:",
-	"wikilog-form-status": "Stāvoklis:",
-	"wikilog-form-preview": "Priekšskatījums:",
-	"wikilog-form-comment": "Komentārs:",
-	"wikilog-show-all": "Visas ziņas",
-	"wikilog-show-published": "Publicēts",
-	"wikilog-show-drafts": "Melnraksti",
-	"wikilog-submit": "Iesniegt",
-	"wikilog-preview": "Priekšskatīt",
-	"wikilog-edit-lc": "labot",
-	"wikilog-reply-lc": "atbildēt",
-	"wikilog-delete-lc": "dzēst",
-	"wikilog-approve-lc": "apstiprināt",
-	"wikilog-reject-lc": "noraidīt",
-	"wikilog-page-lc": "lapa",
-	"wikilog-history-lc": "vēsture"
-}
diff --git a/i18n/wikilog/lzz.json b/i18n/wikilog/lzz.json
deleted file mode 100644
index 1effffb..0000000
--- a/i18n/wikilog/lzz.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Bombola"
-		]
-	},
-	"wikilog-view-archives": "Arkivepe",
-	"wikilog-comment-delete": "Am yorumi jili",
-	"wikilog-form-category": "K'at'egori:",
-	"wikilog-form-name": "Coxo:",
-	"wikilog-form-date": "Tarixi:",
-	"wikilog-reply-lc": "Cevabi Doç'ari",
-	"wikilog-delete-lc": "jili",
-	"wikilog-page-lc": "Sayfe"
-}
diff --git a/i18n/wikilog/mg.json b/i18n/wikilog/mg.json
deleted file mode 100644
index c09df78..0000000
--- a/i18n/wikilog/mg.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Jagwar"
-		]
-	},
-	"wikilog-specialwikilog-title": "Wikilaogy",
-	"wikilog-log-pagename": "Laogin'ny tao eto amin'i Wikilaogy",
-	"wikilog-log-pagetext": "Eo ambany misy lisitry ny tao eo amin'ny wikilog",
-	"wikilog-new-item-go": "Amboary",
-	"wikilog-published": "Voatahiry",
-	"wikilog-actions": "Tao/asa",
-	"wikilog-comment-edit": "Hanova io hafatra io",
-	"wikilog-comment-delete": "Hamafa ilay hafatra",
-	"wikilog-comment-history": "Hijery ny tantaran'ny hafatra",
-	"wikilog-comment-approve": "Hanaiky io hafatra io (tao mandaitra avy hatrany)",
-	"wikilog-comment-reject": "Handà io hafatra io (tao mandaitra avy hatrany)",
-	"wikilog-newtalk-summary": "noforonin'i Wikilog ho azy",
-	"wikilog-feed-ns-title": "Lahatsoratra wilikaogy $1",
-	"wikilog-comment-feed-title1": "Hafatra napetrak'i $2 (faha $1)",
-	"wikilog-comment-feed-title2": "Hafatri'i $2 tamin'ny $3 (faha $1)",
-	"wikilog-form-wikilog": "Wikilaogy :",
-	"wikilog-form-category": "Sokajy :",
-	"wikilog-form-name": "Anarana :",
-	"wikilog-form-author": "Mpanoratra azy:",
-	"wikilog-form-tag": "Mpanamarika :",
-	"wikilog-form-date": "Daty :",
-	"wikilog-form-status": "Sata :",
-	"wikilog-form-preview": "Topi-maso :",
-	"wikilog-form-comment": "Resaka :",
-	"wikilog-show-all": "Petra-tsoratra rehetra",
-	"wikilog-show-published": "Voatahiry",
-	"wikilog-show-drafts": "Fanoharana",
-	"wikilog-submit": "Alefa",
-	"wikilog-preview": "Topi-maso",
-	"wikilog-edit-lc": "hanova",
-	"wikilog-reply-lc": "hamaly",
-	"wikilog-delete-lc": "hamafa",
-	"wikilog-approve-lc": "ekena",
-	"wikilog-reject-lc": "lavina",
-	"wikilog-page-lc": "pejy",
-	"wikilog-history-lc": "tantara",
-	"wikilog-doc-import-comment": "Toromarika nampidirina avy any amin'ny laogy wiki"
-}
diff --git a/i18n/wikilog/mk.json b/i18n/wikilog/mk.json
deleted file mode 100644
index 036d319..0000000
--- a/i18n/wikilog/mk.json
+++ /dev/null
@@ -1,127 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Bjankuloski06"
-		]
-	},
-	"wikilog-desc": "Додава можности за блогирање, создавајќи вики-блог хибрид",
-	"wikilog-auto": "Викидневник Авто",
-	"wikilog-help": "{{ns:Help}}:Викидневник",
-	"right-wl-postcomment": "Оставање коментари на статии во викидневникот",
-	"right-wl-moderation": "Модерирање на коментарите на статиите во викидневникот",
-	"wikilog-specialwikilog-title": "Викидневници",
-	"wikilog-log-pagename": "Дневник на дејствата на викидневникот",
-	"wikilog-log-pagetext": "Подолу е наведен список на дејства на викидневникот.",
-	"wikilog-log-cmt-approve": "го одобри коментарот „[[$1]]“",
-	"wikilog-log-cmt-reject": "го одби коментарот „[[$1]]“",
-	"wikilog-log-cmt-rejdel": "Одбиен коментар во викидневникот од [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Викидневник",
-	"wikilog-tab-title": "Дејства на викидневникот",
-	"wikilog-missing-wikilog": "Ова е страница на [[{{int:wikilog-help}}|викидневникот]] за [[{{FULLPAGENAME}}]].\n\nОвој викидневник сè уште не постои.\nЗа да објавувате статии и овозможите други можности во викидневникот, тој прво треба да се создаде.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Создај го овој викидневник].</span>",
-	"wikilog-information": "Податоци за Викидневникот",
-	"wikilog-post-count-published": "Во овој викидневник има {{PLURAL:$1|една необјавена статија|$1 необјавени статии}}",
-	"wikilog-post-count-drafts": "Има {{PLURAL:$1|една необјавена (работна) статија|$1 необјавени (работни) статии}}",
-	"wikilog-post-count-all": "Има вкупно {{PLURAL:$1|една статија|$1 статии}}.",
-	"wikilog-new-item": "Создај нова статија во викидневникот",
-	"wikilog-new-item-go": "Создај",
-	"wikilog-item-name": "Назив на статијата:",
-	"wikilog-published": "Објавено",
-	"wikilog-updated": "Подновено",
-	"wikilog-draft": "Нацрт",
-	"wikilog-authors": "Автори",
-	"wikilog-wikilog": "Викидневник",
-	"wikilog-title": "Наслов",
-	"wikilog-actions": "Дејства",
-	"wikilog-comments": "Коментари",
-	"wikilog-replies": "Одговори",
-	"wikilog-view-archives": "Архиви",
-	"wikilog-view-summary": "Опис",
-	"wikilog-draft-title-mark": "(нацрт)",
-	"wikilog-anonymous-mark": "(анонимно)",
-	"wikilog-pager-newest": "најнови",
-	"wikilog-pager-oldest": "најстари",
-	"wikilog-pager-prev": "претходна",
-	"wikilog-pager-next": "следна",
-	"wikilog-pager-first": "прва",
-	"wikilog-pager-last": "последна",
-	"wikilog-pager-empty": "(нема ставки)",
-	"wikilog-no-comments": "нема коментари",
-	"wikilog-has-comments": "{{PLURAL:$1|еден коментар|$1 коментари}}",
-	"wikilog-summary-footer": "Објавил $7 на [[$1|$2]] на $8 во $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Објавил $7 на $8 во $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Некатегоризирано",
-	"wikilog-summary-categories": "Заведено под $2",
-	"wikilog-summary-more": "[[$3|→ продолжете со читање...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|разговор]])",
-	"wikilog-edit-hint": "Уредување на статија од викидневникот: $1",
-	"wikilog-edit-fieldset-legend": "Нагодувања на викидневникот:",
-	"wikilog-edit-signpub": "Потпиши и објави ја статијава.",
-	"wikilog-edit-signpub-tooltip": "Предизвикува потпишување и објавување на овој викидневник при негово зачувување.\nОтштиклирајте го ова кутивче за да ја оставите статијата како работна верзија.",
-	"wikilog-comment-permalink": "$1 во $2",
-	"wikilog-comment-note-item": "објавено на $1",
-	"wikilog-comment-note-edited": "последно уредување на $1 во $2",
-	"wikilog-comment-anonsig": "$3 (анонимно)",
-	"wikilog-comment-pending": "Овој коментар чека одобрување.",
-	"wikilog-comment-deleted": "Овој коментар е избришан.",
-	"wikilog-comment-omitted-x": "Коментарот е испуштен (#$1).",
-	"wikilog-comment-autosumm": "Нов коментар од $1: $2",
-	"wikilog-reply-to-comment": "Одговори на коментаров",
-	"wikilog-comment-page": "Оди на страницата на овој коментар",
-	"wikilog-comment-edit": "Уреди го коментаров",
-	"wikilog-comment-delete": "Избриши го коментаров",
-	"wikilog-comment-history": "Историја на коментирање",
-	"wikilog-comment-approve": "Одобри го коментарот (делува веднаш)",
-	"wikilog-comment-reject": "Одбиј го коментарот (делува веднаш)",
-	"wikilog-newtalk-summary": "автоматски создадено од Викидневникот",
-	"wikilog-feed-title": "{{SITENAME}} — $1 [$2]",
-	"wikilog-feed-ns-title": "$1 статии во викидневникот",
-	"wikilog-feed-description": "Прочитајте ги најскорешните пораки во ова емитување.",
-	"wikilog-comment-feed-title1": "Коментар од $2 (#$1)",
-	"wikilog-comment-feed-title2": "Коментар од $2 за $3 (#$1)",
-	"wikilog-comment-feed-description": "Прочитајте ги најновите коментари на овој канал.",
-	"wikilog-title-comments": "Коментари - $1",
-	"wikilog-error-msg": "Викидневник: $1",
-	"wikilog-error-title": "Грешка во викидневникот",
-	"wikilog-invalid-param": "Неважечки параметар: $1.",
-	"wikilog-invalid-author": "Неважечки автор: $1.",
-	"wikilog-invalid-date": "Неважечки датум: $1.",
-	"wikilog-invalid-tag": "Неважечка ознака: $1.",
-	"wikilog-invalid-file": "Неважечка податотека: $1",
-	"wikilog-file-not-found": "Непостоечка податотека: $1.",
-	"wikilog-not-an-image": "Податотеката не е слика: $1.",
-	"wikilog-out-of-context": "Предупредување: Ознаките на Викидневникот се користат вон контекст.\nОвие ознаки треба да се користат само во статии во именскиот простор на Викидневникот.",
-	"wikilog-too-many-authors": "Предупредување: Пораката во викидневникот има наведено премногу автори.",
-	"wikilog-too-many-tags": "Предупредување: Пораката во викидневникот има наведено премногу ознаки.",
-	"wikilog-comment-is-empty": "Испратениот коментар е празен.",
-	"wikilog-comment-too-long": "Испратениот коментар е предолг",
-	"wikilog-comment-invalid-name": "Наведеното име е неважечко.",
-	"wikilog-no-such-article": "Бараната статија од викидневникот не постои.",
-	"wikilog-reading-draft": "Оваа статија во викидневникот е работна верзија, и сè уште не е објавена.",
-	"wikilog-posting-anonymously": "Моментално не сте најавени;\nвашиот коментар ќе биде испратен анонимно, а вие ќе бидете идентификувани по вашата IP-адреса\nЗа коментарот да ви биде припишан вам, внесете псевдоним погоре, или пак најпрвин стиснете на $1 за да се најавите, па потоа коментирајте.",
-	"wikilog-anonymous-moderated": "Откако ќе го испратите коментарот, тој нема веднаш да се појави на страницава.\nКоментарот ќе се појави само откако ќе биде прегледан од модератор.",
-	"wikilog-post-comment": "Напиши нов коментар",
-	"wikilog-post-reply": "Напиши нов одговор",
-	"wikilog-form-legend": "Пребарај по пораките во викидневникот",
-	"wikilog-form-wikilog": "Викидневник",
-	"wikilog-form-category": "Категорија:",
-	"wikilog-form-name": "Име:",
-	"wikilog-form-author": "Автор:",
-	"wikilog-form-tag": "Ознака:",
-	"wikilog-form-date": "Датум:",
-	"wikilog-form-status": "Статус:",
-	"wikilog-form-preview": "Преглед:",
-	"wikilog-form-comment": "Коментар:",
-	"wikilog-show-all": "Сите пораки",
-	"wikilog-show-published": "Објавено",
-	"wikilog-show-drafts": "Недопишани",
-	"wikilog-submit": "Испрати",
-	"wikilog-preview": "Преглед",
-	"wikilog-edit-lc": "уреди",
-	"wikilog-reply-lc": "одговори",
-	"wikilog-delete-lc": "избриши",
-	"wikilog-approve-lc": "одобри",
-	"wikilog-reject-lc": "одбиј",
-	"wikilog-page-lc": "страница",
-	"wikilog-history-lc": "историја",
-	"wikilog-doc-import-comment": "Увезена документација на Викидневникот"
-}
diff --git a/i18n/wikilog/ml.json b/i18n/wikilog/ml.json
deleted file mode 100644
index 4b2da80..0000000
--- a/i18n/wikilog/ml.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Junaidpv",
-			"Praveenp"
-		]
-	},
-	"wikilog-new-item-go": "സൃഷ്ടിക്കുക",
-	"wikilog-item-name": "ലേഖനത്തിന്റെ പേര്:",
-	"wikilog-published": "പ്രസിദ്ധപ്പെടുത്തി",
-	"wikilog-updated": "പുതുക്കി",
-	"wikilog-draft": "കരട്",
-	"wikilog-authors": "രചയിതാക്കൾ",
-	"wikilog-title": "തലക്കെട്ട്",
-	"wikilog-actions": "പ്രവൃത്തികൾ",
-	"wikilog-replies": "മറുപടികൾ",
-	"wikilog-view-summary": "ചുരുക്കം",
-	"wikilog-draft-title-mark": "(കരട്)",
-	"wikilog-anonymous-mark": "(അജ്ഞാതം)",
-	"wikilog-pager-newest": "ഏറ്റവും പുതിയവ",
-	"wikilog-pager-oldest": "ഏറ്റവും പഴയവ",
-	"wikilog-pager-prev": "മുമ്പ്",
-	"wikilog-form-wikilog": "വിക്കിരേഖ:",
-	"wikilog-form-category": "വർഗ്ഗം:",
-	"wikilog-form-name": "പേര്:",
-	"wikilog-form-author": "രചയിതാവ്:",
-	"wikilog-form-tag": "റ്റാഗ്:",
-	"wikilog-form-date": "തീയതി:",
-	"wikilog-form-status": "സ്ഥിതി:",
-	"wikilog-form-preview": "എങ്ങനെയുണ്ടെന്നു കാണുക:",
-	"wikilog-form-comment": "അഭിപ്രായം:",
-	"wikilog-show-published": "പ്രസിദ്ധീകരിച്ചത്",
-	"wikilog-show-drafts": "കരടുകൾ",
-	"wikilog-submit": "സമർപ്പിക്കുക",
-	"wikilog-preview": "എങ്ങനെയുണ്ടെന്നു കാണുക",
-	"wikilog-edit-lc": "തിരുത്തുക",
-	"wikilog-reply-lc": "മറുപടി",
-	"wikilog-delete-lc": "മായ്ക്കുക",
-	"wikilog-approve-lc": "അംഗീകരിക്കുക",
-	"wikilog-reject-lc": "നിരസിക്കുക",
-	"wikilog-page-lc": "താൾ",
-	"wikilog-history-lc": "നാൾവഴി"
-}
diff --git a/i18n/wikilog/mn.json b/i18n/wikilog/mn.json
deleted file mode 100644
index 82f3c66..0000000
--- a/i18n/wikilog/mn.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Chinneeb"
-		]
-	},
-	"wikilog-comments": "Сэтгэгдлүүд",
-	"wikilog-view-summary": "Товч агуулга",
-	"wikilog-has-comments": "{{PLURAL:$1|нэг сэтгэгдэл|$1 сэтгэгдэл}}",
-	"wikilog-title-comments": "Сэтгэгдлүүд - $1",
-	"wikilog-form-comment": "Сэтгэгдэл:",
-	"wikilog-submit": "Явуулах",
-	"wikilog-page-lc": "хуудас"
-}
diff --git a/i18n/wikilog/ms.json b/i18n/wikilog/ms.json
deleted file mode 100644
index 86cbbfc..0000000
--- a/i18n/wikilog/ms.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Anakmalaysia",
-			"Yosri"
-		]
-	},
-	"wikilog-auto": "Auto Wikilog",
-	"right-wl-postcomment": "Mencatatkan ulasan pada rencana wikilog",
-	"right-wl-moderation": "Mengawal selia ulasan rencana wikilog",
-	"wikilog-specialwikilog-title": "Wikilog",
-	"wikilog-log-pagename": "Log tindakan Wikilog",
-	"wikilog-log-pagetext": "Di bawah adalah senarai tindakan wikilog.",
-	"wikilog-log-cmt-approve": "Ulasan diluluskan \"[[$1]]\"",
-	"wikilog-log-cmt-reject": "Ulasan ditolak \"[[$1]]\"",
-	"wikilog-log-cmt-rejdel": "Ulasan wikilog oleh [[Special:Contributions/$1|$1]] ditolak",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Tindakan Wikilog",
-	"wikilog-new-item-go": "Cipta",
-	"wikilog-authors": "Pengarang",
-	"wikilog-title": "Tajuk",
-	"wikilog-actions": "Tindakan",
-	"wikilog-comments": "Komen",
-	"wikilog-view-summary": "Ringkasan",
-	"wikilog-anonymous-mark": "(tanpa nama)",
-	"wikilog-pager-prev": "sebelumnya",
-	"wikilog-pager-next": "berikutnya",
-	"wikilog-has-comments": "{{PLURAL:$1|satu komen|$1 komen}}",
-	"wikilog-title-comments": "Komen - $1",
-	"wikilog-form-name": "Nama:",
-	"wikilog-form-author": "Pengarang:",
-	"wikilog-form-date": "Tarikh:",
-	"wikilog-form-preview": "Pralihat:",
-	"wikilog-form-comment": "Komen:",
-	"wikilog-submit": "Serahkan",
-	"wikilog-preview": "Pralihat",
-	"wikilog-edit-lc": "sunting",
-	"wikilog-delete-lc": "hapuskan",
-	"wikilog-approve-lc": "luluskan",
-	"wikilog-page-lc": "laman",
-	"wikilog-history-lc": "sejarah"
-}
diff --git a/i18n/wikilog/nb.json b/i18n/wikilog/nb.json
deleted file mode 100644
index f6ebea1..0000000
--- a/i18n/wikilog/nb.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Nghtwlkr"
-		]
-	},
-	"wikilog-desc": "Legger til bloggefunksjoner og oppretter en wiki-blogg-hybrid",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilogg",
-	"right-wl-postcomment": "Skriv kommentarer til wikilog-artikler",
-	"right-wl-moderation": "Moderering av wikilogg-artikkelkommentarer",
-	"wikilog-specialwikilog-title": "Wikilogger",
-	"wikilog-log-pagename": "Wikilog handlingslogg",
-	"wikilog-log-pagetext": "Under er en liste over wikilogghandliger.",
-	"wikilog-log-cmt-approve": "godkjent kommentar «[[$1]]»",
-	"wikilog-log-cmt-reject": "avslo kommentar «[[$1]]»",
-	"wikilog-log-cmt-rejdel": "Avviste wikiloggkommentarer fra [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilogg",
-	"wikilog-tab-title": "Wikilogghandliger",
-	"wikilog-missing-wikilog": "Dette er [[{{int:wikilog-help}}|wikiloggsiden]] for [[{{FULLPAGENAME}}]].\n\nDenne wikiloggen finnes ikke enda.\nFor å publisere artikler og tillate andre wikiloggegenskaper må denne opprettes først.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Opprett denne wikiloggen].</span>",
-	"wikilog-information": "Wikilog-informasjon",
-	"wikilog-post-count-published": "Det finnes {{PLURAL:$1|én publisert artikkel|$1 publiserte artikler}} i denne wikiloggen",
-	"wikilog-post-count-drafts": "Det finnes {{PLURAL:$1|én upublisert (utkast) artikkel|$1 upubliserte (utkast) artikler}}",
-	"wikilog-post-count-all": "Totalt finnes det {{PLURAL:$1|én artikkel|$1 artikler}}.",
-	"wikilog-new-item": "Opprett ny wikiloggartikkel",
-	"wikilog-new-item-go": "Opprett",
-	"wikilog-item-name": "Artikkelnavn:",
-	"wikilog-published": "Publisert",
-	"wikilog-updated": "Oppdatert",
-	"wikilog-draft": "Utkast",
-	"wikilog-authors": "Forfattere",
-	"wikilog-wikilog": "Wikilogg",
-	"wikilog-title": "Tittel",
-	"wikilog-actions": "Handlinger",
-	"wikilog-comments": "Kommentarer",
-	"wikilog-replies": "Svar",
-	"wikilog-view-archives": "Arkiv",
-	"wikilog-view-summary": "Sammendrag",
-	"wikilog-draft-title-mark": "(utkast)",
-	"wikilog-anonymous-mark": "(anonym)",
-	"wikilog-pager-newest": "nyest",
-	"wikilog-pager-oldest": "eldst",
-	"wikilog-pager-prev": "forrige",
-	"wikilog-pager-next": "neste",
-	"wikilog-pager-first": "første",
-	"wikilog-pager-last": "siste",
-	"wikilog-pager-empty": "(ingen innlegg)",
-	"wikilog-no-comments": "ingen kommentarer",
-	"wikilog-has-comments": "{{PLURAL:$1|en kommentar|$1 kommentarer}}",
-	"wikilog-summary-footer": "Postet av $7 på [[$1|$2]] den $8, kl $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Postet av $7 den $8, kl $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Ukategorisert",
-	"wikilog-summary-categories": "Lagret under $2",
-	"wikilog-summary-more": "[[$3|→ fortsett å lese...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|diskusjon]])",
-	"wikilog-edit-hint": "Rediger wikilog-artikkel: $1",
-	"wikilog-edit-fieldset-legend": "Alternativ for Wikilog:",
-	"wikilog-edit-signpub": "Signér og publiser denne artikkelen",
-	"wikilog-edit-signpub-tooltip": "Lagring fører til at denne artikkelen blir signert og publisert i sin wikilogg.\nHak vekk denne boksen dersom du vil beholde artikkelen som et utkast.",
-	"wikilog-comment-permalink": "$1, $2",
-	"wikilog-comment-note-item": "postet til $1",
-	"wikilog-comment-note-edited": "Sist endret $1, $2",
-	"wikilog-comment-anonsig": "$3 (anonym)",
-	"wikilog-comment-pending": "Denne kommentaren venter på godkjenning.",
-	"wikilog-comment-deleted": "Denne kommentaren ble slettet.",
-	"wikilog-comment-omitted-x": "Kommentar utelatt (#$1).",
-	"wikilog-comment-autosumm": "Ny kommentar fra $1: $2",
-	"wikilog-reply-to-comment": "Skriv et svar til denne kommentaren",
-	"wikilog-comment-page": "Gå til denne kommentarens side",
-	"wikilog-comment-edit": "Rediger denne kommentaren",
-	"wikilog-comment-delete": "Slett denne kommentaren",
-	"wikilog-comment-history": "Vis kommentarhistorikk",
-	"wikilog-comment-approve": "Godkjenn denne kommentaren (utføres umiddelbart)",
-	"wikilog-comment-reject": "Avvis denne kommentaren (utføres umiddelbart)",
-	"wikilog-newtalk-summary": "automatisk opprettet av Wikilog",
-	"wikilog-feed-ns-title": "$1 wikilog-artikler",
-	"wikilog-feed-description": "Les det nyeste innlegget i denne feeden.",
-	"wikilog-comment-feed-title1": "Kommentar av $2 (#$1)",
-	"wikilog-comment-feed-title2": "Kommentar av $2 til $3 (#$1)",
-	"wikilog-comment-feed-description": "Les de nyeste kommentarene i denne matingen.",
-	"wikilog-title-comments": "Kommentarer - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Wikilog-feil",
-	"wikilog-invalid-param": "Ugyldig parameter: $1.",
-	"wikilog-invalid-author": "Ugyldig forfatter: $1.",
-	"wikilog-invalid-date": "Ugyldig dato: $1.",
-	"wikilog-invalid-tag": "Ugyldig merkelapp: $1.",
-	"wikilog-invalid-file": "Ugyldig fil: $1.",
-	"wikilog-file-not-found": "Ikke-eksisterende fil: $1.",
-	"wikilog-not-an-image": "Filen er ikke et bilde: $1.",
-	"wikilog-out-of-context": "Advarsel: Wikilog-merkelapper blir brukt uten kontekst.\nDe burde kun brukes i artikler i Wikilog-navnerommet.",
-	"wikilog-too-many-authors": "Advarsel: For mange forfattere er listet i dette wikilogginnlegget.",
-	"wikilog-too-many-tags": "Advarsel: For mange merkelapper er listet i dette wikilogginnlegget.",
-	"wikilog-comment-is-empty": "Kommentaren er tom.",
-	"wikilog-comment-too-long": "Kommentaren er for lang.",
-	"wikilog-comment-invalid-name": "Oppgitt navn er ugyldig.",
-	"wikilog-no-such-article": "Den etterspurte wikiloggartikkelen finnes ikke.",
-	"wikilog-reading-draft": "Denne wikiloggartikkelen er et utkast, den ble ikke publisert enda.",
-	"wikilog-posting-anonymously": "Du er ikke innlogget;\ndin kommentar vil bli postet anonymt og identifisert ved din internettilkoblingsadresse.\nDu burde enten oppgi et pseudonym over for å identifisere kommentaren din, eller $1 for å bli tilskrevet deg.",
-	"wikilog-anonymous-moderated": "Etter at du har sendt din kommentar vil det ta litt tid før den vises på siden.\nKommentaren blir først synlig etter at en moderator har godkjent den.",
-	"wikilog-post-comment": "Skriv en ny kommentar",
-	"wikilog-post-reply": "Skriv et nytt svar",
-	"wikilog-form-legend": "Søk etter wikilog-innlegg",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Kategori:",
-	"wikilog-form-name": "Navn:",
-	"wikilog-form-author": "Forfatter:",
-	"wikilog-form-tag": "Merkelapp:",
-	"wikilog-form-date": "Dato:",
-	"wikilog-form-status": "Status:",
-	"wikilog-form-preview": "Forhåndsvisning:",
-	"wikilog-form-comment": "Kommentar:",
-	"wikilog-show-all": "Alle innlegg",
-	"wikilog-show-published": "Publisert",
-	"wikilog-show-drafts": "Utkast",
-	"wikilog-submit": "Send",
-	"wikilog-preview": "Forhåndsvis",
-	"wikilog-edit-lc": "rediger",
-	"wikilog-reply-lc": "svar",
-	"wikilog-delete-lc": "slett",
-	"wikilog-approve-lc": "godkjenn",
-	"wikilog-reject-lc": "avslå",
-	"wikilog-page-lc": "side",
-	"wikilog-history-lc": "historikk",
-	"wikilog-doc-import-comment": "Importert Wikilog-dokumentasjon"
-}
diff --git a/i18n/wikilog/nds-nl.json b/i18n/wikilog/nds-nl.json
deleted file mode 100644
index 33ea920..0000000
--- a/i18n/wikilog/nds-nl.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Servien"
-		]
-	},
-	"wikilog-form-date": "Daotum:"
-}
diff --git a/i18n/wikilog/ne.json b/i18n/wikilog/ne.json
deleted file mode 100644
index 9714d82..0000000
--- a/i18n/wikilog/ne.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"RajeshPandey"
-		]
-	},
-	"wikilog-has-comments": "{{PLURAL:$1|एक टिप्पणी|$1 टिप्पणीहरू}}",
-	"wikilog-form-comment": "टिप्पणी :"
-}
diff --git a/i18n/wikilog/nl.json b/i18n/wikilog/nl.json
deleted file mode 100644
index e8dd5a6..0000000
--- a/i18n/wikilog/nl.json
+++ /dev/null
@@ -1,127 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"McDutchie",
-			"Siebrand"
-		]
-	},
-	"wikilog-desc": "Voegt blogmogelijkheden toe om een wikiblog te maken",
-	"wikilog-auto": "Wikilog Automatisch",
-	"wikilog-help": "{{ns:help}}:Wikilog",
-	"right-wl-postcomment": "Reacties op wikilog-artikelen plaatsen",
-	"right-wl-moderation": "Wikilog-artikelreacties modereren",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-log-pagename": "Wikiloghandelingenlogboek",
-	"wikilog-log-pagetext": "Hieronder treft u een lijst van Wikilog-handelingen aan.",
-	"wikilog-log-cmt-approve": "heeft reactie [[$1]] goedgekeurd",
-	"wikilog-log-cmt-reject": "heeft reactie [[$1]] afgekeurd",
-	"wikilog-log-cmt-rejdel": "Heeft een wikilogreactie van [[Special:Contributions/$1|$1]] afgekeurd",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Wikilog-handelingen",
-	"wikilog-missing-wikilog": "Dit is de [[{{int:wikilog-help}}|wikilogpagina]] voor [[{{FULLPAGENAME}}]].\n\nDeze wikilog bestaat nog niet.\nOm artikelen te publiceren en andere wikilogmogelijkheden in te schakelen, moet deze eerst aangemaakt worden.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Wikilog aanmaken].</span>",
-	"wikilog-information": "Wikilog-informatie",
-	"wikilog-post-count-published": "Er {{PLURAL:$1|is 1 gepubliceerd artikel|zijn $1 gepubliceerde artikelen}} in deze wikilog",
-	"wikilog-post-count-drafts": "Er {{PLURAL:$1|is 1 ongepubliceerd artikel|zijn $1 ongepubliceerde artikelen}}",
-	"wikilog-post-count-all": "In totaal {{PLURAL:$1|is er 1 artikel|zijn er $1 artikelen}}.",
-	"wikilog-new-item": "Nieuw wikilogartikel aanmaken",
-	"wikilog-new-item-go": "Aanmaken",
-	"wikilog-item-name": "Artikelnaam:",
-	"wikilog-published": "Gepubliceerd",
-	"wikilog-updated": "Bijgewerkt",
-	"wikilog-draft": "Werkversie",
-	"wikilog-authors": "Auteurs",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Titel",
-	"wikilog-actions": "Handelingen",
-	"wikilog-comments": "Reacties",
-	"wikilog-replies": "Reacties",
-	"wikilog-view-archives": "Archieven",
-	"wikilog-view-summary": "Samenvatting",
-	"wikilog-draft-title-mark": "(werkversie)",
-	"wikilog-anonymous-mark": "(anoniem)",
-	"wikilog-pager-newest": "nieuwste",
-	"wikilog-pager-oldest": "oudste",
-	"wikilog-pager-prev": "vorige",
-	"wikilog-pager-next": "volgende",
-	"wikilog-pager-first": "eerste",
-	"wikilog-pager-last": "laatste",
-	"wikilog-pager-empty": "(geen items)",
-	"wikilog-no-comments": "geen reacties",
-	"wikilog-has-comments": "{{PLURAL:$1|1 reactie|$1 reacties}}",
-	"wikilog-summary-footer": "Geplaatst door $7 op [[$1|$2]] op $8 om $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Geplaatst door $7 op $8 om $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Zonder categorie",
-	"wikilog-summary-categories": "Gecategoriseerd onder $2",
-	"wikilog-summary-more": "[[$3|→ meer lezen...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|overleg]])",
-	"wikilog-edit-hint": "Wikilogpagina $1 bewerken",
-	"wikilog-edit-fieldset-legend": "Wikilog-instellingen:",
-	"wikilog-edit-signpub": "Dit artikel ondertekenen en publiceren",
-	"wikilog-edit-signpub-tooltip": "Zorgt ervoor dat dit artikel wordt ondertekend en gepubliceerd in de wikilog.\nSchakel dit vaktje uit om het artikel de status concept te laten houden.",
-	"wikilog-comment-permalink": "$1 om $2 ($3)",
-	"wikilog-comment-note-item": "geplaatst door $1",
-	"wikilog-comment-note-edited": "Laatst gewijzigd op $1 om $2",
-	"wikilog-comment-anonsig": "$3 (anoniem)",
-	"wikilog-comment-pending": "Deze reactie wacht op moderatie.",
-	"wikilog-comment-deleted": "Deze reactie is verwijderd.",
-	"wikilog-comment-omitted-x": "Opmerking weggelaten (#$1).",
-	"wikilog-comment-autosumm": "Nieuwe reactie van $1: $2",
-	"wikilog-reply-to-comment": "Reactie plaatsen op deze reactie",
-	"wikilog-comment-page": "Naar de pagina van deze reactie gaan",
-	"wikilog-comment-edit": "Reactie bewerken",
-	"wikilog-comment-delete": "Reactie verwijderen",
-	"wikilog-comment-history": "Reactiegeschiedenis bekijken",
-	"wikilog-comment-approve": "Deze reactie goedkeuren (directe handeling)",
-	"wikilog-comment-reject": "Deze reactie afkeuren (directe handeling)",
-	"wikilog-newtalk-summary": "automatisch aangemaakt door Wikilog",
-	"wikilog-feed-ns-title": "Wikilogpagina's in de naamruimte $1",
-	"wikilog-feed-description": "De meest recente bijdragen in deze feed bekijken.",
-	"wikilog-comment-feed-title1": "Reactie van $2 (#$1)",
-	"wikilog-comment-feed-title2": "Reactie van $2 bij $3 (#$1)",
-	"wikilog-comment-feed-description": "De meeste recente reacties voor deze feed lezen.",
-	"wikilog-title-comments": "Reacties - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Foutmelding Wikilog",
-	"wikilog-invalid-param": "Ongeldige paramter: $1.",
-	"wikilog-invalid-author": "Ongeldige auteur: $1.",
-	"wikilog-invalid-date": "Ongeldige datum: $1.",
-	"wikilog-invalid-tag": "Ongeldig label: $1.",
-	"wikilog-invalid-file": "Ongeldig bestand: $1.",
-	"wikilog-file-not-found": "Niet-bestaand bestand: $1.",
-	"wikilog-not-an-image": "Het bestand is geen afbeelding: $1.",
-	"wikilog-out-of-context": "Waarschuwing: er worden Wikilog-labels buiten de context gebruikt.\nDeze labels horen alleen gebruikt te worden in artikelen in de naamruimte Wikilog.",
-	"wikilog-too-many-authors": "Waarschuwing: er worden te veel auteurs genoemd in deze wikilog.",
-	"wikilog-too-many-tags": "Waarschuwing: er worden te veel labels gebruikt in deze Wikilog.",
-	"wikilog-comment-is-empty": "De reactie is leeg.",
-	"wikilog-comment-too-long": "De reactie is te lang.",
-	"wikilog-comment-invalid-name": "De opgegeven naam is ongeldig.",
-	"wikilog-no-such-article": "Het opgegeven Wikilogartikel bestaat niet.",
-	"wikilog-reading-draft": "Dit Wikilog-artikel is een nog niet gepubliceerde werkversie.",
-	"wikilog-posting-anonymously": "U bent niet aangemeld.\nU reageert anoniem en uw IP-adres wordt vastgelegd.\nGeef hierboven een pseudoniem op bij uw reactie.\nU kunt zich ook $1.",
-	"wikilog-anonymous-moderated": "Uw reactie is niet direct zichtbaar op de pagina als u deze hebt opgeslagen.\nEr vindt eerst een controle plaats door een moderator.",
-	"wikilog-post-comment": "Nieuwe reactie plaatsen",
-	"wikilog-post-reply": "Nieuwe reactie plaatsen",
-	"wikilog-form-legend": "Wikilog-artikelen zoeken",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Categorie:",
-	"wikilog-form-name": "Naam:",
-	"wikilog-form-author": "Auteur:",
-	"wikilog-form-tag": "Label:",
-	"wikilog-form-date": "Datum:",
-	"wikilog-form-status": "Status:",
-	"wikilog-form-preview": "Voorvertoning:",
-	"wikilog-form-comment": "Opmerking:",
-	"wikilog-show-all": "Alle berichten",
-	"wikilog-show-published": "Gepubliceerd",
-	"wikilog-show-drafts": "Werkversies",
-	"wikilog-submit": "Opslaan",
-	"wikilog-preview": "Voorvertoning",
-	"wikilog-edit-lc": "bewerken",
-	"wikilog-reply-lc": "reageren",
-	"wikilog-delete-lc": "verwijderen",
-	"wikilog-approve-lc": "goedkeuren",
-	"wikilog-reject-lc": "afwijzen",
-	"wikilog-page-lc": "pagina",
-	"wikilog-history-lc": "geschiedenis",
-	"wikilog-doc-import-comment": "Geïmporteerde Wikilog-documentatie"
-}
diff --git a/i18n/wikilog/nn.json b/i18n/wikilog/nn.json
deleted file mode 100644
index 8df176d..0000000
--- a/i18n/wikilog/nn.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Finnrind",
-			"Gunnernett"
-		]
-	},
-	"wikilog-desc": "Legg til bloggfunksjonar, og lagar ei wiki-blogg hybridoppsett",
-	"right-wl-postcomment": "Skriv kommentarar til wikilog-artiklar",
-	"wikilog-log-pagename": "Wikilog for hendingar",
-	"wikilog-tab": "Wikilogg",
-	"wikilog-new-item-go": "Lag",
-	"wikilog-item-name": "Artikkelnamn:",
-	"wikilog-published": "Publisert",
-	"wikilog-updated": "Oppdatert",
-	"wikilog-draft": "Utkast",
-	"wikilog-authors": "Forfattarar",
-	"wikilog-title": "Tittel",
-	"wikilog-actions": "Handlingar",
-	"wikilog-comments": "Kommentarar",
-	"wikilog-replies": "Svar",
-	"wikilog-view-archives": "Arkiv",
-	"wikilog-view-summary": "Samanfatting",
-	"wikilog-draft-title-mark": "(utkast)",
-	"wikilog-anonymous-mark": "(anonym)",
-	"wikilog-pager-newest": "nyaste",
-	"wikilog-pager-oldest": "eldst",
-	"wikilog-pager-prev": "tidlegare",
-	"wikilog-pager-next": "neste",
-	"wikilog-pager-last": "siste",
-	"wikilog-pager-empty": "(ingen innlegg)",
-	"wikilog-no-comments": "ingen kommentarar",
-	"wikilog-summary-more": "[[$3|→ hald fram med å lesa...]]",
-	"wikilog-edit-signpub": "Signér og publiser denne artikkelen",
-	"wikilog-comment-pending": "Denne kommentaren ventar på godkjenning.",
-	"wikilog-comment-deleted": "Denne kommentaren er sletta.",
-	"wikilog-comment-autosumm": "Ny kommentar av $1: $2",
-	"wikilog-comment-edit": "Redigér denne kommentaren",
-	"wikilog-comment-delete": "Slett denne kommentaren",
-	"wikilog-comment-history": "Sjå kommentarshistoria",
-	"wikilog-feed-description": "Les dei nyaste innlegga i denne feeden.",
-	"wikilog-title-comments": "Kommentarar - $1",
-	"wikilog-invalid-param": "Feilaktig parameter: $1.",
-	"wikilog-invalid-date": "Ikkje gyldig dato: $1.",
-	"wikilog-not-an-image": "Fila er ikkje eit bilete: $1.",
-	"wikilog-comment-too-long": "Kommentaren er for lang.",
-	"wikilog-comment-invalid-name": "Oppgjeve namn er ikkje gyldig.",
-	"wikilog-no-such-article": "Den etterspurde wikilogg-artikkelen finst ikkje..",
-	"wikilog-reading-draft": "Denne artikkelen til wikilog er eit utkast, og er ikkje publisert enno.",
-	"wikilog-post-comment": "Skriv ein ny kommentar",
-	"wikilog-post-reply": "Skriv eit nytt svar",
-	"wikilog-form-legend": "Søk etter wikilogg-innlegg",
-	"wikilog-form-category": "Kategori:",
-	"wikilog-form-author": "Forfattar:",
-	"wikilog-form-tag": "Merke:",
-	"wikilog-form-date": "Dato:",
-	"wikilog-form-status": "Status:",
-	"wikilog-form-preview": "Førehandsvising:",
-	"wikilog-form-comment": "Kommentar:",
-	"wikilog-show-all": "Alle innlegg",
-	"wikilog-show-published": "Publisert",
-	"wikilog-show-drafts": "Utkast",
-	"wikilog-history-lc": "historikk"
-}
diff --git a/i18n/wikilog/oc.json b/i18n/wikilog/oc.json
deleted file mode 100644
index aada96d..0000000
--- a/i18n/wikilog/oc.json
+++ /dev/null
@@ -1,124 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Cedric31"
-		]
-	},
-	"wikilog-desc": "Apond de foncionalitats de blòg, creant un wiki-blog ibrid",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Postar de comentaris suls articles de wikilog",
-	"right-wl-moderation": "Moderacion dels comentaris suls articles de wikilog",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-log-pagename": "Jornal de las accions sus wikilog",
-	"wikilog-log-pagetext": "Çaijós se tròba una lista de las accions sus wikilog.",
-	"wikilog-log-cmt-approve": "comentari aprovat [[$1]]",
-	"wikilog-log-cmt-reject": "comentari regetat [[$1]]",
-	"wikilog-log-cmt-rejdel": "A regetat lo comentari sus wikilog de [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Accions sus wikilog",
-	"wikilog-missing-wikilog": "Aquò es la pagina [[{{int:wikilog-help}}|wikilog]] per [[{{FULLPAGENAME}}]].\n\nAqueste wikilog existís pas pel moment.\nD'en primièr, deu èsser creat per poder publicar d'articles e utilizar las autras foncionalitats de wikilog.\n\n* <span class=\"plainlkinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Crear aqueste wikilog].</span>",
-	"wikilog-information": "Informacion sus wikilog",
-	"wikilog-post-count-published": "I a {{PLURAL:$1|$1 article publicat|$1 articles publicats}} sus aqueste wikilog,",
-	"wikilog-post-count-drafts": "I a {{PLURAL:£1|un article pas publicat (borrolhon)|$1 articles pas publicats (borrolhons)}},",
-	"wikilog-post-count-all": "Al total, i a {{PLURAL:$1|un article|$1 articles}}.",
-	"wikilog-new-item": "Crear un article novèl de wikilog",
-	"wikilog-new-item-go": "Crear",
-	"wikilog-item-name": "Nom de l'article :",
-	"wikilog-published": "Publicat",
-	"wikilog-updated": "Mes a jorn",
-	"wikilog-draft": "Borrolhon",
-	"wikilog-authors": "Autors",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Títol",
-	"wikilog-actions": "Accions",
-	"wikilog-comments": "Comentaris",
-	"wikilog-replies": "Responsas",
-	"wikilog-view-archives": "Archius",
-	"wikilog-view-summary": "Resumit",
-	"wikilog-draft-title-mark": "(borrolhon)",
-	"wikilog-anonymous-mark": "(anonim)",
-	"wikilog-pager-newest": "los mai recents",
-	"wikilog-pager-oldest": "los mai ancians",
-	"wikilog-pager-prev": "precedenta",
-	"wikilog-pager-next": "seguenta",
-	"wikilog-pager-first": "primièra",
-	"wikilog-pager-last": "darrièra",
-	"wikilog-pager-empty": "(pas cap d'item)",
-	"wikilog-no-comments": "pas de comentari",
-	"wikilog-has-comments": "{{PLURAl:$1|un comentari|$1 comentaris}}",
-	"wikilog-summary-footer": "Postat per $7 dins [[$1|$2]] lo $8 a $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Postat per $7 lo $8 a $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Pas categorizat",
-	"wikilog-summary-categories": "Classat dins $2",
-	"wikilog-summary-more": "[[$3|→ legir la seguida...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|discutir]])",
-	"wikilog-edit-fieldset-legend": "Opcions de wikilog :",
-	"wikilog-edit-signpub": "Signar e publicar aqueste article",
-	"wikilog-edit-signpub-tooltip": "Fa que l'article es signat e publicat dins son wikilog al moment del salvament.\nDesmarcatz aquesta casa per que l'article demòre a l'estat de borrolhon.",
-	"wikilog-comment-permalink": "$1 a $2",
-	"wikilog-comment-note-item": "Postat a $1",
-	"wikilog-comment-note-edited": "darrièra modificacion lo $1 a $2",
-	"wikilog-comment-anonsig": "$3 (anonim)",
-	"wikilog-comment-pending": "Aqueste comentari es en espèra d'una aprovacion.",
-	"wikilog-comment-deleted": "Aqueste comentari es estat suprimit.",
-	"wikilog-comment-omitted-x": "Comentari omés (#$1).",
-	"wikilog-comment-autosumm": "Comentari novèl de $1 : $2",
-	"wikilog-reply-to-comment": "Postar una responsa a aqueste comentari",
-	"wikilog-comment-page": "Anar a la pagina d'aqueste comentari",
-	"wikilog-comment-edit": "Modificar aqueste comentari",
-	"wikilog-comment-delete": "Suprimir aqueste comentari",
-	"wikilog-comment-history": "Veire l'istoric dels comentaris",
-	"wikilog-comment-approve": "Aprovar aqueste comentari (efièch immediat)",
-	"wikilog-comment-reject": "Regetar aqueste comentari (efièch immediat)",
-	"wikilog-newtalk-summary": "creat automaticament per Wikilog",
-	"wikilog-feed-description": "Legir los posts mai recents dins aqueste feed.",
-	"wikilog-comment-feed-title1": "Comentari de $2 (#$1)",
-	"wikilog-comment-feed-title2": "Comentari de $2 a $3 (# $1)",
-	"wikilog-comment-feed-description": "Legir los comentaris los mai recents dins aqueste fial de nòvas.",
-	"wikilog-title-comments": "Comentaris - $1",
-	"wikilog-error-msg": "Wikilog : $1",
-	"wikilog-error-title": "Error de wikilog",
-	"wikilog-invalid-param": "Paramètre invalid : $1.",
-	"wikilog-invalid-author": "Autor invalid : $1.",
-	"wikilog-invalid-date": "Data invalida : $1.",
-	"wikilog-invalid-tag": "Tag invalid : $1.",
-	"wikilog-invalid-file": "Fichièr invalid : $1.",
-	"wikilog-file-not-found": "Fichièr inexistent : $1.",
-	"wikilog-not-an-image": "Lo fichièr es pas un imatge : $1.",
-	"wikilog-out-of-context": "Avertiment : de tags de wikilog son utilizats fòra contèxte.\nDeurián pas èsser utilizats que dins los articles de l'espaci de noms Wikilog.",
-	"wikilog-too-many-authors": "Avertiment : Tròp d'autors listats dins le post de wikilog.",
-	"wikilog-too-many-tags": "Avertiment : Tròp de tags listats dins aqueste post de wikilog.",
-	"wikilog-comment-is-empty": "Lo comentari postat es void.",
-	"wikilog-comment-too-long": "Lo comentari postat es tròp long.",
-	"wikilog-comment-invalid-name": "Lo nom provesit es pas valid.",
-	"wikilog-no-such-article": "L'article de wikilog esperat existís pas.",
-	"wikilog-reading-draft": "Aqueste article de wikilog es un borrolhon, es pas encara estat publicat.",
-	"wikilog-posting-anonymously": "Actualament, sètz pas connectat ;\nvòstre comentari serà postat anonimament, identificat per vòstra adreça de connexion a Internet.\nVos caldriá especificar un pseudonim çaisús per identificar vòstre comentari, o $1 per que siá atribuit corrèctament.",
-	"wikilog-anonymous-moderated": "Un còp que sometètz vòstre comentari, serà pas immediatament visible sus la pagina.\nLo comentari apareisserà pas qu'aprèp verificacion per un moderator.",
-	"wikilog-post-comment": "Postar un comentari novèl",
-	"wikilog-post-reply": "Postar una responsa novèla",
-	"wikilog-form-legend": "Cercar de posts de wikilog",
-	"wikilog-form-wikilog": "Wikilog :",
-	"wikilog-form-category": "Categoria :",
-	"wikilog-form-name": "Nom :",
-	"wikilog-form-author": "Autor :",
-	"wikilog-form-tag": "Tag :",
-	"wikilog-form-date": "Data :",
-	"wikilog-form-status": "Estatut :",
-	"wikilog-form-preview": "Previsualizacion :",
-	"wikilog-form-comment": "Comentari :",
-	"wikilog-show-all": "Totes los posts",
-	"wikilog-show-published": "Publicats",
-	"wikilog-show-drafts": "Borrolhons",
-	"wikilog-submit": "Sometre",
-	"wikilog-preview": "Previsualizar",
-	"wikilog-edit-lc": "modificar",
-	"wikilog-reply-lc": "respondre",
-	"wikilog-delete-lc": "suprimir",
-	"wikilog-approve-lc": "aprovar",
-	"wikilog-reject-lc": "regetar",
-	"wikilog-page-lc": "pagina",
-	"wikilog-history-lc": "istoric",
-	"wikilog-doc-import-comment": "Documentacion importada de wikilog"
-}
diff --git a/i18n/wikilog/or.json b/i18n/wikilog/or.json
deleted file mode 100644
index 1575013..0000000
--- a/i18n/wikilog/or.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Psubhashish"
-		]
-	},
-	"wikilog-title": "ଶିରୋନାମା"
-}
diff --git a/i18n/wikilog/pdc.json b/i18n/wikilog/pdc.json
deleted file mode 100644
index da0f373..0000000
--- a/i18n/wikilog/pdc.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Xqt"
-		]
-	},
-	"wikilog-new-item-go": "Schtaerte",
-	"wikilog-authors": "Schreiwer",
-	"wikilog-title": "Titel",
-	"wikilog-comments": "Aamaerickinge",
-	"wikilog-pager-next": "neegschter",
-	"wikilog-has-comments": "{{PLURAL:$1|ee Aamaericking|$1 Aamaerickinge}}",
-	"wikilog-title-comments": "Aamaerickinge - $1",
-	"wikilog-form-category": "Abdeeling:",
-	"wikilog-form-name": "Naame:",
-	"wikilog-form-author": "Schreiwer:",
-	"wikilog-form-tag": "Daag:",
-	"wikilog-form-preview": "Aagucke:",
-	"wikilog-form-comment": "Aamaericking:",
-	"wikilog-preview": "Devor aagucke",
-	"wikilog-edit-lc": "ennere",
-	"wikilog-delete-lc": "verwische",
-	"wikilog-page-lc": "Blatt"
-}
diff --git a/i18n/wikilog/pfl.json b/i18n/wikilog/pfl.json
deleted file mode 100644
index 280fef7..0000000
--- a/i18n/wikilog/pfl.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Manuae",
-			"Xqt"
-		]
-	},
-	"wikilog-new-item-go": "Oalesche",
-	"wikilog-pager-newest": "naischde",
-	"wikilog-pager-oldest": "eldschde",
-	"wikilog-pager-prev": "voricher",
-	"wikilog-pager-next": "negschter",
-	"wikilog-pager-first": "erschda",
-	"wikilog-pager-last": "ledschda",
-	"wikilog-form-tag": "Daach:",
-	"wikilog-edit-lc": "bearwaide",
-	"wikilog-delete-lc": "lesche",
-	"wikilog-page-lc": "Said"
-}
diff --git a/i18n/wikilog/pl.json b/i18n/wikilog/pl.json
deleted file mode 100644
index a3a3c5a..0000000
--- a/i18n/wikilog/pl.json
+++ /dev/null
@@ -1,129 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Odder",
-			"Sp5uhe"
-		]
-	},
-	"wikilog-desc": "Dodaje funkcję blogu – tworzy hybrydę wiki i blogu",
-	"wikilog-auto": "Wikiblog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikiblog",
-	"right-wl-postcomment": "Dodawanie komentarzy do wikirejestru artykułów",
-	"right-wl-moderation": "Zarządzanie komentarzami wikirejestru artykułów",
-	"wikilog-specialwikilog-title": "Wikiblogi",
-	"wikilog-log-pagename": "Rejestr wikiblogu",
-	"wikilog-log-pagetext": "Poniżej znajduje się spis czynności podejmowanych dla wikiblogu.",
-	"wikilog-log-cmt-approve": "zatwierdził komentarz „[[$1]]”",
-	"wikilog-log-cmt-reject": "odrzucił komentarz „[[$1]]”",
-	"wikilog-log-cmt-rejdel": "Odrzucił komentarz wpisany do wikiblogu przez [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikiblog",
-	"wikilog-tab-title": "Działania w wikiblogu",
-	"wikilog-missing-wikilog": "To jest strona [[{{int:wikilog-help}}|wikiblogu]] dla [[{{FULLPAGENAME}}]].\n\nTen wikiblog jeszcze nie został utworzony.\nJeśli chcesz opublikować artykuł i włączyć inne funkcje wikiblogu musi on najpierw zostać utworzony.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Utwórz wikiblog].</span>",
-	"wikilog-information": "Informacje o wikiblogu",
-	"wikilog-post-count-published": "W tym wikiblogu opublikowano {{PLURAL:$1|jeden artykuł|$1 artykuły|$1 artykułów}}",
-	"wikilog-post-count-drafts": "{{PLURAL:$1|Jest jeden nieopublikowany artykuł (w wersji roboczej)|Są $1 artykuły (w wersji roboczej)|Jest $1 artykułów (w wersji roboczej)}}",
-	"wikilog-post-count-all": "{{PLURAL:$1|Jest tylko jeden artykuł|Łącznie są $1 artykuły|Łącznie jest $1 artykułów}}",
-	"wikilog-new-item": "Utwórz nowy artykuł w wikiblogu",
-	"wikilog-new-item-go": "Utwórz",
-	"wikilog-item-name": "Tytuł artykułu",
-	"wikilog-published": "Opublikowany",
-	"wikilog-updated": "Zaktualizowany",
-	"wikilog-draft": "Wersja robocza",
-	"wikilog-authors": "Autorzy",
-	"wikilog-wikilog": "Wikiblog",
-	"wikilog-title": "Tytuł",
-	"wikilog-actions": "Działania",
-	"wikilog-comments": "Komentarze",
-	"wikilog-replies": "Odpowiedzi",
-	"wikilog-view-archives": "Archiwum",
-	"wikilog-view-summary": "Podsumowanie",
-	"wikilog-draft-title-mark": "(wersja robocza)",
-	"wikilog-anonymous-mark": "(anonimowy)",
-	"wikilog-pager-newest": "najnowsze",
-	"wikilog-pager-oldest": "najstarsze",
-	"wikilog-pager-prev": "poprzedni",
-	"wikilog-pager-next": "następny",
-	"wikilog-pager-first": "pierwszy",
-	"wikilog-pager-last": "ostatni",
-	"wikilog-pager-empty": "(brak)",
-	"wikilog-no-comments": "brak komentarzy",
-	"wikilog-has-comments": "{{PLURAL:$1|jeden komentarz|$1 komentarze|$1 komentarzy}}",
-	"wikilog-summary-footer": "Napisane przez $7 do [[$1|$2]] dnia $8 o $9 ($15), $10",
-	"wikilog-summary-footer-single": "Napisane przez $7 dnia $8 o $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Bez kategorii",
-	"wikilog-summary-categories": "W {{PLURAL:$1|kategorii|kategoriach:}} $2",
-	"wikilog-summary-more": "[[$3|→ kontynuuj czytanie...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|dyskusja]])",
-	"wikilog-edit-hint": "Edytuj artykuł wikilogu – $1",
-	"wikilog-edit-fieldset-legend": "Opcje wikiblogu:",
-	"wikilog-edit-signpub": "Podpisz i opublikuj ten artykuł",
-	"wikilog-edit-signpub-tooltip": "Zapisanie tego artykułu spowoduje jego podpisanie i opublikowanie.\nUsuń zaznaczenie aby pozostawić ten artykuł jako wersję roboczą.",
-	"wikilog-comment-permalink": "$1 o $2",
-	"wikilog-comment-note-item": "wysłano do $1",
-	"wikilog-comment-note-edited": "ostatnia zmiana $1 o $2",
-	"wikilog-comment-anonsig": "$3 (anonimowy)",
-	"wikilog-comment-pending": "Komentarz czeka na zatwierdzenie.",
-	"wikilog-comment-deleted": "Ten komentarz został usunięty.",
-	"wikilog-comment-omitted-x": "Komentarz pominięty (nr $1).",
-	"wikilog-comment-autosumm": "Nowy komentarz od $1 – $2",
-	"wikilog-reply-to-comment": "Wyślij odpowiedź na ten komentarz",
-	"wikilog-comment-page": "Przejdź do strony tego komentarza",
-	"wikilog-comment-edit": "Edytuj komentarz",
-	"wikilog-comment-delete": "Usuń komentarz",
-	"wikilog-comment-history": "Zobacz historię komentarzy",
-	"wikilog-comment-approve": "Zaakceptuj komentarz (natychmiast)",
-	"wikilog-comment-reject": "Odrzuć komentarz (natychmiast)",
-	"wikilog-newtalk-summary": "utworzone automatycznie przez wikiblog",
-	"wikilog-feed-title": "{{SITENAME}} – $1 [$2]",
-	"wikilog-feed-ns-title": "Artykuły wikilogu $1",
-	"wikilog-feed-description": "Przeczytaj najnowsze posty w tym wątku.",
-	"wikilog-comment-feed-title1": "Komentarz od $2 (nr $1)",
-	"wikilog-comment-feed-title2": "Komentarz od $2 do $3 (nr $1)",
-	"wikilog-comment-feed-description": "Pokaż najnowsze komentarze w tym wątku.",
-	"wikilog-title-item-full": "$1 – $2",
-	"wikilog-title-comments": "Komentarze – $1",
-	"wikilog-error-msg": "Wikiblog – $1",
-	"wikilog-error-title": "Błąd wikiblogu",
-	"wikilog-invalid-param": "Nieprawidłowy parametr $1.",
-	"wikilog-invalid-author": "Nieprawidłowy autor $1.",
-	"wikilog-invalid-date": "Nieprawidłowa data $1.",
-	"wikilog-invalid-tag": "Nieprawidłowy znacznik $1.",
-	"wikilog-invalid-file": "Nieprawidłowy plik $1.",
-	"wikilog-file-not-found": "Nieistniejący plik $1.",
-	"wikilog-not-an-image": "Plik nie jest grafiką $1.",
-	"wikilog-out-of-context": "Uwaga – znaczniki wikiblogu zostały użyte wyrwane z kontekstu.\nPowinny być używane wyłącznie w artykułach w przestrzeni nazw Wikiblog.",
-	"wikilog-too-many-authors": "Uwaga – jest zbyt wielu autorów w tej wiadomości.",
-	"wikilog-too-many-tags": "Uwaga – jest zbyt wiele znaczników w tej wiadomości wikiblogu.",
-	"wikilog-comment-is-empty": "Wysłany komentarz jest pusty.",
-	"wikilog-comment-too-long": "Wysłany komentarz jest zbyt długi.",
-	"wikilog-comment-invalid-name": "Podana nazwa jest nieprawidłowa.",
-	"wikilog-no-such-article": "Żądany artykuł nie istnieje w wikiblogu.",
-	"wikilog-reading-draft": "Ten wikiblogowy artykuł jest wersją roboczą – nie został jeszcze opublikowany.",
-	"wikilog-posting-anonymously": "Nie jesteś zalogowany.\nTwój komentarz zostanie wysłany anonimowo, zidentyfikowany jedynie przez adres połączenia internetowego.\nSkorzystaj powyżej z pseudonimu aby umożliwić identyfikację komentarza. Możesz również $1 jeśli chcesz, aby autorstwo zostało jednoznacznie przypisane Tobie.",
-	"wikilog-anonymous-moderated": "Po zapisaniu komentarz nie zostanie od razu wyświetlony na tej stronie.\nPojawi się dopiero po przejrzeniu go przez moderatora.",
-	"wikilog-post-comment": "Zamieść nowy komentarz",
-	"wikilog-post-reply": "Wyślij nową odpowiedź",
-	"wikilog-form-legend": "Wyszukaj wiadomości wikiblogowe",
-	"wikilog-form-wikilog": "Wikiblog",
-	"wikilog-form-category": "Kategoria",
-	"wikilog-form-name": "Nazwa",
-	"wikilog-form-author": "Autor",
-	"wikilog-form-tag": "Znacznik",
-	"wikilog-form-date": "Data",
-	"wikilog-form-status": "Status",
-	"wikilog-form-preview": "Podgląd",
-	"wikilog-form-comment": "Komentarz",
-	"wikilog-show-all": "Wszystkie komentarze",
-	"wikilog-show-published": "Opublikowane",
-	"wikilog-show-drafts": "Wersje robocze",
-	"wikilog-submit": "Zapisz",
-	"wikilog-preview": "Podgląd",
-	"wikilog-edit-lc": "edytuj",
-	"wikilog-reply-lc": "odpowiedz",
-	"wikilog-delete-lc": "usuń",
-	"wikilog-approve-lc": "akceptuj",
-	"wikilog-reject-lc": "odrzuć",
-	"wikilog-page-lc": "strona",
-	"wikilog-history-lc": "historia",
-	"wikilog-doc-import-comment": "Zaimportowana dokumentacja wikiblogu"
-}
diff --git a/i18n/wikilog/pms.json b/i18n/wikilog/pms.json
deleted file mode 100644
index f745b21..0000000
--- a/i18n/wikilog/pms.json
+++ /dev/null
@@ -1,127 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Borichèt",
-			"Dragonòt"
-		]
-	},
-	"wikilog-desc": "A gionta dle fonsion dë scartari, creanda n'ìbrid wiki-scartari",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Gionté dij coment an sj'artìcoj ëd wikilog",
-	"right-wl-moderation": "Moderassion dij coment an sj'artìcoj ëd wikilog",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-log-pagename": "Argistr ëd j'assion su wikilog",
-	"wikilog-log-pagetext": "Si-sota a-i é na lista dj'assion su wikilog.",
-	"wikilog-log-cmt-approve": "coment aprovà [[$1]]",
-	"wikilog-log-cmt-reject": "coment arfudà [[$1]]",
-	"wikilog-log-cmt-rejdel": "A l'ha arfudà ël coment su wikilod ëd [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Assion su wikilog",
-	"wikilog-missing-wikilog": "Costa-sì a l'é la pàgina[[{{int:wikilog-help}}|wikilog]] për [[{{FULLPAGENAME}}]].\n\nËs wikilog a esist ancor nen.\nPër publiché d'artìcoj and permëtte d'àutre fonsionalità wikilog, a venta prima creelo.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Creé 's wikilog].</span>",
-	"wikilog-information": "Anformassion su wikilog",
-	"wikilog-post-count-published": "A-i {{PLURAL:$1|é un artìcol|son $1 artìcoj}} publicà ansima a cost wikilog,",
-	"wikilog-post-count-drafts": "A-i {{PLURAL:$1| é un artìcol|son $1$ artìcoj}} nen publicà (sbòss),",
-	"wikilog-post-count-all": "An total a-i {{PLURAL:$1|un artìcol|son $1 artìcoj}}.",
-	"wikilog-new-item": "Creé un neuv artìcol ëd wikilog",
-	"wikilog-new-item-go": "Creé",
-	"wikilog-item-name": "Nòm dl'artìcol:",
-	"wikilog-published": "Publicà",
-	"wikilog-updated": "Agiornà",
-	"wikilog-draft": "Sbòss",
-	"wikilog-authors": "Autor",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Tìtol",
-	"wikilog-actions": "Assion",
-	"wikilog-comments": "Coment",
-	"wikilog-replies": "Répliche",
-	"wikilog-view-archives": "Archivi",
-	"wikilog-view-summary": "Resumé",
-	"wikilog-draft-title-mark": "(sbòss)",
-	"wikilog-anonymous-mark": "(anònim)",
-	"wikilog-pager-newest": "ij pì recent",
-	"wikilog-pager-oldest": "ij pì vej",
-	"wikilog-pager-prev": "precedenta",
-	"wikilog-pager-next": "apress",
-	"wikilog-pager-first": "prima",
-	"wikilog-pager-last": "ùltima",
-	"wikilog-pager-empty": "(gnun oget)",
-	"wikilog-no-comments": "gnun coment",
-	"wikilog-has-comments": "{{PLURAL:$1|un|$1}} coment",
-	"wikilog-summary-footer": "Publicà da $7 a [[$1|$2]] dzora $8 a $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Publicà da $7 dzora $8 a $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Pa categorisà",
-	"wikilog-summary-categories": "Archivi sota $2",
-	"wikilog-summary-more": "[[$3|→ anans a lese...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|ciaciarade]])",
-	"wikilog-edit-hint": "Modìfica artìcol wikilog: $1",
-	"wikilog-edit-fieldset-legend": "Opsion ëd wikilog:",
-	"wikilog-edit-signpub": "Sot-signa e pùblica s'artìcol",
-	"wikilog-edit-signpub-tooltip": "A fa an manera che l'artìcol a sia sot-signà e publicà an sò wikilog cand salvà.\nDesselession-a costa casela për manten-e l'artìcol an në stat dë sbòss.",
-	"wikilog-comment-permalink": "$1 al $2",
-	"wikilog-comment-note-item": "butà al $1",
-	"wikilog-comment-note-edited": "ùltima modìfica ël $1 a $2",
-	"wikilog-comment-anonsig": "$3 (anònim)",
-	"wikilog-comment-pending": "Cost coment a speta d'esse aprovà.",
-	"wikilog-comment-deleted": "Cost coment a l'é stàit ëscancelà.",
-	"wikilog-comment-omitted-x": "Coment pa fàit (#$1).",
-	"wikilog-comment-autosumm": "Coment neuv da $1: $2",
-	"wikilog-reply-to-comment": "Gionté na réplica a cost coment",
-	"wikilog-comment-page": "Andé a la pàgina ëd cost coment",
-	"wikilog-comment-edit": "Modifiché cost coment",
-	"wikilog-comment-delete": "Scancelé ës coment",
-	"wikilog-comment-history": "Beiché la stòria dij coment",
-	"wikilog-comment-approve": "Aprové ës coment (assion imedià)",
-	"wikilog-comment-reject": "Arfudé ës coment (assion imedià)",
-	"wikilog-newtalk-summary": "creà an automàtich da Wikilog",
-	"wikilog-feed-ns-title": "$1 artìcoj wikilog",
-	"wikilog-feed-description": "Lese j'artìcoj pì recent an cost feed.",
-	"wikilog-comment-feed-title1": "Coment da $2 (#$1)",
-	"wikilog-comment-feed-title2": "Coment da $2 a $3 (#$1)",
-	"wikilog-comment-feed-description": "Lese ij coment pi recent an cost fluss.",
-	"wikilog-title-comments": "Coment - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Eror ëd wikilog",
-	"wikilog-invalid-param": "Paràmeter nen bon: $1.",
-	"wikilog-invalid-author": "Autor nen bon: $1.",
-	"wikilog-invalid-date": "Dàita nen bon-a: $1.",
-	"wikilog-invalid-tag": "Tichëtta nen bon-a: $1.",
-	"wikilog-invalid-file": "Archivi nen bon: $1.",
-	"wikilog-file-not-found": "Archivi che a esist pa: $1.",
-	"wikilog-not-an-image": "L'archivi a l'é pa na plancia: $1.",
-	"wikilog-out-of-context": "Avertensa: dle tichëtte ëd Wikilog a son dovrà fòra contest.\nA dovrìo mach esse dovrà ant j'artìcoj dlë spassi nominal Wikilog.",
-	"wikilog-too-many-authors": "Avertensa: A-i son tròpi autor marcà an cost artìcol ëd wikilog.",
-	"wikilog-too-many-tags": "Avertensa: A-i son tròpe tichëtte marcà an cost artìcol ëd wikilog.",
-	"wikilog-comment-is-empty": "Ël coment mandà a l'é veuid.",
-	"wikilog-comment-too-long": "Ël coment mandà a l'é tròp longh.",
-	"wikilog-comment-invalid-name": "Ël nòm fornì a l'é pa bon.",
-	"wikilog-no-such-article": "L'artìcol ëd wikilog ciamà a esist nen.",
-	"wikilog-reading-draft": "Cost artìcol ëd wikilog a l'é në sbòss, a l'é pa ancora stàit publicà.",
-	"wikilog-posting-anonymously": "A l'é pa ancor rintrà ant ël sistema;\nsò coment a sarà mandà ëd fasson anònima, identificà da soa adrëssa ëd conession a l'Aragnà.\nA dovrìa o fornì në stranòm si 'nsima për identifiché sò coment, opura $1$ për ch'a sia atribuì bin.",
-	"wikilog-anonymous-moderated": "Na vira ch'a l'abia mandà sò coment, cost-sì a sarà pa visìbil dlongh.\nËl coment a comparirà mach apress ch'a sia stàit verificà da 'n moderator.",
-	"wikilog-post-comment": "Mandé un coment neuv",
-	"wikilog-post-reply": "Mandé na réplica neuva",
-	"wikilog-form-legend": "Sërché dj'artìcoj ëd wikilog",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Categorìa:",
-	"wikilog-form-name": "Nòm:",
-	"wikilog-form-author": "Autor:",
-	"wikilog-form-tag": "Tichëtta:",
-	"wikilog-form-date": "Dàita:",
-	"wikilog-form-status": "Statù:",
-	"wikilog-form-preview": "Anteprima:",
-	"wikilog-form-comment": "Coment:",
-	"wikilog-show-all": "Tuti ij mëssagi",
-	"wikilog-show-published": "Publicà",
-	"wikilog-show-drafts": "Sbòss",
-	"wikilog-submit": "Mandé",
-	"wikilog-preview": "Vëdde n'anteprima",
-	"wikilog-edit-lc": "modifiché",
-	"wikilog-reply-lc": "repliché",
-	"wikilog-delete-lc": "scancela",
-	"wikilog-approve-lc": "apreuva",
-	"wikilog-reject-lc": "scarta",
-	"wikilog-page-lc": "pàgina",
-	"wikilog-history-lc": "stòria",
-	"wikilog-doc-import-comment": "Documentassion Wikilog amportà"
-}
diff --git a/i18n/wikilog/ps.json b/i18n/wikilog/ps.json
deleted file mode 100644
index d82e9b9..0000000
--- a/i18n/wikilog/ps.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Ahmed-Najib-Biabani-Ibrahimkhel"
-		]
-	},
-	"wikilog-specialwikilog-title": "ويکي يادښتونه",
-	"wikilog-new-item-go": "جوړول",
-	"wikilog-item-name": "د ليکنې نوم:",
-	"wikilog-published": "خپاره شوي",
-	"wikilog-updated": "اوسمهالېدلی",
-	"wikilog-draft": "مسوده",
-	"wikilog-authors": "ليکوالان",
-	"wikilog-wikilog": "ويکي يادښت",
-	"wikilog-title": "سرليک",
-	"wikilog-actions": "کړنې",
-	"wikilog-comments": "تبصرې",
-	"wikilog-replies": "ځوابونه",
-	"wikilog-view-archives": "خونديځونه",
-	"wikilog-view-summary": "لنډيز",
-	"wikilog-draft-title-mark": "(مسوده)",
-	"wikilog-anonymous-mark": "(ورکنومی)",
-	"wikilog-pager-newest": "تر ټولو نوی",
-	"wikilog-pager-oldest": "تر ټولو زوړ",
-	"wikilog-pager-prev": "پخوانی",
-	"wikilog-pager-next": "راتلونکي",
-	"wikilog-pager-first": "لومړني",
-	"wikilog-pager-last": "وروستني",
-	"wikilog-has-comments": "{{PLURAL:$1|يوه تبصره|$1 تبصرې}}",
-	"wikilog-summary-uncategorized": "ناوېشلي",
-	"wikilog-edit-fieldset-legend": "د ويکي يادښت خوښنې:",
-	"wikilog-comment-anonsig": "$3 (ورکنومی)",
-	"wikilog-comment-deleted": "دا تبصره ړنګه شوې.",
-	"wikilog-comment-autosumm": "د $1 لخوا نوې تبصره: $2",
-	"wikilog-comment-edit": "دا تبصره سمول",
-	"wikilog-comment-delete": "دا تبصره ړنگول",
-	"wikilog-comment-history": "د تبصرې پېښليک کتل",
-	"wikilog-title-comments": "تبصرې - $1",
-	"wikilog-form-wikilog": "ويکي يادښتونه:",
-	"wikilog-form-category": "وېشنيزه:",
-	"wikilog-form-name": "نوم:",
-	"wikilog-form-author": "ليکوال:",
-	"wikilog-form-date": "نېټه:",
-	"wikilog-form-status": "دريځ:",
-	"wikilog-form-preview": "مخليدنه:",
-	"wikilog-form-comment": "تبصره:",
-	"wikilog-show-published": "خپاره شوي",
-	"wikilog-show-drafts": "ګارليکونه",
-	"wikilog-submit": "سپارل",
-	"wikilog-preview": "مخليدنه:",
-	"wikilog-edit-lc": "سمول",
-	"wikilog-reply-lc": "ځوابول",
-	"wikilog-delete-lc": "ړنگول",
-	"wikilog-reject-lc": "ردول",
-	"wikilog-page-lc": "مخ",
-	"wikilog-history-lc": "پېښليک"
-}
diff --git a/i18n/wikilog/pt-br.json b/i18n/wikilog/pt-br.json
deleted file mode 100644
index ebb9763..0000000
--- a/i18n/wikilog/pt-br.json
+++ /dev/null
@@ -1,132 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"BrunaaAa",
-			"Giro720",
-			"Hamilton Abreu",
-			"Juliano",
-			"Luckas",
-			"Luckas Blade",
-			"555"
-		]
-	},
-	"wikilog-desc": "Adiciona funcionalidades de ''blog'', criando um híbrido ''wiki-blog''",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Comentar em entradas de wikilog",
-	"right-wl-moderation": "Moderar comentários de entradas de wikilog",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-log-pagename": "Registro de ações wikilog",
-	"wikilog-log-pagetext": "Segue uma listagem das ações wikilog.",
-	"wikilog-log-cmt-approve": "aprovou o comentário \"[[$1]]\"",
-	"wikilog-log-cmt-reject": "rejeitou o comentário \"[[$1]]\"",
-	"wikilog-log-cmt-rejdel": "Rejeitou o comentário wikilog de [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Ações wikilog",
-	"wikilog-missing-wikilog": "Esta é a página [[{{int:wikilog-help}}|wikilog]] para [[{{FULLPAGENAME}}]].\n\nEste wikilog ainda não existe.\nPara publicar e ativar outras funcionalidade do wikilog, será necessário primeiro criá-lo.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Criar este wikilog].</span>",
-	"wikilog-information": "Informações do wikilog",
-	"wikilog-post-count-published": "Há $1 {{PLURAL:$1|postagem|postagens}} neste wikilog",
-	"wikilog-post-count-drafts": "Há $1 {{PLURAL:$1|artigo não-publicado (rascunho)|artigos não-publicados (rascunhos)}}",
-	"wikilog-post-count-all": "Há, no total, $1 {{PLURAL:$1|postagem|postagens}}.",
-	"wikilog-new-item": "Adicionar entrada de wikilog",
-	"wikilog-new-item-go": "Adicionar",
-	"wikilog-item-name": "Nome da postagem:",
-	"wikilog-published": "Publicado",
-	"wikilog-updated": "Atualizado",
-	"wikilog-draft": "Rascunho",
-	"wikilog-authors": "Autores",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Título",
-	"wikilog-actions": "Ações",
-	"wikilog-comments": "Comentários",
-	"wikilog-replies": "Respostas",
-	"wikilog-view-archives": "Arquivos",
-	"wikilog-view-summary": "Sumário",
-	"wikilog-draft-title-mark": "(rascunho)",
-	"wikilog-anonymous-mark": "(anônimo)",
-	"wikilog-pager-newest": "mais recentes",
-	"wikilog-pager-oldest": "mais antigos",
-	"wikilog-pager-prev": "anteriores",
-	"wikilog-pager-next": "seguinte",
-	"wikilog-pager-first": "primeira",
-	"wikilog-pager-last": "última",
-	"wikilog-pager-empty": "(sem itens)",
-	"wikilog-no-comments": "nenhum comentário",
-	"wikilog-has-comments": "{{PLURAL:$1|um comentário|$1 comentários}}",
-	"wikilog-summary-footer": "Publicado por $7 em [[$1|$2]] às $9 ($15) de $8, $10.",
-	"wikilog-summary-footer-single": "Publicado por $7 às $9 ($15) de $8, $10.",
-	"wikilog-summary-uncategorized": "Não categorizado",
-	"wikilog-summary-categories": "Categorizado em $2",
-	"wikilog-summary-more": "[[$3|→ continuar lendo...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|discussão]])",
-	"wikilog-edit-hint": "Editar o artigo wikilog: $1",
-	"wikilog-edit-fieldset-legend": "Opções de wikilog:",
-	"wikilog-edit-signpub": "Asssinar e publicar este artigo",
-	"wikilog-edit-signpub-tooltip": "Causa que este artigo seja assinado e publicado no respectivo wikilog quando for gravado.\nDesmarque a caixa para manter o artigo em rascunho.",
-	"wikilog-comment-permalink": "$1 em $2",
-	"wikilog-comment-note-item": "postado em $1",
-	"wikilog-comment-note-edited": "editado pela ultima vez em $1 às $2",
-	"wikilog-comment-anonsig": "$3 (anônimo)",
-	"wikilog-comment-pending": "Este comentário está aguardando aprovação.",
-	"wikilog-comment-deleted": "Este comentário foi apagado.",
-	"wikilog-comment-omitted-x": "Comentário omitido (#$1).",
-	"wikilog-comment-autosumm": "Novo comentário de $1: $2",
-	"wikilog-reply-to-comment": "Postar uma resposta a esse comentário",
-	"wikilog-comment-page": "Ir para a página deste comentário",
-	"wikilog-comment-edit": "Editar este comentário",
-	"wikilog-comment-delete": "Apagar este comentário",
-	"wikilog-comment-history": "Ver histórico do comentário",
-	"wikilog-comment-approve": "Aprovar este comentário (ação imediata)",
-	"wikilog-comment-reject": "Rejeitar este comentário (ação imediata)",
-	"wikilog-newtalk-summary": "criado automaticamente pelo wikilog",
-	"wikilog-feed-ns-title": "$1 artigos wikilog",
-	"wikilog-feed-description": "Leia as postagens mais recentes neste feed.",
-	"wikilog-comment-feed-title1": "Comentário de $2 (#$1)",
-	"wikilog-comment-feed-title2": "Comentário de $2 para $3 (#$1)",
-	"wikilog-comment-feed-description": "Ler os comentários mais recentes neste feed.",
-	"wikilog-title-comments": "Comentários - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Erro no Wikilog",
-	"wikilog-invalid-param": "Parâmetro inválido: $1.",
-	"wikilog-invalid-author": "Autor inválido: $1.",
-	"wikilog-invalid-date": "Data inválida: $1.",
-	"wikilog-invalid-tag": "Rótulo inválido: $1.",
-	"wikilog-invalid-file": "Arquivo inválido: $1.",
-	"wikilog-file-not-found": "Arquivo inexistente: $1.",
-	"wikilog-not-an-image": "O arquivo não é uma imagem: $1.",
-	"wikilog-out-of-context": "Aviso: Há tags do wikilog que estão sendo utilizadas fora de contexto.\nElas devem ser usadas apenas em postagens no espaço nominal do Wikilog.",
-	"wikilog-too-many-authors": "Aviso: Há muitos autores listados nesta postagem wikilog.",
-	"wikilog-too-many-tags": "Aviso: Há muitas tags listadas nesta postagem wikilog.",
-	"wikilog-comment-is-empty": "O comentário enviado está em branco.",
-	"wikilog-comment-too-long": "O comentário enviado é muito longo.",
-	"wikilog-comment-invalid-name": "O nome fornecido é inválido.",
-	"wikilog-no-such-article": "O artigo wikilog solicitado não existe.",
-	"wikilog-reading-draft": "Este artigo wikilog é um rascunho, ainda não foi publicado.",
-	"wikilog-posting-anonymously": "Você não está autenticado neste momento.\nSeu comentário será postado anonimamente, identificado pelo endereço da sua conexão Internet.\nVocê deve fornecer acima um pseudônimo para identificar o seu comentário ou $1 para este ser devidamente atribuído.",
-	"wikilog-anonymous-moderated": "Após enviar seu comentário, este não será imediatamente visível nesta página.\nEle somente aparecerá após ser revisado por um moderador.",
-	"wikilog-post-comment": "Postar um novo comentário",
-	"wikilog-post-reply": "Postar uma nova resposta",
-	"wikilog-form-legend": "Procurar por postagens wikilog",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Categoria:",
-	"wikilog-form-name": "Nome:",
-	"wikilog-form-author": "Autor:",
-	"wikilog-form-tag": "Etiqueta:",
-	"wikilog-form-date": "Data:",
-	"wikilog-form-status": "Condição:",
-	"wikilog-form-preview": "Pré-visualização:",
-	"wikilog-form-comment": "Comentário:",
-	"wikilog-show-all": "Todas as postagens",
-	"wikilog-show-published": "Publicado",
-	"wikilog-show-drafts": "Rascunhos",
-	"wikilog-submit": "Enviar",
-	"wikilog-preview": "Pré-visualizar",
-	"wikilog-edit-lc": "editar",
-	"wikilog-reply-lc": "responder",
-	"wikilog-delete-lc": "apagar",
-	"wikilog-approve-lc": "aprovar",
-	"wikilog-reject-lc": "rejeitar",
-	"wikilog-page-lc": "página",
-	"wikilog-history-lc": "histórico",
-	"wikilog-doc-import-comment": "Documentação Wikilog importada"
-}
diff --git a/i18n/wikilog/pt.json b/i18n/wikilog/pt.json
deleted file mode 100644
index 327388f..0000000
--- a/i18n/wikilog/pt.json
+++ /dev/null
@@ -1,130 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Hamilton Abreu",
-			"Juliano F. Ravasi",
-			"Luckas"
-		]
-	},
-	"wikilog-desc": "Adiciona funcionalidades de blogue, criando um híbrido wiki-blogue",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Criar comentários em artigos wikilog",
-	"right-wl-moderation": "Moderação de comentários de artigos wikilog",
-	"wikilog-specialwikilog-title": "Wikilogs",
-	"wikilog-log-pagename": "Registro de ações wikilog",
-	"wikilog-log-pagetext": "Abaixo está uma lista das ações wikilog.",
-	"wikilog-log-cmt-approve": "aprovou o comentário [[$1]]",
-	"wikilog-log-cmt-reject": "rejeitou o comentário [[$1]]",
-	"wikilog-log-cmt-rejdel": "Rejeitou o comentário wikilog de [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Acções wikilog",
-	"wikilog-missing-wikilog": "Esta é a página [[{{int:wikilog-help}}|wikilog]] para [[{{FULLPAGENAME}}]].\n\nEste wikilog ainda não existe.\nPara publicar artigos e ativar outras funcionalidade do wikilog, tem que criá-lo primeiro.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Criar este wikilog].</span>",
-	"wikilog-information": "Informações do wikilog",
-	"wikilog-post-count-published": "Há $1 {{PLURAL:$1|artigo publicado|artigos publicados}} neste wikilog,",
-	"wikilog-post-count-drafts": "mais $1 {{PLURAL:$1|artigo não-publicado (rascunho)|artigos não-publicados (rascunhos)}},",
-	"wikilog-post-count-all": "para um total de $1 {{PLURAL:$1|artigo|artigos}}.",
-	"wikilog-new-item": "Criar novo artigo wikilog",
-	"wikilog-new-item-go": "Criar",
-	"wikilog-item-name": "Nome do artigo:",
-	"wikilog-published": "Publicado",
-	"wikilog-updated": "Atualizado",
-	"wikilog-draft": "Rascunho",
-	"wikilog-authors": "Autores",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Título",
-	"wikilog-actions": "Ações",
-	"wikilog-comments": "Comentários",
-	"wikilog-replies": "Respostas",
-	"wikilog-view-archives": "Ficheiros",
-	"wikilog-view-summary": "Resumo",
-	"wikilog-draft-title-mark": "(rascunho)",
-	"wikilog-anonymous-mark": "(anónimo)",
-	"wikilog-pager-newest": "mais recentes",
-	"wikilog-pager-oldest": "mais antigos",
-	"wikilog-pager-prev": "anterior",
-	"wikilog-pager-next": "próxima",
-	"wikilog-pager-first": "primeira",
-	"wikilog-pager-last": "última",
-	"wikilog-pager-empty": "(não há itens)",
-	"wikilog-no-comments": "não há comentários",
-	"wikilog-has-comments": "{{PLURAL:$1|um comentário|$1 comentários}}",
-	"wikilog-summary-footer": "Publicado por $7 em [[$1|$2]] a $8 às $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Publicado por $7 a $8 às $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Não categorizado",
-	"wikilog-summary-categories": "Categorizado em $2",
-	"wikilog-summary-more": "[[$3|→ continuar a ler...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|discussão]])",
-	"wikilog-edit-hint": "Editar o artigo wikilog: $1",
-	"wikilog-edit-fieldset-legend": "Opções wikilog:",
-	"wikilog-edit-signpub": "Assinar e publicar este artigo",
-	"wikilog-edit-signpub-tooltip": "Causa que este artigo seja assinado e publicado no respectivo wikilog quando for gravado.\nDesmarque a caixa para manter o artigo em rascunho.",
-	"wikilog-comment-permalink": "$1 às $2",
-	"wikilog-comment-note-item": "enviado para $1",
-	"wikilog-comment-note-edited": "última edição em $1 às $2",
-	"wikilog-comment-anonsig": "$3 (anónimo)",
-	"wikilog-comment-pending": "Este comentário está a aguardar aprovação.",
-	"wikilog-comment-deleted": "Este comentário foi apagado.",
-	"wikilog-comment-omitted-x": "Comentário omitido (#$1).",
-	"wikilog-comment-autosumm": "Novo comentário de $1: $2",
-	"wikilog-reply-to-comment": "Responder a este comentário",
-	"wikilog-comment-page": "Ir para a página deste comentário",
-	"wikilog-comment-edit": "Editar este comentário",
-	"wikilog-comment-delete": "Apagar este comentário",
-	"wikilog-comment-history": "Ver histórico do comentário",
-	"wikilog-comment-approve": "Aprovar este comentário (efeito imediato)",
-	"wikilog-comment-reject": "Rejeitar este comentário (efeito imediato)",
-	"wikilog-newtalk-summary": "criado automaticamente pelo wikilog",
-	"wikilog-feed-title": "{{SITENAME}} - $1 [$2]",
-	"wikilog-feed-ns-title": "$1 artigo(s) wikilog",
-	"wikilog-feed-description": "Leia as publicações mais recentes neste ''feed''.",
-	"wikilog-comment-feed-title1": "Comentário de $2 (#$1)",
-	"wikilog-comment-feed-title2": "Comentário de $2 para $3 (#$1)",
-	"wikilog-comment-feed-description": "Ler os comentários mais recentes neste feed.",
-	"wikilog-title-item-full": "$1 - $2",
-	"wikilog-title-comments": "Comentários - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Erro no Wikilog",
-	"wikilog-invalid-param": "Parâmetro inválido: $1.",
-	"wikilog-invalid-author": "Autor inválido: $1.",
-	"wikilog-invalid-date": "Data inválida: $1.",
-	"wikilog-invalid-tag": "Etiqueta inválida: $1.",
-	"wikilog-invalid-file": "Ficheiro inválido: $1.",
-	"wikilog-file-not-found": "Ficheiro inexistente: $1.",
-	"wikilog-not-an-image": "Ficheiro não é uma imagem: $1.",
-	"wikilog-out-of-context": "Aviso: Etiquetas wikilog estão a ser usadas fora de contexto.\nSó devem ser usadas em artigos do espaço nominal Wikilog.",
-	"wikilog-too-many-authors": "Aviso: Demasiados autores listados nesta publicação wikilog.",
-	"wikilog-too-many-tags": "Aviso: Demasiadas etiquetas listadas nesta publicação wikilog.",
-	"wikilog-comment-is-empty": "O comentário está em branco.",
-	"wikilog-comment-too-long": "O comentário é demasiado longo.",
-	"wikilog-comment-invalid-name": "O nome fornecido é inválido.",
-	"wikilog-no-such-article": "O artigo wikilog solicitado não existe.",
-	"wikilog-reading-draft": "Este artigo wikilog é um rascunho, ainda não foi publicado.",
-	"wikilog-posting-anonymously": "Não está autenticado;\no seu comentário será atribuído a um anónimo, identificado pelo seu endereço IP.\nForneça um pseudónimo acima para identificar o seu comentário ou pode $1 para este ser devidamente atribuído.",
-	"wikilog-anonymous-moderated": "Após submeter o seu comentário, este não será imediatamente visível nesta página.\nO comentário só aparecerá após ser revisto por um moderador.",
-	"wikilog-post-comment": "Publicar um novo comentário",
-	"wikilog-post-reply": "Publicar uma nova resposta",
-	"wikilog-form-legend": "Procurar publicações wikilog",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Categoria:",
-	"wikilog-form-name": "Nome:",
-	"wikilog-form-author": "Autor:",
-	"wikilog-form-tag": "Etiqueta:",
-	"wikilog-form-date": "Data:",
-	"wikilog-form-status": "Estado:",
-	"wikilog-form-preview": "Antevisão:",
-	"wikilog-form-comment": "Comentário:",
-	"wikilog-show-all": "Todas as publicações",
-	"wikilog-show-published": "Publicados",
-	"wikilog-show-drafts": "Rascunhos",
-	"wikilog-submit": "Enviar",
-	"wikilog-preview": "Antever",
-	"wikilog-edit-lc": "editar",
-	"wikilog-reply-lc": "responder",
-	"wikilog-delete-lc": "apagar",
-	"wikilog-approve-lc": "aprovar",
-	"wikilog-reject-lc": "rejeitar",
-	"wikilog-page-lc": "página",
-	"wikilog-history-lc": "histórico",
-	"wikilog-doc-import-comment": "Documentação Wikilog importada"
-}
diff --git a/i18n/wikilog/qqq.json b/i18n/wikilog/qqq.json
deleted file mode 100644
index e2f1e1a..0000000
--- a/i18n/wikilog/qqq.json
+++ /dev/null
@@ -1,111 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"EugeneZelenko",
-			"Fryed-peach",
-			"Juliano",
-			"McDutchie",
-			"Nghtwlkr",
-			"Purodha",
-			"Raymond",
-			"Shirayuki",
-			"Siebrand",
-			"Umherirrender"
-		]
-	},
-	"wikilog-desc": "{{desc|name=Wikilog|url=http://www.mediawiki.org/wiki/Extension:Wikilog}}",
-	"wikilog-auto": "This is a reserved username that will edit as a robot.",
-	"wikilog-help": "This is the name of the help page for the extension.\nThis should only be changed when a translation of the extension manual is available in the target language.\nCurrently, English is the only language the manual is available in.\nSo, let this value untranslated until the manual is available in your language.\n\nUsed in {{msg-mw|Wikilog-missing-wikilog}}.\n{{Identical|Wikilog}}",
-	"right-wl-postcomment": "{{doc-right|wl-postcomment}}",
-	"right-wl-moderation": "{{doc-right|wl-moderation}}",
-	"wikilog-specialwikilog-title": "{{doc-special|Wikilog}}\n\"Wikilog\" is used as in contraction of \"wiki\" and \"blog\" (or \"weblog\").\nIf these words are the same in your language, then just transliterate it;\notherwise use the proper translation for both words and try to keep the idea of something that ties both concepts into a single object.\nIt is used in the plural in this title.\n{{Identical|Wikilog}}",
-	"wikilog-log-cmt-approve": "Log action message used for entries describing comments approved by moderators, as in someone \"did that\". Similar to {{msg-mw|deletedarticle}} and {{msg-mw|protectedarticle}}.\nParameters:\n* $1 is the page title of the approved comment.",
-	"wikilog-log-cmt-reject": "Log action message used for entries describing comments rejected by moderators, as in someone \"did that\". Similar to {{msg-mw|deletedarticle}} and {{msg-mw|protectedarticle}}.\nParameters:\n* $1 is the page title of the rejected comment.",
-	"wikilog-log-cmt-rejdel": "Message explaining the reason for a comment page to be deleted, after that comment was rejected by a moderator.\nParameters:\n* $1 is the commenter name (which is usually an IP address in this case, genderless).",
-	"wikilog-tab": "{{Identical|Wikilog}}",
-	"wikilog-missing-wikilog": "Displayed when user visits a page for a wikilog that has not been created yet.\n\nRefers to {{msg-mw|Wikilog-help}}.\n\nSimilar to {{msg-mw|Noarticletext}}.",
-	"wikilog-post-count-published": "Entry in an unnumbered list with an overview in numbers about the size of the wikiblog.\n\nParameters:\n* $1 - number of posts\n{{Related|Wikilog-post-count}}",
-	"wikilog-post-count-drafts": "Entry in an unnumbered list with an overview in numbers about the size of the wikiblog.\n\nParameters:\n* $1 - number of posts\n{{Related|Wikilog-post-count}}",
-	"wikilog-post-count-all": "Entry in an unnumbered list with an overview in numbers about the size of the wikiblog.\n\nParameters:\n* $1 - number of posts\n{{Related|Wikilog-post-count}}",
-	"wikilog-new-item-go": "{{Identical|Create}}",
-	"wikilog-published": "{{Identical|Published}}",
-	"wikilog-updated": "{{Identical|Updated}}",
-	"wikilog-draft": "{{Identical|Draft}}",
-	"wikilog-authors": "{{Identical|Author}}",
-	"wikilog-wikilog": "{{Identical|Wikilog}}",
-	"wikilog-title": "{{Identical|Title}}",
-	"wikilog-actions": "{{Identical|Action}}",
-	"wikilog-comments": "{{Identical|Comment}}",
-	"wikilog-replies": "{{Identical|Reply}}",
-	"wikilog-view-archives": "{{Identical|Archive}}",
-	"wikilog-view-summary": "{{Identical|Summary}}",
-	"wikilog-draft-title-mark": "{{Identical|Draft}}",
-	"wikilog-anonymous-mark": "{{Identical|Anonymous}}",
-	"wikilog-pager-newest": "{{Identical|Newest}}",
-	"wikilog-pager-oldest": "{{Identical|Oldest}}",
-	"wikilog-pager-prev": "{{Identical|Previous}}",
-	"wikilog-pager-next": "{{Identical|Next}}",
-	"wikilog-pager-first": "{{Identical|First}}",
-	"wikilog-pager-last": "{{Identical|Last}}",
-	"wikilog-has-comments": "Parameters:\n* $1 is the number of comments\n{{Identical|Comment}}",
-	"wikilog-summary-header": "{{notranslate}}",
-	"wikilog-summary-footer": "Parameters:\n* $1 - a URL formatted link to the article's parent wikilog\n* $2 - the article's parent wikilog name\n* $3 - (Optional) a URL formatted link to the article\n* $4 - (Optional) the article title\n* $5 - (Optional) the number of authors listed in $7, for PLURAL if necessary\n* $6 - (Optional) the clean name of the first author, for GENDER if necessary (avoid it if possible since $7 is a list)\n* $7 - a list of authors of the article, each name formatted with {{msg-mw|Wikilog-author-signature}}\n* $8 - the publication date\n* $9 - the publication time\n* $10 - a link to the comments page, with either {{msg-mw|Wikilog-no-comments}} or {{msg-mw|Wikilog-has-comments}} as link text\n* $11 - (Optional) number of categories\n* $12 - (Optional) a link to the categories page, with either {{msg-mw|Wikilog-summary-categories}} or {{msg-mw|Wikilog-summary-uncategorized}} as link text\n* $13 - (Optional) number of tags\n* $14 - (Optional) list of tags, with links\n* $15 - the timezone information\nSee also:\n* {{msg-mw|Wikilog-summary-footer-single}}\n* {{msg-mw|Wikilog-entry-footer}}",
-	"wikilog-summary-header-single": "{{notranslate}}",
-	"wikilog-summary-footer-single": "Identical to {{msg-mw|wikilog-summary-footer}}, but used when listing articles from a single wikilog, so it is not necessary to say where it was posted to.\n\nParameters:\n* $1 - (Optional) a URL formatted link to the article's parent wikilog\n* $2 - (Optional) the article's parent wikilog name\n* $3 - (Optional) a URL formatted link to the article\n* $4 - (Optional) the article title\n* $5 - (Optional) the number of authors listed in $7, for PLURAL if necessary\n* $6 - (Optional) the clean name of the first author, for GENDER if necessary (avoid it if possible since $7 is a list)\n* $7 - a list of authors of the article, each name formatted with {{msg-mw|Wikilog-author-signature}}\n* $8 - the publication date\n* $9 - the publication time\n* $10 - a link to the comments page, with either {{msg-mw|Wikilog-no-comments}} or {{msg-mw|Wikilog-has-comments}} as link text\n* $11 - (Optional) number of categories\n* $12 - (Optional) a link to the categories page, with either {{msg-mw|Wikilog-summary-categories}} or {{msg-mw|Wikilog-summary-uncategorized}} as link text\n* $13 - (Optional) number of tags\n* $14 - (Optional) list of tags, with links\n* $15 - the timezone information\nSee also:\n* {{msg-mw|Wikilog-summary-footer}}\n* {{msg-mw|Wikilog-entry-footer}}",
-	"wikilog-summary-uncategorized": "See also:\n* {{msg-mw|Wikilog-summary-categories}}\n{{Identical|Uncategorized}}",
-	"wikilog-summary-categories": "Parameters:\n* $1 - (Unused) the number of categories listed in $2\n* $2 - a list of the categories the article is in\nSee also:\n* {{msg-mw|Wikilog-summary-uncategorized}}",
-	"wikilog-summary-more": "Parameters:\n* $1 is a URL formatted link to the article's parent wikilog (optional)\n* $2 is the article's parent wikilog name (optional)\n* $3 is a URL formatted link to the article\n* $4 is the article title (optional)",
-	"wikilog-entry-sub": "{{notranslate}}",
-	"wikilog-entry-header": "{{notranslate}}",
-	"wikilog-entry-footer": "{{optional}}\nParameters:\n* $1 - (Optional) a URL formatted link to the article's parent wikilog\n* $2 - (Optional) the article's parent wikilog name\n* $3 - (Optional) a URL formatted link to the article\n* $4 - (Optional) the article title\n* $5 - (Optional) the number of authors listed in $7, for PLURAL if necessary\n* $6 - (Optional) the clean name of the first author, for GENDER if necessary (avoid it if possible since $7 is a list)\n* $7 - a list of authors of the article, each name formatted with {{msg-mw|Wikilog-author-signature}}\n* $8 - the publication date\n* $9 - the publication time\n* $10 - a link to the comments page, with either {{msg-mw|Wikilog-no-comments}} or {{msg-mw|Wikilog-has-comments}} as link text\n* $11 - (Optional) number of categories\n* $12 - (Optional) a link to the categories page, with either {{msg-mw|Wikilog-summary-categories}} or {{msg-mw|Wikilog-summary-uncategorized}} as link text\n* $13 - (Optional) number of tags\n* $14 - (Optional) list of tags, with links\n* $15 - (Optional) the timezone information\nSee also:\n* {{msg-mw|Wikilog-summary-footer}}\n* {{msg-mw|Wikilog-summary-footer-single}}",
-	"wikilog-author-signature": "Used as a single author signature. Parameters:\n* $1 - username of the author",
-	"wikilog-simple-signature": "{{optional}}\nParameters:\n* $1 is a link to the commenting user page\n* $2 is a link to the commenting user talk page, with {{msg-mw|talkpagelinktext}} as link text",
-	"wikilog-edit-hint": "Parameters:\n* $1 is an article title.",
-	"wikilog-comment-header": "{{notranslate}}",
-	"wikilog-comment-footer": "{{optional}}\nParameters:\n* $1 - (Optional) the name of the author of the comment\n* $2 - the name of the author or the comment formatted with {{msg-mw|Wikilog-simple-signature}}\n* $3 - (Optional) the comment date\n* $4 - (Optional) the comment time\n* $5 - a permalink for the comment, formatted with {{msg-mw|Wikilog-comment-permalink}}\n* $6 - some optional notes about the comment, formatted inside {{msg-mw|Parentheses}}",
-	"wikilog-comment-permalink": "A permanent link to the comment.\nParameters:\n* $1 is the comment date\n* $2 is the comment time\n* $3 is the timezone information (optional)",
-	"wikilog-comment-note-item": "The title of the article that the comment was posted to.\nParameters:\n* $1 is an article title.",
-	"wikilog-comment-note-edited": "The last time the comment was edited.\nParameters:\n* $1 is the last modification date\n* $2 is the last modification time\n* $3 is the timezone information (optional)",
-	"wikilog-comment-anonsig": "Signature used for anonymous users which post comments to articles.\nParameters:\n* $1 is a link to the commenting user page (unused, it is an IP address)\n* $2 is a link to the commenting user talk page (unused)\n* $3 is the pseudonym used by the anonymous commenter (genderless)",
-	"wikilog-comment-omitted-x": "This message indicates that there are omitted Comment(s).\n\nParameters:\n* $1 - Comment ID (# is number sign)",
-	"wikilog-comment-autosumm": "Parameters:\n* $1 is a user name\n* $2 is a summary",
-	"wikilog-feed-title": "{{optional}}\nParameters:\n* $1 is a title\n* $2 is the content language of the wiki",
-	"wikilog-feed-ns-title": "Parameters:\n* $1 is the name of a namespace in the content language.",
-	"wikilog-comment-feed-title1": "Parameters:\n* $1 is a comment number (to make unique titles for different comments)\n* $2 is the commenter name",
-	"wikilog-comment-feed-title2": "Parameters:\n* $1 is a comment number (to make unique titles for different comments)\n* $2 is the commenter name\n* $3 is the title of the article the comment was posted to",
-	"wikilog-title-item-full": "{{optional}}\nParameters:\n* $1 a page title\n* $2 is the wikilog title",
-	"wikilog-title-comments": "Parameters:\n* $1 is a page title\n{{Identical|Comment}}",
-	"wikilog-error-msg": "Parameters:\n* $1 - an error message\n{{Identical|Wikilog}}",
-	"wikilog-invalid-param": "Parameters:\n* $1 is the invalid parameter",
-	"wikilog-invalid-author": "Parameters:\n* $1 is the invalid author name",
-	"wikilog-invalid-date": "Parameters:\n* $1 is the invalid date",
-	"wikilog-invalid-tag": "Parameters:\n* $1 is the invalid tag",
-	"wikilog-invalid-file": "Parameters:\n* $1 is the invalid file name.",
-	"wikilog-file-not-found": "Parameters:\n* $1 is the non-existing file",
-	"wikilog-not-an-image": "Parameters:\n* $1 is the input that is not an image",
-	"wikilog-posting-anonymously": "Parameters:\n* $1 is a link to the login page with {{msg-mw|loginreqlink}} as link label",
-	"wikilog-form-wikilog": "{{Identical|Wikilog}}",
-	"wikilog-form-category": "{{Identical|Category}}",
-	"wikilog-form-name": "{{Identical|Name}}",
-	"wikilog-form-author": "{{Identical|Author}}",
-	"wikilog-form-tag": "{{Identical|Tag}}",
-	"wikilog-form-date": "{{Identical|Date}}",
-	"wikilog-form-status": "{{Identical|Status}}",
-	"wikilog-form-preview": "Form field label. The word \"Preview\" used as a noun, as in \"the preview of the changes\".\n{{Identical|Preview}}",
-	"wikilog-form-comment": "{{Identical|Comment}}",
-	"wikilog-show-published": "{{Identical|Published}}",
-	"wikilog-show-drafts": "{{Identical|Draft}}",
-	"wikilog-submit": "{{Identical|Submit}}",
-	"wikilog-preview": "The word \"Preview\" used as a verb, as in \"to preview the page\".\n{{Identical|Preview}}",
-	"wikilog-edit-lc": "The word \"edit\" used as a verb, as in \"to edit a comment\".\nPart of a list of actions, use lowercase if applicable.\n{{Identical|Edit}}",
-	"wikilog-reply-lc": "The word \"reply\" used as a verb, as in \"to reply to a comment\".\nPart of a list of actions, use lowercase if applicable.\n{{Identical|Reply}}",
-	"wikilog-delete-lc": "As in \"to delete a comment\".\nPart of a list of actions, use lowercase if applicable.\n{{Identical|Delete}}",
-	"wikilog-approve-lc": "As in \"to approve a comment\".\nPart of a list of actions, use lowercase if applicable.\n{{Identical|Approve}}",
-	"wikilog-reject-lc": "As in \"to reject a comment\".\nPart of a list of actions, use lowercase if applicable.\n{{Identical|Reject}}",
-	"wikilog-page-lc": "The word \"page\" used as noun, as in \"the comment page\".\nPart of a list of actions, use lowercase if applicable.\n{{Identical|Page}}",
-	"wikilog-history-lc": "Noun.\nPart of a list of actions, use lowercase if applicable.\n{{Identical|History}}",
-	"wikilog-doc-import-comment": "This is an automatic edit summary for pages imported into the wiki.",
-	"wikilog-summary": "{{notranslate}}",
-	"wikilog-backlink": "{{notranslate}}\nUsed as subtitle. Parameters:\n* $1 - a back link to the original page",
-	"wikilog-brackets": "{{notranslate}}\nUnused at this time.\n\nParameters:\n* $1 - ..."
-}
diff --git a/i18n/wikilog/ro.json b/i18n/wikilog/ro.json
deleted file mode 100644
index 46c2ff9..0000000
--- a/i18n/wikilog/ro.json
+++ /dev/null
@@ -1,94 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Firilacroco",
-			"KlaudiuMihaila",
-			"Minisarm",
-			"Stelistcristi"
-		]
-	},
-	"wikilog-auto": "Wikijurnal Auto",
-	"wikilog-help": "{{ns:Help}}:Wikijurnal",
-	"wikilog-specialwikilog-title": "Wikijurnale",
-	"wikilog-log-pagename": "Jurnalul acțiunilor Wikijurnal",
-	"wikilog-tab": "Wikijurnal",
-	"wikilog-tab-title": "Acțiuni Wikijurnal",
-	"wikilog-information": "Informații wikijurnal",
-	"wikilog-new-item-go": "Creare",
-	"wikilog-item-name": "Nume articol:",
-	"wikilog-published": "Publicat",
-	"wikilog-updated": "Actualizat",
-	"wikilog-draft": "Mesaj nefinalizat",
-	"wikilog-authors": "Autori",
-	"wikilog-wikilog": "Wikijurnal",
-	"wikilog-title": "Titlu",
-	"wikilog-actions": "Acțiuni",
-	"wikilog-comments": "Comentarii",
-	"wikilog-replies": "Replici",
-	"wikilog-view-archives": "Arhive",
-	"wikilog-view-summary": "Rezumat",
-	"wikilog-anonymous-mark": "(anonim)",
-	"wikilog-pager-newest": "cele mai noi",
-	"wikilog-pager-oldest": "cele mai vechi",
-	"wikilog-pager-prev": "precedent",
-	"wikilog-pager-next": "următor",
-	"wikilog-pager-first": "prima",
-	"wikilog-pager-last": "ultima",
-	"wikilog-no-comments": "nici un comentariu",
-	"wikilog-summary-uncategorized": "Necategorizat",
-	"wikilog-edit-signpub": "Semnează și publică acest articol",
-	"wikilog-comment-permalink": "$1 la $2 ($3)",
-	"wikilog-comment-note-item": "publicat pentru $1",
-	"wikilog-comment-note-edited": "ultima modificare efectuată pe $1 la $2",
-	"wikilog-comment-anonsig": "$3 (anonim)",
-	"wikilog-comment-pending": "Comentariul așteaptă aprobare.",
-	"wikilog-comment-deleted": "Comentariul a fost șters.",
-	"wikilog-comment-autosumm": "Comentariu nou scris de $1: $2",
-	"wikilog-reply-to-comment": "Răspuns pentru acest comentariu",
-	"wikilog-comment-page": "Mergi la pagina acestui comentariu",
-	"wikilog-comment-edit": "Modifică acest comentariu",
-	"wikilog-comment-delete": "Șterge acest comentariu",
-	"wikilog-comment-history": "Vezi istoricul comentariilor",
-	"wikilog-comment-approve": "Aprobă acest comentariu (acțiune instantă)",
-	"wikilog-comment-reject": "Respinge acest comentariu (acțiune instantă)",
-	"wikilog-feed-description": "Citiți cele mai recente postări din acest flux.",
-	"wikilog-comment-feed-title1": "Comentariu scris de $2 (# $1)",
-	"wikilog-comment-feed-title2": "Comentariu scris de $2 pentru $3 (# $1)",
-	"wikilog-comment-feed-description": "Citiți cele mai recente comentarii din acest flux.",
-	"wikilog-title-comments": "Comentarii - $1",
-	"wikilog-error-msg": "Wikijurnal: $1",
-	"wikilog-error-title": "Eroare wikijurnal",
-	"wikilog-invalid-param": "Parametru incorect: $1.",
-	"wikilog-invalid-author": "Autor incorect: $1.",
-	"wikilog-invalid-date": "Dată incorectă: $1.",
-	"wikilog-invalid-tag": "Etichetă incorectă: $1.",
-	"wikilog-invalid-file": "Fișier invalid: $1.",
-	"wikilog-file-not-found": "Fișier inexistent: $1.",
-	"wikilog-not-an-image": "Fișierul nu este o imagine: $1.",
-	"wikilog-comment-is-empty": "Comentariul postat este gol.",
-	"wikilog-comment-too-long": "Comentariul postat este prea lung.",
-	"wikilog-comment-invalid-name": "Numele furnizat este incorect.",
-	"wikilog-post-comment": "Postați un comentariu nou",
-	"wikilog-post-reply": "Postați un răspuns nou",
-	"wikilog-form-wikilog": "Wikijurnal:",
-	"wikilog-form-category": "Categorie:",
-	"wikilog-form-name": "Nume:",
-	"wikilog-form-author": "Autor:",
-	"wikilog-form-tag": "Etichetă:",
-	"wikilog-form-date": "Data:",
-	"wikilog-form-status": "Statut:",
-	"wikilog-form-preview": "Previzualizare:",
-	"wikilog-form-comment": "Comentariu:",
-	"wikilog-show-all": "Toate posturile",
-	"wikilog-show-published": "Publicate",
-	"wikilog-show-drafts": "Mesaje nefinalizate",
-	"wikilog-submit": "Trimite",
-	"wikilog-preview": "Previzualizare",
-	"wikilog-edit-lc": "modificare",
-	"wikilog-reply-lc": "răspundeți",
-	"wikilog-delete-lc": "ștergere",
-	"wikilog-approve-lc": "aprobare",
-	"wikilog-reject-lc": "revocare",
-	"wikilog-page-lc": "pagină",
-	"wikilog-history-lc": "istoric"
-}
diff --git a/i18n/wikilog/roa-tara.json b/i18n/wikilog/roa-tara.json
deleted file mode 100644
index fb963a0..0000000
--- a/i18n/wikilog/roa-tara.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Joetaras"
-		]
-	},
-	"wikilog-desc": "Aggiunge funzionalità de blogging, creanne 'nu Uicchi-blog ibride",
-	"wikilog-auto": "Auto UicchiArchivije",
-	"wikilog-help": "{{ns:Help}}:UicchiArchivije",
-	"right-wl-postcomment": "Manne commende a l'artichele UicchiArchivije",
-	"right-wl-moderation": "Moderazione de le commende a l'artichele de UicchiArchivije",
-	"wikilog-specialwikilog-title": "UicchiArchivije",
-	"wikilog-log-pagename": "UicchiArchivije archivije de le aziune",
-	"wikilog-log-pagetext": "Sotte stè 'na liste de aziune de UicchiArchivije.",
-	"wikilog-log-cmt-approve": "commende approvate \"[[$1]]\"",
-	"wikilog-log-cmt-reject": "commende scettate \"[[$1]]\"",
-	"wikilog-log-cmt-rejdel": "Commende de UicchiArchivije scettate da [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "UicchiArchivije",
-	"wikilog-tab-title": "Aziune de UicchiArchivije",
-	"wikilog-missing-wikilog": "Quiste jè 'a pàgene de [[{{int:wikilog-help}}|UicchiArchivije]] pe [[{{FULLPAGENAME}}]].\n\nQuiste UicchiArchivije non g'esiste angore.\nIn ordene a pubblecà artichele e abbiletà otre funzionalità de UicchiArchivije, abbesogne de ccrearle apprime.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Ccreje stu UicchiArchivije].</span>",
-	"wikilog-information": "'Mbormaziune de UicchiArchivije",
-	"wikilog-post-count-published": "{{PLURAL:$1|Stè sule 'n'artichele pubblecate|Stonne $1 artichele pubblecate}} jndr'à stu UicchiArchivije",
-	"wikilog-post-count-drafts": "{{PLURAL:$1|Stè sule 'n'artichele none pubblecate (bozza)|Stonne $1 artichele none pubblecate (bozza)}}",
-	"wikilog-post-count-all": "In totale {{PLURAL:$1|stè 'n'artichele|stonne $1 artichele}}.",
-	"wikilog-new-item": "Ccreje 'n'artichele nuève de UicchiArchivije",
-	"wikilog-new-item-go": "Ccreje",
-	"wikilog-item-name": "Nome de l'artichele:",
-	"wikilog-published": "Pubblecate",
-	"wikilog-updated": "Aggiornate",
-	"wikilog-draft": "Bozze",
-	"wikilog-authors": "Auture",
-	"wikilog-wikilog": "UicchiArchivije",
-	"wikilog-title": "Titele",
-	"wikilog-actions": "Aziune",
-	"wikilog-comments": "Commende",
-	"wikilog-replies": "Resposte",
-	"wikilog-view-archives": "Archivije",
-	"wikilog-view-summary": "Riepileghe",
-	"wikilog-draft-title-mark": "(bozze)",
-	"wikilog-anonymous-mark": "(anonime)",
-	"wikilog-pager-newest": "le cchiù nuève",
-	"wikilog-pager-oldest": "le cchiù vicchie",
-	"wikilog-pager-prev": "precedende",
-	"wikilog-pager-next": "successive",
-	"wikilog-pager-first": "prime",
-	"wikilog-pager-last": "urteme",
-	"wikilog-pager-empty": "(nisciune artichele)",
-	"wikilog-no-comments": "nisciune commende",
-	"wikilog-has-comments": "{{PLURAL:$1|'nu commende|$1 commende}}",
-	"wikilog-summary-footer": "Mannate da $7 sus a [[$1|$2]] 'u $8 a le $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Mannate da $7 'u $8 a le $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Senza categorije",
-	"wikilog-summary-categories": "Mise sotte 'a $2",
-	"wikilog-summary-more": "[[$3|→ condinuanne a leggere...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|'ngazzaminde]])",
-	"wikilog-edit-hint": "Cange l'artichele de uicchilog: $1",
-	"wikilog-edit-fieldset-legend": "Opziune de UicchiArchivije:",
-	"wikilog-edit-signpub": "Firme e pubbleche st'artichele",
-	"wikilog-edit-signpub-tooltip": "Le cause ca st'artichele ha state firmate e publecate sus a 'u sue UicchiArchivije quanne ha stata reggistrate.\nLive 'a spunde da stu sckatele pe mandenè l'artichele cumme bozze.",
-	"wikilog-comment-permalink": "$1 a le $2",
-	"wikilog-comment-note-item": "postate sus a $1",
-	"wikilog-comment-note-edited": "urteme cangiamende 'u $1 a le $2",
-	"wikilog-comment-anonsig": "$3 (anonime)",
-	"wikilog-comment-pending": "Stu commende jè in attese de approvazione.",
-	"wikilog-comment-deleted": "Stu commende ha state scagellate.",
-	"wikilog-comment-omitted-x": "Commende omesse (#$1).",
-	"wikilog-comment-autosumm": "Commende nuève de $1: $2",
-	"wikilog-reply-to-comment": "Manne 'na resposte a 'u commende",
-	"wikilog-comment-page": "Veje 'a pàgene de stu commende",
-	"wikilog-comment-edit": "Cange stu commende",
-	"wikilog-comment-delete": "Scangille stu commende",
-	"wikilog-comment-history": "Vide 'a storie d'u commende",
-	"wikilog-comment-approve": "Appruève stu commende (azione immediate)",
-	"wikilog-comment-reject": "Scitte stu commende (azione immediate)",
-	"wikilog-newtalk-summary": "automaticamende ccrejate da UicchiArchivije",
-	"wikilog-feed-ns-title": "$1 artichele de uicchilog",
-	"wikilog-feed-description": "Ligge le cchiù recende messagge jndr'à stu feed.",
-	"wikilog-comment-feed-title1": "Commende de $2 (#$1)",
-	"wikilog-comment-feed-title2": "Commende de $2 sus a $3 (#$1)",
-	"wikilog-comment-feed-description": "Ligge le commende cchiù recende jndr'à stu feed.",
-	"wikilog-title-comments": "Commende - $1",
-	"wikilog-error-msg": "UicchiArchivije: $1",
-	"wikilog-error-title": "Errore de UicchiArchivije",
-	"wikilog-invalid-param": "Parametre invalide: $1.",
-	"wikilog-invalid-author": "Autore invalide: $1.",
-	"wikilog-invalid-date": "Date invalide: $1.",
-	"wikilog-invalid-tag": "Tag invalide: $1.",
-	"wikilog-invalid-file": "File invalide: $1.",
-	"wikilog-file-not-found": "File inesistende: $1.",
-	"wikilog-not-an-image": "'U file non g'è 'n'immaggine: $1.",
-	"wikilog-out-of-context": "Attenziò: le tag de UicchiArchivije stonne pe essere ausate fore d'u condeste.<br />\nLore avessera essere ausate sulamende jndr'à l'artichele d'u namespace de UicchiArchivije.",
-	"wikilog-too-many-authors": "Attenziò: Troppe auture elengate jndr'à stu messagge de UicchiArchivije.",
-	"wikilog-too-many-tags": "Attenziò: Trueppe tag stonne jndr'à stu messagge de UicchiArchivije.",
-	"wikilog-comment-is-empty": "'U commende mannate jè vacande.",
-	"wikilog-comment-too-long": "'U commende mannate jè troppe luènghe.",
-	"wikilog-comment-invalid-name": "'U nome mise jè invalide.",
-	"wikilog-no-such-article": "L'artichele de UicchiArchivije richieste non g'esiste.",
-	"wikilog-reading-draft": "St'artichele de UicchiArchivije jè 'na bozze, jidde non ge pò essere angore pubblecate.",
-	"wikilog-posting-anonymously": "Tu pe mò non ge sì collegate;<br />\n'u commende avène mannate cumme anonime, idendficate da l'indirizze IP tune.<br />\nTu putisse mettere 'nu pseudonime sus a 'u messagge pe idendificà 'u commende tue o $1 pe essere attribbuite correttamende.",
-	"wikilog-anonymous-moderated": "Apprisse ca tu è sottomesse 'u commende tune, quste non ge se vede subbete sus a sta pàgene.<br />\n'U commende avène fatte vedè apprisse ca 'nu moderatore 'u revède.",
-	"wikilog-post-comment": "Manne 'nu commende nuève",
-	"wikilog-post-reply": "Manne 'na resposta nove",
-	"wikilog-form-legend": "Cieche le messagge de UicchiArchivije",
-	"wikilog-form-wikilog": "UicchiArchivije:",
-	"wikilog-form-category": "Categorije:",
-	"wikilog-form-name": "Nome:",
-	"wikilog-form-author": "Autore:",
-	"wikilog-form-tag": "Tag:",
-	"wikilog-form-date": "Date:",
-	"wikilog-form-status": "State:",
-	"wikilog-form-preview": "Andeprime:",
-	"wikilog-form-comment": "Commende:",
-	"wikilog-show-all": "Tutte le messagge",
-	"wikilog-show-published": "Pubblecate",
-	"wikilog-show-drafts": "Bozze",
-	"wikilog-submit": "Conferme",
-	"wikilog-preview": "Andeprime",
-	"wikilog-edit-lc": "cange",
-	"wikilog-reply-lc": "respunne",
-	"wikilog-delete-lc": "scangille",
-	"wikilog-approve-lc": "appruève",
-	"wikilog-reject-lc": "scitte",
-	"wikilog-page-lc": "vôsce",
-	"wikilog-history-lc": "cunde",
-	"wikilog-doc-import-comment": "Documendazione de UicchiArchivije 'mbortate"
-}
diff --git a/i18n/wikilog/ru.json b/i18n/wikilog/ru.json
deleted file mode 100644
index dab637a..0000000
--- a/i18n/wikilog/ru.json
+++ /dev/null
@@ -1,130 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Aleksandrit",
-			"EugeneZelenko",
-			"G0rn",
-			"Kaganer",
-			"Александр Сигачёв"
-		]
-	},
-	"wikilog-desc": "Добавляет возможность ведения блогов, создания гибрида вики и блога",
-	"wikilog-auto": "Викилог Авто",
-	"wikilog-help": "{{ns:Help}}:Викилог",
-	"right-wl-postcomment": "оставлять комментарии к статьям викилога",
-	"right-wl-moderation": "модерировать комментарии к статьям викилога",
-	"wikilog-specialwikilog-title": "Викилоги",
-	"wikilog-log-pagename": "Журнал действий викилога",
-	"wikilog-log-pagetext": "Ниже приведен список действия викилога.",
-	"wikilog-log-cmt-approve": "утвердил комментарий [[$1]]",
-	"wikilog-log-cmt-reject": "отклонил комментарий [[$1]]",
-	"wikilog-log-cmt-rejdel": "Отклонён комментарий викилога от [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Викилог",
-	"wikilog-tab-title": "Действия викилога",
-	"wikilog-missing-wikilog": "Это страница [[{{int:wikilog-help}}|викилога]] для [[{{FULLPAGENAME}}]].\n\nДанного викилога пока не существует. \nДля публикации статей и включения других функций викилога, его необходимо предварительно создать.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Создать этот викилог].</span>",
-	"wikilog-information": "Сведения о викилоге",
-	"wikilog-post-count-published": "В этом викилоге {{PLURAL:$1|опубликована $1 статья|опубликовано $1 статей|опубликовано $1 статьи}}",
-	"wikilog-post-count-drafts": "Имеется {{PLURAL:$1|$1 неопубликованная статья-черновик|$1 неопубликованных статей-черновиков|$1 неопубликованных статьи-черновика}}",
-	"wikilog-post-count-all": "Всего имеется {{PLURAL:$1|$1 статья|$1 статей|$1 статьи}}.",
-	"wikilog-new-item": "Создать новую статью викилога",
-	"wikilog-new-item-go": "Создать",
-	"wikilog-item-name": "Название статьи:",
-	"wikilog-published": "Опубликована",
-	"wikilog-updated": "Обновлена",
-	"wikilog-draft": "Черновик",
-	"wikilog-authors": "Авторы",
-	"wikilog-wikilog": "Викилог",
-	"wikilog-title": "Название",
-	"wikilog-actions": "Действия",
-	"wikilog-comments": "Комментарии",
-	"wikilog-replies": "Ответы",
-	"wikilog-view-archives": "Архивы",
-	"wikilog-view-summary": "Описание",
-	"wikilog-draft-title-mark": "(черновик)",
-	"wikilog-anonymous-mark": "(аноним)",
-	"wikilog-pager-newest": "новейшие",
-	"wikilog-pager-oldest": "старейшие",
-	"wikilog-pager-prev": "предыдущая",
-	"wikilog-pager-next": "следующая",
-	"wikilog-pager-first": "первая",
-	"wikilog-pager-last": "последняя",
-	"wikilog-pager-empty": "(нет элементов)",
-	"wikilog-no-comments": "нет комментариев",
-	"wikilog-has-comments": "$1 {{PLURAL:$1|комментарий|комментариев|комментария}}",
-	"wikilog-summary-footer": "Разместил $7 в [[$1|$2]] $8 $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Разместил $7 $8 $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Без категории",
-	"wikilog-summary-categories": "Отнесено к $2",
-	"wikilog-summary-more": "[[$3|→ продолжить чтение…]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|обсуждение]])",
-	"wikilog-edit-hint": "Редактировать статью викилога: $1",
-	"wikilog-edit-fieldset-legend": "Настройки викилога:",
-	"wikilog-edit-signpub": "Подписать и опубликовать эту статью",
-	"wikilog-edit-signpub-tooltip": "Вызывает подписывание и опубликование статьи в викилоге при сохранении.\nСнимите этот флажок, чтобы оставить статью в качестве черновика.",
-	"wikilog-comment-permalink": "$1 в $2",
-	"wikilog-comment-note-item": "размещён в $1",
-	"wikilog-comment-note-edited": "последняя правка $1 в $2",
-	"wikilog-comment-anonsig": "$3 (анонимно)",
-	"wikilog-comment-pending": "Этот комментарий ожидает утверждения.",
-	"wikilog-comment-deleted": "Этот комментарий был удалён.",
-	"wikilog-comment-omitted-x": "Комментатор не указан (#$1).",
-	"wikilog-comment-autosumm": "Новый комментарий от $1: $2",
-	"wikilog-reply-to-comment": "Ответить на этот комментарий",
-	"wikilog-comment-page": "Перейти на страницу этого комментария",
-	"wikilog-comment-edit": "Изменить этот комментарий",
-	"wikilog-comment-delete": "Удалить этот комментарий",
-	"wikilog-comment-history": "Посмотреть историю комментария",
-	"wikilog-comment-approve": "Утвердить этот комментарий (незамедлительное действие)",
-	"wikilog-comment-reject": "Отклонить этот комментарий (незамедлительное действие)",
-	"wikilog-newtalk-summary": "создана автоматически викилогом",
-	"wikilog-feed-ns-title": "$1 статей викилога",
-	"wikilog-feed-description": "Читать последние сообщения на этом канале.",
-	"wikilog-comment-feed-title1": "Комментарии от $2 (#$1)",
-	"wikilog-comment-feed-title2": "Комментарий от $2 к $3 (#$1)",
-	"wikilog-comment-feed-description": "Читать последние комментарии на этом канале.",
-	"wikilog-title-comments": "Комментарии — $1",
-	"wikilog-error-msg": "Викилог: $1",
-	"wikilog-error-title": "Ошибка викилога",
-	"wikilog-invalid-param": "Неверный параметр: $1.",
-	"wikilog-invalid-author": "Неправильное имя автора: $1.",
-	"wikilog-invalid-date": "Неправильная дата: $1.",
-	"wikilog-invalid-tag": "Неправильная метка: $1.",
-	"wikilog-invalid-file": "Неправильный файл: $1.",
-	"wikilog-file-not-found": "Несуществующий файл: $1.",
-	"wikilog-not-an-image": "Файл не является изображением: $1.",
-	"wikilog-out-of-context": "Предупреждение. Метки викилога используются вне контекста.\nМетки следует использовать только в статьях пространства имён викилога.",
-	"wikilog-too-many-authors": "Предупреждение. В этой заметке викилога перечислено слишком много авторов.",
-	"wikilog-too-many-tags": "Предупреждение. В этой заметке викилога перечислено слишком много меток.",
-	"wikilog-comment-is-empty": "Отправленный комментарий пуст.",
-	"wikilog-comment-too-long": "Отправленный комментарий слишком длинный.",
-	"wikilog-comment-invalid-name": "Указанная имя является некорректным.",
-	"wikilog-no-such-article": "Запрашиваемой статьи викилога не существует.",
-	"wikilog-reading-draft": "Эта статья викилога является черновиком и ещё не была опубликована.",
-	"wikilog-posting-anonymously": "В настоящее время вы не представились системе;\nваш комментарий будет размещён анонимно, вы будите идентифицированы по своему интернет-адресу соединения.\nВам следует либо указать псевдоним, либо $1, чтобы быть указанным как автор комментария.",
-	"wikilog-anonymous-moderated": "После отправки вашего комментария, он не будет сразу виден на этой странице.\nКомментарий появится только после его рассмотрения модератором.",
-	"wikilog-post-comment": "Написать новый комментарий",
-	"wikilog-post-reply": "Написать новый ответ",
-	"wikilog-form-legend": "Поиск по заметкам викилога",
-	"wikilog-form-wikilog": "Викилог:",
-	"wikilog-form-category": "Категория:",
-	"wikilog-form-name": "Имя:",
-	"wikilog-form-author": "Автор:",
-	"wikilog-form-tag": "Метка:",
-	"wikilog-form-date": "Дата:",
-	"wikilog-form-status": "Состояние:",
-	"wikilog-form-preview": "Предпросмотр:",
-	"wikilog-form-comment": "Комментарий:",
-	"wikilog-show-all": "Все заметки",
-	"wikilog-show-published": "Опубликован",
-	"wikilog-show-drafts": "Черновики",
-	"wikilog-submit": "Отправить",
-	"wikilog-preview": "Предпросмотр",
-	"wikilog-edit-lc": "править",
-	"wikilog-reply-lc": "ответить",
-	"wikilog-delete-lc": "удалить",
-	"wikilog-approve-lc": "утвердить",
-	"wikilog-reject-lc": "отклонить",
-	"wikilog-page-lc": "страница",
-	"wikilog-history-lc": "история",
-	"wikilog-doc-import-comment": "Импортированная документация Викилога"
-}
diff --git a/i18n/wikilog/rue.json b/i18n/wikilog/rue.json
deleted file mode 100644
index d9722bf..0000000
--- a/i18n/wikilog/rue.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Gazeb"
-		]
-	},
-	"wikilog-new-item": "Створити нову вікі статю",
-	"wikilog-new-item-go": "Створити",
-	"wikilog-item-name": "Назва статї:",
-	"wikilog-published": "Публікована",
-	"wikilog-updated": "Актуалізоване",
-	"wikilog-authors": "Авторы",
-	"wikilog-wikilog": "Вікілоґ",
-	"wikilog-title": "Назва",
-	"wikilog-actions": "Дїї",
-	"wikilog-comments": "Коментарї",
-	"wikilog-replies": "Одповідї",
-	"wikilog-view-archives": "Архівы",
-	"wikilog-anonymous-mark": "(анонім)",
-	"wikilog-pager-newest": "найновшы",
-	"wikilog-pager-oldest": "найстаршы",
-	"wikilog-pager-prev": "попередня",
-	"wikilog-pager-next": "далша",
-	"wikilog-pager-first": "перша",
-	"wikilog-pager-last": "послїдня",
-	"wikilog-pager-empty": "(жадны елементы)",
-	"wikilog-no-comments": "жадны коментарї",
-	"wikilog-has-comments": "$1 {{PLURAL:$1|коментарь|коментарї|коментарів}}",
-	"wikilog-summary-uncategorized": "Некатеґорізованы",
-	"wikilog-comment-permalink": "$1 о $2",
-	"wikilog-comment-note-item": "послане $1",
-	"wikilog-comment-note-edited": "послїдня едітація $1 о $2",
-	"wikilog-comment-anonsig": "$3 (анонім)",
-	"wikilog-comment-pending": "Тот коментарь чекає на схвалїня.",
-	"wikilog-comment-deleted": "Тот коментарь быв змазаный.",
-	"wikilog-comment-omitted-x": "Коментарь посланый (#$1).",
-	"wikilog-comment-autosumm": "Новый коментарь од $1: $2",
-	"wikilog-reply-to-comment": "Одповісти на тот коментарь",
-	"wikilog-comment-page": "Перейти на сторінку того коментаря",
-	"wikilog-comment-edit": "Змінити тот коментарь",
-	"wikilog-comment-delete": "Змазати тот коментарь",
-	"wikilog-comment-history": "Видїти історію коментаря",
-	"wikilog-comment-approve": "Схвалити тот коментарь (такой выконане )",
-	"wikilog-title-comments": "Коментарї - $1",
-	"wikilog-post-comment": "Послати новый коментарь",
-	"wikilog-post-reply": "Послати нову одповідь",
-	"wikilog-form-wikilog": "Вікілоґ:",
-	"wikilog-form-category": "Катеґорія:",
-	"wikilog-form-name": "Назва:",
-	"wikilog-form-author": "Автор:",
-	"wikilog-form-tag": "Значка:",
-	"wikilog-form-date": "Датум:",
-	"wikilog-form-status": "Став:",
-	"wikilog-form-preview": "Нагляд:",
-	"wikilog-form-comment": "Коментарь:",
-	"wikilog-show-all": "Вшыткы приспевкы",
-	"wikilog-show-published": "Публіковане",
-	"wikilog-submit": "Одослати",
-	"wikilog-preview": "Нагляд",
-	"wikilog-edit-lc": "едітовати",
-	"wikilog-reply-lc": "одповісти",
-	"wikilog-delete-lc": "змазати",
-	"wikilog-approve-lc": "схвалити",
-	"wikilog-page-lc": "сторінка",
-	"wikilog-history-lc": "історія"
-}
diff --git a/i18n/wikilog/sc.json b/i18n/wikilog/sc.json
deleted file mode 100644
index 509671a..0000000
--- a/i18n/wikilog/sc.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Andria"
-		]
-	},
-	"wikilog-form-name": "Nùmene",
-	"wikilog-page-lc": "pàgina"
-}
diff --git a/i18n/wikilog/si.json b/i18n/wikilog/si.json
deleted file mode 100644
index d933573..0000000
--- a/i18n/wikilog/si.json
+++ /dev/null
@@ -1,131 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Calcey",
-			"Jiro Ono",
-			"චතුනි අලහප්පෙරුම",
-			"දසනැබළයෝ",
-			"පසිඳු කාවින්ද",
-			"බිඟුවා",
-			"රොමානිස් සැමුවෙල්"
-		]
-	},
-	"wikilog-desc": "බ්ලොග් විශේෂාංග එකතු කිරීම,විකි-බ්ලොග් මුහුම නිර්මාණය",
-	"wikilog-auto": "ස්වයං විකි ලඝු සටහන",
-	"wikilog-help": "{{ns:Help}}:විකිලඝුව",
-	"right-wl-postcomment": "විකි ලඝු  ලිපිවලට විචාර තැපැල් කරන්න.",
-	"right-wl-moderation": "විකි ලඝු ලිපි විචාරවල මධ්‍යස්ථතාව",
-	"wikilog-specialwikilog-title": "විකි ලඝු සටහන්",
-	"wikilog-log-pagename": "විකි ලඝු ක්‍රියාකාරකම් ලඝු සටහන",
-	"wikilog-log-pagetext": "පහතින් විකි ලඝු ක්‍රියාකාරකම්වල ලැයිස්තුවකි.",
-	"wikilog-log-cmt-approve": "අනුමත කරනු ලැබූ විචාරය [[$1]]",
-	"wikilog-log-cmt-reject": "ප්‍රතික්ෂේප කරනු ලැබූ විචාරය [[$1]]",
-	"wikilog-log-cmt-rejdel": "[[Special:Contributions/$1|$1]] මඟින් ප්‍රතික්ෂේප කරනු ලැබූ විකි ලඝු විචාරය",
-	"wikilog-tab": "විකි ලඝු සටහන",
-	"wikilog-tab-title": "විකි ලඝු ක්‍රියාකාරකම්",
-	"wikilog-information": "විකි ලඝු තොරතුරු",
-	"wikilog-post-count-published": "මෙම විකි ලඝු සටහනෙහි {{PLURAL:$1|එක් ප්‍රකාශිත ලිපියක්|$1 ප්‍රකාශිත ලිපි}} ඇත",
-	"wikilog-post-count-drafts": "{{PLURAL:$1|එක් අප්‍රකාශිත (කෙටුම්පත)ලිපියක්|$1 අප්‍රකාශිත(කෙටුම්පත)ලිපි }} ඇත",
-	"wikilog-post-count-all": "එකතුව වශයෙන් {{PLURAL:$1|එක් ලිපියක්|$1 ලිපි}} ඇත.",
-	"wikilog-new-item": "නව විකි ලඝු ලිපියක් නිර්මාණය කිරීම",
-	"wikilog-new-item-go": "නිර්මාණය කරන්න",
-	"wikilog-item-name": "ලිපියේ නම:",
-	"wikilog-published": "ප්‍රකාශිත",
-	"wikilog-updated": "යාවත්කාලීන කළ",
-	"wikilog-draft": "කෙටුම්පත",
-	"wikilog-authors": "ලේඛකයන්",
-	"wikilog-wikilog": "විකි ලඝු සටහන",
-	"wikilog-title": "මාතෘකාව",
-	"wikilog-actions": "ක්‍රියාකාරකම්",
-	"wikilog-comments": "විචාර",
-	"wikilog-replies": "පිළිතුරු",
-	"wikilog-view-archives": "ලේඛනාගාර",
-	"wikilog-view-summary": "සාරාංශය",
-	"wikilog-draft-title-mark": "(කෙටුම්පත)",
-	"wikilog-anonymous-mark": "(නිර්නාමික)",
-	"wikilog-pager-newest": "අලුත්ම",
-	"wikilog-pager-oldest": "පැරණිම",
-	"wikilog-pager-prev": "කලින්",
-	"wikilog-pager-next": "මී ළඟට",
-	"wikilog-pager-first": "ප්‍රථම",
-	"wikilog-pager-last": "අවසාන",
-	"wikilog-pager-empty": "(අයිතම නොමැත)",
-	"wikilog-no-comments": "විචාර නොමැත",
-	"wikilog-has-comments": "{{PLURAL:$1|එක විචාරයක්|$1 විචාර}}",
-	"wikilog-summary-footer": "$7 විසින්  $8 වනදා $9 ($15), $10ට [[$1|$2]] ට තැපැල් කරන ලදී..",
-	"wikilog-summary-footer-single": "$7 විසින්  $8 වනදා  $9 ($15), $10ට තැපැල් කරන ලදී.",
-	"wikilog-summary-uncategorized": "ප්‍රවර්ග නොකරන ලද",
-	"wikilog-summary-categories": "$2 යටතේ ගොනු කරන ලදී",
-	"wikilog-summary-more": "[[$3|→දිගටම කියැවීම...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|සාකච්ඡාව]])",
-	"wikilog-edit-hint": "විකිලඝුව සංස්කරණය කරන්න ලිපිය: $1",
-	"wikilog-edit-fieldset-legend": "විකි ලඝු තෝරාගැනීම්:",
-	"wikilog-edit-signpub": "අත්සන් කර මෙම ලිපිය ප්‍රකාශනය කරන්න",
-	"wikilog-edit-signpub-tooltip": "සුරකින විට මෙම ලිපිය එහි විකි ලඝූ සටහනෙහි අත්සන් කරනු ලැබීමට හා ප්‍රකාශනය කරනු ලැබීමට හේතුවේ.\nලිපිය කෙටුම්පතක් ලෙස තැබීමට මෙම කොටුව නිලකුණු කරන්න.",
-	"wikilog-comment-permalink": "$1 විසින්  $2 හිදී",
-	"wikilog-comment-note-item": "$1ට තැපැල් කරන ලදී",
-	"wikilog-comment-note-edited": "අවසාන සංස්කර්ණය $1 දින $2 දීය",
-	"wikilog-comment-anonsig": "$3 (නිර්නාමික)",
-	"wikilog-comment-pending": "මෙම විචාරය අනුමැතිය බලාපොරොත්තුවෙන් පසුවේ.",
-	"wikilog-comment-deleted": "මෙම විචාරය මකා දමන ලදී.",
-	"wikilog-comment-omitted-x": "පරිකථනය අත් හරින ලදී (#$1).",
-	"wikilog-comment-autosumm": "$1: $2 විසින් නව විචාරයක්.",
-	"wikilog-reply-to-comment": "මෙම විචාරයට පිළිතුරක් තැපැල් කරන්න.",
-	"wikilog-comment-page": "මෙම විචාරයේ පිටුවට යන්න.",
-	"wikilog-comment-edit": "මෙම විචාරය සංස්කරණය කරන්න.",
-	"wikilog-comment-delete": "මෙම විචාරය මකන්න.",
-	"wikilog-comment-history": "විචාර ඉතිහාසය පෙන්වන්න.",
-	"wikilog-comment-approve": "මෙම විචාරය අනුමත කරන්න (කඩිනම් කාර්යය)",
-	"wikilog-comment-reject": "මෙම විචාරය ප්‍රතික්ෂේප කරන්න (කඩිනම් කාර්යය)",
-	"wikilog-newtalk-summary": "විකි ලඝු මඟින් ස්වයංක්‍රීයව නිර්මාණය කරන ලදී",
-	"wikilog-feed-ns-title": "$1 විකිලඝු ලිපි",
-	"wikilog-feed-description": "අලුතින්ම කළ ඉදිරිපත් කිරීම මෙම සංග්‍රහයෙන් කියවන්න.",
-	"wikilog-comment-feed-title1": "$2 ගේ පරිකථනය (#$1)",
-	"wikilog-comment-feed-title2": "$2 ගේ පරිකථනය $3 වෙත (#$1)",
-	"wikilog-comment-feed-description": "අලුතින්ම කළ පරිකථන මෙම සංග්‍රහයෙන් කියවන්න.",
-	"wikilog-title-comments": "විචාර - $1",
-	"wikilog-error-msg": "විකි ලඝු : $1",
-	"wikilog-error-title": "විකි ලඝු දෝෂය",
-	"wikilog-invalid-param": "අවලංගු පරාමිතිය :$1.",
-	"wikilog-invalid-author": "අවලංගු ලේඛක : $1.",
-	"wikilog-invalid-date": "අවලංගු දිනය: $1.",
-	"wikilog-invalid-tag": "අවලංගු ටැගය: $1.",
-	"wikilog-invalid-file": "අවලංගු ගොනුව: $1.",
-	"wikilog-file-not-found": "නොපවතින ගොනුව:$1.",
-	"wikilog-not-an-image": "ගොනුව පිංතූරයක් නොවේ: $1.",
-	"wikilog-out-of-context": "අවවාදයයි:විකි ලඝු ටැග් සන්දර්භයට පිටතින් භාවිතා කරමින් පවතී.\nඒවා භාවිතා කළ යුත්තේ විකි ලඝු නාමඅවකාශයේ ලිපි තුළදී පමණි.",
-	"wikilog-too-many-authors": "අවවාදයයි:මෙම විකි ලඝු හසුනෙහි පමණට වැඩි ලේඛකයන් ලැයිස්තුගත කර ඇත.",
-	"wikilog-too-many-tags": "අවවාදයයි: මෙම විකි ලඝු හසුනෙහි පමණට වැඩි ටැග් ලැයිස්තුගත කර ඇත.",
-	"wikilog-comment-is-empty": "තැපැල් කළ විචාරය හිස්ය.",
-	"wikilog-comment-too-long": "තැපැල් කළ විචාරය දිඟු වැඩිය.",
-	"wikilog-comment-invalid-name": "සපයා ඇති නාමය වලංගු නොවේ.",
-	"wikilog-no-such-article": "ඉල්ලුම් කළ විකි ලඝු ලිපිය නොපවතී.",
-	"wikilog-reading-draft": "මෙම විකි ලඝු ලිපිය කෙටුම්පතකි,එය තවම ප්‍රකාශනය කර නැත.",
-	"wikilog-posting-anonymously": "ඔබ දැනට ප්‍රවිෂ්ට වී නොමැත;\nඔබගේ විචාරය නිර්නාමිකව තැපැල් කෙරෙනු ඇත,ඔබගේ අන්තර්ජාල සම්බන්ධකා ලිපිනයෙන් හඳුනා ගනු ඇත.\nඔබගේ විචාරය හඳුනාගැනීමට ඔබ ඉහළින් ආරූඪ නාමයක් හෝ එය නිවැරදිව ආරෝපණය කිරීම සඳහා $1 සැපයිය යුතුය.",
-	"wikilog-anonymous-moderated": "ඔබ ඔබගේ විචාරය යොමු කළ පසු,එය ස්වයංක්‍රීයව මෙම පිටුව මත දර්ශනය වන්නේ නැත.\nවිචාරය පෙන්වනු ලබන්නේ  එය මැදිහත්කරුවෙකු විසින් විවරණය කළ පසුව පමණි.",
-	"wikilog-post-comment": "නව විචාරයක් තැපැල් කරන්න",
-	"wikilog-post-reply": "නව පිළිතුරක් තැපැල් කරන්න",
-	"wikilog-form-legend": "විකි ලඝු හසුන් සෙවීම",
-	"wikilog-form-wikilog": "විකි ලඝු සටහන:",
-	"wikilog-form-category": "ප්‍රවර්ගය:",
-	"wikilog-form-name": "නම:",
-	"wikilog-form-author": "ලේඛකයා:",
-	"wikilog-form-tag": "ටැගය:",
-	"wikilog-form-date": "දිනය:",
-	"wikilog-form-status": "තත්වය:",
-	"wikilog-form-preview": "පෙර දසුන:",
-	"wikilog-form-comment": "විචාරය:",
-	"wikilog-show-all": "සියලුම හසුන්:",
-	"wikilog-show-published": "ප්‍රකාශිත:",
-	"wikilog-show-drafts": "කෙටුම්පත්:",
-	"wikilog-submit": "යොමන්න",
-	"wikilog-preview": "පෙර දසුන",
-	"wikilog-edit-lc": "සංස්කරණය",
-	"wikilog-reply-lc": "පිළිතුරු දෙන්න",
-	"wikilog-delete-lc": "මකන්න",
-	"wikilog-approve-lc": "අනුමත කරන්න",
-	"wikilog-reject-lc": "ප්‍රතික්ෂේප කරන්න",
-	"wikilog-page-lc": "පිටුව",
-	"wikilog-history-lc": "ඉතිහාසය",
-	"wikilog-doc-import-comment": "ආයාත කරනු ලැබූ විකි ලඝු ප්‍රලේඛනය"
-}
diff --git a/i18n/wikilog/sl.json b/i18n/wikilog/sl.json
deleted file mode 100644
index ae0eb7c..0000000
--- a/i18n/wikilog/sl.json
+++ /dev/null
@@ -1,127 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Dbc334",
-			"Eleassar"
-		]
-	},
-	"wikilog-desc": "Doda zmožnosti bloganja in ustvari križanec med wikijem in blogom",
-	"wikilog-auto": "Wikilog Samodejno",
-	"wikilog-help": "{{ns:Help}}:Wikilog",
-	"right-wl-postcomment": "Objavljanje pripomb k člankom wikiloga",
-	"right-wl-moderation": "Upravljanje pripomb člankov wikilog",
-	"wikilog-specialwikilog-title": "Wikilogi",
-	"wikilog-log-pagename": "Dnevnik dejanj Wikilog",
-	"wikilog-log-pagetext": "Spodaj se nahaja seznam dejanj wikiloga.",
-	"wikilog-log-cmt-approve": "je odobril(-a) pripombo »[[$1]]«",
-	"wikilog-log-cmt-reject": "je zavrnil(-a) pripombo »[[$1]]«",
-	"wikilog-log-cmt-rejdel": "Zavrnjena pripomba wikilog od [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Dejanja Wikilog",
-	"wikilog-missing-wikilog": "To je stran [[{{int:wikilog-help}}|wikiloga]] za [[{{FULLPAGENAME}}]].\n\nTa wikilog še ne obstaja.\nČe želite objavljati članke in omogočiti druge zmožnosti wikiloga, ga morate najprej ustvariti.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Ustvari wikilog].</span>",
-	"wikilog-information": "Informacije wikiloga",
-	"wikilog-post-count-published": "Na tem wikilogu {{PLURAL:$1|je $1 objavljen članek|sta $1 objavljena članka|so $1 objavljeni članki|je $1 objavljenih člankov}}",
-	"wikilog-post-count-drafts": "{{PLURAL:$1|Obstaja $1 neobjavljen (osnutek) članka|Obstajata $1 neobjavljena (osnutka) članka|Obstajo $1 neobjavljeni (osnutki) člankov|Obstaja $1 neobjavljenih (osnutkov) člankov}}",
-	"wikilog-post-count-all": "Skupno {{PLURAL:$1|je tukaj $1 članek|sta tukaj $1 članka|so tukaj $1 članki|je tukaj $1 člankov}}.",
-	"wikilog-new-item": "Ustvari nov članek wikilog",
-	"wikilog-new-item-go": "Ustvari",
-	"wikilog-item-name": "Ime članka:",
-	"wikilog-published": "Objavljeno",
-	"wikilog-updated": "Posodobljeno",
-	"wikilog-draft": "Osnutek",
-	"wikilog-authors": "Avtorji",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Naslov",
-	"wikilog-actions": "Dejanja",
-	"wikilog-comments": "Pripombe",
-	"wikilog-replies": "Odgovori",
-	"wikilog-view-archives": "Arhivi",
-	"wikilog-view-summary": "Povzetek",
-	"wikilog-draft-title-mark": "(osnutek)",
-	"wikilog-anonymous-mark": "(brezimnež)",
-	"wikilog-pager-newest": "najnovejši",
-	"wikilog-pager-oldest": "najstarejši",
-	"wikilog-pager-prev": "prejšnji",
-	"wikilog-pager-next": "naslednji",
-	"wikilog-pager-first": "prvi",
-	"wikilog-pager-last": "zadnji",
-	"wikilog-pager-empty": "(ni predmetov)",
-	"wikilog-no-comments": "ni pripomb",
-	"wikilog-has-comments": "$1 {{PLURAL:$1|pripomba|pripombi|pripombe|pripomb}}",
-	"wikilog-summary-footer": "{{PLURAL:$5|Objavil|Objavila|Objavili}} $7 na [[$1|$2]] dne $8 ob $9 ($15), $10.",
-	"wikilog-summary-footer-single": "{{PLURAL:$5|Objavil|Objavila|Objavili}} $7 dne $8 ob $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Nekategorizirano",
-	"wikilog-summary-categories": "Vloženo pod $2",
-	"wikilog-summary-more": "[[$3|→ nadaljujte z branjem ...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|pogovor]])",
-	"wikilog-edit-hint": "Uredi članek wikiloga: $1",
-	"wikilog-edit-fieldset-legend": "Možnosti wikiloga:",
-	"wikilog-edit-signpub": "Podpiši in objavi ta članek",
-	"wikilog-edit-signpub-tooltip": "Ob shranitvi povzroči podpis in objavo tega članka na njegovem wikilogu.\nPočistite to polje, da obdržite članek kot osnutek.",
-	"wikilog-comment-permalink": "$1 ob $2",
-	"wikilog-comment-note-item": "objavljeno na $1",
-	"wikilog-comment-note-edited": "nazadnje urejeno dne $1 ob $2",
-	"wikilog-comment-anonsig": "$3 (brezimnež)",
-	"wikilog-comment-pending": "Ta pripomba čaka na odobritev.",
-	"wikilog-comment-deleted": "Ta pripomba je bila izbrisana.",
-	"wikilog-comment-omitted-x": "Pripomba izpuščena (#$1).",
-	"wikilog-comment-autosumm": "Nova pripomba $1: $2",
-	"wikilog-reply-to-comment": "Objavi odgovor na ta komentar",
-	"wikilog-comment-page": "Pojdi na stran te pripombe",
-	"wikilog-comment-edit": "Uredi to pripombo",
-	"wikilog-comment-delete": "Izbriši to pripombo",
-	"wikilog-comment-history": "Ogled zgodovine pripomb",
-	"wikilog-comment-approve": "Odobri to pripombo (takojšnje dejanje)",
-	"wikilog-comment-reject": "Zavrni to pripombo (takojšnje dejanje)",
-	"wikilog-newtalk-summary": "samodejno ustvaril Wikilog",
-	"wikilog-feed-ns-title": "$1 člankov wikilog",
-	"wikilog-feed-description": "Preberite najnovejše objavi v tem viru.",
-	"wikilog-comment-feed-title1": "Pripomba $2 (#$1)",
-	"wikilog-comment-feed-title2": "Pripomba $2 na $3 (#$1)",
-	"wikilog-comment-feed-description": "Preberite najnovejše pripombe v tem viru.",
-	"wikilog-title-comments": "Pripombe – $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Napaka Wikilog",
-	"wikilog-invalid-param": "Neveljavni parameten: $1.",
-	"wikilog-invalid-author": "Neveljavni avtor: $1.",
-	"wikilog-invalid-date": "Neveljavni datum: $1.",
-	"wikilog-invalid-tag": "Neveljavna oznaka: $1",
-	"wikilog-invalid-file": "Neveljavna datoteka: $1",
-	"wikilog-file-not-found": "Neobstoječa datoteka: $1.",
-	"wikilog-not-an-image": "Datoteka ni slika: $1.",
-	"wikilog-out-of-context": "Opozorilo: oznake Wikilog uporabljate izven konteksta.\nUporabljene naj bodo samo v člankih v imenskem prostoru Wikilog.",
-	"wikilog-too-many-authors": "Opozorilo: V tej objavi wikilog je navedenih preveč avtorjev.",
-	"wikilog-too-many-tags": "Opozorilo: V tej objavi wikilog je navedenih preveč oznak.",
-	"wikilog-comment-is-empty": "Objavljena pripomba je prazna.",
-	"wikilog-comment-too-long": "Objavljena pripomba je predolga.",
-	"wikilog-comment-invalid-name": "Navedeno ime je neveljavno.",
-	"wikilog-no-such-article": "Zahtevan članek wikilog ne obstaja.",
-	"wikilog-reading-draft": "Ta članek wikilog je osnutek; ni še bil objavljen.",
-	"wikilog-posting-anonymously": "Trenutno niste prijavljeni;\nvaš komentar bo objavljen brezimno, identificiran z vašim naslovom internetne povezave.\nZgoraj raje navedite svoj vzdevek, da identificirate svojo pripombo; če pa želite, da je pravilno pripisana, se morate $1.",
-	"wikilog-anonymous-moderated": "Ko oddate svojo pripombo, ne bo takoj vidna na tej strani.\nPripomba bo prikazana šele takrat, ko jo pregleda moderator.",
-	"wikilog-post-comment": "Objavi novo pripombo",
-	"wikilog-post-reply": "Objavi nov odgovor",
-	"wikilog-form-legend": "Iskanje objav wikilog",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Kategorija:",
-	"wikilog-form-name": "Ime:",
-	"wikilog-form-author": "Avtor:",
-	"wikilog-form-tag": "Oznaka:",
-	"wikilog-form-date": "Datum:",
-	"wikilog-form-status": "Stanje:",
-	"wikilog-form-preview": "Predogled:",
-	"wikilog-form-comment": "Pripomba:",
-	"wikilog-show-all": "Vse objave",
-	"wikilog-show-published": "Objavljeno",
-	"wikilog-show-drafts": "Osnutki",
-	"wikilog-submit": "Potrdi",
-	"wikilog-preview": "Predogled",
-	"wikilog-edit-lc": "uredi",
-	"wikilog-reply-lc": "odgovori",
-	"wikilog-delete-lc": "izbriši",
-	"wikilog-approve-lc": "odobri",
-	"wikilog-reject-lc": "zavrni",
-	"wikilog-page-lc": "stran",
-	"wikilog-history-lc": "zgodovina",
-	"wikilog-doc-import-comment": "Uvožena dokumentacija Wikiloga"
-}
diff --git a/i18n/wikilog/so.json b/i18n/wikilog/so.json
deleted file mode 100644
index 1beebaa..0000000
--- a/i18n/wikilog/so.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Maax"
-		]
-	},
-	"wikilog-form-category": "Qeybta:"
-}
diff --git a/i18n/wikilog/sq.json b/i18n/wikilog/sq.json
deleted file mode 100644
index f9cfc7d..0000000
--- a/i18n/wikilog/sq.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Olsi"
-		]
-	},
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|diskutimet]])"
-}
diff --git a/i18n/wikilog/sr-ec.json b/i18n/wikilog/sr-ec.json
deleted file mode 100644
index bbfc450..0000000
--- a/i18n/wikilog/sr-ec.json
+++ /dev/null
@@ -1,92 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Maduixa",
-			"Rancher",
-			"Жељко Тодоровић",
-			"Михајло Анђелковић"
-		]
-	},
-	"wikilog-new-item-go": "Направи",
-	"wikilog-item-name": "Назив чланка:",
-	"wikilog-published": "Објављено",
-	"wikilog-updated": "Ажурирано",
-	"wikilog-draft": "Нацрт",
-	"wikilog-authors": "Аутори",
-	"wikilog-title": "Наслов",
-	"wikilog-actions": "Радње",
-	"wikilog-comments": "Коментари",
-	"wikilog-replies": "Одговори",
-	"wikilog-view-archives": "Архиве",
-	"wikilog-view-summary": "Опис",
-	"wikilog-draft-title-mark": "(нацрт)",
-	"wikilog-anonymous-mark": "(анонимно)",
-	"wikilog-pager-newest": "најновије",
-	"wikilog-pager-oldest": "најстарије",
-	"wikilog-pager-prev": "претходно",
-	"wikilog-pager-next": "следеће",
-	"wikilog-pager-first": "прво",
-	"wikilog-pager-last": "последње",
-	"wikilog-pager-empty": "(нема садржаја)",
-	"wikilog-no-comments": "нема коментара",
-	"wikilog-has-comments": "{{PLURAL:$1|један коментар|$1 коментара|$1 коментара}}",
-	"wikilog-summary-footer": "Послао/-ла $7 ка [[$1|$2]] на $8 у $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Послао/-ла $7 ка $8 у $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Некатегорисано",
-	"wikilog-summary-categories": "Заведено под $2",
-	"wikilog-entry-footer": "— $7 • $9, $8 • $10",
-	"wikilog-simple-signature": "$1 ($2)",
-	"wikilog-edit-signpub": "Потпиши се и објави овај чланак",
-	"wikilog-comment-footer": "— $2 • $5 $6",
-	"wikilog-comment-permalink": "$1 у $2",
-	"wikilog-comment-note-item": "послато на $1",
-	"wikilog-comment-note-edited": "последње измењен на $1 у $2",
-	"wikilog-comment-anonsig": "$3 (анонимни)",
-	"wikilog-comment-pending": "Овај коментар чека на одобрење.",
-	"wikilog-comment-deleted": "Овај коментар је обрисан.",
-	"wikilog-comment-autosumm": "Нови коментар корисника $1: $2",
-	"wikilog-reply-to-comment": "Пошаљи одговор на овај коментар",
-	"wikilog-comment-page": "Иди на страну овог коментара",
-	"wikilog-comment-edit": "Измени овај коментар",
-	"wikilog-comment-delete": "Обриши овај коментар",
-	"wikilog-comment-history": "Види историју коментара",
-	"wikilog-comment-approve": "Одобри овај коментар (моментална акција)",
-	"wikilog-feed-title": "{{SITENAME}} – $1 [$2]",
-	"wikilog-feed-description": "Прочитај најскорије уносе у овом фиду.",
-	"wikilog-comment-feed-title1": "Коментар од $2 (#$1)",
-	"wikilog-comment-feed-title2": "Коментар од $2 за $3 (#$1)",
-	"wikilog-title-item-full": "$1 – $2",
-	"wikilog-title-comments": "Коментари - $1",
-	"wikilog-invalid-param": "Неисправан параметар: $1.",
-	"wikilog-invalid-author": "Непостојећи аутор: $1.",
-	"wikilog-invalid-date": "Неисправан датум: $1.",
-	"wikilog-invalid-tag": "Неисправна ознака: $1.",
-	"wikilog-invalid-file": "Неисправна датотека: $1.",
-	"wikilog-file-not-found": "Непостојећи фајл: $1.",
-	"wikilog-not-an-image": "Овај фајл није слика: $1",
-	"wikilog-comment-is-empty": "Послати коментар је празан.",
-	"wikilog-comment-too-long": "Послати коменар је предугачак.",
-	"wikilog-comment-invalid-name": "Достављено име је погрешно.",
-	"wikilog-post-comment": "Пошаљи нови коментар",
-	"wikilog-post-reply": "Пошаљи нови одговор",
-	"wikilog-form-category": "Категорија:",
-	"wikilog-form-name": "Име:",
-	"wikilog-form-author": "Аутор:",
-	"wikilog-form-tag": "Ознака:",
-	"wikilog-form-date": "Датум:",
-	"wikilog-form-status": "Статус:",
-	"wikilog-form-preview": "Преглед:",
-	"wikilog-form-comment": "Коментар:",
-	"wikilog-show-all": "Све поруке",
-	"wikilog-show-published": "Објављено",
-	"wikilog-show-drafts": "Нацрти",
-	"wikilog-submit": "Пошаљи",
-	"wikilog-preview": "Прегледај",
-	"wikilog-edit-lc": "уреди",
-	"wikilog-reply-lc": "одговори",
-	"wikilog-delete-lc": "обриши",
-	"wikilog-approve-lc": "одобри",
-	"wikilog-reject-lc": "одбаци",
-	"wikilog-page-lc": "страница",
-	"wikilog-history-lc": "историја"
-}
diff --git a/i18n/wikilog/sr-el.json b/i18n/wikilog/sr-el.json
deleted file mode 100644
index 54c3946..0000000
--- a/i18n/wikilog/sr-el.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Rancher"
-		]
-	},
-	"wikilog-new-item-go": "Napravi",
-	"wikilog-item-name": "Naziv članka:",
-	"wikilog-published": "Objavljeno",
-	"wikilog-updated": "Ažurirano",
-	"wikilog-draft": "Nacrt",
-	"wikilog-authors": "Autori",
-	"wikilog-title": "Naslov",
-	"wikilog-actions": "Radnje",
-	"wikilog-comments": "Komentari",
-	"wikilog-replies": "Odgovori",
-	"wikilog-view-archives": "Arhive",
-	"wikilog-view-summary": "Opis",
-	"wikilog-draft-title-mark": "(nacrt)",
-	"wikilog-anonymous-mark": "(anonimno)",
-	"wikilog-pager-newest": "najnovije",
-	"wikilog-pager-oldest": "najstarije",
-	"wikilog-pager-prev": "prethodno",
-	"wikilog-pager-next": "sledeće",
-	"wikilog-pager-first": "prvo",
-	"wikilog-pager-last": "poslednje",
-	"wikilog-pager-empty": "(nema sadržaja)",
-	"wikilog-no-comments": "nema komentara",
-	"wikilog-has-comments": "{{PLURAL:$1|jedan komentar|$1 komentara|$1 komentara}}",
-	"wikilog-summary-footer": "Poslao/-la $7 ka [[$1|$2]] na $8 u $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Poslao/-la $7 ka $8 u $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Nekategorisano",
-	"wikilog-summary-categories": "Zavedeno pod $2",
-	"wikilog-entry-footer": "— $7 • $9, $8 • $10",
-	"wikilog-simple-signature": "$1 ($2)",
-	"wikilog-edit-signpub": "Potpiši i objavi ovaj članak",
-	"wikilog-comment-footer": "— $2 • $5 $6",
-	"wikilog-comment-permalink": "$1 u $2",
-	"wikilog-comment-note-item": "poslato na $1",
-	"wikilog-comment-note-edited": "poslednje izmenjen na $1 u $2",
-	"wikilog-comment-anonsig": "$3 (anonimni)",
-	"wikilog-comment-pending": "Ovaj komentar čeka na odobrenje.",
-	"wikilog-comment-deleted": "Ovaj komentar je obrisan.",
-	"wikilog-comment-autosumm": "Novi komentar od člana $1: $2",
-	"wikilog-reply-to-comment": "Pošalji odgovor na ovaj komentar",
-	"wikilog-comment-page": "Idi na stranu ovog komentara",
-	"wikilog-comment-edit": "Izmeni ovaj komentar",
-	"wikilog-comment-delete": "Obriši ovaj komentar",
-	"wikilog-comment-history": "Vidi istoriju komentara",
-	"wikilog-comment-approve": "Odobri ovaj komentar (momentalna akcija)",
-	"wikilog-feed-title": "{{SITENAME}} – $1 [$2]",
-	"wikilog-feed-description": "Pročitaj najskorije unose u ovom fidu.",
-	"wikilog-comment-feed-title1": "Komentar od $2 (#$1)",
-	"wikilog-comment-feed-title2": "Komentar od $2 za $3 (#$1)",
-	"wikilog-title-item-full": "$1 – $2",
-	"wikilog-title-comments": "Komentari - $1",
-	"wikilog-invalid-param": "Neispravan parametar: $1.",
-	"wikilog-invalid-author": "Nepostojeći autor: $1.",
-	"wikilog-invalid-date": "Neispravan datum: $1.",
-	"wikilog-invalid-tag": "Neispravna oznaka: $1.",
-	"wikilog-invalid-file": "Neispravna datoteka: $1.",
-	"wikilog-file-not-found": "Nepostojeći fajl: $1.",
-	"wikilog-not-an-image": "Ovaj fajl nije slika: $1",
-	"wikilog-comment-is-empty": "Poslati komentar je prazan.",
-	"wikilog-comment-too-long": "Poslati komenar je predugačak.",
-	"wikilog-comment-invalid-name": "Dostavljeno ime je pogrešno.",
-	"wikilog-post-comment": "Pošalji novi komentar",
-	"wikilog-post-reply": "Pošalji novu repliku",
-	"wikilog-form-category": "Kategorija:",
-	"wikilog-form-name": "Ime:",
-	"wikilog-form-author": "Autor:",
-	"wikilog-form-tag": "Oznaka:",
-	"wikilog-form-date": "Datum:",
-	"wikilog-form-status": "Status:",
-	"wikilog-form-preview": "Pregled:",
-	"wikilog-form-comment": "Komentar:",
-	"wikilog-show-all": "Sve poruke",
-	"wikilog-show-published": "Objavljeno",
-	"wikilog-show-drafts": "Nacrti",
-	"wikilog-submit": "Pošalji",
-	"wikilog-preview": "Pregledaj",
-	"wikilog-edit-lc": "uredi",
-	"wikilog-reply-lc": "odgovori",
-	"wikilog-delete-lc": "obriši",
-	"wikilog-approve-lc": "odobri",
-	"wikilog-reject-lc": "odbaci",
-	"wikilog-page-lc": "strana",
-	"wikilog-history-lc": "istorija"
-}
diff --git a/i18n/wikilog/sv.json b/i18n/wikilog/sv.json
deleted file mode 100644
index 6cbbb77..0000000
--- a/i18n/wikilog/sv.json
+++ /dev/null
@@ -1,132 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Ainali",
-			"Dafer45",
-			"Elias Bröms",
-			"Jopparn",
-			"Ozp",
-			"Per",
-			"Tetraedycal"
-		]
-	},
-	"wikilog-desc": "Lägger till bloggfunktioner, skapar en wiki-blogg-hybrid.",
-	"wikilog-auto": "Wikilog Auto",
-	"wikilog-help": "{{ns:Help}}:Wikilogg",
-	"right-wl-postcomment": "Skriv kommentarer till wikilog-artiklar",
-	"right-wl-moderation": "Moderering av wikilog-artikelkommentarer",
-	"wikilog-specialwikilog-title": "Wikilog-bloggar",
-	"wikilog-log-pagename": "Wikilog händelselogg",
-	"wikilog-log-pagetext": "Nedan är en lista över wikilog-händelser.",
-	"wikilog-log-cmt-approve": "godkände kommentar [[$1]]",
-	"wikilog-log-cmt-reject": "avslog kommentar [[$1]]",
-	"wikilog-log-cmt-rejdel": "Avslog wikilog-kommentar från [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Wikilog-hantering",
-	"wikilog-missing-wikilog": "Detta är [[{{int:wikilog-help}}|wikilogsidan]] för [[{{FULLPAGENAME}}]].\n\nDenna wikilogg finns inte ännu.\nFör att publicera artiklar och aktivera andra wikilogegenskaper måste den först skapas.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Skapa denna wikilog].</span>",
-	"wikilog-information": "Wikilog-information",
-	"wikilog-post-count-published": "Det finns $1 {{PLURAL:$1|publicerad artikel|publicerade artiklar}} i denna wikilog,",
-	"wikilog-post-count-drafts": "plus $1 {{PLURAL:$1|opublicerad (utkast) artikel|opublicerade (utkast) artiklar}},",
-	"wikilog-post-count-all": "vilket ger totalt $1 {{PLURAL:$1|artikel|artiklar}}.",
-	"wikilog-new-item": "Skapa en ny wikilog-artikel",
-	"wikilog-new-item-go": "Skapa",
-	"wikilog-item-name": "Artikelnamn:",
-	"wikilog-published": "Publicerad",
-	"wikilog-updated": "Uppdaterad",
-	"wikilog-draft": "Utkast",
-	"wikilog-authors": "Författare",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "Titel",
-	"wikilog-actions": "Hantera",
-	"wikilog-comments": "Kommentarer",
-	"wikilog-replies": "Svar",
-	"wikilog-view-archives": "Arkiv",
-	"wikilog-view-summary": "Sammanfattning",
-	"wikilog-draft-title-mark": "(utkast)",
-	"wikilog-anonymous-mark": "(anonym)",
-	"wikilog-pager-newest": "senaste",
-	"wikilog-pager-oldest": "äldsta",
-	"wikilog-pager-prev": "föregående",
-	"wikilog-pager-next": "nästa",
-	"wikilog-pager-first": "första",
-	"wikilog-pager-last": "sista",
-	"wikilog-pager-empty": "(inga inlägg)",
-	"wikilog-no-comments": "inga kommentarer",
-	"wikilog-has-comments": "{{PLURAL:$1|en kommentar|$1 kommentarer}}",
-	"wikilog-summary-footer": "Skrivet av $7 på [[$1|$2]] den $8 klockan $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Skrivet av $7 den $8 klockan $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Okategoriserat",
-	"wikilog-summary-categories": "Lagrad under $2",
-	"wikilog-summary-more": "[[$3|→ fortsätt läsa...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|diskussion]])",
-	"wikilog-edit-hint": "Redigera wikilog-artikel: $1",
-	"wikilog-edit-fieldset-legend": "Wikilog-alternativ:",
-	"wikilog-edit-signpub": "Signera och publicera denna artikel",
-	"wikilog-edit-signpub-tooltip": "Gör att artiklar blir signerade och publicerade i sin wikilog när de sparas.\nAvmarkera denna box för att lämna artiklar som utkast.",
-	"wikilog-comment-permalink": "$1 kl. $2 ($3)",
-	"wikilog-comment-note-edited": "senast redigerad den $1 vid $2",
-	"wikilog-comment-anonsig": "$3 (anonym)",
-	"wikilog-comment-pending": "Denna kommentar väntar på godkännande.",
-	"wikilog-comment-deleted": "Denna kommentar har raderats.",
-	"wikilog-comment-autosumm": "Ny kommentar av $1: $2",
-	"wikilog-reply-to-comment": "Skriv ett svar till denna kommentar",
-	"wikilog-comment-page": "Gå till denna kommentars sida",
-	"wikilog-comment-edit": "Redigera denna kommentar",
-	"wikilog-comment-delete": "Radera denna kommentar",
-	"wikilog-comment-history": "Se kommentarshistorik",
-	"wikilog-comment-approve": "Godkänn denna kommentar (omedelbart utfört)",
-	"wikilog-comment-reject": "Avslå denna kommentar (omedelbart utfört)",
-	"wikilog-newtalk-summary": "skapad automatiskt av Wikilog",
-	"wikilog-feed-title": "{{SITENAME}} - $1 [$2]",
-	"wikilog-feed-ns-title": "$1 wikilog-artiklar",
-	"wikilog-feed-description": "Läs de senaste inläggen i denna feed.",
-	"wikilog-comment-feed-title1": "Kommentar av $2 (#$1)",
-	"wikilog-comment-feed-title2": "Kommentar av $2 till $3 (#$1)",
-	"wikilog-comment-feed-description": "Läs de senaste kommentarerna i denna feed.",
-	"wikilog-title-item-full": "$1 - $2",
-	"wikilog-title-comments": "Kommentarer - $1",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Wikilog fel",
-	"wikilog-invalid-param": "Felaktig parameter: $1.",
-	"wikilog-invalid-author": "Felaktig författare: $1.",
-	"wikilog-invalid-date": "Felaktigt datum: $1.",
-	"wikilog-invalid-tag": "Felaktig tagg: $1.",
-	"wikilog-invalid-file": "Felaktig fil: $1.",
-	"wikilog-file-not-found": "Ickeexisterande fil: $1.",
-	"wikilog-not-an-image": "Filen är inte en bild: $1.",
-	"wikilog-out-of-context": "Varning: Wikilog-taggar används utanför kontext. De ska endast användas i artiklar inom Wikilog-namnrymden.",
-	"wikilog-too-many-authors": "Varning: För många författare listas i detta wikilog-inlägg.",
-	"wikilog-too-many-tags": "Varning: För många taggar listas i detta wikilog-inlägg.",
-	"wikilog-comment-is-empty": "Kommentaren är tom.",
-	"wikilog-comment-too-long": "Kommentaren är för lång.",
-	"wikilog-comment-invalid-name": "Namnet godkänns inte.",
-	"wikilog-no-such-article": "Den efterfrågade wikilog-artikeln finns inte.",
-	"wikilog-reading-draft": "Denna wikilog-artikel är ett utkast, den har ännu inte pulicerats.",
-	"wikilog-posting-anonymously": "Du är för närvarande inte inloggad; din kommentar kommer att skickas anonymt, identifierad av din internetanslutningsadress. Du bör antingen ange en psudonym ovan för att identifiera din kommentar eller $1 för att den ska kopplas till dig korrekt.",
-	"wikilog-anonymous-moderated": "Efter att du har skickat din kommentar kommer den inte att synas omedelbart på den här sidan. Kommentaren syns först när den har godkänts av en moderator.",
-	"wikilog-post-comment": "Skriv en ny kommentar",
-	"wikilog-post-reply": "Skriv ett nytt svar",
-	"wikilog-form-legend": "Sök efter wikilog-inlägg",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Kategori:",
-	"wikilog-form-name": "Namn:",
-	"wikilog-form-author": "Författare:",
-	"wikilog-form-tag": "Tagg:",
-	"wikilog-form-date": "Datum:",
-	"wikilog-form-status": "Status:",
-	"wikilog-form-preview": "Förhandsgranska:",
-	"wikilog-form-comment": "Kommentar:",
-	"wikilog-show-all": "Alla inlägg",
-	"wikilog-show-published": "Publicerade",
-	"wikilog-show-drafts": "Utkast",
-	"wikilog-submit": "Spara",
-	"wikilog-preview": "Förhandsgranska",
-	"wikilog-edit-lc": "redigera",
-	"wikilog-reply-lc": "svara",
-	"wikilog-delete-lc": "radera",
-	"wikilog-approve-lc": "godkänn",
-	"wikilog-reject-lc": "avslå",
-	"wikilog-page-lc": "sida",
-	"wikilog-history-lc": "historia",
-	"wikilog-doc-import-comment": "Importerad Wikilog-dokumentatoin"
-}
diff --git a/i18n/wikilog/ta.json b/i18n/wikilog/ta.json
deleted file mode 100644
index 3713aad..0000000
--- a/i18n/wikilog/ta.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Karthi.dr",
-			"Shanmugamp7",
-			"TRYPPN",
-			"செல்வா"
-		]
-	},
-	"wikilog-new-item-go": "உருவாக்கவும்",
-	"wikilog-item-name": "கட்டுரையின் பெயர்:",
-	"wikilog-published": "வெளியிடப்பட்டது",
-	"wikilog-updated": "புதிப்பிக்கப்பட்டது",
-	"wikilog-draft": "வரைவு",
-	"wikilog-authors": "ஆசிரியர்கள்",
-	"wikilog-title": "தலைப்பு",
-	"wikilog-actions": "செயல்கள்",
-	"wikilog-comments": "கருத்துரைகள்",
-	"wikilog-replies": "பதில்கள்",
-	"wikilog-view-archives": "காப்பகங்கள்",
-	"wikilog-view-summary": "சுருக்கம்",
-	"wikilog-pager-newest": "புத்தம் புதிய",
-	"wikilog-pager-oldest": "மிகப் பழமையான",
-	"wikilog-pager-prev": "முந்தைய",
-	"wikilog-pager-next": "அடுத்தது",
-	"wikilog-pager-first": "முதல்",
-	"wikilog-pager-last": "கடைசி",
-	"wikilog-no-comments": "கருத்துக்கள் ஒன்றுமில்லை",
-	"wikilog-has-comments": "{{PLURAL:$1|ஒரு கருத்து|$1 கருத்துகள்}}",
-	"wikilog-reply-to-comment": "இக் கருத்துரைக்குப் பதிலளி",
-	"wikilog-comment-page": "கருத்துரையின் பக்கத்திற்குச் செல்",
-	"wikilog-comment-edit": "இக் கருத்துரையைத் தொகு",
-	"wikilog-comment-delete": "இக் கருத்துரையை நீக்கு",
-	"wikilog-comment-history": "கருத்துரை வரலாற்றைப் பார்",
-	"wikilog-comment-approve": "இக் கருத்துரையை ஏற்றுக்கொள் (உடனடி நடவடிக்கை)",
-	"wikilog-comment-reject": "இக் கருத்துரையைப் புறக்கணி  (உடனடி நடவடிக்கை)",
-	"wikilog-title-comments": "கருத்துரைகள்  - $1",
-	"wikilog-invalid-date": "செல்லாத தேதி : $1.",
-	"wikilog-invalid-file": "செல்லாத கோப்பு : $1.",
-	"wikilog-file-not-found": "இல்லாத கோப்பு : $1.",
-	"wikilog-not-an-image": "கோப்பு ஒரு படமன்று : $1.",
-	"wikilog-comment-is-empty": "கருத்துரை வெறுமையாக உள்ளது.",
-	"wikilog-comment-too-long": "கருத்துரை மிக நீளமாக உள்ளது.",
-	"wikilog-comment-invalid-name": "தரப்பட்ட பெயர் செல்லாது.",
-	"wikilog-form-category": "பகுப்பு:",
-	"wikilog-form-name": "பெயர்:",
-	"wikilog-form-author": "ஆசிரியர்:",
-	"wikilog-form-date": "தேதி:",
-	"wikilog-form-status": "நிலைமை:",
-	"wikilog-form-preview": "முன்தோற்றம்:",
-	"wikilog-form-comment": "கருத்து:",
-	"wikilog-show-drafts": "வரைவுகள்",
-	"wikilog-submit": "சமர்ப்பி",
-	"wikilog-preview": "முன்தோற்றம்",
-	"wikilog-edit-lc": "தொகு",
-	"wikilog-reply-lc": "மறுமொழி அளி",
-	"wikilog-delete-lc": "நீக்குக",
-	"wikilog-approve-lc": "ஒப்புதல் அளி",
-	"wikilog-reject-lc": "ஒதுக்கித் தள்ளு",
-	"wikilog-page-lc": "பக்கம்",
-	"wikilog-history-lc": "வரலாறு"
-}
diff --git a/i18n/wikilog/te.json b/i18n/wikilog/te.json
deleted file mode 100644
index 1e93a09..0000000
--- a/i18n/wikilog/te.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Chaduvari",
-			"Veeven"
-		]
-	},
-	"wikilog-specialwikilog-title": "వికీచిట్టాలు",
-	"wikilog-log-pagename": "వికీలాగ్ చర్యల చిట్టా",
-	"wikilog-log-pagetext": "ఇది వికీలాగ్ చర్యల యొక్క జాబితా.",
-	"wikilog-log-cmt-approve": "\"[[$1]]\" వ్యాఖ్యని అనుమతించారు",
-	"wikilog-log-cmt-reject": "\"[[$1]]\" వ్యాఖ్యని తిరస్కరించారు",
-	"wikilog-tab": "వికీచిట్టా",
-	"wikilog-tab-title": "వికీచిట్టా చర్యలు",
-	"wikilog-information": "వికీచిట్టా సమాచారం",
-	"wikilog-post-count-all": "మొత్తం మీద {{PLURAL:$1|ఒక వ్యాసం ఉంది|$1 వ్యాసాలు ఉన్నాయి}}.",
-	"wikilog-new-item-go": "సృష్టించు",
-	"wikilog-item-name": "వ్యాసపు పేరు:",
-	"wikilog-published": "ప్రచురితం",
-	"wikilog-authors": "రచయితలు",
-	"wikilog-wikilog": "వికీచిట్టా",
-	"wikilog-title": "శీర్షిక",
-	"wikilog-actions": "చర్యలు",
-	"wikilog-comments": "వ్యాఖ్యలు",
-	"wikilog-replies": "స్పందనలు",
-	"wikilog-view-summary": "సంగ్రహం",
-	"wikilog-draft-title-mark": "(ప్రతి)",
-	"wikilog-anonymous-mark": "(అజ్ఞాత)",
-	"wikilog-pager-newest": "కొత్తవి",
-	"wikilog-pager-oldest": "పాతవి",
-	"wikilog-pager-prev": "గత",
-	"wikilog-pager-next": "తర్వాతి",
-	"wikilog-pager-first": "మొదటి",
-	"wikilog-pager-last": "చివరి",
-	"wikilog-pager-empty": "(అంశాలు లేవు)",
-	"wikilog-no-comments": "వ్యాఖ్యలు లేవు",
-	"wikilog-has-comments": "{{PLURAL:$1|ఒక వ్యాఖ్య|$1 వ్యాఖ్యలు}}",
-	"wikilog-summary-uncategorized": "అవర్గీకృతం",
-	"wikilog-summary-more": "[[$3|→ చదవడం కొనసాగించండి...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|చర్చ]])",
-	"wikilog-edit-fieldset-legend": "వికీచిట్టా ఎంపికలు:",
-	"wikilog-edit-signpub": "సంతకం చేసి ఈ వ్యాసాన్ని ప్రచురించు",
-	"wikilog-comment-anonsig": "$3 (అజ్ఞాతం)",
-	"wikilog-comment-pending": "ఈ వ్యాఖ్య అనుమతి కోసం వేచియున్నది.",
-	"wikilog-comment-deleted": "ఈ వ్యాఖ్యని తొలగించారు.",
-	"wikilog-comment-autosumm": "$1 యొక్క కొత్త వ్యాఖ్య: $2",
-	"wikilog-reply-to-comment": "ఈ వ్యాఖ్యపై స్పందించండి",
-	"wikilog-comment-page": "ఈ వ్యాఖ్యా పేజీకి వెళ్ళు",
-	"wikilog-comment-edit": "ఈ వ్యాఖ్యను మార్చండి",
-	"wikilog-comment-delete": "ఈ వ్యాఖ్యని తొలగించు",
-	"wikilog-comment-history": "వ్యాఖ్య చరిత్రని చూడండి",
-	"wikilog-comment-approve": "ఈ వ్యాఖ్యని అనుమతించు (తక్షణ చర్య)",
-	"wikilog-comment-reject": "ఈ వ్యాఖ్యని తిరస్కరించు (తక్షణ చర్య)",
-	"wikilog-feed-description": "ఈ ఫీడులోని ఇటీవలి టపాలని చదవండి.",
-	"wikilog-title-comments": "వ్యాఖ్యలు - $1",
-	"wikilog-error-msg": "వికీచిట్టా: $1",
-	"wikilog-error-title": "వికీలాగ్ లోపం",
-	"wikilog-invalid-param": "చెల్లని పరామితి: $1.",
-	"wikilog-invalid-date": "తప్పుడు తేదీ: $1.",
-	"wikilog-invalid-file": "తప్పుడు ఫైలు: $1.",
-	"wikilog-comment-is-empty": "వ్రాసిన వ్యాఖ్య ఖాళీగా ఉంది.",
-	"wikilog-comment-too-long": "వ్రాసిన వ్యాఖ్య మరీ పెద్దగా ఉంది.",
-	"wikilog-comment-invalid-name": "ఇచ్చిన పేరు చెల్లదు.",
-	"wikilog-post-comment": "కొత్త వ్యాఖ్యని వ్రాయండి",
-	"wikilog-post-reply": "కొత్త స్పందనని వ్రాయండి",
-	"wikilog-form-wikilog": "వికీచిట్టా:",
-	"wikilog-form-category": "వర్గం:",
-	"wikilog-form-name": "పేరు:",
-	"wikilog-form-author": "రచయిత:",
-	"wikilog-form-date": "తేదీ:",
-	"wikilog-form-status": "స్థితి:",
-	"wikilog-form-preview": "మునుజూపు:",
-	"wikilog-form-comment": "వ్యాఖ్య:",
-	"wikilog-show-all": "అన్ని టపాలు",
-	"wikilog-show-published": "ప్రచురితం",
-	"wikilog-show-drafts": "చిత్తుప్రతులు",
-	"wikilog-submit": "దాఖలుచేయి",
-	"wikilog-preview": "మునుజూపు",
-	"wikilog-edit-lc": "మార్చు",
-	"wikilog-reply-lc": "స్పందించు",
-	"wikilog-delete-lc": "తొలగించు",
-	"wikilog-approve-lc": "అనుమతించు",
-	"wikilog-reject-lc": "తిరస్కరించు",
-	"wikilog-page-lc": "పేజీ",
-	"wikilog-history-lc": "చరిత్ర"
-}
diff --git a/i18n/wikilog/tet.json b/i18n/wikilog/tet.json
deleted file mode 100644
index 3cf796e..0000000
--- a/i18n/wikilog/tet.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"MF-Warburg"
-		]
-	},
-	"wikilog-authors": "Autór sira",
-	"wikilog-view-archives": "Arkivu sira",
-	"wikilog-view-summary": "Rezumu",
-	"wikilog-form-category": "Kategoria:",
-	"wikilog-form-name": "Naran:",
-	"wikilog-form-author": "Autór:",
-	"wikilog-edit-lc": "edita",
-	"wikilog-page-lc": "pájina",
-	"wikilog-history-lc": "istória"
-}
diff --git a/i18n/wikilog/tk.json b/i18n/wikilog/tk.json
deleted file mode 100644
index a502d4b..0000000
--- a/i18n/wikilog/tk.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Hanberke"
-		]
-	},
-	"wikilog-auto": "Wikilog Awto",
-	"wikilog-specialwikilog-title": "Wikiloglar",
-	"wikilog-tab": "Wikilog",
-	"wikilog-tab-title": "Wikilog hereketleri",
-	"wikilog-new-item-go": "Döret",
-	"wikilog-item-name": "Makala ady:",
-	"wikilog-published": "Neşir",
-	"wikilog-updated": "Täzelenen",
-	"wikilog-draft": "Garalama",
-	"wikilog-authors": "Awtorlar",
-	"wikilog-wikilog": "Wikilog",
-	"wikilog-title": "At",
-	"wikilog-actions": "Hereketler",
-	"wikilog-comments": "Teswirler",
-	"wikilog-replies": "Jogaplar",
-	"wikilog-view-archives": "Arhiwler",
-	"wikilog-view-summary": "Düşündiriş",
-	"wikilog-draft-title-mark": "(garalama)",
-	"wikilog-anonymous-mark": "(anonim)",
-	"wikilog-pager-prev": "öňki",
-	"wikilog-error-msg": "Wikilog: $1",
-	"wikilog-error-title": "Wikilog säwligi",
-	"wikilog-invalid-param": "Nädogry parametr: $1.",
-	"wikilog-invalid-author": "Nädogry awtor: $1.",
-	"wikilog-invalid-date": "Nädogry sene: $1.",
-	"wikilog-invalid-tag": "Nädogry teg: $1.",
-	"wikilog-invalid-file": "Nädogry faýl: $1.",
-	"wikilog-file-not-found": "Ýok faýl: $1.",
-	"wikilog-not-an-image": "Faýl surat däl: $1.",
-	"wikilog-form-wikilog": "Wikilog:",
-	"wikilog-form-category": "Kategoriýa:",
-	"wikilog-form-name": "At:",
-	"wikilog-form-author": "Awtor:",
-	"wikilog-form-tag": "Teg:",
-	"wikilog-form-date": "Sene:",
-	"wikilog-form-status": "Status:",
-	"wikilog-form-preview": "Deslapky syn:",
-	"wikilog-form-comment": "Teswir:",
-	"wikilog-show-all": "Ähli ibermeler",
-	"wikilog-show-published": "Neşir edilen",
-	"wikilog-show-drafts": "Garalamalar",
-	"wikilog-submit": "Tabşyr",
-	"wikilog-preview": "Deslapky syn",
-	"wikilog-edit-lc": "redaktirle",
-	"wikilog-reply-lc": "jogap ber",
-	"wikilog-delete-lc": "öçür",
-	"wikilog-approve-lc": "tassykla",
-	"wikilog-reject-lc": "ret et",
-	"wikilog-page-lc": "sahypa",
-	"wikilog-history-lc": "geçmiş"
-}
diff --git a/i18n/wikilog/tl.json b/i18n/wikilog/tl.json
deleted file mode 100644
index 58937ab..0000000
--- a/i18n/wikilog/tl.json
+++ /dev/null
@@ -1,131 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"AnakngAraw"
-		]
-	},
-	"wikilog-desc": "Nagdaragdag ng mga kasangkapang-katangiang pamblog, lumilikha ng isang haybrid na wiki-blog",
-	"wikilog-auto": "Kusang Wiki-tala",
-	"wikilog-help": "{{ns:Help}}:Wiki-tala",
-	"right-wl-postcomment": "Magpaskil ng mga puna sa mga artikulo ng wiki-tala",
-	"right-wl-moderation": "Pangangasiwa ng mga puna sa artikulo ng wiki-tala",
-	"wikilog-specialwikilog-title": "Mga wiki-tala",
-	"wikilog-log-pagename": "Tala ng mga galaw sa Wiki-tala",
-	"wikilog-log-pagetext": "Nasa ibaba ang isang talaan ng mga galaw sa wiki-tala.",
-	"wikilog-log-cmt-approve": "pinayagang puna \"[[$1]]\"",
-	"wikilog-log-cmt-reject": "tinanggihang puna \"[[$1]]\"",
-	"wikilog-log-cmt-rejdel": "Tinanggihang puna sa wiki-tala mula sa [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Wiki-tala",
-	"wikilog-tab-title": "Mga galaw sa wiki-tala",
-	"wikilog-missing-wikilog": "Ito ang pahinang [[{{int:wikilog-help}}|wikilog]] para sa [[{{FULLPAGENAME}}]].\n\nHindi pa umiiral ang wikilog na ito.\nUpang makapaglathala ng mga artikulo at paganahin ang iba pang mga kasangkapang-katangian, kailangang likhain muna ito.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Likhain ang wikilog na ito].</span>",
-	"wikilog-information": "Kabatiran sa wiki-tala",
-	"wikilog-post-count-published": "Mayroong {{PLURAL:$1|isang nalathalang artikulo|mga $1 nalathalang mga artikulo}} sa wikilog na ito",
-	"wikilog-post-count-drafts": "Mayroong {{PLURAL:$1|isang hindi pa nalalathalang (balangkas) artikulo|mga $1 hindi pa nalalathalang (balangkas) mga artikulo}}",
-	"wikilog-post-count-all": "Sa kabuuan mayroong {{PLURAL:$1|isang artikulo|mga $1 artikulo}}.",
-	"wikilog-new-item": "Lumikha ng bagong artikulo ng wiki-tala",
-	"wikilog-new-item-go": "Likhain",
-	"wikilog-item-name": "Pangalan ng artikulo:",
-	"wikilog-published": "Nalathala na",
-	"wikilog-updated": "Naisapanahon na",
-	"wikilog-draft": "Balangkas",
-	"wikilog-authors": "Mga may-akda",
-	"wikilog-wikilog": "Wiki-tala",
-	"wikilog-title": "Pamagat",
-	"wikilog-actions": "Mga galaw",
-	"wikilog-comments": "Mga puna",
-	"wikilog-replies": "Mga tugon",
-	"wikilog-view-archives": "Mga sinupan",
-	"wikilog-view-summary": "Buod",
-	"wikilog-draft-title-mark": "(balangkas)",
-	"wikilog-anonymous-mark": "(hindi kilala)",
-	"wikilog-pager-newest": "pinakabago",
-	"wikilog-pager-oldest": "pinakaluma",
-	"wikilog-pager-prev": "nakaraan",
-	"wikilog-pager-next": "susunod",
-	"wikilog-pager-first": "una",
-	"wikilog-pager-last": "huli",
-	"wikilog-pager-empty": "(walang mga bagay)",
-	"wikilog-no-comments": "walang mga puna",
-	"wikilog-has-comments": "{{PLURAL:$1|isang puna|$1 mga puna}}",
-	"wikilog-summary-footer": "Ipinaskil ni $7 sa [[$1|$2]] noong $8 noong $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Ipinaskil ni $7 noong $8 noong $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Walang kategorya",
-	"wikilog-summary-categories": "Isinalansan sa ilalim ng $2",
-	"wikilog-summary-more": "[[$3|→ ipagpatuloy ang pagbabasa...]]",
-	"wikilog-entry-footer": "— $7 • $9, $8 • $10",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|usapan]])",
-	"wikilog-simple-signature": "$1 ($2)",
-	"wikilog-edit-hint": "Baguhin ang artikulo ng wikilog: $1",
-	"wikilog-edit-fieldset-legend": "Mga pagpipilian sa wiki-tala:",
-	"wikilog-edit-signpub": "Lagdaan at ilathala ang artikulong ito",
-	"wikilog-edit-signpub-tooltip": "Nagdurulot sa artikulong ito na malagdaan at malathala sa kanyang wikilog kapag nasagip.\nHuwag tsekan ang kahong ito upang mapanatili ang artikulo bilang isang balangkas.",
-	"wikilog-comment-footer": "— $2 • $5 $6",
-	"wikilog-comment-permalink": "$1 noong $2",
-	"wikilog-comment-note-item": "ipinaskil sa $1",
-	"wikilog-comment-note-edited": "huling nabago noong $1 noong $2",
-	"wikilog-comment-anonsig": "$3 (hindi kilala)",
-	"wikilog-comment-pending": "Naghihintay ng pahintulot ang punang ito.",
-	"wikilog-comment-deleted": "Nabura ang punang ito.",
-	"wikilog-comment-omitted-x": "Tinanggal na puna (#$1).",
-	"wikilog-comment-autosumm": "Bagong puna ni $1: $2",
-	"wikilog-reply-to-comment": "Magpaskil ng isang tugon sa punang ito",
-	"wikilog-comment-page": "Pumunta sa pahina ng punang ito",
-	"wikilog-comment-edit": "Baguhin ang punang ito",
-	"wikilog-comment-delete": "Burahin ang punang ito",
-	"wikilog-comment-history": "Tingnan ang kasaysayan ng puna",
-	"wikilog-comment-approve": "Payagan ang punang ito (mabilis na kilos)",
-	"wikilog-comment-reject": "Tanggihan ang punang ito (mabilis na kilos)",
-	"wikilog-newtalk-summary": "kusang nilikha ng Wiki-tala",
-	"wikilog-feed-title": "{{SITENAME}} - $1 [$2]",
-	"wikilog-feed-ns-title": "$1 mga artikulo ng wikilog",
-	"wikilog-feed-description": "Basahin ang pinaka kamakailang mga pagpapaskil na nasa loob ng pakaing ito.",
-	"wikilog-comment-feed-title1": "Puna ni $2 (#$1)",
-	"wikilog-comment-feed-title2": "Puna ni $2 sa $3 (#$1)",
-	"wikilog-comment-feed-description": "Basahin ang pinaka kamakailang mga puna sa pakaing ito.",
-	"wikilog-title-item-full": "$1 - $2",
-	"wikilog-title-comments": "Mga puna - $1",
-	"wikilog-error-msg": "Wiki-tala: $1",
-	"wikilog-error-title": "Kamalian sa Wiki-tala",
-	"wikilog-invalid-param": "Hindi tanggap na parametro: $1.",
-	"wikilog-invalid-author": "Hindi tanggap na may-akda: $1.",
-	"wikilog-invalid-date": "Hindi tanggap na petsa: $1.",
-	"wikilog-invalid-tag": "Hindi tanggap na tatak: $1",
-	"wikilog-invalid-file": "Hindi tanggap na talaksan: $1.",
-	"wikilog-file-not-found": "Hindi umiiral na talaksan: $1.",
-	"wikilog-not-an-image": "Hindi isang larawan ang talaksan: $1.",
-	"wikilog-out-of-context": "Babala: Ang mga pantatak ng Wikilog ay ginagamit sa labas ng diwa.\nDapat lamang silang gamitin sa loob ng mga artikulong nasa puwang na pampangalan ng Wikilog.",
-	"wikilog-too-many-authors": "Babala: Napakaraming mga may-akdang nakatala sa loob ng paskil na ito sa wikilog.",
-	"wikilog-too-many-tags": "Babala: Napakaraming mga tatak na nakatala sa loob ng paskil na ito sa wikilog.",
-	"wikilog-comment-is-empty": "Walang lamang ang ipinaskil na puna.",
-	"wikilog-comment-too-long": "Napakahaba ng ipinaskil na puna.",
-	"wikilog-comment-invalid-name": "Hindi tanggap ang ibinigay na pangalan.",
-	"wikilog-no-such-article": "Hindi umiiral ang hiniling na artikulo ng wikilog.",
-	"wikilog-reading-draft": "Ang artikulong ito sa wikilog ay isang balangkas, hindi pa ito nalalathala.",
-	"wikilog-posting-anonymously": "Kasalukuuyang hindi ka pa nakalagda;\nang puna mo ay ipapaskil nang walang pagpapakilala; na kinilala sa pamamagitan ng iyong tirahan ng ugnay sa Internet.\nDapat kang magbigay ng isang bansag sa itaas upang makilala ang iyong puna o $1 para ito angkop na  mapatungkulan.",
-	"wikilog-anonymous-moderated": "Pagkaraang maipasa ang puna mo, hindi ito kaagad na makikita sa pahinang ito.\nLilitaw lamang ang puna pagkaraang masuri ito ng isang tagapamagitan.",
-	"wikilog-post-comment": "Magpaskil ng isang bagong puna",
-	"wikilog-post-reply": "Magpaskil ng isang bagong tugon",
-	"wikilog-form-legend": "Maghanap ng mga pagpapaskil sa wiki-tala",
-	"wikilog-form-wikilog": "Wiki-tala:",
-	"wikilog-form-category": "Kategorya:",
-	"wikilog-form-name": "Pangalan:",
-	"wikilog-form-author": "May-akda:",
-	"wikilog-form-tag": "Tatak:",
-	"wikilog-form-date": "Petsa:",
-	"wikilog-form-status": "Katayuan:",
-	"wikilog-form-preview": "Paunang tingin:",
-	"wikilog-form-comment": "Puna:",
-	"wikilog-show-all": "Lahat ng mga pagpapaskil",
-	"wikilog-show-published": "Nailathala na",
-	"wikilog-show-drafts": "Mga balangkas",
-	"wikilog-submit": "Ipasa",
-	"wikilog-preview": "Paunang tingin",
-	"wikilog-edit-lc": "baguhin",
-	"wikilog-reply-lc": "tumugon",
-	"wikilog-delete-lc": "burahin",
-	"wikilog-approve-lc": "payagan",
-	"wikilog-reject-lc": "tanggihan",
-	"wikilog-page-lc": "pahina",
-	"wikilog-history-lc": "kasaysayan",
-	"wikilog-doc-import-comment": "Inangkata na dokumentasyon ng Wiki-tala"
-}
diff --git a/i18n/wikilog/tly.json b/i18n/wikilog/tly.json
deleted file mode 100644
index 29459d6..0000000
--- a/i18n/wikilog/tly.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Erdemaslancan"
-		]
-	},
-	"wikilog-comments": "Мындәриҹот"
-}
diff --git a/i18n/wikilog/tr.json b/i18n/wikilog/tr.json
deleted file mode 100644
index ce0a2d0..0000000
--- a/i18n/wikilog/tr.json
+++ /dev/null
@@ -1,124 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Emperyan",
-			"Homonihilis",
-			"Incelemeelemani",
-			"Manco Capac",
-			"Rapsar",
-			"Universal Life",
-			"Vito Genovese"
-		]
-	},
-	"wikilog-desc": "Bir viki-blog karması oluşturarak blog tutma özellikleri eklemektedir",
-	"wikilog-auto": "Vikikayıt Otomatik",
-	"wikilog-help": "{{ns:Help}}:Vikikayıt",
-	"right-wl-postcomment": "Vikikayıt maddelerine yorum gönderir",
-	"right-wl-moderation": "Vikikayıt madde yorumlarının moderasyonu",
-	"wikilog-specialwikilog-title": "Vikiloglar",
-	"wikilog-log-pagename": "Vikikayıt işlem günlüğü",
-	"wikilog-log-pagetext": "Aşağıda vikilog hareketlerinin bir listesini bulabilirsiniz.",
-	"wikilog-log-cmt-approve": "onaylanan yorum \"[[$1]]\"",
-	"wikilog-log-cmt-reject": "reddedilen yorum \"[[$1]]\"",
-	"wikilog-log-cmt-rejdel": "[[Special:Contributions/$1|$1]] tarafından yapılan reddedilmiş vikikayıt yorumu",
-	"wikilog-tab": "Vikilog",
-	"wikilog-tab-title": "Vikilog hareketleri",
-	"wikilog-missing-wikilog": "Bu, [[{{FULLPAGENAME}}]] için [[{{int:wikilog-help}}|vikikayıt]] sayfasıdır.\n\nBu vikikayıt henüz mevcut değil.\nMadde yayımlamak ve diğer vikikayıt özelliklerini etkinleştirmek için, ilk önce oluşturulması gerekmektedir.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Bu vikikaydı oluştur].</span>",
-	"wikilog-information": "Vikilog bilgisi",
-	"wikilog-post-count-published": "Bu vikikayıtta {{PLURAL:$1|yayımlanmış bir madde|yayımlanmış $1 madde}} mevcut",
-	"wikilog-post-count-drafts": "There {{PLURAL:$1|is one unpublished (draft) article|are $1 unpublished (draft) articles}}",
-	"wikilog-post-count-all": "Toplamda {{PLURAL:$1|bir madde|$1 madde}} mevcut.",
-	"wikilog-new-item": "Yeni vikikayıt maddesi oluştur",
-	"wikilog-new-item-go": "Yarat",
-	"wikilog-item-name": "Madde adı:",
-	"wikilog-published": "Yayınlandı",
-	"wikilog-updated": "Güncellendi",
-	"wikilog-draft": "Taslak",
-	"wikilog-authors": "Katkıda bulunanlar",
-	"wikilog-wikilog": "Vikilog",
-	"wikilog-title": "Başlık",
-	"wikilog-actions": "Hareketler",
-	"wikilog-comments": "Yorumlar",
-	"wikilog-replies": "Yanıtlar",
-	"wikilog-view-archives": "Arşiv",
-	"wikilog-view-summary": "Özet",
-	"wikilog-draft-title-mark": "(taslak)",
-	"wikilog-anonymous-mark": "(anonim)",
-	"wikilog-pager-newest": "en yeni",
-	"wikilog-pager-oldest": "en eski",
-	"wikilog-pager-prev": "önceki",
-	"wikilog-pager-next": "sonraki",
-	"wikilog-pager-first": "ilk",
-	"wikilog-pager-last": "son",
-	"wikilog-pager-empty": "(öğe yok)",
-	"wikilog-no-comments": "yorum yok",
-	"wikilog-has-comments": "{{PLURAL:$1|bir yorum|$1 yorum}}",
-	"wikilog-summary-footer": "$7 tarafından, $8 tarihinde saat $9 ($15)'da, [[$1|$2]]'ya gönderilmiştir. ($10)",
-	"wikilog-summary-footer-single": "$7 tarafından, $8 tarihinde saat $9 ($15)'da gönderilmiştir. ($10)",
-	"wikilog-summary-uncategorized": "Kategorilenmemiş",
-	"wikilog-summary-categories": "$2 altına yerleştirilmiştir",
-	"wikilog-summary-more": "[[$3|→ okumaya devam edin...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|tartışma]])",
-	"wikilog-edit-hint": "Wikilog maddesini düzenleyin: $1",
-	"wikilog-edit-fieldset-legend": "Vikikayıt seçenekleri:",
-	"wikilog-edit-signpub": "Bu maddeyi imzala ve yayınla",
-	"wikilog-edit-signpub-tooltip": "Kaydedildiğinde bu maddenin imzalanmasını ve vikikaydında yayımlanmasını sağlar.  \nBu maddeyi taslak olarak tutmak için bu kutunun seçimini kaldırın.",
-	"wikilog-comment-anonsig": "$3 (anonim)",
-	"wikilog-comment-pending": "Bu yorum onay beklemektedir.",
-	"wikilog-comment-deleted": "Bu yorum silindi.",
-	"wikilog-comment-autosumm": "$1 tarafından yapılan yeni yorum: $2",
-	"wikilog-reply-to-comment": "Bu yorumu yanıtla.",
-	"wikilog-comment-page": "Bu yorumun sayfasına git.",
-	"wikilog-comment-edit": "Bu yoruma ekleme yap",
-	"wikilog-comment-delete": "Bu yorumu sil",
-	"wikilog-comment-history": "Yorum geçmişini göter",
-	"wikilog-comment-approve": "Bu yorumu onayla (ivedi işlem)",
-	"wikilog-comment-reject": "Bu yorumu reddet (ivedi işlem)",
-	"wikilog-newtalk-summary": "Vikilog tarafından otomatik olarak yaratıldı",
-	"wikilog-feed-description": "Bu beslemedeki en son gönderileri oku.",
-	"wikilog-title-comments": "Yorumlar - $1",
-	"wikilog-error-msg": "Vikilog: $1",
-	"wikilog-error-title": "Vikilog hatası",
-	"wikilog-invalid-param": "Geçersiz parametre: $1.",
-	"wikilog-invalid-author": "Geçersiz kullanıcı: $1.",
-	"wikilog-invalid-date": "Geçersiz tarih: $1.",
-	"wikilog-invalid-tag": "Geçersiz etiket: $1.",
-	"wikilog-invalid-file": "Geçersiz dosya: $1.",
-	"wikilog-file-not-found": "Bulunmayan dosya: $1.",
-	"wikilog-not-an-image": "Dosya bir resim değil: $1.",
-	"wikilog-out-of-context": "Uyarı: Vikikayıt etiketleri bağlam dışında kullanılıyor.\nSadece Vikilog isim alanındaki maddelerde kullanılmaları gerekir.",
-	"wikilog-too-many-authors": "Uyarı: Vikilog gönderisinde çok fazla yazar listelenmiş durumda.",
-	"wikilog-too-many-tags": "Uyarı: Bu vikikayıt gönderisinde listelenmiş çok fazla etiket mevcut.",
-	"wikilog-comment-is-empty": "Gönderilen yorum boş.",
-	"wikilog-comment-too-long": "Gönderilen yorum çok uzun.",
-	"wikilog-comment-invalid-name": "Verilen isim geçerli değil.",
-	"wikilog-no-such-article": "İstenen vikikayıt maddesi mevcut değil.",
-	"wikilog-reading-draft": "Bu vikilog maddesi bir taslak, henüz yayımlanmadı.",
-	"wikilog-posting-anonymously": "Şu anda oturum açmamış durumdasınız;\nyorumunuz anonim olarak gönderildi ve İnternet bağlantı adresinizle tanımlanacak şekilde düzenlendi.\nYorumunuzu tanımlamak için ya yukarıya bir takma ad girmeli ya da uygun şekilde atıfta bulunulması için $1 sayfasını kullanmalısınız.",
-	"wikilog-anonymous-moderated": "Yorumunuzu gönderdikten sonra bu sayfada hemen görünür olmayacak.\nYorum, bir moderatör tarafından incelendikten sonra görülecek.",
-	"wikilog-post-comment": "Yeni bir yorum gönder",
-	"wikilog-post-reply": "Yeni bir cevap gönder",
-	"wikilog-form-legend": "Vikikayıt gönderilerini ara",
-	"wikilog-form-wikilog": "Vikikayıt:",
-	"wikilog-form-category": "Kategori:",
-	"wikilog-form-name": "Ad:",
-	"wikilog-form-author": "Yazar:",
-	"wikilog-form-tag": "Etiket:",
-	"wikilog-form-date": "Tarih:",
-	"wikilog-form-status": "Durum:",
-	"wikilog-form-preview": "Ön İzleme:",
-	"wikilog-form-comment": "Yorum:",
-	"wikilog-show-all": "Tüm gönderiler",
-	"wikilog-show-published": "Yayımlandı",
-	"wikilog-show-drafts": "Taslaklar",
-	"wikilog-submit": "Gönder",
-	"wikilog-preview": "Önizleme",
-	"wikilog-edit-lc": "değiştir",
-	"wikilog-reply-lc": "cevap ver",
-	"wikilog-delete-lc": "sil",
-	"wikilog-approve-lc": "onayla",
-	"wikilog-reject-lc": "reddet",
-	"wikilog-page-lc": "sayfa",
-	"wikilog-history-lc": "geçmiş",
-	"wikilog-doc-import-comment": "İçe aktarılan Vikikayıt belgelemesi"
-}
diff --git a/i18n/wikilog/tt-cyrl.json b/i18n/wikilog/tt-cyrl.json
deleted file mode 100644
index 4dbf854..0000000
--- a/i18n/wikilog/tt-cyrl.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Timming"
-		]
-	},
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|бəхəс]])"
-}
diff --git a/i18n/wikilog/tzm.json b/i18n/wikilog/tzm.json
deleted file mode 100644
index 69a5ca6..0000000
--- a/i18n/wikilog/tzm.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Tifinaghes"
-		]
-	},
-	"wikilog-history-lc": "ⴰⵎⵣⵔⵓⵢ"
-}
diff --git a/i18n/wikilog/uk.json b/i18n/wikilog/uk.json
deleted file mode 100644
index 6df24d2..0000000
--- a/i18n/wikilog/uk.json
+++ /dev/null
@@ -1,135 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"AS",
-			"Aleksandrit",
-			"Alex Khimich",
-			"Arturyatsko",
-			"Base",
-			"JenVan",
-			"Prima klasy4na",
-			"Riwnodennyk",
-			"Ата",
-			"Тест"
-		]
-	},
-	"wikilog-desc": "Додає можливість ведення блоґів, створення гібрида вікі та блоґу",
-	"wikilog-auto": "Вікілог Авто",
-	"wikilog-help": "{{ns:Help}}:Вікілоґ",
-	"right-wl-postcomment": "залишати коментарі до сторінок вікілогу",
-	"right-wl-moderation": "Модерувати коментарі до статей вікілоґу",
-	"wikilog-specialwikilog-title": "Викилоги",
-	"wikilog-log-pagename": "Журнал дій вікілоґу",
-	"wikilog-log-pagetext": "Нижче наведено список дій вікілоґу.",
-	"wikilog-log-cmt-approve": "затвердив коментар «[[$1]]»",
-	"wikilog-log-cmt-reject": "відхилив коментар «[[$1]]»",
-	"wikilog-log-cmt-rejdel": "Відхилено коментар вікілоґу від [[Special:Contributions/$1|$1]]",
-	"wikilog-tab": "Вікілоґ",
-	"wikilog-tab-title": "Дії вікілога",
-	"wikilog-missing-wikilog": "Це сторінка [[{{int:wikilog-help}}|вікіжурналу]] для [[{{FULLPAGENAME}}]].\n\nЦей вікіжурнал іще не існує.\nЩоб публікувати статті та ввімкнути інші функції вікіжурналу, його треба спочатку створити.\n\n* <span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} Створити цей вікіжурнал].</span>",
-	"wikilog-information": "Інформація про вікілоґ",
-	"wikilog-post-count-published": "У цьому вікіжурналі {{PLURAL:$1|опублікована одна стаття|опубліковано $1 статті|опубліковано $1 статей}}",
-	"wikilog-post-count-drafts": "Є {{PLURAL:$1|$1 неопублікована стаття‐чернетка|$1 неопубліковані статті‐чернетки|$1 неопублікованих статей‐чернеток}}",
-	"wikilog-post-count-all": "Усього є {{PLURAL:$1|$1 стаття|$1 статті|$1 статей}}.",
-	"wikilog-new-item": "Створити нову статтю вікілога",
-	"wikilog-new-item-go": "Створити",
-	"wikilog-item-name": "Назва статті:",
-	"wikilog-published": "Опублікована",
-	"wikilog-updated": "Оновлена",
-	"wikilog-draft": "Чернетка",
-	"wikilog-authors": "Автори",
-	"wikilog-wikilog": "Вікілоґ",
-	"wikilog-title": "Назва",
-	"wikilog-actions": "Дії",
-	"wikilog-comments": "Коментарі",
-	"wikilog-replies": "Відповіді",
-	"wikilog-view-archives": "Архіви",
-	"wikilog-view-summary": "Опис",
-	"wikilog-draft-title-mark": "(чернетка)",
-	"wikilog-anonymous-mark": "(анонім)",
-	"wikilog-pager-newest": "найновіші",
-	"wikilog-pager-oldest": "найдавніші",
-	"wikilog-pager-prev": "попередня",
-	"wikilog-pager-next": "наступна",
-	"wikilog-pager-first": "перша",
-	"wikilog-pager-last": "остання",
-	"wikilog-pager-empty": "(немає елементів)",
-	"wikilog-no-comments": "немає коментарів",
-	"wikilog-has-comments": "$1 {{PLURAL:$1|коментар|коментарі|коментарів}}",
-	"wikilog-summary-footer": "Опубліковано $7 у [[$1|$2]] $8 о $9 ($15), $10.",
-	"wikilog-summary-footer-single": "Опубліковано $7 $8 о $9 ($15), $10.",
-	"wikilog-summary-uncategorized": "Некатегоризовані",
-	"wikilog-summary-categories": "Відноситься до $2",
-	"wikilog-summary-more": "[[$3|→ продовжити читання…]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|обговорення]])",
-	"wikilog-edit-hint": "Редагувати статтю вікіжурналу: $1",
-	"wikilog-edit-fieldset-legend": "Опції вікілогу:",
-	"wikilog-edit-signpub": "Підписати та опублікувати цю статтю",
-	"wikilog-edit-signpub-tooltip": "Стаття буде підписана і опублікована у вікіжурналі після збереження.\nЗніміть цю галочку, щоб зберегти статтю як чернетку.",
-	"wikilog-comment-permalink": "$1 о $2",
-	"wikilog-comment-note-item": "опубліковано в $1",
-	"wikilog-comment-note-edited": "останнє редагування $1 о $2",
-	"wikilog-comment-anonsig": "$3 (анонім)",
-	"wikilog-comment-pending": "Цей коментар чекає на розгляд.",
-	"wikilog-comment-deleted": "Цей коментар був вилучений.",
-	"wikilog-comment-omitted-x": "Коментар не вказаний (#$1).",
-	"wikilog-comment-autosumm": "Новий коментар від $1: $2",
-	"wikilog-reply-to-comment": "Відповісти на цей коментар",
-	"wikilog-comment-page": "Перейти на сторінку цього коментарю",
-	"wikilog-comment-edit": "Змінити цей коментар",
-	"wikilog-comment-delete": "Вилучити цей коментар",
-	"wikilog-comment-history": "Переглянути історію коментаря",
-	"wikilog-comment-approve": "Затвердити цей коментар (негайна дія)",
-	"wikilog-comment-reject": "Відхилити цей коментар (негайна дія)",
-	"wikilog-newtalk-summary": "створена автоматично Вікілогом",
-	"wikilog-feed-ns-title": "$1 статтей вікілогу",
-	"wikilog-feed-description": "Читати останні повідомлення на цьому каналі.",
-	"wikilog-comment-feed-title1": "Коментар від $2 (#$1)",
-	"wikilog-comment-feed-title2": "Коментар від $2 до $3 (#$1)",
-	"wikilog-comment-feed-description": "Читати самі останні коментарі в цьому каналі.",
-	"wikilog-title-comments": "Коментарі — $1",
-	"wikilog-error-msg": "Вікілоґ: $1",
-	"wikilog-error-title": "Помилка вікілогу",
-	"wikilog-invalid-param": "Неправильний параметр: $1.",
-	"wikilog-invalid-author": "Неправильне ім’я автора: $1.",
-	"wikilog-invalid-date": "Недійсна дата: $1.",
-	"wikilog-invalid-tag": "Недійсний ярлик: $1.",
-	"wikilog-invalid-file": "Недійсний файл: $1.",
-	"wikilog-file-not-found": "Неіснуючий файл: $1.",
-	"wikilog-not-an-image": "Файл не є зображенням: $1.",
-	"wikilog-out-of-context": "Увага: Мітки вікіжурналу використовуються поза контекстом.\nЇх треба використовувати лише у статтях в просторі назв вікіжурналу.",
-	"wikilog-too-many-authors": "Увага: Забагато авторів перераховано у цьому дописі вікіжурналу.",
-	"wikilog-too-many-tags": "Увага: Забагато міток перераховано у цьому дописі вікіжурналу.",
-	"wikilog-comment-is-empty": "Відправлений коментар порожній.",
-	"wikilog-comment-too-long": "Відправлений коментар занадто довгий.",
-	"wikilog-comment-invalid-name": "Вказане ім'я не є допустимим.",
-	"wikilog-no-such-article": "Запитувана стаття вікіжурналу не існує.",
-	"wikilog-reading-draft": "Ця стаття вікіжурналу — чернетка, вона ще не збережена.",
-	"wikilog-posting-anonymously": "Зараз Ви ще не ввішли в систему;\nВаш коментар буде опубліковано анонімно й ідентифіковано за адресою інтернет-підключення.\nВам слід або вказати псевдонім угорі, або $1, щоб бути вказаним як автор.",
-	"wikilog-anonymous-moderated": "Після того, як Ви надішлете свій коментар, він не одразу буде видимим на цій сторінці.\nКоментар з'явиться лише після розгляду модератором.",
-	"wikilog-post-comment": "Додати новий коментар",
-	"wikilog-post-reply": "Додати нову відповідь",
-	"wikilog-form-legend": "Шукати серед повідомлень вікілоґу",
-	"wikilog-form-wikilog": "Вікілоґ:",
-	"wikilog-form-category": "Категорія:",
-	"wikilog-form-name": "Назва:",
-	"wikilog-form-author": "Автор:",
-	"wikilog-form-tag": "Мітка:",
-	"wikilog-form-date": "Дата:",
-	"wikilog-form-status": "Стан:",
-	"wikilog-form-preview": "Попередній перегляд:",
-	"wikilog-form-comment": "Коментар:",
-	"wikilog-show-all": "Усі записи",
-	"wikilog-show-published": "Відправлено",
-	"wikilog-show-drafts": "Чернетки",
-	"wikilog-submit": "Надіслати",
-	"wikilog-preview": "Попередній перегляд",
-	"wikilog-edit-lc": "редагувати",
-	"wikilog-reply-lc": "відповісти",
-	"wikilog-delete-lc": "видалити",
-	"wikilog-approve-lc": "схвалити",
-	"wikilog-reject-lc": "відхилити",
-	"wikilog-page-lc": "сторінка",
-	"wikilog-history-lc": "історія",
-	"wikilog-doc-import-comment": "Імпортована документація Вікілоґу"
-}
diff --git a/i18n/wikilog/vi.json b/i18n/wikilog/vi.json
deleted file mode 100644
index c63c2f4..0000000
--- a/i18n/wikilog/vi.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Minh Nguyen",
-			"Trần Nguyễn Minh Huy",
-			"පසිඳු කාවින්ද"
-		]
-	},
-	"wikilog-information": "Thông tin đăng nhập",
-	"wikilog-new-item-go": "Tạo",
-	"wikilog-item-name": "Tên bài viết:",
-	"wikilog-updated": "Đã cập nhật",
-	"wikilog-draft": "Thư nháp",
-	"wikilog-authors": "Tác giả",
-	"wikilog-title": "Tựa",
-	"wikilog-comments": "Ý kiến",
-	"wikilog-view-archives": "Lưu trữ",
-	"wikilog-view-summary": "Tóm lược",
-	"wikilog-pager-prev": "trước",
-	"wikilog-pager-next": "tiếp",
-	"wikilog-pager-first": "đầu",
-	"wikilog-pager-last": "cuối",
-	"wikilog-comment-note-edited": "lần sửa cuối vào  $1 lúc $2",
-	"wikilog-feed-title": "{{SITENAME}} – $1 [$2]",
-	"wikilog-title-item-full": "$1 – $2",
-	"wikilog-form-category": "Thể loại:",
-	"wikilog-form-name": "Tên:",
-	"wikilog-form-author": "Tác giả:",
-	"wikilog-form-tag": "Thẻ:",
-	"wikilog-form-date": "Ngày:",
-	"wikilog-form-status": "Trạng thái:",
-	"wikilog-form-preview": "Xem trước:",
-	"wikilog-form-comment": "Lý do:",
-	"wikilog-preview": "Xem trước",
-	"wikilog-edit-lc": "sửa",
-	"wikilog-reply-lc": "trả lời",
-	"wikilog-delete-lc": "xóa",
-	"wikilog-page-lc": "trang",
-	"wikilog-history-lc": "lịch sử"
-}
diff --git a/i18n/wikilog/yi.json b/i18n/wikilog/yi.json
deleted file mode 100644
index 9e30cbb..0000000
--- a/i18n/wikilog/yi.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"פוילישער",
-			"පසිඳු කාවින්ද"
-		]
-	},
-	"wikilog-specialwikilog-title": "וויקילאגן",
-	"wikilog-tab": "וויקילאג",
-	"wikilog-new-item-go": "שאַפֿן",
-	"wikilog-item-name": "ארטיקל נאָמען:",
-	"wikilog-draft": "אָנוואַרף",
-	"wikilog-title": "טיטל",
-	"wikilog-pager-first": "ערשטער",
-	"wikilog-pager-last": "לעצטער",
-	"wikilog-no-comments": "קיין באַמערקונגען",
-	"wikilog-has-comments": "{{PLURAL:$1|איין באַמערקונג|$1 באַמערקונגען}}",
-	"wikilog-summary-uncategorized": "אומקאטעגאריזירט",
-	"wikilog-summary-more": "[[$3|→ ליינט ווײַטער...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]] ([[{{ns:User_talk}}:$1|רעדן]])",
-	"wikilog-edit-fieldset-legend": "וויקילאָג אָפּציעס:",
-	"wikilog-comment-permalink": "אום $1 $2 אזייגער",
-	"wikilog-comment-anonsig": "$3 (אַנאנים)",
-	"wikilog-form-category": "קאטעגאריע:",
-	"wikilog-form-name": "נאָמען:",
-	"wikilog-form-author": "מחבר:",
-	"wikilog-form-date": "דאַטע:",
-	"wikilog-form-status": "סטאַטוס:",
-	"wikilog-form-preview": "פֿאראויסשטעלונג:",
-	"wikilog-preview": "פֿאראויסשטעלונג",
-	"wikilog-edit-lc": "רעדאַקטירן",
-	"wikilog-delete-lc": "אויסמעקן",
-	"wikilog-history-lc": "היסטאריע"
-}
diff --git a/i18n/wikilog/zh-hans.json b/i18n/wikilog/zh-hans.json
deleted file mode 100644
index 593209f..0000000
--- a/i18n/wikilog/zh-hans.json
+++ /dev/null
@@ -1,129 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Chenxiaoqino",
-			"Jienus",
-			"Liangent",
-			"Liuxinyu970226",
-			"Mark85296341",
-			"Shirayuki",
-			"Xiaomingyan",
-			"Yfdyh000"
-		]
-	},
-	"wikilog-desc": "添加博客的特性,创建一个维基与博客混合体",
-	"wikilog-auto": "维基日志自动",
-	"wikilog-help": "{{ns:Help}}:维基日志",
-	"right-wl-postcomment": "发评论到维基日志文章",
-	"wikilog-specialwikilog-title": "维基日志",
-	"wikilog-log-pagename": "Wikilog操作日志",
-	"wikilog-log-pagetext": "下面是一个wikilog操作的列表。",
-	"wikilog-log-cmt-approve": "批准评论“[[$1]]”",
-	"wikilog-log-cmt-reject": "拒绝评论“[[$1]]”",
-	"wikilog-log-cmt-rejdel": "已拒绝来自[[Special:Contributions/$1|$1]]的wiki日志评论",
-	"wikilog-tab": "维基日志",
-	"wikilog-tab-title": "维基日志选项",
-	"wikilog-information": "维基日志信息",
-	"wikilog-post-count-all": "这里总会有$1个条目。",
-	"wikilog-new-item": "创建新的wikilog文章",
-	"wikilog-new-item-go": "创建",
-	"wikilog-item-name": "文章名称:",
-	"wikilog-published": "稳定",
-	"wikilog-updated": "已更新",
-	"wikilog-draft": "草稿箱",
-	"wikilog-authors": "作者",
-	"wikilog-wikilog": "维基日志",
-	"wikilog-title": "标题",
-	"wikilog-actions": "操作",
-	"wikilog-comments": "评论",
-	"wikilog-replies": "回复",
-	"wikilog-view-archives": "新闻列表",
-	"wikilog-view-summary": "摘要",
-	"wikilog-draft-title-mark": "草稿",
-	"wikilog-anonymous-mark": "(匿名)",
-	"wikilog-pager-newest": "最新",
-	"wikilog-pager-oldest": "最旧",
-	"wikilog-pager-prev": "向前",
-	"wikilog-pager-next": "向后",
-	"wikilog-pager-first": "首页",
-	"wikilog-pager-last": "末页",
-	"wikilog-pager-empty": "(无项目)",
-	"wikilog-no-comments": "没有评论",
-	"wikilog-has-comments": "{{PLURAL:$1|有1条评论|有$1条评论}}",
-	"wikilog-summary-footer": "由$7在$8 $9 ($15)发布于[[$1|$2]],$10。",
-	"wikilog-summary-footer-single": "由$7在$8 $9 ($15)发布,$10。",
-	"wikilog-summary-uncategorized": "未分类",
-	"wikilog-summary-categories": "分类:$2",
-	"wikilog-summary-more": "[[$3|→ 继续阅读...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]]([[{{ns:User_talk}}:$1|讨论]])",
-	"wikilog-simple-signature": "$1($2)",
-	"wikilog-edit-hint": "编辑Wikilog上的文章$1",
-	"wikilog-edit-fieldset-legend": "Wikilog选项:",
-	"wikilog-edit-signpub": "签名并发布此文章",
-	"wikilog-edit-signpub-tooltip": "签名并在Wikilog发布此文章。如果你只希望将其保存为草稿,请不要勾选。",
-	"wikilog-comment-permalink": "$1,$2",
-	"wikilog-comment-note-item": "发布于$1",
-	"wikilog-comment-note-edited": "最近一次被编辑于$1,$2",
-	"wikilog-comment-anonsig": "$3 (匿名)",
-	"wikilog-comment-pending": "此评论正在被审核",
-	"wikilog-comment-deleted": "此评论已被删除。",
-	"wikilog-comment-omitted-x": "省略的注释(#$1)。",
-	"wikilog-comment-autosumm": "来自$1的新评论: $2",
-	"wikilog-reply-to-comment": "回复此评论",
-	"wikilog-comment-page": "去此页面的讨论页",
-	"wikilog-comment-edit": "编辑此讨论",
-	"wikilog-comment-delete": "删除此讨论",
-	"wikilog-comment-history": "查看评论历史",
-	"wikilog-comment-approve": "立刻批准此评论",
-	"wikilog-comment-reject": "立刻驳回此评论",
-	"wikilog-newtalk-summary": " 由Wikilog自动创建",
-	"wikilog-feed-ns-title": "$1 的wikilog文章",
-	"wikilog-feed-description": "阅读此订阅中最新的文章",
-	"wikilog-comment-feed-title1": "由 $2 发表的评论(第#$1 条)",
-	"wikilog-comment-feed-title2": "由$2 发表的对$3 的评论(第#$1 条)",
-	"wikilog-comment-feed-description": "阅读此订阅中最新的文章",
-	"wikilog-title-comments": "$1上的评论",
-	"wikilog-error-msg": "Wikilog错误: $1",
-	"wikilog-error-title": "Wikilog错误",
-	"wikilog-invalid-param": "无效的参数:$1。",
-	"wikilog-invalid-author": "无效的作者:$1。",
-	"wikilog-invalid-date": "无效的日期:$1。",
-	"wikilog-invalid-tag": "无效的标签:$1。",
-	"wikilog-invalid-file": "无效的文件:$1。",
-	"wikilog-file-not-found": "不存在的文件:$1。",
-	"wikilog-not-an-image": "文件不是一个图像:$1。",
-	"wikilog-too-many-authors": "警告:本文列出的作者过多",
-	"wikilog-too-many-tags": "警告:本文使用了过多的标签",
-	"wikilog-comment-is-empty": "发表的评论是空白的。",
-	"wikilog-comment-too-long": "发表的评论太长。",
-	"wikilog-comment-invalid-name": "提供的名称无效。",
-	"wikilog-no-such-article": "请求的wikilog文章不存在",
-	"wikilog-reading-draft": "这篇wikilog文章还是草稿,尚未发布。",
-	"wikilog-posting-anonymously": "你尚未登陆。\n你的评论会被匿名发布,并以Internet连接的地址表示身份。\n你可以在上面键入一个昵称来表示身份,或者$1 来确认身份。",
-	"wikilog-anonymous-moderated": "你的评论发布之后不会马上出现,它必须通过管理员的审查。",
-	"wikilog-post-comment": "发布新评论",
-	"wikilog-post-reply": "发表新回复",
-	"wikilog-form-legend": "搜索wikilog文章",
-	"wikilog-form-wikilog": "维基日志:",
-	"wikilog-form-category": "分类:",
-	"wikilog-form-name": "名称:",
-	"wikilog-form-author": "作者:",
-	"wikilog-form-tag": "标签:",
-	"wikilog-form-date": "日期:",
-	"wikilog-form-status": "状态:",
-	"wikilog-form-preview": "预览:",
-	"wikilog-form-comment": "评论:",
-	"wikilog-show-all": "所有帖子",
-	"wikilog-show-published": "稳定",
-	"wikilog-show-drafts": "草稿",
-	"wikilog-submit": "提交",
-	"wikilog-preview": "预览",
-	"wikilog-edit-lc": "编辑",
-	"wikilog-reply-lc": "回复",
-	"wikilog-delete-lc": "删除",
-	"wikilog-approve-lc": "批准",
-	"wikilog-reject-lc": "拒绝",
-	"wikilog-page-lc": "页面",
-	"wikilog-history-lc": "历史",
-	"wikilog-doc-import-comment": "导入Wikilog文档"
-}
diff --git a/i18n/wikilog/zh-hant.json b/i18n/wikilog/zh-hant.json
deleted file mode 100644
index 49eb816..0000000
--- a/i18n/wikilog/zh-hant.json
+++ /dev/null
@@ -1,105 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Mark85296341",
-			"Oapbtommy",
-			"Shirayuki"
-		]
-	},
-	"wikilog-new-item-go": "建立",
-	"wikilog-item-name": "文章名稱:",
-	"wikilog-published": "穩定",
-	"wikilog-updated": "已更新",
-	"wikilog-draft": "草稿箱",
-	"wikilog-authors": "作者",
-	"wikilog-title": "標題",
-	"wikilog-actions": "操作",
-	"wikilog-comments": "註解",
-	"wikilog-replies": "回覆",
-	"wikilog-view-archives": "清單模式",
-	"wikilog-view-summary": "摘要",
-	"wikilog-draft-title-mark": "草稿",
-	"wikilog-anonymous-mark": "(匿名)",
-	"wikilog-pager-newest": "最新",
-	"wikilog-pager-oldest": "最舊",
-	"wikilog-pager-prev": "向前",
-	"wikilog-pager-next": "向後",
-	"wikilog-pager-first": "最前",
-	"wikilog-pager-last": "最後",
-	"wikilog-pager-empty": "(無項目)",
-	"wikilog-no-comments": "沒有評論",
-	"wikilog-has-comments": "{{PLURAL:$1|有一條評論|有 $1 條評論}}",
-	"wikilog-summary-footer": "由 $7 在 $8 $9 ($15) 發表於 [[$1|$2]],$10。",
-	"wikilog-summary-footer-single": "由 $7 在 $8 $9 ($15) 發表,$10。",
-	"wikilog-summary-uncategorized": "未分類",
-	"wikilog-summary-categories": "分類:$2",
-	"wikilog-summary-more": "[[$3|→ 繼續閱讀...]]",
-	"wikilog-author-signature": "[[{{ns:User}}:$1|$1]]([[{{ns:User_talk}}:$1|留言]])",
-	"wikilog-simple-signature": "$1($2)",
-	"wikilog-edit-hint": "編輯Wikilog上的文章$1",
-	"wikilog-edit-fieldset-legend": "Wikilog選項:",
-	"wikilog-edit-signpub": "簽名併發布此文章",
-	"wikilog-edit-signpub-tooltip": "簽名並在 Wikilog 發表此文章。如果你只希望將其儲存為草稿,請不要勾選。",
-	"wikilog-comment-permalink": "$1,$2",
-	"wikilog-comment-note-item": "發表於 $1",
-	"wikilog-comment-note-edited": "最近一次被編輯於 $1,$2",
-	"wikilog-comment-anonsig": "$3 (匿名)",
-	"wikilog-comment-pending": "此評論正在被審核",
-	"wikilog-comment-deleted": "此評論已被刪除。",
-	"wikilog-comment-autosumm": "來自$1的新評論: $2",
-	"wikilog-reply-to-comment": "回復此評論",
-	"wikilog-comment-page": "去此頁面的討論頁",
-	"wikilog-comment-edit": "編輯此討論",
-	"wikilog-comment-delete": "刪除此討論",
-	"wikilog-comment-history": "查看評論歷史",
-	"wikilog-comment-approve": "立刻批准此評論",
-	"wikilog-comment-reject": "立刻駁回此評論",
-	"wikilog-newtalk-summary": " 由Wikilog自動創建",
-	"wikilog-feed-ns-title": "$1 的wikilog文章",
-	"wikilog-feed-description": "閱讀此訂閱中最新的文章",
-	"wikilog-comment-feed-title1": "由 $2 發表的評論(第#$1 條)",
-	"wikilog-comment-feed-title2": "由 $2 發表的對 $3 的評論(第 #$1 條)",
-	"wikilog-comment-feed-description": "閱讀此訂閱中最新的文章",
-	"wikilog-title-comments": "$1 上的評論",
-	"wikilog-error-msg": "Wikilog 錯誤:$1",
-	"wikilog-error-title": "Wikilog 錯誤",
-	"wikilog-invalid-param": "無效的參數:$1。",
-	"wikilog-invalid-author": "無效的作者:$1。",
-	"wikilog-invalid-date": "無效的日期:$1。",
-	"wikilog-invalid-tag": "無效的標籤:$1。",
-	"wikilog-invalid-file": "無效的檔案:$1。",
-	"wikilog-file-not-found": "不存在的檔案:$1。",
-	"wikilog-not-an-image": "檔案不是一個圖像:$1。",
-	"wikilog-too-many-authors": "警告:本文列出的作者過多",
-	"wikilog-too-many-tags": "警告:本文使用了過多的標籤",
-	"wikilog-comment-is-empty": "發表的評論是空白的。",
-	"wikilog-comment-too-long": "發表的評論太長。",
-	"wikilog-comment-invalid-name": "提供的名稱無效。",
-	"wikilog-no-such-article": "請求的 wikilog 文章不存在",
-	"wikilog-reading-draft": "這篇 wikilog 文章還是草稿,尚未發表。",
-	"wikilog-posting-anonymously": "你還未登入。\n你的評論會以匿名發表,並以 Internet 連接的位址表示身份。\n你可以在上面鍵入一個暱稱來表示身份,或者 $1 來確認身份。",
-	"wikilog-anonymous-moderated": "你的評論發表之後不會馬上出現,它必須通過管理員的審查。",
-	"wikilog-post-comment": "發表新評論",
-	"wikilog-post-reply": "發表新回復",
-	"wikilog-form-legend": "搜尋 wikilog 文章",
-	"wikilog-form-category": "類別:",
-	"wikilog-form-name": "名稱:",
-	"wikilog-form-author": "作者:",
-	"wikilog-form-tag": "標籤:",
-	"wikilog-form-date": "日期:",
-	"wikilog-form-status": "狀態:",
-	"wikilog-form-preview": "預覽:",
-	"wikilog-form-comment": "註解:",
-	"wikilog-show-all": "所有評論",
-	"wikilog-show-published": "穩定",
-	"wikilog-show-drafts": "草稿",
-	"wikilog-submit": "提交",
-	"wikilog-preview": "預覽",
-	"wikilog-edit-lc": "編輯",
-	"wikilog-reply-lc": "回覆",
-	"wikilog-delete-lc": "刪除",
-	"wikilog-approve-lc": "批准",
-	"wikilog-reject-lc": "拒絕",
-	"wikilog-page-lc": "頁面",
-	"wikilog-history-lc": "歷史"
-}
diff --git a/i18n/wlfeed/af.json b/i18n/wlfeed/af.json
deleted file mode 100644
index 50596c0..0000000
--- a/i18n/wlfeed/af.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Naudefj"
-		]
-	},
-	"wlfeed-desc": "Klasse vir die skep van verbeterde voere (feeds)"
-}
diff --git a/i18n/wlfeed/aln.json b/i18n/wlfeed/aln.json
deleted file mode 100644
index fc4353b..0000000
--- a/i18n/wlfeed/aln.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Mdupont"
-		]
-	},
-	"wlfeed-desc": "brez Enhanced feed klasave"
-}
diff --git a/i18n/wlfeed/ar.json b/i18n/wlfeed/ar.json
deleted file mode 100644
index 046b71a..0000000
--- a/i18n/wlfeed/ar.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Meno25"
-		]
-	},
-	"wlfeed-desc": "رتب توليد تلقيم ممددة"
-}
diff --git a/i18n/wlfeed/arz.json b/i18n/wlfeed/arz.json
deleted file mode 100644
index 046b71a..0000000
--- a/i18n/wlfeed/arz.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Meno25"
-		]
-	},
-	"wlfeed-desc": "رتب توليد تلقيم ممددة"
-}
diff --git a/i18n/wlfeed/ast.json b/i18n/wlfeed/ast.json
deleted file mode 100644
index ef79519..0000000
--- a/i18n/wlfeed/ast.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Xuacu"
-		]
-	},
-	"wlfeed-desc": "Clases de xeneración de canales ameyoraes"
-}
diff --git a/i18n/wlfeed/be-tarask.json b/i18n/wlfeed/be-tarask.json
deleted file mode 100644
index d2b79eb..0000000
--- a/i18n/wlfeed/be-tarask.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"EugeneZelenko"
-		]
-	},
-	"wlfeed-desc": "Палепшаныя клясы стварэньня стужак навінаў"
-}
diff --git a/i18n/wlfeed/br.json b/i18n/wlfeed/br.json
deleted file mode 100644
index 697f38a..0000000
--- a/i18n/wlfeed/br.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Fulup"
-		]
-	},
-	"wlfeed-desc": "Renkadoù genel lanvadoù gwellaet"
-}
diff --git a/i18n/wlfeed/bs.json b/i18n/wlfeed/bs.json
deleted file mode 100644
index 0f1c5bc..0000000
--- a/i18n/wlfeed/bs.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"CERminator"
-		]
-	},
-	"wlfeed-desc": "Napredno generisanje klasa fida"
-}
diff --git a/i18n/wlfeed/ca.json b/i18n/wlfeed/ca.json
deleted file mode 100644
index bf55350..0000000
--- a/i18n/wlfeed/ca.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Gemmaa"
-		]
-	},
-	"wlfeed-desc": "Realçava tindre una generació classes"
-}
diff --git a/i18n/wlfeed/cs.json b/i18n/wlfeed/cs.json
deleted file mode 100644
index b6999a7..0000000
--- a/i18n/wlfeed/cs.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Matěj Grabovský"
-		]
-	},
-	"wlfeed-desc": "Vylepšené třídy pro vytváření kanálů"
-}
diff --git a/i18n/wlfeed/de.json b/i18n/wlfeed/de.json
deleted file mode 100644
index b0eb22b..0000000
--- a/i18n/wlfeed/de.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Kghbln",
-			"LWChris"
-		]
-	},
-	"wlfeed-desc": "Stellt der Feed-Generierung erweiterte Klassen zur Verfügung"
-}
diff --git a/i18n/wlfeed/dsb.json b/i18n/wlfeed/dsb.json
deleted file mode 100644
index 12f4354..0000000
--- a/i18n/wlfeed/dsb.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Michawiki"
-		]
-	},
-	"wlfeed-desc": "Pólěpšone klase kanaloweje generacije"
-}
diff --git a/i18n/wlfeed/en.json b/i18n/wlfeed/en.json
deleted file mode 100644
index bbedfaf..0000000
--- a/i18n/wlfeed/en.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Juliano F. Ravasi"
-		]
-	},
-	"wlfeed-desc": "Enhanced feed generation classes"
-}
diff --git a/i18n/wlfeed/es.json b/i18n/wlfeed/es.json
deleted file mode 100644
index 735f51e..0000000
--- a/i18n/wlfeed/es.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Translationista"
-		]
-	},
-	"wlfeed-desc": "Clases de generación de canales mejoradas"
-}
diff --git a/i18n/wlfeed/fi.json b/i18n/wlfeed/fi.json
deleted file mode 100644
index 6e1f6d7..0000000
--- a/i18n/wlfeed/fi.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"ZeiP"
-		]
-	},
-	"wlfeed-desc": "Parannetut syötteiden luontiluokat"
-}
diff --git a/i18n/wlfeed/fr.json b/i18n/wlfeed/fr.json
deleted file mode 100644
index c46e62f..0000000
--- a/i18n/wlfeed/fr.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"PieRRoMaN"
-		]
-	},
-	"wlfeed-desc": "Classes de génération de flux améliorés"
-}
diff --git a/i18n/wlfeed/frp.json b/i18n/wlfeed/frp.json
deleted file mode 100644
index fa053f2..0000000
--- a/i18n/wlfeed/frp.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"ChrisPtDe"
-		]
-	},
-	"wlfeed-desc": "Cllâsses de g·ènèracion de flux mèlyorâs"
-}
diff --git a/i18n/wlfeed/gl.json b/i18n/wlfeed/gl.json
deleted file mode 100644
index 604d88c..0000000
--- a/i18n/wlfeed/gl.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Toliño"
-		]
-	},
-	"wlfeed-desc": "Clases de xeración de fontes de novas melloradas"
-}
diff --git a/i18n/wlfeed/gsw.json b/i18n/wlfeed/gsw.json
deleted file mode 100644
index 7c264fb..0000000
--- a/i18n/wlfeed/gsw.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Als-Holder"
-		]
-	},
-	"wlfeed-desc": "Klasse zum Aalege vu fortgschrittene Feeds"
-}
diff --git a/i18n/wlfeed/he.json b/i18n/wlfeed/he.json
deleted file mode 100644
index 7c017af..0000000
--- a/i18n/wlfeed/he.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"YaronSh"
-		]
-	},
-	"wlfeed-desc": "מחלקות מתקדמות לייצור הזנות"
-}
diff --git a/i18n/wlfeed/hr.json b/i18n/wlfeed/hr.json
deleted file mode 100644
index c356753..0000000
--- a/i18n/wlfeed/hr.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Tivek"
-		]
-	},
-	"wlfeed-desc": "Poboljšane klase za stvaranje feedova"
-}
diff --git a/i18n/wlfeed/hsb.json b/i18n/wlfeed/hsb.json
deleted file mode 100644
index cfc7662..0000000
--- a/i18n/wlfeed/hsb.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Michawiki"
-		]
-	},
-	"wlfeed-desc": "Polěpšene klasy kanaloweje generacije"
-}
diff --git a/i18n/wlfeed/hu.json b/i18n/wlfeed/hu.json
deleted file mode 100644
index 5a28d1a..0000000
--- a/i18n/wlfeed/hu.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Glanthor Reviol"
-		]
-	},
-	"wlfeed-desc": "Fejlett hírcsatorna-generáló osztályok"
-}
diff --git a/i18n/wlfeed/ia.json b/i18n/wlfeed/ia.json
deleted file mode 100644
index 3e465dc..0000000
--- a/i18n/wlfeed/ia.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"McDutchie"
-		]
-	},
-	"wlfeed-desc": "Classes meliorate pro le generation de syndicationes"
-}
diff --git a/i18n/wlfeed/id.json b/i18n/wlfeed/id.json
deleted file mode 100644
index 1c48ca8..0000000
--- a/i18n/wlfeed/id.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"IvanLanin"
-		]
-	},
-	"wlfeed-desc": "Kelas penghasil umpan canggih"
-}
diff --git a/i18n/wlfeed/it.json b/i18n/wlfeed/it.json
deleted file mode 100644
index f25b1c5..0000000
--- a/i18n/wlfeed/it.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Civvì"
-		]
-	},
-	"wlfeed-desc": "Classi ampliate per la generazione di feed"
-}
diff --git a/i18n/wlfeed/ja.json b/i18n/wlfeed/ja.json
deleted file mode 100644
index 9936458..0000000
--- a/i18n/wlfeed/ja.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Fryed-peach"
-		]
-	},
-	"wlfeed-desc": "強化されたフィード生成クラス"
-}
diff --git a/i18n/wlfeed/ko.json b/i18n/wlfeed/ko.json
deleted file mode 100644
index a52b3e7..0000000
--- a/i18n/wlfeed/ko.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"아라"
-		]
-	},
-	"wlfeed-desc": "향상된 피드 생성 클래스"
-}
diff --git a/i18n/wlfeed/ksh.json b/i18n/wlfeed/ksh.json
deleted file mode 100644
index a8baec9..0000000
--- a/i18n/wlfeed/ksh.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Purodha"
-		]
-	},
-	"wlfeed-desc": "Klasse för verbäßerte Abonnemangs-Kanähl (<i lang=\"en\">feeds</i>) aanzelääje"
-}
diff --git a/i18n/wlfeed/lb.json b/i18n/wlfeed/lb.json
deleted file mode 100644
index bee9f1a..0000000
--- a/i18n/wlfeed/lb.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Robby"
-		]
-	},
-	"wlfeed-desc": "Verbessert Klasse vu Generatioun vu Feed"
-}
diff --git a/i18n/wlfeed/li.json b/i18n/wlfeed/li.json
deleted file mode 100644
index 53b60e0..0000000
--- a/i18n/wlfeed/li.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Ooswesthoesbes"
-		]
-	},
-	"wlfeed-desc": "Klasse veur 't aanmake van verbaeterde feeds"
-}
diff --git a/i18n/wlfeed/mk.json b/i18n/wlfeed/mk.json
deleted file mode 100644
index abadc81..0000000
--- a/i18n/wlfeed/mk.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Bjankuloski06"
-		]
-	},
-	"wlfeed-desc": "Подобрени класи на создавање на емитувања на новости"
-}
diff --git a/i18n/wlfeed/ms.json b/i18n/wlfeed/ms.json
deleted file mode 100644
index 2fa5549..0000000
--- a/i18n/wlfeed/ms.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Anakmalaysia"
-		]
-	},
-	"wlfeed-desc": "Kelas penjanaan suapan yang dipertingkat"
-}
diff --git a/i18n/wlfeed/nb.json b/i18n/wlfeed/nb.json
deleted file mode 100644
index 1215b22..0000000
--- a/i18n/wlfeed/nb.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Nghtwlkr"
-		]
-	},
-	"wlfeed-desc": "Avanserte genereringsklasser for mating"
-}
diff --git a/i18n/wlfeed/nl.json b/i18n/wlfeed/nl.json
deleted file mode 100644
index b0b9668..0000000
--- a/i18n/wlfeed/nl.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Siebrand"
-		]
-	},
-	"wlfeed-desc": "Klassen voor het aanmaken van verbeterde feeds"
-}
diff --git a/i18n/wlfeed/oc.json b/i18n/wlfeed/oc.json
deleted file mode 100644
index 1931347..0000000
--- a/i18n/wlfeed/oc.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Cedric31"
-		]
-	},
-	"wlfeed-desc": "Classas de generacion de fluxes melhorats"
-}
diff --git a/i18n/wlfeed/pl.json b/i18n/wlfeed/pl.json
deleted file mode 100644
index 0e61de6..0000000
--- a/i18n/wlfeed/pl.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Sp5uhe"
-		]
-	},
-	"wlfeed-desc": "Rozszerzone klasy generowania kanałów"
-}
diff --git a/i18n/wlfeed/pms.json b/i18n/wlfeed/pms.json
deleted file mode 100644
index 526adc6..0000000
--- a/i18n/wlfeed/pms.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Borichèt"
-		]
-	},
-	"wlfeed-desc": "Class ëd generassion dij fluss ameliorà"
-}
diff --git a/i18n/wlfeed/pt-br.json b/i18n/wlfeed/pt-br.json
deleted file mode 100644
index f8ef072..0000000
--- a/i18n/wlfeed/pt-br.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"555",
-			"Daemorris"
-		]
-	},
-	"wlfeed-desc": "Classes melhoradas de geração de ''feeds''"
-}
diff --git a/i18n/wlfeed/pt.json b/i18n/wlfeed/pt.json
deleted file mode 100644
index c4607d5..0000000
--- a/i18n/wlfeed/pt.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Hamilton Abreu",
-			"Juliano F. Ravasi"
-		]
-	},
-	"wlfeed-desc": "Classes melhoradas de geração de ''feeds''"
-}
diff --git a/i18n/wlfeed/qqq.json b/i18n/wlfeed/qqq.json
deleted file mode 100644
index 31685dc..0000000
--- a/i18n/wlfeed/qqq.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Siebrand"
-		]
-	},
-	"wlfeed-desc": "{{desc}}"
-}
diff --git a/i18n/wlfeed/roa-tara.json b/i18n/wlfeed/roa-tara.json
deleted file mode 100644
index 7410e3a..0000000
--- a/i18n/wlfeed/roa-tara.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Joetaras"
-		]
-	},
-	"wlfeed-desc": "Classe avanzate de generazione de feed"
-}
diff --git a/i18n/wlfeed/ru.json b/i18n/wlfeed/ru.json
deleted file mode 100644
index fa3a889..0000000
--- a/i18n/wlfeed/ru.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Александр Сигачёв"
-		]
-	},
-	"wlfeed-desc": "Расширенные классы подготовки лент новостей"
-}
diff --git a/i18n/wlfeed/si.json b/i18n/wlfeed/si.json
deleted file mode 100644
index 9441829..0000000
--- a/i18n/wlfeed/si.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Calcey"
-		]
-	},
-	"wlfeed-desc": "වර්ධිත සංග්‍රහ ප්‍රවේණි පංති"
-}
diff --git a/i18n/wlfeed/sl.json b/i18n/wlfeed/sl.json
deleted file mode 100644
index bcb1ee6..0000000
--- a/i18n/wlfeed/sl.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Dbc334"
-		]
-	},
-	"wlfeed-desc": "Izboljšani razredi ustvarjanja virov"
-}
diff --git a/i18n/wlfeed/sr-ec.json b/i18n/wlfeed/sr-ec.json
deleted file mode 100644
index 1a94fcd..0000000
--- a/i18n/wlfeed/sr-ec.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Rancher",
-			"Михајло Анђелковић"
-		]
-	},
-	"wlfeed-desc": "Побољшане класе за стварање довода"
-}
diff --git a/i18n/wlfeed/sr-el.json b/i18n/wlfeed/sr-el.json
deleted file mode 100644
index f97dfb5..0000000
--- a/i18n/wlfeed/sr-el.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-	"@metadata": {
-		"authors": []
-	},
-	"wlfeed-desc": "Klase za poboljšane fidove"
-}
diff --git a/i18n/wlfeed/sv.json b/i18n/wlfeed/sv.json
deleted file mode 100644
index 389c4bc..0000000
--- a/i18n/wlfeed/sv.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Boivie"
-		]
-	},
-	"wlfeed-desc": "Utökade feed-skapningsklasser"
-}
diff --git a/i18n/wlfeed/tl.json b/i18n/wlfeed/tl.json
deleted file mode 100644
index 3bdb0e3..0000000
--- a/i18n/wlfeed/tl.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"AnakngAraw"
-		]
-	},
-	"wlfeed-desc": "Pinainam na mga klase ng paglikha ng pakain"
-}
diff --git a/i18n/wlfeed/tr.json b/i18n/wlfeed/tr.json
deleted file mode 100644
index a5b5982..0000000
--- a/i18n/wlfeed/tr.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Vito Genovese"
-		]
-	},
-	"wlfeed-desc": "Gelişmiş besleme oluşturma sınıfları"
-}
diff --git a/i18n/wlfeed/uk.json b/i18n/wlfeed/uk.json
deleted file mode 100644
index c733e8b..0000000
--- a/i18n/wlfeed/uk.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Prima klasy4na"
-		]
-	},
-	"wlfeed-desc": "Розширені класи створення стрічок новин"
-}
diff --git a/images/Wikilog.png b/images/Wikilog.png
deleted file mode 100644
index 7a90340..0000000
--- a/images/Wikilog.png
+++ /dev/null
Binary files differ
diff --git a/images/Wikilog.xcf b/images/Wikilog.xcf
deleted file mode 100644
index 86e0b63..0000000
--- a/images/Wikilog.xcf
+++ /dev/null
Binary files differ
diff --git a/maintenance/wikilogImportDocumentation.php b/maintenance/wikilogImportDocumentation.php
deleted file mode 100644
index 922aed0..0000000
--- a/maintenance/wikilogImportDocumentation.php
+++ /dev/null
@@ -1,199 +0,0 @@
-<?php
-/**
- * MediaWiki Wikilog extension
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/**
- * @file
- * @ingroup Extensions
- * @author Juliano F. Ravasi < dev juliano info >
- */
-
-# Wikilog and MediaWiki directories. Valid only if extension was installed in
-# the recomended directory ($IP/extensions/Wikilog).
-$WIKILOGDIR = dirname( dirname( __FILE__ ) );
-$MEDIAWIKIDIR = dirname( dirname( $WIKILOGDIR ) );
-
-# Wikilog documentation source file.
-$wgWikilogDocumentationXML = "$WIKILOGDIR/documentation/documentation.xml";
-
-# Compatibility with MediaWiki < 1.16.
-if ( !file_exists( "$MEDIAWIKIDIR/maintenance/Maintenance.php" ) ) {
-	die( "MediaWiki 1.16 or later is required." );
-}
-
-# Maintenance scripts base class.
-require_once( "$MEDIAWIKIDIR/maintenance/Maintenance.php" );
-
-
-/**
- * Wikilog documentation importer. Imports the Wikilog extension documentation
- * pages and images into the wiki.
- */
-class WikilogImportDocumentation
-	extends Maintenance
-{
-
-	protected $mFilename;			///< Import filename.
-	protected $mFileHandle;			///< Open filename handle.
-	protected $mDB;					///< Database link object.
-	protected $mSource;				///< Import source object.
-	protected $mImporter;			///< WikiImporter object.
-	protected $mUser;				///< Importer user ("Wikilog auto").
-	protected $mComment;			///< Comment ("Imported Wikilog doc...").
-	protected $mTimestamp;			///< Timestamp.
-
-	protected $mStatPages, $mStatFiles;	///< Statistics.
-
-	public function __construct() {
-		parent::__construct();
-		$this->mDescription = "Imports the documentation for the Wikilog extension";
-		$this->addOption( 'overwrite', "Overwrite existing files" );
-	}
-
-	public function execute() {
-		global $wgTitle, $wgWikilogDocumentationXML;
-		$wgTitle = Title::newFromText( "Wikilog documentation import script" );
-
-		# Check dependencies.
-		$this->checkDependencies();
-
-		# If the wiki is in read-only state, die.
-		if ( wfReadOnly() ) {
-			$this->error( "Wiki is in read-only mode; you'll need to disable it for import to work.\n", true );
-		}
-
-		# Perform import.
-		$this->doImport( $wgWikilogDocumentationXML );
-
-		# Update recent changes table.
-		$this->updateRecentChanges();
-	}
-
-	/**
-	 * Check if all dependencies for documentation are met.
-	 */
-	protected function checkDependencies() {
-		$errors = 0;
-
-		# ParserFunctions extension.
-		if ( !class_exists( 'ExtParserFunctions' ) ) {
-			$this->error( "Error: Wikilog documentation requires the ParserFunctions extension." );
-			$this->error( "  * http://www.mediawiki.org/wiki/Extension:ParserFunctions" );
-			$errors++;
-		}
-
-		if ( $errors ) {
-			$this->error( "Some requirements were not met. Exiting.", true );
-		}
-	}
-
-	/**
-	 * Perform the documentation import.
-	 * @param $filename Import filename.
-	 */
-	protected function doImport( $filename ) {
-		global $wgUser;
-
-		$this->mFilename = $filename;
-		$this->mFileHandle = fopen( $this->mFilename, 'rb' );
-		if ( !$this->mFileHandle ) {
-			throw new MWException( __CLASS__ . ": Failed to open {$this->mFilename}." );
-		}
-
-		$this->mDB = wfGetDB( DB_MASTER );
-		$this->mSource = new ImportStreamSource( $this->mFileHandle );
-		$this->mImporter = new WikiImporter( $this->mSource );
-
-		$this->mUser = User::newFromName(
-			wfMessage( 'wikilog-auto' )->inContentLanguage()->text(), false );
-		$wgUser = $this->mUser;
-
-		$this->mComment = wfMessage( 'wikilog-doc-import-comment' )->inContentLanguage()->text();
-		$this->mTimestamp = wfTimestampNow();
-
-		$this->mImporter->setRevisionCallback( array( &$this, 'handleRevision' ) );
-
-		$basefn = wfBasename( $this->mFilename );
-		$this->output( "+ Importing {$basefn}...\n" );
-
-		$this->mStatPages = 0;
-		$this->mStatFiles = 0;
-		$this->mImporter->doImport();
-
-		$this->output( "  + Done. {$this->mStatPages} page(s) and {$this->mStatFiles} file(s) imported.\n" );
-		fclose( $this->mFileHandle );
-	}
-
-	/**
-	 * Perform recent changes update.
-	 */
-	protected function updateRecentChanges() {
-		$this->output("+ Rebuilding recent changes...\n");
-		$this->runChild( 'RebuildRecentchanges', 'rebuildrecentchanges.php' );
-		$this->output("  + Done.\n");
-	}
-
-	/**
-	 * Importer revision callback.  Called from WikiImporter.
-	 */
-	public function handleRevision( $revision ) {
-		$title = $revision->getTitle();
-		$title_text = $title->getPrefixedText();
-
-		if ( $title->getNamespace() == NS_FILE ) {
-			$base = $title->getDBkey();
-			$this->output( "  + File: '{$base}'..." );
-			$image = wfLocalFile( $title );
-			if ( !$image->exists() || $this->getOption( 'overwrite' ) ) {
-				$this->output( " uploading..." );
-				$filepath = dirname( $this->mFilename ) . '/' . $base;
-				$archive = $image->upload( $filepath, $this->mComment,
-					$revision->getText(), 0, false, $this->mTimestamp,
-					$this->mUser);
-
-				if ( !$archive->isGood() ) {
-					$this->output( " failed.\n" );
-					return false;
-				} else {
-					$this->output( " success.\n" );
-					$this->mStatFiles++;
-					return true;
-				}
-			} else {
-				$this->output( " file exists, skipping.\n" );
-				return false;
-			}
-		} else {
-			$this->output( "  + Page: '{$title_text}'...\n" );
-			$revision->setUsername( $this->mUser->getName() );
-			$revision->setComment( $this->mComment );
-			$revision->setTimestamp( $this->mTimestamp );
-			$result = $this->mDB->deadlockLoop( array( $revision, 'importOldRevision' ) );
-
-			if ( $result ) { $this->mStatPages++; }
-			return $result;
-		}
-	}
-
-}
-
-$maintClass = "WikilogImportDocumentation";
-require_once( DO_MAINTENANCE );
diff --git a/package.json b/package.json
deleted file mode 100644
index bcf5b13..0000000
--- a/package.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-	"private": true,
-	"scripts": {
-		"test": "grunt test"
-	},
-	"devDependencies": {
-		"grunt": "1.0.1",
-		"grunt-banana-checker": "0.5.0",
-		"grunt-jsonlint": "1.1.0"
-	}
-}
diff --git a/style/wikilog.css b/style/wikilog.css
deleted file mode 100644
index e8451d3..0000000
--- a/style/wikilog.css
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Wikilog extension styles.
- * Copyright © 2008-2010 Juliano F. Ravasi
- * http://www.mediawiki.org/wiki/Extension:Wikilog
- *
- * Lincensed under the GNU General Public License version 2.
- */
-
-/* articles listed in the pagers (summary, template, archives) */
-
-div.wl-summary-header,
-div.wl-summary-footer {
-	font-size: 90%;
-	font-style: italic;
-}
-
-div.wl-summary-footer {
-	padding: 0 3em;
-}
-
-div.wl-draft {
-	border: 1px solid #CCCC99;
-	background-color: #FFFFEE;
-	color: #999999;
-	padding: 0.25em 0.75em;
-}
-
-tr.wl-draft {
-	font-style: italic;
-}
-
-.wl-navbar {
-	background-color: #EEEEEE;
-	border-top: 1px solid #CCCCCC;
-	border-bottom: 1px solid #CCCCCC;
-	color: black;
-	margin: 0.5em 0;
-	padding: 0.25em 0.75em;
-}
-
-.wl-pagination {
-	text-align: center;
-}
-
-.wl-pagination a,
-.wl-pagination span.current,
-.wl-pagination span.disabled {
-	margin: 0 1pt;
-	padding: 1pt 3pt;
-	font-weight: bold;
-	text-decoration: none;
-	-moz-border-radius: 5px;
-	-webkit-border-radius: 5px;
-}
-
-.wl-pagination a {
-/* 	border: 1px solid #CCCCCC; */
-	color: #0066CC;
-}
-
-.wl-pagination a:hover, .wl-pagination a:active {
-/* 	border: 1px solid #000; */
-	background-color: #0066CC;
-	color: #EEEEEE;
-}
-
-.wl-pagination span.disabled {
-	color: #CCCCCC;
-}
-
-.wl-pagination span.current {
-	font-weight: bolder;
-	background-color: #CCCCCC;
-	color: black;
-}
-
-.TablePager_col_wlp_num_comments {
-	text-align: center;
-}
-
-/* article page header and footer */
-
-div.wl-entry-header {
-	font-style: italic;
-}
-
-div.wl-entry-footer {
-	font-style: italic;
-	padding: 3pt 3em;
-}
-
-/* comments */
-
-.ltr div.wl-thread { border-left: 1px solid transparent; }
-.rtl div.wl-thread { border-right: 1px solid transparent; }
-
-.ltr div.wl-thread:hover { border-left-color: #999999; }
-.rtl div.wl-thread:hover { border-right-color: #999999; }
-
-.ltr div.wl-thread div.wl-thread { margin-left: 2.0em; }
-.rtl div.wl-thread div.wl-thread { margin-right: 2.0em; }
-
-.ltr .wl-indent { margin-left: 2.0em; }
-.rtl .wl-indent { margin-right: 2.0em; }
-
-div.wl-comment {
-	padding: 0.5em;
-	position: relative; /* used by .wl-comment-tools, below */
-}
-
-div.wl-comment-highlight {
-	background-color: #FFFFCC;
-	color: black;
-}
-
-div.wl-comment:hover {
-	background-color: #EEEEEE;
-	color: black;
-}
-
-div.wl-comment-status {
-	background-color: #EEEEEE;
-	border: 1px solid #CCCCCC;
-	color: black;
-	font-weight: bold;
-	padding: 0.25em 0.75em;
-}
-
-div.wl-comment-header,
-div.wl-comment-footer {
-	font-size: 90%;
-}
-
-.wl-comment-tools {
-	display: none;
-	position: absolute; /* relative to .wl-comment */
-	bottom: 0;
-}
-
-.ltr .wl-comment-tools { left: auto; right: 0; }
-.rtl .wl-comment-tools { left: 0; right: auto; }
-
-.wl-comment-tools a {
-	color: inherit;
-	text-decoration: none;
-}
-
-.wl-comment-tools li {
-	display: inline;
-	padding: 1pt 3pt;
-	font-weight: bold;
-	color: #999999;
-	-moz-border-radius: 3px;
-	-webkit-border-radius: 3px;
-}
-
-.wl-comment-tools li:hover {
-	background-color: #999999;
-	color: #EEEEEE;
-}
-
-div.wl-comment:hover .wl-comment-tools,
-div.wl-comment-highlight .wl-comment-tools {
-	display: block;
-}
-
-div.wl-comment-pending .wl-comment-text,
-div.wl-comment-deleted .wl-comment-text {
-	color: #999999;
-}
-
-div.wl-comment-by-author .wl-comment-author {
-	font-weight: bold;
-}
-
-div.wl-comment-placeholder {
-	background-color: #EEEEEE;
-	border: 1px solid #CCCCCC;
-	color: #999999;
-	font-style: italic;
-	padding: 0.5em;
-	text-align: center;
-}
-
-.wl-comment-tools li.wl-comment-action-reply,
-.wl-comment-tools li.wl-comment-action-approve {
-	color: #009900;
-}
-
-.wl-comment-tools li.wl-comment-action-reply:hover,
-.wl-comment-tools li.wl-comment-action-approve:hover {
-	background-color: #009900;
-	color: #EEEEEE;
-}
-
-.wl-comment-tools li.wl-comment-action-reject {
-	color: #990000;
-}
-
-.wl-comment-tools li.wl-comment-action-reject:hover {
-	background-color: #990000;
-	color: #EEEEEE;
-}
-
-/* wikilog tab */
-
-div.wl-description {
-	border: 1px solid #CCCCCC;
-	background-color: #EEEEEE;
-	color: black;
-	padding: 0.25em;
-}
-
-div.wl-description div.wl-title {
-	font-size: 110%;
-	font-weight: bold;
-}
-
-div.wl-description div.wl-subtitle p {
-	line-height: inherit;
-	margin: 0;
-}
-
-/* kate: indent-mode normal; space-indent off; tab-width 4; */
diff --git a/tests/phpunit/WikilogLinksUpdateTest.php b/tests/phpunit/WikilogLinksUpdateTest.php
deleted file mode 100644
index b9e3c3b..0000000
--- a/tests/phpunit/WikilogLinksUpdateTest.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/**
- * @group Database
- */
-class WikilogLinksUpdateTest extends MediaWikiTestCase {
-	/**
-	 * The test goal is to make sure, that WikilogLinksUpdate::LinkUpdate works without throw a
-	 * fatal exception or undefined property erros when accessing undefined properties from
-	 * LinksUpdate.
-	 */
-	public function testNoLinksUpdateUndefinedProperty() {
-		$po = new ParserOutput();
-		$po->mExtWikilog = new WikilogParserOutput();
-		$lupd = new LinksUpdate( Title::newFromText( 'UTPage' ), $po );
-		$this->assertTrue( WikilogLinksUpdate::LinksUpdate( $lupd ) );
-	}
-}
\ No newline at end of file
diff --git a/wikilog-tables.sql b/wikilog-tables.sql
deleted file mode 100644
index c3d6a93..0000000
--- a/wikilog-tables.sql
+++ /dev/null
@@ -1,162 +0,0 @@
--- Tables used by the MediaWiki Wikilog extension.
---
--- You should not have to create these tables manually unless you are doing
--- a manual installation. In normal conditions, maintenance/update.php should
--- perform any needed database setup.
---
-
---
--- All existing wikilogs and associated metadata.
---
-CREATE TABLE IF NOT EXISTS /*$wgDBprefix*/wikilog_wikilogs (
-  -- Primary key, reference to wikilog front page article.
-  wlw_page INTEGER UNSIGNED NOT NULL,
-
-  -- Serialized PHP object representing the wikilog description or subtitle.
-  wlw_subtitle BLOB NOT NULL,
-
-  -- Image that provides iconic visual identification of the feed.
-  wlw_icon VARCHAR(255) BINARY NOT NULL,
-
-  -- Image that provides visual identification of the feed.
-  wlw_logo VARCHAR(255) BINARY NOT NULL,
-
-  -- Serialized PHP array of authors.
-  wlw_authors BLOB NOT NULL,
-
-  -- Last time the wikilog (including posts) was updated.
-  wlw_updated BINARY(14) NOT NULL,
-
-  PRIMARY KEY (wlw_page),
-  INDEX wlw_updated (wlw_updated)
-
-) /*$wgDBTableOptions*/;
-
---
--- All wikilog posts and associated metadata.
---
-CREATE TABLE IF NOT EXISTS /*$wgDBprefix*/wikilog_posts (
-  -- Primary key, reference to wiki article associated with this post.
-  wlp_page INTEGER UNSIGNED NOT NULL,
-
-  -- Parent wikilog.
-  wlp_parent INTEGER UNSIGNED NOT NULL,
-
-  -- Post title derived from page(page_title), in order to simplify indexing.
-  wlp_title VARCHAR(255) BINARY NOT NULL,
-
-  -- Either if the post was published or not.
-  wlp_publish BOOL NOT NULL DEFAULT FALSE,
-
-  -- If wlp_publish = TRUE, this is the date that the post was published,
-  -- otherwise, it is the date of the last draft revision (for sorting).
-  wlp_pubdate BINARY(14) NOT NULL,
-
-  -- Last time the post was updated.
-  wlp_updated BINARY(14) NOT NULL,
-
-  -- Serialized PHP array of authors.
-  wlp_authors BLOB NOT NULL,
-
-  -- Serialized PHP array of tags.
-  wlp_tags BLOB NOT NULL,
-
-  -- Cached number of comments.
-  wlp_num_comments INTEGER UNSIGNED,
-
-  PRIMARY KEY (wlp_page),
-  INDEX wlp_parent (wlp_parent),
-  INDEX wlp_title (wlp_title),
-  INDEX wlp_pubdate (wlp_pubdate),
-  INDEX wlp_updated (wlp_updated)
-
-) /*$wgDBTableOptions*/;
-
---
--- Authors of each post.
---
-CREATE TABLE IF NOT EXISTS /*$wgDBprefix*/wikilog_authors (
-  -- Reference to post wiki article which this author is associated to.
-  wla_page INTEGER UNSIGNED NOT NULL,
-
-  -- ID of the author of the post.
-  wla_author INTEGER UNSIGNED NOT NULL,
-
-  -- Name of the author of the post.
-  wla_author_text VARCHAR(255) BINARY NOT NULL,
-
-  PRIMARY KEY (wla_page, wla_author_text),
-  INDEX wla_page (wla_page),
-  INDEX wla_author (wla_author),
-  INDEX wla_author_text (wla_author_text)
-
-) /*$wgDBTableOptions*/;
-
---
--- Tags associated with each post.
---
-CREATE TABLE IF NOT EXISTS /*$wgDBprefix*/wikilog_tags (
-  -- Reference to post wiki article which this tag is associated to.
-  wlt_page INTEGER UNSIGNED,
-
-  -- Tag associated with the post.
-  wlt_tag VARCHAR(255) BINARY NOT NULL,
-
-  PRIMARY KEY (wlt_page, wlt_tag),
-  INDEX wlt_tag (wlt_tag)
-
-) /*$wgDBTableOptions*/;
-
---
--- Post comments.
---
-CREATE TABLE IF NOT EXISTS /*$wgDBprefix*/wikilog_comments (
-  -- Unique comment identifier, across the whole wiki.
-  wlc_id INTEGER UNSIGNED auto_increment NOT NULL,
-
-  -- Parent comment, for threaded discussion. NULL for top-level comments.
-  wlc_parent INTEGER UNSIGNED,
-
-  -- Thread history, used for sorting. An array of wlc_id values of all parent
-  -- comments up to and including the current comment. Each id is padded with
-  -- zeros to six digits ("000000") and joined with slashes ("/").
-  wlc_thread VARBINARY(255) NOT NULL DEFAULT '',
-
-  -- Reference to post wiki article which this comment is associated to.
-  wlc_post INTEGER UNSIGNED NOT NULL,
-
-  -- ID of the author of the comment, if a registered user.
-  wlc_user INTEGER UNSIGNED NOT NULL,
-
-  -- Name of the author of the comment.
-  wlc_user_text VARCHAR(255) BINARY NOT NULL,
-
-  -- Name used for anonymous (not logged in) posters.
-  wlc_anon_name VARCHAR(255) BINARY,
-
-  -- Comment status. For hidden or deleted comments, a placeholder is left
-  -- with some description about what happened to the comment.
-  wlc_status ENUM(
-    'OK',               -- OK, comment is visible
-    'PENDING',          -- Comment is pending moderation
-    'DELETED'           -- Comment was deleted
-  ) NOT NULL DEFAULT 'OK',
-
-  -- Date and time the comment was first posted.
-  wlc_timestamp BINARY(14) NOT NULL,
-
-  -- Date and time the comment was edited for the last time.
-  wlc_updated BINARY(14) NOT NULL,
-
-  -- Wiki article that contains this comment, to allow editing, revision
-  -- history and more. This should be joined with `page` and `text` to get
-  -- the actual comment text.
-  wlc_comment_page INTEGER UNSIGNED,
-
-  PRIMARY KEY (wlc_id),
-  INDEX wlc_post_thread (wlc_post, wlc_thread),
-  INDEX wlc_timestamp (wlc_timestamp),
-  INDEX wlc_updated (wlc_updated),
-  INDEX wlc_comment_page (wlc_comment_page)
-
-) /*$wgDBTableOptions*/;