r96688 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r96687‎ | r96688 | r96689 >
Date:20:16, 9 September 2011
Author:yaron
Status:deferred
Tags:
Comment:
Tag for version 0.3.8
Modified paths:
  • /tags/extensions/DataTransfer/REL_0_3_8 (added) (history)

Diff [purge]

Index: tags/extensions/DataTransfer/REL_0_3_8/specials/DT_ImportCSV.php
@@ -0,0 +1,231 @@
 2+<?php
 3+/**
 4+ * Lets the user import a CSV file to turn into wiki pages
 5+ *
 6+ * @author Yaron Koren
 7+ */
 8+
 9+if ( !defined( 'MEDIAWIKI' ) ) die();
 10+
 11+class DTPage {
 12+ var $mName;
 13+ var $mTemplates;
 14+ var $mFreeText;
 15+
 16+ public function DTPage() {
 17+ $this->mTemplates = array();
 18+ }
 19+
 20+ function setName( $name ) {
 21+ $this->mName = $name;
 22+ }
 23+
 24+ function getName() {
 25+ return $this->mName;
 26+ }
 27+
 28+ function addTemplateField( $template_name, $field_name, $value ) {
 29+ if ( ! array_key_exists( $template_name, $this->mTemplates ) ) {
 30+ $this->mTemplates[$template_name] = array();
 31+ }
 32+ $this->mTemplates[$template_name][$field_name] = $value;
 33+ }
 34+
 35+ function setFreeText( $free_text ) {
 36+ $this->mFreeText = $free_text;
 37+ }
 38+
 39+ function createText() {
 40+ $text = "";
 41+ foreach ( $this->mTemplates as $template_name => $fields ) {
 42+ $text .= '{{' . $template_name . "\n";
 43+ foreach ( $fields as $field_name => $val ) {
 44+ $text .= "|$field_name=$val\n";
 45+ }
 46+ $text .= '}}' . "\n";
 47+ }
 48+ $text .= $this->mFreeText;
 49+ return $text;
 50+ }
 51+}
 52+
 53+class DTImportCSV extends SpecialPage {
 54+
 55+ /**
 56+ * Constructor
 57+ */
 58+ public function DTImportCSV() {
 59+ global $wgLanguageCode;
 60+ parent::__construct( 'ImportCSV' );
 61+ DTUtils::loadMessages();
 62+ }
 63+
 64+ function execute( $query ) {
 65+ global $wgUser, $wgOut, $wgRequest;
 66+ $this->setHeaders();
 67+
 68+ if ( ! $wgUser->isAllowed( 'datatransferimport' ) ) {
 69+ global $wgOut;
 70+ $wgOut->permissionRequired( 'datatransferimport' );
 71+ return;
 72+ }
 73+
 74+ if ( $wgRequest->getCheck( 'import_file' ) ) {
 75+ $text = DTUtils::printImportingMessage();
 76+ $uploadResult = ImportStreamSource::newFromUpload( "file_name" );
 77+ // handling changed in MW 1.17
 78+ $uploadError = null;
 79+ if ( $uploadResult instanceof Status ) {
 80+ if ( $uploadResult->isOK() ) {
 81+ $source = $uploadResult->value;
 82+ } else {
 83+ $uploadError = $wgOut->parse( $uploadResult->getWikiText() );
 84+ }
 85+ } elseif ( $uploadResult instanceof WikiErrorMsg ) {
 86+ $uploadError = $uploadResult->getMessage();
 87+ } else {
 88+ $source = $uploadResult;
 89+ }
 90+
 91+ if ( !is_null( $uploadError ) ) {
 92+ $text .= $uploadError;
 93+ $wgOut->addHTML( $text );
 94+ return;
 95+ }
 96+
 97+ $encoding = $wgRequest->getVal( 'encoding' );
 98+ $pages = array();
 99+ $error_msg = self::getCSVData( $source->mHandle, $encoding, $pages );
 100+ if ( ! is_null( $error_msg ) ) {
 101+ $text .= $error_msg;
 102+ $wgOut->addHTML( $text );
 103+ return;
 104+ }
 105+
 106+ $importSummary = $wgRequest->getVal( 'import_summary' );
 107+ $forPagesThatExist = $wgRequest->getVal( 'pagesThatExist' );
 108+ $text .= self::modifyPages( $pages, $importSummary, $forPagesThatExist );
 109+ } else {
 110+ $formText = DTUtils::printFileSelector( 'CSV' );
 111+ $utf8OptionText = "\t" . Xml::element( 'option',
 112+ array(
 113+ 'selected' => 'selected',
 114+ 'value' => 'utf8'
 115+ ), 'UTF-8' ) . "\n";
 116+ $utf16OptionText = "\t" . Xml::element( 'option',
 117+ array(
 118+ 'value' => 'utf16'
 119+ ), 'UTF-16' ) . "\n";
 120+ $encodingSelectText = Xml::tags( 'select',
 121+ array( 'name' => 'encoding' ),
 122+ "\n" . $utf8OptionText . $utf16OptionText. "\t" ) . "\n\t";
 123+ $formText .= "\t" . Xml::tags( 'p', null, wfMsg( 'dt_import_encodingtype', 'CSV' ) . " " . $encodingSelectText ) . "\n";
 124+ $formText .= "\t" . '<hr style="margin: 10px 0 10px 0" />' . "\n";
 125+ $formText .= DTUtils::printExistingPagesHandling();
 126+ $formText .= DTUtils::printImportSummaryInput( 'CSV' );
 127+ $formText .= DTUtils::printSubmitButton();
 128+ $text = "\t" . Xml::tags( 'form',
 129+ array(
 130+ 'enctype' => 'multipart/form-data',
 131+ 'action' => '',
 132+ 'method' => 'post'
 133+ ), $formText ) . "\n";
 134+ }
 135+
 136+ $wgOut->addHTML( $text );
 137+ }
 138+
 139+
 140+ static function getCSVData( $csv_file, $encoding, &$pages ) {
 141+ if ( is_null( $csv_file ) )
 142+ return wfMsg( 'emptyfile' );
 143+ $table = array();
 144+ if ( $encoding == 'utf16' ) {
 145+ // change encoding to UTF-8
 146+ // Starting with PHP 5.3 we could use str_getcsv(),
 147+ // which would save the tempfile hassle
 148+ $tempfile = tmpfile();
 149+ $csv_string = '';
 150+ while ( !feof( $csv_file ) ) {
 151+ $csv_string .= fgets( $csv_file, 65535 );
 152+ }
 153+ fwrite( $tempfile, iconv( 'UTF-16', 'UTF-8', $csv_string ) );
 154+ fseek( $tempfile, 0 );
 155+ while ( $line = fgetcsv( $tempfile ) ) {
 156+ array_push( $table, $line );
 157+ }
 158+ fclose( $tempfile );
 159+ } else {
 160+ while ( $line = fgetcsv( $csv_file ) ) {
 161+ array_push( $table, $line );
 162+ }
 163+ }
 164+ fclose( $csv_file );
 165+
 166+ // Get rid of the "byte order mark", if it's there - this is
 167+ // a three-character string sometimes put at the beginning
 168+ // of files to indicate its encoding.
 169+ // Code copied from:
 170+ // http://www.dotvoid.com/2010/04/detecting-utf-bom-byte-order-mark/
 171+ $byteOrderMark = pack( "CCC", 0xef, 0xbb, 0xbf );
 172+ if ( 0 == strncmp( $table[0][0], $byteOrderMark, 3 ) ) {
 173+ $table[0][0] = substr( $table[0][0], 3 );
 174+ // If there were quotation marks around this value,
 175+ // they didn't get removed, so remove them now.
 176+ $table[0][0] = trim( $table[0][0], '"' );
 177+ }
 178+
 179+ // check header line to make sure every term is in the
 180+ // correct format
 181+ $title_label = wfMsgForContent( 'dt_xml_title' );
 182+ $free_text_label = wfMsgForContent( 'dt_xml_freetext' );
 183+ foreach ( $table[0] as $i => $header_val ) {
 184+ if ( $header_val !== $title_label && $header_val !== $free_text_label &&
 185+ ! preg_match( '/^[^\[\]]+\[[^\[\]]+]$/', $header_val ) ) {
 186+ $error_msg = wfMsg( 'dt_importcsv_badheader', $i, $header_val, $title_label, $free_text_label );
 187+ return $error_msg;
 188+ }
 189+ }
 190+ foreach ( $table as $i => $line ) {
 191+ if ( $i == 0 ) continue;
 192+ $page = new DTPage();
 193+ foreach ( $line as $j => $val ) {
 194+ if ( $val == '' ) continue;
 195+ if ( $table[0][$j] == $title_label ) {
 196+ $page->setName( $val );
 197+ } elseif ( $table[0][$j] == $free_text_label ) {
 198+ $page->setFreeText( $val );
 199+ } else {
 200+ list( $template_name, $field_name ) = explode( '[', str_replace( ']', '', $table[0][$j] ) );
 201+ $page->addTemplateField( $template_name, $field_name, $val );
 202+ }
 203+ }
 204+ $pages[] = $page;
 205+ }
 206+ }
 207+
 208+ function modifyPages( $pages, $editSummary, $forPagesThatExist ) {
 209+ global $wgUser, $wgLang;
 210+
 211+ $text = "";
 212+ $jobs = array();
 213+ $jobParams = array();
 214+ $jobParams['user_id'] = $wgUser->getId();
 215+ $jobParams['edit_summary'] = $editSummary;
 216+ $jobParams['for_pages_that_exist'] = $forPagesThatExist;
 217+ foreach ( $pages as $page ) {
 218+ $title = Title::newFromText( $page->getName() );
 219+ if ( is_null( $title ) ) {
 220+ $text .= '<p>' . wfMsg( 'img-auth-badtitle', $page->getName() ) . "</p>\n";
 221+ continue;
 222+ }
 223+ $jobParams['text'] = $page->createText();
 224+ $jobs[] = new DTImportJob( $title, $jobParams );
 225+ }
 226+ Job::batchInsert( $jobs );
 227+ $text .= wfMsgExt( 'dt_import_success', array( 'parse' ), $wgLang->formatNum( count( $jobs ) ), 'CSV' );
 228+
 229+ return $text;
 230+ }
 231+
 232+}
Property changes on: tags/extensions/DataTransfer/REL_0_3_8/specials/DT_ImportCSV.php
___________________________________________________________________
Added: svn:eol-style
1233 + native
Index: tags/extensions/DataTransfer/REL_0_3_8/specials/DT_ImportXML.php
@@ -0,0 +1,81 @@
 2+<?php
 3+/**
 4+ * Lets the user import an XML file to turn into wiki pages
 5+ *
 6+ * @author Yaron Koren
 7+ */
 8+
 9+if ( !defined( 'MEDIAWIKI' ) ) die();
 10+
 11+class DTImportXML extends SpecialPage {
 12+
 13+ /**
 14+ * Constructor
 15+ */
 16+ public function DTImportXML() {
 17+ global $wgLanguageCode;
 18+ parent::__construct( 'ImportXML' );
 19+ DTUtils::loadMessages();
 20+ }
 21+
 22+ function execute( $query ) {
 23+ global $wgUser, $wgOut, $wgRequest;
 24+ $this->setHeaders();
 25+
 26+ if ( ! $wgUser->isAllowed( 'datatransferimport' ) ) {
 27+ global $wgOut;
 28+ $wgOut->permissionRequired( 'datatransferimport' );
 29+ return;
 30+ }
 31+
 32+ if ( $wgRequest->getCheck( 'import_file' ) ) {
 33+ $text = DTUtils::printImportingMessage();
 34+ $uploadResult = ImportStreamSource::newFromUpload( "file_name" );
 35+ // handling changed in MW 1.17
 36+ if ( $uploadResult instanceof Status ) {
 37+ $source = $uploadResult->value;
 38+ } else {
 39+ $source = $uploadResult;
 40+ }
 41+ $importSummary = $wgRequest->getVal( 'import_summary' );
 42+ $forPagesThatExist = $wgRequest->getVal( 'pagesThatExist' );
 43+ $text .= self::modifyPages( $source, $importSummary, $forPagesThatExist );
 44+ } else {
 45+ $formText = DTUtils::printFileSelector( 'XML' );
 46+ $formText .= DTUtils::printExistingPagesHandling();
 47+ $formText .= DTUtils::printImportSummaryInput( 'XML' );
 48+ $formText .= DTUtils::printSubmitButton();
 49+ $text = "\t" . Xml::tags( 'form',
 50+ array(
 51+ 'enctype' => 'multipart/form-data',
 52+ 'action' => '',
 53+ 'method' => 'post'
 54+ ), $formText ) . "\n";
 55+
 56+ }
 57+
 58+ $wgOut->addHTML( $text );
 59+ }
 60+
 61+ function modifyPages( $source, $editSummary, $forPagesThatExist ) {
 62+ $text = "";
 63+ $xml_parser = new DTXMLParser( $source );
 64+ $xml_parser->doParse();
 65+ $jobs = array();
 66+ $job_params = array();
 67+ global $wgUser;
 68+ $job_params['user_id'] = $wgUser->getId();
 69+ $job_params['edit_summary'] = $editSummary;
 70+ $job_params['for_pages_that_exist'] = $forPagesThatExist;
 71+
 72+ foreach ( $xml_parser->mPages as $page ) {
 73+ $title = Title::newFromText( $page->getName() );
 74+ $job_params['text'] = $page->createText();
 75+ $jobs[] = new DTImportJob( $title, $job_params );
 76+ }
 77+ Job::batchInsert( $jobs );
 78+ global $wgLang;
 79+ $text .= wfMsgExt( 'dt_import_success', array( 'parse' ), $wgLang->formatNum( count( $jobs ) ), 'XML' );
 80+ return $text;
 81+ }
 82+}
Property changes on: tags/extensions/DataTransfer/REL_0_3_8/specials/DT_ImportXML.php
___________________________________________________________________
Added: svn:eol-style
183 + native
Index: tags/extensions/DataTransfer/REL_0_3_8/specials/DT_ViewXML.php
@@ -0,0 +1,511 @@
 2+<?php
 3+/**
 4+ * Displays an interface to let the user export pages from the wiki in XML form
 5+ *
 6+ * @author Yaron Koren
 7+ */
 8+
 9+if ( !defined( 'MEDIAWIKI' ) ) die();
 10+
 11+class DTViewXML extends SpecialPage {
 12+
 13+ /**
 14+ * Constructor
 15+ */
 16+ public function DTViewXML() {
 17+ global $wgLanguageCode;
 18+ parent::__construct( 'ViewXML' );
 19+ DTUtils::loadMessages();
 20+ }
 21+
 22+ function execute( $query ) {
 23+ $this->setHeaders();
 24+ doSpecialViewXML( $query );
 25+ }
 26+}
 27+
 28+function getCategoriesList() {
 29+ global $wgContLang, $dtgContLang;
 30+ $dt_props = $dtgContLang->getPropertyLabels();
 31+ $exclusion_cat_name = str_replace( ' ', '_', $dt_props[DT_SP_IS_EXCLUDED_FROM_XML] );
 32+ $exclusion_cat_full_name = $wgContLang->getNSText( NS_CATEGORY ) . ':' . $exclusion_cat_name;
 33+ $dbr = wfGetDB( DB_SLAVE );
 34+ $categorylinks = $dbr->tableName( 'categorylinks' );
 35+ $res = $dbr->query( "SELECT DISTINCT cl_to FROM $categorylinks" );
 36+ $categories = array();
 37+ while ( $row = $dbr->fetchRow( $res ) ) {
 38+ $cat_name = $row[0];
 39+ // add this category to the list, if it's not the
 40+ // "Excluded from XML" category, and it's not a child of that
 41+ // category
 42+ if ( $cat_name != $exclusion_cat_name ) {
 43+ $title = Title::newFromText( $cat_name, NS_CATEGORY );
 44+ $parent_categories = $title->getParentCategoryTree( array() );
 45+ if ( ! treeContainsElement( $parent_categories, $exclusion_cat_full_name ) )
 46+ $categories[] = $cat_name;
 47+ }
 48+ }
 49+ $dbr->freeResult( $res );
 50+ sort( $categories );
 51+ return $categories;
 52+}
 53+
 54+function getNamespacesList() {
 55+ $dbr = wfGetDB( DB_SLAVE );
 56+ $page = $dbr->tableName( 'page' );
 57+ $res = $dbr->query( "SELECT DISTINCT page_namespace FROM $page" );
 58+ $namespaces = array();
 59+ while ( $row = $dbr->fetchRow( $res ) ) {
 60+ $namespaces[] = $row[0];
 61+ }
 62+ $dbr->freeResult( $res );
 63+ return $namespaces;
 64+}
 65+
 66+function getGroupings() {
 67+ global $dtgContLang;
 68+
 69+ global $smwgIP;
 70+ if ( ! isset( $smwgIP ) ) {
 71+ return array();
 72+ } else {
 73+ $groupings = array();
 74+ $store = smwfGetStore();
 75+ $grouping_prop = SMWPropertyValue::makeProperty( '_DT_XG' );
 76+ $grouped_props = $store->getAllPropertySubjects( $grouping_prop );
 77+ foreach ( $grouped_props as $grouped_prop ) {
 78+ $res = $store->getPropertyValues( $grouped_prop, $grouping_prop );
 79+ $num = count( $res );
 80+ if ( $num > 0 ) {
 81+ $grouping_label = $res[0]->getShortWikiText();
 82+ $groupings[] = array( $grouped_prop, $grouping_label );
 83+ }
 84+ }
 85+ return $groupings;
 86+ }
 87+}
 88+
 89+function getSubpagesForPageGrouping( $page_name, $relation_name ) {
 90+ $dbr = wfGetDB( DB_SLAVE );
 91+ $smw_relations = $dbr->tableName( 'smw_relations' );
 92+ $smw_attributes = $dbr->tableName( 'smw_attributes' );
 93+ $res = $dbr->query( "SELECT subject_title FROM $smw_relations WHERE object_title = '$page_name' AND relation_title = '$relation_name'" );
 94+ $subpages = array();
 95+ while ( $row = $dbr->fetchRow( $res ) ) {
 96+ $subpage_name = $row[0];
 97+ $query_subpage_name = str_replace( "'", "\'", $subpage_name );
 98+ // get the display order
 99+ $res2 = $dbr->query( "SELECT value_num FROM $smw_attributes WHERE subject_title = '$query_subpage_name' AND attribute_title = 'Display_order'" );
 100+ if ( $row2 = $dbr->fetchRow( $res2 ) ) {
 101+ $display_order = $row2[0];
 102+ } else {
 103+ $display_order = - 1;
 104+ }
 105+ $dbr->freeResult( $res2 );
 106+ // HACK - page name is the key, display order is the value
 107+ $subpages[$subpage_name] = $display_order;
 108+ }
 109+ $dbr->freeResult( $res );
 110+ uasort( $subpages, "cmp" );
 111+ return array_keys( $subpages );
 112+}
 113+
 114+
 115+/*
 116+ * Get all the pages that belong to a category and all its subcategories,
 117+ * down a certain number of levels - heavily based on SMW's
 118+ * SMWInlineQuery::includeSubcategories()
 119+ */
 120+ function getPagesForCategory( $top_category, $num_levels ) {
 121+ if ( 0 == $num_levels ) return $top_category;
 122+
 123+ $db = wfGetDB( DB_SLAVE );
 124+ $fname = "getPagesForCategory";
 125+ $categories = array( $top_category );
 126+ $checkcategories = array( $top_category );
 127+ $titles = array();
 128+ for ( $level = $num_levels; $level > 0; $level-- ) {
 129+ $newcategories = array();
 130+ foreach ( $checkcategories as $category ) {
 131+ $res = $db->select( // make the query
 132+ array( 'categorylinks', 'page' ),
 133+ array( 'page_id', 'page_title', 'page_namespace' ),
 134+ array( 'cl_from = page_id',
 135+ 'cl_to = ' . $db->addQuotes( $category ) ),
 136+ $fname );
 137+ if ( $res ) {
 138+ while ( $res && $row = $db->fetchRow( $res ) ) {
 139+ if ( array_key_exists( 'page_title', $row ) ) {
 140+ $page_namespace = $row['page_namespace'];
 141+ if ( $page_namespace == NS_CATEGORY ) {
 142+ $new_category = $row[ 'page_title' ];
 143+ if ( !in_array( $new_category, $categories ) ) {
 144+ $newcategories[] = $new_category;
 145+ }
 146+ } else {
 147+ $titles[] = Title::newFromID( $row['page_id'] );
 148+ }
 149+ }
 150+ }
 151+ $db->freeResult( $res );
 152+ }
 153+ }
 154+ if ( count( $newcategories ) == 0 ) {
 155+ return $titles;
 156+ } else {
 157+ $categories = array_merge( $categories, $newcategories );
 158+ }
 159+ $checkcategories = array_diff( $newcategories, array() );
 160+ }
 161+ return $titles;
 162+ }
 163+
 164+/*
 165+function getPagesForCategory($category) {
 166+ $dbr = wfGetDB( DB_SLAVE );
 167+ $categorylinks = $dbr->tableName( 'categorylinks' );
 168+ $res = $dbr->query("SELECT cl_from FROM $categorylinks WHERE cl_to = '$category'");
 169+ $titles = array();
 170+ while ($row = $dbr->fetchRow($res)) {
 171+ $titles[] = Title::newFromID($row[0]);
 172+ }
 173+ $dbr->freeResult($res);
 174+ return $titles;
 175+}
 176+*/
 177+
 178+function getPagesForNamespace( $namespace ) {
 179+ $dbr = wfGetDB( DB_SLAVE );
 180+ $page = $dbr->tableName( 'page' );
 181+ $res = $dbr->query( "SELECT page_id FROM $page WHERE page_namespace = '$namespace'" );
 182+ $titles = array();
 183+ while ( $row = $dbr->fetchRow( $res ) ) {
 184+ $titles[] = Title::newFromID( $row[0] );
 185+ }
 186+ $dbr->freeResult( $res );
 187+ return $titles;
 188+}
 189+
 190+/**
 191+ * Helper function for getXMLForPage()
 192+ */
 193+function treeContainsElement( $tree, $element ) {
 194+ // escape out if there's no tree (i.e., category)
 195+ if ( $tree == null )
 196+ return false;
 197+
 198+ foreach ( $tree as $node => $child_tree ) {
 199+ if ( $node === $element ) {
 200+ return true;
 201+ } elseif ( count( $child_tree ) > 0 ) {
 202+ if ( treeContainsElement( $child_tree, $element ) ) {
 203+ return true;
 204+ }
 205+ }
 206+ }
 207+ // no match found
 208+ return false;
 209+}
 210+
 211+function getXMLForPage( $title, $simplified_format, $groupings, $depth = 0 ) {
 212+ if ( $depth > 5 ) { return ""; }
 213+
 214+ global $wgContLang, $dtgContLang;
 215+
 216+ $namespace_labels = $wgContLang->getNamespaces();
 217+ $template_label = $namespace_labels[NS_TEMPLATE];
 218+ $namespace_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_namespace' ) );
 219+ $page_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_page' ) );
 220+ $field_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_field' ) );
 221+ $name_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_name' ) );
 222+ $title_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_title' ) );
 223+ $id_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_id' ) );
 224+ $free_text_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_freetext' ) );
 225+
 226+ // if this page belongs to the exclusion category, exit
 227+ $parent_categories = $title->getParentCategoryTree( array() );
 228+ $dt_props = $dtgContLang->getPropertyLabels();
 229+ // $exclusion_category = $title->newFromText($dt_props[DT_SP_IS_EXCLUDED_FROM_XML], NS_CATEGORY);
 230+ $exclusion_category = $wgContLang->getNSText( NS_CATEGORY ) . ':' . str_replace( ' ', '_', $dt_props[DT_SP_IS_EXCLUDED_FROM_XML] );
 231+ if ( treeContainsElement( $parent_categories, $exclusion_category ) )
 232+ return "";
 233+ $article = new Article( $title );
 234+ $page_title = str_replace( '"', '&quot;', $title->getText() );
 235+ $page_title = str_replace( '&', '&amp;', $page_title );
 236+ if ( $simplified_format )
 237+ $text = "<$page_str><$id_str>{$article->getID()}</$id_str><$title_str>$page_title</$title_str>\n";
 238+ else
 239+ $text = "<$page_str $id_str=\"" . $article->getID() . "\" $title_str=\"" . $page_title . '" >';
 240+
 241+ // traverse the page contents, one character at a time
 242+ $uncompleted_curly_brackets = 0;
 243+ $page_contents = $article->getContent();
 244+ // escape out variables like "{{PAGENAME}}"
 245+ $page_contents = str_replace( '{{PAGENAME}}', '&#123;&#123;PAGENAME&#125;&#125;', $page_contents );
 246+ // escape out parser functions
 247+ $page_contents = preg_replace( '/{{(#.+)}}/', '&#123;&#123;$1&#125;&#125;', $page_contents );
 248+ // escape out transclusions
 249+ $page_contents = preg_replace( '/{{(:.+)}}/', '&#123;&#123;$1&#125;&#125;', $page_contents );
 250+ // escape out variable names
 251+ $page_contents = str_replace( '{{{', '&#123;&#123;&#123;', $page_contents );
 252+ $page_contents = str_replace( '}}}', '&#125;&#125;&#125;', $page_contents );
 253+ // escape out tables
 254+ $page_contents = str_replace( '{|', '&#123;|', $page_contents );
 255+ $page_contents = str_replace( '|}', '|&#125;', $page_contents );
 256+ $free_text = "";
 257+ $free_text_id = 1;
 258+ $template_name = "";
 259+ $field_name = "";
 260+ $field_value = "";
 261+ $field_has_name = false;
 262+ for ( $i = 0; $i < strlen( $page_contents ); $i++ ) {
 263+ $c = $page_contents[$i];
 264+ if ( $uncompleted_curly_brackets == 0 ) {
 265+ if ( $c == "{" || $i == strlen( $page_contents ) - 1 ) {
 266+ if ( $i == strlen( $page_contents ) - 1 )
 267+ $free_text .= $c;
 268+ $uncompleted_curly_brackets++;
 269+ $free_text = trim( $free_text );
 270+ $free_text = str_replace( '&', '&amp;', $free_text );
 271+ $free_text = str_replace( '[', '&#91;', $free_text );
 272+ $free_text = str_replace( ']', '&#93;', $free_text );
 273+ $free_text = str_replace( '<', '&lt;', $free_text );
 274+ $free_text = str_replace( '>', '&gt;', $free_text );
 275+ if ( $free_text != "" ) {
 276+ $text .= "<$free_text_str id=\"$free_text_id\">$free_text</$free_text_str>";
 277+ $free_text = "";
 278+ $free_text_id++;
 279+ }
 280+ } elseif ( $c == "{" ) {
 281+ // do nothing
 282+ } else {
 283+ $free_text .= $c;
 284+ }
 285+ } elseif ( $uncompleted_curly_brackets == 1 ) {
 286+ if ( $c == "{" ) {
 287+ $uncompleted_curly_brackets++;
 288+ $creating_template_name = true;
 289+ } elseif ( $c == "}" ) {
 290+ $uncompleted_curly_brackets--;
 291+ // is this needed?
 292+ // if ($field_name != "") {
 293+ // $field_name = "";
 294+ // }
 295+ if ( $page_contents[$i - 1] == '}' ) {
 296+ if ( $simplified_format )
 297+ $text .= "</" . $template_name . ">";
 298+ else
 299+ $text .= "</$template_label>";
 300+ }
 301+ $template_name = "";
 302+ }
 303+ } else { // 2 or greater - probably 2
 304+ if ( $c == "}" ) {
 305+ $uncompleted_curly_brackets--;
 306+ }
 307+ if ( $c == "{" ) {
 308+ $uncompleted_curly_brackets++;
 309+ } else {
 310+ if ( $creating_template_name ) {
 311+ if ( $c == "|" || $c == "}" ) {
 312+ $template_name = str_replace( ' ', '_', trim( $template_name ) );
 313+ $template_name = str_replace( '&', '&amp;', $template_name );
 314+ if ( $simplified_format ) {
 315+ $text .= "<" . $template_name . ">";
 316+ } else
 317+ $text .= "<$template_label $name_str=\"$template_name\">";
 318+ $creating_template_name = false;
 319+ $creating_field_name = true;
 320+ $field_id = 1;
 321+ } else {
 322+ $template_name .= $c;
 323+ }
 324+ } else {
 325+ if ( $c == "|" || $c == "}" ) {
 326+ if ( $field_has_name ) {
 327+ $field_value = str_replace( '&', '&amp;', $field_value );
 328+ if ( $simplified_format ) {
 329+ $field_name = str_replace( ' ', '_', trim( $field_name ) );
 330+ $text .= "<" . $field_name . ">";
 331+ $text .= trim( $field_value );
 332+ $text .= "</" . $field_name . ">";
 333+ } else {
 334+ $text .= "<$field_str $name_str=\"" . trim( $field_name ) . "\">";
 335+ $text .= trim( $field_value );
 336+ $text .= "</$field_str>";
 337+ }
 338+ $field_value = "";
 339+ $field_has_name = false;
 340+ } else {
 341+ // "field_name" is actually the value
 342+ if ( $simplified_format ) {
 343+ $field_name = str_replace( ' ', '_', $field_name );
 344+ // add "Field" to the beginning of the file name, since
 345+ // XML tags that are simply numbers aren't allowed
 346+ $text .= "<" . $field_str . '_' . $field_id . ">";
 347+ $text .= trim( $field_name );
 348+ $text .= "</" . $field_str . '_' . $field_id . ">";
 349+ } else {
 350+ $text .= "<$field_str $name_str=\"$field_id\">";
 351+ $text .= trim( $field_name );
 352+ $text .= "</$field_str>";
 353+ }
 354+ $field_id++;
 355+ }
 356+ $creating_field_name = true;
 357+ $field_name = "";
 358+ } elseif ( $c == "=" ) {
 359+ // handle case of = in value
 360+ if ( ! $creating_field_name ) {
 361+ $field_value .= $c;
 362+ } else {
 363+ $creating_field_name = false;
 364+ $field_has_name = true;
 365+ }
 366+ } elseif ( $creating_field_name ) {
 367+ $field_name .= $c;
 368+ } else {
 369+ $field_value .= $c;
 370+ }
 371+ }
 372+ }
 373+ }
 374+ }
 375+
 376+ // handle groupings, if any apply here; first check if SMW is installed
 377+ global $smwgIP;
 378+ if ( isset( $smwgIP ) ) {
 379+ $store = smwfGetStore();
 380+ foreach ( $groupings as $pair ) {
 381+ list( $property_page, $grouping_label ) = $pair;
 382+ $wiki_page = SMWDataValueFactory::newTypeIDValue( '_wpg', $page_title );
 383+ $options = new SMWRequestOptions();
 384+ $options->sort = "subject_title";
 385+ // get actual property from the wiki-page of the property
 386+ $property = SMWPropertyValue::makeProperty( $property_page->getTitle()->getText() );
 387+ $res = $store->getPropertySubjects( $property, $wiki_page, $options );
 388+ $num = count( $res );
 389+ if ( $num > 0 ) {
 390+ $grouping_label = str_replace( ' ', '_', $grouping_label );
 391+ $text .= "<$grouping_label>\n";
 392+ foreach ( $res as $subject ) {
 393+ $subject_title = $subject->getTitle();
 394+ $text .= getXMLForPage( $subject_title, $simplified_format, $groupings, $depth + 1 );
 395+ }
 396+ $text .= "</$grouping_label>\n";
 397+ }
 398+ }
 399+ }
 400+
 401+ $text .= "</$page_str>\n";
 402+ // escape back the curly brackets that were escaped out at the beginning
 403+ $text = str_replace( '&amp;#123;', '{', $text );
 404+ $text = str_replace( '&amp;#125;', '}', $text );
 405+ return $text;
 406+}
 407+
 408+function doSpecialViewXML() {
 409+ global $wgOut, $wgRequest, $wgUser, $wgContLang;
 410+ $skin = $wgUser->getSkin();
 411+ $namespace_labels = $wgContLang->getNamespaces();
 412+ $category_label = $namespace_labels[NS_CATEGORY];
 413+ $template_label = $namespace_labels[NS_TEMPLATE];
 414+ $name_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_name' ) );
 415+ $namespace_str = str_replace( ' ', '_', wfMsg( 'dt_xml_namespace' ) );
 416+ $pages_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_pages' ) );
 417+
 418+ $form_submitted = false;
 419+ $page_titles = array();
 420+ $cats = $wgRequest->getArray( 'categories' );
 421+ $nses = $wgRequest->getArray( 'namespaces' );
 422+ if ( count( $cats ) > 0 || count( $nses ) > 0 ) {
 423+ $form_submitted = true;
 424+ }
 425+
 426+ if ( $form_submitted ) {
 427+ $wgOut->disable();
 428+
 429+ // Cancel output buffering and gzipping if set
 430+ // This should provide safer streaming for pages with history
 431+ wfResetOutputBuffers();
 432+ header( "Content-type: application/xml; charset=utf-8" );
 433+
 434+ $groupings = getGroupings();
 435+ $simplified_format = $wgRequest->getVal( 'simplified_format' );
 436+ $text = "<$pages_str>";
 437+ if ( $cats ) {
 438+ foreach ( $cats as $cat => $val ) {
 439+ if ( $simplified_format )
 440+ $text .= '<' . str_replace( ' ', '_', $cat ) . ">\n";
 441+ else
 442+ $text .= "<$category_label $name_str=\"$cat\">\n";
 443+ $titles = getPagesForCategory( $cat, 10 );
 444+ foreach ( $titles as $title ) {
 445+ $text .= getXMLForPage( $title, $simplified_format, $groupings );
 446+ }
 447+ if ( $simplified_format )
 448+ $text .= '</' . str_replace( ' ', '_', $cat ) . ">\n";
 449+ else
 450+ $text .= "</$category_label>\n";
 451+ }
 452+ }
 453+
 454+ if ( $nses ) {
 455+ foreach ( $nses as $ns => $val ) {
 456+ if ( $ns == 0 ) {
 457+ $ns_name = "Main";
 458+ } else {
 459+ $ns_name = MWNamespace::getCanonicalName( $ns );
 460+ }
 461+ if ( $simplified_format )
 462+ $text .= '<' . str_replace( ' ', '_', $ns_name ) . ">\n";
 463+ else
 464+ $text .= "<$namespace_str $name_str=\"$ns_name\">\n";
 465+ $titles = getPagesForNamespace( $ns );
 466+ foreach ( $titles as $title ) {
 467+ $text .= getXMLForPage( $title, $simplified_format, $groupings );
 468+ }
 469+ if ( $simplified_format )
 470+ $text .= '</' . str_replace( ' ', '_', $ns_name ) . ">\n";
 471+ else
 472+ $text .= "</$namespace_str>\n";
 473+ }
 474+ }
 475+ $text .= "</$pages_str>";
 476+ print $text;
 477+ } else {
 478+ // set 'title' as hidden field, in case there's no URL niceness
 479+ global $wgContLang;
 480+ $mw_namespace_labels = $wgContLang->getNamespaces();
 481+ $special_namespace = $mw_namespace_labels[NS_SPECIAL];
 482+ $text = <<<END
 483+ <form action="" method="get">
 484+ <input type="hidden" name="title" value="$special_namespace:ViewXML">
 485+
 486+END;
 487+ $text .= "<p>" . wfMsg( 'dt_viewxml_docu' ) . "</p>\n";
 488+ $text .= "<h2>" . wfMsg( 'dt_viewxml_categories' ) . "</h2>\n";
 489+ $categories = getCategoriesList();
 490+ foreach ( $categories as $category ) {
 491+ $title = Title::makeTitle( NS_CATEGORY, $category );
 492+ $link = $skin->makeLinkObj( $title, htmlspecialchars( $title->getText() ) );
 493+ $text .= "<input type=\"checkbox\" name=\"categories[$category]\" /> $link <br />\n";
 494+ }
 495+ $text .= "<h2>" . wfMsg( 'dt_viewxml_namespaces' ) . "</h2>\n";
 496+ $namespaces = getNamespacesList();
 497+ foreach ( $namespaces as $namespace ) {
 498+ if ( $namespace == 0 ) {
 499+ $ns_name = wfMsgHtml( 'blanknamespace' );
 500+ } else {
 501+ $ns_name = htmlspecialchars( $wgContLang->getFormattedNsText( $namespace ) );
 502+ }
 503+ $ns_name = str_replace( '_', ' ', $ns_name );
 504+ $text .= "<input type=\"checkbox\" name=\"namespaces[$namespace]\" /> $ns_name <br />\n";
 505+ }
 506+ $text .= "<br /><p><input type=\"checkbox\" name=\"simplified_format\" /> " . wfMsg( 'dt_viewxml_simplifiedformat' ) . "</p>\n";
 507+ $text .= "<input type=\"submit\" value=\"" . wfMsg( 'viewxml' ) . "\">\n";
 508+ $text .= "</form>\n";
 509+
 510+ $wgOut->addHTML( $text );
 511+ }
 512+}
