From: preecej Date: Tue, 24 May 2011 00:28:13 +0000 (+0000) Subject: Added initial copy of DataTransfer extension, with intent to extend and X-Git-Url: http://gitweb.planteome.org/?a=commitdiff_plain;h=4809a15df0b045e8c8d229e1efc0b9d36de6b193;p=old-jaiswallab-svn%2F.git Added initial copy of DataTransfer extension, with intent to extend and modify. svn path=/; revision=99 --- diff --git a/preecej/semantic_wiki/extensions/DataTransfer_PS/COPYING b/preecej/semantic_wiki/extensions/DataTransfer_PS/COPYING new file mode 100644 index 0000000..a865928 --- /dev/null +++ b/preecej/semantic_wiki/extensions/DataTransfer_PS/COPYING @@ -0,0 +1,348 @@ +The license text below "----" applies to all files within this distribution, other +than those that are in a directory which contains files named "LICENSE" or +"COPYING", or a subdirectory thereof. For those files, the license text contained in +said file overrides any license information contained in directories of smaller depth. +Alternative licenses are typically used for software that is provided by external +parties, and merely packaged with the Data Transfer release for convenience. +---- + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 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. + + + Copyright (C) + + 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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. + + , 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/preecej/semantic_wiki/extensions/DataTransfer_PS/DataTransfer.php b/preecej/semantic_wiki/extensions/DataTransfer_PS/DataTransfer.php new file mode 100644 index 0000000..a5fbcfd --- /dev/null +++ b/preecej/semantic_wiki/extensions/DataTransfer_PS/DataTransfer.php @@ -0,0 +1,149 @@ + __FILE__, + 'name' => 'Data Transfer', + 'version' => DATA_TRANSFER_VERSION, + 'author' => 'Yaron Koren', + 'url' => 'http://www.mediawiki.org/wiki/Extension:Data_Transfer', + 'descriptionmsg' => 'datatransfer-desc', +); + +### +# This is the path to your installation of Semantic Forms as +# seen on your local filesystem. Used against some PHP file path +# issues. +## +$dtgIP = dirname( __FILE__ ); +## + +// register all special pages and other classes +$wgAutoloadClasses['DTUtils'] = $dtgIP . '/includes/DT_Utils.php'; +$wgSpecialPages['ViewXML'] = 'DTViewXML'; +$wgAutoloadClasses['DTViewXML'] = $dtgIP . '/specials/DT_ViewXML.php'; +$wgSpecialPages['ImportXML'] = 'DTImportXML'; +$wgAutoloadClasses['DTImportXML'] = $dtgIP . '/specials/DT_ImportXML.php'; +$wgSpecialPages['ImportCSV'] = 'DTImportCSV'; +$wgAutoloadClasses['DTImportCSV'] = $dtgIP . '/specials/DT_ImportCSV.php'; +$wgJobClasses['dtImport'] = 'DTImportJob'; +$wgAutoloadClasses['DTImportJob'] = $dtgIP . '/includes/DT_ImportJob.php'; +$wgAutoloadClasses['DTXMLParser'] = $dtgIP . '/includes/DT_XMLParser.php'; +$wgHooks['AdminLinks'][] = 'dtfAddToAdminLinks'; +$wgHooks['smwInitProperties'][] = 'dtfInitProperties'; + +### +# This is the path to your installation of the Data Transfer extension as +# seen from the web. Change it if required ($wgScriptPath is the +# path to the base directory of your wiki). No final slash. +## +$dtgScriptPath = $wgScriptPath . '/extensions/DataTransfer_PS'; +## + +### +# Permission to import files +### +$wgGroupPermissions['sysop']['datatransferimport'] = true; +$wgAvailableRights[] = 'datatransferimport'; + +// initialize content language +require_once($dtgIP . '/languages/DT_Language.php'); +global $wgLanguageCode; +dtfInitContentLanguage($wgLanguageCode); + +$wgExtensionMessagesFiles['DataTransfer'] = $dtgIP . '/languages/DT_Messages.php'; +$wgExtensionAliasesFiles['DataTransfer'] = $dtgIP . '/languages/DT_Aliases.php'; + +/**********************************************/ +/***** language settings *****/ +/**********************************************/ + +/** + * Initialise a global language object for content language. This + * must happen early on, even before user language is known, to + * determine labels for additional namespaces. In contrast, messages + * can be initialised much later when they are actually needed. + */ +function dtfInitContentLanguage( $langcode ) { + global $dtgIP, $dtgContLang; + + if ( !empty( $dtgContLang ) ) { return; } + + $dtContLangClass = 'DT_Language' . str_replace( '-', '_', ucfirst( $langcode ) ); + + if ( file_exists( $dtgIP . '/languages/' . $dtContLangClass . '.php' ) ) { + include_once( $dtgIP . '/languages/' . $dtContLangClass . '.php' ); + } + + // fallback if language not supported + if ( !class_exists( $dtContLangClass ) ) { + include_once( $dtgIP . '/languages/DT_LanguageEn.php' ); + $dtContLangClass = 'DT_LanguageEn'; + } + + $dtgContLang = new $dtContLangClass(); +} + +/** + * Initialise the global language object for user language. This + * must happen after the content language was initialised, since + * this language is used as a fallback. + */ +function dtfInitUserLanguage( $langcode ) { + global $dtgIP, $dtgLang; + + if ( !empty( $dtgLang ) ) { return; } + + $dtLangClass = 'DT_Language' . str_replace( '-', '_', ucfirst( $langcode ) ); + + if ( file_exists( $dtgIP . '/languages/' . $dtLangClass . '.php' ) ) { + include_once( $dtgIP . '/languages/' . $dtLangClass . '.php' ); + } + + // fallback if language not supported + if ( !class_exists( $dtLangClass ) ) { + global $dtgContLang; + $dtgLang = $dtgContLang; + } else { + $dtgLang = new $dtLangClass(); + } +} + +/**********************************************/ +/***** other global helpers *****/ +/**********************************************/ + +function dtfInitProperties() { + global $dtgContLang; + $dt_props = $dtgContLang->getPropertyLabels(); + SMWPropertyValue::registerProperty( '_DT_XG', '_str', $dt_props[DT_HAS_XML_GROUPING], true ); + // TODO - this should set a "backup" English value as well, + // so that the phrase "Has XML grouping" works in all languages + return true; +} + +/** + * Add links to the 'AdminLinks' special page, defined by the Admin Links + * extension + */ +function dtfAddToAdminLinks( $admin_links_tree ) { + $import_export_section = $admin_links_tree->getSection( wfMsg( 'adminlinks_importexport' ) ); + $main_row = $import_export_section->getRow( 'main' ); + $main_row->addItem( ALItem::newFromSpecialPage( 'ViewXML' ) ); + $main_row->addItem( ALItem::newFromSpecialPage( 'ImportXML' ) ); + $main_row->addItem( ALItem::newFromSpecialPage( 'ImportCSV' ) ); + return true; +} diff --git a/preecej/semantic_wiki/extensions/DataTransfer_PS/INSTALL b/preecej/semantic_wiki/extensions/DataTransfer_PS/INSTALL new file mode 100644 index 0000000..16462b6 --- /dev/null +++ b/preecej/semantic_wiki/extensions/DataTransfer_PS/INSTALL @@ -0,0 +1,31 @@ +[[Data Transfer 0.3.8]] + +Contents: +* Disclaimer +* Requirements +* Installation +* Contact + +== Disclaimer == + +For a proper legal disclaimer, see the file "COPYING". + +== Requirements == + +The extension can make use of, but does not require, an install of +Semantic MediaWiki. If Semantic MediaWiki is used, it must be of +version 1.0 or greater. For more details, see Semantic MediaWiki's +own installation requirements. + +== Installation == + +(1) Extract the archive to obtain the directory "DataTransfer" + that contains all relevant files. Copy this directory (or + extract/download it) to "[wikipath]/extensions/". +(2) Insert the following line into the file "[wikipath]/LocalSettings.php": + include_once('extensions/DataTransfer/DataTransfer.php'); + +== Contact == + +If you have any issues or questions, please send them to +yaron57@gmail.com. diff --git a/preecej/semantic_wiki/extensions/DataTransfer_PS/README b/preecej/semantic_wiki/extensions/DataTransfer_PS/README new file mode 100644 index 0000000..66652b3 --- /dev/null +++ b/preecej/semantic_wiki/extensions/DataTransfer_PS/README @@ -0,0 +1,24 @@ +== About == + +Data Transfer is an extension to MediaWiki that both exports XML +based on the current contents of pages in a wiki, and imports pages +in both XML format (using the same structure as the XML export) and +CSV format. Both the XML and CSV formats use template calls, and +the fields within them, to define the data structure. Any text that +is not within a template calls gets placed into one or more "free +text" fields. + +For more information on Data Transfer, see the extension +homepage at +http://www.mediawiki.org/wiki/Extension:Data_Transfer + +Notes on installing Data Transfer can be found in the file INSTALL. + +== Credits == + +Data Transfer was written by Yaron Koren. + +== Contact == + +Comments, questions, suggestions and bug reports should be +sent to Yaron at yaron57@gmail.com. diff --git a/preecej/semantic_wiki/extensions/DataTransfer_PS/data_transfer_0.3.8.tar.gz b/preecej/semantic_wiki/extensions/DataTransfer_PS/data_transfer_0.3.8.tar.gz new file mode 100644 index 0000000..8c58be9 Binary files /dev/null and b/preecej/semantic_wiki/extensions/DataTransfer_PS/data_transfer_0.3.8.tar.gz differ diff --git a/preecej/semantic_wiki/extensions/DataTransfer_PS/includes/DT_ImportJob.php b/preecej/semantic_wiki/extensions/DataTransfer_PS/includes/DT_ImportJob.php new file mode 100644 index 0000000..3a5e76f --- /dev/null +++ b/preecej/semantic_wiki/extensions/DataTransfer_PS/includes/DT_ImportJob.php @@ -0,0 +1,53 @@ +title ) ) { + $this->error = "dtImport: Invalid title"; + wfProfileOut( __METHOD__ ); + return false; + } + + $article = new Article( $this->title ); + if ( !$article ) { + $this->error = 'dtImport: Article not found "' . $this->title->getPrefixedDBkey() . '"'; + wfProfileOut( __METHOD__ ); + return false; + } + $for_pages_that_exist = $this->params['for_pages_that_exist']; + if ( $for_pages_that_exist == 'skip' && $this->title->exists() ) { + return true; + } + + // change global $wgUser variable to the one specified by + // the job only for the extent of this import + global $wgUser; + $actual_user = $wgUser; + $wgUser = User::newFromId( $this->params['user_id'] ); + $text = $this->params['text']; + if ( $for_pages_that_exist == 'append' && $this->title->exists() ) { + $text = $article->getContent() . "\n" . $text; + } + $edit_summary = $this->params['edit_summary']; + $article->doEdit( $text, $edit_summary ); + $wgUser = $actual_user; + wfProfileOut( __METHOD__ ); + return true; + } +} diff --git a/preecej/semantic_wiki/extensions/DataTransfer_PS/includes/DT_Utils.php b/preecej/semantic_wiki/extensions/DataTransfer_PS/includes/DT_Utils.php new file mode 100644 index 0000000..30736b1 --- /dev/null +++ b/preecej/semantic_wiki/extensions/DataTransfer_PS/includes/DT_Utils.php @@ -0,0 +1,89 @@ +