Property changes on: tags/extensions/DataTransfer/REL_0_3_8/specials/DT_ViewXML.php
___________________________________________________________________
Added: svn:eol-style
1513 + native
Index: tags/extensions/DataTransfer/REL_0_3_8/DataTransfer.php
@@ -0,0 +1,148 @@
 2+<?php
 3+/**
 4+ * Global functions and constants for the Data Transfer extension.
 5+ *
 6+ * @author Yaron Koren
 7+ */
 8+
 9+if ( !defined( 'MEDIAWIKI' ) ) die();
 10+
 11+define( 'DATA_TRANSFER_VERSION', '0.3.8' );
 12+
 13+// constants for special properties
 14+define( 'DT_SP_HAS_XML_GROUPING', 1 );
 15+define( 'DT_SP_IS_EXCLUDED_FROM_XML', 2 );
 16+
 17+$wgExtensionCredits['specialpage'][] = array(
 18+ 'path' => __FILE__,
 19+ 'name' => 'Data Transfer',
 20+ 'version' => DATA_TRANSFER_VERSION,
 21+ 'author' => 'Yaron Koren',
 22+ 'url' => 'http://www.mediawiki.org/wiki/Extension:Data_Transfer',
 23+ 'descriptionmsg' => 'datatransfer-desc',
 24+);
 25+
 26+###
 27+# This is the path to your installation of Semantic Forms as
 28+# seen on your local filesystem. Used against some PHP file path
 29+# issues.
 30+##
 31+$dtgIP = dirname( __FILE__ );
 32+##
 33+
 34+// register all special pages and other classes
 35+$wgAutoloadClasses['DTUtils'] = $dtgIP . '/includes/DT_Utils.php';
 36+$wgSpecialPages['ViewXML'] = 'DTViewXML';
 37+$wgAutoloadClasses['DTViewXML'] = $dtgIP . '/specials/DT_ViewXML.php';
 38+$wgSpecialPages['ImportXML'] = 'DTImportXML';
 39+$wgAutoloadClasses['DTImportXML'] = $dtgIP . '/specials/DT_ImportXML.php';
 40+$wgSpecialPages['ImportCSV'] = 'DTImportCSV';
 41+$wgAutoloadClasses['DTImportCSV'] = $dtgIP . '/specials/DT_ImportCSV.php';
 42+$wgJobClasses['dtImport'] = 'DTImportJob';
 43+$wgAutoloadClasses['DTImportJob'] = $dtgIP . '/includes/DT_ImportJob.php';
 44+$wgAutoloadClasses['DTXMLParser'] = $dtgIP . '/includes/DT_XMLParser.php';
 45+$wgHooks['AdminLinks'][] = 'dtfAddToAdminLinks';
 46+$wgHooks['smwInitProperties'][] = 'dtfInitProperties';
 47+
 48+###
 49+# This is the path to your installation of the Data Transfer extension as
 50+# seen from the web. Change it if required ($wgScriptPath is the
 51+# path to the base directory of your wiki). No final slash.
 52+##
 53+$dtgScriptPath = $wgScriptPath . '/extensions/DataTransfer';
 54+##
 55+
 56+###
 57+# Permission to import files
 58+###
 59+$wgGroupPermissions['sysop']['datatransferimport'] = true;
 60+$wgAvailableRights[] = 'datatransferimport';
 61+
 62+// initialize content language
 63+require_once($dtgIP . '/languages/DT_Language.php');
 64+global $wgLanguageCode;
 65+dtfInitContentLanguage($wgLanguageCode);
 66+
 67+$wgExtensionMessagesFiles['DataTransfer'] = $dtgIP . '/languages/DT_Messages.php';
 68+$wgExtensionAliasesFiles['DataTransfer'] = $dtgIP . '/languages/DT_Aliases.php';
 69+
 70+/**********************************************/
 71+/***** language settings *****/
 72+/**********************************************/
 73+
 74+/**
 75+ * Initialise a global language object for content language. This
 76+ * must happen early on, even before user language is known, to
 77+ * determine labels for additional namespaces. In contrast, messages
 78+ * can be initialised much later when they are actually needed.
 79+ */
 80+function dtfInitContentLanguage( $langcode ) {
 81+ global $dtgIP, $dtgContLang;
 82+
 83+ if ( !empty( $dtgContLang ) ) { return; }
 84+
 85+ $dtContLangClass = 'DT_Language' . str_replace( '-', '_', ucfirst( $langcode ) );
 86+
 87+ if ( file_exists( $dtgIP . '/languages/' . $dtContLangClass . '.php' ) ) {
 88+ include_once( $dtgIP . '/languages/' . $dtContLangClass . '.php' );
 89+ }
 90+
 91+ // fallback if language not supported
 92+ if ( !class_exists( $dtContLangClass ) ) {
 93+ include_once( $dtgIP . '/languages/DT_LanguageEn.php' );
 94+ $dtContLangClass = 'DT_LanguageEn';
 95+ }
 96+
 97+ $dtgContLang = new $dtContLangClass();
 98+}
 99+
 100+/**
 101+ * Initialise the global language object for user language. This
 102+ * must happen after the content language was initialised, since
 103+ * this language is used as a fallback.
 104+ */
 105+function dtfInitUserLanguage( $langcode ) {
 106+ global $dtgIP, $dtgLang;
 107+
 108+ if ( !empty( $dtgLang ) ) { return; }
 109+
 110+ $dtLangClass = 'DT_Language' . str_replace( '-', '_', ucfirst( $langcode ) );
 111+
 112+ if ( file_exists( $dtgIP . '/languages/' . $dtLangClass . '.php' ) ) {
 113+ include_once( $dtgIP . '/languages/' . $dtLangClass . '.php' );
 114+ }
 115+
 116+ // fallback if language not supported
 117+ if ( !class_exists( $dtLangClass ) ) {
 118+ global $dtgContLang;
 119+ $dtgLang = $dtgContLang;
 120+ } else {
 121+ $dtgLang = new $dtLangClass();
 122+ }
 123+}
 124+
 125+/**********************************************/
 126+/***** other global helpers *****/
 127+/**********************************************/
 128+
 129+function dtfInitProperties() {
 130+ global $dtgContLang;
 131+ $dt_props = $dtgContLang->getPropertyLabels();
 132+ SMWPropertyValue::registerProperty( '_DT_XG', '_str', $dt_props[DT_SP_HAS_XML_GROUPING], true );
 133+ // TODO - this should set a "backup" English value as well,
 134+ // so that the phrase "Has XML grouping" works in all languages
 135+ return true;
 136+}
 137+
 138+/**
 139+ * Add links to the 'AdminLinks' special page, defined by the Admin Links
 140+ * extension
 141+ */
 142+function dtfAddToAdminLinks( $admin_links_tree ) {
 143+ $import_export_section = $admin_links_tree->getSection( wfMsg( 'adminlinks_importexport' ) );
 144+ $main_row = $import_export_section->getRow( 'main' );
 145+ $main_row->addItem( ALItem::newFromSpecialPage( 'ViewXML' ) );
 146+ $main_row->addItem( ALItem::newFromSpecialPage( 'ImportXML' ) );
 147+ $main_row->addItem( ALItem::newFromSpecialPage( 'ImportCSV' ) );
 148+ return true;
 149+}
Property changes on: tags/extensions/DataTransfer/REL_0_3_8/DataTransfer.php
___________________________________________________________________
Added: svn:eol-style
1150 + native
Index: tags/extensions/DataTransfer/REL_0_3_8/INSTALL
@@ -0,0 +1,31 @@
 2+[[Data Transfer 0.3.8]]
 3+
 4+Contents:
 5+* Disclaimer
 6+* Requirements
 7+* Installation
 8+* Contact
 9+
 10+== Disclaimer ==
 11+
 12+For a proper legal disclaimer, see the file "COPYING".
 13+
 14+== Requirements ==
 15+
 16+The extension can make use of, but does not require, an install of
 17+Semantic MediaWiki. If Semantic MediaWiki is used, it must be of
 18+version 1.0 or greater. For more details, see Semantic MediaWiki's
 19+own installation requirements.
 20+
 21+== Installation ==
 22+
 23+(1) Extract the archive to obtain the directory "DataTransfer"
 24+ that contains all relevant files. Copy this directory (or
 25+ extract/download it) to "[wikipath]/extensions/".
 26+(2) Insert the following line into the file "[wikipath]/LocalSettings.php":
 27+ include_once('extensions/DataTransfer/DataTransfer.php');
 28+
 29+== Contact ==
 30+
 31+If you have any issues or questions, please send them to
 32+yaron57@gmail.com.
Property changes on: tags/extensions/DataTransfer/REL_0_3_8/INSTALL
___________________________________________________________________
Added: svn:eol-style
133 + native
Index: tags/extensions/DataTransfer/REL_0_3_8/includes/DT_ImportJob.php
@@ -0,0 +1,53 @@
 2+<?php
 3+
 4+/**
 5+ * Background job to import a page into the wiki, for use by Data Transfer
 6+ *
 7+ * @author Yaron Koren
 8+ */
 9+class DTImportJob extends Job {
 10+
 11+ function __construct( $title, $params = '', $id = 0 ) {
 12+ parent::__construct( 'dtImport', $title, $params, $id );
 13+ }
 14+
 15+ /**
 16+ * Run a dtImport job
 17+ * @return boolean success
 18+ */
 19+ function run() {
 20+ wfProfileIn( __METHOD__ );
 21+
 22+ if ( is_null( $this->title ) ) {
 23+ $this->error = "dtImport: Invalid title";
 24+ wfProfileOut( __METHOD__ );
 25+ return false;
 26+ }
 27+
 28+ $article = new Article( $this->title );
 29+ if ( !$article ) {
 30+ $this->error = 'dtImport: Article not found "' . $this->title->getPrefixedDBkey() . '"';
 31+ wfProfileOut( __METHOD__ );
 32+ return false;
 33+ }
 34+ $for_pages_that_exist = $this->params['for_pages_that_exist'];
 35+ if ( $for_pages_that_exist == 'skip' && $this->title->exists() ) {
 36+ return true;
 37+ }
 38+
 39+ // change global $wgUser variable to the one specified by
 40+ // the job only for the extent of this import
 41+ global $wgUser;
 42+ $actual_user = $wgUser;
 43+ $wgUser = User::newFromId( $this->params['user_id'] );
 44+ $text = $this->params['text'];
 45+ if ( $for_pages_that_exist == 'append' && $this->title->exists() ) {
 46+ $text = $article->getContent() . "\n" . $text;
 47+ }
 48+ $edit_summary = $this->params['edit_summary'];
 49+ $article->doEdit( $text, $edit_summary );
 50+ $wgUser = $actual_user;
 51+ wfProfileOut( __METHOD__ );
 52+ return true;
 53+ }
 54+}
Property changes on: tags/extensions/DataTransfer/REL_0_3_8/includes/DT_ImportJob.php
___________________________________________________________________
Added: svn:eol-style
155 + native
Index: tags/extensions/DataTransfer/REL_0_3_8/includes/DT_XMLParser.php
@@ -0,0 +1,273 @@
 2+<?php
 3+/**
 4+ * Classes for parsing XML representing wiki pages and their template calls
 5+ *
 6+ * @author Yaron Koren
 7+ */
 8+
 9+if ( !defined( 'MEDIAWIKI' ) ) die();
 10+
 11+class DTWikiTemplate {
 12+ private $mName = null;
 13+ private $mFields = array();
 14+
 15+ public function DTWikiTemplate( $name ) {
 16+ $this->mName = $name;
 17+ }
 18+
 19+ function addField( $name, $value ) {
 20+ $this->mFields[$name] = $value;
 21+ }
 22+
 23+ function createText() {
 24+ $multi_line_template = false;
 25+ $text = '{{' . $this->mName;
 26+ foreach ( $this->mFields as $field_name => $field_val ) {
 27+ if ( is_numeric( $field_name ) ) {
 28+ $text .= "|$field_val";
 29+ } else {
 30+ $text .= "\n|$field_name=$field_val";
 31+ $multi_line_template = true;
 32+ }
 33+ }
 34+ if ( $multi_line_template )
 35+ $text .= "\n";
 36+ $text .= '}}' . "\n";
 37+ return $text;
 38+ }
 39+}
 40+
 41+class DTWikiPage {
 42+ private $mPageName = null;
 43+ private $mElements = array();
 44+
 45+ public function DTWikiPage( $name ) {
 46+ $this->mPageName = $name;
 47+ }
 48+
 49+ function getName() {
 50+ return $this->mPageName;
 51+ }
 52+
 53+ function addTemplate( $template ) {
 54+ $this->mElements[] = $template;
 55+ }
 56+
 57+ function addFreeText( $free_text ) {
 58+ $this->mElements[] = $free_text;
 59+ }
 60+
 61+ function createText() {
 62+ $text = "";
 63+ foreach ( $this->mElements as $elem ) {
 64+ if ( $elem instanceof DTWikiTemplate ) {
 65+ $text .= $elem->createText();
 66+ } else {
 67+ $text .= $elem;
 68+ }
 69+ }
 70+ return $text;
 71+ }
 72+}
 73+
 74+class DTXMLParser {
 75+ var $mDebug = false;
 76+ var $mSource = null;
 77+ var $mCurFieldName = null;
 78+ var $mCurFieldValue = '';
 79+ var $mCurTemplate = null;
 80+ var $mCurPage = null; // new DTWikiPage();
 81+ var $mPages = array();
 82+
 83+ function __construct( $source ) {
 84+ $this->mSource = $source;
 85+ }
 86+
 87+ function debug( $text ) {
 88+ // print "$text. ";
 89+ }
 90+
 91+ function throwXMLerror( $text ) {
 92+ print htmlspecialchars( $text );
 93+ }
 94+
 95+ function doParse() {
 96+ $parser = xml_parser_create( "UTF-8" );
 97+
 98+ # case folding violates XML standard, turn it off
 99+ xml_parser_set_option( $parser, XML_OPTION_CASE_FOLDING, false );
 100+
 101+ xml_set_object( $parser, $this );
 102+ xml_set_element_handler( $parser, "in_start", "" );
 103+
 104+ $offset = 0; // for context extraction on error reporting
 105+ do {
 106+ $chunk = $this->mSource->readChunk();
 107+ if ( !xml_parse( $parser, $chunk, $this->mSource->atEnd() ) ) {
 108+ wfDebug( "WikiImporter::doImport encountered XML parsing error\n" );
 109+ // return new WikiXmlError( $parser, wfMsgHtml( 'import-parse-failure' ), $chunk, $offset );
 110+ }
 111+ $offset += strlen( $chunk );
 112+ } while ( $chunk !== false && !$this->mSource->atEnd() );
 113+ xml_parser_free( $parser );
 114+ }
 115+
 116+ function donothing( $parser, $x, $y = "" ) {
 117+ # $this->debug( "donothing" );
 118+ }
 119+
 120+
 121+ function in_start( $parser, $name, $attribs ) {
 122+ // $this->debug( "in_start $name" );
 123+ $pages_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_pages' ) );
 124+ if ( $name != $pages_str ) {
 125+ print( "Expected '$pages_str', got '$name'" );
 126+ }
 127+ xml_set_element_handler( $parser, "in_pages", "out_pages" );
 128+ }
 129+
 130+ function in_pages( $parser, $name, $attribs ) {
 131+ $this->debug( "in_pages $name" );
 132+ $page_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_page' ) );
 133+ if ( $name == $page_str ) {
 134+ $title_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_title' ) );
 135+ if ( array_key_exists( $title_str, $attribs ) ) {
 136+ $this->mCurPage = new DTWikiPage( $attribs[$title_str] );
 137+ xml_set_element_handler( $parser, "in_page", "out_page" );
 138+ } else {
 139+ return $this->throwXMLerror( "'$title_str' attribute missing for page" );
 140+ }
 141+ } else {
 142+ return $this->throwXMLerror( "Expected <$page_str>, got <$name>" );
 143+ }
 144+ }
 145+
 146+ function out_pages( $parser, $name ) {
 147+ $this->debug( "out_pages $name" );
 148+ $pages_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_pages' ) );
 149+/*
 150+ if( $name != $pages_str ) {
 151+ return $this->throwXMLerror( "Expected </pages>, got </$name>" );
 152+ }
 153+*/
 154+ xml_set_element_handler( $parser, "donothing", "donothing" );
 155+ }
 156+
 157+ function in_category( $parser, $name, $attribs ) {
 158+ $this->debug( "in_category $name" );
 159+ $page_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_page' ) );
 160+ if ( $name == $page_str ) {
 161+ if ( array_key_exists( $title_str, $attribs ) ) {
 162+ $this->mCurPage = new DTWikiPage( $attribs[$title_str] );
 163+ xml_set_element_handler( $parser, "in_page", "out_page" );
 164+ } else {
 165+ return $this->throwXMLerror( "'$title_str' attribute missing for page" );
 166+ }
 167+ } else {
 168+ return $this->throwXMLerror( "Expected <$page_str>, got <$name>" );
 169+ }
 170+ }
 171+
 172+ function out_category( $parser, $name ) {
 173+ $this->debug( "out_category $name" );
 174+ if ( $name != "category" ) {
 175+ return $this->throwXMLerror( "Expected </category>, got </$name>" );
 176+ }
 177+ xml_set_element_handler( $parser, "donothing", "donothing" );
 178+ }
 179+
 180+ function in_page( $parser, $name, $attribs ) {
 181+ $this->debug( "in_page $name" );
 182+ $template_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_template' ) );
 183+ $name_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_name' ) );
 184+ $free_text_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_freetext' ) );
 185+ if ( $name == $template_str ) {
 186+ if ( array_key_exists( $name_str, $attribs ) ) {
 187+ $this->mCurTemplate = new DTWikiTemplate( $attribs[$name_str] );
 188+ xml_set_element_handler( $parser, "in_template", "out_template" );
 189+ } else {
 190+ return $this->throwXMLerror( "'$name_str' attribute missing for template" );
 191+ }
 192+ } elseif ( $name == $free_text_str ) {
 193+ xml_set_element_handler( $parser, "in_freetext", "out_freetext" );
 194+ xml_set_character_data_handler( $parser, "freetext_value" );
 195+ } else {
 196+ return $this->throwXMLerror( "Expected <$template_str>, got <$name>" );
 197+ }
 198+ }
 199+
 200+ function out_page( $parser, $name ) {
 201+ $this->debug( "out_page $name" );
 202+ $page_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_page' ) );
 203+ if ( $name != $page_str ) {
 204+ return $this->throwXMLerror( "Expected </$page_str>, got </$name>" );
 205+ }
 206+ $this->mPages[] = $this->mCurPage;
 207+ xml_set_element_handler( $parser, "in_pages", "out_pages" );
 208+ }
 209+
 210+ function in_template( $parser, $name, $attribs ) {
 211+ $this->debug( "in_template $name" );
 212+ $field_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_field' ) );
 213+ if ( $name == $field_str ) {
 214+ $name_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_name' ) );
 215+ if ( array_key_exists( $name_str, $attribs ) ) {
 216+ $this->mCurFieldName = $attribs[$name_str];
 217+ // $this->push( $name );
 218+ $this->workRevisionCount = 0;
 219+ $this->workSuccessCount = 0;
 220+ $this->uploadCount = 0;
 221+ $this->uploadSuccessCount = 0;
 222+ xml_set_element_handler( $parser, "in_field", "out_field" );
 223+ xml_set_character_data_handler( $parser, "field_value" );
 224+ } else {
 225+ return $this->throwXMLerror( "'$name_str' attribute missing for field" );
 226+ }
 227+ } else {
 228+ return $this->throwXMLerror( "Expected <$field_str>, got <$name>" );
 229+ }
 230+ }
 231+
 232+ function out_template( $parser, $name ) {
 233+ $this->debug( "out_template $name" );
 234+ $template_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_template' ) );
 235+ if ( $name != $template_str ) {
 236+ return $this->throwXMLerror( "Expected </$template_str>, got </$name>" );
 237+ }
 238+ $this->mCurPage->addTemplate( $this->mCurTemplate );
 239+ xml_set_element_handler( $parser, "in_page", "out_page" );
 240+ }
 241+
 242+ function in_field( $parser, $name, $attribs ) {
 243+ // xml_set_element_handler( $parser, "donothing", "donothing" );
 244+ }
 245+
 246+ function out_field( $parser, $name ) {
 247+ $this->debug( "out_field $name" );
 248+ $field_str = str_replace( ' ', '_', wfMsgForContent( 'dt_xml_field' ) );
 249+ if ( $name == $field_str ) {
 250+ $this->mCurTemplate->addField( $this->mCurFieldName, $this->mCurFieldValue );
 251+ $this->mCurFieldValue = '';
 252+ } else {
 253+ return $this->throwXMLerror( "Expected </$field_str>, got </$name>" );
 254+ }
 255+ xml_set_element_handler( $parser, "in_template", "out_template" );
 256+ }
 257+
 258+ function field_value( $parser, $data ) {
 259+ $this->mCurFieldValue .= $data;
 260+ }
 261+
 262+ function in_freetext( $parser, $name, $attribs ) {
 263+ // xml_set_element_handler( $parser, "donothing", "donothing" );
 264+ }
 265+
 266+ function out_freetext( $parser, $name ) {
 267+ xml_set_element_handler( $parser, "in_page", "out_page" );
 268+ }
 269+
 270+ function freetext_value( $parser, $data ) {
 271+ $this->mCurPage->addFreeText( $data );
 272+ }
 273+
 274+}
Property changes on: tags/extensions/DataTransfer/REL_0_3_8/includes/DT_XMLParser.php
___________________________________________________________________
Added: svn:eol-style
1275 + native
Index: tags/extensions/DataTransfer/REL_0_3_8/includes/DT_Utils.php
@@ -0,0 +1,89 @@
 2+<?php
 3+
 4+/**
 5+ * Utility functions for the Data Transfer extension.
 6+ *
 7+ * @author Yaron Koren
 8+ */
 9+class DTUtils {
 10+
 11+ /*
 12+ * Loads messages only for MediaWiki versions that need it (< 1.16)
 13+ */
 14+ public static function loadMessages() {
 15+ global $wgVersion;
 16+ if ( version_compare( $wgVersion, '1.16', '<' ) ) {
 17+ wfLoadExtensionMessages( 'DataTransfer' );
 18+ }
 19+ }
 20+
 21+ static function printImportingMessage() {
 22+ return "\t" . Xml::element( 'p', null, wfMsg( 'dt_import_importing' ) ) . "\n";
 23+ }
 24+
 25+ static function printFileSelector( $fileType ) {
 26+ $text = "\n\t" . Xml::element( 'p', null, wfMsg( 'dt_import_selectfile', $fileType ) ) . "\n";
 27+ $text .= <<<END
 28+ <p><input type="file" name="file_name" size="25" /></p>
 29+
 30+END;
 31+ $text .= "\t" . '<hr style="margin: 10px 0 10px 0" />' . "\n";
 32+ return $text;
 33+ }
 34+
 35+ static function printExistingPagesHandling() {
 36+ $text = "\t" . Xml::element( 'p', null, wfMsg( 'dt_import_forexisting' ) ) . "\n";
 37+ $existingPagesText = "\n\t" .
 38+ Xml::element( 'input',
 39+ array(
 40+ 'type' => 'radio',
 41+ 'name' => 'pagesThatExist',
 42+ 'value' => 'overwrite',
 43+ 'checked' => 'checked'
 44+ ) ) . "\n" .
 45+ "\t" . wfMsg( 'dt_import_overwriteexisting' ) . "<br />" . "\n" .
 46+ "\t" . Xml::element( 'input',
 47+ array(
 48+ 'type' => 'radio',
 49+ 'name' => 'pagesThatExist',
 50+ 'value' => 'skip',
 51+ ) ) . "\n" .
 52+ "\t" . wfMsg( 'dt_import_skipexisting' ) . "<br />" . "\n" .
 53+ "\t" . Xml::element( 'input',
 54+ array(
 55+ 'type' => 'radio',
 56+ 'name' => 'pagesThatExist',
 57+ 'value' => 'append',
 58+ ) ) . "\n" .
 59+ "\t" . wfMsg( 'dt_import_appendtoexisting' ) . "<br />" . "\n\t";
 60+ $text .= "\t" . Xml::tags( 'p', null, $existingPagesText ) . "\n";
 61+ $text .= "\t" . '<hr style="margin: 10px 0 10px 0" />' . "\n";
 62+ return $text;
 63+ }
 64+
 65+ static function printImportSummaryInput( $fileType ) {
 66+ $importSummaryText = "\t" . Xml::element( 'input',
 67+ array(
 68+ 'type' => 'text',
 69+ 'id' => 'wpSummary', // ID is necessary for CSS formatting
 70+ 'class' => 'mw-summary',
 71+ 'name' => 'import_summary',
 72+ 'value' => wfMsgForContent( 'dt_import_editsummary', $fileType )
 73+ )
 74+ ) . "\n";
 75+ return "\t" . Xml::tags( 'p', null,
 76+ wfMsg( 'dt_import_summarydesc' ) . "\n" .
 77+ $importSummaryText ) . "\n";
 78+ }
 79+
 80+ static function printSubmitButton() {
 81+ $formSubmitText = Xml::element( 'input',
 82+ array(
 83+ 'type' => 'submit',
 84+ 'name' => 'import_file',
 85+ 'value' => wfMsg( 'import-interwiki-submit' )
 86+ )
 87+ );
 88+ return "\t" . Xml::tags( 'p', null, $formSubmitText ) . "\n";
 89+ }
 90+}
Property changes on: tags/extensions/DataTransfer/REL_0_3_8/includes/DT_Utils.php
___________________________________________________________________
Added: svn:eol-style
191 + native
Index: tags/extensions/DataTransfer/REL_0_3_8/languages/DT_Language.php
@@ -0,0 +1,34 @@
 2+<?php
 3+/**
 4+ * @author Yaron Koren
 5+ */
 6+
 7+/**
 8+ * Base class for all language classes - heavily based on Semantic MediaWiki's
 9+ * 'SMW_Language' class
 10+ */
 11+abstract class DT_Language {
 12+
 13+ protected $m_SpecialProperties;
 14+
 15+ // By default, every language has English-language aliases for
 16+ // special properties
 17+ protected $m_SpecialPropertyAliases = array(
 18+ 'Has XML grouping' => DT_SP_HAS_XML_GROUPING,
 19+ 'Excluded from XML' => DT_SP_IS_EXCLUDED_FROM_XML,
 20+ );
 21+
 22+ /**
 23+ * Function that returns the labels for the special properties.
 24+ */
 25+ function getPropertyLabels() {
 26+ return $this->m_SpecialProperties;
 27+ }
 28+
 29+ /**
 30+ * Aliases for special properties, if any.
 31+ */
 32+ function getPropertyAliases() {
 33+ return $this->m_SpecialPropertyAliases;
 34+ }
 35+}