+ +END; + $text .= "\t" . '
' . "\n"; + return $text; + } + + static function printExistingPagesHandling() { + $text = "\t" . Xml::element( 'p', null, wfMsg( 'dt_import_forexisting' ) ) . "\n"; + $existingPagesText = "\n\t" . + Xml::element( 'input', + array( + 'type' => 'radio', + 'name' => 'pagesThatExist', + 'value' => 'overwrite', + 'checked' => 'checked' + ) ) . "\n" . + "\t" . wfMsg( 'dt_import_overwriteexisting' ) . "
" . "\n" . + "\t" . Xml::element( 'input', + array( + 'type' => 'radio', + 'name' => 'pagesThatExist', + 'value' => 'skip', + ) ) . "\n" . + "\t" . wfMsg( 'dt_import_skipexisting' ) . "
" . "\n" . + "\t" . Xml::element( 'input', + array( + 'type' => 'radio', + 'name' => 'pagesThatExist', + 'value' => 'append', + ) ) . "\n" . + "\t" . wfMsg( 'dt_import_appendtoexisting' ) . "
" . "\n\t"; + $text .= "\t" . Xml::tags( 'p', null, $existingPagesText ) . "\n"; + $text .= "\t" . '
' . "\n"; + return $text; + } + + static function printImportSummaryInput( $fileType ) { + $importSummaryText = "\t" . Xml::element( 'input', + array( + 'type' => 'text', + 'id' => 'wpSummary', // ID is necessary for CSS formatting + 'class' => 'mw-summary', + 'name' => 'import_summary', + 'value' => wfMsgForContent( 'dt_import_editsummary', $fileType ) + ) + ) . "\n"; + return "\t" . Xml::tags( 'p', null, + wfMsg( 'dt_import_summarydesc' ) . "\n" . + $importSummaryText ) . "\n"; + } + + static function printSubmitButton() { + $formSubmitText = Xml::element( 'input', + array( + 'type' => 'submit', + 'name' => 'import_file', + 'value' => wfMsg( 'import-interwiki-submit' ) + ) + ); + return "\t" . Xml::tags( 'p', null, $formSubmitText ) . "\n"; + } +} diff --git a/preecej/semantic_wiki/extensions/DataTransfer_PS/includes/DT_XMLParser.php b/preecej/semantic_wiki/extensions/DataTransfer_PS/includes/DT_XMLParser.php new file mode 100644 index 0000000..c8c48e0 --- /dev/null +++ b/preecej/semantic_wiki/extensions/DataTransfer_PS/includes/DT_XMLParser.php @@ -0,0 +1,273 @@ +mName = $name; + } + + function addField( $name, $value ) { + $this->mFields[$name] = $value; + } + + function createText() { + $multi_line_template = false; + $text = '{{' . $this->mName; + foreach ( $this->mFields as $field_name => $field_val ) { + if ( is_numeric( $field_name ) ) { + $text .= "|$field_val"; + } else { + $text .= "\n|$field_name=$field_val"; + $multi_line_template = true; + } + } + if ( $multi_line_template ) + $text .= "\n"; + $text .= '}}' . "\n"; + return $text; + } +} + +class DTWikiPage { + private $mPageName = null; + private $mElements = array(); + + public function DTWikiPage( $name ) { + $this->mPageName = $name; + } + + function getName() { + return $this->mPageName; + } + + function addTemplate( $template ) { + $this->mElements[] = $template; + } + + function addFreeText( $free_text ) { + $this->mElements[] = $free_text; + } + + function createText() { + $text = ""; + foreach ( $this->mElements as $elem ) { + if ( $elem instanceof DTWikiTemplate ) { + $text .= $elem->createText(); + } else { + $text .= $elem; + } + } + return $text; + } +} + +class DTXMLParser { + var $mDebug = false; + var $mSource = null; + var $mCurFieldName = null; + var $mCurFieldValue = ''; + var $mCurTemplate = null; + var $mCurPage = null; // new DTWikiPage(); + var $mPages = array(); + + function __construct( $source ) { + $this->mSource = $source; + } + + function debug( $text ) { + // print "$text. "; + } + + function throwXMLerror( $text ) { + print htmlspecialchars( $text ); + } + + function doParse() { + $parser = xml_parser_create( "UTF-8" ); + + # case folding violates XML standard, turn it off + xml_parser_set_option( $parser, XML_OPTION_CASE_FOLDING, false ); + + xml_set_object( $parser, $this ); + xml_set_element_handler( $parser, "in_start", "" ); + + $offset = 0; // for context extraction on error reporting + do { + $chunk = $this->mSource->readChunk(); + if ( !xml_parse( $parser, $chunk, $this->mSource->atEnd() ) ) { + wfDebug( "WikiImporter::doImport encountered XML parsing error\n" ); + // return new WikiXmlError( $parser, wfMsgHtml( 'import-parse-failure' ), $chunk, $offset ); + } + $offset += strlen( $chunk ); + } while ( $chunk !== false && !$this->mSource->atEnd() ); + xml_parser_free( $parser ); + } + + function donothing( $parser, $x, $y = "" ) { + # $this->debug( "donothing" ); + } + + + function in_start( $parser, $name, $attribs ) { + // $this->debug( "in_start $name" ); + $pages_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_pages' ) ); + if ( $name != $pages_str ) { + print( "Expected '$pages_str', got '$name'" ); + } + xml_set_element_handler( $parser, "in_pages", "out_pages" ); + } + + function in_pages( $parser, $name, $attribs ) { + $this->debug( "in_pages $name" ); + $page_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_page' ) ); + if ( $name == $page_str ) { + $title_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_title' ) ); + if ( array_key_exists( $title_str, $attribs ) ) { + $this->mCurPage = new DTWikiPage( $attribs[$title_str] ); + xml_set_element_handler( $parser, "in_page", "out_page" ); + } else { + return $this->throwXMLerror( "'$title_str' attribute missing for page" ); + } + } else { + return $this->throwXMLerror( "Expected <$page_str>, got <$name>" ); + } + } + + function out_pages( $parser, $name ) { + $this->debug( "out_pages $name" ); + $pages_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_pages' ) ); +/* + if( $name != $pages_str ) { + return $this->throwXMLerror( "Expected , got " ); + } +*/ + xml_set_element_handler( $parser, "donothing", "donothing" ); + } + + function in_category( $parser, $name, $attribs ) { + $this->debug( "in_category $name" ); + $page_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_page' ) ); + if ( $name == $page_str ) { + if ( array_key_exists( $title_str, $attribs ) ) { + $this->mCurPage = new DTWikiPage( $attribs[$title_str] ); + xml_set_element_handler( $parser, "in_page", "out_page" ); + } else { + return $this->throwXMLerror( "'$title_str' attribute missing for page" ); + } + } else { + return $this->throwXMLerror( "Expected <$page_str>, got <$name>" ); + } + } + + function out_category( $parser, $name ) { + $this->debug( "out_category $name" ); + if ( $name != "category" ) { + return $this->throwXMLerror( "Expected , got " ); + } + xml_set_element_handler( $parser, "donothing", "donothing" ); + } + + function in_page( $parser, $name, $attribs ) { + $this->debug( "in_page $name" ); + $template_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_template' ) ); + $name_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_name' ) ); + $free_text_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_freetext' ) ); + if ( $name == $template_str ) { + if ( array_key_exists( $name_str, $attribs ) ) { + $this->mCurTemplate = new DTWikiTemplate( $attribs[$name_str] ); + xml_set_element_handler( $parser, "in_template", "out_template" ); + } else { + return $this->throwXMLerror( "'$name_str' attribute missing for template" ); + } + } elseif ( $name == $free_text_str ) { + xml_set_element_handler( $parser, "in_freetext", "out_freetext" ); + xml_set_character_data_handler( $parser, "freetext_value" ); + } else { + return $this->throwXMLerror( "Expected <$template_str>, got <$name>" ); + } + } + + function out_page( $parser, $name ) { + $this->debug( "out_page $name" ); + $page_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_page' ) ); + if ( $name != $page_str ) { + return $this->throwXMLerror( "Expected , got " ); + } + $this->mPages[] = $this->mCurPage; + xml_set_element_handler( $parser, "in_pages", "out_pages" ); + } + + function in_template( $parser, $name, $attribs ) { + $this->debug( "in_template $name" ); + $field_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_field' ) ); + if ( $name == $field_str ) { + $name_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_name' ) ); + if ( array_key_exists( $name_str, $attribs ) ) { + $this->mCurFieldName = $attribs[$name_str]; + // $this->push( $name ); + $this->workRevisionCount = 0; + $this->workSuccessCount = 0; + $this->uploadCount = 0; + $this->uploadSuccessCount = 0; + xml_set_element_handler( $parser, "in_field", "out_field" ); + xml_set_character_data_handler( $parser, "field_value" ); + } else { + return $this->throwXMLerror( "'$name_str' attribute missing for field" ); + } + } else { + return $this->throwXMLerror( "Expected <$field_str>, got <$name>" ); + } + } + + function out_template( $parser, $name ) { + $this->debug( "out_template $name" ); + $template_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_template' ) ); + if ( $name != $template_str ) { + return $this->throwXMLerror( "Expected , got " ); + } + $this->mCurPage->addTemplate( $this->mCurTemplate ); + xml_set_element_handler( $parser, "in_page", "out_page" ); + } + + function in_field( $parser, $name, $attribs ) { + // xml_set_element_handler( $parser, "donothing", "donothing" ); + } + + function out_field( $parser, $name ) { + $this->debug( "out_field $name" ); + $field_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_field' ) ); + if ( $name == $field_str ) { + $this->mCurTemplate->addField( $this->mCurFieldName, $this->mCurFieldValue ); + $this->mCurFieldValue = ''; + } else { + return $this->throwXMLerror( "Expected , got " ); + } + xml_set_element_handler( $parser, "in_template", "out_template" ); + } + + function field_value( $parser, $data ) { + $this->mCurFieldValue .= $data; + } + + function in_freetext( $parser, $name, $attribs ) { + // xml_set_element_handler( $parser, "donothing", "donothing" ); + } + + function out_freetext( $parser, $name ) { + xml_set_element_handler( $parser, "in_page", "out_page" ); + } + + function freetext_value( $parser, $data ) { + $this->mCurPage->addFreeText( $data ); + } + +} diff --git a/preecej/semantic_wiki/extensions/DataTransfer_PS/languages/DT_Aliases.php b/preecej/semantic_wiki/extensions/DataTransfer_PS/languages/DT_Aliases.php new file mode 100644 index 0000000..96a1809 --- /dev/null +++ b/preecej/semantic_wiki/extensions/DataTransfer_PS/languages/DT_Aliases.php @@ -0,0 +1,274 @@ + array( 'ImportCSV' ), + 'ImportXML' => array( 'ImportXML' ), + 'ViewXML' => array( 'ViewXML' ), +); + +/** Afrikaans (Afrikaans) */ +$specialPageAliases['af'] = array( + 'ViewXML' => array( 'WysXML' ), +); + +/** Arabic (العربية) */ +$specialPageAliases['ar'] = array( + 'ViewXML' => array( 'عرض_إكس_إم_إل' ), +); + +/** Egyptian Spoken Arabic (مصرى) */ +$specialPageAliases['arz'] = array( + 'ViewXML' => array( 'عرض_XML' ), +); + +/** Breton (Brezhoneg) */ +$specialPageAliases['br'] = array( + 'ViewXML' => array( 'GweletXML' ), +); + +/** Bosnian (Bosanski) */ +$specialPageAliases['bs'] = array( + 'ViewXML' => array( 'VidiXML' ), +); + +/** German (Deutsch) */ +$specialPageAliases['de'] = array( + 'ImportCSV' => array( 'CSV_importieren' ), + 'ImportXML' => array( 'XML_importieren' ), + 'ViewXML' => array( 'XML_anzeigen' ), +); + +/** Esperanto (Esperanto) */ +$specialPageAliases['eo'] = array( + 'ViewXML' => array( 'Montri_XML' ), +); + +/** Spanish (Español) */ +$specialPageAliases['es'] = array( + 'ViewXML' => array( 'Ver_XML', 'VerXML' ), +); + +/** Basque (Euskara) */ +$specialPageAliases['eu'] = array( + 'ViewXML' => array( 'XMLIkusi' ), +); + +/** Persian (فارسی) */ +$specialPageAliases['fa'] = array( + 'ImportCSV' => array( 'درون‌ریزی_سی‌اس‌وی' ), + 'ImportXML' => array( 'درون‌ریزی_اکس‌ام‌ال' ), + 'ViewXML' => array( 'مشاهده_اکس‌ام‌ال' ), +); + +/** Finnish (Suomi) */ +$specialPageAliases['fi'] = array( + 'ImportCSV' => array( 'Tuo_CSV' ), + 'ImportXML' => array( 'Tuo_XML' ), + 'ViewXML' => array( 'Näytä_XML' ), +); + +/** French (Français) */ +$specialPageAliases['fr'] = array( + 'ImportCSV' => array( 'Importer_CVS', 'ImporterCVS' ), + 'ImportXML' => array( 'Importer_XML', 'ImporterXML' ), + 'ViewXML' => array( 'Voir_le_XML', 'Voir_XML', 'VoirXML' ), +); + +/** Franco-Provençal (Arpetan) */ +$specialPageAliases['frp'] = array( + 'ViewXML' => array( 'Vêre_lo_XML', 'VêreLoXML' ), +); + +/** Galician (Galego) */ +$specialPageAliases['gl'] = array( + 'ViewXML' => array( 'Ver XML' ), +); + +/** Swiss German (Alemannisch) */ +$specialPageAliases['gsw'] = array( + 'ViewXML' => array( 'Lueg XML' ), +); + +/** Gujarati (ગુજરાતી) */ +$specialPageAliases['gu'] = array( + 'ViewXML' => array( 'XMLજુઓ' ), +); + +/** Hungarian (Magyar) */ +$specialPageAliases['hu'] = array( + 'ViewXML' => array( 'XML_megtekintése' ), +); + +/** Interlingua (Interlingua) */ +$specialPageAliases['ia'] = array( + 'ImportCSV' => array( 'Importar_CSV' ), + 'ImportXML' => array( 'Importar_XML' ), + 'ViewXML' => array( 'Visualisar_XML' ), +); + +/** Indonesian (Bahasa Indonesia) */ +$specialPageAliases['id'] = array( + 'ViewXML' => array( 'Lihat_XML', 'LihatXML' ), +); + +/** Italian (Italiano) */ +$specialPageAliases['it'] = array( + 'ImportCSV' => array( 'ImportaCSV' ), + 'ImportXML' => array( 'ImportaXML' ), + 'ViewXML' => array( 'VediXML' ), +); + +/** Japanese (日本語) */ +$specialPageAliases['ja'] = array( + 'ImportCSV' => array( 'CSVインポート' ), + 'ImportXML' => array( 'XMLインポート' ), + 'ViewXML' => array( 'XML表示', 'XML表示' ), +); + +/** Khmer (ភាសាខ្មែរ) */ +$specialPageAliases['km'] = array( + 'ViewXML' => array( 'មើលXML' ), +); + +/** Colognian (Ripoarisch) */ +$specialPageAliases['ksh'] = array( + 'ImportCSV' => array( 'CSV_Empotteere' ), + 'ImportXML' => array( 'XML_Empoteere' ), + 'ViewXML' => array( 'XML_beloore' ), +); + +/** Ladino (Ladino) */ +$specialPageAliases['lad'] = array( + 'ImportCSV' => array( 'Aktarear_CSV_Ariento' ), + 'ImportXML' => array( 'Aktarear_XML_Ariento' ), + 'ViewXML' => array( 'Ver_XML' ), +); + +/** Luxembourgish (Lëtzebuergesch) */ +$specialPageAliases['lb'] = array( + 'ImportCSV' => array( 'CSV_importéieren' ), + 'ImportXML' => array( 'XML_importéieren' ), + 'ViewXML' => array( 'XML_weisen' ), +); + +/** Macedonian (Македонски) */ +$specialPageAliases['mk'] = array( + 'ViewXML' => array( 'ВидиXML' ), +); + +/** Malayalam (മലയാളം) */ +$specialPageAliases['ml'] = array( + 'ImportCSV' => array( 'സി.എസ്.വി.ഇറക്കുമതി' ), + 'ImportXML' => array( 'എക്സ്.എം.എൽ.ഇറക്കുമതി' ), + 'ViewXML' => array( 'എക്സ്.എം.എൽ.കാണുക' ), +); + +/** Marathi (मराठी) */ +$specialPageAliases['mr'] = array( + 'ViewXML' => array( 'XMLपहा' ), +); + +/** Maltese (Malti) */ +$specialPageAliases['mt'] = array( + 'ViewXML' => array( 'UriXML' ), +); + +/** Nedersaksisch (Nedersaksisch) */ +$specialPageAliases['nds-nl'] = array( + 'ViewXML' => array( 'XML_bekieken' ), +); + +/** Dutch (Nederlands) */ +$specialPageAliases['nl'] = array( + 'ImportCSV' => array( 'CSVImporteren' ), + 'ImportXML' => array( 'XMLImporteren' ), + 'ViewXML' => array( 'XMLBekijken' ), +); + +/** Norwegian (bokmål)‬ (‪Norsk (bokmål)‬) */ +$specialPageAliases['no'] = array( + 'ViewXML' => array( 'Vis_XML' ), +); + +/** Occitan (Occitan) */ +$specialPageAliases['oc'] = array( + 'ViewXML' => array( 'Veire_XML', 'VeireXML' ), +); + +/** Polish (Polski) */ +$specialPageAliases['pl'] = array( + 'ViewXML' => array( 'XML' ), +); + +/** Portuguese (Português) */ +$specialPageAliases['pt'] = array( + 'ViewXML' => array( 'Ver_XML' ), +); + +/** Romanian (Română) */ +$specialPageAliases['ro'] = array( + 'ImportCSV' => array( 'Import_CSV', 'ImportCSV' ), + 'ImportXML' => array( 'Import_XML', 'ImportXML' ), + 'ViewXML' => array( 'Vizualizare_XML' ), +); + +/** Sanskrit (संस्कृत) */ +$specialPageAliases['sa'] = array( + 'ViewXML' => array( 'XMLपश्यति' ), +); + +/** Slovak (Slovenčina) */ +$specialPageAliases['sk'] = array( + 'ViewXML' => array( 'ZobraziťXML' ), +); + +/** Albanian (Shqip) */ +$specialPageAliases['sq'] = array( + 'ViewXML' => array( 'ShihXML' ), +); + +/** Swedish (Svenska) */ +$specialPageAliases['sv'] = array( + 'ViewXML' => array( 'Visa_XML' ), +); + +/** Swahili (Kiswahili) */ +$specialPageAliases['sw'] = array( + 'ViewXML' => array( 'OnyeshaXML' ), +); + +/** Tagalog (Tagalog) */ +$specialPageAliases['tl'] = array( + 'ViewXML' => array( 'Tingnan ang XML' ), +); + +/** Turkish (Türkçe) */ +$specialPageAliases['tr'] = array( + 'ViewXML' => array( 'XMLGör' ), +); + +/** Татарча (Татарча) */ +$specialPageAliases['tt-cyrl'] = array( + 'ImportCSV' => array( 'CSV_импорт' ), + 'ImportXML' => array( 'XML_импорт' ), + 'ViewXML' => array( 'XML_иттереп_ачу' ), +); + +/** Vèneto (Vèneto) */ +$specialPageAliases['vec'] = array( + 'ViewXML' => array( 'VardaXML' ), +); + +/** + * For backwards compatibility with MediaWiki 1.15 and earlier. + */ +$aliases =& $specialPageAliases; \ No newline at end of file diff --git a/preecej/semantic_wiki/extensions/DataTransfer_PS/languages/DT_Language.php b/preecej/semantic_wiki/extensions/DataTransfer_PS/languages/DT_Language.php new file mode 100644 index 0000000..00e7b5c --- /dev/null +++ b/preecej/semantic_wiki/extensions/DataTransfer_PS/languages/DT_Language.php @@ -0,0 +1,34 @@ + DT_SP_HAS_XML_GROUPING, + 'Excluded from XML' => DT_SP_IS_EXCLUDED_FROM_XML, + ); + + /** + * Function that returns the labels for the special properties. + */ + function getPropertyLabels() { + return $this->m_SpecialProperties; + } + + /** + * Aliases for special properties, if any. + */ + function getPropertyAliases() { + return $this->m_SpecialPropertyAliases; + } +} diff --git a/preecej/semantic_wiki/extensions/DataTransfer_PS/languages/DT_LanguageEn.php b/preecej/semantic_wiki/extensions/DataTransfer_PS/languages/DT_LanguageEn.php new file mode 100644 index 0000000..49bb88d --- /dev/null +++ b/preecej/semantic_wiki/extensions/DataTransfer_PS/languages/DT_LanguageEn.php @@ -0,0 +1,13 @@ + 'Has XML grouping', + DT_SP_IS_EXCLUDED_FROM_XML => 'Excluded from XML' +); + +} diff --git a/preecej/semantic_wiki/extensions/DataTransfer_PS/languages/DT_Messages.php b/preecej/semantic_wiki/extensions/DataTransfer_PS/languages/DT_Messages.php new file mode 100644 index 0000000..2032380 --- /dev/null +++ b/preecej/semantic_wiki/extensions/DataTransfer_PS/languages/DT_Messages.php @@ -0,0 +1,2503 @@ + 'Allows for importing and exporting data contained in template calls', + 'viewxml' => 'View XML', + 'dt_viewxml_docu' => 'Please select among the following categories and namespaces to view in XML format.', + 'dt_viewxml_categories' => 'Categories', + 'dt_viewxml_namespaces' => 'Namespaces', + 'dt_viewxml_simplifiedformat' => 'Simplified format', + 'dt_xml_namespace' => 'Namespace', + 'dt_xml_pages' => 'Pages', + 'dt_xml_page' => 'Page', + 'dt_xml_template' => 'Template', + 'dt_xml_field' => 'Field', + 'dt_xml_name' => 'Name', + 'dt_xml_title' => 'Title', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Free Text', + 'importxml' => 'Import XML', + 'dt_import_selectfile' => 'Please select the $1 file to import:', + 'dt_import_encodingtype' => 'Encoding type:', + 'dt_import_forexisting' => 'For pages that already exist:', + 'dt_import_overwriteexisting' => 'Overwrite existing content', + 'dt_import_skipexisting' => 'Skip', + 'dt_import_appendtoexisting' => 'Append to existing content', + 'dt_import_summarydesc' => 'Summary of import:', + 'dt_import_editsummary' => '$1 import', + 'dt_import_importing' => 'Importing...', + 'dt_import_success' => '$1 {{PLURAL:$1|page|pages}} will be created from the $2 file.', + 'importcsv' => 'Import CSV', + 'dt_importcsv_badheader' => "Error: the column $1 header, '$2', must be either '$3', '$4' or of the form 'template_name[field_name]'", + 'right-datatransferimport' => 'Import data', +); + +/** Message documentation (Message documentation) + * @author EugeneZelenko + * @author Fryed-peach + * @author Jon Harald Søby + * @author Purodha + * @author Raymond + * @author Siebrand + */ +$messages['qqq'] = array( + 'datatransfer-desc' => 'Extension description displayed on [[Special:Version]].', + 'dt_viewxml_categories' => '{{Identical|Categories}}', + 'dt_viewxml_namespaces' => '{{Identical|Namespaces}}', + 'dt_xml_namespace' => '{{Identical|Namespace}} +Used as XML tag name.', + 'dt_xml_pages' => '{{Identical|Pages}} + +Used as XML tag name.', + 'dt_xml_page' => '{{Identical|Page}} +Used as XML tag name.', + 'dt_xml_template' => '{{Identical|Template}} +Used as XML tag name.', + 'dt_xml_field' => '{{Identical|Field}} +Used as XML tag name.', + 'dt_xml_name' => '{{Identical|Name}} + +Used as XML tag name.', + 'dt_xml_title' => '{{Identical|Title}} +Used as XML tag name.', + 'dt_xml_id' => '{{Identical|ID}} + +Used as XML tag name.', + 'dt_xml_freetext' => '{{Identical|Free text}} +Used as XML tag name.', + 'dt_import_selectfile' => '$1 is the file format: either CSV or XML', + 'dt_import_encodingtype' => 'The type of encoding for the file: either UTF-8 or UTF-16', + 'dt_import_skipexisting' => '{{Identical|Skip}}', + 'dt_import_editsummary' => '$1 is the file format: either CSV or XML', + 'dt_import_success' => 'Parameters: +* $1 is the number of pages +* $2 is the file format: either CSV or XML', + 'dt_importcsv_badheader' => 'The text "template_name[field_name]" can be translated. +*$1 is a column number in the first row of the CVS file +*$2 is the value found for the $1th colomn in the first line of the CSV file +*$3 is the title label +*$4 is a free text label', + 'right-datatransferimport' => '{{doc-right}}', +); + +/** Faeag Rotuma (Faeag Rotuma) + * @author Jose77 + */ +$messages['rtm'] = array( + 'dt_viewxml_categories' => 'Katekori', +); + +/** Afrikaans (Afrikaans) + * @author Arnobarnard + * @author Naudefj + */ +$messages['af'] = array( + 'datatransfer-desc' => 'Maak die laai en ontlaai van gestruktureerde gegewens in sjabloonaanroepe moontlik', + 'viewxml' => 'Sien XML', + 'dt_viewxml_docu' => 'Kies een van die volgende kategorieë en naamruimtes om in XML-formaat te sien.', + 'dt_viewxml_categories' => 'Ketagorieë', + 'dt_viewxml_namespaces' => 'Naamruimtes', + 'dt_viewxml_simplifiedformat' => 'Vereenvoudigde formaat', + 'dt_xml_namespace' => 'Naamruimte', + 'dt_xml_pages' => 'Bladsye', + 'dt_xml_page' => 'Bladsy', + 'dt_xml_template' => 'Sjabloon', + 'dt_xml_field' => 'Veld', + 'dt_xml_name' => 'Naam', + 'dt_xml_title' => 'Titel', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Vrye teks', + 'importxml' => 'Laai XML', + 'dt_import_selectfile' => 'Kies die $1 lêer om te laai:', + 'dt_import_encodingtype' => 'Enkoderingstipe:', + 'dt_import_skipexisting' => 'Slaan oor', + 'dt_import_editsummary' => '$1-laai', + 'dt_import_importing' => 'Besig om te laai...', + 'dt_import_success' => '$1 {{PLURAL:$1|bladsy|bladsye}} sal geskep word vanaf die lêer $2.', + 'importcsv' => 'Laai CSV', + 'dt_importcsv_badheader' => 'Fout: Die opskrif van kolom $1, "$2", moet "$3" of "$4" wees, of in die vorm "sjabloonnaam[veldnaam]" genoteer word.', + 'right-datatransferimport' => 'Laai data', +); + +/** Gheg Albanian (Gegë) + * @author Mdupont + */ +$messages['aln'] = array( + 'datatransfer-desc' => 'Lejon për import dhe eksport të dhënave të përmbajtura në modelin e quan', + 'viewxml' => 'Shiko XML', + 'dt_viewxml_docu' => 'Ju lutem zgjidhni midis kategorive të mëposhtme dhe hapësira për të parë në formatin XML.', + 'dt_viewxml_categories' => 'Kategoritë', + 'dt_viewxml_namespaces' => 'Hapësira', + 'dt_viewxml_simplifiedformat' => 'Formati i thjeshtuar', + 'dt_xml_namespace' => 'Hapësira', + 'dt_xml_pages' => 'Faqet', + 'dt_xml_page' => 'Faqe', + 'dt_xml_template' => 'Shabllon', + 'dt_xml_field' => 'Fushë', + 'dt_xml_name' => 'Emër', + 'dt_xml_title' => 'Titull', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Free Tekst', + 'importxml' => 'Importi XML', + 'dt_import_selectfile' => 'Ju lutem përzgjidhni kartelën $1 për të importuar:', + 'dt_import_encodingtype' => 'Encoding lloj:', + 'dt_import_editsummary' => '$1 importit', + 'dt_import_importing' => 'Importimi ...', + 'dt_import_success' => '$1 {{PLURAL:$1|faqe|faqe}} do të krijohet nga file $2.', + 'importcsv' => 'Importi CSV', + 'dt_importcsv_badheader' => "Gabim: $1 column header, '$2', duhet të jenë ose '$3', '$4' ose të formës 'template_name [field_name]'", + 'right-datatransferimport' => 'Të dhënat e importit', +); + +/** Amharic (አማርኛ) + * @author Codex Sinaiticus + */ +$messages['am'] = array( + 'dt_viewxml_categories' => 'መደቦች', + 'dt_viewxml_namespaces' => 'ክፍለ-ዊኪዎች', + 'dt_xml_namespace' => 'ክፍለ-ዊኪ', + 'dt_xml_name' => 'ስም', + 'dt_xml_title' => 'አርዕስት', +); + +/** Aragonese (Aragonés) + * @author Juanpabl + * @author Remember the dot + */ +$messages['an'] = array( + 'dt_viewxml_namespaces' => 'Espacios de nombres', + 'dt_xml_namespace' => 'Espacio de nombres', + 'dt_xml_page' => 'Pachina', + 'dt_xml_template' => 'Plantilla', + 'dt_xml_name' => 'Nombre', +); + +/** Arabic (العربية) + * @author Meno25 + * @author OsamaK + */ +$messages['ar'] = array( + 'datatransfer-desc' => 'يسمح باستيراد وتصدير بيانات محتواة في استدعاءات قالب', + 'viewxml' => 'عرض XML', + 'dt_viewxml_docu' => 'من فضلك اختر من بين التصنيفات والنطاقات التالية للعرض في صيغة XML.', + 'dt_viewxml_categories' => 'تصنيفات', + 'dt_viewxml_namespaces' => 'نطاقات', + 'dt_viewxml_simplifiedformat' => 'صيغة مبسطة', + 'dt_xml_namespace' => 'نطاق', + 'dt_xml_pages' => 'صفحات', + 'dt_xml_page' => 'صفحة', + 'dt_xml_template' => 'قالب', + 'dt_xml_field' => 'حقل', + 'dt_xml_name' => 'اسم', + 'dt_xml_title' => 'عنوان', + 'dt_xml_id' => 'رقم', + 'dt_xml_freetext' => 'نص حر', + 'importxml' => 'استيراد XML', + 'dt_import_selectfile' => 'من فضلك اختر ملف $1 للاستيراد:', + 'dt_import_encodingtype' => 'نوع الترميز:', + 'dt_import_editsummary' => 'استيراد $1', + 'dt_import_importing' => 'جاري الاستيراد...', + 'dt_import_success' => 'سوف تُنشأ {{PLURAL:$1||صفحة واحدة|صفحتين|$1 صفحات|$1 صفحة}} من ملف $2.', + 'importcsv' => 'استورد CSV', + 'dt_importcsv_badheader' => "خطأ: عنوان العامود $1، '$2'، يجب أن يكون إما '$3'، '$4' أو من الصيغة 'template_name[field_name]'", + 'right-datatransferimport' => 'استورد بيانات', +); + +/** Aramaic (ܐܪܡܝܐ) + * @author Basharh + */ +$messages['arc'] = array( + 'dt_viewxml_categories' => 'ܣܕܪ̈ܐ', + 'dt_viewxml_namespaces' => 'ܚܩܠܬ̈ܐ', + 'dt_xml_namespace' => 'ܚܩܠܐ', + 'dt_xml_pages' => 'ܕ̈ܦܐ', + 'dt_xml_page' => 'ܕܦܐ', + 'dt_xml_template' => 'ܩܠܒܐ', + 'dt_xml_name' => 'ܫܡܐ', + 'dt_xml_title' => 'ܟܘܢܝܐ', + 'dt_xml_id' => 'ܗܝܝܘܬܐ', + 'dt_import_summarydesc' => 'ܦܣܝܩܬ̈ܐ ܕܡܥܠܢܘܬܐ:', + 'right-datatransferimport' => 'ܡܥܠܢܘܬܐ ܕܓܠܝܬ̈ܐ', +); + +/** Araucanian (Mapudungun) + * @author Remember the dot + */ +$messages['arn'] = array( + 'dt_xml_page' => 'Pakina', +); + +/** Egyptian Spoken Arabic (مصرى) + * @author Dudi + * @author Ghaly + * @author Meno25 + */ +$messages['arz'] = array( + 'datatransfer-desc' => 'بيسمح بـ import و export للداتا اللى جوّا القالب', + 'viewxml' => 'شوف XML', + 'dt_viewxml_docu' => 'لو سمحت اختار من التصانيف و اسامى المساحات الجايه علشان العرض فى XML format.', + 'dt_viewxml_categories' => 'تصانيف', + 'dt_viewxml_namespaces' => 'مساحات اسامى', + 'dt_viewxml_simplifiedformat' => 'format متبسطه', + 'dt_xml_namespace' => 'اسم مساحه', + 'dt_xml_pages' => 'صفح', + 'dt_xml_page' => 'صفحه', + 'dt_xml_template' => 'قالب', + 'dt_xml_field' => 'حقل', + 'dt_xml_name' => 'اسم', + 'dt_xml_title' => 'عنوان', + 'dt_xml_id' => 'رقم', + 'dt_xml_freetext' => 'نص حر', + 'dt_import_selectfile' => 'لو سمحت اختار فايل $1 علشان تعمل import:', + 'dt_import_editsummary' => 'استوراد $1', + 'dt_import_success' => '$1 {{PLURAL:$1|صفحه|صفحه}} ح يتعملو من الفايل $2.', +); + +/** Belarusian (Беларуская) + * @author Тест + */ +$messages['be'] = array( + 'dt_viewxml_categories' => 'Катэгорыі', + 'dt_xml_template' => 'Шаблон', +); + +/** Belarusian (Taraškievica orthography) (‪Беларуская (тарашкевіца)‬) + * @author EugeneZelenko + * @author Jim-by + * @author Wizardist + */ +$messages['be-tarask'] = array( + 'datatransfer-desc' => 'Дазваляе імпартаваць і экспартаваць зьвесткі, якія ўтрымліваюцца ў выкліках шаблёнах', + 'viewxml' => 'Паказаць XML', + 'dt_viewxml_docu' => 'Калі ласка, выберыце што праглядаць у фармаце XML сярод наступных катэгорыяў і прастораў назваў.', + 'dt_viewxml_categories' => 'Катэгорыі', + 'dt_viewxml_namespaces' => 'Прасторы назваў', + 'dt_viewxml_simplifiedformat' => 'Спрошчаны фармат', + 'dt_xml_namespace' => 'Прастора назваў', + 'dt_xml_pages' => 'Старонкі', + 'dt_xml_page' => 'Старонка', + 'dt_xml_template' => 'Шаблён', + 'dt_xml_field' => 'Поле', + 'dt_xml_name' => 'Назва', + 'dt_xml_title' => 'Назва', + 'dt_xml_id' => 'Ідэнтыфікатар', + 'dt_xml_freetext' => 'Вольны тэкст', + 'importxml' => 'Імпарт XML', + 'dt_import_selectfile' => 'Калі ласка, выберыце файл у фармаце $1 для імпарту:', + 'dt_import_encodingtype' => 'Тып кадыроўкі:', + 'dt_import_forexisting' => 'Для старонак якія ўжо існуюць:', + 'dt_import_overwriteexisting' => 'Перазапісваць існуючы зьмест', + 'dt_import_skipexisting' => 'Прапускаць', + 'dt_import_appendtoexisting' => 'Далучаць да існуючага зьместу', + 'dt_import_summarydesc' => 'Кароткае апісаньне імпарту:', + 'dt_import_editsummary' => 'імпарт $1', + 'dt_import_importing' => 'Імпартаваньне...', + 'dt_import_success' => '$1 {{PLURAL:$1|старонка будзе|старонкі будуць|старонак будзе}} створана з файла ў фармаце $2.', + 'importcsv' => 'Імпарт CSV', + 'dt_importcsv_badheader' => "Памылка: загаловак слупка $1, '$2', павінен быць адным з '$3', '$4' альбо у форме 'назва_шаблёну[назва_поля]'", + 'right-datatransferimport' => 'імпарт зьвестак', +); + +/** Bulgarian (Български) + * @author DCLXVI + */ +$messages['bg'] = array( + 'viewxml' => 'Преглед на XML', + 'dt_viewxml_categories' => 'Категории', + 'dt_viewxml_namespaces' => 'Именни пространства', + 'dt_viewxml_simplifiedformat' => 'Опростен формат', + 'dt_xml_namespace' => 'Именно пространство', + 'dt_xml_pages' => 'Страници', + 'dt_xml_page' => 'Страница', + 'dt_xml_template' => 'Шаблон', + 'dt_xml_field' => 'Поле', + 'dt_xml_name' => 'Име', + 'dt_xml_title' => 'Заглавие', + 'dt_xml_id' => 'Номер', + 'dt_xml_freetext' => 'Свободен текст', + 'importxml' => 'Внасяне на XML', + 'dt_import_importing' => 'Внасяне...', + 'importcsv' => 'Внасяне на CSV', + 'right-datatransferimport' => 'Внасяне на данни', +); + +/** Breton (Brezhoneg) + * @author Fohanno + * @author Fulup + * @author Gwendal + * @author Y-M D + */ +$messages['br'] = array( + 'datatransfer-desc' => 'Aotreañ a ra da enporzhiañ hag ezporzhiañ roadennoù eus galvoù patromoù', + 'viewxml' => 'Gwelet XML', + 'dt_viewxml_docu' => 'Dibabit e-touez ar rummadoù hag an esaouennoù anv da heul evit gwelet er furmad XML.', + 'dt_viewxml_categories' => 'Rummadoù', + 'dt_viewxml_namespaces' => 'Esaouennoù anv', + 'dt_viewxml_simplifiedformat' => 'Furmad eeunaet', + 'dt_xml_namespace' => 'Esaouenn anv', + 'dt_xml_pages' => 'Pajennoù', + 'dt_xml_page' => 'Pajenn', + 'dt_xml_template' => 'Patrom', + 'dt_xml_field' => 'Maezienn', + 'dt_xml_name' => 'Anv', + 'dt_xml_title' => 'Titl', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Testenn dieub', + 'importxml' => 'Enporzhiañ XML', + 'dt_import_selectfile' => 'Dibabit ar restr $1 da enporzhiañ :', + 'dt_import_encodingtype' => 'Seurt enkodadur :', + 'dt_import_forexisting' => 'Evit pajennoù zo anezho dija :', + 'dt_import_overwriteexisting' => "erlec'hiañ an endalc'had zo anezhañ dija", + 'dt_import_skipexisting' => 'Lezel a-gostez', + 'dt_import_appendtoexisting' => "Ouzhpennañ d'an endalc'had zo anezhañ dija", + 'dt_import_summarydesc' => 'Diverradenn an enporzh :', + 'dt_import_editsummary' => 'Enporzhiadur $1', + 'dt_import_importing' => "Oc'h enporzhiañ...", + 'dt_import_success' => '$1 {{PLURAL:$1|bajenn|pajenn}} a vo krouet diwar ar restr $2.', + 'importcsv' => 'Enporzh CSV', + 'dt_importcsv_badheader' => 'Fazi : titl ar bann $1, "$2", a rank bezañ "$3", "$4" pe gant ar stumm "anv_ar_patrom[anv_ar_vaezienn]"', + 'right-datatransferimport' => 'Enporzhiañ roadennoù', +); + +/** Bosnian (Bosanski) + * @author CERminator + */ +$messages['bs'] = array( + 'datatransfer-desc' => 'Omogućuje uvoz i izvoz podataka koji su sadržani u pozivima šablona', + 'viewxml' => 'Pregledaj XML', + 'dt_viewxml_docu' => 'Molimo Vas odaberite unutar slijedećih kategorija i imenskih prostora za pregled u XML formatu.', + 'dt_viewxml_categories' => 'Kategorije', + 'dt_viewxml_namespaces' => 'Imenski prostori', + 'dt_viewxml_simplifiedformat' => 'Pojednostavljeni format', + 'dt_xml_namespace' => 'Imenski prostor', + 'dt_xml_pages' => 'Stranice', + 'dt_xml_page' => 'Stranica', + 'dt_xml_template' => 'Šablon', + 'dt_xml_field' => 'Polje', + 'dt_xml_name' => 'Naziv', + 'dt_xml_title' => 'Naslov', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Slobodni tekst', + 'importxml' => 'Uvezi XML', + 'dt_import_selectfile' => 'Molimo odaberite $1 datoteku za uvoz:', + 'dt_import_encodingtype' => 'Tip šifriranja:', + 'dt_import_forexisting' => 'Za stranice koje već postoje:', + 'dt_import_overwriteexisting' => 'Piši preko postojećeg sadržaja', + 'dt_import_skipexisting' => 'Preskoči', + 'dt_import_appendtoexisting' => 'Dodaj na postojeći sadržaj', + 'dt_import_summarydesc' => 'Sažetak uvoza:', + 'dt_import_editsummary' => '$1 uvoz', + 'dt_import_importing' => 'Uvoz...', + 'dt_import_success' => '$1 {{PLURAL:$1|stranica|stranice|stranica}} će biti napravljeno iz $2 datoteke.', + 'importcsv' => 'Uvoz CSV', + 'dt_importcsv_badheader' => "Greška: zaglavlje $1 kolone, '$2', mora biti ili '$3', '$4' ili od obrasca 'template_name[field_name]'", + 'right-datatransferimport' => 'Uvoz podataka', +); + +/** Catalan (Català) + * @author Jordi Roqué + * @author SMP + * @author Solde + * @author Toniher + */ +$messages['ca'] = array( + 'datatransfer-desc' => 'Permet importar i exportar les dades que contenen les crides de les plantilles', + 'viewxml' => "Visualitza l'XML", + 'dt_viewxml_docu' => "Seleccioneu d'entre les següents categories i espais de noms per a veure'l en format XML.", + 'dt_viewxml_categories' => 'Categories', + 'dt_viewxml_namespaces' => 'Espais de noms', + 'dt_viewxml_simplifiedformat' => 'Format simplificat', + 'dt_xml_namespace' => 'Espai de noms', + 'dt_xml_pages' => 'Pàgines', + 'dt_xml_page' => 'Pàgina', + 'dt_xml_template' => 'Plantilla', + 'dt_xml_field' => 'Camp', + 'dt_xml_name' => 'Nom', + 'dt_xml_title' => 'Títol', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Text lliure', + 'importxml' => 'Importa un XML', + 'dt_import_selectfile' => 'Seleccioneu el fitxer $1 per importar:', + 'dt_import_encodingtype' => 'Joc de caràcters:', + 'dt_import_summarydesc' => 'Resum de la importació:', + 'dt_import_editsummary' => 'Importació $1', + 'dt_import_importing' => "S'està important...", + 'dt_import_success' => '$1 {{PLURAL:$1|pàgina|pàgines}} es crearan des del fitxer $2.', + 'importcsv' => 'Importa un CSV', + 'dt_importcsv_badheader' => "Error: la capçalera de la columna $1, '$2', ha de ser o bé '$3', '$4' o bé de la forma 'template_name[field_name]'", + 'right-datatransferimport' => 'Importa les dades', +); + +/** Chechen (Нохчийн) + * @author Sasan700 + */ +$messages['ce'] = array( + 'dt_xml_template' => 'Куцкеп', +); + +/** Czech (Česky) + * @author Jkjk + * @author Matěj Grabovský + */ +$messages['cs'] = array( + 'datatransfer-desc' => 'Umožňuje import a export strukturovaných údajů v buňkách šablon.', + 'viewxml' => 'Zobrazit XML', + 'dt_viewxml_categories' => 'Kategorie', + 'dt_viewxml_namespaces' => 'Jmenné prostory', + 'dt_viewxml_simplifiedformat' => 'Zjednodušený formát', + 'dt_xml_namespace' => 'Jmenný prostor', + 'dt_xml_pages' => 'Stránky', + 'dt_xml_page' => 'Stránka', + 'dt_xml_template' => 'Šablona', + 'dt_xml_field' => 'Pole', + 'dt_xml_name' => 'Název', + 'dt_xml_title' => 'Název', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Libovolný text', + 'importxml' => 'Importovat XML', + 'dt_import_selectfile' => 'Prosím vyberte $1 soubor k importu:', + 'dt_import_encodingtype' => 'Typ kódování:', + 'dt_import_summarydesc' => 'Shrnutí importu:', + 'dt_import_editsummary' => 'import $1', + 'dt_import_importing' => 'Probíhá import...', + 'dt_import_success' => ' $1 {{PLURAL:$1|stránky|stránky|stránek}} bude vytvořeno z $2 souboru.', + 'importcsv' => 'Import CSV', + 'right-datatransferimport' => 'Importovat data', +); + +/** Danish (Dansk) + * @author Jon Harald Søby + */ +$messages['da'] = array( + 'dt_viewxml_categories' => 'Kategorier', + 'dt_xml_namespace' => 'Navnerum', + 'dt_xml_page' => 'Side', + 'dt_xml_name' => 'Navn', + 'dt_xml_title' => 'Titel', + 'dt_xml_id' => 'ID', +); + +/** German (Deutsch) + * @author Als-Holder + * @author Kghbln + * @author Krabina + * @author Revolus + * @author Umherirrender + */ +$messages['de'] = array( + 'datatransfer-desc' => 'Ermöglicht den Export von Daten im XML-Format sowie den Import von Daten im XML- und CSV-Format', + 'viewxml' => 'XML ansehen', + 'dt_viewxml_docu' => 'Bitte auswählen, welche Kategorien und Namensräume im XML-Format angezeigt werden sollen:', + 'dt_viewxml_categories' => 'Kategorien', + 'dt_viewxml_namespaces' => 'Namensräume', + 'dt_viewxml_simplifiedformat' => 'Vereinfachtes Format', + 'dt_xml_namespace' => 'Namensraum', + 'dt_xml_pages' => 'Seiten', + 'dt_xml_page' => 'Seite', + 'dt_xml_template' => 'Vorlage', + 'dt_xml_field' => 'Feld', + 'dt_xml_name' => 'Name', + 'dt_xml_title' => 'Titel', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Freitext', + 'importxml' => 'XML-Datei importieren', + 'dt_import_selectfile' => 'Bitte die zu importierende $1-Datei auswählen:', + 'dt_import_encodingtype' => 'Zeichenkodierung:', + 'dt_import_forexisting' => 'Im Fall von Seiten, die bereits vorhanden sind:', + 'dt_import_overwriteexisting' => 'Vorhandenen Inhalt überschreiben', + 'dt_import_skipexisting' => 'Seite nicht importieren', + 'dt_import_appendtoexisting' => 'Vorhandenen Inhalt ergänzen', + 'dt_import_summarydesc' => 'Zusammenfassung zum Import:', + 'dt_import_editsummary' => '$1-Import', + 'dt_import_importing' => 'Importiere …', + 'dt_import_success' => '$1 {{PLURAL:$1|Seite|Seiten}} werden aus der $2-Datei importiert.', + 'importcsv' => 'CSV-Datei importieren', + 'dt_importcsv_badheader' => "'''Fehler:''' Der Kopf der Spalte $1, „$2“, muss entweder „$3“, „$4“ oder im Format „Vorlagenname[Feldname]“ sein", + 'right-datatransferimport' => 'Daten importieren', +); + +/** Lower Sorbian (Dolnoserbski) + * @author Michawiki + */ +$messages['dsb'] = array( + 'datatransfer-desc' => 'Zmóžnja importěrowanje a eksportěrowanje datow w zawołanjach pśedłogow', + 'viewxml' => 'XML se woglědaś', + 'dt_viewxml_docu' => 'Pšosym wubjeŕ, kótare slědujucych kategorijow a mjenjowych rumow maju se pokazaś w formaśe XML.', + 'dt_viewxml_categories' => 'Kategorije', + 'dt_viewxml_namespaces' => 'Mjenjowe rumy', + 'dt_viewxml_simplifiedformat' => 'Zjadnorjony format', + 'dt_xml_namespace' => 'Mjenjowy rum', + 'dt_xml_pages' => 'Boki', + 'dt_xml_page' => 'Bok', + 'dt_xml_template' => 'Pśedłoga', + 'dt_xml_field' => 'Pólo', + 'dt_xml_name' => 'Mě', + 'dt_xml_title' => 'Titel', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Lichy tekst', + 'importxml' => 'XML importěrowaś', + 'dt_import_selectfile' => 'Pšosym wubjeŕ dataju $1 za importěrowanje:', + 'dt_import_encodingtype' => 'Typ znamuškowego koda:', + 'dt_import_forexisting' => 'Za boki, kótarež južo ekistěruju:', + 'dt_import_overwriteexisting' => 'Eksistěrujuce wopśimjeśe pśepisaś', + 'dt_import_skipexisting' => 'Pśeskócyś', + 'dt_import_appendtoexisting' => 'K eksistěrujucemu wopśimjeśoju pśipowjesyś', + 'dt_import_summarydesc' => 'Zespominanje importa:', + 'dt_import_editsummary' => 'Importěrowanje $1', + 'dt_import_importing' => 'Importěrujo se...', + 'dt_import_success' => '$1 {{PLURAL:$1|bok twóri|boka twóritej|boki twórje|bokow twóri}} se z dataje $2.', + 'importcsv' => 'Importěrowanje CSV', + 'dt_importcsv_badheader' => "Zmólka: głowa słupa $1, '$2', musy pak '$3', '$4' byś pak formu 'mě_pśedłogi[mě_póla]' měś", + 'right-datatransferimport' => 'Daty importěrowaś', +); + +/** Ewe (Eʋegbe) */ +$messages['ee'] = array( + 'dt_xml_page' => 'Axa', +); + +/** Greek (Ελληνικά) + * @author Consta + * @author Crazymadlover + * @author Omnipaedista + */ +$messages['el'] = array( + 'viewxml' => 'Προβολή XML', + 'dt_viewxml_categories' => 'Κατηγορίες', + 'dt_viewxml_namespaces' => 'Περιοχές ονομάτων', + 'dt_xml_namespace' => 'Περιοχή ονομάτων', + 'dt_xml_pages' => 'Σελίδες', + 'dt_xml_page' => 'Σελίδα', + 'dt_xml_template' => 'Πρότυπο', + 'dt_xml_field' => 'Πεδίο', + 'dt_xml_name' => 'Όνομα', + 'dt_xml_title' => 'Τίτλος', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Ελεύθερο Κείμενο', + 'importxml' => 'Εισαγωγή σε XML', + 'dt_import_encodingtype' => 'Τύπος κωδικοποίησης', + 'dt_import_editsummary' => 'Εισαγωγή $1', + 'dt_import_importing' => 'Εισάγεται...', + 'importcsv' => 'Εισαγωγή CSV', + 'right-datatransferimport' => 'Εισαγωγή δεδομένων', +); + +/** Esperanto (Esperanto) + * @author Michawiki + * @author Yekrats + */ +$messages['eo'] = array( + 'datatransfer-desc' => 'Permesas importadon kaj eksportadon de datumoj enhave en ŝablonaj vokoj', + 'viewxml' => 'Rigardu XML-on', + 'dt_viewxml_docu' => 'Bonvolu elekti inter la subaj kategorioj kaj nomspacoj por rigardi en XML-formato.', + 'dt_viewxml_categories' => 'Kategorioj', + 'dt_viewxml_namespaces' => 'Nomspacoj', + 'dt_viewxml_simplifiedformat' => 'Simpligita formato', + 'dt_xml_namespace' => 'Nomspaco', + 'dt_xml_pages' => 'Paĝoj', + 'dt_xml_page' => 'Paĝo', + 'dt_xml_template' => 'Ŝablono', + 'dt_xml_field' => 'Kampo', + 'dt_xml_name' => 'Nomo', + 'dt_xml_title' => 'Titolo', + 'dt_xml_id' => 'identigo', + 'dt_xml_freetext' => 'Libera Teksto', + 'importxml' => 'Importi XML', + 'dt_import_editsummary' => '$1 importo', + 'dt_import_importing' => 'Importante...', + 'importcsv' => 'Importi CSV', + 'right-datatransferimport' => 'Importi datenojn', +); + +/** Spanish (Español) + * @author Crazymadlover + * @author Imre + * @author Locos epraix + * @author Peter17 + * @author Sanbec + * @author Translationista + */ +$messages['es'] = array( + 'datatransfer-desc' => 'Permite importar y exportar datos contenidos en llamadas de plantilla', + 'viewxml' => 'Ver XML', + 'dt_viewxml_docu' => 'Por favor seleccionar entre las siguientes categorías y nombres de espacio para ver en formato XML.', + 'dt_viewxml_categories' => 'Categorías', + 'dt_viewxml_namespaces' => 'Espacios de nombres', + 'dt_viewxml_simplifiedformat' => 'Formato simplificado', + 'dt_xml_namespace' => 'Espacio de nombres', + 'dt_xml_pages' => 'Páginas', + 'dt_xml_page' => 'Página', + 'dt_xml_template' => 'Plantilla', + 'dt_xml_field' => 'Campo', + 'dt_xml_name' => 'Nombre', + 'dt_xml_title' => 'Título', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Texto libre', + 'importxml' => 'Importar XML', + 'dt_import_selectfile' => 'Por favor seleccione el archivo $1 a importar:', + 'dt_import_encodingtype' => 'Tipo de codificación:', + 'dt_import_summarydesc' => 'Resumen de importación:', + 'dt_import_editsummary' => '$1 importación', + 'dt_import_importing' => 'Importando...', + 'dt_import_success' => '$1 {{PLURAL:$1|página|páginas}} serán creadas del archivo $2.', + 'importcsv' => 'Importar CSV', + 'dt_importcsv_badheader' => 'Error : el título de columna $1, "$2", tiene que ser "$3", "$4" o de la forma \'nombre_de_plantilla[nombre_del_campo]\'', + 'right-datatransferimport' => 'Importar datos', +); + +/** Estonian (Eesti) + * @author Avjoska + * @author Pikne + */ +$messages['et'] = array( + 'dt_viewxml_categories' => 'Kategooriad', + 'dt_viewxml_namespaces' => 'Nimeruumid', + 'dt_viewxml_simplifiedformat' => 'Lihtsustatud vorming', + 'dt_xml_namespace' => 'Nimeruum', + 'dt_xml_pages' => 'Leheküljed', + 'dt_xml_page' => 'Lehekülg', + 'dt_xml_template' => 'Mall', + 'dt_xml_name' => 'Nimi', +); + +/** Basque (Euskara) + * @author Kobazulo + */ +$messages['eu'] = array( + 'viewxml' => 'XML ikusi', + 'dt_viewxml_categories' => 'Kategoriak', + 'dt_xml_pages' => 'Orrialdeak', + 'dt_xml_page' => 'Orrialdea', + 'dt_xml_template' => 'Txantiloia', + 'dt_xml_field' => 'Eremua', + 'dt_xml_name' => 'Izena', + 'dt_xml_title' => 'Izenburua', + 'importxml' => 'XML inportatu', + 'dt_import_selectfile' => 'Mesedez, aukera ezazu inportatzeko $1 fitxategia:', + 'dt_import_editsummary' => '$1 inportatu', + 'dt_import_importing' => 'Inportatzen...', + 'importcsv' => 'CSV inportatu', + 'right-datatransferimport' => 'Datuak inportatu', +); + +/** Persian (فارسی) + * @author Mjbmr + */ +$messages['fa'] = array( + 'dt_xml_template' => 'الگو', + 'dt_xml_name' => 'نام', + 'dt_xml_title' => 'عنوان', +); + +/** Finnish (Suomi) + * @author Centerlink + * @author Crt + * @author Nike + * @author Str4nd + * @author Vililikku + */ +$messages['fi'] = array( + 'datatransfer-desc' => 'Mahdollistaa tuoda ja viedä dataa, joka on mallinekutsuissa.', + 'viewxml' => 'Näytä XML', + 'dt_viewxml_docu' => 'Valitse yksi seuraavista luokista ja nimiavaruuksista tarkasteltavaksi XML-muodossa.', + 'dt_viewxml_categories' => 'Luokat', + 'dt_viewxml_namespaces' => 'Nimiavaruudet', + 'dt_viewxml_simplifiedformat' => 'Yksinkertaistettu muoto', + 'dt_xml_namespace' => 'Nimiavaruus', + 'dt_xml_pages' => 'Sivut', + 'dt_xml_page' => 'Sivu', + 'dt_xml_template' => 'Malline', + 'dt_xml_field' => 'Kenttä', + 'dt_xml_name' => 'Nimi', + 'dt_xml_title' => 'Otsikko', + 'dt_xml_id' => 'Tunnus', + 'dt_xml_freetext' => 'Vapaa teksti', + 'importxml' => 'XML-tuonti', + 'dt_import_selectfile' => 'Valitse $1-tiedosto tuotavaksi:', + 'dt_import_encodingtype' => 'Merkistötyyppi:', + 'dt_import_skipexisting' => 'Ohita', + 'dt_import_summarydesc' => 'Tuonnin yhteenveto', + 'dt_import_editsummary' => '$1-tuonti', + 'dt_import_importing' => 'Tuodaan...', + 'dt_import_success' => '$1 {{PLURAL:$1|sivu|sivua}} luodaan $2-tiedostosta.', + 'importcsv' => 'CSV-tuonti', + 'dt_importcsv_badheader' => "Virhe: sarake $1 otsake, '$2', on oltava joko '$3', '$4' tai muotoa 'mallinne_nimi[kenttä_nimi]'", + 'right-datatransferimport' => 'Tuoda tiedot', +); + +/** French (Français) + * @author Crochet.david + * @author Grondin + * @author IAlex + * @author Peter17 + * @author PieRRoMaN + * @author Zetud + */ +$messages['fr'] = array( + 'datatransfer-desc' => 'Permet l’import et l’export de données contenues dans des appels de modèles', + 'viewxml' => 'Voir XML', + 'dt_viewxml_docu' => 'Veuillez sélectionner parmi les catégories et les espaces de noms suivants afin de visionner au format XML.', + 'dt_viewxml_categories' => 'Catégories', + 'dt_viewxml_namespaces' => 'Espaces de noms', + 'dt_viewxml_simplifiedformat' => 'Format simplifié', + 'dt_xml_namespace' => 'Espace de noms', + 'dt_xml_pages' => 'Pages', + 'dt_xml_page' => 'Page', + 'dt_xml_template' => 'Modèle', + 'dt_xml_field' => 'Champ', + 'dt_xml_name' => 'Nom', + 'dt_xml_title' => 'Titre', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Texte libre', + 'importxml' => 'Import en XML', + 'dt_import_selectfile' => 'Veuillez sélectionner le fichier $1 à importer :', + 'dt_import_encodingtype' => 'Type d’encodage:', + 'dt_import_forexisting' => 'Pour les pages qui existent déjà :', + 'dt_import_overwriteexisting' => 'Remplacer le contenu existant', + 'dt_import_skipexisting' => 'Passer', + 'dt_import_appendtoexisting' => 'Ajouter au contenu existant', + 'dt_import_summarydesc' => 'Résumé de l’import :', + 'dt_import_editsummary' => 'Import de $1', + 'dt_import_importing' => 'Import en cours...', + 'dt_import_success' => '$1 {{PLURAL:$1|page sera créée|pages seront créées}} depuis le fichier $2.', + 'importcsv' => 'Import CSV', + 'dt_importcsv_badheader' => 'Erreur : le titre de colonne $1, « $2 », doit être soit « $3 », « $4 » ou de la forme « nom_du_modèle[nom_du_champ] »', + 'right-datatransferimport' => 'Importer des données', +); + +/** Franco-Provençal (Arpetan) + * @author Cedric31 + */ +$messages['frp'] = array( + 'dt_viewxml_categories' => 'Catègories', + 'dt_viewxml_namespaces' => 'Èspâços de noms', + 'dt_xml_namespace' => 'Èspâço de noms', + 'dt_xml_pages' => 'Pâges', + 'dt_xml_page' => 'Pâge', + 'dt_xml_template' => 'Modèlo', +); + +/** Western Frisian (Frysk) + * @author Snakesteuben + */ +$messages['fy'] = array( + 'dt_viewxml_namespaces' => 'Nammeromten', + 'dt_xml_page' => 'Side', + 'dt_xml_name' => 'Namme', +); + +/** Irish (Gaeilge) + * @author Alison + */ +$messages['ga'] = array( + 'dt_xml_namespace' => 'Ainmspás', +); + +/** Galician (Galego) + * @author Alma + * @author Toliño + */ +$messages['gl'] = array( + 'datatransfer-desc' => 'Permite importar e exportar datos contidos en chamadas de modelos', + 'viewxml' => 'Ver XML', + 'dt_viewxml_docu' => 'Por favor seleccione entre as seguintes categorías e espazos de nomes para ver en formato XML.', + 'dt_viewxml_categories' => 'Categorías', + 'dt_viewxml_namespaces' => 'Espazos de nomes', + 'dt_viewxml_simplifiedformat' => 'Formato simplificado', + 'dt_xml_namespace' => 'Espazo de nomes', + 'dt_xml_pages' => 'Páxinas', + 'dt_xml_page' => 'Páxina', + 'dt_xml_template' => 'Modelo', + 'dt_xml_field' => 'Campo', + 'dt_xml_name' => 'Nome', + 'dt_xml_title' => 'Título', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Texto Libre', + 'importxml' => 'Importar XML', + 'dt_import_selectfile' => 'Por favor, seleccione o ficheiro $1 a importar:', + 'dt_import_encodingtype' => 'Tipo de codificación:', + 'dt_import_forexisting' => 'Para páxinas que xa existen:', + 'dt_import_overwriteexisting' => 'Sobrescribir o contido existente', + 'dt_import_skipexisting' => 'Saltar', + 'dt_import_appendtoexisting' => 'Engadir ao contido existente', + 'dt_import_summarydesc' => 'Resumo da importación:', + 'dt_import_editsummary' => 'Importación en $1', + 'dt_import_importing' => 'Importando...', + 'dt_import_success' => '{{PLURAL:$1|Unha páxina será creada|$1 páxinas serán creadas}} a partir do ficheiro $2.', + 'importcsv' => 'Importación en CSV', + 'dt_importcsv_badheader' => 'Erro: a cabeceira da columna $1, "$2", debe ser un "$3", "$4" ou do formulario "template_name[field_name]"', + 'right-datatransferimport' => 'Importar datos', +); + +/** Gothic (Gothic) + * @author Jocke Pirat + */ +$messages['got'] = array( + 'dt_xml_namespace' => 'Seidofera', +); + +/** Ancient Greek (Ἀρχαία ἑλληνικὴ) + * @author Crazymadlover + * @author Omnipaedista + */ +$messages['grc'] = array( + 'dt_viewxml_categories' => 'Κατηγορίαι', + 'dt_viewxml_namespaces' => 'Ὀνοματεῖα', + 'dt_xml_namespace' => 'Ὀνοματεῖον', + 'dt_xml_pages' => 'Δέλτοι', + 'dt_xml_page' => 'Δέλτος', + 'dt_xml_template' => 'Πρότυπον', + 'dt_xml_field' => 'Πεδίον', + 'dt_xml_name' => 'Ὄνομα', + 'dt_xml_title' => 'Ἐπιγραφή', + 'dt_xml_freetext' => 'Ἐλεύθερον κείμενον', +); + +/** Swiss German (Alemannisch) + * @author Als-Holder + * @author J. 'mach' wust + */ +$messages['gsw'] = array( + 'datatransfer-desc' => 'Macht dr Import un dr Export vu strukturierte Date megli, wu in Ufrief vu Vorlage bruucht wäre.', + 'viewxml' => 'XML aaluege', + 'dt_viewxml_docu' => 'Bitte wehl uus, weli Kategorien un Namensryym im XML-Format solle aazeigt wäre.', + 'dt_viewxml_categories' => 'Kategorie', + 'dt_viewxml_namespaces' => 'Namensryym', + 'dt_viewxml_simplifiedformat' => 'Vereifacht Format', + 'dt_xml_namespace' => 'Namensruum', + 'dt_xml_pages' => 'Syte', + 'dt_xml_page' => 'Syte', + 'dt_xml_template' => 'Vorlag', + 'dt_xml_field' => 'Fäld', + 'dt_xml_name' => 'Name', + 'dt_xml_title' => 'Titel', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Freje Täxt', + 'importxml' => 'XML importiere', + 'dt_import_selectfile' => 'Bitte wehl d $1-Datei zum importiere uus:', + 'dt_import_encodingtype' => 'Verschlisseligstyp:', + 'dt_import_forexisting' => 'Im Fall vu Syte, wu s scho git:', + 'dt_import_overwriteexisting' => 'Vorhandene Inhalt iberschryybe', + 'dt_import_skipexisting' => 'Ibergumpe', + 'dt_import_appendtoexisting' => 'Vorhandene Inhalt ergänze', + 'dt_import_summarydesc' => 'Zämmefassig vum Import:', + 'dt_import_editsummary' => '$1-Import', + 'dt_import_importing' => 'Am Importiere ...', + 'dt_import_success' => '$1 {{PLURAL:$1|Syte|Syte}} wäre us dr $2-Datei aagleit.', + 'importcsv' => 'CSV-Datei importiere', + 'dt_importcsv_badheader' => "Fähler: d Spalte $1 Iberschrift, '$2', muess entwäder '$3', '$4' syy oder us em Format 'template_name[field_name]'", + 'right-datatransferimport' => 'Date importiere', +); + +/** Manx (Gaelg) + * @author MacTire02 + */ +$messages['gv'] = array( + 'viewxml' => 'Jeeagh er XML', + 'dt_viewxml_categories' => 'Ronnaghyn', + 'dt_xml_page' => 'Duillag', + 'dt_xml_name' => 'Ennym', + 'dt_xml_title' => 'Ard-ennym', + 'dt_xml_freetext' => 'Teks seyr', +); + +/** Hausa (هَوُسَ) */ +$messages['ha'] = array( + 'dt_xml_namespace' => 'Sararin suna', + 'dt_xml_page' => 'Shafi', +); + +/** Hawaiian (Hawai`i) + * @author Singularity + */ +$messages['haw'] = array( + 'dt_xml_page' => '‘Ao‘ao', + 'dt_xml_name' => 'Inoa', +); + +/** Hebrew (עברית) + * @author Amire80 + * @author Rotemliss + * @author YaronSh + */ +$messages['he'] = array( + 'datatransfer-desc' => 'אפשרות לייבא ולייצא נתונים בתבניות', + 'viewxml' => 'הצגת XML', + 'dt_viewxml_docu' => 'אנא בחרו את מרחבי השם והקטגוריות אותם תרצו להציג בפורמט XML.', + 'dt_viewxml_categories' => 'קטגוריות', + 'dt_viewxml_namespaces' => 'מרחבי שם', + 'dt_viewxml_simplifiedformat' => 'מבנה מפושט', + 'dt_xml_namespace' => 'מרחב שם', + 'dt_xml_pages' => 'דפים', + 'dt_xml_page' => 'דף', + 'dt_xml_template' => 'תבנית', + 'dt_xml_field' => 'שדה', + 'dt_xml_name' => 'שם', + 'dt_xml_title' => 'כותרת', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'טקסט חופשי', + 'importxml' => 'יבוא XML', + 'dt_import_selectfile' => 'אנא בחרו את קובץ ה־$1 ליבוא:', + 'dt_import_encodingtype' => 'סוג הקידוד:', + 'dt_import_forexisting' => 'עבור הדפים שכבר קיימים:', + 'dt_import_overwriteexisting' => 'לדרוס את התוכן הקיים', + 'dt_import_skipexisting' => 'לדלג', + 'dt_import_appendtoexisting' => 'לצרף את התוכן הקיים', + 'dt_import_summarydesc' => 'תקציר היבוא:', + 'dt_import_editsummary' => 'יבוא $1', + 'dt_import_importing' => 'מתבצע יבוא...', + 'dt_import_success' => '{{PLURAL:$1|דף אחד ייוצר|$1 דפים ייוצרו}} מקובץ ה־$2.', + 'importcsv' => 'יבוא CSV', + 'dt_importcsv_badheader' => "שגיאה: כותרת העמודה $1, '$2', חייבת להיות או '$3', '$4' או מהצורה 'שם_התבנית[שם_השדה]'", + 'right-datatransferimport' => 'יבוא נתונים', +); + +/** Hindi (हिन्दी) + * @author Kaustubh + */ +$messages['hi'] = array( + 'datatransfer-desc' => 'टेम्प्लेट कॉल में उपलब्ध डाटाकी आयात-निर्यात करने की अनुमति देता हैं', + 'viewxml' => 'XML देखें', + 'dt_viewxml_docu' => 'कॄपया XML में देखने के लिये श्रेणीयाँ और नामस्थान चुनें।', + 'dt_viewxml_categories' => 'श्रेणीयाँ', + 'dt_viewxml_namespaces' => 'नामस्थान', + 'dt_viewxml_simplifiedformat' => 'आसान फॉरमैट', + 'dt_xml_namespace' => 'नामस्थान', + 'dt_xml_page' => 'पन्ना', + 'dt_xml_field' => 'फिल्ड़', + 'dt_xml_name' => 'नाम', + 'dt_xml_title' => 'शीर्षक', + 'dt_xml_id' => 'आईडी', + 'dt_xml_freetext' => 'मुक्त पाठ', +); + +/** Croatian (Hrvatski) + * @author Dalibor Bosits + */ +$messages['hr'] = array( + 'dt_viewxml_categories' => 'Kategorije', + 'dt_xml_namespace' => 'Imenski prostor', + 'dt_xml_page' => 'Stranica', +); + +/** Upper Sorbian (Hornjoserbsce) + * @author Michawiki + */ +$messages['hsb'] = array( + 'datatransfer-desc' => 'Dowola importowanje a eksportowanje datow, kotrež su we wołanjach předłohow wobsahowane', + 'viewxml' => 'XML wobhladać', + 'dt_viewxml_docu' => 'Prošu wubjer ze slědowacych kategorijow a mjenowych rumow, zo by w XML-formaće wobhladał.', + 'dt_viewxml_categories' => 'Kategorije', + 'dt_viewxml_namespaces' => 'Mjenowe rumy', + 'dt_viewxml_simplifiedformat' => 'Zjednorjeny format', + 'dt_xml_namespace' => 'Mjenowy rum', + 'dt_xml_pages' => 'Strony', + 'dt_xml_page' => 'Strona', + 'dt_xml_template' => 'Předłoha', + 'dt_xml_field' => 'Polo', + 'dt_xml_name' => 'Mjeno', + 'dt_xml_title' => 'Titul', + 'dt_xml_id' => 'Id', + 'dt_xml_freetext' => 'Swobodny tekst', + 'importxml' => 'XML importować', + 'dt_import_selectfile' => 'Prošu wubjer dataju $1 za importowanje:', + 'dt_import_encodingtype' => 'Typ znamješkoweho koda:', + 'dt_import_forexisting' => 'Za strony, kotrež hižo eksistuja:', + 'dt_import_overwriteexisting' => 'Eksistowacy wobsah přepisać', + 'dt_import_skipexisting' => 'Přeskočić', + 'dt_import_appendtoexisting' => 'K eksistowacemu wobsahej připowěsnyć', + 'dt_import_summarydesc' => 'Zjeće importa:', + 'dt_import_editsummary' => 'Importowanje $1', + 'dt_import_importing' => 'Importuje so...', + 'dt_import_success' => '$1 {{PLURAL:$1|strona so z dataje $2 twori|stronje so z dataje $2 tworitej|strony so z dataje $2 tworja|stronow so z dataje $2 twori}}.', + 'importcsv' => 'Importowanje CSV', + 'dt_importcsv_badheader' => "Zmylk: hłowa špalty $1, '$2', dyrbi pak '$3', '$4' być pak formu 'mjeno_předłohi[mjeno_pola]' měć", + 'right-datatransferimport' => 'Daty importować', +); + +/** Hungarian (Magyar) + * @author Dani + * @author Glanthor Reviol + */ +$messages['hu'] = array( + 'datatransfer-desc' => 'Lehetővé teszi a sablonhívásokban található adatok importálását és exportálását', + 'viewxml' => 'XML megtekintése', + 'dt_viewxml_docu' => 'Válaszd ki a kategóriák és a névterek közül azt, amelyiket meg akarod tekinteni XML formátumban.', + 'dt_viewxml_categories' => 'Kategóriák', + 'dt_viewxml_namespaces' => 'Névterek', + 'dt_viewxml_simplifiedformat' => 'Egyszerűsített formátum', + 'dt_xml_namespace' => 'Névtér', + 'dt_xml_pages' => 'Lapok', + 'dt_xml_page' => 'Lap', + 'dt_xml_template' => 'Sablon', + 'dt_xml_field' => 'Mező', + 'dt_xml_name' => 'Név', + 'dt_xml_title' => 'Cím', + 'dt_xml_id' => 'Azonosító', + 'dt_xml_freetext' => 'Szabad szöveg', + 'importxml' => 'XML importálás', + 'dt_import_selectfile' => 'Kérlek válaszd ki az importálandó $1 fájlt:', + 'dt_import_encodingtype' => 'Kódolás típusa:', + 'dt_import_summarydesc' => 'Az importálás összefoglalója:', + 'dt_import_editsummary' => '$1 importálás', + 'dt_import_importing' => 'Importálás…', + 'dt_import_success' => '{{PLURAL:$1|egy|$1}} lap fog készülni a(z) $2 fájlból.', + 'importcsv' => 'CSV importálása', + 'dt_importcsv_badheader' => 'Hiba: a(z) $1 oszlop fejlécének („$2”) vagy „$3”, „$4”, vagy pedig „sablonnév[mezőnév]” formátumúnak kell lennie', + 'right-datatransferimport' => 'Adatok importálása', +); + +/** Interlingua (Interlingua) + * @author McDutchie + */ +$messages['ia'] = array( + 'datatransfer-desc' => 'Permitte importar e exportar datos continite in appellos a patronos', + 'viewxml' => 'Vider XML', + 'dt_viewxml_docu' => 'Per favor selige inter le sequente categorias e spatios de nomines pro vider in formato XML.', + 'dt_viewxml_categories' => 'Categorias', + 'dt_viewxml_namespaces' => 'Spatios de nomines', + 'dt_viewxml_simplifiedformat' => 'Formato simplificate', + 'dt_xml_namespace' => 'Spatio de nomines', + 'dt_xml_pages' => 'Paginas', + 'dt_xml_page' => 'Pagina', + 'dt_xml_template' => 'Patrono', + 'dt_xml_field' => 'Campo', + 'dt_xml_name' => 'Nomine', + 'dt_xml_title' => 'Titulo', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Texto libere', + 'importxml' => 'Importar XML', + 'dt_import_selectfile' => 'Per favor selige le file $1 a importar:', + 'dt_import_encodingtype' => 'Typo de codification:', + 'dt_import_forexisting' => 'Pro paginas que ja existe:', + 'dt_import_overwriteexisting' => 'Superscriber le contento existente', + 'dt_import_skipexisting' => 'Saltar', + 'dt_import_appendtoexisting' => 'Adjunger al contento existente', + 'dt_import_summarydesc' => 'Summario de importation:', + 'dt_import_editsummary' => 'Importation de $1', + 'dt_import_importing' => 'Importation in curso…', + 'dt_import_success' => '$1 {{PLURAL:$1|pagina|paginas}} essera create ex le file $2.', + 'importcsv' => 'Importar CSV', + 'dt_importcsv_badheader' => "Error: le capite del columna $1, '$2', debe esser '$3', '$4' o in le forma 'nomine_de_patrono[nomine_de_campo]'", + 'right-datatransferimport' => 'Importar datos', +); + +/** Indonesian (Bahasa Indonesia) + * @author Bennylin + * @author Farras + * @author Irwangatot + * @author IvanLanin + * @author Rex + */ +$messages['id'] = array( + 'datatransfer-desc' => 'Membolehkan untuk impor dan ekspor data diisikan pada pemangilan templat', + 'viewxml' => 'Tilik XML', + 'dt_viewxml_docu' => 'Silakan pilih di antara kategori dan ruang nama berikut untuk melihat dalam format XML', + 'dt_viewxml_categories' => 'Kategori', + 'dt_viewxml_namespaces' => 'Ruang nama', + 'dt_viewxml_simplifiedformat' => 'Penyederhanaan format', + 'dt_xml_namespace' => 'Ruang nama', + 'dt_xml_pages' => 'Halaman', + 'dt_xml_page' => 'Halaman', + 'dt_xml_template' => 'Templat', + 'dt_xml_field' => 'Ruas', + 'dt_xml_name' => 'Nama', + 'dt_xml_title' => 'Judul', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Teks Gratis', + 'importxml' => 'Impor XML', + 'dt_import_selectfile' => 'Pilih berkas $1 untuk di impor:', + 'dt_import_encodingtype' => 'Tipe penyandian:', + 'dt_import_forexisting' => 'Untuk halaman yang sudah ada:', + 'dt_import_overwriteexisting' => 'Menimpa konten yang ada', + 'dt_import_skipexisting' => 'Lewati', + 'dt_import_appendtoexisting' => 'Tambahkan kepada konten yang ada', + 'dt_import_summarydesc' => 'Ringkasan impor:', + 'dt_import_editsummary' => '$1 impor', + 'dt_import_importing' => 'Mengimpor...', + 'dt_import_success' => '$1 {{PLURAL:$1|halaman|halaman}} akan di buat dari berkas $2.', + 'importcsv' => 'Impor CSV', + 'dt_importcsv_badheader' => "Kesalahan: kepala kolom $1, '$2', harus berupa '$3', '$4' atau bentuk 'template_name [field_name]'", + 'right-datatransferimport' => 'Impor data', +); + +/** Igbo (Igbo) + * @author Ukabia + */ +$messages['ig'] = array( + 'dt_viewxml_categories' => 'Ébéanọr', + 'dt_xml_template' => 'Àtụ', +); + +/** Ido (Ido) + * @author Malafaya + */ +$messages['io'] = array( + 'dt_xml_template' => 'Shablono', + 'dt_xml_name' => 'Nomo', + 'dt_xml_title' => 'Titulo', +); + +/** Icelandic (Íslenska) + * @author S.Örvarr.S + */ +$messages['is'] = array( + 'dt_viewxml_namespaces' => 'Nafnrými', + 'dt_xml_page' => 'Síða', +); + +/** Italian (Italiano) + * @author Beta16 + * @author BrokenArrow + * @author Darth Kule + */ +$messages['it'] = array( + 'datatransfer-desc' => "Permette l'importazione e l'esportazione di dati strutturati contenuti in chiamate a template", + 'viewxml' => 'Vedi XML', + 'dt_viewxml_docu' => 'Selezionare tra le categorie e namespace indicati di seguito quelli da visualizzare in formato XML.', + 'dt_viewxml_categories' => 'Categorie', + 'dt_viewxml_namespaces' => 'Namespace', + 'dt_viewxml_simplifiedformat' => 'Formato semplificato', + 'dt_xml_namespace' => 'Namespace', + 'dt_xml_pages' => 'Pagine', + 'dt_xml_page' => 'Pagina', + 'dt_xml_template' => 'Template', + 'dt_xml_field' => 'Campo', + 'dt_xml_name' => 'Nome', + 'dt_xml_title' => 'Titolo', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Testo libero', + 'dt_import_encodingtype' => 'Tipo di codifica', + 'right-datatransferimport' => 'Importa dati', +); + +/** Japanese (日本語) + * @author Aotake + * @author Fryed-peach + * @author JtFuruhata + * @author Ohgi + * @author 青子守歌 + */ +$messages['ja'] = array( + 'datatransfer-desc' => 'テンプレート呼び出しに関わるデータのインポートおよびエクスポートを可能にする', + 'viewxml' => 'XML表示', + 'dt_viewxml_docu' => 'XML形式で表示するカテゴリや名前空間を以下から選択してください。', + 'dt_viewxml_categories' => 'カテゴリ', + 'dt_viewxml_namespaces' => '名前空間', + 'dt_viewxml_simplifiedformat' => '簡易形式', + 'dt_xml_namespace' => '名前空間', + 'dt_xml_pages' => 'ページ群', + 'dt_xml_page' => 'ページ', + 'dt_xml_template' => 'テンプレート', + 'dt_xml_field' => 'フィールド', + 'dt_xml_name' => '名前', + 'dt_xml_title' => 'タイトル', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => '自由形式テキスト', + 'importxml' => 'XMLインポート', + 'dt_import_selectfile' => 'インポートする $1 ファイルを選択してください:', + 'dt_import_encodingtype' => 'エンコーディング方式:', + 'dt_import_forexisting' => 'すでに存在するページの場合:', + 'dt_import_overwriteexisting' => '既存の内容に上書き', + 'dt_import_skipexisting' => 'スキップ', + 'dt_import_appendtoexisting' => '既存の内容に追加', + 'dt_import_summarydesc' => '移入の概要:', + 'dt_import_editsummary' => '$1 のインポート', + 'dt_import_importing' => 'インポート中…', + 'dt_import_success' => '$2ファイルから$1{{PLURAL:$1|ページ}}がインポートされます。', + 'importcsv' => 'CSVのインポート', + 'dt_importcsv_badheader' => 'エラー: 列 $1 のヘッダ「$2」は、「$3」もしくは「$4」であるか、または「テンプレート名[フィールド名]」という形式になっていなければなりません。', + 'right-datatransferimport' => 'データをインポートする', +); + +/** Javanese (Basa Jawa) + * @author Meursault2004 + */ +$messages['jv'] = array( + 'viewxml' => 'Ndeleng XML', + 'dt_viewxml_categories' => 'Kategori-kategori', + 'dt_viewxml_simplifiedformat' => 'Format prasaja', + 'dt_xml_namespace' => 'Bilik nama', + 'dt_xml_page' => 'Kaca', + 'dt_xml_name' => 'Jeneng', + 'dt_xml_title' => 'Irah-irahan (judhul)', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Tèks Bébas', +); + +/** Khmer (ភាសាខ្មែរ) + * @author Chhorran + * @author Lovekhmer + * @author Thearith + * @author គីមស៊្រុន + * @author វ័ណថារិទ្ធ + */ +$messages['km'] = array( + 'viewxml' => 'មើល XML', + 'dt_viewxml_docu' => 'ជ្រើសយកក្នុងចំណោមចំណាត់ថ្នាក់ក្រុមនិងលំហឈ្មោះដើម្បីមើលជាទម្រង់ XML ។', + 'dt_viewxml_categories' => 'ចំណាត់ថ្នាក់ក្រុម', + 'dt_viewxml_namespaces' => 'ប្រភេទ', + 'dt_viewxml_simplifiedformat' => 'ទម្រង់សាមញ្ញ', + 'dt_xml_namespace' => 'ប្រភេទ', + 'dt_xml_pages' => 'ទំព័រ', + 'dt_xml_page' => 'ទំព័រ', + 'dt_xml_template' => 'ទំព័រគំរូ', + 'dt_xml_field' => 'ផ្នែក', + 'dt_xml_name' => 'ឈ្មោះ', + 'dt_xml_title' => 'ចំណងជើង', + 'dt_xml_id' => 'អត្តសញ្ញាណ', + 'dt_xml_freetext' => 'អត្ថបទសេរី', + 'importxml' => 'នាំចូល XML', + 'dt_import_selectfile' => 'សូម​ជ្រើស​រើស​ឯកសារ $1 ដើម្បី​នាំ​ចូល​៖', + 'dt_import_encodingtype' => 'ប្រភេទនៃការធ្វើកូដ៖', + 'dt_import_forexisting' => 'សំរាប់ទំព័រដែលមានរួចហើយ៖', + 'dt_import_overwriteexisting' => 'សរសេរជាន់ពីលើខ្លឹមសារដែលមានហើយ', + 'dt_import_skipexisting' => 'រំលង', + 'dt_import_appendtoexisting' => 'សរសេរបន្ថែមទៅលើខ្លឹមសារដែលមានហើយ', + 'dt_import_summarydesc' => 'ចំណារពន្យល់ស្ដីពីការនាំចូល៖', + 'dt_import_editsummary' => '$1 នាំចូល​', + 'dt_import_importing' => 'កំពុងនាំចូល​...', + 'dt_import_success' => 'ទំព័រចំនួន $1 នឹងត្រូវបានបង្កើតពីឯកសារ $2 នេះ។', + 'importcsv' => 'នាំចូល CSV', + 'right-datatransferimport' => 'នាំចូល​ទិន្នន័យ​', +); + +/** Kannada (ಕನ್ನಡ) + * @author Nayvik + */ +$messages['kn'] = array( + 'dt_viewxml_categories' => 'ವರ್ಗಗಳು', + 'dt_xml_namespace' => 'ನಾಮವರ್ಗ', + 'dt_xml_pages' => 'ಪುಟಗಳು', + 'dt_xml_page' => 'ಪುಟ', + 'dt_xml_template' => 'ಟೆಂಪ್ಲೇಟು', + 'dt_xml_name' => 'ಹೆಸರು', + 'dt_xml_title' => 'ಶೀರ್ಷಿಕೆ', +); + +/** Kinaray-a (Kinaray-a) + * @author Jose77 + */ +$messages['krj'] = array( + 'dt_viewxml_categories' => 'Manga Kategorya', + 'dt_xml_page' => 'Pahina', +); + +/** Colognian (Ripoarisch) + * @author Purodha + */ +$messages['ksh'] = array( + 'datatransfer-desc' => 'Määt et müjjelesch, Date uß Schabloone ier Oproofe ze emporteere un ze exporteere.', + 'viewxml' => 'XML beloore', + 'dt_viewxml_docu' => 'Don ußsöke, wat fö_n Saachjruppe un Appachtemangs De em XML Fommaat aanloore wells.', + 'dt_viewxml_categories' => 'Saachjroppe', + 'dt_viewxml_namespaces' => 'Appachtemangs', + 'dt_viewxml_simplifiedformat' => 'Em eijfachere Fommaat', + 'dt_xml_namespace' => 'Appachtemang', + 'dt_xml_pages' => 'Sigge', + 'dt_xml_page' => 'Sigg', + 'dt_xml_template' => 'Schablohn', + 'dt_xml_field' => 'Felldt', + 'dt_xml_name' => 'Name', + 'dt_xml_title' => 'Tėttel', + 'dt_xml_id' => 'Kännong', + 'dt_xml_freetext' => 'Freije Täx', + 'importxml' => 'XML Empotteere', + 'dt_import_selectfile' => 'Söhk de $1-Dattei för zem Empotteere uß:', + 'dt_import_encodingtype' => 'Zoot Kodeerung för de Bohchshtahbe un Zeishe:', + 'dt_import_forexisting' => 'För Sigge, di et ald jitt:', + 'dt_import_overwriteexisting' => 'Övverschrieve, wat ald doh es', + 'dt_import_skipexisting' => 'Övverjonn', + 'dt_import_appendtoexisting' => 'An dat aanhange, wat ald doh es', + 'dt_import_summarydesc' => 'Zesammefassung vun däm Empoot:', + 'dt_import_editsummary' => 'uss ene $1-Datei empotteet', + 'dt_import_importing' => 'Ben aam Empotteere{{int:Ellipsis}}', + 'dt_import_success' => '{{PLURAL:$1|Ein Sigg weed_uß|$1 Sigge weede uß|Kein einzelne Sigg weed_uß}} dä $2-Dattei empotteet.', + 'importcsv' => 'CSV-Dattei empoteere', + 'dt_importcsv_badheader' => 'Fähler: De Shpallde-Övverschreff för $1 es „$2“, mööt ävver „$3“ udder „$4“ sin, udder dat Fommaat „Name_vun_ene_Schablohn[Name_vun_enem_Felldt]“ han.', + 'right-datatransferimport' => 'Daate empoteere', +); + +/** Kurdish (Latin) (Kurdî (Latin)) + * @author George Animal + */ +$messages['ku-latn'] = array( + 'dt_xml_page' => 'Rûpel', + 'dt_xml_name' => 'Nav', + 'dt_xml_title' => 'Sernav', + 'dt_import_summarydesc' => 'Kurteya împortê:', +); + +/** Cornish (Kernowek) + * @author Kernoweger + * @author Kw-Moon + */ +$messages['kw'] = array( + 'dt_viewxml_categories' => 'Classys', + 'dt_xml_page' => 'Folen', +); + +/** Luxembourgish (Lëtzebuergesch) + * @author Robby + */ +$messages['lb'] = array( + 'datatransfer-desc' => "Erlaabt et Daten déi an Opruffer vu schabloune benotzt ginn z'importéieren an z'exportéieren", + 'viewxml' => 'XML weisen', + 'dt_viewxml_docu' => 'Wielt w.e.g. ënnert dëse Kategorien an Nimmraim fir am XML-Format unzeweisen.', + 'dt_viewxml_categories' => 'Kategorien', + 'dt_viewxml_namespaces' => 'Nummraim', + 'dt_viewxml_simplifiedformat' => 'Vereinfachte Format', + 'dt_xml_namespace' => 'Nummraum', + 'dt_xml_pages' => 'Säiten', + 'dt_xml_page' => 'Säit', + 'dt_xml_template' => 'Schabloun', + 'dt_xml_field' => 'Feld', + 'dt_xml_name' => 'Numm', + 'dt_xml_title' => 'Titel', + 'dt_xml_id' => 'Nummer', + 'dt_xml_freetext' => 'Fräien Text', + 'importxml' => 'XML importéieren', + 'dt_import_selectfile' => "Sicht de(n) $1-Fichier eraus fir z'importéieren:", + 'dt_import_encodingtype' => 'Encoding-Typ:', + 'dt_import_forexisting' => 'Fir Säiten déi et scho gëtt:', + 'dt_import_overwriteexisting' => 'Den Inhalt den et gëtt iwwerschreiwen', + 'dt_import_skipexisting' => 'Iwwersprangen', + 'dt_import_appendtoexisting' => 'Bäi den Inhalt deen et gëtt derbäisetzen', + 'dt_import_summarydesc' => 'Resumé vum Import:', + 'dt_import_editsummary' => '$1 importéieren', + 'dt_import_importing' => 'Import am gaang ...', + 'dt_import_success' => '$1 {{PLURAL:$1|Säit gëtt|Säite ginn}} aus dem $2-Fichier ugeluecht.', + 'importcsv' => 'CSV importéieren', + 'dt_importcsv_badheader' => "Feeler: D'Iwwerschrëft vun der Kolonn $1, '$2', muss entweder '$3', '$4' oder am Format 'Numm_vun_der_Schabloun(Numm_vum_Feld)' sinn", + 'right-datatransferimport' => 'Donnéeën importéieren', +); + +/** Limburgish (Limburgs) + * @author Aelske + * @author Remember the dot + */ +$messages['li'] = array( + 'dt_xml_page' => 'Pagina', +); + +/** Lithuanian (Lietuvių) + * @author Tomasdd + */ +$messages['lt'] = array( + 'dt_viewxml_categories' => 'Kategorijos', +); + +/** Latgalian (Latgaļu) + * @author Dark Eagle + */ +$messages['ltg'] = array( + 'dt_viewxml_namespaces' => 'Vuordu pluoti', + 'dt_xml_namespace' => 'Vuordu pluots', + 'dt_xml_pages' => 'Puslopys', +); + +/** Latvian (Latviešu) + * @author GreenZeb + */ +$messages['lv'] = array( + 'dt_viewxml_categories' => 'Kategorijas', + 'dt_viewxml_namespaces' => 'Vārdtelpas', + 'dt_viewxml_simplifiedformat' => 'Vienkāršots formāts', + 'dt_xml_namespace' => 'Vārdtelpa', + 'dt_xml_pages' => 'Lapas', + 'dt_xml_page' => 'Lapa', + 'dt_xml_template' => 'Veidne', + 'dt_xml_field' => 'Lauks', + 'dt_xml_name' => 'Vārds', + 'dt_xml_title' => 'Nosaukums', + 'dt_xml_id' => 'ID', +); + +/** Eastern Mari (Олык Марий) + * @author Сай + */ +$messages['mhr'] = array( + 'dt_xml_namespace' => 'Лӱм-влакын кумдыкышт', + 'dt_xml_page' => 'Лаштык', +); + +/** Macedonian (Македонски) + * @author Bjankuloski06 + */ +$messages['mk'] = array( + 'datatransfer-desc' => 'Овозможува увоз и извоз на податоци содржани во повикувањата на шаблоните', + 'viewxml' => 'Преглед на XML', + 'dt_viewxml_docu' => 'Одберете од следиве категории и именски простори за преглед во XML формат.', + 'dt_viewxml_categories' => 'Категории', + 'dt_viewxml_namespaces' => 'Именски простори', + 'dt_viewxml_simplifiedformat' => 'Упростен формат', + 'dt_xml_namespace' => 'Именски простор', + 'dt_xml_pages' => 'Страници', + 'dt_xml_page' => 'Страница', + 'dt_xml_template' => 'Шаблон', + 'dt_xml_field' => 'Поле', + 'dt_xml_name' => 'Име', + 'dt_xml_title' => 'Наслов', + 'dt_xml_id' => 'ид. бр.', + 'dt_xml_freetext' => 'Слободен текст', + 'importxml' => 'Увоз на XML', + 'dt_import_selectfile' => 'Одберете ја $1 податотеката за увоз:', + 'dt_import_encodingtype' => 'Тип на кодирање:', + 'dt_import_forexisting' => 'За страници што веќе постојат:', + 'dt_import_overwriteexisting' => 'Презапиши врз постоечките содржини', + 'dt_import_skipexisting' => 'Прескокни', + 'dt_import_appendtoexisting' => 'Додај во постоечката содржина', + 'dt_import_summarydesc' => 'Опис на увозот:', + 'dt_import_editsummary' => 'Увоз на $1', + 'dt_import_importing' => 'Увезувам...', + 'dt_import_success' => '$1 {{PLURAL:$1|страница ќе биде создадена|страници ќе бидат создадени}} од $2 податотеката.', + 'importcsv' => 'Увоз на CSV', + 'dt_importcsv_badheader' => 'Грешка: насловот на колона $1, „$2“, мора да биде или „$3“, или „$4“, или пак од обликот „template_name[field_name]“', + 'right-datatransferimport' => 'Увезување податоци', +); + +/** Malayalam (മലയാളം) + * @author Junaidpv + * @author Praveenp + * @author Shijualex + */ +$messages['ml'] = array( + 'viewxml' => 'XML കാണുക', + 'dt_viewxml_categories' => 'വർഗ്ഗങ്ങൾ', + 'dt_viewxml_namespaces' => 'നാമമേഖലകൾ', + 'dt_viewxml_simplifiedformat' => 'ലളിതവത്ക്കരിക്കപ്പെട്ട ഫോർമാറ്റ്', + 'dt_xml_namespace' => 'നാമമേഖല', + 'dt_xml_pages' => 'താളുകൾ', + 'dt_xml_page' => 'താൾ', + 'dt_xml_template' => 'ഫലകം', + 'dt_xml_field' => 'ഫീൽഡ്', + 'dt_xml_name' => 'പേര്‌', + 'dt_xml_title' => 'ശീർഷകം', + 'dt_xml_id' => 'ഐ.ഡി.', + 'dt_xml_freetext' => 'സ്വതന്ത്ര എഴുത്ത്', + 'importxml' => 'എക്സ്.എം.എൽ. ഇറക്കുമതി', + 'dt_import_selectfile' => 'ദയവായി ഇറക്കുമതിക്കായി $1 പ്രമാണം തിരഞ്ഞെടുക്കുക:', + 'dt_import_encodingtype' => 'എൻ‌കോഡിങ് തരം:', + 'dt_import_forexisting' => 'നിലവിലുള്ള താളുകൾക്ക് വേണ്ടി:', + 'dt_import_appendtoexisting' => 'നിലവിലുള്ള ഉള്ളടക്കത്തോട് കൂട്ടിച്ചേർക്കുക', + 'dt_import_summarydesc' => 'ഇറക്കുമതിയുടെ സംഗ്രഹം:', + 'dt_import_editsummary' => '$1 ഇറക്കുമതി', + 'dt_import_importing' => 'ഇറക്കുമതി ചെയ്യുന്നു...', + 'importcsv' => 'സി.എസ്.വി. ഇറക്കുമതി', +); + +/** Mongolian (Монгол) + * @author Chinneeb + */ +$messages['mn'] = array( + 'dt_viewxml_categories' => 'Ангиллууд', + 'dt_viewxml_namespaces' => 'Нэрний зайнууд', + 'dt_xml_namespace' => 'Нэрний зай', + 'dt_xml_page' => 'Хуудас', +); + +/** Marathi (मराठी) + * @author Kaustubh + * @author V.narsikar + */ +$messages['mr'] = array( + 'datatransfer-desc' => 'साचा कॉल मध्ये असणार्‍या डाटाची आयात निर्यात करण्याची परवानगी देतो', + 'viewxml' => 'XML पहा', + 'dt_viewxml_docu' => 'कॄपया XML मध्ये पाहण्यासाठी खालीलपैकी वर्ग व नामविश्वे निवडा.', + 'dt_viewxml_categories' => 'वर्ग', + 'dt_viewxml_namespaces' => 'नामविश्वे', + 'dt_viewxml_simplifiedformat' => 'सोप्या प्रकारे', + 'dt_xml_namespace' => 'नामविश्व', + 'dt_xml_page' => 'पान', + 'dt_xml_field' => 'रकाना', + 'dt_xml_name' => 'नाव', + 'dt_xml_title' => 'शीर्षक', + 'dt_xml_id' => 'क्रमांक (आयडी)', + 'dt_xml_freetext' => 'मुक्त मजकूर', + 'importxml' => 'एक्सएमएल आयात करा', +); + +/** Mirandese (Mirandés) + * @author Malafaya + */ +$messages['mwl'] = array( + 'dt_xml_page' => 'Páigina', +); + +/** Erzya (Эрзянь) + * @author Botuzhaleny-sodamo + */ +$messages['myv'] = array( + 'dt_viewxml_categories' => 'Категорият', + 'dt_viewxml_namespaces' => 'Лем потмот', + 'dt_xml_page' => 'Лопа', + 'dt_xml_template' => 'Лопа парцун', + 'dt_xml_field' => 'Пакся', + 'dt_xml_name' => 'Лемезэ', + 'dt_xml_title' => 'Конякс', +); + +/** Mazanderani (مازِرونی) + * @author محک + */ +$messages['mzn'] = array( + 'dt_viewxml_categories' => 'رج‌ئون', +); + +/** Nahuatl (Nāhuatl) + * @author Fluence + */ +$messages['nah'] = array( + 'dt_viewxml_categories' => 'Neneuhcāyōtl', + 'dt_viewxml_namespaces' => 'Tōcātzin', + 'dt_xml_namespace' => 'Tōcātzin', + 'dt_xml_page' => 'Zāzanilli', + 'dt_xml_name' => 'Tōcāitl', + 'dt_xml_title' => 'Tōcāitl', + 'dt_xml_id' => 'ID', +); + +/** Low German (Plattdüütsch) + * @author Slomox + */ +$messages['nds'] = array( + 'dt_xml_name' => 'Naam', +); + +/** Dutch (Nederlands) + * @author Siebrand + * @author Tvdm + */ +$messages['nl'] = array( + 'datatransfer-desc' => 'Maakt het importeren en exporteren van gestructureerde gegevens in sjabloonaanroepen mogelijk', + 'viewxml' => 'XML bekijken', + 'dt_viewxml_docu' => 'Selecteer uit de volgende categorieën en naamruimten om in XML-formaat te bekijken.', + 'dt_viewxml_categories' => 'Categorieën', + 'dt_viewxml_namespaces' => 'Naamruimten', + 'dt_viewxml_simplifiedformat' => 'Vereenvoudigd formaat', + 'dt_xml_namespace' => 'Naamruimte', + 'dt_xml_pages' => "Pagina's", + 'dt_xml_page' => 'Pagina', + 'dt_xml_template' => 'Sjabloon', + 'dt_xml_field' => 'Veld', + 'dt_xml_name' => 'Naam', + 'dt_xml_title' => 'Titel', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Vrije tekst', + 'importxml' => 'XML importeren', + 'dt_import_selectfile' => 'Selecteer het te importeren bestand van het type $1:', + 'dt_import_encodingtype' => 'Coderingstype:', + 'dt_import_forexisting' => "Voor pagina's die al bestaan:", + 'dt_import_overwriteexisting' => 'Bestaande inhoud overschrijven', + 'dt_import_skipexisting' => 'Overslaan', + 'dt_import_appendtoexisting' => 'Toevoegen aan bestaande inhoud', + 'dt_import_summarydesc' => 'Samenvatting van de import:', + 'dt_import_editsummary' => '$1-import', + 'dt_import_importing' => 'Bezig met importeren…', + 'dt_import_success' => "Uit het $2-bestand {{PLURAL:$1|wordt één pagina|worden $1 pagina's}} geïmporteerd.", + 'importcsv' => 'CSV importeren', + 'dt_importcsv_badheader' => 'Fout: De kop van kolom $1, "$2", moet "$3" of "$4" zijn, of in de vorm "sjabloonnaam[veldnaam]" genoteerd worden.', + 'right-datatransferimport' => 'Gegevens importeren', +); + +/** Norwegian Nynorsk (‪Norsk (nynorsk)‬) + * @author Gunnernett + * @author Harald Khan + * @author Jon Harald Søby + */ +$messages['nn'] = array( + 'datatransfer-desc' => 'Gjer det mogleg å importera og eksportera data i maloppkallingar', + 'viewxml' => 'Syn XML', + 'dt_viewxml_docu' => 'Vel mellom følgjande kategoriar og namnerom for å syna dei i XML-format.', + 'dt_viewxml_categories' => 'Kategoriar', + 'dt_viewxml_namespaces' => 'Namnerom', + 'dt_viewxml_simplifiedformat' => 'Forenkla format', + 'dt_xml_namespace' => 'Namnerom', + 'dt_xml_pages' => 'Sider', + 'dt_xml_page' => 'Side', + 'dt_xml_template' => 'Mal', + 'dt_xml_field' => 'Felt', + 'dt_xml_name' => 'Namn', + 'dt_xml_title' => 'Tittel', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Fritekst', + 'importxml' => 'Importer XML', + 'dt_import_selectfile' => 'Ver venleg og vel $1-fila som skal verta importert:', + 'dt_import_encodingtype' => 'Teiknkodingstype:', + 'dt_import_editsummary' => '$1-importering', + 'dt_import_importing' => 'Importerer...', + 'dt_import_success' => '$1 {{PLURAL:$1|Éi side vil verta importert|$1 sider vil verta importerte}} frå $2-fila.', + 'importcsv' => 'Importer CSV', + 'dt_importcsv_badheader' => "Feil: kolonneoverskrifta $1, '$2', må vera anten '$3', '$4' eller på forma 'malnamn[feltnamn]'", + 'right-datatransferimport' => 'Importer data', +); + +/** Norwegian (bokmål)‬ (‪Norsk (bokmål)‬) + * @author Jon Harald Søby + * @author Nghtwlkr + */ +$messages['no'] = array( + 'datatransfer-desc' => 'Gjør det mulig å importere og eksportere data som finnes i maloppkallinger', + 'viewxml' => 'Se XML', + 'dt_viewxml_docu' => 'Velg blant følgende kategorier og navnerom for å se dem i XML-format', + 'dt_viewxml_categories' => 'Kategorier', + 'dt_viewxml_namespaces' => 'Navnerom', + 'dt_viewxml_simplifiedformat' => 'Forenklet format', + 'dt_xml_namespace' => 'Navnerom', + 'dt_xml_pages' => 'Sider', + 'dt_xml_page' => 'Side', + 'dt_xml_template' => 'Mal', + 'dt_xml_field' => 'Felt', + 'dt_xml_name' => 'Navn', + 'dt_xml_title' => 'Tittel', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Fritekst', + 'importxml' => 'Importer XML', + 'dt_import_selectfile' => 'Vennligst velg $1-filen som skal importeres:', + 'dt_import_encodingtype' => 'Tegnkodingstype:', + 'dt_import_forexisting' => 'For sider som allerede finnes:', + 'dt_import_overwriteexisting' => 'Skriv over eksisterende innhold', + 'dt_import_skipexisting' => 'Hopp over', + 'dt_import_appendtoexisting' => 'Tilføy til eksisterende innhold', + 'dt_import_summarydesc' => 'Importsammendrag:', + 'dt_import_editsummary' => '$1-importering', + 'dt_import_importing' => 'Importerer...', + 'dt_import_success' => '{{PLURAL:$1|Én side|$1 sider}} vil bli importert fra $2-filen.', + 'importcsv' => 'Importer CSV', + 'dt_importcsv_badheader' => "Feil: kolonneoverskriften $1, '$2', må være enten '$3', '$4' eller på formen 'malnavn[feltnavn]'", + 'right-datatransferimport' => 'Importer data', +); + +/** Occitan (Occitan) + * @author Cedric31 + */ +$messages['oc'] = array( + 'datatransfer-desc' => "Permet l’impòrt e l’expòrt de donadas contengudas dins d'apèls de modèls", + 'viewxml' => 'Veire XML', + 'dt_viewxml_docu' => 'Seleccionatz demest las categorias e los espacis de nomenatges per visionar en format XML.', + 'dt_viewxml_categories' => 'Categorias', + 'dt_viewxml_namespaces' => 'Espacis de nomenatge', + 'dt_viewxml_simplifiedformat' => 'Format simplificat', + 'dt_xml_namespace' => 'Espaci de nom', + 'dt_xml_pages' => 'Paginas', + 'dt_xml_page' => 'Pagina', + 'dt_xml_template' => 'Modèl', + 'dt_xml_field' => 'Camp', + 'dt_xml_name' => 'Nom', + 'dt_xml_title' => 'Títol', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Tèxte Liure', + 'importxml' => 'Impòrt en XML', + 'dt_import_selectfile' => "Seleccionatz lo fichièr $1 d'importar :", + 'dt_import_encodingtype' => 'Tipe d’encodatge:', + 'dt_import_editsummary' => 'Importacion $1', + 'dt_import_importing' => 'Impòrt en cors...', + 'dt_import_success' => '$1 {{PLURAL:$1|pagina serà creada|paginas seràn creadas}} dempuèi lo fichièr $2.', + 'importcsv' => 'Impòrt CSV', + 'dt_importcsv_badheader' => 'Error : lo títol de colomna $1, « $2 », deu èsser siá « $3 », « $4 » o de la forma « nom_del_modèl[nom_del_camp] »', + 'right-datatransferimport' => 'Importar de donadas', +); + +/** Ossetic (Иронау) + * @author Amikeco + */ +$messages['os'] = array( + 'dt_xml_page' => 'Фарс', + 'dt_xml_template' => 'Шаблон', + 'dt_xml_title' => 'Сæргонд', +); + +/** Deitsch (Deitsch) + * @author Xqt + */ +$messages['pdc'] = array( + 'dt_viewxml_categories' => 'Abdeelinge', + 'dt_viewxml_namespaces' => 'Blatznaame', + 'dt_xml_namespace' => 'Blatznaame', + 'dt_xml_pages' => 'Bledder', + 'dt_xml_page' => 'Blatt', + 'dt_xml_template' => 'Moddel', + 'dt_xml_name' => 'Naame', + 'dt_xml_title' => 'Titel', +); + +/** Polish (Polski) + * @author McMonster + * @author Sp5uhe + * @author Wpedzich + */ +$messages['pl'] = array( + 'datatransfer-desc' => 'Pozwala na importowanie i eksportowanie danych zawartych w wywołaniach szablonu', + 'viewxml' => 'Podgląd XML', + 'dt_viewxml_docu' => 'Wybierz, które spośród następujących kategorii i przestrzeni nazw chcesz podejrzeć w formacie XML.', + 'dt_viewxml_categories' => 'Kategorie', + 'dt_viewxml_namespaces' => 'Przestrzenie nazw', + 'dt_viewxml_simplifiedformat' => 'Format uproszczony', + 'dt_xml_namespace' => 'Przestrzeń nazw', + 'dt_xml_pages' => 'Strony', + 'dt_xml_page' => 'Strona', + 'dt_xml_template' => 'Szablon', + 'dt_xml_field' => 'Pole', + 'dt_xml_name' => 'Nazwa', + 'dt_xml_title' => 'Tytuł', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Dowolny tekst', + 'importxml' => 'Import XML', + 'dt_import_selectfile' => 'Wybierz plik $1 do zaimportowania', + 'dt_import_encodingtype' => 'Typ kodowania', + 'dt_import_forexisting' => 'Dla stron, które już istnieją:', + 'dt_import_overwriteexisting' => 'Zastąp istniejącą zawartość', + 'dt_import_skipexisting' => 'Pomiń', + 'dt_import_appendtoexisting' => 'Dołącz do istniejącej zawartości', + 'dt_import_summarydesc' => 'Podsumowanie importu', + 'dt_import_editsummary' => 'Import $1', + 'dt_import_importing' => 'Importowanie...', + 'dt_import_success' => '$1 {{PLURAL:$1|strona zostanie utworzona|strony zostaną utworzone|stron zostanie utworzonych}} z pliku $2.', + 'importcsv' => 'Import CSV', + 'dt_importcsv_badheader' => 'Błąd – w kolumnie $1 nagłówka jest „$2”, a powinno być: „$3”, „$4” lub „nazwa_szablonu[nazwa_pola]”', + 'right-datatransferimport' => 'Importowanie danych', +); + +/** Piedmontese (Piemontèis) + * @author Borichèt + * @author Dragonòt + */ +$messages['pms'] = array( + 'datatransfer-desc' => "A përmëtt d'amporté e esporté ij dat contnù ant le ciamà a stamp", + 'viewxml' => 'Varda XML', + 'dt_viewxml_docu' => 'Për piasì selession-a an tra le categorìe sota e jë spassi nominaj për vëdde an formà XLM.', + 'dt_viewxml_categories' => 'Categorìe', + 'dt_viewxml_namespaces' => 'Spassi nominaj', + 'dt_viewxml_simplifiedformat' => 'Formà semplificà', + 'dt_xml_namespace' => 'Spassi nominal', + 'dt_xml_pages' => 'Pàgine', + 'dt_xml_page' => 'Pàgina', + 'dt_xml_template' => 'Stamp', + 'dt_xml_field' => 'Camp', + 'dt_xml_name' => 'Nòm', + 'dt_xml_title' => 'Tìtol', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Test lìber', + 'importxml' => 'Ampòrta XML', + 'dt_import_selectfile' => 'Për piasì selession-a ël file $1 da amporté:', + 'dt_import_encodingtype' => 'Tipo ëd codìfica:', + 'dt_import_forexisting' => "Për pàgine ch'a esisto già:", + 'dt_import_overwriteexisting' => 'Coaté ël contnù esistent', + 'dt_import_skipexisting' => 'Saoté', + 'dt_import_appendtoexisting' => 'Gionté al contnù esistent', + 'dt_import_summarydesc' => "Somari dj'amportassion:", + 'dt_import_editsummary' => '$1 ampòrta', + 'dt_import_importing' => "An camin ch'as ampòrta...", + 'dt_import_success' => "$1 {{PLURAL:$1|pàgina|pàgine}} a saran creà da l'archivi $2.", + 'importcsv' => 'Ampòrta CSV', + 'dt_importcsv_badheader' => "Eror: l'antestassion ëd la colòna $1, '$2', a deuv esse '$3', '$4' o ëd la forma 'template_name[field_name]'", + 'right-datatransferimport' => 'Ampòrta dat', +); + +/** Pashto (پښتو) + * @author Ahmed-Najib-Biabani-Ibrahimkhel + */ +$messages['ps'] = array( + 'dt_viewxml_categories' => 'وېشنيزې', + 'dt_viewxml_namespaces' => 'نوم-تشيالونه', + 'dt_xml_namespace' => 'نوم-تشيال', + 'dt_xml_pages' => 'مخونه', + 'dt_xml_page' => 'مخ', + 'dt_xml_template' => 'کينډۍ', + 'dt_xml_name' => 'نوم', + 'dt_xml_title' => 'سرليک', + 'dt_xml_freetext' => 'خپلواکه متن', +); + +/** Portuguese (Português) + * @author Hamilton Abreu + * @author Lijealso + * @author Malafaya + */ +$messages['pt'] = array( + 'datatransfer-desc' => 'Permite importação e exportação de dados contidos em chamadas de predefinições', + 'viewxml' => 'Ver XML', + 'dt_viewxml_docu' => 'Por favor, seleccione de entre as categorias e espaços nominais seguintes para ver em formato XML.', + 'dt_viewxml_categories' => 'Categorias', + 'dt_viewxml_namespaces' => 'Espaços nominais', + 'dt_viewxml_simplifiedformat' => 'Formato simplificado', + 'dt_xml_namespace' => 'Espaço nominal', + 'dt_xml_pages' => 'Páginas', + 'dt_xml_page' => 'Página', + 'dt_xml_template' => 'Predefinição', + 'dt_xml_field' => 'Campo', + 'dt_xml_name' => 'Nome', + 'dt_xml_title' => 'Título', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Texto Livre', + 'importxml' => 'Importar XML', + 'dt_import_selectfile' => 'Por favor, selecione o ficheiro $1 a importar:', + 'dt_import_encodingtype' => 'Tipo de codificação:', + 'dt_import_forexisting' => 'Para páginas que já existem:', + 'dt_import_overwriteexisting' => 'Sobrescrever o conteúdo existente', + 'dt_import_skipexisting' => 'Saltar', + 'dt_import_appendtoexisting' => 'Acrescentar ao conteúdo existente', + 'dt_import_summarydesc' => 'Resumo da importação:', + 'dt_import_editsummary' => 'Importação de $1', + 'dt_import_importing' => 'Importando...', + 'dt_import_success' => '{{PLURAL:$1|A página será importada|As páginas serão importadas}} a partir do ficheiro $2.', + 'importcsv' => 'Importar CSV', + 'dt_importcsv_badheader' => "Erro: o cabeçalho da coluna $1, '$2', deve ser '$3', '$4' ou ter a forma 'nome_da_predefinição[nome_do_campo]'", + 'right-datatransferimport' => 'Importar dados', +); + +/** Brazilian Portuguese (Português do Brasil) + * @author Eduardo.mps + * @author Giro720 + */ +$messages['pt-br'] = array( + 'datatransfer-desc' => 'Permite a importação e exportação de dados contidos em chamadas de predefinições', + 'viewxml' => 'Ver XML', + 'dt_viewxml_docu' => 'Por favor, selecione dentre as categorias e espaços nominais seguintes para ver em formato XML.', + 'dt_viewxml_categories' => 'Categorias', + 'dt_viewxml_namespaces' => 'Espaços nominais', + 'dt_viewxml_simplifiedformat' => 'Formato simplificado', + 'dt_xml_namespace' => 'Espaço nominal', + 'dt_xml_pages' => 'Páginas', + 'dt_xml_page' => 'Página', + 'dt_xml_template' => 'Predefinição', + 'dt_xml_field' => 'Campo', + 'dt_xml_name' => 'Nome', + 'dt_xml_title' => 'Título', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Texto Livre', + 'importxml' => 'Importar XML', + 'dt_import_selectfile' => 'Por favor selecione o arquivo $1 para importar:', + 'dt_import_encodingtype' => 'Codificação:', + 'dt_import_forexisting' => 'Para páginas que já existem:', + 'dt_import_overwriteexisting' => 'Sobrescrever o conteúdo existente', + 'dt_import_skipexisting' => 'Pular', + 'dt_import_appendtoexisting' => 'Adicionar ao conteúdo existente', + 'dt_import_summarydesc' => 'Resumo da importação:', + 'dt_import_editsummary' => 'Importação de $1', + 'dt_import_importing' => 'Importando...', + 'dt_import_success' => '$1 {{PLURAL:$1|página será importada|páginas serão importadas}} do arquivo $2.', + 'importcsv' => 'Importar CSV', + 'dt_importcsv_badheader' => "Erro: o cabeçalho da coluna $1, '$2', deve ser '$3', ou '$4' ou da forma 'nome_modelo[nome_campo]'", + 'right-datatransferimport' => 'Importar dados', +); + +/** Romanian (Română) + * @author KlaudiuMihaila + * @author Stelistcristi + */ +$messages['ro'] = array( + 'viewxml' => 'Vizualizează XML', + 'dt_viewxml_categories' => 'Categorii', + 'dt_viewxml_namespaces' => 'Spații de nume', + 'dt_viewxml_simplifiedformat' => 'Format simplificat', + 'dt_xml_namespace' => 'Spațiu de nume', + 'dt_xml_pages' => 'Pagini', + 'dt_xml_page' => 'Pagină', + 'dt_xml_template' => 'Format', + 'dt_xml_field' => 'Câmp', + 'dt_xml_name' => 'Nume', + 'dt_xml_title' => 'Titlu', + 'dt_xml_id' => 'ID', + 'importxml' => 'Importă XML', + 'dt_import_summarydesc' => 'Descrierea importului:', + 'dt_import_importing' => 'Importare...', + 'importcsv' => 'Importă CSV', + 'right-datatransferimport' => 'Importă date', +); + +/** Tarandíne (Tarandíne) + * @author Joetaras + */ +$messages['roa-tara'] = array( + 'datatransfer-desc' => "Permètte de 'mbortà e esportà date strutturate ca stonne jndr'à le chiamate a le template", + 'viewxml' => "Vide l'XML", + 'dt_viewxml_docu' => "Pe piacere scacchie ìmbrà le categorije seguende e le namespace seguende pe vedè 'u formate XML.", + 'dt_viewxml_categories' => 'Categorije', + 'dt_viewxml_namespaces' => 'Namespace', + 'dt_viewxml_simplifiedformat' => 'Formate semblifichete', + 'dt_xml_namespace' => 'Namespace', + 'dt_xml_pages' => 'Pàggene', + 'dt_xml_page' => 'Pàgene', + 'dt_xml_template' => 'Template', + 'dt_xml_field' => 'Cambe', + 'dt_xml_name' => 'Nome', + 'dt_xml_title' => 'Titele', + 'dt_xml_id' => 'Codece (ID)', + 'dt_xml_freetext' => 'Teste libbere', + 'importxml' => "'Mborte XML", +); + +/** Russian (Русский) + * @author Ferrer + * @author Innv + * @author Александр Сигачёв + */ +$messages['ru'] = array( + 'datatransfer-desc' => 'Позволяет импортировать и экспортировать данные, содержащиеся в вызовах шаблонов', + 'viewxml' => 'Просмотр XML', + 'dt_viewxml_docu' => 'Пожалуйста, выберите категории и пространства имён для просмотра в формате XML.', + 'dt_viewxml_categories' => 'Категории', + 'dt_viewxml_namespaces' => 'Пространства имён', + 'dt_viewxml_simplifiedformat' => 'Упрощённый формат', + 'dt_xml_namespace' => 'Пространство имён', + 'dt_xml_pages' => 'Страницы', + 'dt_xml_page' => 'Страница', + 'dt_xml_template' => 'Шаблон', + 'dt_xml_field' => 'Поле', + 'dt_xml_name' => 'Имя', + 'dt_xml_title' => 'Заголовок', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Свободный текст', + 'importxml' => 'Импорт XML', + 'dt_import_selectfile' => 'Пожалуйста, выберите файл $1 для импорта:', + 'dt_import_encodingtype' => 'Тип кодировки:', + 'dt_import_forexisting' => 'Для страниц, которые уже существуют:', + 'dt_import_overwriteexisting' => 'Переписать существующие данные', + 'dt_import_skipexisting' => 'Пропустить', + 'dt_import_appendtoexisting' => 'Добавить к существующим данным', + 'dt_import_summarydesc' => 'Описание импорта:', + 'dt_import_editsummary' => 'импорт $1', + 'dt_import_importing' => 'Импортирование...', + 'dt_import_success' => '$1 {{PLURAL:$1|страница была|страницы были|страниц были}} созданы из файла $2.', + 'importcsv' => 'Импорт CSV', + 'dt_importcsv_badheader' => 'Ошибка. Заголовок колонки №$1 «$2» должен быть или «$3», или «$4», или в форме «template_name[field_name]»', + 'right-datatransferimport' => 'импорт информации', +); + +/** Rusyn (Русиньскый) + * @author Gazeb + */ +$messages['rue'] = array( + 'dt_viewxml_categories' => 'Катеґорії', + 'dt_viewxml_namespaces' => 'Просторы назв', + 'dt_viewxml_simplifiedformat' => 'Простый формат', + 'dt_xml_namespace' => 'Простор назв', + 'dt_xml_pages' => 'Сторінкы', + 'dt_xml_page' => 'Сторінка', + 'dt_xml_template' => 'Шаблона', + 'dt_xml_field' => 'Поле', + 'dt_xml_name' => 'Назва', + 'dt_xml_title' => 'Надпис', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Вольный текст', + 'importxml' => 'Імпортовати XML', +); + +/** Sicilian (Sicilianu) + * @author Aushulz + */ +$messages['scn'] = array( + 'dt_xml_name' => 'Nomu', + 'dt_xml_id' => 'ID', +); + +/** Slovak (Slovenčina) + * @author Helix84 + */ +$messages['sk'] = array( + 'datatransfer-desc' => 'Umožňuje import a export údajov obsiahnutých v bunkách šablón', + 'viewxml' => 'Zobraziť XML', + 'dt_viewxml_docu' => 'Prosím, vyberte ktorý spomedzi nasledovných kategórií a menných priestorov zobraziť vo formáte XML.', + 'dt_viewxml_categories' => 'Kategórie', + 'dt_viewxml_namespaces' => 'Menné priestory', + 'dt_viewxml_simplifiedformat' => 'Zjednodušený formát', + 'dt_xml_namespace' => 'Menný priestor', + 'dt_xml_pages' => 'Stránky', + 'dt_xml_page' => 'Stránka', + 'dt_xml_template' => 'Šablóna', + 'dt_xml_field' => 'Pole', + 'dt_xml_name' => 'Názov', + 'dt_xml_title' => 'Nadpis', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Voľný text', + 'importxml' => 'Importovať XML', + 'dt_import_selectfile' => 'Prosím, vyberte $1 súbor, ktorý chcete importovať:', + 'dt_import_encodingtype' => 'Typ kódovania:', + 'dt_import_editsummary' => 'Import $1', + 'dt_import_importing' => 'Prebieha import...', + 'dt_import_success' => 'Z $2 súboru sa {{PLURAL:$1|importuje $1 stránka|importujú $1 stránky|importuje $1 stránok}}.', + 'importcsv' => 'Import CSV', + 'dt_importcsv_badheader' => 'Chyba: stĺpec $1 hlavičky, „$2“ musí mať hodnotu buď „$3“, „$4“ alebo byť v tvare „názov_šablóny[názov_poľa]“', + 'right-datatransferimport' => 'Importovať údaje', +); + +/** Slovenian (Slovenščina) + * @author Dbc334 + */ +$messages['sl'] = array( + 'dt_xml_pages' => 'Strani', + 'dt_xml_page' => 'Stran', +); + +/** Serbian Cyrillic ekavian (‪Српски (ћирилица)‬) + * @author Rancher + * @author Sasa Stefanovic + * @author Жељко Тодоровић + * @author Михајло Анђелковић + */ +$messages['sr-ec'] = array( + 'viewxml' => 'Види XML', + 'dt_viewxml_categories' => 'Категорије', + 'dt_viewxml_namespaces' => 'Именски простори', + 'dt_viewxml_simplifiedformat' => 'Поједностављени формат', + 'dt_xml_namespace' => 'Именски простор', + 'dt_xml_pages' => 'Чланци', + 'dt_xml_page' => 'Страница', + 'dt_xml_template' => 'Шаблон', + 'dt_xml_field' => 'Поље', + 'dt_xml_name' => 'Име', + 'dt_xml_title' => 'Наслов', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Слободан текст', + 'importxml' => 'Увези XML', + 'dt_import_editsummary' => '$1 увоз', + 'dt_import_importing' => 'Увоз у току...', + 'importcsv' => 'Увези CSV', + 'right-datatransferimport' => 'Увези податке', +); + +/** Serbian Latin ekavian (‪Srpski (latinica)‬) + * @author Michaello + * @author Жељко Тодоровић + */ +$messages['sr-el'] = array( + 'viewxml' => 'Vidi XML', + 'dt_viewxml_categories' => 'Kategorije', + 'dt_viewxml_namespaces' => 'Imenski prostori', + 'dt_viewxml_simplifiedformat' => 'Pojednostavljeni format', + 'dt_xml_namespace' => 'Imenski prostor', + 'dt_xml_pages' => 'Članci', + 'dt_xml_page' => 'Stranica', + 'dt_xml_template' => 'Šablon', + 'dt_xml_field' => 'Polje', + 'dt_xml_name' => 'Ime', + 'dt_xml_title' => 'Naslov', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Slobodan tekst', + 'importxml' => 'Uvezi XML', + 'dt_import_editsummary' => '$1 uvoz', + 'dt_import_importing' => 'Uvoz u toku...', + 'importcsv' => 'Uvezi CSV', + 'right-datatransferimport' => 'Uvezi podatke', +); + +/** Seeltersk (Seeltersk) + * @author Pyt + */ +$messages['stq'] = array( + 'datatransfer-desc' => 'Ferlööwet dän Import un Export fon strukturierde Doaten, do der in Aproupen un Foarloagen ferwoand wäide.', + 'viewxml' => 'XML ankiekje', + 'dt_viewxml_docu' => 'Wääl uut, wäkke Kategorien in dät XML-Formoat anwiesd wäide schällen.', + 'dt_viewxml_categories' => 'Kategorien', + 'dt_viewxml_namespaces' => 'Noomensruume', + 'dt_viewxml_simplifiedformat' => 'Fereenfacht Formoat', + 'dt_xml_namespace' => 'Noomensruum', + 'dt_xml_page' => 'Siede', + 'dt_xml_field' => 'Fäild', + 'dt_xml_name' => 'Noome', + 'dt_xml_title' => 'Tittel', +); + +/** Sundanese (Basa Sunda) + * @author Irwangatot + */ +$messages['su'] = array( + 'dt_viewxml_namespaces' => 'Ngaranspasi', +); + +/** Swedish (Svenska) + * @author Fluff + * @author Gabbe.g + * @author Lejonel + * @author M.M.S. + * @author Per + */ +$messages['sv'] = array( + 'datatransfer-desc' => 'Tillåter import och export av data som finns i mallanrop', + 'viewxml' => 'Visa XML', + 'dt_viewxml_docu' => 'Välj vilka av följande kategorier och namnrymder som ska visas i XML-format.', + 'dt_viewxml_categories' => 'Kategorier', + 'dt_viewxml_namespaces' => 'Namnrymder', + 'dt_viewxml_simplifiedformat' => 'Förenklat format', + 'dt_xml_namespace' => 'Namnrymd', + 'dt_xml_pages' => 'Sidor', + 'dt_xml_page' => 'Sida', + 'dt_xml_template' => 'Mall', + 'dt_xml_field' => 'Fält', + 'dt_xml_name' => 'Namn', + 'dt_xml_title' => 'Titel', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Fritext', + 'importxml' => 'Importera XML', + 'dt_import_selectfile' => 'Vänligen välj $1-filen som skall importeras:', + 'dt_import_encodingtype' => 'Teckenkodningstyp:', + 'dt_import_editsummary' => '$1-importering', + 'dt_import_importing' => 'Importerar...', + 'dt_import_success' => '$1 {{PLURAL:$1|sida|sidor}} kommer skapas från $2-filen.', + 'importcsv' => 'Importera CSV', + 'dt_importcsv_badheader' => "Fel: Titeln $2 för kolumnen $1 måste vara antingen $3, $4 eller på formen 'mallnamn[fältnamn]'", + 'right-datatransferimport' => 'Importera data', +); + +/** Silesian (Ślůnski) + * @author Herr Kriss + */ +$messages['szl'] = array( + 'dt_xml_page' => 'Zajta', + 'dt_xml_name' => 'Mjano', +); + +/** Tamil (தமிழ்) + * @author TRYPPN + * @author Trengarasu + * @author Ulmo + */ +$messages['ta'] = array( + 'dt_viewxml_categories' => 'பகுப்புகள்', + 'dt_viewxml_namespaces' => 'பெயர்வெளிகள்', + 'dt_viewxml_simplifiedformat' => 'எளிதாக்கப்பட்ட வடிவம்', + 'dt_xml_namespace' => 'பெயர்வெளி', + 'dt_xml_pages' => 'பக்கங்கள்', + 'dt_xml_page' => 'பக்கம்', + 'dt_xml_template' => 'வார்ப்புரு', + 'dt_xml_name' => 'பெயர்', + 'dt_xml_title' => 'தலைப்பு', + 'dt_xml_id' => 'அடையாளம்', + 'dt_xml_freetext' => 'எந்த கட்டுப்பாடும் இல்லா சொற்றொடர்', + 'dt_import_importing' => 'இறக்குமதியாகிறது...', +); + +/** Telugu (తెలుగు) + * @author Veeven + */ +$messages['te'] = array( + 'viewxml' => 'XMLని చూడండి', + 'dt_viewxml_categories' => 'వర్గాలు', + 'dt_viewxml_namespaces' => 'పేరుబరులు', + 'dt_xml_namespace' => 'పేరుబరి', + 'dt_xml_pages' => 'పేజీలు', + 'dt_xml_page' => 'పేజీ', + 'dt_xml_template' => 'మూస', + 'dt_xml_name' => 'పేరు', + 'dt_xml_title' => 'శీర్షిక', + 'dt_xml_id' => 'ఐడీ', + 'dt_xml_freetext' => 'స్వేచ్ఛా పాఠ్యం', +); + +/** Tetum (Tetun) + * @author MF-Warburg + */ +$messages['tet'] = array( + 'dt_viewxml_categories' => 'Kategoria sira', + 'dt_xml_namespace' => 'Espasu pájina nian', + 'dt_xml_page' => 'Pájina', + 'dt_xml_name' => 'Naran', + 'dt_xml_title' => 'Títulu:', + 'dt_xml_id' => 'ID', +); + +/** Tajik (Cyrillic) (Тоҷикӣ (Cyrillic)) + * @author Ibrahim + */ +$messages['tg-cyrl'] = array( + 'dt_viewxml_categories' => 'Гурӯҳҳо', + 'dt_viewxml_namespaces' => 'Фазоҳои ном', + 'dt_xml_namespace' => 'Фазоином', + 'dt_xml_page' => 'Саҳифа', + 'dt_xml_name' => 'Ном', + 'dt_xml_title' => 'Унвон', + 'dt_xml_freetext' => 'Матни дилхоҳ', +); + +/** Tajik (Latin) (Тоҷикӣ (Latin)) + * @author Liangent + */ +$messages['tg-latn'] = array( + 'dt_viewxml_categories' => 'Gurūhho', + 'dt_viewxml_namespaces' => 'Fazohoi nom', + 'dt_xml_namespace' => 'Fazoinom', + 'dt_xml_page' => 'Sahifa', + 'dt_xml_name' => 'Nom', + 'dt_xml_title' => 'Unvon', + 'dt_xml_freetext' => 'Matni dilxoh', +); + +/** Thai (ไทย) + * @author Octahedron80 + */ +$messages['th'] = array( + 'dt_viewxml_categories' => 'หมวดหมู่', + 'dt_viewxml_namespaces' => 'เนมสเปซ', + 'dt_xml_namespace' => 'เนมสเปซ', +); + +/** Turkmen (Türkmençe) + * @author Hanberke + */ +$messages['tk'] = array( + 'dt_xml_page' => 'Sahypa', + 'dt_xml_name' => 'At', +); + +/** Tagalog (Tagalog) + * @author AnakngAraw + */ +$messages['tl'] = array( + 'datatransfer-desc' => 'Nagpapahintulot sa pag-aangkat at pagluluwas ng mga datong nasa loob ng mga pagtawag sa suleras', + 'viewxml' => 'Tingnan ang XML', + 'dt_viewxml_docu' => 'Pumili po lamang mula sa sumusunod na mga kaurian at mga espasyo ng pangalan upang makita ang anyong XML.', + 'dt_viewxml_categories' => 'Mga kaurian', + 'dt_viewxml_namespaces' => 'Mga espasyo ng pangalan', + 'dt_viewxml_simplifiedformat' => 'Pinapayak na anyo', + 'dt_xml_namespace' => 'Espasyo ng pangalan', + 'dt_xml_pages' => 'Mga pahina', + 'dt_xml_page' => 'Pahina', + 'dt_xml_template' => 'Suleras', + 'dt_xml_field' => 'Hanay', + 'dt_xml_name' => 'Pangalan', + 'dt_xml_title' => 'Pamagat', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Malayang Teksto', + 'importxml' => 'Angkatin ang XML', + 'dt_import_selectfile' => 'Pakipili ang talaksang $1 na aangkatin:', + 'dt_import_encodingtype' => 'Uri ng pagkokodigo:', + 'dt_import_forexisting' => 'Para sa mga pahinang umiiral na:', + 'dt_import_overwriteexisting' => 'Patungan ang umiiral na nilalaman', + 'dt_import_skipexisting' => 'Laktawan', + 'dt_import_appendtoexisting' => 'Isugpong sa umiiral na nilalaman', + 'dt_import_summarydesc' => 'Buod ng pag-angkat:', + 'dt_import_editsummary' => 'Pag-angkat ng $1', + 'dt_import_importing' => 'Inaangkat...', + 'dt_import_success' => '$1 {{PLURAL:$1|pahina|mga pahina}} ang lilikhain mula sa talaksang $2.', + 'importcsv' => 'Angkatin ang CSV', + 'dt_importcsv_badheader' => "Kamalian: ang patayong hanay ng paulong $1, '$2', ay dapat na '$3', '$4' o nasa pormang 'template_name[field_name]'", + 'right-datatransferimport' => 'Angkatin ang dato', +); + +/** Turkish (Türkçe) + * @author Joseph + * @author Karduelis + * @author Mach + * @author Manco Capac + * @author Srhat + * @author Vito Genovese + */ +$messages['tr'] = array( + 'datatransfer-desc' => 'Şablon çağrılarında içerilen verilerin içe ve dışa aktarımına izin verir', + 'viewxml' => "XML'i gör", + 'dt_viewxml_docu' => 'Lütfen, XML formatında görüntülemek için aşağıdaki kategori ve ad alanları arasından seçin.', + 'dt_viewxml_categories' => 'Kategoriler', + 'dt_viewxml_namespaces' => 'İsim alanları', + 'dt_viewxml_simplifiedformat' => 'Basitleştirilmiş format', + 'dt_xml_namespace' => 'Ad alanı', + 'dt_xml_pages' => 'Sayfalar', + 'dt_xml_page' => 'Sayfa', + 'dt_xml_template' => 'Şablon', + 'dt_xml_field' => 'Alan', + 'dt_xml_name' => 'İsim', + 'dt_xml_title' => 'Başlık', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Özgür Metin', + 'importxml' => 'XML içe aktar', + 'dt_import_selectfile' => 'Lütfen içe aktarmak için $1 dosyasını seçin:', + 'dt_import_encodingtype' => 'Kodlama türü:', + 'dt_import_summarydesc' => 'İçe aktarma özeti:', + 'dt_import_editsummary' => '$1 içe aktarımı', + 'dt_import_importing' => 'İçe aktarıyor...', + 'dt_import_success' => '$2 dosyasından $1 {{PLURAL:$1|sayfa|sayfa}} oluşturulacak.', + 'importcsv' => "CSV'yi içe aktar", + 'dt_importcsv_badheader' => "Hata: $1 kolonunun başlığı olan '$2', '$3', '$4' ya da 'şablon_adı[alan_adı]' şeklinde olmalıdır", + 'right-datatransferimport' => 'Verileri içe aktarır', +); + +/** Uighur (Latin) (ئۇيغۇرچە / Uyghurche‎ (Latin)) + * @author Jose77 + */ +$messages['ug-latn'] = array( + 'dt_xml_page' => 'Bet', +); + +/** Ukrainian (Українська) + * @author AS + * @author Arturyatsko + * @author Prima klasy4na + * @author Тест + */ +$messages['uk'] = array( + 'datatransfer-desc' => 'Дозволяє імпортувати та експортувати дані, які містяться в викликах шаблонів', + 'viewxml' => 'Перегляд XML', + 'dt_viewxml_docu' => 'Будь ласка, виберіть одну з наступних категорій та імен для перегляду в форматі XML.', + 'dt_viewxml_categories' => 'Категорії', + 'dt_viewxml_namespaces' => 'Простори назв', + 'dt_viewxml_simplifiedformat' => 'Спрощений формат', + 'dt_xml_namespace' => 'Простір назв', + 'dt_xml_pages' => 'Сторінки', + 'dt_xml_page' => 'Сторінка', + 'dt_xml_template' => 'Шаблон', + 'dt_xml_field' => 'Поле', + 'dt_xml_name' => 'Назва', + 'dt_xml_title' => 'Заголовок', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Вільний текст', + 'importxml' => 'Імпорт XML', + 'dt_import_selectfile' => 'Будь ласка, виберіть файл $1 для імпорту:', + 'dt_import_encodingtype' => 'Тип кодування:', + 'dt_import_forexisting' => 'Для сторінок, які вже існують:', + 'dt_import_overwriteexisting' => 'Перезаписати існуючий вміст', + 'dt_import_skipexisting' => 'Пропустити', + 'dt_import_appendtoexisting' => 'Додати до існуючого вмісту', + 'dt_import_summarydesc' => 'Опис імпорту:', + 'dt_import_editsummary' => 'імпорт $1', + 'dt_import_importing' => 'Імпорт ...', + 'dt_import_success' => '$1 {{PLURAL:$1|сторінка була|сторінки було|сторінок було}} створено з файлу $2.', + 'importcsv' => 'Імпорт CSV', + 'dt_importcsv_badheader' => 'Помилка. Заголовок колонки №$1 «$2» повинен бути або «$3», або «$4», або у формі «template_name[field_name]»', + 'right-datatransferimport' => 'Імпорт даних', +); + +/** Vietnamese (Tiếng Việt) + * @author Minh Nguyen + * @author Vinhtantran + */ +$messages['vi'] = array( + 'datatransfer-desc' => 'Cho phép nhập xuất dữ liệu có cấu trúc được chứa trong lời gọi bản mẫu', + 'viewxml' => 'Xem XML', + 'dt_viewxml_docu' => 'Xin hãy chọn trong những thể loại và không gian tên dưới đây để xem ở dạng XML.', + 'dt_viewxml_categories' => 'Thể loại', + 'dt_viewxml_namespaces' => 'Không gian tên', + 'dt_viewxml_simplifiedformat' => 'Định dạng đơn giản hóa', + 'dt_xml_namespace' => 'Không gian tên', + 'dt_xml_pages' => 'Trang', + 'dt_xml_page' => 'Trang', + 'dt_xml_template' => 'Bản mẫu', + 'dt_xml_field' => 'Trường', + 'dt_xml_name' => 'Tên', + 'dt_xml_title' => 'Tựa đề', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => 'Văn bản Tự do', + 'importxml' => 'Nhập XML', + 'dt_import_selectfile' => 'Xin hãy chọn tập tin $1 để nhập:', + 'dt_import_encodingtype' => 'Bảng mã:', + 'dt_import_editsummary' => 'Nhập $1', + 'dt_import_importing' => 'Đang nhập…', + 'dt_import_success' => '{{PLURAL:$1|Trang|$1 trang}} sẽ được nhập từ tập tin $2.', + 'importcsv' => 'Nhập CSV', + 'dt_importcsv_badheader' => 'Lỗi: tên của cột $1, “$2”, phải là “$3” hay “$4”, hoặc phải theo hình dạng “tên_tiêu_bản[tên_trường]”', + 'right-datatransferimport' => 'Nhập dữ liệu', +); + +/** Volapük (Volapük) + * @author Malafaya + * @author Smeira + */ +$messages['vo'] = array( + 'datatransfer-desc' => 'Dälon nüveigi e seveigi nünodas peleodüköl in samafomotilüvoks paninädöls', + 'viewxml' => 'Logön eli XML', + 'dt_viewxml_docu' => 'Välolös bevü klads e nemaspads foviks utosi, kelosi vilol logön fomätü XML.', + 'dt_viewxml_categories' => 'Klads', + 'dt_viewxml_namespaces' => 'Nemaspads', + 'dt_viewxml_simplifiedformat' => 'Fomät pebalugüköl', + 'dt_xml_namespace' => 'Nemaspad', + 'dt_xml_page' => 'Pad', + 'dt_xml_field' => 'Fel', + 'dt_xml_name' => 'Nem', + 'dt_xml_title' => 'Tiäd', + 'dt_xml_id' => 'Dientifanüm', + 'dt_xml_freetext' => 'Vödem libik', +); + +/** Yiddish (ייִדיש) + * @author פוילישער + */ +$messages['yi'] = array( + 'dt_xml_name' => 'נאָמען', + 'dt_xml_title' => 'טיטל', +); + +/** Simplified Chinese (‪中文(简体)‬) + * @author Gaoxuewei + */ +$messages['zh-hans'] = array( + 'datatransfer-desc' => '允许根据模板的要求导入导出结构化的数据', + 'viewxml' => '查看XML', + 'dt_viewxml_docu' => '请在下列分类、名称空间中选择,以使用XML格式查看。', + 'dt_viewxml_categories' => '分类', + 'dt_viewxml_namespaces' => '名称空间', + 'dt_viewxml_simplifiedformat' => '简化格式', + 'dt_xml_namespace' => '名称空间', + 'dt_xml_pages' => '页面', + 'dt_xml_page' => '页面', + 'dt_xml_template' => '模板', + 'dt_xml_field' => '事件', + 'dt_xml_name' => '名称', + 'dt_xml_title' => '标题', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => '自由文本', +); + +/** Traditional Chinese (‪中文(繁體)‬) + * @author Liangent + * @author Mark85296341 + */ +$messages['zh-hant'] = array( + 'datatransfer-desc' => '允許根據模板的要求導入導出結構化的數據', + 'viewxml' => '檢視XML', + 'dt_viewxml_docu' => '請在下列分類、名稱空間中選擇,以使用XML格式查看。', + 'dt_viewxml_categories' => '分類', + 'dt_viewxml_namespaces' => '名稱空間', + 'dt_viewxml_simplifiedformat' => '簡化格式', + 'dt_xml_namespace' => '名稱空間', + 'dt_xml_pages' => '頁面', + 'dt_xml_page' => '頁面', + 'dt_xml_template' => '模板', + 'dt_xml_name' => '名稱', + 'dt_xml_title' => '標題', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => '自由文字', +); + +/** Chinese (Taiwan) (‪中文(台灣)‬) + * @author Pbdragonwang + * @author Roc michael + */ +$messages['zh-tw'] = array( + 'datatransfer-desc' => '允許匯入及匯出引用樣板(template calls)的結構性資料', + 'viewxml' => '查看 XML', + 'dt_viewxml_docu' => '請選取以下的分類及名字空間以查看其XML格式的資料', + 'dt_viewxml_categories' => '分類', + 'dt_viewxml_namespaces' => '名字空間', + 'dt_viewxml_simplifiedformat' => '簡化的格式', + 'dt_xml_namespace' => '名字空間', + 'dt_xml_pages' => '頁面', + 'dt_xml_page' => '頁面', + 'dt_xml_template' => '模板', + 'dt_xml_field' => '欄位', + 'dt_xml_name' => '名稱', + 'dt_xml_title' => '標題(Title)', + 'dt_xml_id' => 'ID', + 'dt_xml_freetext' => '隨意文字', + 'importxml' => '匯入XML', + 'dt_import_selectfile' => '請選取$1檔以供匯入', + 'dt_import_encodingtype' => '編碼類型', + 'dt_import_summarydesc' => '輸入的摘要', + 'dt_import_editsummary' => '匯入$1', + 'dt_import_importing' => '匯入中...', + 'dt_import_success' => '將從該$2檔匯入$1{{PLURAL:$1|頁面頁面}}。', + 'importcsv' => '匯入CSV檔', + 'dt_importcsv_badheader' => "錯誤:$1欄位的標題「$2」或必須為「$3」,「$4」或表單「模板名稱[欄位名稱]」
+Error: the column $1 header, '$2', must be either '$3', '$4' or of the form 'template_name[field_name]'", + 'right-datatransferimport' => '輸入資料', +); + diff --git a/preecej/semantic_wiki/extensions/DataTransfer_PS/specials/DT_ImportCSV.php b/preecej/semantic_wiki/extensions/DataTransfer_PS/specials/DT_ImportCSV.php new file mode 100644 index 0000000..30b833f --- /dev/null +++ b/preecej/semantic_wiki/extensions/DataTransfer_PS/specials/DT_ImportCSV.php @@ -0,0 +1,231 @@ +mTemplates = array(); + } + + function setName( $name ) { + $this->mName = $name; + } + + function getName() { + return $this->mName; + } + + function addTemplateField( $template_name, $field_name, $value ) { + if ( ! array_key_exists( $template_name, $this->mTemplates ) ) { + $this->mTemplates[$template_name] = array(); + } + $this->mTemplates[$template_name][$field_name] = $value; + } + + function setFreeText( $free_text ) { + $this->mFreeText = $free_text; + } + + function createText() { + $text = ""; + foreach ( $this->mTemplates as $template_name => $fields ) { + $text .= '{{' . $template_name . "\n"; + foreach ( $fields as $field_name => $val ) { + $text .= "|$field_name=$val\n"; + } + $text .= '}}' . "\n"; + } + $text .= $this->mFreeText; + return $text; + } +} + +class DTImportCSV extends SpecialPage { + + /** + * Constructor + */ + public function DTImportCSV() { + global $wgLanguageCode; + parent::__construct( 'ImportCSV' ); + DTUtils::loadMessages(); + } + + function execute( $query ) { + global $wgUser, $wgOut, $wgRequest; + $this->setHeaders(); + + if ( ! $wgUser->isAllowed( 'datatransferimport' ) ) { + global $wgOut; + $wgOut->permissionRequired( 'datatransferimport' ); + return; + } + + if ( $wgRequest->getCheck( 'import_file' ) ) { + $text = DTUtils::printImportingMessage(); + $uploadResult = ImportStreamSource::newFromUpload( "file_name" ); + // handling changed in MW 1.17 + $uploadError = null; + if ( $uploadResult instanceof Status ) { + if ( $uploadResult->isOK() ) { + $source = $uploadResult->value; + } else { + $uploadError = $wgOut->parse( $uploadResult->getWikiText() ); + } + } elseif ( $uploadResult instanceof WikiErrorMsg ) { + $uploadError = $uploadResult->getMessage(); + } else { + $source = $uploadResult; + } + + if ( !is_null( $uploadError ) ) { + $text .= $uploadError; + $wgOut->addHTML( $text ); + return; + } + + $encoding = $wgRequest->getVal( 'encoding' ); + $pages = array(); + $error_msg = self::getCSVData( $source->mHandle, $encoding, $pages ); + if ( ! is_null( $error_msg ) ) { + $text .= $error_msg; + $wgOut->addHTML( $text ); + return; + } + + $importSummary = $wgRequest->getVal( 'import_summary' ); + $forPagesThatExist = $wgRequest->getVal( 'pagesThatExist' ); + $text .= self::modifyPages( $pages, $importSummary, $forPagesThatExist ); + } else { + $formText = DTUtils::printFileSelector( 'CSV' ); + $utf8OptionText = "\t" . Xml::element( 'option', + array( + 'selected' => 'selected', + 'value' => 'utf8' + ), 'UTF-8' ) . "\n"; + $utf16OptionText = "\t" . Xml::element( 'option', + array( + 'value' => 'utf16' + ), 'UTF-16' ) . "\n"; + $encodingSelectText = Xml::tags( 'select', + array( 'name' => 'encoding' ), + "\n" . $utf8OptionText . $utf16OptionText. "\t" ) . "\n\t"; + $formText .= "\t" . Xml::tags( 'p', null, wfMsg( 'dt_import_encodingtype', 'CSV' ) . " " . $encodingSelectText ) . "\n"; + $formText .= "\t" . '
' . "\n"; + $formText .= DTUtils::printExistingPagesHandling(); + $formText .= DTUtils::printImportSummaryInput( 'CSV' ); + $formText .= DTUtils::printSubmitButton(); + $text = "\t" . Xml::tags( 'form', + array( + 'enctype' => 'multipart/form-data', + 'action' => '', + 'method' => 'post' + ), $formText ) . "\n"; + } + + $wgOut->addHTML( $text ); + } + + + static function getCSVData( $csv_file, $encoding, &$pages ) { + if ( is_null( $csv_file ) ) + return wfMsg( 'emptyfile' ); + $table = array(); + if ( $encoding == 'utf16' ) { + // change encoding to UTF-8 + // Starting with PHP 5.3 we could use str_getcsv(), + // which would save the tempfile hassle + $tempfile = tmpfile(); + $csv_string = ''; + while ( !feof( $csv_file ) ) { + $csv_string .= fgets( $csv_file, 65535 ); + } + fwrite( $tempfile, iconv( 'UTF-16', 'UTF-8', $csv_string ) ); + fseek( $tempfile, 0 ); + while ( $line = fgetcsv( $tempfile ) ) { + array_push( $table, $line ); + } + fclose( $tempfile ); + } else { + while ( $line = fgetcsv( $csv_file ) ) { + array_push( $table, $line ); + } + } + fclose( $csv_file ); + + // Get rid of the "byte order mark", if it's there - this is + // a three-character string sometimes put at the beginning + // of files to indicate its encoding. + // Code copied from: + // http://www.dotvoid.com/2010/04/detecting-utf-bom-byte-order-mark/ + $byteOrderMark = pack( "CCC", 0xef, 0xbb, 0xbf ); + if ( 0 == strncmp( $table[0][0], $byteOrderMark, 3 ) ) { + $table[0][0] = substr( $table[0][0], 3 ); + // If there were quotation marks around this value, + // they didn't get removed, so remove them now. + $table[0][0] = trim( $table[0][0], '"' ); + } + + // check header line to make sure every term is in the + // correct format + $title_label = wfMsgForContent( 'dt_xml_title' ); + $free_text_label = wfMsgForContent( 'dt_xml_freetext' ); + foreach ( $table[0] as $i => $header_val ) { + if ( $header_val !== $title_label && $header_val !== $free_text_label && + ! preg_match( '/^[^\[\]]+\[[^\[\]]+]$/', $header_val ) ) { + $error_msg = wfMsg( 'dt_importcsv_badheader', $i, $header_val, $title_label, $free_text_label ); + return $error_msg; + } + } + foreach ( $table as $i => $line ) { + if ( $i == 0 ) continue; + $page = new DTPage(); + foreach ( $line as $j => $val ) { + if ( $val == '' ) continue; + if ( $table[0][$j] == $title_label ) { + $page->setName( $val ); + } elseif ( $table[0][$j] == $free_text_label ) { + $page->setFreeText( $val ); + } else { + list( $template_name, $field_name ) = explode( '[', str_replace( ']', '', $table[0][$j] ) ); + $page->addTemplateField( $template_name, $field_name, $val ); + } + } + $pages[] = $page; + } + } + + function modifyPages( $pages, $editSummary, $forPagesThatExist ) { + global $wgUser, $wgLang; + + $text = ""; + $jobs = array(); + $jobParams = array(); + $jobParams['user_id'] = $wgUser->getId(); + $jobParams['edit_summary'] = $editSummary; + $jobParams['for_pages_that_exist'] = $forPagesThatExist; + foreach ( $pages as $page ) { + $title = Title::newFromText( $page->getName() ); + if ( is_null( $title ) ) { + $text .= '

' . wfMsg( 'img-auth-badtitle', $page->getName() ) . "

\n"; + continue; + } + $jobParams['text'] = $page->createText(); + $jobs[] = new DTImportJob( $title, $jobParams ); + } + Job::batchInsert( $jobs ); + $text .= wfMsgExt( 'dt_import_success', array( 'parse' ), $wgLang->formatNum( count( $jobs ) ), 'CSV' ); + + return $text; + } + +} diff --git a/preecej/semantic_wiki/extensions/DataTransfer_PS/specials/DT_ImportXML.php b/preecej/semantic_wiki/extensions/DataTransfer_PS/specials/DT_ImportXML.php new file mode 100644 index 0000000..ffb4398 --- /dev/null +++ b/preecej/semantic_wiki/extensions/DataTransfer_PS/specials/DT_ImportXML.php @@ -0,0 +1,82 @@ +setHeaders(); + + if ( ! $wgUser->isAllowed( 'datatransferimport' ) ) { + global $wgOut; + $wgOut->permissionRequired( 'datatransferimport' ); + return; + } + + if ( $wgRequest->getCheck( 'import_file' ) ) { + $text = DTUtils::printImportingMessage(); + $uploadResult = ImportStreamSource::newFromUpload( "file_name" ); + // handling changed in MW 1.17 + if ( $uploadResult instanceof Status ) { + $source = $uploadResult->value; + } else { + $source = $uploadResult; + } + $importSummary = $wgRequest->getVal( 'import_summary' ); + $forPagesThatExist = $wgRequest->getVal( 'pagesThatExist' ); + $text .= self::modifyPages( $source, $importSummary, $forPagesThatExist ); + } else { + $formText = DTUtils::printFileSelector( 'XML' ); + $formText .= DTUtils::printExistingPagesHandling(); + $formText .= DTUtils::printImportSummaryInput( 'XML' ); + $formText .= DTUtils::printSubmitButton(); + $text = "\t" . Xml::tags( 'form', + array( + 'enctype' => 'multipart/form-data', + 'action' => '', + 'method' => 'post' + ), $formText ) . "\n"; + + } + + $wgOut->addHTML( $text ); + } + + function modifyPages( $source, $editSummary, $forPagesThatExist ) { + $text = ""; + $xml_parser = new DTXMLParser( $source ); + $xml_parser->doParse(); + $jobs = array(); + $job_params = array(); + global $wgUser; + $job_params['user_id'] = $wgUser->getId(); + $job_params['edit_summary'] = $editSummary; + $job_params['for_pages_that_exist'] = $forPagesThatExist; + + foreach ( $xml_parser->mPages as $page ) { + $title = Title::newFromText( $page->getName() ); + $job_params['text'] = $page->createText(); + $jobs[] = new DTImportJob( $title, $job_params ); + } + Job::batchInsert( $jobs ); + global $wgLang; + $text .= wfMsgExt( 'dt_import_success', array( 'parse' ), $wgLang->formatNum( count( $jobs ) ), 'XML' ); + return $text; + } +} diff --git a/preecej/semantic_wiki/extensions/DataTransfer_PS/specials/DT_ViewXML.php b/preecej/semantic_wiki/extensions/DataTransfer_PS/specials/DT_ViewXML.php new file mode 100644 index 0000000..cb2497f --- /dev/null +++ b/preecej/semantic_wiki/extensions/DataTransfer_PS/specials/DT_ViewXML.php @@ -0,0 +1,511 @@ +setHeaders(); + doSpecialViewXML( $query ); + } +} + +function getCategoriesList() { + global $wgContLang, $dtgContLang; + $dt_props = $dtgContLang->getPropertyLabels(); + $exclusion_cat_name = str_replace( ' ', '_', $dt_props[DT_SP_IS_EXCLUDED_FROM_XML] ); + $exclusion_cat_full_name = $wgContLang->getNSText( NS_CATEGORY ) . ':' . $exclusion_cat_name; + $dbr = wfGetDB( DB_SLAVE ); + $categorylinks = $dbr->tableName( 'categorylinks' ); + $res = $dbr->query( "SELECT DISTINCT cl_to FROM $categorylinks" ); + $categories = array(); + while ( $row = $dbr->fetchRow( $res ) ) { + $cat_name = $row[0]; + // add this category to the list, if it's not the + // "Excluded from XML" category, and it's not a child of that + // category + if ( $cat_name != $exclusion_cat_name ) { + $title = Title::newFromText( $cat_name, NS_CATEGORY ); + $parent_categories = $title->getParentCategoryTree( array() ); + if ( ! treeContainsElement( $parent_categories, $exclusion_cat_full_name ) ) + $categories[] = $cat_name; + } + } + $dbr->freeResult( $res ); + sort( $categories ); + return $categories; +} + +function getNamespacesList() { + $dbr = wfGetDB( DB_SLAVE ); + $page = $dbr->tableName( 'page' ); + $res = $dbr->query( "SELECT DISTINCT page_namespace FROM $page" ); + $namespaces = array(); + while ( $row = $dbr->fetchRow( $res ) ) { + $namespaces[] = $row[0]; + } + $dbr->freeResult( $res ); + return $namespaces; +} + +function getGroupings() { + global $dtgContLang; + + global $smwgIP; + if ( ! isset( $smwgIP ) ) { + return array(); + } else { + $groupings = array(); + $store = smwfGetStore(); + $grouping_prop = SMWPropertyValue::makeProperty( '_DT_XG' ); + $grouped_props = $store->getAllPropertySubjects( $grouping_prop ); + foreach ( $grouped_props as $grouped_prop ) { + $res = $store->getPropertyValues( $grouped_prop, $grouping_prop ); + $num = count( $res ); + if ( $num > 0 ) { + $grouping_label = $res[0]->getShortWikiText(); + $groupings[] = array( $grouped_prop, $grouping_label ); + } + } + return $groupings; + } +} + +function getSubpagesForPageGrouping( $page_name, $relation_name ) { + $dbr = wfGetDB( DB_SLAVE ); + $smw_relations = $dbr->tableName( 'smw_relations' ); + $smw_attributes = $dbr->tableName( 'smw_attributes' ); + $res = $dbr->query( "SELECT subject_title FROM $smw_relations WHERE object_title = '$page_name' AND relation_title = '$relation_name'" ); + $subpages = array(); + while ( $row = $dbr->fetchRow( $res ) ) { + $subpage_name = $row[0]; + $query_subpage_name = str_replace( "'", "\'", $subpage_name ); + // get the display order + $res2 = $dbr->query( "SELECT value_num FROM $smw_attributes WHERE subject_title = '$query_subpage_name' AND attribute_title = 'Display_order'" ); + if ( $row2 = $dbr->fetchRow( $res2 ) ) { + $display_order = $row2[0]; + } else { + $display_order = - 1; + } + $dbr->freeResult( $res2 ); + // HACK - page name is the key, display order is the value + $subpages[$subpage_name] = $display_order; + } + $dbr->freeResult( $res ); + uasort( $subpages, "cmp" ); + return array_keys( $subpages ); +} + + +/* + * Get all the pages that belong to a category and all its subcategories, + * down a certain number of levels - heavily based on SMW's + * SMWInlineQuery::includeSubcategories() + */ + function getPagesForCategory( $top_category, $num_levels ) { + if ( 0 == $num_levels ) return $top_category; + + $db = wfGetDB( DB_SLAVE ); + $fname = "getPagesForCategory"; + $categories = array( $top_category ); + $checkcategories = array( $top_category ); + $titles = array(); + for ( $level = $num_levels; $level > 0; $level-- ) { + $newcategories = array(); + foreach ( $checkcategories as $category ) { + $res = $db->select( // make the query + array( 'categorylinks', 'page' ), + array( 'page_id', 'page_title', 'page_namespace' ), + array( 'cl_from = page_id', + 'cl_to = ' . $db->addQuotes( $category ) ), + $fname ); + if ( $res ) { + while ( $res && $row = $db->fetchRow( $res ) ) { + if ( array_key_exists( 'page_title', $row ) ) { + $page_namespace = $row['page_namespace']; + if ( $page_namespace == NS_CATEGORY ) { + $new_category = $row[ 'page_title' ]; + if ( !in_array( $new_category, $categories ) ) { + $newcategories[] = $new_category; + } + } else { + $titles[] = Title::newFromID( $row['page_id'] ); + } + } + } + $db->freeResult( $res ); + } + } + if ( count( $newcategories ) == 0 ) { + return $titles; + } else { + $categories = array_merge( $categories, $newcategories ); + } + $checkcategories = array_diff( $newcategories, array() ); + } + return $titles; + } + +/* +function getPagesForCategory($category) { + $dbr = wfGetDB( DB_SLAVE ); + $categorylinks = $dbr->tableName( 'categorylinks' ); + $res = $dbr->query("SELECT cl_from FROM $categorylinks WHERE cl_to = '$category'"); + $titles = array(); + while ($row = $dbr->fetchRow($res)) { + $titles[] = Title::newFromID($row[0]); + } + $dbr->freeResult($res); + return $titles; +} +*/ + +function getPagesForNamespace( $namespace ) { + $dbr = wfGetDB( DB_SLAVE ); + $page = $dbr->tableName( 'page' ); + $res = $dbr->query( "SELECT page_id FROM $page WHERE page_namespace = '$namespace'" ); + $titles = array(); + while ( $row = $dbr->fetchRow( $res ) ) { + $titles[] = Title::newFromID( $row[0] ); + } + $dbr->freeResult( $res ); + return $titles; +} + +/** + * Helper function for getXMLForPage() + */ +function treeContainsElement( $tree, $element ) { + // escape out if there's no tree (i.e., category) + if ( $tree == null ) + return false; + + foreach ( $tree as $node => $child_tree ) { + if ( $node === $element ) { + return true; + } elseif ( count( $child_tree ) > 0 ) { + if ( treeContainsElement( $child_tree, $element ) ) { + return true; + } + } + } + // no match found + return false; +} + +function getXMLForPage( $title, $simplified_format, $groupings, $depth = 0 ) { + if ( $depth > 5 ) { return ""; } + + global $wgContLang, $dtgContLang; + + $namespace_labels = $wgContLang->getNamespaces(); + $template_label = $namespace_labels[NS_TEMPLATE]; + $namespace_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_namespace' ) ); + $page_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_page' ) ); + $field_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_field' ) ); + $name_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_name' ) ); + $title_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_title' ) ); + $id_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_id' ) ); + $free_text_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_freetext' ) ); + + // if this page belongs to the exclusion category, exit + $parent_categories = $title->getParentCategoryTree( array() ); + $dt_props = $dtgContLang->getPropertyLabels(); + // $exclusion_category = $title->newFromText($dt_props[DT_SP_IS_EXCLUDED_FROM_XML], NS_CATEGORY); + $exclusion_category = $wgContLang->getNSText( NS_CATEGORY ) . ':' . str_replace( ' ', '_', $dt_props[DT_SP_IS_EXCLUDED_FROM_XML] ); + if ( treeContainsElement( $parent_categories, $exclusion_category ) ) + return ""; + $article = new Article( $title ); + $page_title = str_replace( '"', '"', $title->getText() ); + $page_title = str_replace( '&', '&', $page_title ); + if ( $simplified_format ) + $text = "<$page_str><$id_str>{$article->getID()}<$title_str>$page_title\n"; + else + $text = "<$page_str $id_str=\"" . $article->getID() . "\" $title_str=\"" . $page_title . '" >'; + + // traverse the page contents, one character at a time + $uncompleted_curly_brackets = 0; + $page_contents = $article->getContent(); + // escape out variables like "{{PAGENAME}}" + $page_contents = str_replace( '{{PAGENAME}}', '{{PAGENAME}}', $page_contents ); + // escape out parser functions + $page_contents = preg_replace( '/{{(#.+)}}/', '{{$1}}', $page_contents ); + // escape out transclusions + $page_contents = preg_replace( '/{{(:.+)}}/', '{{$1}}', $page_contents ); + // escape out variable names + $page_contents = str_replace( '{{{', '{{{', $page_contents ); + $page_contents = str_replace( '}}}', '}}}', $page_contents ); + // escape out tables + $page_contents = str_replace( '{|', '{|', $page_contents ); + $page_contents = str_replace( '|}', '|}', $page_contents ); + $free_text = ""; + $free_text_id = 1; + $template_name = ""; + $field_name = ""; + $field_value = ""; + $field_has_name = false; + for ( $i = 0; $i < strlen( $page_contents ); $i++ ) { + $c = $page_contents[$i]; + if ( $uncompleted_curly_brackets == 0 ) { + if ( $c == "{" || $i == strlen( $page_contents ) - 1 ) { + if ( $i == strlen( $page_contents ) - 1 ) + $free_text .= $c; + $uncompleted_curly_brackets++; + $free_text = trim( $free_text ); + $free_text = str_replace( '&', '&', $free_text ); + $free_text = str_replace( '[', '[', $free_text ); + $free_text = str_replace( ']', ']', $free_text ); + $free_text = str_replace( '<', '<', $free_text ); + $free_text = str_replace( '>', '>', $free_text ); + if ( $free_text != "" ) { + $text .= "<$free_text_str id=\"$free_text_id\">$free_text"; + $free_text = ""; + $free_text_id++; + } + } elseif ( $c == "{" ) { + // do nothing + } else { + $free_text .= $c; + } + } elseif ( $uncompleted_curly_brackets == 1 ) { + if ( $c == "{" ) { + $uncompleted_curly_brackets++; + $creating_template_name = true; + } elseif ( $c == "}" ) { + $uncompleted_curly_brackets--; + // is this needed? + // if ($field_name != "") { + // $field_name = ""; + // } + if ( $page_contents[$i - 1] == '}' ) { + if ( $simplified_format ) + $text .= ""; + else + $text .= ""; + } + $template_name = ""; + } + } else { // 2 or greater - probably 2 + if ( $c == "}" ) { + $uncompleted_curly_brackets--; + } + if ( $c == "{" ) { + $uncompleted_curly_brackets++; + } else { + if ( $creating_template_name ) { + if ( $c == "|" || $c == "}" ) { + $template_name = str_replace( ' ', '_', trim( $template_name ) ); + $template_name = str_replace( '&', '&', $template_name ); + if ( $simplified_format ) { + $text .= "<" . $template_name . ">"; + } else + $text .= "<$template_label $name_str=\"$template_name\">"; + $creating_template_name = false; + $creating_field_name = true; + $field_id = 1; + } else { + $template_name .= $c; + } + } else { + if ( $c == "|" || $c == "}" ) { + if ( $field_has_name ) { + $field_value = str_replace( '&', '&', $field_value ); + if ( $simplified_format ) { + $field_name = str_replace( ' ', '_', trim( $field_name ) ); + $text .= "<" . $field_name . ">"; + $text .= trim( $field_value ); + $text .= ""; + } else { + $text .= "<$field_str $name_str=\"" . trim( $field_name ) . "\">"; + $text .= trim( $field_value ); + $text .= ""; + } + $field_value = ""; + $field_has_name = false; + } else { + // "field_name" is actually the value + if ( $simplified_format ) { + $field_name = str_replace( ' ', '_', $field_name ); + // add "Field" to the beginning of the file name, since + // XML tags that are simply numbers aren't allowed + $text .= "<" . $field_str . '_' . $field_id . ">"; + $text .= trim( $field_name ); + $text .= ""; + } else { + $text .= "<$field_str $name_str=\"$field_id\">"; + $text .= trim( $field_name ); + $text .= ""; + } + $field_id++; + } + $creating_field_name = true; + $field_name = ""; + } elseif ( $c == "=" ) { + // handle case of = in value + if ( ! $creating_field_name ) { + $field_value .= $c; + } else { + $creating_field_name = false; + $field_has_name = true; + } + } elseif ( $creating_field_name ) { + $field_name .= $c; + } else { + $field_value .= $c; + } + } + } + } + } + + // handle groupings, if any apply here; first check if SMW is installed + global $smwgIP; + if ( isset( $smwgIP ) ) { + $store = smwfGetStore(); + foreach ( $groupings as $pair ) { + list( $property_page, $grouping_label ) = $pair; + $wiki_page = SMWDataValueFactory::newTypeIDValue( '_wpg', $page_title ); + $options = new SMWRequestOptions(); + $options->sort = "subject_title"; + // get actual property from the wiki-page of the property + $property = SMWPropertyValue::makeProperty( $property_page->getTitle()->getText() ); + $res = $store->getPropertySubjects( $property, $wiki_page, $options ); + $num = count( $res ); + if ( $num > 0 ) { + $grouping_label = str_replace( ' ', '_', $grouping_label ); + $text .= "<$grouping_label>\n"; + foreach ( $res as $subject ) { + $subject_title = $subject->getTitle(); + $text .= getXMLForPage( $subject_title, $simplified_format, $groupings, $depth + 1 ); + } + $text .= "\n"; + } + } + } + + $text .= "\n"; + // escape back the curly brackets that were escaped out at the beginning + $text = str_replace( '&#123;', '{', $text ); + $text = str_replace( '&#125;', '}', $text ); + return $text; +} + +function doSpecialViewXML() { + global $wgOut, $wgRequest, $wgUser, $wgContLang; + $skin = $wgUser->getSkin(); + $namespace_labels = $wgContLang->getNamespaces(); + $category_label = $namespace_labels[NS_CATEGORY]; + $template_label = $namespace_labels[NS_TEMPLATE]; + $name_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_name' ) ); + $namespace_str = str_replace( ' ', '_', wfMsg( 'dt_xml_namespace' ) ); + $pages_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_pages' ) ); + + $form_submitted = false; + $page_titles = array(); + $cats = $wgRequest->getArray( 'categories' ); + $nses = $wgRequest->getArray( 'namespaces' ); + if ( count( $cats ) > 0 || count( $nses ) > 0 ) { + $form_submitted = true; + } + + if ( $form_submitted ) { + $wgOut->disable(); + + // Cancel output buffering and gzipping if set + // This should provide safer streaming for pages with history + wfResetOutputBuffers(); + header( "Content-type: application/xml; charset=utf-8" ); + + $groupings = getGroupings(); + $simplified_format = $wgRequest->getVal( 'simplified_format' ); + $text = "<$pages_str>"; + if ( $cats ) { + foreach ( $cats as $cat => $val ) { + if ( $simplified_format ) + $text .= '<' . str_replace( ' ', '_', $cat ) . ">\n"; + else + $text .= "<$category_label $name_str=\"$cat\">\n"; + $titles = getPagesForCategory( $cat, 10 ); + foreach ( $titles as $title ) { + $text .= getXMLForPage( $title, $simplified_format, $groupings ); + } + if ( $simplified_format ) + $text .= '\n"; + else + $text .= "\n"; + } + } + + if ( $nses ) { + foreach ( $nses as $ns => $val ) { + if ( $ns == 0 ) { + $ns_name = "Main"; + } else { + $ns_name = MWNamespace::getCanonicalName( $ns ); + } + if ( $simplified_format ) + $text .= '<' . str_replace( ' ', '_', $ns_name ) . ">\n"; + else + $text .= "<$namespace_str $name_str=\"$ns_name\">\n"; + $titles = getPagesForNamespace( $ns ); + foreach ( $titles as $title ) { + $text .= getXMLForPage( $title, $simplified_format, $groupings ); + } + if ( $simplified_format ) + $text .= '\n"; + else + $text .= "\n"; + } + } + $text .= ""; + print $text; + } else { + // set 'title' as hidden field, in case there's no URL niceness + global $wgContLang; + $mw_namespace_labels = $wgContLang->getNamespaces(); + $special_namespace = $mw_namespace_labels[NS_SPECIAL]; + $text = << + + +END; + $text .= "

" . wfMsg( 'dt_viewxml_docu' ) . "

\n"; + $text .= "

" . wfMsg( 'dt_viewxml_categories' ) . "

\n"; + $categories = getCategoriesList(); + foreach ( $categories as $category ) { + $title = Title::makeTitle( NS_CATEGORY, $category ); + $link = $skin->makeLinkObj( $title, $title->getText() ); + $text .= " $link
\n"; + } + $text .= "

" . wfMsg( 'dt_viewxml_namespaces' ) . "

\n"; + $namespaces = getNamespacesList(); + foreach ( $namespaces as $namespace ) { + if ( $namespace == 0 ) { + $ns_name = wfMsgHtml( 'blanknamespace' ); + } else { + $ns_name = htmlspecialchars( $wgContLang->getFormattedNsText( $namespace ) ); + } + $ns_name = str_replace( '_', ' ', $ns_name ); + $text .= " $ns_name
\n"; + } + $text .= "

" . wfMsg( 'dt_viewxml_simplifiedformat' ) . "

\n"; + $text .= "\n"; + $text .= "\n"; + + $wgOut->addHTML( $text ); + } +}