Property changes on: tags/extensions/DataTransfer/REL_0_3_8/languages/DT_Language.php
___________________________________________________________________
Added: svn:eol-style
136 + native
Index: tags/extensions/DataTransfer/REL_0_3_8/languages/DT_LanguageEn.php
@@ -0,0 +1,13 @@
 2+<?php
 3+/**
 4+ * @author Yaron Koren
 5+ */
 6+
 7+class DT_LanguageEn extends DT_Language {
 8+
 9+/* private */ var $m_SpecialProperties = array(
 10+ DT_SP_HAS_XML_GROUPING => 'Has XML grouping',
 11+ DT_SP_IS_EXCLUDED_FROM_XML => 'Excluded from XML'
 12+);
 13+
 14+}
Property changes on: tags/extensions/DataTransfer/REL_0_3_8/languages/DT_LanguageEn.php
___________________________________________________________________
Added: svn:eol-style
115 + native
Index: tags/extensions/DataTransfer/REL_0_3_8/languages/DT_Messages.php
@@ -0,0 +1,2641 @@
 2+<?php
 3+/**
 4+ * Internationalization file for the Data Transfer extension
 5+ *
 6+ * @file
 7+ * @ingroup Extensions
 8+ */
 9+
 10+$messages = array();
 11+
 12+/** English
 13+ * @author Yaron Koren
 14+ */
 15+$messages['en'] = array(
 16+ 'datatransfer-desc' => 'Allows for importing and exporting data contained in template calls',
 17+ 'viewxml' => 'View XML',
 18+ 'dt_viewxml_docu' => 'Please select among the following categories and namespaces to view in XML format.',
 19+ 'dt_viewxml_categories' => 'Categories',
 20+ 'dt_viewxml_namespaces' => 'Namespaces',
 21+ 'dt_viewxml_simplifiedformat' => 'Simplified format',
 22+ 'dt_xml_namespace' => 'Namespace',
 23+ 'dt_xml_pages' => 'Pages',
 24+ 'dt_xml_page' => 'Page',
 25+ 'dt_xml_template' => 'Template',
 26+ 'dt_xml_field' => 'Field',
 27+ 'dt_xml_name' => 'Name',
 28+ 'dt_xml_title' => 'Title',
 29+ 'dt_xml_id' => 'ID',
 30+ 'dt_xml_freetext' => 'Free Text',
 31+ 'importxml' => 'Import XML',
 32+ 'dt_import_selectfile' => 'Please select the $1 file to import:',
 33+ 'dt_import_encodingtype' => 'Encoding type:',
 34+ 'dt_import_forexisting' => 'For pages that already exist:',
 35+ 'dt_import_overwriteexisting' => 'Overwrite existing content',
 36+ 'dt_import_skipexisting' => 'Skip',
 37+ 'dt_import_appendtoexisting' => 'Append to existing content',
 38+ 'dt_import_summarydesc' => 'Summary of import:',
 39+ 'dt_import_editsummary' => '$1 import',
 40+ 'dt_import_importing' => 'Importing...',
 41+ 'dt_import_success' => '$1 {{PLURAL:$1|page|pages}} will be created from the $2 file.',
 42+ 'importcsv' => 'Import CSV',
 43+ 'dt_importcsv_badheader' => "Error: the column $1 header, '$2', must be either '$3', '$4' or of the form 'template_name[field_name]'",
 44+ 'right-datatransferimport' => 'Import data',
 45+);
 46+
 47+/** Message documentation (Message documentation)
 48+ * @author EugeneZelenko
 49+ * @author Fryed-peach
 50+ * @author Jon Harald Søby
 51+ * @author Purodha
 52+ * @author Raymond
 53+ * @author Siebrand
 54+ */
 55+$messages['qqq'] = array(
 56+ 'datatransfer-desc' => 'Extension description displayed on [[Special:Version]].',
 57+ 'dt_viewxml_categories' => '{{Identical|Categories}}',
 58+ 'dt_viewxml_namespaces' => '{{Identical|Namespaces}}',
 59+ 'dt_xml_namespace' => '{{Identical|Namespace}}
 60+Used as XML tag name.',
 61+ 'dt_xml_pages' => '{{Identical|Pages}}
 62+
 63+Used as XML tag name.',
 64+ 'dt_xml_page' => '{{Identical|Page}}
 65+Used as XML tag name.',
 66+ 'dt_xml_template' => '{{Identical|Template}}
 67+Used as XML tag name.',
 68+ 'dt_xml_field' => '{{Identical|Field}}
 69+Used as XML tag name.',
 70+ 'dt_xml_name' => '{{Identical|Name}}
 71+
 72+Used as XML tag name.',
 73+ 'dt_xml_title' => '{{Identical|Title}}
 74+Used as XML tag name.',
 75+ 'dt_xml_id' => '{{Identical|ID}}
 76+
 77+Used as XML tag name.',
 78+ 'dt_xml_freetext' => '{{Identical|Free text}}
 79+Used as XML tag name.',
 80+ 'dt_import_selectfile' => '$1 is the file format: either CSV or XML',
 81+ 'dt_import_encodingtype' => 'The type of encoding for the file: either UTF-8 or UTF-16',
 82+ 'dt_import_skipexisting' => '{{Identical|Skip}}',
 83+ 'dt_import_editsummary' => '$1 is the file format: either CSV or XML',
 84+ 'dt_import_success' => 'Parameters:
 85+* $1 is the number of pages
 86+* $2 is the file format: either CSV or XML',
 87+ 'dt_importcsv_badheader' => 'The text "template_name[field_name]" can be translated.
 88+*$1 is a column number in the first row of the CVS file
 89+*$2 is the value found for the $1th colomn in the first line of the CSV file
 90+*$3 is the title label
 91+*$4 is a free text label',
 92+ 'right-datatransferimport' => '{{doc-right}}',
 93+);
 94+
 95+/** Faeag Rotuma (Faeag Rotuma)
 96+ * @author Jose77
 97+ */
 98+$messages['rtm'] = array(
 99+ 'dt_viewxml_categories' => 'Katekori',
 100+);
 101+
 102+/** Afrikaans (Afrikaans)
 103+ * @author Arnobarnard
 104+ * @author Naudefj
 105+ */
 106+$messages['af'] = array(
 107+ 'datatransfer-desc' => 'Maak die laai en ontlaai van gestruktureerde gegewens in sjabloonaanroepe moontlik',
 108+ 'viewxml' => 'Sien XML',
 109+ 'dt_viewxml_docu' => 'Kies een van die volgende kategorieë en naamruimtes om in XML-formaat te sien.',
 110+ 'dt_viewxml_categories' => 'Ketagorieë',
 111+ 'dt_viewxml_namespaces' => 'Naamruimtes',
 112+ 'dt_viewxml_simplifiedformat' => 'Vereenvoudigde formaat',
 113+ 'dt_xml_namespace' => 'Naamruimte',
 114+ 'dt_xml_pages' => 'Bladsye',
 115+ 'dt_xml_page' => 'Bladsy',
 116+ 'dt_xml_template' => 'Sjabloon',
 117+ 'dt_xml_field' => 'Veld',
 118+ 'dt_xml_name' => 'Naam',
 119+ 'dt_xml_title' => 'Titel',
 120+ 'dt_xml_id' => 'ID',
 121+ 'dt_xml_freetext' => 'Vrye teks',
 122+ 'importxml' => 'Laai XML',
 123+ 'dt_import_selectfile' => 'Kies die $1 lêer om te laai:',
 124+ 'dt_import_encodingtype' => 'Enkoderingstipe:',
 125+ 'dt_import_skipexisting' => 'Slaan oor',
 126+ 'dt_import_editsummary' => '$1-laai',
 127+ 'dt_import_importing' => 'Besig om te laai...',
 128+ 'dt_import_success' => '$1 {{PLURAL:$1|bladsy|bladsye}} sal geskep word vanaf die lêer $2.',
 129+ 'importcsv' => 'Laai CSV',
 130+ 'dt_importcsv_badheader' => 'Fout: Die opskrif van kolom $1, "$2", moet "$3" of "$4" wees, of in die vorm "sjabloonnaam[veldnaam]" genoteer word.',
 131+ 'right-datatransferimport' => 'Laai data',
 132+);
 133+
 134+/** Gheg Albanian (Gegë)
 135+ * @author Mdupont
 136+ */
 137+$messages['aln'] = array(
 138+ 'datatransfer-desc' => 'Lejon për import dhe eksport të dhënave të përmbajtura në modelin e quan',
 139+ 'viewxml' => 'Shiko XML',
 140+ 'dt_viewxml_docu' => 'Ju lutem zgjidhni midis kategorive të mëposhtme dhe hapësira për të parë në formatin XML.',
 141+ 'dt_viewxml_categories' => 'Kategoritë',
 142+ 'dt_viewxml_namespaces' => 'Hapësira',
 143+ 'dt_viewxml_simplifiedformat' => 'Formati i thjeshtuar',
 144+ 'dt_xml_namespace' => 'Hapësira',
 145+ 'dt_xml_pages' => 'Faqet',
 146+ 'dt_xml_page' => 'Faqe',
 147+ 'dt_xml_template' => 'Shabllon',
 148+ 'dt_xml_field' => 'Fushë',
 149+ 'dt_xml_name' => 'Emër',
 150+ 'dt_xml_title' => 'Titull',
 151+ 'dt_xml_id' => 'ID',
 152+ 'dt_xml_freetext' => 'Free Tekst',
 153+ 'importxml' => 'Importi XML',
 154+ 'dt_import_selectfile' => 'Ju lutem përzgjidhni kartelën $1 për të importuar:',
 155+ 'dt_import_encodingtype' => 'Encoding lloj:',
 156+ 'dt_import_editsummary' => '$1 importit',
 157+ 'dt_import_importing' => 'Importimi ...',
 158+ 'dt_import_success' => '$1 {{PLURAL:$1|faqe|faqe}} do të krijohet nga file $2.',
 159+ 'importcsv' => 'Importi CSV',
 160+ 'dt_importcsv_badheader' => "Gabim: $1 column header, '$2', duhet të jenë ose '$3', '$4' ose të formës 'template_name [field_name]'",
 161+ 'right-datatransferimport' => 'Të dhënat e importit',
 162+);
 163+
 164+/** Amharic (አማርኛ)
 165+ * @author Codex Sinaiticus
 166+ */
 167+$messages['am'] = array(
 168+ 'dt_viewxml_categories' => 'መደቦች',
 169+ 'dt_viewxml_namespaces' => 'ክፍለ-ዊኪዎች',
 170+ 'dt_xml_namespace' => 'ክፍለ-ዊኪ',
 171+ 'dt_xml_name' => 'ስም',
 172+ 'dt_xml_title' => 'አርዕስት',
 173+);
 174+
 175+/** Aragonese (Aragonés)
 176+ * @author Juanpabl
 177+ * @author Remember the dot
 178+ */
 179+$messages['an'] = array(
 180+ 'dt_viewxml_namespaces' => 'Espacios de nombres',
 181+ 'dt_xml_namespace' => 'Espacio de nombres',
 182+ 'dt_xml_page' => 'Pachina',
 183+ 'dt_xml_template' => 'Plantilla',
 184+ 'dt_xml_name' => 'Nombre',
 185+);
 186+
 187+/** Arabic (العربية)
 188+ * @author Meno25
 189+ * @author Mutarjem horr
 190+ * @author OsamaK
 191+ */
 192+$messages['ar'] = array(
 193+ 'datatransfer-desc' => 'يسمح باستيراد وتصدير بيانات محتواة في استدعاءات قالب',
 194+ 'viewxml' => 'عرض XML',
 195+ 'dt_viewxml_docu' => 'من فضلك اختر من بين التصنيفات والنطاقات التالية للعرض في صيغة XML.',
 196+ 'dt_viewxml_categories' => 'تصنيفات',
 197+ 'dt_viewxml_namespaces' => 'نطاقات',
 198+ 'dt_viewxml_simplifiedformat' => 'صيغة مبسطة',
 199+ 'dt_xml_namespace' => 'نطاق',
 200+ 'dt_xml_pages' => 'صفحات',
 201+ 'dt_xml_page' => 'صفحة',
 202+ 'dt_xml_template' => 'قالب',
 203+ 'dt_xml_field' => 'حقل',
 204+ 'dt_xml_name' => 'اسم',
 205+ 'dt_xml_title' => 'عنوان',
 206+ 'dt_xml_id' => 'رقم',
 207+ 'dt_xml_freetext' => 'نص حر',
 208+ 'importxml' => 'استيراد XML',
 209+ 'dt_import_selectfile' => 'من فضلك اختر ملف $1 للاستيراد:',
 210+ 'dt_import_encodingtype' => 'نوع الترميز:',
 211+ 'dt_import_forexisting' => 'لصفحات موجودة مسبقاّ :',
 212+ 'dt_import_overwriteexisting' => 'أكتب على المحتوى الموجود',
 213+ 'dt_import_skipexisting' => 'أقفز',
 214+ 'dt_import_appendtoexisting' => 'إلحاق بالمحتوى الموجود',
 215+ 'dt_import_summarydesc' => 'موجز الاستيراد :',
 216+ 'dt_import_editsummary' => 'استيراد $1',
 217+ 'dt_import_importing' => 'جاري الاستيراد...',
 218+ 'dt_import_success' => 'سوف تُنشأ {{PLURAL:$1||صفحة واحدة|صفحتين|$1 صفحات|$1 صفحة}} من ملف $2.',
 219+ 'importcsv' => 'استورد CSV',
 220+ 'dt_importcsv_badheader' => "خطأ: عنوان العامود $1، '$2'، يجب أن يكون إما '$3'، '$4' أو من الصيغة 'template_name[field_name]'",
 221+ 'right-datatransferimport' => 'استورد بيانات',
 222+);
 223+
 224+/** Aramaic (ܐܪܡܝܐ)
 225+ * @author Basharh
 226+ */
 227+$messages['arc'] = array(
 228+ 'dt_viewxml_categories' => 'ܣܕܪ̈ܐ',
 229+ 'dt_viewxml_namespaces' => 'ܚܩܠܬ̈ܐ',
 230+ 'dt_xml_namespace' => 'ܚܩܠܐ',
 231+ 'dt_xml_pages' => 'ܕ̈ܦܐ',
 232+ 'dt_xml_page' => 'ܕܦܐ',
 233+ 'dt_xml_template' => 'ܩܠܒܐ',
 234+ 'dt_xml_name' => 'ܫܡܐ',
 235+ 'dt_xml_title' => 'ܟܘܢܝܐ',
 236+ 'dt_xml_id' => 'ܗܝܝܘܬܐ',
 237+ 'dt_import_summarydesc' => 'ܦܣܝܩܬ̈ܐ ܕܡܥܠܢܘܬܐ:',
 238+ 'right-datatransferimport' => 'ܡܥܠܢܘܬܐ ܕܓܠܝܬ̈ܐ',
 239+);
 240+
 241+/** Araucanian (Mapudungun)
 242+ * @author Remember the dot
 243+ */
 244+$messages['arn'] = array(
 245+ 'dt_xml_page' => 'Pakina',
 246+);
 247+
 248+/** Egyptian Spoken Arabic (مصرى)
 249+ * @author Dudi
 250+ * @author Ghaly
 251+ * @author Meno25
 252+ */
 253+$messages['arz'] = array(
 254+ 'datatransfer-desc' => 'بيسمح بـ import و export للداتا اللى جوّا القالب',
 255+ 'viewxml' => 'شوف XML',
 256+ 'dt_viewxml_docu' => 'لو سمحت اختار من التصانيف و اسامى المساحات الجايه علشان العرض فى XML format.',
 257+ 'dt_viewxml_categories' => 'تصانيف',
 258+ 'dt_viewxml_namespaces' => 'مساحات اسامى',
 259+ 'dt_viewxml_simplifiedformat' => 'format متبسطه',
 260+ 'dt_xml_namespace' => 'اسم مساحه',
 261+ 'dt_xml_pages' => 'صفح',
 262+ 'dt_xml_page' => 'صفحه',
 263+ 'dt_xml_template' => 'قالب',
 264+ 'dt_xml_field' => 'حقل',
 265+ 'dt_xml_name' => 'اسم',
 266+ 'dt_xml_title' => 'عنوان',
 267+ 'dt_xml_id' => 'رقم',
 268+ 'dt_xml_freetext' => 'نص حر',
 269+ 'dt_import_selectfile' => 'لو سمحت اختار فايل $1 علشان تعمل import:',
 270+ 'dt_import_editsummary' => 'استوراد $1',
 271+ 'dt_import_success' => '$1 {{PLURAL:$1|صفحه|صفحه}} ح يتعملو من الفايل $2.',
 272+);
 273+
 274+/** Azerbaijani (Azərbaycanca)
 275+ * @author Cekli829
 276+ * @author Vago
 277+ */
 278+$messages['az'] = array(
 279+ 'dt_viewxml_categories' => 'Kateqoriyalar',
 280+ 'dt_viewxml_namespaces' => 'Adlar fəzaları',
 281+ 'dt_xml_namespace' => 'Adlar fəzası',
 282+ 'dt_xml_pages' => 'Səhifələr',
 283+ 'dt_xml_page' => 'Səhifə',
 284+ 'dt_xml_template' => 'Şablon',
 285+ 'dt_xml_name' => 'Ad',
 286+ 'dt_xml_title' => 'Başlıq',
 287+ 'dt_xml_id' => 'ID',
 288+);
 289+
 290+/** Belarusian (Беларуская)
 291+ * @author Тест
 292+ */
 293+$messages['be'] = array(
 294+ 'dt_viewxml_categories' => 'Катэгорыі',
 295+ 'dt_xml_template' => 'Шаблон',
 296+);
 297+
 298+/** Belarusian (Taraškievica orthography) (‪Беларуская (тарашкевіца)‬)
 299+ * @author EugeneZelenko
 300+ * @author Jim-by
 301+ * @author Wizardist
 302+ */
 303+$messages['be-tarask'] = array(
 304+ 'datatransfer-desc' => 'Дазваляе імпартаваць і экспартаваць зьвесткі, якія ўтрымліваюцца ў выкліках шаблёнах',
 305+ 'viewxml' => 'Паказаць XML',
 306+ 'dt_viewxml_docu' => 'Калі ласка, выберыце што праглядаць у фармаце XML сярод наступных катэгорыяў і прастораў назваў.',
 307+ 'dt_viewxml_categories' => 'Катэгорыі',
 308+ 'dt_viewxml_namespaces' => 'Прасторы назваў',
 309+ 'dt_viewxml_simplifiedformat' => 'Спрошчаны фармат',
 310+ 'dt_xml_namespace' => 'Прастора назваў',
 311+ 'dt_xml_pages' => 'Старонкі',
 312+ 'dt_xml_page' => 'Старонка',
 313+ 'dt_xml_template' => 'Шаблён',
 314+ 'dt_xml_field' => 'Поле',
 315+ 'dt_xml_name' => 'Назва',
 316+ 'dt_xml_title' => 'Назва',
 317+ 'dt_xml_id' => 'Ідэнтыфікатар',
 318+ 'dt_xml_freetext' => 'Вольны тэкст',
 319+ 'importxml' => 'Імпарт XML',
 320+ 'dt_import_selectfile' => 'Калі ласка, выберыце файл у фармаце $1 для імпарту:',
 321+ 'dt_import_encodingtype' => 'Тып кадыроўкі:',
 322+ 'dt_import_forexisting' => 'Для старонак якія ўжо існуюць:',
 323+ 'dt_import_overwriteexisting' => 'Перазапісваць існуючы зьмест',
 324+ 'dt_import_skipexisting' => 'Прапускаць',
 325+ 'dt_import_appendtoexisting' => 'Далучаць да існуючага зьместу',
 326+ 'dt_import_summarydesc' => 'Кароткае апісаньне імпарту:',
 327+ 'dt_import_editsummary' => 'імпарт $1',
 328+ 'dt_import_importing' => 'Імпартаваньне...',
 329+ 'dt_import_success' => '$1 {{PLURAL:$1|старонка будзе|старонкі будуць|старонак будзе}} створана з файла ў фармаце $2.',
 330+ 'importcsv' => 'Імпарт CSV',
 331+ 'dt_importcsv_badheader' => "Памылка: загаловак слупка $1, '$2', павінен быць адным з '$3', '$4' альбо у форме 'назва_шаблёну[назва_поля]'",
 332+ 'right-datatransferimport' => 'імпарт зьвестак',
 333+);
 334+
 335+/** Bulgarian (Български)
 336+ * @author DCLXVI
 337+ */
 338+$messages['bg'] = array(
 339+ 'viewxml' => 'Преглед на XML',
 340+ 'dt_viewxml_categories' => 'Категории',
 341+ 'dt_viewxml_namespaces' => 'Именни пространства',
 342+ 'dt_viewxml_simplifiedformat' => 'Опростен формат',
 343+ 'dt_xml_namespace' => 'Именно пространство',
 344+ 'dt_xml_pages' => 'Страници',
 345+ 'dt_xml_page' => 'Страница',
 346+ 'dt_xml_template' => 'Шаблон',
 347+ 'dt_xml_field' => 'Поле',
 348+ 'dt_xml_name' => 'Име',
 349+ 'dt_xml_title' => 'Заглавие',
 350+ 'dt_xml_id' => 'Номер',
 351+ 'dt_xml_freetext' => 'Свободен текст',
 352+ 'importxml' => 'Внасяне на XML',
 353+ 'dt_import_importing' => 'Внасяне...',
 354+ 'importcsv' => 'Внасяне на CSV',
 355+ 'right-datatransferimport' => 'Внасяне на данни',
 356+);
 357+
 358+/** Bengali (বাংলা)
 359+ * @author Wikitanvir
 360+ */
 361+$messages['bn'] = array(
 362+ 'viewxml' => 'এক্সএমএল দেখাও',
 363+ 'dt_viewxml_categories' => 'বিষয়শ্রেণীসমূহ',
 364+ 'dt_viewxml_namespaces' => 'নামস্থানসমূহ',
 365+ 'dt_viewxml_simplifiedformat' => 'সাধারণকৃত কাঠামো',
 366+ 'dt_xml_namespace' => 'নামস্থান',
 367+ 'dt_xml_pages' => 'পাতা',
 368+ 'dt_xml_page' => 'পাতা',
 369+ 'dt_xml_template' => 'টেম্পলেট',
 370+ 'dt_xml_field' => 'ফিল্ড',
 371+ 'dt_xml_name' => 'নাম',
 372+ 'dt_xml_title' => 'শিরোনাম',
 373+ 'dt_xml_id' => 'আইডি',
 374+ 'dt_xml_freetext' => 'মুক্ত লেখা',
 375+ 'importxml' => 'এক্সএমএল আমদানি',
 376+ 'dt_import_selectfile' => 'অনুগ্রহ করে আমদানির জন্য $1 ফাইল নির্বাচন করুন:',
 377+ 'dt_import_encodingtype' => 'এনকোডিংয়ের ধরন:',
 378+ 'dt_import_forexisting' => 'যে পাতাগুলো ইতিমধ্যেই আছে তার জন্য:',
 379+ 'dt_import_overwriteexisting' => 'বিদ্যমান বিষয়সমূহ প্রতিস্থাপন করো',
 380+ 'dt_import_skipexisting' => 'উপেক্ষা করো',
 381+ 'dt_import_summarydesc' => 'আমদানির সারাংশ',
 382+ 'dt_import_editsummary' => '$1 আমদানি',
 383+ 'dt_import_importing' => 'আমদানি হচ্ছে...',
 384+ 'dt_import_success' => '$2টি ফাইল থেকে $1টি {{PLURAL:$1|পাতা|পাতা}} তৈরি করা হবে।',
 385+ 'importcsv' => 'সিএসভি আমদানি',
 386+ 'right-datatransferimport' => 'উপাত্ত আমদানি',
 387+);
 388+
 389+/** Breton (Brezhoneg)
 390+ * @author Fohanno
 391+ * @author Fulup
 392+ * @author Gwendal
 393+ * @author Y-M D
 394+ */
 395+$messages['br'] = array(
 396+ 'datatransfer-desc' => 'Aotreañ a ra da enporzhiañ hag ezporzhiañ roadennoù eus galvoù patromoù',
 397+ 'viewxml' => 'Gwelet XML',
 398+ 'dt_viewxml_docu' => 'Dibabit e-touez ar rummadoù hag an esaouennoù anv da heul evit gwelet er furmad XML.',
 399+ 'dt_viewxml_categories' => 'Rummadoù',
 400+ 'dt_viewxml_namespaces' => 'Esaouennoù anv',
 401+ 'dt_viewxml_simplifiedformat' => 'Furmad eeunaet',
 402+ 'dt_xml_namespace' => 'Esaouenn anv',
 403+ 'dt_xml_pages' => 'Pajennoù',
 404+ 'dt_xml_page' => 'Pajenn',
 405+ 'dt_xml_template' => 'Patrom',
 406+ 'dt_xml_field' => 'Maezienn',
 407+ 'dt_xml_name' => 'Anv',
 408+ 'dt_xml_title' => 'Titl',
 409+ 'dt_xml_id' => 'ID',
 410+ 'dt_xml_freetext' => 'Testenn dieub',
 411+ 'importxml' => 'Enporzhiañ XML',
 412+ 'dt_import_selectfile' => 'Dibabit ar restr $1 da enporzhiañ :',
 413+ 'dt_import_encodingtype' => 'Seurt enkodadur :',
 414+ 'dt_import_forexisting' => 'Evit pajennoù zo anezho dija :',
 415+ 'dt_import_overwriteexisting' => "erlec'hiañ an endalc'had zo anezhañ dija",
 416+ 'dt_import_skipexisting' => 'Lezel a-gostez',
 417+ 'dt_import_appendtoexisting' => "Ouzhpennañ d'an endalc'had zo anezhañ dija",
 418+ 'dt_import_summarydesc' => 'Diverradenn an enporzh :',
 419+ 'dt_import_editsummary' => 'Enporzhiadur $1',
 420+ 'dt_import_importing' => "Oc'h enporzhiañ...",
 421+ 'dt_import_success' => '$1 {{PLURAL:$1|bajenn|pajenn}} a vo krouet diwar ar restr $2.',
 422+ 'importcsv' => 'Enporzh CSV',
 423+ 'dt_importcsv_badheader' => 'Fazi : titl ar bann $1, "$2", a rank bezañ "$3", "$4" pe gant ar stumm "anv_ar_patrom[anv_ar_vaezienn]"',
 424+ 'right-datatransferimport' => 'Enporzhiañ roadennoù',
 425+);
 426+
 427+/** Bosnian (Bosanski)
 428+ * @author CERminator
 429+ */
 430+$messages['bs'] = array(
 431+ 'datatransfer-desc' => 'Omogućuje uvoz i izvoz podataka koji su sadržani u pozivima šablona',
 432+ 'viewxml' => 'Pregledaj XML',
 433+ 'dt_viewxml_docu' => 'Molimo Vas odaberite unutar slijedećih kategorija i imenskih prostora za pregled u XML formatu.',
 434+ 'dt_viewxml_categories' => 'Kategorije',
 435+ 'dt_viewxml_namespaces' => 'Imenski prostori',
 436+ 'dt_viewxml_simplifiedformat' => 'Pojednostavljeni format',
 437+ 'dt_xml_namespace' => 'Imenski prostor',
 438+ 'dt_xml_pages' => 'Stranice',
 439+ 'dt_xml_page' => 'Stranica',
 440+ 'dt_xml_template' => 'Šablon',
 441+ 'dt_xml_field' => 'Polje',
 442+ 'dt_xml_name' => 'Naziv',
 443+ 'dt_xml_title' => 'Naslov',
 444+ 'dt_xml_id' => 'ID',
 445+ 'dt_xml_freetext' => 'Slobodni tekst',
 446+ 'importxml' => 'Uvezi XML',
 447+ 'dt_import_selectfile' => 'Molimo odaberite $1 datoteku za uvoz:',
 448+ 'dt_import_encodingtype' => 'Tip šifriranja:',
 449+ 'dt_import_forexisting' => 'Za stranice koje već postoje:',
 450+ 'dt_import_overwriteexisting' => 'Piši preko postojećeg sadržaja',
 451+ 'dt_import_skipexisting' => 'Preskoči',
 452+ 'dt_import_appendtoexisting' => 'Dodaj na postojeći sadržaj',
 453+ 'dt_import_summarydesc' => 'Sažetak uvoza:',
 454+ 'dt_import_editsummary' => '$1 uvoz',
 455+ 'dt_import_importing' => 'Uvoz...',
 456+ 'dt_import_success' => '$1 {{PLURAL:$1|stranica|stranice|stranica}} će biti napravljeno iz $2 datoteke.',
 457+ 'importcsv' => 'Uvoz CSV',
 458+ 'dt_importcsv_badheader' => "Greška: zaglavlje $1 kolone, '$2', mora biti ili '$3', '$4' ili od obrasca 'template_name[field_name]'",
 459+ 'right-datatransferimport' => 'Uvoz podataka',
 460+);
 461+
 462+/** Catalan (Català)
 463+ * @author Jordi Roqué
 464+ * @author SMP
 465+ * @author Solde
 466+ * @author Toniher
 467+ */
 468+$messages['ca'] = array(
 469+ 'datatransfer-desc' => 'Permet importar i exportar les dades que contenen les crides de les plantilles',
 470+ 'viewxml' => "Visualitza l'XML",
 471+ 'dt_viewxml_docu' => "Seleccioneu d'entre les següents categories i espais de noms per a veure'l en format XML.",
 472+ 'dt_viewxml_categories' => 'Categories',
 473+ 'dt_viewxml_namespaces' => 'Espais de noms',
 474+ 'dt_viewxml_simplifiedformat' => 'Format simplificat',
 475+ 'dt_xml_namespace' => 'Espai de noms',
 476+ 'dt_xml_pages' => 'Pàgines',
 477+ 'dt_xml_page' => 'Pàgina',
 478+ 'dt_xml_template' => 'Plantilla',
 479+ 'dt_xml_field' => 'Camp',
 480+ 'dt_xml_name' => 'Nom',
 481+ 'dt_xml_title' => 'Títol',
 482+ 'dt_xml_id' => 'ID',
 483+ 'dt_xml_freetext' => 'Text lliure',
 484+ 'importxml' => 'Importa un XML',
 485+ 'dt_import_selectfile' => 'Seleccioneu el fitxer $1 per importar:',
 486+ 'dt_import_encodingtype' => 'Joc de caràcters:',
 487+ 'dt_import_summarydesc' => 'Resum de la importació:',
 488+ 'dt_import_editsummary' => 'Importació $1',
 489+ 'dt_import_importing' => "S'està important...",
 490+ 'dt_import_success' => '$1 {{PLURAL:$1|pàgina|pàgines}} es crearan des del fitxer $2.',
 491+ 'importcsv' => 'Importa un CSV',
 492+ '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]'",
 493+ 'right-datatransferimport' => 'Importar dades',
 494+);
 495+
 496+/** Chechen (Нохчийн)
 497+ * @author Sasan700
 498+ */
 499+$messages['ce'] = array(
 500+ 'dt_xml_template' => 'Куцкеп',
 501+);
 502+
 503+/** Czech (Česky)
 504+ * @author Jkjk
 505+ * @author Matěj Grabovský
 506+ */
 507+$messages['cs'] = array(
 508+ 'datatransfer-desc' => 'Umožňuje import a export strukturovaných údajů v buňkách šablon.',
 509+ 'viewxml' => 'Zobrazit XML',
 510+ 'dt_viewxml_categories' => 'Kategorie',
 511+ 'dt_viewxml_namespaces' => 'Jmenné prostory',
 512+ 'dt_viewxml_simplifiedformat' => 'Zjednodušený formát',
 513+ 'dt_xml_namespace' => 'Jmenný prostor',
 514+ 'dt_xml_pages' => 'Stránky',
 515+ 'dt_xml_page' => 'Stránka',
 516+ 'dt_xml_template' => 'Šablona',
 517+ 'dt_xml_field' => 'Pole',
 518+ 'dt_xml_name' => 'Název',
 519+ 'dt_xml_title' => 'Název',
 520+ 'dt_xml_id' => 'ID',
 521+ 'dt_xml_freetext' => 'Libovolný text',
 522+ 'importxml' => 'Importovat XML',
 523+ 'dt_import_selectfile' => 'Prosím vyberte $1 soubor k importu:',
 524+ 'dt_import_encodingtype' => 'Typ kódování:',
 525+ 'dt_import_overwriteexisting' => 'Přepsat stávající obsah',
 526+ 'dt_import_skipexisting' => 'Přeskočit',
 527+ 'dt_import_appendtoexisting' => 'Připojit ke stávajícímu obsahu',
 528+ 'dt_import_summarydesc' => 'Shrnutí importu:',
 529+ 'dt_import_editsummary' => 'import $1',
 530+ 'dt_import_importing' => 'Probíhá import...',
 531+ 'dt_import_success' => ' $1 {{PLURAL:$1|stránky|stránky|stránek}} bude vytvořeno z $2 souboru.',
 532+ 'importcsv' => 'Import CSV',
 533+ 'right-datatransferimport' => 'Importovat data',
 534+);
 535+
 536+/** Danish (Dansk)
 537+ * @author Jon Harald Søby
 538+ */
 539+$messages['da'] = array(
 540+ 'dt_viewxml_categories' => 'Kategorier',
 541+ 'dt_xml_namespace' => 'Navnerum',
 542+ 'dt_xml_page' => 'Side',
 543+ 'dt_xml_name' => 'Navn',
 544+ 'dt_xml_title' => 'Titel',
 545+ 'dt_xml_id' => 'ID',
 546+);
 547+
 548+/** German (Deutsch)
 549+ * @author Als-Holder
 550+ * @author Kghbln
 551+ * @author Krabina
 552+ * @author Revolus
 553+ * @author Umherirrender
 554+ */
 555+$messages['de'] = array(
 556+ 'datatransfer-desc' => 'Ermöglicht den Export von Daten im XML-Format sowie den Import von Daten im XML- und CSV-Format',
 557+ 'viewxml' => 'XML ansehen',
 558+ 'dt_viewxml_docu' => 'Bitte auswählen, welche Kategorien und Namensräume im XML-Format angezeigt werden sollen:',
 559+ 'dt_viewxml_categories' => 'Kategorien',
 560+ 'dt_viewxml_namespaces' => 'Namensräume',
 561+ 'dt_viewxml_simplifiedformat' => 'Vereinfachtes Format',
 562+ 'dt_xml_namespace' => 'Namensraum',
 563+ 'dt_xml_pages' => 'Seiten',
 564+ 'dt_xml_page' => 'Seite',
 565+ 'dt_xml_template' => 'Vorlage',
 566+ 'dt_xml_field' => 'Feld',
 567+ 'dt_xml_name' => 'Name',
 568+ 'dt_xml_title' => 'Titel',
 569+ 'dt_xml_id' => 'ID',
 570+ 'dt_xml_freetext' => 'Freitext',
 571+ 'importxml' => 'XML-Datei importieren',
 572+ 'dt_import_selectfile' => 'Bitte die zu importierende $1-Datei auswählen:',
 573+ 'dt_import_encodingtype' => 'Zeichenkodierung:',
 574+ 'dt_import_forexisting' => 'Im Fall von Seiten, die bereits vorhanden sind:',
 575+ 'dt_import_overwriteexisting' => 'Vorhandenen Inhalt überschreiben',
 576+ 'dt_import_skipexisting' => 'Seite nicht importieren',
 577+ 'dt_import_appendtoexisting' => 'Vorhandenen Inhalt ergänzen',
 578+ 'dt_import_summarydesc' => 'Zusammenfassung zum Import:',
 579+ 'dt_import_editsummary' => '$1-Import',
 580+ 'dt_import_importing' => 'Importiere …',
 581+ 'dt_import_success' => '$1 {{PLURAL:$1|Seite|Seiten}} werden aus der $2-Datei importiert.',
 582+ 'importcsv' => 'CSV-Datei importieren',
 583+ 'dt_importcsv_badheader' => "'''Fehler:''' Der Kopf der Spalte $1, „$2“, muss entweder „$3“, „$4“ oder im Format „Vorlagenname[Feldname]“ sein",
 584+ 'right-datatransferimport' => 'Daten importieren',
 585+);
 586+
 587+/** Lower Sorbian (Dolnoserbski)
 588+ * @author Michawiki
 589+ */
 590+$messages['dsb'] = array(
 591+ 'datatransfer-desc' => 'Zmóžnja importěrowanje a eksportěrowanje datow w zawołanjach pśedłogow',
 592+ 'viewxml' => 'XML se woglědaś',
 593+ 'dt_viewxml_docu' => 'Pšosym wubjeŕ, kótare slědujucych kategorijow a mjenjowych rumow maju se pokazaś w formaśe XML.',
 594+ 'dt_viewxml_categories' => 'Kategorije',
 595+ 'dt_viewxml_namespaces' => 'Mjenjowe rumy',
 596+ 'dt_viewxml_simplifiedformat' => 'Zjadnorjony format',
 597+ 'dt_xml_namespace' => 'Mjenjowy rum',
 598+ 'dt_xml_pages' => 'Boki',
 599+ 'dt_xml_page' => 'Bok',
 600+ 'dt_xml_template' => 'Pśedłoga',
 601+ 'dt_xml_field' => 'Pólo',
 602+ 'dt_xml_name' => 'Mě',
 603+ 'dt_xml_title' => 'Titel',
 604+ 'dt_xml_id' => 'ID',
 605+ 'dt_xml_freetext' => 'Lichy tekst',
 606+ 'importxml' => 'XML importěrowaś',
 607+ 'dt_import_selectfile' => 'Pšosym wubjeŕ dataju $1 za importěrowanje:',
 608+ 'dt_import_encodingtype' => 'Typ znamuškowego koda:',
 609+ 'dt_import_forexisting' => 'Za boki, kótarež južo ekistěruju:',
 610+ 'dt_import_overwriteexisting' => 'Eksistěrujuce wopśimjeśe pśepisaś',
 611+ 'dt_import_skipexisting' => 'Pśeskócyś',
 612+ 'dt_import_appendtoexisting' => 'K eksistěrujucemu wopśimjeśoju pśipowjesyś',
 613+ 'dt_import_summarydesc' => 'Zespominanje importa:',
 614+ 'dt_import_editsummary' => 'Importěrowanje $1',
 615+ 'dt_import_importing' => 'Importěrujo se...',
 616+ 'dt_import_success' => '$1 {{PLURAL:$1|bok twóri|boka twóritej|boki twórje|bokow twóri}} se z dataje $2.',
 617+ 'importcsv' => 'Importěrowanje CSV',
 618+ '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ěś",
 619+ 'right-datatransferimport' => 'Daty importěrowaś',
 620+);
 621+
 622+/** Ewe (Eʋegbe) */
 623+$messages['ee'] = array(
 624+ 'dt_xml_page' => 'Axa',
 625+);
 626+
 627+/** Greek (Ελληνικά)
 628+ * @author Consta
 629+ * @author Crazymadlover
 630+ * @author Omnipaedista
 631+ */
 632+$messages['el'] = array(
 633+ 'viewxml' => 'Προβολή XML',
 634+ 'dt_viewxml_categories' => 'Κατηγορίες',
 635+ 'dt_viewxml_namespaces' => 'Περιοχές ονομάτων',
 636+ 'dt_xml_namespace' => 'Περιοχή ονομάτων',
 637+ 'dt_xml_pages' => 'Σελίδες',
 638+ 'dt_xml_page' => 'Σελίδα',
 639+ 'dt_xml_template' => 'Πρότυπο',
 640+ 'dt_xml_field' => 'Πεδίο',
 641+ 'dt_xml_name' => 'Όνομα',
 642+ 'dt_xml_title' => 'Τίτλος',
 643+ 'dt_xml_id' => 'ID',
 644+ 'dt_xml_freetext' => 'Ελεύθερο Κείμενο',
 645+ 'importxml' => 'Εισαγωγή σε XML',
 646+ 'dt_import_encodingtype' => 'Τύπος κωδικοποίησης',
 647+ 'dt_import_editsummary' => 'Εισαγωγή $1',
 648+ 'dt_import_importing' => 'Εισάγεται...',
 649+ 'importcsv' => 'Εισαγωγή CSV',
 650+ 'right-datatransferimport' => 'Εισαγωγή δεδομένων',
 651+);
 652+
 653+/** Esperanto (Esperanto)
 654+ * @author Michawiki
 655+ * @author Yekrats
 656+ */
 657+$messages['eo'] = array(
 658+ 'datatransfer-desc' => 'Permesas importadon kaj eksportadon de datumoj enhave en ŝablonaj vokoj',
 659+ 'viewxml' => 'Rigardu XML-on',
 660+ 'dt_viewxml_docu' => 'Bonvolu elekti inter la subaj kategorioj kaj nomspacoj por rigardi en XML-formato.',
 661+ 'dt_viewxml_categories' => 'Kategorioj',
 662+ 'dt_viewxml_namespaces' => 'Nomspacoj',
 663+ 'dt_viewxml_simplifiedformat' => 'Simpligita formato',
 664+ 'dt_xml_namespace' => 'Nomspaco',
 665+ 'dt_xml_pages' => 'Paĝoj',
 666+ 'dt_xml_page' => 'Paĝo',
 667+ 'dt_xml_template' => 'Ŝablono',
 668+ 'dt_xml_field' => 'Kampo',
 669+ 'dt_xml_name' => 'Nomo',
 670+ 'dt_xml_title' => 'Titolo',
 671+ 'dt_xml_id' => 'identigo',
 672+ 'dt_xml_freetext' => 'Libera Teksto',
 673+ 'importxml' => 'Importi XML',
 674+ 'dt_import_editsummary' => '$1 importo',
 675+ 'dt_import_importing' => 'Importante...',
 676+ 'importcsv' => 'Importi CSV',
 677+ 'right-datatransferimport' => 'Importi datenojn',
 678+);
 679+
 680+/** Spanish (Español)
 681+ * @author Crazymadlover
 682+ * @author Imre
 683+ * @author Locos epraix
 684+ * @author Peter17
 685+ * @author Sanbec
 686+ * @author Translationista
 687+ */
 688+$messages['es'] = array(
 689+ 'datatransfer-desc' => 'Permite importar y exportar datos contenidos en llamadas de plantilla',
 690+ 'viewxml' => 'Ver XML',
 691+ 'dt_viewxml_docu' => 'Por favor seleccionar entre las siguientes categorías y nombres de espacio para ver en formato XML.',
 692+ 'dt_viewxml_categories' => 'Categorías',
 693+ 'dt_viewxml_namespaces' => 'Espacios de nombres',
 694+ 'dt_viewxml_simplifiedformat' => 'Formato simplificado',
 695+ 'dt_xml_namespace' => 'Espacio de nombres',
 696+ 'dt_xml_pages' => 'Páginas',
 697+ 'dt_xml_page' => 'Página',
 698+ 'dt_xml_template' => 'Plantilla',
 699+ 'dt_xml_field' => 'Campo',
 700+ 'dt_xml_name' => 'Nombre',
 701+ 'dt_xml_title' => 'Título',
 702+ 'dt_xml_id' => 'ID',
 703+ 'dt_xml_freetext' => 'Texto libre',
 704+ 'importxml' => 'Importar XML',
 705+ 'dt_import_selectfile' => 'Por favor seleccione el archivo $1 a importar:',
 706+ 'dt_import_encodingtype' => 'Tipo de codificación:',
 707+ 'dt_import_summarydesc' => 'Resumen de importación:',
 708+ 'dt_import_editsummary' => '$1 importación',
 709+ 'dt_import_importing' => 'Importando...',
 710+ 'dt_import_success' => '$1 {{PLURAL:$1|página|páginas}} serán creadas del archivo $2.',
 711+ 'importcsv' => 'Importar CSV',
 712+ '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]\'',
 713+ 'right-datatransferimport' => 'Importar datos',
 714+);
 715+
 716+/** Estonian (Eesti)
 717+ * @author Avjoska
 718+ * @author Pikne
 719+ */
 720+$messages['et'] = array(
 721+ 'dt_viewxml_categories' => 'Kategooriad',
 722+ 'dt_viewxml_namespaces' => 'Nimeruumid',
 723+ 'dt_viewxml_simplifiedformat' => 'Lihtsustatud vorming',
 724+ 'dt_xml_namespace' => 'Nimeruum',
 725+ 'dt_xml_pages' => 'Leheküljed',
 726+ 'dt_xml_page' => 'Lehekülg',
 727+ 'dt_xml_template' => 'Mall',
 728+ 'dt_xml_name' => 'Nimi',
 729+);
 730+
 731+/** Basque (Euskara)
 732+ * @author Kobazulo
 733+ */
 734+$messages['eu'] = array(
 735+ 'viewxml' => 'XML ikusi',
 736+ 'dt_viewxml_categories' => 'Kategoriak',
 737+ 'dt_xml_pages' => 'Orrialdeak',
 738+ 'dt_xml_page' => 'Orrialdea',
 739+ 'dt_xml_template' => 'Txantiloia',
 740+ 'dt_xml_field' => 'Eremua',
 741+ 'dt_xml_name' => 'Izena',
 742+ 'dt_xml_title' => 'Izenburua',
 743+ 'importxml' => 'XML inportatu',
 744+ 'dt_import_selectfile' => 'Mesedez, aukera ezazu inportatzeko $1 fitxategia:',
 745+ 'dt_import_editsummary' => '$1 inportatu',
 746+ 'dt_import_importing' => 'Inportatzen...',
 747+ 'importcsv' => 'CSV inportatu',
 748+ 'right-datatransferimport' => 'Datuak inportatu',
 749+);
 750+
 751+/** Persian (فارسی)
 752+ * @author Mjbmr
 753+ */
 754+$messages['fa'] = array(
 755+ 'dt_xml_template' => 'الگو',
 756+ 'dt_xml_name' => 'نام',
 757+ 'dt_xml_title' => 'عنوان',
 758+);
 759+
 760+/** Finnish (Suomi)
 761+ * @author Centerlink
 762+ * @author Crt
 763+ * @author Nike
 764+ * @author Str4nd
 765+ * @author Vililikku
 766+ */
 767+$messages['fi'] = array(
 768+ 'datatransfer-desc' => 'Mahdollistaa tuoda ja viedä dataa, joka on mallinekutsuissa.',
 769+ 'viewxml' => 'Näytä XML',
 770+ 'dt_viewxml_docu' => 'Valitse yksi seuraavista luokista ja nimiavaruuksista tarkasteltavaksi XML-muodossa.',
 771+ 'dt_viewxml_categories' => 'Luokat',
 772+ 'dt_viewxml_namespaces' => 'Nimiavaruudet',
 773+ 'dt_viewxml_simplifiedformat' => 'Yksinkertaistettu muoto',
 774+ 'dt_xml_namespace' => 'Nimiavaruus',
 775+ 'dt_xml_pages' => 'Sivut',
 776+ 'dt_xml_page' => 'Sivu',
 777+ 'dt_xml_template' => 'Malline',
 778+ 'dt_xml_field' => 'Kenttä',
 779+ 'dt_xml_name' => 'Nimi',
 780+ 'dt_xml_title' => 'Otsikko',
 781+ 'dt_xml_id' => 'Tunnus',
 782+ 'dt_xml_freetext' => 'Vapaa teksti',
 783+ 'importxml' => 'XML-tuonti',
 784+ 'dt_import_selectfile' => 'Valitse $1-tiedosto tuotavaksi:',
 785+ 'dt_import_encodingtype' => 'Merkistötyyppi:',
 786+ 'dt_import_skipexisting' => 'Ohita',
 787+ 'dt_import_summarydesc' => 'Tuonnin yhteenveto',
 788+ 'dt_import_editsummary' => '$1-tuonti',
 789+ 'dt_import_importing' => 'Tuodaan...',
 790+ 'dt_import_success' => '$1 {{PLURAL:$1|sivu|sivua}} luodaan $2-tiedostosta.',
 791+ 'importcsv' => 'CSV-tuonti',
 792+ 'dt_importcsv_badheader' => "Virhe: sarake $1 otsake, '$2', on oltava joko '$3', '$4' tai muotoa 'mallinne_nimi[kenttä_nimi]'",
 793+ 'right-datatransferimport' => 'Tuoda tiedot',
 794+);
 795+
 796+/** French (Français)
 797+ * @author Crochet.david
 798+ * @author Grondin
 799+ * @author IAlex
 800+ * @author Peter17
 801+ * @author PieRRoMaN
 802+ * @author Zetud
 803+ */
 804+$messages['fr'] = array(
 805+ 'datatransfer-desc' => 'Permet l’import et l’export de données contenues dans des appels de modèles',
 806+ 'viewxml' => 'Voir XML',
 807+ 'dt_viewxml_docu' => 'Veuillez sélectionner parmi les catégories et les espaces de noms suivants afin de visionner au format XML.',
 808+ 'dt_viewxml_categories' => 'Catégories',
 809+ 'dt_viewxml_namespaces' => 'Espaces de noms',
 810+ 'dt_viewxml_simplifiedformat' => 'Format simplifié',
 811+ 'dt_xml_namespace' => 'Espace de noms',
 812+ 'dt_xml_pages' => 'Pages',
 813+ 'dt_xml_page' => 'Page',
 814+ 'dt_xml_template' => 'Modèle',
 815+ 'dt_xml_field' => 'Champ',
 816+ 'dt_xml_name' => 'Nom',
 817+ 'dt_xml_title' => 'Titre',
 818+ 'dt_xml_id' => 'ID',
 819+ 'dt_xml_freetext' => 'Texte libre',
 820+ 'importxml' => 'Import en XML',
 821+ 'dt_import_selectfile' => 'Veuillez sélectionner le fichier $1 à importer :',
 822+ 'dt_import_encodingtype' => 'Type d’encodage:',
 823+ 'dt_import_forexisting' => 'Pour les pages qui existent déjà :',
 824+ 'dt_import_overwriteexisting' => 'Remplacer le contenu existant',
 825+ 'dt_import_skipexisting' => 'Passer',
 826+ 'dt_import_appendtoexisting' => 'Ajouter au contenu existant',
 827+ 'dt_import_summarydesc' => 'Résumé de l’import :',
 828+ 'dt_import_editsummary' => 'Import de $1',
 829+ 'dt_import_importing' => 'Import en cours...',
 830+ 'dt_import_success' => '$1 {{PLURAL:$1|page sera créée|pages seront créées}} depuis le fichier $2.',
 831+ 'importcsv' => 'Import CSV',
 832+ '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] »',
 833+ 'right-datatransferimport' => 'Importer des données',
 834+);
 835+
 836+/** Franco-Provençal (Arpetan)
 837+ * @author Cedric31
 838+ * @author ChrisPtDe
 839+ */
 840+$messages['frp'] = array(
 841+ 'viewxml' => 'Vêre XML',
 842+ 'dt_viewxml_categories' => 'Catègories',
 843+ 'dt_viewxml_namespaces' => 'Èspâços de noms',
 844+ 'dt_viewxml_simplifiedformat' => 'Format simplifiâ',
 845+ 'dt_xml_namespace' => 'Èspâço de noms',
 846+ 'dt_xml_pages' => 'Pâges',
 847+ 'dt_xml_page' => 'Pâge',
 848+ 'dt_xml_template' => 'Modèlo',
 849+ 'dt_xml_field' => 'Champ',
 850+ 'dt_xml_name' => 'Nom',
 851+ 'dt_xml_title' => 'Titro',
 852+ 'dt_xml_id' => 'Numerô',
 853+ 'dt_xml_freetext' => 'Tèxto abado',
 854+ 'importxml' => 'Importar un XML',
 855+ 'dt_import_selectfile' => 'Volyéd chouèsir lo fichiér $1 a importar :',
 856+ 'dt_import_encodingtype' => 'Tipo d’encodâjo :',
 857+ 'dt_import_forexisting' => 'Por les pâges qu’ègzistont ja :',
 858+ 'dt_import_overwriteexisting' => 'Ècllafar lo contegnu ègzistent',
 859+ 'dt_import_skipexisting' => 'Passar',
 860+ 'dt_import_appendtoexisting' => 'Apondre u contegnu ègzistent',
 861+ 'dt_import_summarydesc' => 'Rèsumâ de l’importacion :',
 862+ 'dt_import_editsummary' => 'Importacion de $1',
 863+ 'dt_import_importing' => 'Importacion en cors...',
 864+ 'dt_import_success' => '$1 {{PLURAL:$1|pâge serat fêta|pâges seront fêtes}} dês lo fichiér $2.',
 865+ 'importcsv' => 'Importar des balyês CSV',
 866+ 'right-datatransferimport' => 'Importar des balyês',
 867+);
 868+
 869+/** Western Frisian (Frysk)
 870+ * @author Snakesteuben
 871+ */
 872+$messages['fy'] = array(
 873+ 'dt_viewxml_namespaces' => 'Nammeromten',
 874+ 'dt_xml_page' => 'Side',
 875+ 'dt_xml_name' => 'Namme',
 876+);
 877+
 878+/** Irish (Gaeilge)
 879+ * @author Alison
 880+ */
 881+$messages['ga'] = array(
 882+ 'dt_xml_namespace' => 'Ainmspás',
 883+);
 884+
 885+/** Galician (Galego)
 886+ * @author Alma
 887+ * @author Toliño
 888+ */
 889+$messages['gl'] = array(
 890+ 'datatransfer-desc' => 'Permite importar e exportar datos contidos en chamadas de modelos',
 891+ 'viewxml' => 'Ver XML',
 892+ 'dt_viewxml_docu' => 'Por favor seleccione entre as seguintes categorías e espazos de nomes para ver en formato XML.',
 893+ 'dt_viewxml_categories' => 'Categorías',
 894+ 'dt_viewxml_namespaces' => 'Espazos de nomes',
 895+ 'dt_viewxml_simplifiedformat' => 'Formato simplificado',
 896+ 'dt_xml_namespace' => 'Espazo de nomes',
 897+ 'dt_xml_pages' => 'Páxinas',
 898+ 'dt_xml_page' => 'Páxina',
 899+ 'dt_xml_template' => 'Modelo',
 900+ 'dt_xml_field' => 'Campo',
 901+ 'dt_xml_name' => 'Nome',
 902+ 'dt_xml_title' => 'Título',
 903+ 'dt_xml_id' => 'ID',
 904+ 'dt_xml_freetext' => 'Texto libre',
 905+ 'importxml' => 'Importar XML',
 906+ 'dt_import_selectfile' => 'Por favor, seleccione o ficheiro $1 a importar:',
 907+ 'dt_import_encodingtype' => 'Tipo de codificación:',
 908+ 'dt_import_forexisting' => 'Para páxinas que xa existen:',
 909+ 'dt_import_overwriteexisting' => 'Sobrescribir o contido existente',
 910+ 'dt_import_skipexisting' => 'Saltar',
 911+ 'dt_import_appendtoexisting' => 'Engadir ao contido existente',
 912+ 'dt_import_summarydesc' => 'Resumo da importación:',
 913+ 'dt_import_editsummary' => 'Importación en $1',
 914+ 'dt_import_importing' => 'Importando...',
 915+ 'dt_import_success' => '{{PLURAL:$1|Unha páxina será creada|$1 páxinas serán creadas}} a partir do ficheiro $2.',
 916+ 'importcsv' => 'Importación en CSV',
 917+ 'dt_importcsv_badheader' => 'Erro: a cabeceira da columna $1, "$2", debe ser un "$3", "$4" ou do formulario "template_name[field_name]"',
 918+ 'right-datatransferimport' => 'Importar datos',
 919+);
 920+
 921+/** Gothic (Gothic)
 922+ * @author Jocke Pirat
 923+ */
 924+$messages['got'] = array(
 925+ 'dt_xml_namespace' => 'Seidofera',
 926+);
 927+
 928+/** Ancient Greek (Ἀρχαία ἑλληνικὴ)
 929+ * @author Crazymadlover
 930+ * @author Omnipaedista
 931+ */
 932+$messages['grc'] = array(
 933+ 'dt_viewxml_categories' => 'Κατηγορίαι',
 934+ 'dt_viewxml_namespaces' => 'Ὀνοματεῖα',
 935+ 'dt_xml_namespace' => 'Ὀνοματεῖον',
 936+ 'dt_xml_pages' => 'Δέλτοι',
 937+ 'dt_xml_page' => 'Δέλτος',
 938+ 'dt_xml_template' => 'Πρότυπον',
 939+ 'dt_xml_field' => 'Πεδίον',
 940+ 'dt_xml_name' => 'Ὄνομα',
 941+ 'dt_xml_title' => 'Ἐπιγραφή',
 942+ 'dt_xml_freetext' => 'Ἐλεύθερον κείμενον',
 943+);
 944+
 945+/** Swiss German (Alemannisch)
 946+ * @author Als-Holder
 947+ * @author J. 'mach' wust
 948+ */
 949+$messages['gsw'] = array(
 950+ 'datatransfer-desc' => 'Macht dr Import un dr Export vu strukturierte Date megli, wu in Ufrief vu Vorlage bruucht wäre.',
 951+ 'viewxml' => 'XML aaluege',
 952+ 'dt_viewxml_docu' => 'Bitte wehl uus, weli Kategorien un Namensryym im XML-Format solle aazeigt wäre.',
 953+ 'dt_viewxml_categories' => 'Kategorie',
 954+ 'dt_viewxml_namespaces' => 'Namensryym',
 955+ 'dt_viewxml_simplifiedformat' => 'Vereifacht Format',
 956+ 'dt_xml_namespace' => 'Namensruum',
 957+ 'dt_xml_pages' => 'Syte',
 958+ 'dt_xml_page' => 'Syte',
 959+ 'dt_xml_template' => 'Vorlag',
 960+ 'dt_xml_field' => 'Fäld',
 961+ 'dt_xml_name' => 'Name',
 962+ 'dt_xml_title' => 'Titel',
 963+ 'dt_xml_id' => 'ID',
 964+ 'dt_xml_freetext' => 'Freje Täxt',
 965+ 'importxml' => 'XML importiere',
 966+ 'dt_import_selectfile' => 'Bitte wehl d $1-Datei zum importiere uus:',
 967+ 'dt_import_encodingtype' => 'Verschlisseligstyp:',
 968+ 'dt_import_forexisting' => 'Im Fall vu Syte, wu s scho git:',
 969+ 'dt_import_overwriteexisting' => 'Vorhandene Inhalt iberschryybe',
 970+ 'dt_import_skipexisting' => 'Ibergumpe',
 971+ 'dt_import_appendtoexisting' => 'Vorhandene Inhalt ergänze',
 972+ 'dt_import_summarydesc' => 'Zämmefassig vum Import:',
 973+ 'dt_import_editsummary' => '$1-Import',
 974+ 'dt_import_importing' => 'Am Importiere ...',
 975+ 'dt_import_success' => '$1 {{PLURAL:$1|Syte|Syte}} wäre us dr $2-Datei aagleit.',
 976+ 'importcsv' => 'CSV-Datei importiere',
 977+ 'dt_importcsv_badheader' => "Fähler: d Spalte $1 Iberschrift, '$2', muess entwäder '$3', '$4' syy oder us em Format 'template_name[field_name]'",
 978+ 'right-datatransferimport' => 'Date importiere',
 979+);
 980+
 981+/** Manx (Gaelg)
 982+ * @author MacTire02
 983+ */
 984+$messages['gv'] = array(
 985+ 'viewxml' => 'Jeeagh er XML',
 986+ 'dt_viewxml_categories' => 'Ronnaghyn',
 987+ 'dt_xml_page' => 'Duillag',
 988+ 'dt_xml_name' => 'Ennym',
 989+ 'dt_xml_title' => 'Ard-ennym',
 990+ 'dt_xml_freetext' => 'Teks seyr',
 991+);
 992+
 993+/** Hausa (هَوُسَ) */
 994+$messages['ha'] = array(
 995+ 'dt_xml_namespace' => 'Sararin suna',
 996+ 'dt_xml_page' => 'Shafi',
 997+);
 998+
 999+/** Hawaiian (Hawai`i)
 1000+ * @author Singularity
 1001+ */
 1002+$messages['haw'] = array(
 1003+ 'dt_xml_page' => '‘Ao‘ao',
 1004+ 'dt_xml_name' => 'Inoa',
 1005+);
 1006+
 1007+/** Hebrew (עברית)
 1008+ * @author Amire80
 1009+ * @author Rotemliss
 1010+ * @author YaronSh
 1011+ */
 1012+$messages['he'] = array(
 1013+ 'datatransfer-desc' => 'אפשרות לייבא ולייצא נתונים בתבניות',
 1014+ 'viewxml' => 'הצגת XML',
 1015+ 'dt_viewxml_docu' => 'אנא בחרו את מרחבי השם והקטגוריות אותם תרצו להציג בפורמט XML.',
 1016+ 'dt_viewxml_categories' => 'קטגוריות',
 1017+ 'dt_viewxml_namespaces' => 'מרחבי שם',
 1018+ 'dt_viewxml_simplifiedformat' => 'מבנה מפושט',
 1019+ 'dt_xml_namespace' => 'מרחב שם',
 1020+ 'dt_xml_pages' => 'דפים',
 1021+ 'dt_xml_page' => 'דף',
 1022+ 'dt_xml_template' => 'תבנית',
 1023+ 'dt_xml_field' => 'שדה',
 1024+ 'dt_xml_name' => 'שם',
 1025+ 'dt_xml_title' => 'כותרת',
 1026+ 'dt_xml_id' => 'ID',
 1027+ 'dt_xml_freetext' => 'טקסט חופשי',
 1028+ 'importxml' => 'יבוא XML',
 1029+ 'dt_import_selectfile' => 'אנא בחרו את קובץ ה־$1 ליבוא:',
 1030+ 'dt_import_encodingtype' => 'סוג הקידוד:',
 1031+ 'dt_import_forexisting' => 'עבור הדפים שכבר קיימים:',
 1032+ 'dt_import_overwriteexisting' => 'לדרוס את התוכן הקיים',
 1033+ 'dt_import_skipexisting' => 'לדלג',
 1034+ 'dt_import_appendtoexisting' => 'לצרף את התוכן הקיים',
 1035+ 'dt_import_summarydesc' => 'תקציר היבוא:',
 1036+ 'dt_import_editsummary' => 'יבוא $1',
 1037+ 'dt_import_importing' => 'מתבצע יבוא...',
 1038+ 'dt_import_success' => '{{PLURAL:$1|דף אחד ייוצר|$1 דפים ייוצרו}} מקובץ ה־$2.',
 1039+ 'importcsv' => 'יבוא CSV',
 1040+ 'dt_importcsv_badheader' => "שגיאה: כותרת העמודה $1, '$2', חייבת להיות או '$3', '$4' או מהצורה 'שם_התבנית[שם_השדה]'",
 1041+ 'right-datatransferimport' => 'יבוא נתונים',
 1042+);
 1043+
 1044+/** Hindi (हिन्दी)
 1045+ * @author Kaustubh
 1046+ */
 1047+$messages['hi'] = array(
 1048+ 'datatransfer-desc' => 'टेम्प्लेट कॉल में उपलब्ध डाटाकी आयात-निर्यात करने की अनुमति देता हैं',
 1049+ 'viewxml' => 'XML देखें',
 1050+ 'dt_viewxml_docu' => 'कॄपया XML में देखने के लिये श्रेणीयाँ और नामस्थान चुनें।',
 1051+ 'dt_viewxml_categories' => 'श्रेणीयाँ',
 1052+ 'dt_viewxml_namespaces' => 'नामस्थान',
 1053+ 'dt_viewxml_simplifiedformat' => 'आसान फॉरमैट',
 1054+ 'dt_xml_namespace' => 'नामस्थान',
 1055+ 'dt_xml_page' => 'पन्ना',
 1056+ 'dt_xml_field' => 'फिल्ड़',
 1057+ 'dt_xml_name' => 'नाम',
 1058+ 'dt_xml_title' => 'शीर्षक',
 1059+ 'dt_xml_id' => 'आईडी',
 1060+ 'dt_xml_freetext' => 'मुक्त पाठ',
 1061+);
 1062+
 1063+/** Croatian (Hrvatski)
 1064+ * @author Dalibor Bosits
 1065+ */
 1066+$messages['hr'] = array(
 1067+ 'dt_viewxml_categories' => 'Kategorije',
 1068+ 'dt_xml_namespace' => 'Imenski prostor',
 1069+ 'dt_xml_page' => 'Stranica',
 1070+);
 1071+
 1072+/** Upper Sorbian (Hornjoserbsce)
 1073+ * @author Michawiki
 1074+ */
 1075+$messages['hsb'] = array(
 1076+ 'datatransfer-desc' => 'Dowola importowanje a eksportowanje datow, kotrež su we wołanjach předłohow wobsahowane',
 1077+ 'viewxml' => 'XML wobhladać',
 1078+ 'dt_viewxml_docu' => 'Prošu wubjer ze slědowacych kategorijow a mjenowych rumow, zo by w XML-formaće wobhladał.',
 1079+ 'dt_viewxml_categories' => 'Kategorije',
 1080+ 'dt_viewxml_namespaces' => 'Mjenowe rumy',
 1081+ 'dt_viewxml_simplifiedformat' => 'Zjednorjeny format',
 1082+ 'dt_xml_namespace' => 'Mjenowy rum',
 1083+ 'dt_xml_pages' => 'Strony',
 1084+ 'dt_xml_page' => 'Strona',
 1085+ 'dt_xml_template' => 'Předłoha',
 1086+ 'dt_xml_field' => 'Polo',
 1087+ 'dt_xml_name' => 'Mjeno',
 1088+ 'dt_xml_title' => 'Titul',
 1089+ 'dt_xml_id' => 'Id',
 1090+ 'dt_xml_freetext' => 'Swobodny tekst',
 1091+ 'importxml' => 'XML importować',
 1092+ 'dt_import_selectfile' => 'Prošu wubjer dataju $1 za importowanje:',
 1093+ 'dt_import_encodingtype' => 'Typ znamješkoweho koda:',
 1094+ 'dt_import_forexisting' => 'Za strony, kotrež hižo eksistuja:',
 1095+ 'dt_import_overwriteexisting' => 'Eksistowacy wobsah přepisać',
 1096+ 'dt_import_skipexisting' => 'Přeskočić',
 1097+ 'dt_import_appendtoexisting' => 'K eksistowacemu wobsahej připowěsnyć',
 1098+ 'dt_import_summarydesc' => 'Zjeće importa:',
 1099+ 'dt_import_editsummary' => 'Importowanje $1',
 1100+ 'dt_import_importing' => 'Importuje so...',
 1101+ '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}}.',
 1102+ 'importcsv' => 'Importowanje CSV',
 1103+ 'dt_importcsv_badheader' => "Zmylk: hłowa špalty $1, '$2', dyrbi pak '$3', '$4' być pak formu 'mjeno_předłohi[mjeno_pola]' měć",
 1104+ 'right-datatransferimport' => 'Daty importować',
 1105+);
 1106+
 1107+/** Hungarian (Magyar)
 1108+ * @author Dani
 1109+ * @author Glanthor Reviol
 1110+ */
 1111+$messages['hu'] = array(
 1112+ 'datatransfer-desc' => 'Lehetővé teszi a sablonhívásokban található adatok importálását és exportálását',
 1113+ 'viewxml' => 'XML megtekintése',
 1114+ '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.',
 1115+ 'dt_viewxml_categories' => 'Kategóriák',
 1116+ 'dt_viewxml_namespaces' => 'Névterek',
 1117+ 'dt_viewxml_simplifiedformat' => 'Egyszerűsített formátum',
 1118+ 'dt_xml_namespace' => 'Névtér',
 1119+ 'dt_xml_pages' => 'Lapok',
 1120+ 'dt_xml_page' => 'Lap',
 1121+ 'dt_xml_template' => 'Sablon',
 1122+ 'dt_xml_field' => 'Mező',
 1123+ 'dt_xml_name' => 'Név',
 1124+ 'dt_xml_title' => 'Cím',
 1125+ 'dt_xml_id' => 'Azonosító',
 1126+ 'dt_xml_freetext' => 'Szabad szöveg',
 1127+ 'importxml' => 'XML importálás',
 1128+ 'dt_import_selectfile' => 'Kérlek válaszd ki az importálandó $1 fájlt:',
 1129+ 'dt_import_encodingtype' => 'Kódolás típusa:',
 1130+ 'dt_import_summarydesc' => 'Az importálás összefoglalója:',
 1131+ 'dt_import_editsummary' => '$1 importálás',
 1132+ 'dt_import_importing' => 'Importálás…',
 1133+ 'dt_import_success' => '{{PLURAL:$1|egy|$1}} lap fog készülni a(z) $2 fájlból.',
 1134+ 'importcsv' => 'CSV importálása',
 1135+ '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',
 1136+ 'right-datatransferimport' => 'Adatok importálása',
 1137+);
 1138+
 1139+/** Interlingua (Interlingua)
 1140+ * @author McDutchie
 1141+ */
 1142+$messages['ia'] = array(
 1143+ 'datatransfer-desc' => 'Permitte importar e exportar datos continite in appellos a patronos',
 1144+ 'viewxml' => 'Vider XML',
 1145+ 'dt_viewxml_docu' => 'Per favor selige inter le sequente categorias e spatios de nomines pro vider in formato XML.',
 1146+ 'dt_viewxml_categories' => 'Categorias',
 1147+ 'dt_viewxml_namespaces' => 'Spatios de nomines',
 1148+ 'dt_viewxml_simplifiedformat' => 'Formato simplificate',
 1149+ 'dt_xml_namespace' => 'Spatio de nomines',
 1150+ 'dt_xml_pages' => 'Paginas',
 1151+ 'dt_xml_page' => 'Pagina',
 1152+ 'dt_xml_template' => 'Patrono',
 1153+ 'dt_xml_field' => 'Campo',
 1154+ 'dt_xml_name' => 'Nomine',
 1155+ 'dt_xml_title' => 'Titulo',
 1156+ 'dt_xml_id' => 'ID',
 1157+ 'dt_xml_freetext' => 'Texto libere',
 1158+ 'importxml' => 'Importar XML',
 1159+ 'dt_import_selectfile' => 'Per favor selige le file $1 a importar:',
 1160+ 'dt_import_encodingtype' => 'Typo de codification:',
 1161+ 'dt_import_forexisting' => 'Pro paginas que ja existe:',
 1162+ 'dt_import_overwriteexisting' => 'Superscriber le contento existente',
 1163+ 'dt_import_skipexisting' => 'Saltar',
 1164+ 'dt_import_appendtoexisting' => 'Adjunger al contento existente',
 1165+ 'dt_import_summarydesc' => 'Summario de importation:',
 1166+ 'dt_import_editsummary' => 'Importation de $1',
 1167+ 'dt_import_importing' => 'Importation in curso…',
 1168+ 'dt_import_success' => '$1 {{PLURAL:$1|pagina|paginas}} essera create ex le file $2.',
 1169+ 'importcsv' => 'Importar CSV',
 1170+ 'dt_importcsv_badheader' => "Error: le capite del columna $1, '$2', debe esser '$3', '$4' o in le forma 'nomine_de_patrono[nomine_de_campo]'",
 1171+ 'right-datatransferimport' => 'Importar datos',
 1172+);
 1173+
 1174+/** Indonesian (Bahasa Indonesia)
 1175+ * @author Bennylin
 1176+ * @author Farras
 1177+ * @author Irwangatot
 1178+ * @author IvanLanin
 1179+ * @author Rex
 1180+ */
 1181+$messages['id'] = array(
 1182+ 'datatransfer-desc' => 'Membolehkan untuk impor dan ekspor data diisikan pada pemangilan templat',
 1183+ 'viewxml' => 'Tilik XML',
 1184+ 'dt_viewxml_docu' => 'Silakan pilih di antara kategori dan ruang nama berikut untuk melihat dalam format XML',
 1185+ 'dt_viewxml_categories' => 'Kategori',
 1186+ 'dt_viewxml_namespaces' => 'Ruang nama',
 1187+ 'dt_viewxml_simplifiedformat' => 'Penyederhanaan format',
 1188+ 'dt_xml_namespace' => 'Ruang nama',
 1189+ 'dt_xml_pages' => 'Halaman',
 1190+ 'dt_xml_page' => 'Halaman',
 1191+ 'dt_xml_template' => 'Templat',
 1192+ 'dt_xml_field' => 'Ruas',
 1193+ 'dt_xml_name' => 'Nama',
 1194+ 'dt_xml_title' => 'Judul',
 1195+ 'dt_xml_id' => 'ID',
 1196+ 'dt_xml_freetext' => 'Teks Bebas',
 1197+ 'importxml' => 'Impor XML',
 1198+ 'dt_import_selectfile' => 'Pilih berkas $1 untuk di impor:',
 1199+ 'dt_import_encodingtype' => 'Tipe penyandian:',
 1200+ 'dt_import_forexisting' => 'Untuk halaman yang sudah ada:',
 1201+ 'dt_import_overwriteexisting' => 'Menimpa konten yang ada',
 1202+ 'dt_import_skipexisting' => 'Lewati',
 1203+ 'dt_import_appendtoexisting' => 'Tambahkan kepada konten yang ada',
 1204+ 'dt_import_summarydesc' => 'Ringkasan impor:',
 1205+ 'dt_import_editsummary' => '$1 impor',
 1206+ 'dt_import_importing' => 'Mengimpor...',
 1207+ 'dt_import_success' => '$1 {{PLURAL:$1|halaman|halaman}} akan di buat dari berkas $2.',
 1208+ 'importcsv' => 'Impor CSV',
 1209+ 'dt_importcsv_badheader' => "Kesalahan: kepala kolom $1, '$2', harus berupa '$3', '$4' atau bentuk 'template_name [field_name]'",
 1210+ 'right-datatransferimport' => 'Impor data',
 1211+);
 1212+
 1213+/** Igbo (Igbo)
 1214+ * @author Ukabia
 1215+ */
 1216+$messages['ig'] = array(
 1217+ 'dt_viewxml_categories' => 'Ébéanọr',
 1218+ 'dt_xml_template' => 'Àtụ',
 1219+);
 1220+
 1221+/** Ido (Ido)
 1222+ * @author Malafaya
 1223+ */
 1224+$messages['io'] = array(
 1225+ 'dt_xml_template' => 'Shablono',
 1226+ 'dt_xml_name' => 'Nomo',
 1227+ 'dt_xml_title' => 'Titulo',
 1228+);
 1229+
 1230+/** Icelandic (Íslenska)
 1231+ * @author S.Örvarr.S
 1232+ */
 1233+$messages['is'] = array(
 1234+ 'dt_viewxml_namespaces' => 'Nafnrými',
 1235+ 'dt_xml_page' => 'Síða',
 1236+);
 1237+
 1238+/** Italian (Italiano)
 1239+ * @author Beta16
 1240+ * @author BrokenArrow
 1241+ * @author Darth Kule
 1242+ */
 1243+$messages['it'] = array(
 1244+ 'datatransfer-desc' => "Permette l'importazione e l'esportazione di dati strutturati contenuti in chiamate a template",
 1245+ 'viewxml' => 'Vedi XML',
 1246+ 'dt_viewxml_docu' => 'Selezionare tra le categorie e namespace indicati di seguito quelli da visualizzare in formato XML.',
 1247+ 'dt_viewxml_categories' => 'Categorie',
 1248+ 'dt_viewxml_namespaces' => 'Namespace',
 1249+ 'dt_viewxml_simplifiedformat' => 'Formato semplificato',
 1250+ 'dt_xml_namespace' => 'Namespace',
 1251+ 'dt_xml_pages' => 'Pagine',
 1252+ 'dt_xml_page' => 'Pagina',
 1253+ 'dt_xml_template' => 'Template',
 1254+ 'dt_xml_field' => 'Campo',
 1255+ 'dt_xml_name' => 'Nome',
 1256+ 'dt_xml_title' => 'Titolo',
 1257+ 'dt_xml_id' => 'ID',
 1258+ 'dt_xml_freetext' => 'Testo libero',
 1259+ 'dt_import_encodingtype' => 'Tipo di codifica',
 1260+ 'right-datatransferimport' => 'Importa dati',
 1261+);
 1262+
 1263+/** Japanese (日本語)
 1264+ * @author Aotake
 1265+ * @author Fryed-peach
 1266+ * @author JtFuruhata
 1267+ * @author Ohgi
 1268+ * @author 青子守歌
 1269+ */
 1270+$messages['ja'] = array(
 1271+ 'datatransfer-desc' => 'テンプレート呼び出しに関わるデータのインポートおよびエクスポートを可能にする',
 1272+ 'viewxml' => 'XML表示',
 1273+ 'dt_viewxml_docu' => 'XML形式で表示するカテゴリや名前空間を以下から選択してください。',
 1274+ 'dt_viewxml_categories' => 'カテゴリ',
 1275+ 'dt_viewxml_namespaces' => '名前空間',
 1276+ 'dt_viewxml_simplifiedformat' => '簡易形式',
 1277+ 'dt_xml_namespace' => '名前空間',
 1278+ 'dt_xml_pages' => 'ページ群',
 1279+ 'dt_xml_page' => 'ページ',
 1280+ 'dt_xml_template' => 'テンプレート',
 1281+ 'dt_xml_field' => 'フィールド',
 1282+ 'dt_xml_name' => '名前',
 1283+ 'dt_xml_title' => 'タイトル',
 1284+ 'dt_xml_id' => 'ID',
 1285+ 'dt_xml_freetext' => '自由形式テキスト',
 1286+ 'importxml' => 'XMLインポート',
 1287+ 'dt_import_selectfile' => 'インポートする $1 ファイルを選択してください:',
 1288+ 'dt_import_encodingtype' => 'エンコーディング方式:',
 1289+ 'dt_import_forexisting' => 'すでに存在するページの場合:',
 1290+ 'dt_import_overwriteexisting' => '既存の内容に上書き',
 1291+ 'dt_import_skipexisting' => 'スキップ',
 1292+ 'dt_import_appendtoexisting' => '既存の内容に追加',
 1293+ 'dt_import_summarydesc' => '移入の概要:',
 1294+ 'dt_import_editsummary' => '$1 のインポート',
 1295+ 'dt_import_importing' => 'インポート中…',
 1296+ 'dt_import_success' => '$2ファイルから$1{{PLURAL:$1|ページ}}がインポートされます。',
 1297+ 'importcsv' => 'CSVのインポート',
 1298+ 'dt_importcsv_badheader' => 'エラー: 列 $1 のヘッダ「$2」は、「$3」もしくは「$4」であるか、または「テンプレート名[フィールド名]」という形式になっていなければなりません。',
 1299+ 'right-datatransferimport' => 'データをインポートする',
 1300+);
 1301+
 1302+/** Javanese (Basa Jawa)
 1303+ * @author Meursault2004
 1304+ */
 1305+$messages['jv'] = array(
 1306+ 'viewxml' => 'Ndeleng XML',
 1307+ 'dt_viewxml_categories' => 'Kategori-kategori',
 1308+ 'dt_viewxml_simplifiedformat' => 'Format prasaja',
 1309+ 'dt_xml_namespace' => 'Bilik nama',
 1310+ 'dt_xml_page' => 'Kaca',
 1311+ 'dt_xml_name' => 'Jeneng',
 1312+ 'dt_xml_title' => 'Irah-irahan (judhul)',
 1313+ 'dt_xml_id' => 'ID',
 1314+ 'dt_xml_freetext' => 'Tèks Bébas',
 1315+);
 1316+
 1317+/** Khmer (ភាសាខ្មែរ)
 1318+ * @author Chhorran
 1319+ * @author Lovekhmer
 1320+ * @author Thearith
 1321+ * @author គីមស៊្រុន
 1322+ * @author វ័ណថារិទ្ធ
 1323+ */
 1324+$messages['km'] = array(
 1325+ 'viewxml' => 'មើល XML',
 1326+ 'dt_viewxml_docu' => 'ជ្រើសយកក្នុងចំណោមចំណាត់ថ្នាក់ក្រុមនិងលំហឈ្មោះដើម្បីមើលជាទម្រង់ XML ។',
 1327+ 'dt_viewxml_categories' => 'ចំណាត់ថ្នាក់ក្រុម',
 1328+ 'dt_viewxml_namespaces' => 'ប្រភេទ',
 1329+ 'dt_viewxml_simplifiedformat' => 'ទម្រង់សាមញ្ញ',
 1330+ 'dt_xml_namespace' => 'ប្រភេទ',
 1331+ 'dt_xml_pages' => 'ទំព័រ',
 1332+ 'dt_xml_page' => 'ទំព័រ',
 1333+ 'dt_xml_template' => 'ទំព័រគំរូ',
 1334+ 'dt_xml_field' => 'ផ្នែក',
 1335+ 'dt_xml_name' => 'ឈ្មោះ',
 1336+ 'dt_xml_title' => 'ចំណងជើង',
 1337+ 'dt_xml_id' => 'អត្តសញ្ញាណ',
 1338+ 'dt_xml_freetext' => 'អត្ថបទសេរី',
 1339+ 'importxml' => 'នាំចូល XML',
 1340+ 'dt_import_selectfile' => 'សូម​ជ្រើស​រើស​ឯកសារ $1 ដើម្បី​នាំ​ចូល​៖',
 1341+ 'dt_import_encodingtype' => 'ប្រភេទនៃការធ្វើកូដ៖',
 1342+ 'dt_import_forexisting' => 'សំរាប់ទំព័រដែលមានរួចហើយ៖',
 1343+ 'dt_import_overwriteexisting' => 'សរសេរជាន់ពីលើខ្លឹមសារដែលមានហើយ',
 1344+ 'dt_import_skipexisting' => 'រំលង',
 1345+ 'dt_import_appendtoexisting' => 'សរសេរបន្ថែមទៅលើខ្លឹមសារដែលមានហើយ',
 1346+ 'dt_import_summarydesc' => 'ចំណារពន្យល់ស្ដីពីការនាំចូល៖',
 1347+ 'dt_import_editsummary' => '$1 នាំចូល​',
 1348+ 'dt_import_importing' => 'កំពុងនាំចូល​...',
 1349+ 'dt_import_success' => 'ទំព័រចំនួន $1 នឹងត្រូវបានបង្កើតពីឯកសារ $2 នេះ។',
 1350+ 'importcsv' => 'នាំចូល CSV',
 1351+ 'right-datatransferimport' => 'នាំចូល​ទិន្នន័យ​',
 1352+);
 1353+
 1354+/** Kannada (ಕನ್ನಡ)
 1355+ * @author Nayvik
 1356+ */
 1357+$messages['kn'] = array(
 1358+ 'dt_viewxml_categories' => 'ವರ್ಗಗಳು',
 1359+ 'dt_xml_namespace' => 'ನಾಮವರ್ಗ',
 1360+ 'dt_xml_pages' => 'ಪುಟಗಳು',
 1361+ 'dt_xml_page' => 'ಪುಟ',
 1362+ 'dt_xml_template' => 'ಟೆಂಪ್ಲೇಟು',
 1363+ 'dt_xml_name' => 'ಹೆಸರು',
 1364+ 'dt_xml_title' => 'ಶೀರ್ಷಿಕೆ',
 1365+);
 1366+
 1367+/** Kinaray-a (Kinaray-a)
 1368+ * @author Jose77
 1369+ */
 1370+$messages['krj'] = array(
 1371+ 'dt_viewxml_categories' => 'Manga Kategorya',
 1372+ 'dt_xml_page' => 'Pahina',
 1373+);
 1374+
 1375+/** Colognian (Ripoarisch)
 1376+ * @author Purodha
 1377+ */
 1378+$messages['ksh'] = array(
 1379+ 'datatransfer-desc' => 'Määt et müjjelesch, Date uß Schabloone ier Oproofe ze emporteere un ze exporteere.',
 1380+ 'viewxml' => '<i lang="en">XML</i> beloore',
 1381+ 'dt_viewxml_docu' => 'Don ußsöke, wat fö_n Saachjruppe un Appachtemangs De em <i lang="en">XML</i> Fommaat aanloore wells.',
 1382+ 'dt_viewxml_categories' => 'Saachjroppe',
 1383+ 'dt_viewxml_namespaces' => 'Appachtemangs',
 1384+ 'dt_viewxml_simplifiedformat' => 'Em eijfachere Fommaat',
 1385+ 'dt_xml_namespace' => 'Appachtemang',
 1386+ 'dt_xml_pages' => 'Sigge',
 1387+ 'dt_xml_page' => 'Sigg',
 1388+ 'dt_xml_template' => 'Schablohn',
 1389+ 'dt_xml_field' => 'Felldt',
 1390+ 'dt_xml_name' => 'Name',
 1391+ 'dt_xml_title' => 'Tėttel',
 1392+ 'dt_xml_id' => 'Kännong',
 1393+ 'dt_xml_freetext' => 'Freije Täx',
 1394+ 'importxml' => '<i lang="en">XML</i> Empotteere',
 1395+ 'dt_import_selectfile' => 'Söhk de <i lang="en">$1</i>-Dattei för zem Empotteere uß:',
 1396+ 'dt_import_encodingtype' => 'Zoot Kodeerung för de Bohchshtahbe un Zeishe:',
 1397+ 'dt_import_forexisting' => 'För Sigge, di et ald jitt:',
 1398+ 'dt_import_overwriteexisting' => 'Övverschrieve, wat ald doh es',
 1399+ 'dt_import_skipexisting' => 'Övverjonn',
 1400+ 'dt_import_appendtoexisting' => 'An dat aanhange, wat ald doh es',
 1401+ 'dt_import_summarydesc' => 'Zesammefassung vun däm Empoot:',
 1402+ 'dt_import_editsummary' => 'uss ene <i lang="en">$1</i>-Datei empotteet',
 1403+ 'dt_import_importing' => 'Ben aam Empotteere{{int:Ellipsis}}',
 1404+ 'dt_import_success' => '{{PLURAL:$1|Ein Sigg weed_uß|$1 Sigge weede uß|Kein einzelne Sigg weed_uß}} dä <i lang="en">$2</i>-Dattei empotteet.',
 1405+ 'importcsv' => '<i lang="en">CSV</i>-Dattei empoteere',
 1406+ 'dt_importcsv_badheader' => 'Fähler: De Shpallde-Övverschreff för $1 es „$2“, mööt ävver „$3“ udder „$4“ sin, udder dat Fommaat „<code>Name_vun_ene_Schablohn[Name_vun_enem_Felldt]</code>“ han.',
 1407+ 'right-datatransferimport' => 'Daate empoteere',
 1408+);
 1409+
 1410+/** Kurdish (Latin) (Kurdî (Latin))
 1411+ * @author George Animal
 1412+ */
 1413+$messages['ku-latn'] = array(
 1414+ 'dt_xml_page' => 'Rûpel',
 1415+ 'dt_xml_name' => 'Nav',
 1416+ 'dt_xml_title' => 'Sernav',
 1417+ 'dt_import_summarydesc' => 'Kurteya împortê:',
 1418+);
 1419+
 1420+/** Cornish (Kernowek)
 1421+ * @author Kernoweger
 1422+ * @author Kw-Moon
 1423+ */
 1424+$messages['kw'] = array(
 1425+ 'dt_viewxml_categories' => 'Classys',
 1426+ 'dt_xml_page' => 'Folen',
 1427+);
 1428+
 1429+/** Luxembourgish (Lëtzebuergesch)
 1430+ * @author Robby
 1431+ */
 1432+$messages['lb'] = array(
 1433+ 'datatransfer-desc' => "Erlaabt et Daten déi an Opruffer vu schabloune benotzt ginn z'importéieren an z'exportéieren",
 1434+ 'viewxml' => 'XML weisen',
 1435+ 'dt_viewxml_docu' => 'Wielt w.e.g. ënnert dëse Kategorien an Nimmraim fir am XML-Format unzeweisen.',
 1436+ 'dt_viewxml_categories' => 'Kategorien',
 1437+ 'dt_viewxml_namespaces' => 'Nummraim',
 1438+ 'dt_viewxml_simplifiedformat' => 'Vereinfachte Format',
 1439+ 'dt_xml_namespace' => 'Nummraum',
 1440+ 'dt_xml_pages' => 'Säiten',
 1441+ 'dt_xml_page' => 'Säit',
 1442+ 'dt_xml_template' => 'Schabloun',
 1443+ 'dt_xml_field' => 'Feld',
 1444+ 'dt_xml_name' => 'Numm',
 1445+ 'dt_xml_title' => 'Titel',
 1446+ 'dt_xml_id' => 'Nummer',
 1447+ 'dt_xml_freetext' => 'Fräien Text',
 1448+ 'importxml' => 'XML importéieren',
 1449+ 'dt_import_selectfile' => "Sicht de(n) $1-Fichier eraus fir z'importéieren:",
 1450+ 'dt_import_encodingtype' => 'Encoding-Typ:',
 1451+ 'dt_import_forexisting' => 'Fir Säiten déi et scho gëtt:',
 1452+ 'dt_import_overwriteexisting' => 'Den Inhalt den et gëtt iwwerschreiwen',
 1453+ 'dt_import_skipexisting' => 'Iwwersprangen',
 1454+ 'dt_import_appendtoexisting' => 'Bäi den Inhalt deen et gëtt derbäisetzen',
 1455+ 'dt_import_summarydesc' => 'Resumé vum Import:',
 1456+ 'dt_import_editsummary' => '$1 importéieren',
 1457+ 'dt_import_importing' => 'Import am gaang ...',
 1458+ 'dt_import_success' => '$1 {{PLURAL:$1|Säit gëtt|Säite ginn}} aus dem $2-Fichier ugeluecht.',
 1459+ 'importcsv' => 'CSV importéieren',
 1460+ '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",
 1461+ 'right-datatransferimport' => 'Donnéeën importéieren',
 1462+);
 1463+
 1464+/** Limburgish (Limburgs)
 1465+ * @author Aelske
 1466+ * @author Remember the dot
 1467+ */
 1468+$messages['li'] = array(
 1469+ 'dt_xml_page' => 'Pagina',
 1470+);
 1471+
 1472+/** Lithuanian (Lietuvių)
 1473+ * @author Tomasdd
 1474+ */
 1475+$messages['lt'] = array(
 1476+ 'dt_viewxml_categories' => 'Kategorijos',
 1477+);
 1478+
 1479+/** Latgalian (Latgaļu)
 1480+ * @author Dark Eagle
 1481+ */
 1482+$messages['ltg'] = array(
 1483+ 'dt_viewxml_namespaces' => 'Vuordu pluoti',
 1484+ 'dt_xml_namespace' => 'Vuordu pluots',
 1485+ 'dt_xml_pages' => 'Puslopys',
 1486+);
 1487+
 1488+/** Latvian (Latviešu)
 1489+ * @author GreenZeb
 1490+ */
 1491+$messages['lv'] = array(
 1492+ 'dt_viewxml_categories' => 'Kategorijas',
 1493+ 'dt_viewxml_namespaces' => 'Vārdtelpas',
 1494+ 'dt_viewxml_simplifiedformat' => 'Vienkāršots formāts',
 1495+ 'dt_xml_namespace' => 'Vārdtelpa',
 1496+ 'dt_xml_pages' => 'Lapas',
 1497+ 'dt_xml_page' => 'Lapa',
 1498+ 'dt_xml_template' => 'Veidne',
 1499+ 'dt_xml_field' => 'Lauks',
 1500+ 'dt_xml_name' => 'Vārds',
 1501+ 'dt_xml_title' => 'Nosaukums',
 1502+ 'dt_xml_id' => 'ID',
 1503+);
 1504+
 1505+/** Eastern Mari (Олык Марий)
 1506+ * @author Сай
 1507+ */
 1508+$messages['mhr'] = array(
 1509+ 'dt_xml_namespace' => 'Лӱм-влакын кумдыкышт',
 1510+ 'dt_xml_page' => 'Лаштык',
 1511+);
 1512+
 1513+/** Macedonian (Македонски)
 1514+ * @author Bjankuloski06
 1515+ */
 1516+$messages['mk'] = array(
 1517+ 'datatransfer-desc' => 'Овозможува увоз и извоз на податоци содржани во повикувањата на шаблоните',
 1518+ 'viewxml' => 'Преглед на XML',
 1519+ 'dt_viewxml_docu' => 'Одберете од следиве категории и именски простори за преглед во XML формат.',
 1520+ 'dt_viewxml_categories' => 'Категории',
 1521+ 'dt_viewxml_namespaces' => 'Именски простори',
 1522+ 'dt_viewxml_simplifiedformat' => 'Упростен формат',
 1523+ 'dt_xml_namespace' => 'Именски простор',
 1524+ 'dt_xml_pages' => 'Страници',
 1525+ 'dt_xml_page' => 'Страница',
 1526+ 'dt_xml_template' => 'Шаблон',
 1527+ 'dt_xml_field' => 'Поле',
 1528+ 'dt_xml_name' => 'Име',
 1529+ 'dt_xml_title' => 'Наслов',
 1530+ 'dt_xml_id' => 'ид. бр.',
 1531+ 'dt_xml_freetext' => 'Слободен текст',
 1532+ 'importxml' => 'Увоз на XML',
 1533+ 'dt_import_selectfile' => 'Одберете ја $1 податотеката за увоз:',
 1534+ 'dt_import_encodingtype' => 'Тип на кодирање:',
 1535+ 'dt_import_forexisting' => 'За страници што веќе постојат:',
 1536+ 'dt_import_overwriteexisting' => 'Презапиши врз постоечките содржини',
 1537+ 'dt_import_skipexisting' => 'Прескокни',
 1538+ 'dt_import_appendtoexisting' => 'Додај во постоечката содржина',
 1539+ 'dt_import_summarydesc' => 'Опис на увозот:',
 1540+ 'dt_import_editsummary' => 'Увоз на $1',
 1541+ 'dt_import_importing' => 'Увезувам...',
 1542+ 'dt_import_success' => '$1 {{PLURAL:$1|страница ќе биде создадена|страници ќе бидат создадени}} од $2 податотеката.',
 1543+ 'importcsv' => 'Увоз на CSV',
 1544+ 'dt_importcsv_badheader' => 'Грешка: насловот на колона $1, „$2“, мора да биде или „$3“, или „$4“, или пак од обликот „template_name[field_name]“',
 1545+ 'right-datatransferimport' => 'Увезување податоци',
 1546+);
 1547+
 1548+/** Malayalam (മലയാളം)
 1549+ * @author Junaidpv
 1550+ * @author Praveenp
 1551+ * @author Shijualex
 1552+ */
 1553+$messages['ml'] = array(
 1554+ 'viewxml' => 'XML കാണുക',
 1555+ 'dt_viewxml_categories' => 'വർഗ്ഗങ്ങൾ',
 1556+ 'dt_viewxml_namespaces' => 'നാമമേഖലകൾ',
 1557+ 'dt_viewxml_simplifiedformat' => 'ലളിതവത്ക്കരിക്കപ്പെട്ട ഫോർമാറ്റ്',
 1558+ 'dt_xml_namespace' => 'നാമമേഖല',
 1559+ 'dt_xml_pages' => 'താളുകൾ',
 1560+ 'dt_xml_page' => 'താൾ',
 1561+ 'dt_xml_template' => 'ഫലകം',
 1562+ 'dt_xml_field' => 'ഫീൽഡ്',
 1563+ 'dt_xml_name' => 'പേര്‌',
 1564+ 'dt_xml_title' => 'ശീർഷകം',
 1565+ 'dt_xml_id' => 'ഐ.ഡി.',
 1566+ 'dt_xml_freetext' => 'സ്വതന്ത്ര എഴുത്ത്',
 1567+ 'importxml' => 'എക്സ്.എം.എൽ. ഇറക്കുമതി',
 1568+ 'dt_import_selectfile' => 'ദയവായി ഇറക്കുമതിക്കായി $1 പ്രമാണം തിരഞ്ഞെടുക്കുക:',
 1569+ 'dt_import_encodingtype' => 'എൻ‌കോഡിങ് തരം:',
 1570+ 'dt_import_forexisting' => 'നിലവിലുള്ള താളുകൾക്ക് വേണ്ടി:',
 1571+ 'dt_import_appendtoexisting' => 'നിലവിലുള്ള ഉള്ളടക്കത്തോട് കൂട്ടിച്ചേർക്കുക',
 1572+ 'dt_import_summarydesc' => 'ഇറക്കുമതിയുടെ സംഗ്രഹം:',
 1573+ 'dt_import_editsummary' => '$1 ഇറക്കുമതി',
 1574+ 'dt_import_importing' => 'ഇറക്കുമതി ചെയ്യുന്നു...',
 1575+ 'importcsv' => 'സി.എസ്.വി. ഇറക്കുമതി',
 1576+);
 1577+
 1578+/** Mongolian (Монгол)
 1579+ * @author Chinneeb
 1580+ */
 1581+$messages['mn'] = array(
 1582+ 'dt_viewxml_categories' => 'Ангиллууд',
 1583+ 'dt_viewxml_namespaces' => 'Нэрний зайнууд',
 1584+ 'dt_xml_namespace' => 'Нэрний зай',
 1585+ 'dt_xml_page' => 'Хуудас',
 1586+);
 1587+
 1588+/** Marathi (मराठी)
 1589+ * @author Kaustubh
 1590+ * @author V.narsikar
 1591+ */
 1592+$messages['mr'] = array(
 1593+ 'datatransfer-desc' => 'साचा कॉल मध्ये असणार्‍या डाटाची आयात निर्यात करण्याची परवानगी देतो',
 1594+ 'viewxml' => 'XML पहा',
 1595+ 'dt_viewxml_docu' => 'कॄपया XML मध्ये पाहण्यासाठी खालीलपैकी वर्ग व नामविश्वे निवडा.',
 1596+ 'dt_viewxml_categories' => 'वर्ग',
 1597+ 'dt_viewxml_namespaces' => 'नामविश्वे',
 1598+ 'dt_viewxml_simplifiedformat' => 'सोप्या प्रकारे',
 1599+ 'dt_xml_namespace' => 'नामविश्व',
 1600+ 'dt_xml_page' => 'पान',
 1601+ 'dt_xml_field' => 'रकाना',
 1602+ 'dt_xml_name' => 'नाव',
 1603+ 'dt_xml_title' => 'शीर्षक',
 1604+ 'dt_xml_id' => 'क्रमांक (आयडी)',
 1605+ 'dt_xml_freetext' => 'मुक्त मजकूर',
 1606+ 'importxml' => 'एक्सएमएल आयात करा',
 1607+);
 1608+
 1609+/** Malay (Bahasa Melayu)
 1610+ * @author Anakmalaysia
 1611+ */
 1612+$messages['ms'] = array(
 1613+ 'dt_viewxml_categories' => 'Kategori',
 1614+ 'dt_xml_page' => 'Laman',
 1615+ 'dt_xml_template' => 'Templat',
 1616+ 'dt_xml_name' => 'Nama',
 1617+ 'dt_xml_title' => 'Tajuk',
 1618+ 'dt_import_importing' => 'Sedang mengimport...',
 1619+ 'importcsv' => 'Import CSV',
 1620+ 'right-datatransferimport' => 'Mengimport data',
 1621+);
 1622+
 1623+/** Mirandese (Mirandés)
 1624+ * @author Malafaya
 1625+ */
 1626+$messages['mwl'] = array(
 1627+ 'dt_xml_page' => 'Páigina',
 1628+);
 1629+
 1630+/** Erzya (Эрзянь)
 1631+ * @author Botuzhaleny-sodamo
 1632+ */
 1633+$messages['myv'] = array(
 1634+ 'dt_viewxml_categories' => 'Категорият',
 1635+ 'dt_viewxml_namespaces' => 'Лем потмот',
 1636+ 'dt_xml_namespace' => 'Лемпотмо',
 1637+ 'dt_xml_page' => 'Лопа',
 1638+ 'dt_xml_template' => 'Лопа парцун',
 1639+ 'dt_xml_field' => 'Пакся',
 1640+ 'dt_xml_name' => 'Лемезэ',
 1641+ 'dt_xml_title' => 'Конякс',
 1642+);
 1643+
 1644+/** Mazanderani (مازِرونی)
 1645+ * @author محک
 1646+ */
 1647+$messages['mzn'] = array(
 1648+ 'dt_viewxml_categories' => 'رج‌ئون',
 1649+);
 1650+
 1651+/** Nahuatl (Nāhuatl)
 1652+ * @author Fluence
 1653+ * @author Teòtlalili
 1654+ */
 1655+$messages['nah'] = array(
 1656+ 'dt_viewxml_categories' => 'Tlaìxmatkàtlàlilòtl',
 1657+ 'dt_viewxml_namespaces' => 'Tōcātzin',
 1658+ 'dt_xml_namespace' => 'Tōcātzin',
 1659+ 'dt_xml_page' => 'Zāzanilli',
 1660+ 'dt_xml_name' => 'Tōcāitl',
 1661+ 'dt_xml_title' => 'Tōcāitl',
 1662+ 'dt_xml_id' => 'ID',
 1663+);
 1664+
 1665+/** Low German (Plattdüütsch)
 1666+ * @author Slomox
 1667+ */
 1668+$messages['nds'] = array(
 1669+ 'dt_xml_name' => 'Naam',
 1670+);
 1671+
 1672+/** Dutch (Nederlands)
 1673+ * @author Siebrand
 1674+ * @author Tvdm
 1675+ */
 1676+$messages['nl'] = array(
 1677+ 'datatransfer-desc' => 'Maakt het importeren en exporteren van gestructureerde gegevens in sjabloonaanroepen mogelijk',
 1678+ 'viewxml' => 'XML bekijken',
 1679+ 'dt_viewxml_docu' => 'Selecteer uit de volgende categorieën en naamruimten om in XML-formaat te bekijken.',
 1680+ 'dt_viewxml_categories' => 'Categorieën',
 1681+ 'dt_viewxml_namespaces' => 'Naamruimten',
 1682+ 'dt_viewxml_simplifiedformat' => 'Vereenvoudigd formaat',
 1683+ 'dt_xml_namespace' => 'Naamruimte',
 1684+ 'dt_xml_pages' => "Pagina's",
 1685+ 'dt_xml_page' => 'Pagina',
 1686+ 'dt_xml_template' => 'Sjabloon',
 1687+ 'dt_xml_field' => 'Veld',
 1688+ 'dt_xml_name' => 'Naam',
 1689+ 'dt_xml_title' => 'Titel',
 1690+ 'dt_xml_id' => 'ID',
 1691+ 'dt_xml_freetext' => 'Vrije tekst',
 1692+ 'importxml' => 'XML importeren',
 1693+ 'dt_import_selectfile' => 'Selecteer het te importeren bestand van het type $1:',
 1694+ 'dt_import_encodingtype' => 'Coderingstype:',
 1695+ 'dt_import_forexisting' => "Voor pagina's die al bestaan:",
 1696+ 'dt_import_overwriteexisting' => 'Bestaande inhoud overschrijven',
 1697+ 'dt_import_skipexisting' => 'Overslaan',
 1698+ 'dt_import_appendtoexisting' => 'Toevoegen aan bestaande inhoud',
 1699+ 'dt_import_summarydesc' => 'Samenvatting van de import:',
 1700+ 'dt_import_editsummary' => '$1-import',
 1701+ 'dt_import_importing' => 'Bezig met importeren…',
 1702+ 'dt_import_success' => "Uit het $2-bestand {{PLURAL:$1|wordt één pagina|worden $1 pagina's}} geïmporteerd.",
 1703+ 'importcsv' => 'CSV importeren',
 1704+ 'dt_importcsv_badheader' => 'Fout: De kop van kolom $1, "$2", moet "$3" of "$4" zijn, of in de vorm "sjabloonnaam[veldnaam]" genoteerd worden.',
 1705+ 'right-datatransferimport' => 'Gegevens importeren',
 1706+);
 1707+
 1708+/** Norwegian Nynorsk (‪Norsk (nynorsk)‬)
 1709+ * @author Gunnernett
 1710+ * @author Harald Khan
 1711+ * @author Jon Harald Søby
 1712+ */
 1713+$messages['nn'] = array(
 1714+ 'datatransfer-desc' => 'Gjer det mogleg å importera og eksportera data i maloppkallingar',
 1715+ 'viewxml' => 'Syn XML',
 1716+ 'dt_viewxml_docu' => 'Vel mellom følgjande kategoriar og namnerom for å syna dei i XML-format.',
 1717+ 'dt_viewxml_categories' => 'Kategoriar',
 1718+ 'dt_viewxml_namespaces' => 'Namnerom',
 1719+ 'dt_viewxml_simplifiedformat' => 'Forenkla format',
 1720+ 'dt_xml_namespace' => 'Namnerom',
 1721+ 'dt_xml_pages' => 'Sider',
 1722+ 'dt_xml_page' => 'Side',
 1723+ 'dt_xml_template' => 'Mal',
 1724+ 'dt_xml_field' => 'Felt',
 1725+ 'dt_xml_name' => 'Namn',
 1726+ 'dt_xml_title' => 'Tittel',
 1727+ 'dt_xml_id' => 'ID',
 1728+ 'dt_xml_freetext' => 'Fritekst',
 1729+ 'importxml' => 'Importer XML',
 1730+ 'dt_import_selectfile' => 'Ver venleg og vel $1-fila som skal verta importert:',
 1731+ 'dt_import_encodingtype' => 'Teiknkodingstype:',
 1732+ 'dt_import_editsummary' => '$1-importering',
 1733+ 'dt_import_importing' => 'Importerer...',
 1734+ 'dt_import_success' => '$1 {{PLURAL:$1|Éi side vil verta importert|$1 sider vil verta importerte}} frå $2-fila.',
 1735+ 'importcsv' => 'Importer CSV',
 1736+ 'dt_importcsv_badheader' => "Feil: kolonneoverskrifta $1, '$2', må vera anten '$3', '$4' eller på forma 'malnamn[feltnamn]'",
 1737+ 'right-datatransferimport' => 'Importer data',
 1738+);
 1739+
 1740+/** Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
 1741+ * @author Jon Harald Søby
 1742+ * @author Nghtwlkr
 1743+ */
 1744+$messages['no'] = array(
 1745+ 'datatransfer-desc' => 'Gjør det mulig å importere og eksportere data som finnes i maloppkallinger',
 1746+ 'viewxml' => 'Se XML',
 1747+ 'dt_viewxml_docu' => 'Velg blant følgende kategorier og navnerom for å se dem i XML-format',
 1748+ 'dt_viewxml_categories' => 'Kategorier',
 1749+ 'dt_viewxml_namespaces' => 'Navnerom',
 1750+ 'dt_viewxml_simplifiedformat' => 'Forenklet format',
 1751+ 'dt_xml_namespace' => 'Navnerom',
 1752+ 'dt_xml_pages' => 'Sider',
 1753+ 'dt_xml_page' => 'Side',
 1754+ 'dt_xml_template' => 'Mal',
 1755+ 'dt_xml_field' => 'Felt',
 1756+ 'dt_xml_name' => 'Navn',
 1757+ 'dt_xml_title' => 'Tittel',
 1758+ 'dt_xml_id' => 'ID',
 1759+ 'dt_xml_freetext' => 'Fritekst',
 1760+ 'importxml' => 'Importer XML',
 1761+ 'dt_import_selectfile' => 'Vennligst velg $1-filen som skal importeres:',
 1762+ 'dt_import_encodingtype' => 'Tegnkodingstype:',
 1763+ 'dt_import_forexisting' => 'For sider som allerede finnes:',
 1764+ 'dt_import_overwriteexisting' => 'Skriv over eksisterende innhold',
 1765+ 'dt_import_skipexisting' => 'Hopp over',
 1766+ 'dt_import_appendtoexisting' => 'Tilføy til eksisterende innhold',
 1767+ 'dt_import_summarydesc' => 'Importsammendrag:',
 1768+ 'dt_import_editsummary' => '$1-importering',
 1769+ 'dt_import_importing' => 'Importerer...',
 1770+ 'dt_import_success' => '{{PLURAL:$1|Én side|$1 sider}} vil bli importert fra $2-filen.',
 1771+ 'importcsv' => 'Importer CSV',
 1772+ 'dt_importcsv_badheader' => "Feil: kolonneoverskriften $1, '$2', må være enten '$3', '$4' eller på formen 'malnavn[feltnavn]'",
 1773+ 'right-datatransferimport' => 'Importer data',
 1774+);
 1775+
 1776+/** Occitan (Occitan)
 1777+ * @author Cedric31
 1778+ */
 1779+$messages['oc'] = array(
 1780+ 'datatransfer-desc' => "Permet l’impòrt e l’expòrt de donadas contengudas dins d'apèls de modèls",
 1781+ 'viewxml' => 'Veire XML',
 1782+ 'dt_viewxml_docu' => 'Seleccionatz demest las categorias e los espacis de nomenatges per visionar en format XML.',
 1783+ 'dt_viewxml_categories' => 'Categorias',
 1784+ 'dt_viewxml_namespaces' => 'Espacis de nomenatge',
 1785+ 'dt_viewxml_simplifiedformat' => 'Format simplificat',
 1786+ 'dt_xml_namespace' => 'Espaci de nom',
 1787+ 'dt_xml_pages' => 'Paginas',
 1788+ 'dt_xml_page' => 'Pagina',
 1789+ 'dt_xml_template' => 'Modèl',
 1790+ 'dt_xml_field' => 'Camp',
 1791+ 'dt_xml_name' => 'Nom',
 1792+ 'dt_xml_title' => 'Títol',
 1793+ 'dt_xml_id' => 'ID',
 1794+ 'dt_xml_freetext' => 'Tèxte Liure',
 1795+ 'importxml' => 'Impòrt en XML',
 1796+ 'dt_import_selectfile' => "Seleccionatz lo fichièr $1 d'importar :",
 1797+ 'dt_import_encodingtype' => 'Tipe d’encodatge:',
 1798+ 'dt_import_editsummary' => 'Importacion $1',
 1799+ 'dt_import_importing' => 'Impòrt en cors...',
 1800+ 'dt_import_success' => '$1 {{PLURAL:$1|pagina serà creada|paginas seràn creadas}} dempuèi lo fichièr $2.',
 1801+ 'importcsv' => 'Impòrt CSV',
 1802+ '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] »',
 1803+ 'right-datatransferimport' => 'Importar de donadas',
 1804+);
 1805+
 1806+/** Oriya (ଓଡ଼ିଆ)
 1807+ * @author Odisha1
 1808+ * @author Psubhashish
 1809+ */
 1810+$messages['or'] = array(
 1811+ 'dt_xml_pages' => 'ପୃଷ୍ଠା',
 1812+ 'dt_xml_page' => 'ପୃଷ୍ଠା',
 1813+ 'dt_xml_template' => 'ଛାଞ୍ଚ',
 1814+ 'dt_xml_field' => 'କ୍ଷେତ୍ର',
 1815+ 'dt_xml_name' => 'ନାମ',
 1816+ 'dt_xml_title' => 'ନାଆଁ',
 1817+ 'dt_xml_id' => 'ପରିଚୟ',
 1818+ 'dt_import_editsummary' => '$1 ଆମଦାନୀ',
 1819+);
 1820+
 1821+/** Ossetic (Ирон)
 1822+ * @author Amikeco
 1823+ */
 1824+$messages['os'] = array(
 1825+ 'dt_xml_page' => 'Фарс',
 1826+ 'dt_xml_template' => 'Шаблон',
 1827+ 'dt_xml_title' => 'Сæргонд',
 1828+);
 1829+
 1830+/** Deitsch (Deitsch)
 1831+ * @author Xqt
 1832+ */
 1833+$messages['pdc'] = array(
 1834+ 'dt_viewxml_categories' => 'Abdeelinge',
 1835+ 'dt_viewxml_namespaces' => 'Blatznaame',
 1836+ 'dt_xml_namespace' => 'Blatznaame',
 1837+ 'dt_xml_pages' => 'Bledder',
 1838+ 'dt_xml_page' => 'Blatt',
 1839+ 'dt_xml_template' => 'Moddel',
 1840+ 'dt_xml_name' => 'Naame',
 1841+ 'dt_xml_title' => 'Titel',
 1842+);
 1843+
 1844+/** Polish (Polski)
 1845+ * @author McMonster
 1846+ * @author Sp5uhe
 1847+ * @author Wpedzich
 1848+ */
 1849+$messages['pl'] = array(
 1850+ 'datatransfer-desc' => 'Pozwala na importowanie i eksportowanie danych zawartych w wywołaniach szablonu',
 1851+ 'viewxml' => 'Podgląd XML',
 1852+ 'dt_viewxml_docu' => 'Wybierz, które spośród następujących kategorii i przestrzeni nazw chcesz podejrzeć w formacie XML.',
 1853+ 'dt_viewxml_categories' => 'Kategorie',
 1854+ 'dt_viewxml_namespaces' => 'Przestrzenie nazw',
 1855+ 'dt_viewxml_simplifiedformat' => 'Format uproszczony',
 1856+ 'dt_xml_namespace' => 'Przestrzeń nazw',
 1857+ 'dt_xml_pages' => 'Strony',
 1858+ 'dt_xml_page' => 'Strona',
 1859+ 'dt_xml_template' => 'Szablon',
 1860+ 'dt_xml_field' => 'Pole',
 1861+ 'dt_xml_name' => 'Nazwa',
 1862+ 'dt_xml_title' => 'Tytuł',
 1863+ 'dt_xml_id' => 'ID',
 1864+ 'dt_xml_freetext' => 'Dowolny tekst',
 1865+ 'importxml' => 'Import XML',
 1866+ 'dt_import_selectfile' => 'Wybierz plik $1 do zaimportowania',
 1867+ 'dt_import_encodingtype' => 'Typ kodowania',
 1868+ 'dt_import_forexisting' => 'Dla stron, które już istnieją:',
 1869+ 'dt_import_overwriteexisting' => 'Zastąp istniejącą zawartość',
 1870+ 'dt_import_skipexisting' => 'Pomiń',
 1871+ 'dt_import_appendtoexisting' => 'Dołącz do istniejącej zawartości',
 1872+ 'dt_import_summarydesc' => 'Podsumowanie importu',
 1873+ 'dt_import_editsummary' => 'Import $1',
 1874+ 'dt_import_importing' => 'Importowanie...',
 1875+ 'dt_import_success' => '$1 {{PLURAL:$1|strona zostanie utworzona|strony zostaną utworzone|stron zostanie utworzonych}} z pliku $2.',
 1876+ 'importcsv' => 'Import CSV',
 1877+ 'dt_importcsv_badheader' => 'Błąd – w kolumnie $1 nagłówka jest „$2”, a powinno być: „$3”, „$4” lub „nazwa_szablonu[nazwa_pola]”',
 1878+ 'right-datatransferimport' => 'Importowanie danych',
 1879+);
 1880+
 1881+/** Piedmontese (Piemontèis)
 1882+ * @author Borichèt
 1883+ * @author Dragonòt
 1884+ */
 1885+$messages['pms'] = array(
 1886+ 'datatransfer-desc' => "A përmëtt d'amporté e esporté ij dat contnù ant le ciamà a stamp",
 1887+ 'viewxml' => 'Varda XML',
 1888+ '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.',
 1889+ 'dt_viewxml_categories' => 'Categorìe',
 1890+ 'dt_viewxml_namespaces' => 'Spassi nominaj',
 1891+ 'dt_viewxml_simplifiedformat' => 'Formà semplificà',
 1892+ 'dt_xml_namespace' => 'Spassi nominal',
 1893+ 'dt_xml_pages' => 'Pàgine',
 1894+ 'dt_xml_page' => 'Pàgina',
 1895+ 'dt_xml_template' => 'Stamp',
 1896+ 'dt_xml_field' => 'Camp',
 1897+ 'dt_xml_name' => 'Nòm',
 1898+ 'dt_xml_title' => 'Tìtol',
 1899+ 'dt_xml_id' => 'ID',
 1900+ 'dt_xml_freetext' => 'Test lìber',
 1901+ 'importxml' => 'Ampòrta XML',
 1902+ 'dt_import_selectfile' => 'Për piasì selession-a ël file $1 da amporté:',
 1903+ 'dt_import_encodingtype' => 'Tipo ëd codìfica:',
 1904+ 'dt_import_forexisting' => "Për pàgine ch'a esisto già:",
 1905+ 'dt_import_overwriteexisting' => 'Coaté ël contnù esistent',
 1906+ 'dt_import_skipexisting' => 'Saoté',
 1907+ 'dt_import_appendtoexisting' => 'Gionté al contnù esistent',
 1908+ 'dt_import_summarydesc' => "Somari dj'amportassion:",
 1909+ 'dt_import_editsummary' => '$1 ampòrta',
 1910+ 'dt_import_importing' => "An camin ch'as ampòrta...",
 1911+ 'dt_import_success' => "$1 {{PLURAL:$1|pàgina|pàgine}} a saran creà da l'archivi $2.",
 1912+ 'importcsv' => 'Ampòrta CSV',
 1913+ '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]'",
 1914+ 'right-datatransferimport' => 'Ampòrta dat',
 1915+);
 1916+
 1917+/** Pashto (پښتو)
 1918+ * @author Ahmed-Najib-Biabani-Ibrahimkhel
 1919+ */
 1920+$messages['ps'] = array(
 1921+ 'viewxml' => 'XML کتل',
 1922+ 'dt_viewxml_categories' => 'وېشنيزې',
 1923+ 'dt_viewxml_namespaces' => 'نوم-تشيالونه',
 1924+ 'dt_viewxml_simplifiedformat' => 'ساده بڼه',
 1925+ 'dt_xml_namespace' => 'نوم-تشيال',
 1926+ 'dt_xml_pages' => 'مخونه',
 1927+ 'dt_xml_page' => 'مخ',
 1928+ 'dt_xml_template' => 'کينډۍ',
 1929+ 'dt_xml_name' => 'نوم',
 1930+ 'dt_xml_title' => 'سرليک',
 1931+ 'dt_xml_id' => 'پېژند',
 1932+ 'dt_xml_freetext' => 'خپلواکه متن',
 1933+);
 1934+
 1935+/** Portuguese (Português)
 1936+ * @author Hamilton Abreu
 1937+ * @author Lijealso
 1938+ * @author Malafaya
 1939+ */
 1940+$messages['pt'] = array(
 1941+ 'datatransfer-desc' => 'Permite importação e exportação de dados contidos em chamadas de predefinições',
 1942+ 'viewxml' => 'Ver XML',
 1943+ 'dt_viewxml_docu' => 'Por favor, seleccione de entre as categorias e espaços nominais seguintes para ver em formato XML.',
 1944+ 'dt_viewxml_categories' => 'Categorias',
 1945+ 'dt_viewxml_namespaces' => 'Espaços nominais',
 1946+ 'dt_viewxml_simplifiedformat' => 'Formato simplificado',
 1947+ 'dt_xml_namespace' => 'Espaço nominal',
 1948+ 'dt_xml_pages' => 'Páginas',
 1949+ 'dt_xml_page' => 'Página',
 1950+ 'dt_xml_template' => 'Predefinição',
 1951+ 'dt_xml_field' => 'Campo',
 1952+ 'dt_xml_name' => 'Nome',
 1953+ 'dt_xml_title' => 'Título',
 1954+ 'dt_xml_id' => 'ID',
 1955+ 'dt_xml_freetext' => 'Texto Livre',
 1956+ 'importxml' => 'Importar XML',
 1957+ 'dt_import_selectfile' => 'Por favor, selecione o ficheiro $1 a importar:',
 1958+ 'dt_import_encodingtype' => 'Tipo de codificação:',
 1959+ 'dt_import_forexisting' => 'Para páginas que já existem:',
 1960+ 'dt_import_overwriteexisting' => 'Sobrescrever o conteúdo existente',
 1961+ 'dt_import_skipexisting' => 'Saltar',
 1962+ 'dt_import_appendtoexisting' => 'Acrescentar ao conteúdo existente',
 1963+ 'dt_import_summarydesc' => 'Resumo da importação:',
 1964+ 'dt_import_editsummary' => 'Importação de $1',
 1965+ 'dt_import_importing' => 'Importando...',
 1966+ 'dt_import_success' => '{{PLURAL:$1|A página será importada|As páginas serão importadas}} a partir do ficheiro $2.',
 1967+ 'importcsv' => 'Importar CSV',
 1968+ '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]'",
 1969+ 'right-datatransferimport' => 'Importar dados',
 1970+);
 1971+
 1972+/** Brazilian Portuguese (Português do Brasil)
 1973+ * @author Eduardo.mps
 1974+ * @author Giro720
 1975+ */
 1976+$messages['pt-br'] = array(
 1977+ 'datatransfer-desc' => 'Permite a importação e exportação de dados contidos em chamadas de predefinições',
 1978+ 'viewxml' => 'Ver XML',
 1979+ 'dt_viewxml_docu' => 'Por favor, selecione dentre as categorias e espaços nominais seguintes para ver em formato XML.',
 1980+ 'dt_viewxml_categories' => 'Categorias',
 1981+ 'dt_viewxml_namespaces' => 'Espaços nominais',
 1982+ 'dt_viewxml_simplifiedformat' => 'Formato simplificado',
 1983+ 'dt_xml_namespace' => 'Espaço nominal',
 1984+ 'dt_xml_pages' => 'Páginas',
 1985+ 'dt_xml_page' => 'Página',
 1986+ 'dt_xml_template' => 'Predefinição',
 1987+ 'dt_xml_field' => 'Campo',
 1988+ 'dt_xml_name' => 'Nome',
 1989+ 'dt_xml_title' => 'Título',
 1990+ 'dt_xml_id' => 'ID',
 1991+ 'dt_xml_freetext' => 'Texto Livre',
 1992+ 'importxml' => 'Importar XML',
 1993+ 'dt_import_selectfile' => 'Por favor selecione o arquivo $1 para importar:',
 1994+ 'dt_import_encodingtype' => 'Codificação:',
 1995+ 'dt_import_forexisting' => 'Para páginas que já existem:',
 1996+ 'dt_import_overwriteexisting' => 'Sobrescrever o conteúdo existente',
 1997+ 'dt_import_skipexisting' => 'Pular',
 1998+ 'dt_import_appendtoexisting' => 'Adicionar ao conteúdo existente',
 1999+ 'dt_import_summarydesc' => 'Resumo da importação:',
 2000+ 'dt_import_editsummary' => 'Importação de $1',
 2001+ 'dt_import_importing' => 'Importando...',
 2002+ 'dt_import_success' => '$1 {{PLURAL:$1|página será importada|páginas serão importadas}} do arquivo $2.',
 2003+ 'importcsv' => 'Importar CSV',
 2004+ 'dt_importcsv_badheader' => "Erro: o cabeçalho da coluna $1, '$2', deve ser '$3', ou '$4' ou da forma 'nome_modelo[nome_campo]'",
 2005+ 'right-datatransferimport' => 'Importar dados',
 2006+);
 2007+
 2008+/** Romanian (Română)
 2009+ * @author KlaudiuMihaila
 2010+ * @author Stelistcristi
 2011+ */
 2012+$messages['ro'] = array(
 2013+ 'viewxml' => 'Vizualizează XML',
 2014+ 'dt_viewxml_categories' => 'Categorii',
 2015+ 'dt_viewxml_namespaces' => 'Spații de nume',
 2016+ 'dt_viewxml_simplifiedformat' => 'Format simplificat',
 2017+ 'dt_xml_namespace' => 'Spațiu de nume',
 2018+ 'dt_xml_pages' => 'Pagini',
 2019+ 'dt_xml_page' => 'Pagină',
 2020+ 'dt_xml_template' => 'Format',
 2021+ 'dt_xml_field' => 'Câmp',
 2022+ 'dt_xml_name' => 'Nume',
 2023+ 'dt_xml_title' => 'Titlu',
 2024+ 'dt_xml_id' => 'ID',
 2025+ 'importxml' => 'Importă XML',
 2026+ 'dt_import_summarydesc' => 'Descrierea importului:',
 2027+ 'dt_import_importing' => 'Importare...',
 2028+ 'importcsv' => 'Importă CSV',
 2029+ 'right-datatransferimport' => 'Importă date',
 2030+);
 2031+
 2032+/** Tarandíne (Tarandíne)
 2033+ * @author Joetaras
 2034+ */
 2035+$messages['roa-tara'] = array(
 2036+ 'datatransfer-desc' => "Permètte de 'mbortà e esportà date strutturate ca stonne jndr'à le chiamate a le template",
 2037+ 'viewxml' => "Vide l'XML",
 2038+ 'dt_viewxml_docu' => "Pe piacere scacchie ìmbrà le categorije seguende e le namespace seguende pe vedè 'u formate XML.",
 2039+ 'dt_viewxml_categories' => 'Categorije',
 2040+ 'dt_viewxml_namespaces' => 'Namespace',
 2041+ 'dt_viewxml_simplifiedformat' => 'Formate semblifichete',
 2042+ 'dt_xml_namespace' => 'Namespace',
 2043+ 'dt_xml_pages' => 'Pàggene',
 2044+ 'dt_xml_page' => 'Pàgene',
 2045+ 'dt_xml_template' => 'Template',
 2046+ 'dt_xml_field' => 'Cambe',
 2047+ 'dt_xml_name' => 'Nome',
 2048+ 'dt_xml_title' => 'Titele',
 2049+ 'dt_xml_id' => 'Codece (ID)',
 2050+ 'dt_xml_freetext' => 'Teste libbere',
 2051+ 'importxml' => "'Mborte XML",
 2052+);
 2053+
 2054+/** Russian (Русский)
 2055+ * @author Ferrer
 2056+ * @author Innv
 2057+ * @author Александр Сигачёв
 2058+ */
 2059+$messages['ru'] = array(
 2060+ 'datatransfer-desc' => 'Позволяет импортировать и экспортировать данные, содержащиеся в вызовах шаблонов',
 2061+ 'viewxml' => 'Просмотр XML',
 2062+ 'dt_viewxml_docu' => 'Пожалуйста, выберите категории и пространства имён для просмотра в формате XML.',
 2063+ 'dt_viewxml_categories' => 'Категории',
 2064+ 'dt_viewxml_namespaces' => 'Пространства имён',
 2065+ 'dt_viewxml_simplifiedformat' => 'Упрощённый формат',
 2066+ 'dt_xml_namespace' => 'Пространство имён',
 2067+ 'dt_xml_pages' => 'Страницы',
 2068+ 'dt_xml_page' => 'Страница',
 2069+ 'dt_xml_template' => 'Шаблон',
 2070+ 'dt_xml_field' => 'Поле',
 2071+ 'dt_xml_name' => 'Имя',
 2072+ 'dt_xml_title' => 'Заголовок',
 2073+ 'dt_xml_id' => 'ID',
 2074+ 'dt_xml_freetext' => 'Свободный текст',
 2075+ 'importxml' => 'Импорт XML',
 2076+ 'dt_import_selectfile' => 'Пожалуйста, выберите файл $1 для импорта:',
 2077+ 'dt_import_encodingtype' => 'Тип кодировки:',
 2078+ 'dt_import_forexisting' => 'Для страниц, которые уже существуют:',
 2079+ 'dt_import_overwriteexisting' => 'Переписать существующие данные',
 2080+ 'dt_import_skipexisting' => 'Пропустить',
 2081+ 'dt_import_appendtoexisting' => 'Добавить к существующим данным',
 2082+ 'dt_import_summarydesc' => 'Описание импорта:',
 2083+ 'dt_import_editsummary' => 'импорт $1',
 2084+ 'dt_import_importing' => 'Импортирование...',
 2085+ 'dt_import_success' => '$1 {{PLURAL:$1|страница была|страницы были|страниц были}} созданы из файла $2.',
 2086+ 'importcsv' => 'Импорт CSV',
 2087+ 'dt_importcsv_badheader' => 'Ошибка. Заголовок колонки №$1 «$2» должен быть или «$3», или «$4», или в форме «template_name[field_name]»',
 2088+ 'right-datatransferimport' => 'импорт информации',
 2089+);
 2090+
 2091+/** Rusyn (Русиньскый)
 2092+ * @author Gazeb
 2093+ */
 2094+$messages['rue'] = array(
 2095+ 'dt_viewxml_categories' => 'Катеґорії',
 2096+ 'dt_viewxml_namespaces' => 'Просторы назв',
 2097+ 'dt_viewxml_simplifiedformat' => 'Простый формат',
 2098+ 'dt_xml_namespace' => 'Простор назв',
 2099+ 'dt_xml_pages' => 'Сторінкы',
 2100+ 'dt_xml_page' => 'Сторінка',
 2101+ 'dt_xml_template' => 'Шаблона',
 2102+ 'dt_xml_field' => 'Поле',
 2103+ 'dt_xml_name' => 'Назва',
 2104+ 'dt_xml_title' => 'Надпис',
 2105+ 'dt_xml_id' => 'ID',
 2106+ 'dt_xml_freetext' => 'Вольный текст',
 2107+ 'importxml' => 'Імпортовати XML',
 2108+);
 2109+
 2110+/** Sicilian (Sicilianu)
 2111+ * @author Aushulz
 2112+ */
 2113+$messages['scn'] = array(
 2114+ 'dt_xml_name' => 'Nomu',
 2115+ 'dt_xml_id' => 'ID',
 2116+);
 2117+
 2118+/** Slovak (Slovenčina)
 2119+ * @author Helix84
 2120+ */
 2121+$messages['sk'] = array(
 2122+ 'datatransfer-desc' => 'Umožňuje import a export údajov obsiahnutých v bunkách šablón',
 2123+ 'viewxml' => 'Zobraziť XML',
 2124+ 'dt_viewxml_docu' => 'Prosím, vyberte ktorý spomedzi nasledovných kategórií a menných priestorov zobraziť vo formáte XML.',
 2125+ 'dt_viewxml_categories' => 'Kategórie',
 2126+ 'dt_viewxml_namespaces' => 'Menné priestory',
 2127+ 'dt_viewxml_simplifiedformat' => 'Zjednodušený formát',
 2128+ 'dt_xml_namespace' => 'Menný priestor',
 2129+ 'dt_xml_pages' => 'Stránky',
 2130+ 'dt_xml_page' => 'Stránka',
 2131+ 'dt_xml_template' => 'Šablóna',
 2132+ 'dt_xml_field' => 'Pole',
 2133+ 'dt_xml_name' => 'Názov',
 2134+ 'dt_xml_title' => 'Nadpis',
 2135+ 'dt_xml_id' => 'ID',
 2136+ 'dt_xml_freetext' => 'Voľný text',
 2137+ 'importxml' => 'Importovať XML',
 2138+ 'dt_import_selectfile' => 'Prosím, vyberte $1 súbor, ktorý chcete importovať:',
 2139+ 'dt_import_encodingtype' => 'Typ kódovania:',
 2140+ 'dt_import_editsummary' => 'Import $1',
 2141+ 'dt_import_importing' => 'Prebieha import...',
 2142+ 'dt_import_success' => 'Z $2 súboru sa {{PLURAL:$1|importuje $1 stránka|importujú $1 stránky|importuje $1 stránok}}.',
 2143+ 'importcsv' => 'Import CSV',
 2144+ '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]“',
 2145+ 'right-datatransferimport' => 'Importovať údaje',
 2146+);
 2147+
 2148+/** Slovenian (Slovenščina)
 2149+ * @author Dbc334
 2150+ */
 2151+$messages['sl'] = array(
 2152+ 'dt_xml_pages' => 'Strani',
 2153+ 'dt_xml_page' => 'Stran',
 2154+);
 2155+
 2156+/** Serbian Cyrillic ekavian (‪Српски (ћирилица)‬)
 2157+ * @author Rancher
 2158+ * @author Sasa Stefanovic
 2159+ * @author Жељко Тодоровић
 2160+ * @author Михајло Анђелковић
 2161+ */
 2162+$messages['sr-ec'] = array(
 2163+ 'viewxml' => 'Види XML',
 2164+ 'dt_viewxml_categories' => 'Категорије',
 2165+ 'dt_viewxml_namespaces' => 'Именски простори',
 2166+ 'dt_viewxml_simplifiedformat' => 'Поједностављени формат',
 2167+ 'dt_xml_namespace' => 'Именски простор',
 2168+ 'dt_xml_pages' => 'Чланци',
 2169+ 'dt_xml_page' => 'Страница',
 2170+ 'dt_xml_template' => 'Шаблон',
 2171+ 'dt_xml_field' => 'Поље',
 2172+ 'dt_xml_name' => 'Име',
 2173+ 'dt_xml_title' => 'Наслов',
 2174+ 'dt_xml_id' => 'ID',
 2175+ 'dt_xml_freetext' => 'Слободан текст',
 2176+ 'importxml' => 'Увези XML',
 2177+ 'dt_import_editsummary' => '$1 увоз',
 2178+ 'dt_import_importing' => 'Увоз у току...',
 2179+ 'importcsv' => 'Увези CSV',
 2180+ 'right-datatransferimport' => 'Увези податке',
 2181+);
 2182+
 2183+/** Serbian Latin ekavian (‪Srpski (latinica)‬)
 2184+ * @author Michaello
 2185+ * @author Жељко Тодоровић
 2186+ */
 2187+$messages['sr-el'] = array(
 2188+ 'viewxml' => 'Vidi XML',
 2189+ 'dt_viewxml_categories' => 'Kategorije',
 2190+ 'dt_viewxml_namespaces' => 'Imenski prostori',
 2191+ 'dt_viewxml_simplifiedformat' => 'Pojednostavljeni format',
 2192+ 'dt_xml_namespace' => 'Imenski prostor',
 2193+ 'dt_xml_pages' => 'Članci',
 2194+ 'dt_xml_page' => 'Stranica',
 2195+ 'dt_xml_template' => 'Šablon',
 2196+ 'dt_xml_field' => 'Polje',
 2197+ 'dt_xml_name' => 'Ime',
 2198+ 'dt_xml_title' => 'Naslov',
 2199+ 'dt_xml_id' => 'ID',
 2200+ 'dt_xml_freetext' => 'Slobodan tekst',
 2201+ 'importxml' => 'Uvezi XML',
 2202+ 'dt_import_editsummary' => '$1 uvoz',
 2203+ 'dt_import_importing' => 'Uvoz u toku...',
 2204+ 'importcsv' => 'Uvezi CSV',
 2205+ 'right-datatransferimport' => 'Uvezi podatke',
 2206+);
 2207+
 2208+/** Seeltersk (Seeltersk)
 2209+ * @author Pyt
 2210+ */
 2211+$messages['stq'] = array(
 2212+ 'datatransfer-desc' => 'Ferlööwet dän Import un Export fon strukturierde Doaten, do der in Aproupen un Foarloagen ferwoand wäide.',
 2213+ 'viewxml' => 'XML ankiekje',
 2214+ 'dt_viewxml_docu' => 'Wääl uut, wäkke Kategorien in dät XML-Formoat anwiesd wäide schällen.',
 2215+ 'dt_viewxml_categories' => 'Kategorien',
 2216+ 'dt_viewxml_namespaces' => 'Noomensruume',
 2217+ 'dt_viewxml_simplifiedformat' => 'Fereenfacht Formoat',
 2218+ 'dt_xml_namespace' => 'Noomensruum',
 2219+ 'dt_xml_page' => 'Siede',
 2220+ 'dt_xml_field' => 'Fäild',
 2221+ 'dt_xml_name' => 'Noome',
 2222+ 'dt_xml_title' => 'Tittel',
 2223+);
 2224+
 2225+/** Sundanese (Basa Sunda)
 2226+ * @author Irwangatot
 2227+ */
 2228+$messages['su'] = array(
 2229+ 'dt_viewxml_namespaces' => 'Ngaranspasi',
 2230+);
 2231+
 2232+/** Swedish (Svenska)
 2233+ * @author Fluff
 2234+ * @author Gabbe.g
 2235+ * @author Lejonel
 2236+ * @author M.M.S.
 2237+ * @author Per
 2238+ * @author WikiPhoenix
 2239+ */
 2240+$messages['sv'] = array(
 2241+ 'datatransfer-desc' => 'Tillåter import och export av data som finns i mallanrop',
 2242+ 'viewxml' => 'Visa XML',
 2243+ 'dt_viewxml_docu' => 'Välj vilka av följande kategorier och namnrymder som ska visas i XML-format.',
 2244+ 'dt_viewxml_categories' => 'Kategorier',
 2245+ 'dt_viewxml_namespaces' => 'Namnrymder',
 2246+ 'dt_viewxml_simplifiedformat' => 'Förenklat format',
 2247+ 'dt_xml_namespace' => 'Namnrymd',
 2248+ 'dt_xml_pages' => 'Sidor',
 2249+ 'dt_xml_page' => 'Sida',
 2250+ 'dt_xml_template' => 'Mall',
 2251+ 'dt_xml_field' => 'Fält',
 2252+ 'dt_xml_name' => 'Namn',
 2253+ 'dt_xml_title' => 'Titel',
 2254+ 'dt_xml_id' => 'ID',
 2255+ 'dt_xml_freetext' => 'Fritext',
 2256+ 'importxml' => 'Importera XML',
 2257+ 'dt_import_selectfile' => 'Vänligen välj $1-filen som skall importeras:',
 2258+ 'dt_import_encodingtype' => 'Teckenkodningstyp:',
 2259+ 'dt_import_overwriteexisting' => 'Skriv över existerande innehåll',
 2260+ 'dt_import_skipexisting' => 'Hoppa över',
 2261+ 'dt_import_editsummary' => '$1-importering',
 2262+ 'dt_import_importing' => 'Importerar...',
 2263+ 'dt_import_success' => '$1 {{PLURAL:$1|sida|sidor}} kommer skapas från $2-filen.',
 2264+ 'importcsv' => 'Importera CSV',
 2265+ 'dt_importcsv_badheader' => "Fel: Titeln $2 för kolumnen $1 måste vara antingen $3, $4 eller på formen 'mallnamn[fältnamn]'",
 2266+ 'right-datatransferimport' => 'Importera data',
 2267+);
 2268+
 2269+/** Silesian (Ślůnski)
 2270+ * @author Herr Kriss
 2271+ */
 2272+$messages['szl'] = array(
 2273+ 'dt_xml_page' => 'Zajta',
 2274+ 'dt_xml_name' => 'Mjano',
 2275+);
 2276+
 2277+/** Tamil (தமிழ்)
 2278+ * @author TRYPPN
 2279+ * @author Trengarasu
 2280+ * @author Ulmo
 2281+ */
 2282+$messages['ta'] = array(
 2283+ 'dt_viewxml_categories' => 'பகுப்புகள்',
 2284+ 'dt_viewxml_namespaces' => 'பெயர்வெளிகள்',
 2285+ 'dt_viewxml_simplifiedformat' => 'எளிதாக்கப்பட்ட வடிவம்',
 2286+ 'dt_xml_namespace' => 'பெயர்வெளி',
 2287+ 'dt_xml_pages' => 'பக்கங்கள்',
 2288+ 'dt_xml_page' => 'பக்கம்',
 2289+ 'dt_xml_template' => 'வார்ப்புரு',
 2290+ 'dt_xml_name' => 'பெயர்',
 2291+ 'dt_xml_title' => 'தலைப்பு',
 2292+ 'dt_xml_id' => 'அடையாளம்',
 2293+ 'dt_xml_freetext' => 'எந்த கட்டுப்பாடும் இல்லா சொற்றொடர்',
 2294+ 'dt_import_importing' => 'இறக்குமதியாகிறது...',
 2295+);
 2296+
 2297+/** Telugu (తెలుగు)
 2298+ * @author Chaduvari
 2299+ * @author Veeven
 2300+ */
 2301+$messages['te'] = array(
 2302+ 'viewxml' => 'XMLని చూడండి',
 2303+ 'dt_viewxml_categories' => 'వర్గాలు',
 2304+ 'dt_viewxml_namespaces' => 'పేరుబరులు',
 2305+ 'dt_xml_namespace' => 'పేరుబరి',
 2306+ 'dt_xml_pages' => 'పేజీలు',
 2307+ 'dt_xml_page' => 'పేజీ',
 2308+ 'dt_xml_template' => 'మూస',
 2309+ 'dt_xml_name' => 'పేరు',
 2310+ 'dt_xml_title' => 'శీర్షిక',
 2311+ 'dt_xml_id' => 'ఐడీ',
 2312+ 'dt_xml_freetext' => 'స్వేచ్ఛా పాఠ్యం',
 2313+ 'dt_import_appendtoexisting' => 'ఈసరికే ఉన్న కంటెంటు వెనుక చేర్చు',
 2314+ 'dt_import_summarydesc' => 'దిగుమతి సారాంశం:',
 2315+ 'dt_import_editsummary' => '$1 దిగుమతి',
 2316+ 'dt_import_importing' => 'దిగుమతి చేస్తున్నాం...',
 2317+ 'dt_import_success' => 'ఫైలు $2 నుండి $1 {{PLURAL:$1|పేజీ|పేజీలు}} సృష్టించబడతాయి.',
 2318+ 'importcsv' => 'CSV ని దిగుమతి చెయ్యి',
 2319+ 'dt_importcsv_badheader' => "లోపం: నిలువు వరుస $1 శీర్షం, '$2', '$3' అయినా లేక '$4' అయినా ఉండాలి. లేదా 'template_name[field_name]' రూపంలో అయినా ఉండాలి",
 2320+ 'right-datatransferimport' => 'డేటాను దిగుమతి చెయ్యి',
 2321+);
 2322+
 2323+/** Tetum (Tetun)
 2324+ * @author MF-Warburg
 2325+ */
 2326+$messages['tet'] = array(
 2327+ 'dt_viewxml_categories' => 'Kategoria sira',
 2328+ 'dt_xml_namespace' => 'Espasu pájina nian',
 2329+ 'dt_xml_pages' => 'Pájina sira',
 2330+ 'dt_xml_page' => 'Pájina',
 2331+ 'dt_xml_name' => 'Naran',
 2332+ 'dt_xml_title' => 'Títulu:',
 2333+ 'dt_xml_id' => 'ID',
 2334+);
 2335+
 2336+/** Tajik (Cyrillic) (Тоҷикӣ (Cyrillic))
 2337+ * @author Ibrahim
 2338+ */
 2339+$messages['tg-cyrl'] = array(
 2340+ 'dt_viewxml_categories' => 'Гурӯҳҳо',
 2341+ 'dt_viewxml_namespaces' => 'Фазоҳои ном',
 2342+ 'dt_xml_namespace' => 'Фазоином',
 2343+ 'dt_xml_page' => 'Саҳифа',
 2344+ 'dt_xml_name' => 'Ном',
 2345+ 'dt_xml_title' => 'Унвон',
 2346+ 'dt_xml_freetext' => 'Матни дилхоҳ',
 2347+);
 2348+
 2349+/** Tajik (Latin) (Тоҷикӣ (Latin))
 2350+ * @author Liangent
 2351+ */
 2352+$messages['tg-latn'] = array(
 2353+ 'dt_viewxml_categories' => 'Gurūhho',
 2354+ 'dt_viewxml_namespaces' => 'Fazohoi nom',
 2355+ 'dt_xml_namespace' => 'Fazoinom',
 2356+ 'dt_xml_page' => 'Sahifa',
 2357+ 'dt_xml_name' => 'Nom',
 2358+ 'dt_xml_title' => 'Unvon',
 2359+ 'dt_xml_freetext' => 'Matni dilxoh',
 2360+);
 2361+
 2362+/** Thai (ไทย)
 2363+ * @author Octahedron80
 2364+ */
 2365+$messages['th'] = array(
 2366+ 'dt_viewxml_categories' => 'หมวดหมู่',
 2367+ 'dt_viewxml_namespaces' => 'เนมสเปซ',
 2368+ 'dt_xml_namespace' => 'เนมสเปซ',
 2369+);
 2370+
 2371+/** Turkmen (Türkmençe)
 2372+ * @author Hanberke
 2373+ */
 2374+$messages['tk'] = array(
 2375+ 'dt_xml_page' => 'Sahypa',
 2376+ 'dt_xml_name' => 'At',
 2377+);
 2378+
 2379+/** Tagalog (Tagalog)
 2380+ * @author AnakngAraw
 2381+ */
 2382+$messages['tl'] = array(
 2383+ 'datatransfer-desc' => 'Nagpapahintulot sa pag-aangkat at pagluluwas ng mga datong nasa loob ng mga pagtawag sa suleras',
 2384+ 'viewxml' => 'Tingnan ang XML',
 2385+ 'dt_viewxml_docu' => 'Pumili po lamang mula sa sumusunod na mga kaurian at mga espasyo ng pangalan upang makita ang anyong XML.',
 2386+ 'dt_viewxml_categories' => 'Mga kaurian',
 2387+ 'dt_viewxml_namespaces' => 'Mga espasyo ng pangalan',
 2388+ 'dt_viewxml_simplifiedformat' => 'Pinapayak na anyo',
 2389+ 'dt_xml_namespace' => 'Espasyo ng pangalan',
 2390+ 'dt_xml_pages' => 'Mga pahina',
 2391+ 'dt_xml_page' => 'Pahina',
 2392+ 'dt_xml_template' => 'Suleras',
 2393+ 'dt_xml_field' => 'Hanay',
 2394+ 'dt_xml_name' => 'Pangalan',
 2395+ 'dt_xml_title' => 'Pamagat',
 2396+ 'dt_xml_id' => 'ID',
 2397+ 'dt_xml_freetext' => 'Malayang Teksto',
 2398+ 'importxml' => 'Angkatin ang XML',
 2399+ 'dt_import_selectfile' => 'Pakipili ang talaksang $1 na aangkatin:',
 2400+ 'dt_import_encodingtype' => 'Uri ng pagkokodigo:',
 2401+ 'dt_import_forexisting' => 'Para sa mga pahinang umiiral na:',
 2402+ 'dt_import_overwriteexisting' => 'Patungan ang umiiral na nilalaman',
 2403+ 'dt_import_skipexisting' => 'Laktawan',
 2404+ 'dt_import_appendtoexisting' => 'Isugpong sa umiiral na nilalaman',
 2405+ 'dt_import_summarydesc' => 'Buod ng pag-angkat:',
 2406+ 'dt_import_editsummary' => 'Pag-angkat ng $1',
 2407+ 'dt_import_importing' => 'Inaangkat...',
 2408+ 'dt_import_success' => '$1 {{PLURAL:$1|pahina|mga pahina}} ang lilikhain mula sa talaksang $2.',
 2409+ 'importcsv' => 'Angkatin ang CSV',
 2410+ 'dt_importcsv_badheader' => "Kamalian: ang patayong hanay ng paulong $1, '$2', ay dapat na '$3', '$4' o nasa pormang 'template_name[field_name]'",
 2411+ 'right-datatransferimport' => 'Angkatin ang dato',
 2412+);
 2413+
 2414+/** Turkish (Türkçe)
 2415+ * @author Joseph
 2416+ * @author Karduelis
 2417+ * @author Mach
 2418+ * @author Manco Capac
 2419+ * @author Srhat
 2420+ * @author Vito Genovese
 2421+ */
 2422+$messages['tr'] = array(
 2423+ 'datatransfer-desc' => 'Şablon çağrılarında içerilen verilerin içe ve dışa aktarımına izin verir',
 2424+ 'viewxml' => "XML'i gör",
 2425+ '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.',
 2426+ 'dt_viewxml_categories' => 'Kategoriler',
 2427+ 'dt_viewxml_namespaces' => 'İsim alanları',
 2428+ 'dt_viewxml_simplifiedformat' => 'Basitleştirilmiş format',
 2429+ 'dt_xml_namespace' => 'Ad alanı',
 2430+ 'dt_xml_pages' => 'Sayfalar',
 2431+ 'dt_xml_page' => 'Sayfa',
 2432+ 'dt_xml_template' => 'Şablon',
 2433+ 'dt_xml_field' => 'Alan',
 2434+ 'dt_xml_name' => 'İsim',
 2435+ 'dt_xml_title' => 'Başlık',
 2436+ 'dt_xml_id' => 'ID',
 2437+ 'dt_xml_freetext' => 'Özgür Metin',
 2438+ 'importxml' => 'XML içe aktar',
 2439+ 'dt_import_selectfile' => 'Lütfen içe aktarmak için $1 dosyasını seçin:',
 2440+ 'dt_import_encodingtype' => 'Kodlama türü:',
 2441+ 'dt_import_summarydesc' => 'İçe aktarma özeti:',
 2442+ 'dt_import_editsummary' => '$1 içe aktarımı',
 2443+ 'dt_import_importing' => 'İçe aktarıyor...',
 2444+ 'dt_import_success' => '$2 dosyasından $1 {{PLURAL:$1|sayfa|sayfa}} oluşturulacak.',
 2445+ 'importcsv' => "CSV'yi içe aktar",
 2446+ 'dt_importcsv_badheader' => "Hata: $1 kolonunun başlığı olan '$2', '$3', '$4' ya da 'şablon_adı[alan_adı]' şeklinde olmalıdır",
 2447+ 'right-datatransferimport' => 'Verileri içe aktarır',
 2448+);
 2449+
 2450+/** Uighur (Latin) (ئۇيغۇرچە / Uyghurche‎ (Latin))
 2451+ * @author Jose77
 2452+ */
 2453+$messages['ug-latn'] = array(
 2454+ 'dt_xml_page' => 'Bet',
 2455+);
 2456+
 2457+/** Ukrainian (Українська)
 2458+ * @author AS
 2459+ * @author Arturyatsko
 2460+ * @author Prima klasy4na
 2461+ * @author Тест
 2462+ */
 2463+$messages['uk'] = array(
 2464+ 'datatransfer-desc' => 'Дозволяє імпортувати та експортувати дані, які містяться в викликах шаблонів',
 2465+ 'viewxml' => 'Перегляд XML',
 2466+ 'dt_viewxml_docu' => 'Будь ласка, виберіть одну з наступних категорій та імен для перегляду в форматі XML.',
 2467+ 'dt_viewxml_categories' => 'Категорії',
 2468+ 'dt_viewxml_namespaces' => 'Простори назв',
 2469+ 'dt_viewxml_simplifiedformat' => 'Спрощений формат',
 2470+ 'dt_xml_namespace' => 'Простір назв',
 2471+ 'dt_xml_pages' => 'Сторінки',
 2472+ 'dt_xml_page' => 'Сторінка',
 2473+ 'dt_xml_template' => 'Шаблон',
 2474+ 'dt_xml_field' => 'Поле',
 2475+ 'dt_xml_name' => 'Назва',
 2476+ 'dt_xml_title' => 'Заголовок',
 2477+ 'dt_xml_id' => 'ID',
 2478+ 'dt_xml_freetext' => 'Вільний текст',
 2479+ 'importxml' => 'Імпорт XML',
 2480+ 'dt_import_selectfile' => 'Будь ласка, виберіть файл $1 для імпорту:',
 2481+ 'dt_import_encodingtype' => 'Тип кодування:',
 2482+ 'dt_import_forexisting' => 'Для сторінок, які вже існують:',
 2483+ 'dt_import_overwriteexisting' => 'Перезаписати існуючий вміст',
 2484+ 'dt_import_skipexisting' => 'Пропустити',
 2485+ 'dt_import_appendtoexisting' => 'Додати до існуючого вмісту',
 2486+ 'dt_import_summarydesc' => 'Опис імпорту:',
 2487+ 'dt_import_editsummary' => 'імпорт $1',
 2488+ 'dt_import_importing' => 'Імпорт ...',
 2489+ 'dt_import_success' => '$1 {{PLURAL:$1|сторінка була|сторінки було|сторінок було}} створено з файлу $2.',
 2490+ 'importcsv' => 'Імпорт CSV',
 2491+ 'dt_importcsv_badheader' => 'Помилка. Заголовок колонки №$1 «$2» повинен бути або «$3», або «$4», або у формі «template_name[field_name]»',
 2492+ 'right-datatransferimport' => 'Імпорт даних',
 2493+);
 2494+
 2495+/** Vietnamese (Tiếng Việt)
 2496+ * @author Minh Nguyen
 2497+ * @author Vinhtantran
 2498+ */
 2499+$messages['vi'] = array(
 2500+ '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',
 2501+ 'viewxml' => 'Xem XML',
 2502+ '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.',
 2503+ 'dt_viewxml_categories' => 'Thể loại',
 2504+ 'dt_viewxml_namespaces' => 'Không gian tên',
 2505+ 'dt_viewxml_simplifiedformat' => 'Định dạng đơn giản hóa',
 2506+ 'dt_xml_namespace' => 'Không gian tên',
 2507+ 'dt_xml_pages' => 'Trang',
 2508+ 'dt_xml_page' => 'Trang',
 2509+ 'dt_xml_template' => 'Bản mẫu',
 2510+ 'dt_xml_field' => 'Trường',
 2511+ 'dt_xml_name' => 'Tên',
 2512+ 'dt_xml_title' => 'Tựa đề',
 2513+ 'dt_xml_id' => 'ID',
 2514+ 'dt_xml_freetext' => 'Văn bản Tự do',
 2515+ 'importxml' => 'Nhập XML',
 2516+ 'dt_import_selectfile' => 'Xin hãy chọn tập tin $1 để nhập:',
 2517+ 'dt_import_encodingtype' => 'Bảng mã:',
 2518+ 'dt_import_editsummary' => 'Nhập $1',
 2519+ 'dt_import_importing' => 'Đang nhập…',
 2520+ 'dt_import_success' => '{{PLURAL:$1|Trang|$1 trang}} sẽ được nhập từ tập tin $2.',
 2521+ 'importcsv' => 'Nhập CSV',
 2522+ '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]”',
 2523+ 'right-datatransferimport' => 'Nhập dữ liệu',
 2524+);
 2525+
 2526+/** Volapük (Volapük)
 2527+ * @author Malafaya
 2528+ * @author Smeira
 2529+ */
 2530+$messages['vo'] = array(
 2531+ 'datatransfer-desc' => 'Dälon nüveigi e seveigi nünodas peleodüköl in samafomotilüvoks paninädöls',
 2532+ 'viewxml' => 'Logön eli XML',
 2533+ 'dt_viewxml_docu' => 'Välolös bevü klads e nemaspads foviks utosi, kelosi vilol logön fomätü XML.',
 2534+ 'dt_viewxml_categories' => 'Klads',
 2535+ 'dt_viewxml_namespaces' => 'Nemaspads',
 2536+ 'dt_viewxml_simplifiedformat' => 'Fomät pebalugüköl',
 2537+ 'dt_xml_namespace' => 'Nemaspad',
 2538+ 'dt_xml_page' => 'Pad',
 2539+ 'dt_xml_field' => 'Fel',
 2540+ 'dt_xml_name' => 'Nem',
 2541+ 'dt_xml_title' => 'Tiäd',
 2542+ 'dt_xml_id' => 'Dientifanüm',
 2543+ 'dt_xml_freetext' => 'Vödem libik',
 2544+);
 2545+
 2546+/** Yiddish (ייִדיש)
 2547+ * @author פוילישער
 2548+ */
 2549+$messages['yi'] = array(
 2550+ 'dt_xml_name' => 'נאָמען',
 2551+ 'dt_xml_title' => 'טיטל',
 2552+);
 2553+
 2554+/** Simplified Chinese (‪中文(简体)‬)
 2555+ * @author Gaoxuewei
 2556+ * @author Hydra
 2557+ * @author PhiLiP
 2558+ */
 2559+$messages['zh-hans'] = array(
 2560+ 'datatransfer-desc' => '允许根据模板的要求导入导出结构化的数据',
 2561+ 'viewxml' => '查看XML',
 2562+ 'dt_viewxml_docu' => '请选择要使用XML格式查看的分类和名字空间。',
 2563+ 'dt_viewxml_categories' => '分类',
 2564+ 'dt_viewxml_namespaces' => '名字空间',
 2565+ 'dt_viewxml_simplifiedformat' => '简化格式',
 2566+ 'dt_xml_namespace' => '名字空间',
 2567+ 'dt_xml_pages' => '页面',
 2568+ 'dt_xml_page' => '页面',
 2569+ 'dt_xml_template' => '模板',
 2570+ 'dt_xml_field' => '事件',
 2571+ 'dt_xml_name' => '名称',
 2572+ 'dt_xml_title' => '标题',
 2573+ 'dt_xml_id' => 'ID',
 2574+ 'dt_xml_freetext' => '自由文本',
 2575+ 'importxml' => '导入 XML',
 2576+ 'dt_import_selectfile' => '请选择 $1 要导入的文件:',
 2577+ 'dt_import_encodingtype' => '编码类型:',
 2578+ 'dt_import_forexisting' => '对于已经存在的页面:',
 2579+ 'dt_import_overwriteexisting' => '覆盖现有内容',
 2580+ 'dt_import_skipexisting' => '跳过',
 2581+ 'dt_import_appendtoexisting' => '追加到现有内容',
 2582+ 'dt_import_summarydesc' => '导入摘要:',
 2583+ 'dt_import_editsummary' => '$1 导入',
 2584+ 'dt_import_importing' => '正在导入...',
 2585+ 'importcsv' => '导入 CSV',
 2586+ 'right-datatransferimport' => '导入数据',
 2587+);
 2588+
 2589+/** Traditional Chinese (‪中文(繁體)‬)
 2590+ * @author Liangent
 2591+ * @author Mark85296341
 2592+ */
 2593+$messages['zh-hant'] = array(
 2594+ 'datatransfer-desc' => '允許根據模板的要求導入導出結構化的數據',
 2595+ 'viewxml' => '檢視XML',
 2596+ 'dt_viewxml_docu' => '請在下列分類、名稱空間中選擇,以使用XML格式查看。',
 2597+ 'dt_viewxml_categories' => '分類',
 2598+ 'dt_viewxml_namespaces' => '名稱空間',
 2599+ 'dt_viewxml_simplifiedformat' => '簡化格式',
 2600+ 'dt_xml_namespace' => '名稱空間',
 2601+ 'dt_xml_pages' => '頁面',
 2602+ 'dt_xml_page' => '頁面',
 2603+ 'dt_xml_template' => '模板',
 2604+ 'dt_xml_name' => '名稱',
 2605+ 'dt_xml_title' => '標題',
 2606+ 'dt_xml_id' => 'ID',
 2607+ 'dt_xml_freetext' => '自由文字',
 2608+);
 2609+
 2610+/** Chinese (Taiwan) (‪中文(台灣)‬)
 2611+ * @author Pbdragonwang
 2612+ * @author Roc michael
 2613+ */
 2614+$messages['zh-tw'] = array(
 2615+ 'datatransfer-desc' => '允許匯入及匯出引用樣板(template calls)的結構性資料',
 2616+ 'viewxml' => '查看 XML',
 2617+ 'dt_viewxml_docu' => '請選取以下的分類及名字空間以查看其XML格式的資料',
 2618+ 'dt_viewxml_categories' => '分類',
 2619+ 'dt_viewxml_namespaces' => '名字空間',
 2620+ 'dt_viewxml_simplifiedformat' => '簡化的格式',
 2621+ 'dt_xml_namespace' => '名字空間',
 2622+ 'dt_xml_pages' => '頁面',
 2623+ 'dt_xml_page' => '頁面',
 2624+ 'dt_xml_template' => '模板',
 2625+ 'dt_xml_field' => '欄位',
 2626+ 'dt_xml_name' => '名稱',
 2627+ 'dt_xml_title' => '標題(Title)',
 2628+ 'dt_xml_id' => 'ID',
 2629+ 'dt_xml_freetext' => '隨意文字',
 2630+ 'importxml' => '匯入XML',
 2631+ 'dt_import_selectfile' => '請選取$1檔以供匯入',
 2632+ 'dt_import_encodingtype' => '編碼類型',
 2633+ 'dt_import_summarydesc' => '輸入的摘要',
 2634+ 'dt_import_editsummary' => '匯入$1',
 2635+ 'dt_import_importing' => '匯入中...',
 2636+ 'dt_import_success' => '將從該$2檔匯入$1{{PLURAL:$1|頁面頁面}}。',
 2637+ 'importcsv' => '匯入CSV檔',
 2638+ 'dt_importcsv_badheader' => "錯誤:$1欄位的標題「$2」或必須為「$3」,「$4」或表單「模板名稱[欄位名稱]」<br />
 2639+Error: the column $1 header, '$2', must be either '$3', '$4' or of the form 'template_name[field_name]'",
 2640+ 'right-datatransferimport' => '輸入資料',
 2641+);
 2642+
Property changes on: tags/extensions/DataTransfer/REL_0_3_8/languages/DT_Messages.php
___________________________________________________________________
Added: svn:eol-style
12643 + native
Index: tags/extensions/DataTransfer/REL_0_3_8/languages/DT_Aliases.php
@@ -0,0 +1,305 @@
 2+<?php
 3+/**
 4+ * Aliases for special pages
 5+ *
 6+ * @file
 7+ * @ingroup Extensions
 8+ */
 9+
 10+$specialPageAliases = array();
 11+
 12+/** English (English) */
 13+$specialPageAliases['en'] = array(
 14+ 'ImportCSV' => array( 'ImportCSV' ),
 15+ 'ImportXML' => array( 'ImportXML' ),
 16+ 'ViewXML' => array( 'ViewXML' ),
 17+);
 18+
 19+/** Afrikaans (Afrikaans) */
 20+$specialPageAliases['af'] = array(
 21+ 'ViewXML' => array( 'WysXML' ),
 22+);
 23+
 24+/** Arabic (العربية) */
 25+$specialPageAliases['ar'] = array(
 26+ 'ImportCSV' => array( 'استيراد_سي_إس_في' ),
 27+ 'ImportXML' => array( 'استيراد_إكس_إم_إل' ),
 28+ 'ViewXML' => array( 'عرض_إكس_إم_إل' ),
 29+);
 30+
 31+/** Egyptian Spoken Arabic (مصرى) */
 32+$specialPageAliases['arz'] = array(
 33+ 'ViewXML' => array( 'عرض_XML' ),
 34+);
 35+
 36+/** Breton (Brezhoneg) */
 37+$specialPageAliases['br'] = array(
 38+ 'ImportCSV' => array( 'EnporzhiañCSV' ),
 39+ 'ImportXML' => array( 'EnporzhiañXML' ),
 40+ 'ViewXML' => array( 'GweletXML' ),
 41+);
 42+
 43+/** Bosnian (Bosanski) */
 44+$specialPageAliases['bs'] = array(
 45+ 'ViewXML' => array( 'VidiXML' ),
 46+);
 47+
 48+/** German (Deutsch) */
 49+$specialPageAliases['de'] = array(
 50+ 'ImportCSV' => array( 'CSV_importieren' ),
 51+ 'ImportXML' => array( 'XML_importieren' ),
 52+ 'ViewXML' => array( 'XML_anzeigen' ),
 53+);
 54+
 55+/** Esperanto (Esperanto) */
 56+$specialPageAliases['eo'] = array(
 57+ 'ViewXML' => array( 'Montri_XML' ),
 58+);
 59+
 60+/** Spanish (Español) */
 61+$specialPageAliases['es'] = array(
 62+ 'ViewXML' => array( 'Ver_XML', 'VerXML' ),
 63+);
 64+
 65+/** Basque (Euskara) */
 66+$specialPageAliases['eu'] = array(
 67+ 'ViewXML' => array( 'XMLIkusi' ),
 68+);
 69+
 70+/** Persian (فارسی) */
 71+$specialPageAliases['fa'] = array(
 72+ 'ImportCSV' => array( 'درون‌ریزی_سی‌اس‌وی' ),
 73+ 'ImportXML' => array( 'درون‌ریزی_اکس‌ام‌ال' ),
 74+ 'ViewXML' => array( 'مشاهده_اکس‌ام‌ال' ),
 75+);
 76+
 77+/** Finnish (Suomi) */
 78+$specialPageAliases['fi'] = array(
 79+ 'ImportCSV' => array( 'Tuo_CSV' ),
 80+ 'ImportXML' => array( 'Tuo_XML' ),
 81+ 'ViewXML' => array( 'Näytä_XML' ),
 82+);
 83+
 84+/** French (Français) */
 85+$specialPageAliases['fr'] = array(
 86+ 'ImportCSV' => array( 'Importer_CVS', 'ImporterCVS' ),
 87+ 'ImportXML' => array( 'Importer_XML', 'ImporterXML' ),
 88+ 'ViewXML' => array( 'Voir_le_XML', 'Voir_XML', 'VoirXML' ),
 89+);
 90+
 91+/** Franco-Provençal (Arpetan) */
 92+$specialPageAliases['frp'] = array(
 93+ 'ViewXML' => array( 'Vêre_lo_XML', 'VêreLoXML' ),
 94+);
 95+
 96+/** Galician (Galego) */
 97+$specialPageAliases['gl'] = array(
 98+ 'ViewXML' => array( 'Ver_XML' ),
 99+);
 100+
 101+/** Swiss German (Alemannisch) */
 102+$specialPageAliases['gsw'] = array(
 103+ 'ViewXML' => array( 'Lueg XML' ),
 104+);
 105+
 106+/** Gujarati (ગુજરાતી) */
 107+$specialPageAliases['gu'] = array(
 108+ 'ViewXML' => array( 'XMLજુઓ' ),
 109+);
 110+
 111+/** Haitian (Kreyòl ayisyen) */
 112+$specialPageAliases['ht'] = array(
 113+ 'ImportCSV' => array( 'EnpòteCSV' ),
 114+ 'ImportXML' => array( 'EnpòteXML' ),
 115+ 'ViewXML' => array( 'WèXML' ),
 116+);
 117+
 118+/** Hungarian (Magyar) */
 119+$specialPageAliases['hu'] = array(
 120+ 'ViewXML' => array( 'XML_megtekintése' ),
 121+);
 122+
 123+/** Interlingua (Interlingua) */
 124+$specialPageAliases['ia'] = array(
 125+ 'ImportCSV' => array( 'Importar_CSV' ),
 126+ 'ImportXML' => array( 'Importar_XML' ),
 127+ 'ViewXML' => array( 'Visualisar_XML' ),
 128+);
 129+
 130+/** Indonesian (Bahasa Indonesia) */
 131+$specialPageAliases['id'] = array(
 132+ 'ViewXML' => array( 'Lihat_XML', 'LihatXML' ),
 133+);
 134+
 135+/** Italian (Italiano) */
 136+$specialPageAliases['it'] = array(
 137+ 'ImportCSV' => array( 'ImportaCSV' ),
 138+ 'ImportXML' => array( 'ImportaXML' ),
 139+ 'ViewXML' => array( 'VediXML' ),
 140+);
 141+
 142+/** Japanese (日本語) */
 143+$specialPageAliases['ja'] = array(
 144+ 'ImportCSV' => array( 'CSVインポート' ),
 145+ 'ImportXML' => array( 'XMLインポート' ),
 146+ 'ViewXML' => array( 'XML表示', 'XML表示' ),
 147+);
 148+
 149+/** Khmer (ភាសាខ្មែរ) */
 150+$specialPageAliases['km'] = array(
 151+ 'ViewXML' => array( 'មើលXML' ),
 152+);
 153+
 154+/** Colognian (Ripoarisch) */
 155+$specialPageAliases['ksh'] = array(
 156+ 'ImportCSV' => array( 'CSV_Empotteere' ),
 157+ 'ImportXML' => array( 'XML_Empoteere' ),
 158+ 'ViewXML' => array( 'XML_beloore' ),
 159+);
 160+
 161+/** Ladino (Ladino) */
 162+$specialPageAliases['lad'] = array(
 163+ 'ImportCSV' => array( 'Aktarear_CSV_Ariento' ),
 164+ 'ImportXML' => array( 'Aktarear_XML_Ariento' ),
 165+ 'ViewXML' => array( 'Ver_XML' ),
 166+);
 167+
 168+/** Luxembourgish (Lëtzebuergesch) */
 169+$specialPageAliases['lb'] = array(
 170+ 'ImportCSV' => array( 'CSV_importéieren' ),
 171+ 'ImportXML' => array( 'XML_importéieren' ),
 172+ 'ViewXML' => array( 'XML_weisen' ),
 173+);
 174+
 175+/** Macedonian (Македонски) */
 176+$specialPageAliases['mk'] = array(
 177+ 'ImportCSV' => array( 'УвезиCSV' ),
 178+ 'ImportXML' => array( 'УвезиXML' ),
 179+ 'ViewXML' => array( 'ВидиXML' ),
 180+);
 181+
 182+/** Malayalam (മലയാളം) */
 183+$specialPageAliases['ml'] = array(
 184+ 'ImportCSV' => array( 'സി.എസ്.വി.ഇറക്കുമതി' ),
 185+ 'ImportXML' => array( 'എക്സ്.എം.എൽ.ഇറക്കുമതി' ),
 186+ 'ViewXML' => array( 'എക്സ്.എം.എൽ.കാണുക' ),
 187+);
 188+
 189+/** Marathi (मराठी) */
 190+$specialPageAliases['mr'] = array(
 191+ 'ViewXML' => array( 'XMLपहा' ),
 192+);
 193+
 194+/** Maltese (Malti) */
 195+$specialPageAliases['mt'] = array(
 196+ 'ViewXML' => array( 'UriXML' ),
 197+);
 198+
 199+/** Nedersaksisch (Nedersaksisch) */
 200+$specialPageAliases['nds-nl'] = array(
 201+ 'ViewXML' => array( 'XML_bekieken' ),
 202+);
 203+
 204+/** Dutch (Nederlands) */
 205+$specialPageAliases['nl'] = array(
 206+ 'ImportCSV' => array( 'CSVImporteren' ),
 207+ 'ImportXML' => array( 'XMLImporteren' ),
 208+ 'ViewXML' => array( 'XMLBekijken' ),
 209+);
 210+
 211+/** Norwegian (bokmål)‬ (‪Norsk (bokmål)‬) */
 212+$specialPageAliases['no'] = array(
 213+ 'ImportCSV' => array( 'Importer_CSV' ),
 214+ 'ImportXML' => array( 'Importer_XML' ),
 215+ 'ViewXML' => array( 'Vis_XML' ),
 216+);
 217+
 218+/** Occitan (Occitan) */
 219+$specialPageAliases['oc'] = array(
 220+ 'ViewXML' => array( 'Veire_XML', 'VeireXML' ),
 221+);
 222+
 223+/** Polish (Polski) */
 224+$specialPageAliases['pl'] = array(
 225+ 'ViewXML' => array( 'XML' ),
 226+);
 227+
 228+/** Portuguese (Português) */
 229+$specialPageAliases['pt'] = array(
 230+ 'ViewXML' => array( 'Ver_XML' ),
 231+);
 232+
 233+/** Romanian (Română) */
 234+$specialPageAliases['ro'] = array(
 235+ 'ImportCSV' => array( 'Import_CSV', 'ImportCSV' ),
 236+ 'ImportXML' => array( 'Import_XML', 'ImportXML' ),
 237+ 'ViewXML' => array( 'Vizualizare_XML' ),
 238+);
 239+
 240+/** Sanskrit (संस्कृत) */
 241+$specialPageAliases['sa'] = array(
 242+ 'ViewXML' => array( 'XMLपश्यति' ),
 243+);
 244+
 245+/** Slovak (Slovenčina) */
 246+$specialPageAliases['sk'] = array(
 247+ 'ViewXML' => array( 'ZobraziťXML' ),
 248+);
 249+
 250+/** Albanian (Shqip) */
 251+$specialPageAliases['sq'] = array(
 252+ 'ViewXML' => array( 'ShihXML' ),
 253+);
 254+
 255+/** Swedish (Svenska) */
 256+$specialPageAliases['sv'] = array(
 257+ 'ViewXML' => array( 'Visa_XML' ),
 258+);
 259+
 260+/** Swahili (Kiswahili) */
 261+$specialPageAliases['sw'] = array(
 262+ 'ViewXML' => array( 'OnyeshaXML' ),
 263+);
 264+
 265+/** Tagalog (Tagalog) */
 266+$specialPageAliases['tl'] = array(
 267+ 'ViewXML' => array( 'Tingnan ang XML' ),
 268+);
 269+
 270+/** Turkish (Türkçe) */
 271+$specialPageAliases['tr'] = array(
 272+ 'ImportCSV' => array( 'CSVAktar', 'CSVİçeAktar' ),
 273+ 'ImportXML' => array( 'XMLAktar', 'XMLİçeAktar' ),
 274+ 'ViewXML' => array( 'XMLGör' ),
 275+);
 276+
 277+/** Татарча (Татарча) */
 278+$specialPageAliases['tt-cyrl'] = array(
 279+ 'ImportCSV' => array( 'CSV_импорт' ),
 280+ 'ImportXML' => array( 'XML_импорт' ),
 281+ 'ViewXML' => array( 'XML_иттереп_ачу' ),
 282+);
 283+
 284+/** Vèneto (Vèneto) */
 285+$specialPageAliases['vec'] = array(
 286+ 'ViewXML' => array( 'VardaXML' ),
 287+);
 288+
 289+/** Vietnamese (Tiếng Việt) */
 290+$specialPageAliases['vi'] = array(
 291+ 'ImportCSV' => array( 'Nhập_CSV' ),
 292+ 'ImportXML' => array( 'Nhập_XML' ),
 293+ 'ViewXML' => array( 'Xem_XML' ),
 294+);
 295+
 296+/** Simplified Chinese (‪中文(简体)‬) */
 297+$specialPageAliases['zh-hans'] = array(
 298+ 'ImportCSV' => array( '导入CSV' ),
 299+ 'ImportXML' => array( '导入XML' ),
 300+ 'ViewXML' => array( '查看XML' ),
 301+);
 302+
 303+/**
 304+ * For backwards compatibility with MediaWiki 1.15 and earlier.
 305+ */
 306+$aliases =& $specialPageAliases;
\ No newline at end of file
Property changes on: tags/extensions/DataTransfer/REL_0_3_8/languages/DT_Aliases.php
___________________________________________________________________
Added: svn:keywords
1307 + Id
Added: svn:eol-style
2308 + native
Index: tags/extensions/DataTransfer/REL_0_3_8/COPYING
@@ -0,0 +1,348 @@
 2+The license text below "----" applies to all files within this distribution, other
 3+than those that are in a directory which contains files named "LICENSE" or
 4+"COPYING", or a subdirectory thereof. For those files, the license text contained in
 5+said file overrides any license information contained in directories of smaller depth.
 6+Alternative licenses are typically used for software that is provided by external
 7+parties, and merely packaged with the Data Transfer release for convenience.
 8+----
 9+
 10+ GNU GENERAL PUBLIC LICENSE
 11+ Version 2, June 1991
 12+
 13+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
 14+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 15+ Everyone is permitted to copy and distribute verbatim copies
 16+ of this license document, but changing it is not allowed.
 17+
 18+ Preamble
 19+
 20+ The licenses for most software are designed to take away your
 21+freedom to share and change it. By contrast, the GNU General Public
 22+License is intended to guarantee your freedom to share and change free
 23+software--to make sure the software is free for all its users. This
 24+General Public License applies to most of the Free Software
 25+Foundation's software and to any other program whose authors commit to
 26+using it. (Some other Free Software Foundation software is covered by
 27+the GNU Library General Public License instead.) You can apply it to
 28+your programs, too.
 29+
 30+ When we speak of free software, we are referring to freedom, not
 31+price. Our General Public Licenses are designed to make sure that you
 32+have the freedom to distribute copies of free software (and charge for
 33+this service if you wish), that you receive source code or can get it
 34+if you want it, that you can change the software or use pieces of it
 35+in new free programs; and that you know you can do these things.
 36+
 37+ To protect your rights, we need to make restrictions that forbid
 38+anyone to deny you these rights or to ask you to surrender the rights.
 39+These restrictions translate to certain responsibilities for you if you
 40+distribute copies of the software, or if you modify it.
 41+
 42+ For example, if you distribute copies of such a program, whether
 43+gratis or for a fee, you must give the recipients all the rights that
 44+you have. You must make sure that they, too, receive or can get the
 45+source code. And you must show them these terms so they know their
 46+rights.
 47+
 48+ We protect your rights with two steps: (1) copyright the software, and
 49+(2) offer you this license which gives you legal permission to copy,
 50+distribute and/or modify the software.
 51+
 52+ Also, for each author's protection and ours, we want to make certain
 53+that everyone understands that there is no warranty for this free
 54+software. If the software is modified by someone else and passed on, we
 55+want its recipients to know that what they have is not the original, so
 56+that any problems introduced by others will not reflect on the original
 57+authors' reputations.
 58+
 59+ Finally, any free program is threatened constantly by software
 60+patents. We wish to avoid the danger that redistributors of a free
 61+program will individually obtain patent licenses, in effect making the
 62+program proprietary. To prevent this, we have made it clear that any
 63+patent must be licensed for everyone's free use or not licensed at all.
 64+
 65+ The precise terms and conditions for copying, distribution and
 66+modification follow.
 67+
 68+ GNU GENERAL PUBLIC LICENSE
 69+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 70+
 71+ 0. This License applies to any program or other work which contains
 72+a notice placed by the copyright holder saying it may be distributed
 73+under the terms of this General Public License. The "Program", below,
 74+refers to any such program or work, and a "work based on the Program"
 75+means either the Program or any derivative work under copyright law:
 76+that is to say, a work containing the Program or a portion of it,
 77+either verbatim or with modifications and/or translated into another
 78+language. (Hereinafter, translation is included without limitation in
 79+the term "modification".) Each licensee is addressed as "you".
 80+
 81+Activities other than copying, distribution and modification are not
 82+covered by this License; they are outside its scope. The act of
 83+running the Program is not restricted, and the output from the Program
 84+is covered only if its contents constitute a work based on the
 85+Program (independent of having been made by running the Program).
 86+Whether that is true depends on what the Program does.
 87+
 88+ 1. You may copy and distribute verbatim copies of the Program's
 89+source code as you receive it, in any medium, provided that you
 90+conspicuously and appropriately publish on each copy an appropriate
 91+copyright notice and disclaimer of warranty; keep intact all the
 92+notices that refer to this License and to the absence of any warranty;
 93+and give any other recipients of the Program a copy of this License
 94+along with the Program.
 95+
 96+You may charge a fee for the physical act of transferring a copy, and
 97+you may at your option offer warranty protection in exchange for a fee.
 98+
 99+ 2. You may modify your copy or copies of the Program or any portion
 100+of it, thus forming a work based on the Program, and copy and
 101+distribute such modifications or work under the terms of Section 1
 102+above, provided that you also meet all of these conditions:
 103+
 104+ a) You must cause the modified files to carry prominent notices
 105+ stating that you changed the files and the date of any change.
 106+
 107+ b) You must cause any work that you distribute or publish, that in
 108+ whole or in part contains or is derived from the Program or any
 109+ part thereof, to be licensed as a whole at no charge to all third
 110+ parties under the terms of this License.
 111+
 112+ c) If the modified program normally reads commands interactively
 113+ when run, you must cause it, when started running for such
 114+ interactive use in the most ordinary way, to print or display an
 115+ announcement including an appropriate copyright notice and a
 116+ notice that there is no warranty (or else, saying that you provide
 117+ a warranty) and that users may redistribute the program under
 118+ these conditions, and telling the user how to view a copy of this
 119+ License. (Exception: if the Program itself is interactive but
 120+ does not normally print such an announcement, your work based on
 121+ the Program is not required to print an announcement.)
 122+
 123+These requirements apply to the modified work as a whole. If
 124+identifiable sections of that work are not derived from the Program,
 125+and can be reasonably considered independent and separate works in
 126+themselves, then this License, and its terms, do not apply to those
 127+sections when you distribute them as separate works. But when you
 128+distribute the same sections as part of a whole which is a work based
 129+on the Program, the distribution of the whole must be on the terms of
 130+this License, whose permissions for other licensees extend to the
 131+entire whole, and thus to each and every part regardless of who wrote it.
 132+
 133+Thus, it is not the intent of this section to claim rights or contest
 134+your rights to work written entirely by you; rather, the intent is to
 135+exercise the right to control the distribution of derivative or
 136+collective works based on the Program.
 137+
 138+In addition, mere aggregation of another work not based on the Program
 139+with the Program (or with a work based on the Program) on a volume of
 140+a storage or distribution medium does not bring the other work under
 141+the scope of this License.
 142+
 143+ 3. You may copy and distribute the Program (or a work based on it,
 144+under Section 2) in object code or executable form under the terms of
 145+Sections 1 and 2 above provided that you also do one of the following:
 146+
 147+ a) Accompany it with the complete corresponding machine-readable
 148+ source code, which must be distributed under the terms of Sections
 149+ 1 and 2 above on a medium customarily used for software interchange; or,
 150+
 151+ b) Accompany it with a written offer, valid for at least three
 152+ years, to give any third party, for a charge no more than your
 153+ cost of physically performing source distribution, a complete
 154+ machine-readable copy of the corresponding source code, to be
 155+ distributed under the terms of Sections 1 and 2 above on a medium
 156+ customarily used for software interchange; or,
 157+
 158+ c) Accompany it with the information you received as to the offer
 159+ to distribute corresponding source code. (This alternative is
 160+ allowed only for noncommercial distribution and only if you
 161+ received the program in object code or executable form with such
 162+ an offer, in accord with Subsection b above.)
 163+
 164+The source code for a work means the preferred form of the work for
 165+making modifications to it. For an executable work, complete source
 166+code means all the source code for all modules it contains, plus any
 167+associated interface definition files, plus the scripts used to
 168+control compilation and installation of the executable. However, as a
 169+special exception, the source code distributed need not include
 170+anything that is normally distributed (in either source or binary
 171+form) with the major components (compiler, kernel, and so on) of the
 172+operating system on which the executable runs, unless that component
 173+itself accompanies the executable.
 174+
 175+If distribution of executable or object code is made by offering
 176+access to copy from a designated place, then offering equivalent
 177+access to copy the source code from the same place counts as
 178+distribution of the source code, even though third parties are not
 179+compelled to copy the source along with the object code.
 180+
 181+ 4. You may not copy, modify, sublicense, or distribute the Program
 182+except as expressly provided under this License. Any attempt
 183+otherwise to copy, modify, sublicense or distribute the Program is
 184+void, and will automatically terminate your rights under this License.
 185+However, parties who have received copies, or rights, from you under
 186+this License will not have their licenses terminated so long as such
 187+parties remain in full compliance.
 188+
 189+ 5. You are not required to accept this License, since you have not
 190+signed it. However, nothing else grants you permission to modify or
 191+distribute the Program or its derivative works. These actions are
 192+prohibited by law if you do not accept this License. Therefore, by
 193+modifying or distributing the Program (or any work based on the
 194+Program), you indicate your acceptance of this License to do so, and
 195+all its terms and conditions for copying, distributing or modifying
 196+the Program or works based on it.
 197+
 198+ 6. Each time you redistribute the Program (or any work based on the
 199+Program), the recipient automatically receives a license from the
 200+original licensor to copy, distribute or modify the Program subject to
 201+these terms and conditions. You may not impose any further
 202+restrictions on the recipients' exercise of the rights granted herein.
 203+You are not responsible for enforcing compliance by third parties to
 204+this License.
 205+
 206+ 7. If, as a consequence of a court judgment or allegation of patent
 207+infringement or for any other reason (not limited to patent issues),
 208+conditions are imposed on you (whether by court order, agreement or
 209+otherwise) that contradict the conditions of this License, they do not
 210+excuse you from the conditions of this License. If you cannot
 211+distribute so as to satisfy simultaneously your obligations under this
 212+License and any other pertinent obligations, then as a consequence you
 213+may not distribute the Program at all. For example, if a patent
 214+license would not permit royalty-free redistribution of the Program by
 215+all those who receive copies directly or indirectly through you, then
 216+the only way you could satisfy both it and this License would be to
 217+refrain entirely from distribution of the Program.
 218+
 219+If any portion of this section is held invalid or unenforceable under
 220+any particular circumstance, the balance of the section is intended to
 221+apply and the section as a whole is intended to apply in other
 222+circumstances.
 223+
 224+It is not the purpose of this section to induce you to infringe any
 225+patents or other property right claims or to contest validity of any
 226+such claims; this section has the sole purpose of protecting the
 227+integrity of the free software distribution system, which is
 228+implemented by public license practices. Many people have made
 229+generous contributions to the wide range of software distributed
 230+through that system in reliance on consistent application of that
 231+system; it is up to the author/donor to decide if he or she is willing
 232+to distribute software through any other system and a licensee cannot
 233+impose that choice.
 234+
 235+This section is intended to make thoroughly clear what is believed to
 236+be a consequence of the rest of this License.
 237+
 238+ 8. If the distribution and/or use of the Program is restricted in
 239+certain countries either by patents or by copyrighted interfaces, the
 240+original copyright holder who places the Program under this License
 241+may add an explicit geographical distribution limitation excluding
 242+those countries, so that distribution is permitted only in or among
 243+countries not thus excluded. In such case, this License incorporates
 244+the limitation as if written in the body of this License.
 245+
 246+ 9. The Free Software Foundation may publish revised and/or new versions
 247+of the General Public License from time to time. Such new versions will
 248+be similar in spirit to the present version, but may differ in detail to
 249+address new problems or concerns.
 250+
 251+Each version is given a distinguishing version number. If the Program
 252+specifies a version number of this License which applies to it and "any
 253+later version", you have the option of following the terms and conditions
 254+either of that version or of any later version published by the Free
 255+Software Foundation. If the Program does not specify a version number of
 256+this License, you may choose any version ever published by the Free Software
 257+Foundation.
 258+
 259+ 10. If you wish to incorporate parts of the Program into other free
 260+programs whose distribution conditions are different, write to the author
 261+to ask for permission. For software which is copyrighted by the Free
 262+Software Foundation, write to the Free Software Foundation; we sometimes
 263+make exceptions for this. Our decision will be guided by the two goals
 264+of preserving the free status of all derivatives of our free software and
 265+of promoting the sharing and reuse of software generally.
 266+
 267+ NO WARRANTY
 268+
 269+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
 270+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
 271+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
 272+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
 273+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 274+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
 275+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
 276+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
 277+REPAIR OR CORRECTION.
 278+
 279+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
 280+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
 281+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
 282+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
 283+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
 284+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
 285+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
 286+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
 287+POSSIBILITY OF SUCH DAMAGES.
 288+
 289+ END OF TERMS AND CONDITIONS
 290+
 291+ How to Apply These Terms to Your New Programs
 292+
 293+ If you develop a new program, and you want it to be of the greatest
 294+possible use to the public, the best way to achieve this is to make it
 295+free software which everyone can redistribute and change under these terms.
 296+
 297+ To do so, attach the following notices to the program. It is safest
 298+to attach them to the start of each source file to most effectively
 299+convey the exclusion of warranty; and each file should have at least
 300+the "copyright" line and a pointer to where the full notice is found.
 301+
 302+ <one line to give the program's name and a brief idea of what it does.>
 303+ Copyright (C) <year> <name of author>
 304+
 305+ This program is free software; you can redistribute it and/or modify
 306+ it under the terms of the GNU General Public License as published by
 307+ the Free Software Foundation; either version 2 of the License, or
 308+ (at your option) any later version.
 309+
 310+ This program is distributed in the hope that it will be useful,
 311+ but WITHOUT ANY WARRANTY; without even the implied warranty of
 312+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 313+ GNU General Public License for more details.
 314+
 315+ You should have received a copy of the GNU General Public License
 316+ along with this program; if not, write to the Free Software
 317+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 318+
 319+
 320+Also add information on how to contact you by electronic and paper mail.
 321+
 322+If the program is interactive, make it output a short notice like this
 323+when it starts in an interactive mode:
 324+
 325+ Gnomovision version 69, Copyright (C) year name of author
 326+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
 327+ This is free software, and you are welcome to redistribute it
 328+ under certain conditions; type `show c' for details.
 329+
 330+The hypothetical commands `show w' and `show c' should show the appropriate
 331+parts of the General Public License. Of course, the commands you use may
 332+be called something other than `show w' and `show c'; they could even be
 333+mouse-clicks or menu items--whatever suits your program.
 334+
 335+You should also get your employer (if you work as a programmer) or your
 336+school, if any, to sign a "copyright disclaimer" for the program, if
 337+necessary. Here is a sample; alter the names:
 338+
 339+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
 340+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
 341+
 342+ <signature of Ty Coon>, 1 April 1989
 343+ Ty Coon, President of Vice
 344+
 345+This General Public License does not permit incorporating your program into
 346+proprietary programs. If your program is a subroutine library, you may
 347+consider it more useful to permit linking proprietary applications with the
 348+library. If this is what you want to do, use the GNU Library General
 349+Public License instead of this License.
Property changes on: tags/extensions/DataTransfer/REL_0_3_8/COPYING
___________________________________________________________________
Added: svn:eol-style
1350 + native
Index: tags/extensions/DataTransfer/REL_0_3_8/README
@@ -0,0 +1,24 @@
 2+== About ==
 3+
 4+Data Transfer is an extension to MediaWiki that both exports XML
 5+based on the current contents of pages in a wiki, and imports pages
 6+in both XML format (using the same structure as the XML export) and
 7+CSV format. Both the XML and CSV formats use template calls, and
 8+the fields within them, to define the data structure. Any text that
 9+is not within a template calls gets placed into one or more "free
 10+text" fields.
 11+
 12+For more information on Data Transfer, see the extension
 13+homepage at
 14+http://www.mediawiki.org/wiki/Extension:Data_Transfer
 15+
 16+Notes on installing Data Transfer can be found in the file INSTALL.
 17+
 18+== Credits ==
 19+
 20+Data Transfer was written by Yaron Koren.
 21+
 22+== Contact ==
 23+
 24+Comments, questions, suggestions and bug reports should be
 25+sent to Yaron at yaron57@gmail.com.
Property changes on: tags/extensions/DataTransfer/REL_0_3_8/README
___________________________________________________________________
Added: svn:eol-style
126 + native

Status & tagging log