Index: tags/REL1_13_4/extensions/RecordAdmin/RecordAdmin.alias.php |
— | — | @@ -0,0 +1,67 @@ |
| 2 | +<?php |
| 3 | +/**Internationalization aliases for RecordAdmin extension |
| 4 | +* |
| 5 | +* @addtogroup Extensions |
| 6 | +*/ |
| 7 | + |
| 8 | +$aliases = array(); |
| 9 | + |
| 10 | +$aliases['en'] = array( |
| 11 | + 'RecordAdmin' => array( 'RecordAdmin' ), |
| 12 | +); |
| 13 | + |
| 14 | +/** Arabic (العربية) */ |
| 15 | +$aliases['ar'] = array( |
| 16 | + 'RecordAdmin' => array( 'تسجيل_إداري' ), |
| 17 | +); |
| 18 | + |
| 19 | +/** Egyptian Spoken Arabic (مصرى) */ |
| 20 | +$aliases['arz'] = array( |
| 21 | + 'RecordAdmin' => array( 'تسجيل_إدارى' ), |
| 22 | +); |
| 23 | + |
| 24 | +/** French (Français) */ |
| 25 | +$aliases['fr'] = array( |
| 26 | + 'RecordAdmin' => array( 'GérerEnregistrement', 'GererEnregistrement', 'Gérer enregistrement' ), |
| 27 | +); |
| 28 | + |
| 29 | +/** Swiss German (Alemannisch) */ |
| 30 | +$aliases['gsw'] = array( |
| 31 | + 'RecordAdmin' => array( 'Ammann yytrage' ), |
| 32 | +); |
| 33 | + |
| 34 | +/** Interlingua (Interlingua) */ |
| 35 | +$aliases['ia'] = array( |
| 36 | + 'RecordAdmin' => array( 'Gestion de datos' ), |
| 37 | +); |
| 38 | + |
| 39 | +/** Japanese (日本語) */ |
| 40 | +$aliases['ja'] = array( |
| 41 | + 'RecordAdmin' => array( '記録管理' ), |
| 42 | +); |
| 43 | + |
| 44 | +/** Dutch (Nederlands) */ |
| 45 | +$aliases['nl'] = array( |
| 46 | + 'RecordAdmin' => array( 'Gegevensbeheer' ), |
| 47 | +); |
| 48 | + |
| 49 | +/** Occitan (Occitan) */ |
| 50 | +$aliases['oc'] = array( |
| 51 | + 'RecordAdmin' => array( 'GerirEnregistrament', 'Gerir Enregistrament' ), |
| 52 | +); |
| 53 | + |
| 54 | +/** Sanskrit (संस्कृत) */ |
| 55 | +$aliases['sa'] = array( |
| 56 | + 'RecordAdmin' => array( 'प्रचालकअङ्कन' ), |
| 57 | +); |
| 58 | + |
| 59 | +/** Swahili (Kiswahili) */ |
| 60 | +$aliases['sw'] = array( |
| 61 | + 'RecordAdmin' => array( 'RekodizaMkabidhi' ), |
| 62 | +); |
| 63 | + |
| 64 | +/** Tagalog (Tagalog) */ |
| 65 | +$aliases['tl'] = array( |
| 66 | + 'RecordAdmin' => array( 'Tagapangasiwa ng talaan' ), |
| 67 | +); |
| 68 | + |
Property changes on: tags/REL1_13_4/extensions/RecordAdmin/RecordAdmin.alias.php |
___________________________________________________________________ |
Name: svn:mergeinfo |
1 | 69 | + |
Name: svn:eol-style |
2 | 70 | + native |
Index: tags/REL1_13_4/extensions/RecordAdmin/RecordAdmin_body.php |
— | — | @@ -0,0 +1,508 @@ |
| 2 | +<?php |
| 3 | +/** |
| 4 | + * Define a new class based on the SpecialPage class |
| 5 | + */ |
| 6 | +class SpecialRecordAdmin extends SpecialPage { |
| 7 | + |
| 8 | + var $form = ''; |
| 9 | + var $type = ''; |
| 10 | + var $types = array(); |
| 11 | + var $orderby = ''; |
| 12 | + var $desc = false; |
| 13 | + var $guid = ''; |
| 14 | + |
| 15 | + function __construct() { |
| 16 | + # Name to use for creating a new record either via RecordAdmin or a public form |
| 17 | + # todo: should add a hook here for custom default-naming |
| 18 | + $this->guid = strftime( '%Y%m%d', time() ) . '-' . substr( strtoupper( uniqid() ), -5 ); |
| 19 | + wfLoadExtensionMessages ( 'RecordAdmin' ); |
| 20 | + SpecialPage::SpecialPage( 'RecordAdmin', 'recordadmin' ); |
| 21 | + } |
| 22 | + |
| 23 | + /** |
| 24 | + * Override SpecialPage::execute() |
| 25 | + */ |
| 26 | + function execute( $param ) { |
| 27 | + global $wgOut, $wgRequest, $wgRecordAdminUseNamespaces, $wgLang; |
| 28 | + $this->setHeaders(); |
| 29 | + $type = $wgRequest->getText( 'wpType' ) or $type = $param; |
| 30 | + $record = $wgRequest->getText( 'wpRecord' ); |
| 31 | + $invert = $wgRequest->getText( 'wpInvert' ); |
| 32 | + $title = Title::makeTitle( NS_SPECIAL, 'RecordAdmin' ); |
| 33 | + $wpTitle = trim( $wgRequest->getText( 'wpTitle' ) ); |
| 34 | + |
| 35 | + if ( $type && $wgRecordAdminUseNamespaces ) { |
| 36 | + if ( $wpTitle && !ereg( "^$type:.+$", $wpTitle ) ) $wpTitle = "$type:$wpTitle"; |
| 37 | + } |
| 38 | + |
| 39 | + $wgOut->addHTML( "<div class='center'><a href='" . $title->getLocalURL() . "/$type'>" . wfMsg( 'recordadmin-newsearch', $type ) . "</a> | " |
| 40 | + . "<a href='" . $title->getLocalURL() . "'>" . wfMsg( 'recordadmin-newrecord' ) . "</a></div><br>\n" |
| 41 | + ); |
| 42 | + |
| 43 | + # Get posted form values if any |
| 44 | + $posted = array(); |
| 45 | + foreach ( $_POST as $k => $v ) if ( ereg( '^ra_(.+)$', $k, $m ) ) $posted[$m[1]] = $v; |
| 46 | + |
| 47 | + # Read in and prepare the form for this record type if one has been selected |
| 48 | + if ( $type ) $this->preProcessForm( $type ); |
| 49 | + |
| 50 | + # Extract the input names and types used in the form |
| 51 | + $this->examineForm(); |
| 52 | + |
| 53 | + # Clear any default values |
| 54 | + $this->populateForm( array() ); |
| 55 | + |
| 56 | + # If no type selected, render select list of record types from Category:Records |
| 57 | + if ( empty( $type ) ) { |
| 58 | + $wgOut->addWikiText( "==" . wfMsg( 'recordadmin-select' ) . "==\n" ); |
| 59 | + |
| 60 | + # Get titles in 'recordadmin-category' (default: Category:Records) and build option list |
| 61 | + $options = ''; |
| 62 | + $dbr = wfGetDB( DB_SLAVE ); |
| 63 | + $cl = $dbr->tableName( 'categorylinks' ); |
| 64 | + $cat = $dbr->addQuotes( wfMsgForContent( 'recordadmin-category' ) ); |
| 65 | + $res = $dbr->select( $cl, 'cl_from', "cl_to = $cat", __METHOD__, array( 'ORDER BY' => 'cl_sortkey' ) ); |
| 66 | + while ( $row = $dbr->fetchRow( $res ) ) $options .= '<option>' . Title::newFromID( $row[0] )->getText() . '</option>'; |
| 67 | + |
| 68 | + # Render type-selecting form |
| 69 | + $wgOut->addHTML( Xml::element( 'form', array( 'action' => $title->getLocalURL( 'action=submit' ), 'method' => 'post' ), null ) |
| 70 | + . "<select name='wpType'>$options</select> " |
| 71 | + . Xml::element( 'input', array( 'type' => 'submit', 'value' => wfMsg( 'recordadmin-submit' ) ) ) |
| 72 | + . '</form>' |
| 73 | + ); |
| 74 | + } |
| 75 | + |
| 76 | + # Record type known, but no record selected, render form for searching or creating |
| 77 | + elseif ( empty( $record ) ) { |
| 78 | + $wgOut->addWikiText( "==" . wfMsg( 'recordadmin-create', $type ) . "==\n" ); |
| 79 | + |
| 80 | + # Process Create submission |
| 81 | + if ( count( $posted ) && $wgRequest->getText( 'wpCreate' ) ) { |
| 82 | + if ( empty( $wpTitle ) ) { |
| 83 | + $wpTitle = $this->guid; |
| 84 | + if ( $wgRecordAdminUseNamespaces ) $wpTitle = "$type:$wpTitle"; |
| 85 | + } |
| 86 | + $t = Title::newFromText( $wpTitle ); |
| 87 | + if ( is_object( $t ) ) { |
| 88 | + if ( $t->exists() ) $wgOut->addHTML( "<div class='errorbox'>" . wfMsg( 'recordadmin-alreadyexist' , $wpTitle ) . "</div>\n" ); |
| 89 | + else { |
| 90 | + |
| 91 | + # Attempt to create the article |
| 92 | + $article = new Article( $t ); |
| 93 | + $summary = "[[Special:RecordAdmin/$type|RecordAdmin]]:" . wfMsg( 'recordadmin-summary-typecreated' ); |
| 94 | + $text = ''; |
| 95 | + foreach ( $posted as $k => $v ) if ( $v ) { |
| 96 | + if ( $this->types[$k] == 'bool' ) $v = 'yes'; |
| 97 | + $text .= "| $k = $v\n"; |
| 98 | + } |
| 99 | + $text = $text ? "{{" . "$type\n$text}}" : "{{" . "$type}}"; |
| 100 | + $success = $article->doEdit( $text, $summary, EDIT_NEW ); |
| 101 | + |
| 102 | + # Report success or error |
| 103 | + if ( $success ) $wgOut->addHTML( "<div class='successbox'>" . wfMsg( 'recordadmin-createsuccess', $wpTitle ) . "</div>\n" ); |
| 104 | + else $wgOut->addHTML( "<div class='errorbox'>" . wfMsg( 'recordadmin-createerror', $type ) . "</div>\n" ); |
| 105 | + } |
| 106 | + } else $wgOut->addHTML( "<div class='errorbox'>" . wfMsg( 'recordadmin-badtitle' ) . "</div>\n" ); |
| 107 | + $wgOut->addHTML( "<br><br><br><br>\n" ); |
| 108 | + } |
| 109 | + |
| 110 | + # Populate the search form with any posted values |
| 111 | + $this->populateForm( $posted ); |
| 112 | + |
| 113 | + # Render the form |
| 114 | + $wgOut->addHTML( |
| 115 | + Xml::element( 'form', array( 'class' => strtolower($type).'-record recordadmin', 'action' => $title->getLocalURL( 'action=submit' ), 'method' => 'post' ), null ) |
| 116 | + . '<b>' . wfMsg( 'recordadmin-recordid' ) . '</b> ' . Xml::element( 'input', array( 'name' => 'wpTitle', 'size' => 30, 'value' => $wpTitle ) ) |
| 117 | + . ' ' . Xml::element( 'input', array( 'name' => 'wpInvert', 'type' => 'checkbox' ) ) . ' ' . wfMsg( 'recordadmin-invert' ) |
| 118 | + . "\n<br><br><hr><br>\n{$this->form}" |
| 119 | + . Xml::element( 'input', array( 'type' => 'hidden', 'name' => 'wpType', 'value' => $type ) ) |
| 120 | + . '<br><hr><br><table width="100%"><tr>' |
| 121 | + . '<td>' . Xml::element( 'input', array( 'type' => 'submit', 'name' => 'wpFind', 'value' => wfMsg( 'recordadmin-buttonsearch' ) ) ) . '</td>' |
| 122 | + . '<td>' . Xml::element( 'input', array( 'type' => 'submit', 'name' => 'wpCreate', 'value' => wfMsg( 'recordadmin-buttoncreate' ) ) ) . '</td>' |
| 123 | + . '<td width="100%" align="left">' . Xml::element( 'input', array( 'type' => 'reset', 'value' => wfMsg( 'recordadmin-buttonreset' ) ) ) . '</td>' |
| 124 | + . '</tr></table></form>' |
| 125 | + ); |
| 126 | + |
| 127 | + # Process Find submission |
| 128 | + if ( count( $posted ) && $wgRequest->getText( 'wpFind' ) ) { |
| 129 | + $wgOut->addWikiText( "<br>\n== " . wfMsg( 'recordadmin-searchresult' ) . " ==\n" ); |
| 130 | + |
| 131 | + # Select records which use the template and exhibit a matching title and other fields |
| 132 | + $records = $this->getRecords( $type, $posted, $wpTitle, $invert ); |
| 133 | + |
| 134 | + # Render resulting records |
| 135 | + $wgOut->addHTML( $this->renderRecords($records) ); |
| 136 | + |
| 137 | + } |
| 138 | + } |
| 139 | + |
| 140 | + # A specific record has been selected, render form for updating |
| 141 | + else { |
| 142 | + $wgOut->addWikiText( "== " . wfMsg( 'recordadmin-edit', $record ) . " ==\n" ); |
| 143 | + $article = new Article( Title::newFromText( $record ) ); |
| 144 | + $text = $article->fetchContent(); |
| 145 | + |
| 146 | + # Update article if form posted |
| 147 | + if ( count( $posted ) ) { |
| 148 | + |
| 149 | + # Get the location and length of the record braces to replace |
| 150 | + foreach ( $this->examineBraces( $text ) as $brace ) if ( $brace['NAME'] == $type ) $braces = $brace; |
| 151 | + |
| 152 | + # Attempt to save the article |
| 153 | + $summary = "[[Special:RecordAdmin/$type|" . wfMsgForContent( 'recordadmin' ) . "]]: " . wfMsgForContent( 'recordadmin-typeupdated', $type ); |
| 154 | + $replace = ''; |
| 155 | + foreach ( $posted as $k => $v ) if ( $v ) { |
| 156 | + if ( $this->types[$k] == 'bool' ) $v = 'yes'; |
| 157 | + $replace .= "| $k = $v\n"; |
| 158 | + } |
| 159 | + $replace = $replace ? "{{" . "$type\n$replace}}" : "{{" . "$type}}"; |
| 160 | + $text = substr_replace( $text, $replace, $braces['OFFSET'], $braces['LENGTH'] ); |
| 161 | + $success = $article->doEdit( $text, $summary, EDIT_UPDATE ); |
| 162 | + |
| 163 | + # Report success or error |
| 164 | + if ( $success ) $wgOut->addHTML( "<div class='successbox'>" . wfMsg( 'recordadmin-updatesuccess', $type ) . "</div>\n" ); |
| 165 | + else $wgOut->addHTML( "<div class='errorbox'>" . wfMsg( 'recordadmin-updateerror' ) . "</div>\n" ); |
| 166 | + $wgOut->addHTML( "<br><br><br><br>\n" ); |
| 167 | + } |
| 168 | + |
| 169 | + # Populate the form with the current values in the article |
| 170 | + foreach ( $this->examineBraces( $text ) as $brace ) if ( $brace['NAME'] == $type ) $braces = $brace; |
| 171 | + $this->populateForm( substr( $text, $braces['OFFSET'], $braces['LENGTH'] ) ); |
| 172 | + |
| 173 | + # Render the form |
| 174 | + $wgOut->addHTML( Xml::element( 'form', array( 'class' => 'recordadmin', 'action' => $title->getLocalURL( 'action=submit' ), 'method' => 'post' ), null ) ); |
| 175 | + $wgOut->addHTML( $this->form ); |
| 176 | + $wgOut->addHTML( Xml::element( 'input', array( 'type' => 'hidden', 'name' => 'wpType', 'value' => $type ) ) ); |
| 177 | + $wgOut->addHTML( Xml::element( 'input', array( 'type' => 'hidden', 'name' => 'wpRecord', 'value' => $record ) ) ); |
| 178 | + $wgOut->addHTML( '<br><hr><br><table width="100%"><tr>' |
| 179 | + . '<td>' . Xml::element( 'input', array( 'type' => 'submit', 'value' => wfMsg( 'recordadmin-buttonsave' ) ) ) . '</td>' |
| 180 | + . '<td width="100%" align="left">' . Xml::element( 'input', array( 'type' => 'reset', 'value' => wfMsg( 'recordadmin-buttonreset' ) ) ) . '</td>' |
| 181 | + . '</tr></table></form>' |
| 182 | + ); |
| 183 | + } |
| 184 | + } |
| 185 | + |
| 186 | + /** |
| 187 | + * Return an array of records given type and other criteria |
| 188 | + */ |
| 189 | + function getRecords($type, $posted, $wpTitle = '', $invert = false, $orderby = 'created desc') { |
| 190 | + $records = array(); |
| 191 | + $dbr = wfGetDB( DB_SLAVE ); |
| 192 | + $tbl = $dbr->tableName( 'templatelinks' ); |
| 193 | + $ty = $dbr->addQuotes( $type ); |
| 194 | + $res = $dbr->select( $tbl, 'tl_from', "tl_namespace = 10 AND tl_title = $ty", __METHOD__ ); |
| 195 | + while ( $row = $dbr->fetchRow( $res ) ) { |
| 196 | + $t = Title::newFromID( $row[0] ); |
| 197 | + if ( empty( $wpTitle ) || eregi( $wpTitle, $t->getPrefixedText() ) ) { |
| 198 | + $a = new Article( $t ); |
| 199 | + $text = $a->getContent(); |
| 200 | + $match = true; |
| 201 | + $r = array( 0 => $t, 'title' => $t->getPrefixedText() ); |
| 202 | + foreach ( array_keys( $this->types ) as $k ) { |
| 203 | + $v = isset( $posted[$k] ) ? ( $this->types[$k] == 'bool' ? 'yes' : $posted[$k] ) : ''; |
| 204 | + $i = preg_match( "|\s*\|\s*$k\s*=\s*(.*?)\s*(?=[\|\}])|si", $text, $m ); |
| 205 | + if ( $v && !( $i && eregi( $v, $m[1] ) ) ) $match = false; |
| 206 | + $r[$k] = isset( $m[1] ) ? $m[1] : ''; |
| 207 | + } |
| 208 | + if ( $invert ) $match = !$match; |
| 209 | + if ( $match ) $records[] = $r; |
| 210 | + } |
| 211 | + } |
| 212 | + $dbr->freeResult( $res ); |
| 213 | + |
| 214 | + # Add the creation date column to the records |
| 215 | + foreach ( $records as $i => $r ) { |
| 216 | + $t = $r[0]; |
| 217 | + $id = $t->getArticleID(); |
| 218 | + $tbl = $dbr->tableName( 'revision' ); |
| 219 | + $row = $dbr->selectRow( |
| 220 | + $tbl, |
| 221 | + 'rev_timestamp', |
| 222 | + "rev_page = $id", |
| 223 | + __METHOD__, |
| 224 | + array( 'ORDER BY' => 'rev_timestamp' ) |
| 225 | + ); |
| 226 | + $records[$i]['created'] = $row->rev_timestamp; |
| 227 | + } |
| 228 | + |
| 229 | + # Sort the records according to "orderby" parameter |
| 230 | + if ($this->desc = eregi(' +desc *$', $orderby)) $orderby = eregi_replace(' +desc *$', '', $orderby); |
| 231 | + $this->orderby = $orderby; |
| 232 | + usort($records, array($this, 'sortCallback')); |
| 233 | + |
| 234 | + return $records; |
| 235 | + } |
| 236 | + |
| 237 | + /** |
| 238 | + * Compares to arrays by column |
| 239 | + */ |
| 240 | + function sortCallback($row1, $row2) { |
| 241 | + if (!isset($row1[$this->orderby]) || !isset($row1[$this->orderby])) return 0; |
| 242 | + if ($row1[$this->orderby] == $row2[$this->orderby]) return 0; |
| 243 | + $cmp = $row1[$this->orderby] > $row2[$this->orderby] ? 1 : -1; |
| 244 | + return $this->desc ? -$cmp : $cmp; |
| 245 | + } |
| 246 | + |
| 247 | + /** |
| 248 | + * Render a set of records returned by getRecords() as an HTML table |
| 249 | + */ |
| 250 | + function renderRecords($records, $cols = false, $sortable = true) { |
| 251 | + if (count($records) < 1) return wfMsg( 'recordadmin-nomatch' ); |
| 252 | + |
| 253 | + $special = Title::makeTitle( NS_SPECIAL, 'RecordAdmin' ); |
| 254 | + $type = $this->type; |
| 255 | + $sortable = $sortable ? ' sortable' : ''; |
| 256 | + $br = $sortable ? '<br />' : ''; |
| 257 | + |
| 258 | + # Table header |
| 259 | + $table = "<table class='recordadmin$sortable $type-record'>\n<tr>"; |
| 260 | + $th = array( |
| 261 | + 'title' => "<th class='col0'>" . wfMsg( 'recordadmin-title', $type ) . "$br</th>", |
| 262 | + 'actions' => "<th class='col1'>" . wfMsg( 'recordadmin-actions' ) . "$br</th>", |
| 263 | + 'created' => "<th class='col2'>" . wfMsg( 'recordadmin-created' ) . "$br</th>" |
| 264 | + ); |
| 265 | + foreach ( array_keys($this->types) as $col ) { |
| 266 | + $class = 'col'.preg_replace('|\W|', '-', $col); |
| 267 | + $th[$col] = "<th class='$class'>$col$br</th>"; |
| 268 | + } |
| 269 | + foreach ( $cols ? $cols : array_keys($th) as $col ) $table .= $th[$col]."\n"; |
| 270 | + $table .= "</tr>\n"; |
| 271 | + |
| 272 | + $stripe = ''; |
| 273 | + foreach ( $records as $r ) { |
| 274 | + $ts = preg_replace( '|^..(..)(..)(..)(..)(..)..$|', '$3/$2/$1 $4:$5', $r['created'] ); |
| 275 | + $t = $r[0]; |
| 276 | + $u = $t->getLocalURL(); |
| 277 | + $col = $r['title']; |
| 278 | + $stripe = $stripe ? '' : ' class="stripe"'; |
| 279 | + $table .= "<tr$stripe>"; |
| 280 | + $row = array( |
| 281 | + 'title' => "<td class='col0'><a href='$u'>$col</a></td>", |
| 282 | + 'actions' => "<td class='col1'>(<a href='$u'>" . wfMsg( 'recordadmin-viewlink' ) . "</a>)". |
| 283 | + "(<a href='" . $special->getLocalURL( "wpType=$type&wpRecord=$col" ) . "'>" . wfMsg( 'recordadmin-editlink' ) . "</a>)</td>", |
| 284 | + 'created' => "<td class='col2'>$ts</td>\n" |
| 285 | + ); |
| 286 | + foreach ( array_keys( $this->types ) as $col ) { |
| 287 | + $v = isset( $r[$col] ) ? $r[$col] : ' '; |
| 288 | + $class = 'col'.preg_replace('|\W|', '-', $col); |
| 289 | + $row[$col] = "<td class='$class'>$v</td>"; |
| 290 | + } |
| 291 | + foreach ($cols ? $cols : array_keys($th) as $col) $table .= $row[$col]."\n"; |
| 292 | + |
| 293 | + $table .= "</tr>\n"; |
| 294 | + } |
| 295 | + $table .= "</table>\n"; |
| 296 | + |
| 297 | + return $table; |
| 298 | + } |
| 299 | + |
| 300 | + /** |
| 301 | + * Read in and prepare the form (for use as a search filter) for passed record type |
| 302 | + * - we're using the record's own form as a filter for searching for records |
| 303 | + * - extract only the content from between the form tags and remove any submit inputs |
| 304 | + */ |
| 305 | + function preProcessForm( $type ) { |
| 306 | + $this->type = $type; |
| 307 | + $title = Title::newFromText( $type, NS_FORM ); |
| 308 | + if ( $title->exists() ) { |
| 309 | + $form = new Article( $title ); |
| 310 | + $form = $form->getContent(); |
| 311 | + $form = preg_replace( '#<input.+?type=[\'"]?submit["\']?.+?/(input| *)>#', '', $form ); # remove submits |
| 312 | + $form = preg_replace( '#^.+?<form.+?>#s', '', $form ); # remove up to and including form open |
| 313 | + $form = preg_replace( '#</form>.+?$#s', '', $form ); # remove form close and everything after |
| 314 | + $form = preg_replace( '#name\s*=\s*([\'"])(.*?)\\1#s', 'name="ra_$2"', $form ); # prefix input names with ra_ |
| 315 | + $form = preg_replace( '#(<select.+?>)\s*(?!<option/>)#s', '$1<option selected/>', $form ); # ensure all select lists have default blank |
| 316 | + } |
| 317 | + |
| 318 | + # Create a red link to the form if it doesn't exist |
| 319 | + else { |
| 320 | + $form = "<b>" . wfMsg( 'recordadmin-noform', $type ) . "</b>" |
| 321 | + . "<br><br>" . wfMsg( 'recordadmin-createlink', $title->getLocalURL( 'action=edit' ) ) . "</div>"; |
| 322 | + } |
| 323 | + $this->form = $form; |
| 324 | + } |
| 325 | + |
| 326 | + |
| 327 | + /** |
| 328 | + * Populates the form values from the passed values |
| 329 | + * - $form is HTML text |
| 330 | + * - $values may be a hash or wikitext template syntax |
| 331 | + */ |
| 332 | + function populateForm( $values ) { |
| 333 | + |
| 334 | + # If values are wikitext, convert to hash |
| 335 | + if ( !is_array( $values ) ) { |
| 336 | + $text = $values; |
| 337 | + $values = array(); |
| 338 | + preg_match_all( "|\|\s*(.+?)\s*=\s*(.*?)\s*(?=[\|\}])|s", $text, $m ); |
| 339 | + foreach ( $m[1] as $i => $k ) $values[$k] = $m[2][$i]; |
| 340 | + } |
| 341 | + |
| 342 | + # Add the values into the form's HTML depending on their type |
| 343 | + foreach ( $this->types as $k => $type ) { |
| 344 | + |
| 345 | + # Get this input element's html text and position and length |
| 346 | + preg_match( "|<([a-zA-Z]+)[^<]+?name=\"ra_$k\".*?>(.*?</\\1>)?|s", $this->form, $m, PREG_OFFSET_CAPTURE ); |
| 347 | + list( $html, $pos ) = $m[0]; |
| 348 | + $len = strlen( $html ); |
| 349 | + |
| 350 | + # Modify the element according to its type |
| 351 | + # - clears default value, then adds new value |
| 352 | + $v = isset( $values[$k] ) ? $values[$k] : ''; |
| 353 | + switch ( $type ) { |
| 354 | + case 'text': |
| 355 | + $html = preg_replace( "|value\s*=\s*\".*?\"|", "", $html ); |
| 356 | + if ( $v ) $html = preg_replace( "|(/?>)$|", " value=\"$v\" $1", $html ); |
| 357 | + break; |
| 358 | + case 'bool': |
| 359 | + $html = preg_replace( "|checked|", "", $html ); |
| 360 | + if ( $v ) $html = preg_replace( "|(/?>)$|", " checked $1", $html ); |
| 361 | + break; |
| 362 | + case 'list': |
| 363 | + $html = preg_replace( "|(<option[^<>]*) selected|", "$1", $html ); |
| 364 | + if ( $v ) $html = preg_replace( "|(?<=<option)(?=>$v</option>)|s", " selected", $html ); |
| 365 | + break; |
| 366 | + case 'blob': |
| 367 | + $html = preg_replace( "|>.*?(?=</textarea>)|s", ">$v", $html ); |
| 368 | + break; |
| 369 | + } |
| 370 | + |
| 371 | + # Replace the element in the form with the modified html |
| 372 | + $this->form = substr_replace( $this->form, $html, $pos, $len ); |
| 373 | + } |
| 374 | + } |
| 375 | + |
| 376 | + /** |
| 377 | + * Returns an array of types used by the passed HTML text form |
| 378 | + * - supported types, text, select, checkbox, textarea |
| 379 | + */ |
| 380 | + function examineForm() { |
| 381 | + $this->types = array(); |
| 382 | + preg_match_all( "|<([a-zA-Z]+)[^<]+?name=\"ra_(.+?)\".*?>|", $this->form, $m ); |
| 383 | + foreach ( $m[2] as $i => $k ) { |
| 384 | + $tag = $m[1][$i]; |
| 385 | + $type = preg_match( "|type\s*=\s*\"(.+?)\"|", $m[0][$i], $n ) ? $n[1] : ''; |
| 386 | + switch ( $tag ) { |
| 387 | + case 'input': |
| 388 | + switch ( $type ) { |
| 389 | + case 'checkbox': |
| 390 | + $this->types[$k] = 'bool'; |
| 391 | + break; |
| 392 | + default: |
| 393 | + $this->types[$k] = 'text'; |
| 394 | + break; |
| 395 | + } |
| 396 | + break; |
| 397 | + case 'select': |
| 398 | + $this->types[$k] = 'list'; |
| 399 | + break; |
| 400 | + case 'textarea': |
| 401 | + $this->types[$k] = 'blob'; |
| 402 | + break; |
| 403 | + } |
| 404 | + } |
| 405 | + } |
| 406 | + |
| 407 | + /** |
| 408 | + * Return array of braces used and the name, position, length and depth |
| 409 | + * See http://www.organicdesign.co.nz/MediaWiki_code_snippets |
| 410 | + */ |
| 411 | + function examineBraces( &$content ) { |
| 412 | + $braces = array(); |
| 413 | + $depths = array(); |
| 414 | + $depth = 1; |
| 415 | + $index = 0; |
| 416 | + while ( preg_match( "/\\{\\{\\s*([#a-z0-9_]*)|\\}\\}/is", $content, $match, PREG_OFFSET_CAPTURE, $index ) ) { |
| 417 | + $index = $match[0][1] + 2; |
| 418 | + if ( $match[0][0] == '}}' ) { |
| 419 | + $brace =& $braces[$depths[$depth - 1]]; |
| 420 | + $brace['LENGTH'] = $match[0][1] - $brace['OFFSET'] + 2; |
| 421 | + $brace['DEPTH'] = $depth--; |
| 422 | + } |
| 423 | + else { |
| 424 | + $depths[$depth++] = count( $braces ); |
| 425 | + $braces[] = array( |
| 426 | + 'NAME' => $match[1][0], |
| 427 | + 'OFFSET' => $match[0][1] |
| 428 | + ); |
| 429 | + } |
| 430 | + } |
| 431 | + return $braces; |
| 432 | + } |
| 433 | + |
| 434 | + /** |
| 435 | + * A callback for processing public forms |
| 436 | + */ |
| 437 | + function createRecord() { |
| 438 | + global $wgRequest, $wgRecordAdminUseNamespaces; |
| 439 | + $type = $wgRequest->getText( 'wpType' ); |
| 440 | + $title = $wgRequest->getText( 'wpTitle' ); |
| 441 | + |
| 442 | + # Get types in this kind of record from form |
| 443 | + $this->preProcessForm( $type ); |
| 444 | + $this->examineForm(); |
| 445 | + |
| 446 | + # Use guid if no title specified |
| 447 | + if ( empty( $title ) ) { |
| 448 | + $title = $this->guid; |
| 449 | + if ( $wgRecordAdminUseNamespaces ) $title = "$type:$title"; |
| 450 | + } |
| 451 | + |
| 452 | + # Attempt to create the article |
| 453 | + $title = Title::newFromText( $title ); |
| 454 | + if ( is_object( $title ) && !$title->exists() ) { |
| 455 | + $article = new Article( $title ); |
| 456 | + $summary = wfMsg( 'recordadmin-newcreated' ); |
| 457 | + $text = ''; |
| 458 | + foreach ( $_POST as $k => $v ) if ( $v && isset( $this->types[$k] ) ) { |
| 459 | + if ( $this->types[$k] == 'bool' ) $v = 'yes'; |
| 460 | + $text .= "| $k = $v\n"; |
| 461 | + } |
| 462 | + $text = $text ? "{{" . "$type\n$text}}" : "{{" . "$type}}"; |
| 463 | + $success = $article->doEdit( $text, $summary, EDIT_NEW ); |
| 464 | + } |
| 465 | + } |
| 466 | + |
| 467 | + /** |
| 468 | + * Render a record search in a parser-function |
| 469 | + */ |
| 470 | + function expandMagic(&$parser, $type) { |
| 471 | + $parser->mOutput->mCacheTime = -1; |
| 472 | + $filter = array(); |
| 473 | + $title = ''; |
| 474 | + $invert = false; |
| 475 | + $orderby = 'created desc'; |
| 476 | + $cols = false; |
| 477 | + $sortable = true; |
| 478 | + foreach (func_get_args() as $arg) if (!is_object($arg)) { |
| 479 | + if (preg_match("/^(.+?)\\s*=\\s*(.+)$/", $arg, $match)) { |
| 480 | + list(, $k, $v) = $match; |
| 481 | + if ($k == 'title') $title = $v; |
| 482 | + elseif ($k == 'invert') $invert = $v; |
| 483 | + elseif ($k == 'orderby') $orderby = $v; |
| 484 | + elseif ($k == 'cols') $cols = preg_split('/\s*,\s*/', $v); |
| 485 | + elseif ($k == 'sortable') $sortable = eregi('1|yes|true|on', $v); |
| 486 | + else $filter[$match[1]] = $match[2]; |
| 487 | + } |
| 488 | + } |
| 489 | + $this->preProcessForm($type); |
| 490 | + $this->examineForm(); |
| 491 | + $records = $this->getRecords($type, $filter, $title, $invert, $orderby); |
| 492 | + $table = $this->renderRecords($records, $cols, $sortable); |
| 493 | + return array( |
| 494 | + $table, |
| 495 | + 'noparse' => true, |
| 496 | + 'isHTML' => true |
| 497 | + ); |
| 498 | + |
| 499 | + } |
| 500 | + |
| 501 | + /** |
| 502 | + * If a record was created by a public form, make last 5 digits of ID available via a tag |
| 503 | + */ |
| 504 | + function expandTag( $text, $argv, &$parser ) { |
| 505 | + $parser->mOutput->mCacheTime = -1; |
| 506 | + return $this->guid ? substr( $this->guid, -5 ) : ''; |
| 507 | + } |
| 508 | + |
| 509 | +} |
Property changes on: tags/REL1_13_4/extensions/RecordAdmin/RecordAdmin_body.php |
___________________________________________________________________ |
Name: svn:eol-style |
1 | 510 | + native |
Index: tags/REL1_13_4/extensions/RecordAdmin/RecordAdmin.i18n.php |
— | — | @@ -0,0 +1,1084 @@ |
| 2 | +<?php |
| 3 | +/** |
| 4 | + * Internationalisation for RecordAdmin extension |
| 5 | + * |
| 6 | + * @author Bertrand GRONDIN |
| 7 | + * @file |
| 8 | + * @ingroup Extensions |
| 9 | + */ |
| 10 | + |
| 11 | +$messages = array(); |
| 12 | + |
| 13 | +/** English |
| 14 | + * @author Nad |
| 15 | + * @author Bertrand GRONDIN |
| 16 | + */ |
| 17 | +$messages['en'] = array( |
| 18 | + 'recordadmin' => 'Record administration', |
| 19 | + 'recordadmin-desc' => 'A [[Special:RecordAdmin|special page]] for finding and editing record pages using a form', |
| 20 | + 'recordadmin-category' => 'Records', |
| 21 | + 'recordadmin-select' => 'Select the type of record to search for', |
| 22 | + 'recordadmin-newsearch' => 'New $1 search', |
| 23 | + 'recordadmin-newrecord' => 'Select another record type', |
| 24 | + 'recordadmin-submit' => 'Submit', |
| 25 | + 'recordadmin-create' => 'Find or create a "$1" record', |
| 26 | + 'recordadmin-alreadyexist' => 'Sorry, "$1" already exists!', |
| 27 | + 'recordadmin-createsuccess' => '$1 created', |
| 28 | + 'recordadmin-createerror' => 'An error occurred while attempting to create the $1!', |
| 29 | + 'recordadmin-badtitle' => 'Bad title!', |
| 30 | + 'recordadmin-recordid' => 'Record ID:', |
| 31 | + 'recordadmin-invert' => 'Invert selection', |
| 32 | + 'recordadmin-buttonsearch' => 'Search', |
| 33 | + 'recordadmin-buttoncreate' => 'Create', |
| 34 | + 'recordadmin-buttonreset' => 'Reset', |
| 35 | + 'recordadmin-searchresult' => 'Search results', |
| 36 | + 'recordadmin-nomatch' => 'No matching records found!', |
| 37 | + 'recordadmin-edit' => 'Editing $1', |
| 38 | + 'recordadmin-typeupdated' => '$1 properties updated', |
| 39 | + 'recordadmin-updatesuccess' => '$1 updated', |
| 40 | + 'recordadmin-updateerror' => 'An error occurred during update', |
| 41 | + 'recordadmin-buttonsave' => 'Save', |
| 42 | + 'recordadmin-noform' => 'There is no form associated with "$1" records!', |
| 43 | + 'recordadmin-createlink' => '<a href=$1>create one</a>', |
| 44 | + 'recordadmin-newcreated' => 'New $1 created from public form', |
| 45 | + 'recordadmin-summary-typecreated' => 'New $1 created', |
| 46 | + 'recordadmin-viewlink' => 'view', |
| 47 | + 'recordadmin-editlink' => 'edit', |
| 48 | + 'recordadmin-title' => '$1', |
| 49 | + 'recordadmin-created' => 'Created', |
| 50 | + 'recordadmin-actions' => 'Actions', |
| 51 | + 'right-recordadmin' => 'Find and edit record pages', |
| 52 | +); |
| 53 | + |
| 54 | +/** Message documentation (Message documentation) |
| 55 | + * @author Purodha |
| 56 | + */ |
| 57 | +$messages['qqq'] = array( |
| 58 | + 'recordadmin-desc' => 'Short desciption of this extension. |
| 59 | +Shown in [[Special:Version]]. |
| 60 | +Do not translate or change tag names, or link anchors.', |
| 61 | + 'recordadmin-category' => 'Category which contains the templates used as records and having corresponding forms', |
| 62 | +); |
| 63 | + |
| 64 | +/** Arabic (العربية) |
| 65 | + * @author Meno25 |
| 66 | + * @author Ouda |
| 67 | + */ |
| 68 | +$messages['ar'] = array( |
| 69 | + 'recordadmin' => 'إدارة السجل', |
| 70 | + 'recordadmin-desc' => '[[Special:RecordAdmin|صفحة خاصة]] لإيجاد وتعديل صفحات السجلات باستخدام استمارة', |
| 71 | + 'recordadmin-category' => 'تسجيلات', |
| 72 | + 'recordadmin-select' => 'اختر نوع السجل للبحث عنه', |
| 73 | + 'recordadmin-newsearch' => 'بحث $1 جديد', |
| 74 | + 'recordadmin-newrecord' => 'أختار نوع سجل أخر', |
| 75 | + 'recordadmin-submit' => 'نفذ', |
| 76 | + 'recordadmin-create' => 'ابحث عن أو أنشئ سجل "$1"', |
| 77 | + 'recordadmin-alreadyexist' => '! للأسف، "$1" موجود فعلا', |
| 78 | + 'recordadmin-createsuccess' => '$1 أنشئت', |
| 79 | + 'recordadmin-createerror' => 'حدث خطأ أثناء محاولة إنشاء $1!', |
| 80 | + 'recordadmin-badtitle' => '! عنوان سئ', |
| 81 | + 'recordadmin-recordid' => 'رقم السجل:', |
| 82 | + 'recordadmin-invert' => 'أعكس الأختيار', |
| 83 | + 'recordadmin-buttonsearch' => 'بحث', |
| 84 | + 'recordadmin-buttoncreate' => 'أنشئ', |
| 85 | + 'recordadmin-buttonreset' => 'إعادة ضبط', |
| 86 | + 'recordadmin-searchresult' => 'نتائج البحث', |
| 87 | + 'recordadmin-nomatch' => 'لا سجلات مطابقة تم العثور عليها!', |
| 88 | + 'recordadmin-edit' => 'تعديل $1', |
| 89 | + 'recordadmin-typeupdated' => '$1 تم تحديث خصائص', |
| 90 | + 'recordadmin-updatesuccess' => '$1 تم تحديثه', |
| 91 | + 'recordadmin-updateerror' => 'حدث خطأ أثناء التحديث', |
| 92 | + 'recordadmin-buttonsave' => 'حفظ', |
| 93 | + 'recordadmin-noform' => 'لا توجد استمارة ملحقة بسجلات "$1"!', |
| 94 | + 'recordadmin-createlink' => '<a href=$1>إنشاء واحدة</a>', |
| 95 | + 'recordadmin-newcreated' => '$1 جديد تم إنشاؤه من الاستمارة العامة', |
| 96 | + 'recordadmin-summary-typecreated' => '$1 جديد تم إنشاؤه', |
| 97 | + 'recordadmin-viewlink' => 'عرض', |
| 98 | + 'recordadmin-editlink' => 'عدل', |
| 99 | + 'recordadmin-created' => 'أنشئت', |
| 100 | + 'recordadmin-actions' => 'أفعال', |
| 101 | + 'right-recordadmin' => 'أبحث و عدل صفحات السجل', |
| 102 | +); |
| 103 | + |
| 104 | +/** Egyptian Spoken Arabic (مصرى) |
| 105 | + * @author Ghaly |
| 106 | + * @author Meno25 |
| 107 | + * @author Ouda |
| 108 | + * @author Ramsis II |
| 109 | + */ |
| 110 | +$messages['arz'] = array( |
| 111 | + 'recordadmin' => 'إدارة السجل', |
| 112 | + 'recordadmin-desc' => '[[Special:RecordAdmin|صفحة خاصة]] لإيجاد وتعديل صفحات السجلات باستخدام استمارة', |
| 113 | + 'recordadmin-category' => 'سجلات', |
| 114 | + 'recordadmin-select' => 'اختر نوع السجل للبحث عنه', |
| 115 | + 'recordadmin-newsearch' => 'بحث $1 جديد', |
| 116 | + 'recordadmin-newrecord' => 'أختار نوع سجل تانى', |
| 117 | + 'recordadmin-submit' => 'نفذ', |
| 118 | + 'recordadmin-create' => 'ابحث عن أو أنشئ سجل "$1"', |
| 119 | + 'recordadmin-alreadyexist' => 'متأسفين، "$1" موجوده بالفعل', |
| 120 | + 'recordadmin-createsuccess' => '$1 أنشئت', |
| 121 | + 'recordadmin-createerror' => 'حدث خطأ أثناء محاولة إنشاء $1!', |
| 122 | + 'recordadmin-badtitle' => '! عنوان سئ', |
| 123 | + 'recordadmin-recordid' => 'رقم السجل:', |
| 124 | + 'recordadmin-invert' => 'أعكس الأختيار', |
| 125 | + 'recordadmin-buttonsearch' => 'بحث', |
| 126 | + 'recordadmin-buttoncreate' => 'أنشئ', |
| 127 | + 'recordadmin-buttonreset' => 'إعادة الظبط', |
| 128 | + 'recordadmin-searchresult' => 'نتائج البحث', |
| 129 | + 'recordadmin-nomatch' => 'لا يوجد سجلات متطابقة', |
| 130 | + 'recordadmin-edit' => 'تعديل $1', |
| 131 | + 'recordadmin-typeupdated' => '$1 تم تحديث خصائص', |
| 132 | + 'recordadmin-updatesuccess' => 'محدث $1', |
| 133 | + 'recordadmin-updateerror' => 'حدث خطأ أثناء التحديث', |
| 134 | + 'recordadmin-buttonsave' => 'حفظ', |
| 135 | + 'recordadmin-noform' => 'لا توجد استمارة ملحقة بسجلات "$1"!', |
| 136 | + 'recordadmin-createlink' => '<a href=$1>إنشاء واحدة</a>', |
| 137 | + 'recordadmin-newcreated' => '$1 جديد تم إنشاؤه من الاستمارة العامة', |
| 138 | + 'recordadmin-summary-typecreated' => '$1 جديد تم إنشاؤه', |
| 139 | + 'recordadmin-viewlink' => 'عرض', |
| 140 | + 'recordadmin-editlink' => 'عدل', |
| 141 | + 'recordadmin-created' => 'أنشئت', |
| 142 | + 'recordadmin-actions' => 'أفعال', |
| 143 | + 'right-recordadmin' => 'أبحث و عدل صفحات السجل', |
| 144 | +); |
| 145 | + |
| 146 | +/** Bulgarian (Български) |
| 147 | + * @author DCLXVI |
| 148 | + */ |
| 149 | +$messages['bg'] = array( |
| 150 | + 'recordadmin-submit' => 'Изпращане', |
| 151 | + 'recordadmin-invert' => 'Обръщане на избора', |
| 152 | + 'recordadmin-buttonsearch' => 'Търсене', |
| 153 | + 'recordadmin-buttoncreate' => 'Създаване', |
| 154 | + 'recordadmin-edit' => 'Редактиране на $1', |
| 155 | + 'recordadmin-updateerror' => 'Възникна грешка по време на обновяването', |
| 156 | + 'recordadmin-buttonsave' => 'Съхраняване', |
| 157 | + 'recordadmin-viewlink' => 'преглеждане', |
| 158 | + 'recordadmin-editlink' => 'редактиране', |
| 159 | +); |
| 160 | + |
| 161 | +/** German (Deutsch) |
| 162 | + * @author Imre |
| 163 | + * @author Melancholie |
| 164 | + * @author Revolus |
| 165 | + * @author Umherirrender |
| 166 | + */ |
| 167 | +$messages['de'] = array( |
| 168 | + 'recordadmin' => 'Aufzeichnungsadministrierung', |
| 169 | + 'recordadmin-desc' => 'Eine [[Special:RecordAdmin|spezielle Seite]] zum Finden und Editieren der Aufzeichnungsseiten mittels eines Formulars', |
| 170 | + 'recordadmin-category' => 'Aufzeichnungen', |
| 171 | + 'recordadmin-select' => 'Wähle den Aufzeichnungstypen, nach dem gesucht werden soll', |
| 172 | + 'recordadmin-newsearch' => 'Neue $1-Suche', |
| 173 | + 'recordadmin-newrecord' => 'Wähle einen anderen Aufzeichnungstypen', |
| 174 | + 'recordadmin-submit' => 'Übermitteln', |
| 175 | + 'recordadmin-create' => 'Finde oder Erstelle eine „$1“-Aufzeichnung', |
| 176 | + 'recordadmin-alreadyexist' => 'Entschuldige, „$1“ existiert bereits!', |
| 177 | + 'recordadmin-createsuccess' => '$1 erstellt', |
| 178 | + 'recordadmin-createerror' => 'Während des Erstellens von $1 trat ein Fehler auf!', |
| 179 | + 'recordadmin-badtitle' => 'Ungültiger Titel!', |
| 180 | + 'recordadmin-recordid' => 'Aufzeichnungskennung:', |
| 181 | + 'recordadmin-invert' => 'Auswahl umkehren', |
| 182 | + 'recordadmin-buttonsearch' => 'Suche', |
| 183 | + 'recordadmin-buttoncreate' => 'Erstelle', |
| 184 | + 'recordadmin-buttonreset' => 'Zurücksetzen', |
| 185 | + 'recordadmin-searchresult' => 'Suchergebnisse', |
| 186 | + 'recordadmin-nomatch' => 'Keine passenden Aufzeichnungen gefunden!', |
| 187 | + 'recordadmin-edit' => 'Ändere $1', |
| 188 | + 'recordadmin-typeupdated' => '$1 Werte aktualisiert', |
| 189 | + 'recordadmin-updatesuccess' => '$1 aktualisiert', |
| 190 | + 'recordadmin-updateerror' => 'Während der Aktualisierung trat ein Fehler auf', |
| 191 | + 'recordadmin-buttonsave' => 'Speichern', |
| 192 | + 'recordadmin-noform' => 'Es gibt kein Formular für „$1“-Aufzeichnungen!', |
| 193 | + 'recordadmin-createlink' => '<a href=$1>erstelle eins</a>', |
| 194 | + 'recordadmin-newcreated' => 'Neues $1 auf einem öffentlichen Formular erstellt', |
| 195 | + 'recordadmin-summary-typecreated' => 'Neues $1 erstellt', |
| 196 | + 'recordadmin-viewlink' => 'ansehen', |
| 197 | + 'recordadmin-editlink' => 'ändern', |
| 198 | + 'recordadmin-created' => 'Erstellt', |
| 199 | + 'recordadmin-actions' => 'Aktionen', |
| 200 | + 'right-recordadmin' => 'Finde und Editiere Aufzeichnungsseiten', |
| 201 | +); |
| 202 | + |
| 203 | +/** German (formal address) (Deutsch (Sie-Form)) |
| 204 | + * @author Revolus |
| 205 | + */ |
| 206 | +$messages['de-formal'] = array( |
| 207 | + 'recordadmin-select' => 'Ihre Prüfung dieser Seite/Version:', |
| 208 | +); |
| 209 | + |
| 210 | +/** Lower Sorbian (Dolnoserbski) |
| 211 | + * @author Michawiki |
| 212 | + */ |
| 213 | +$messages['dsb'] = array( |
| 214 | + 'recordadmin' => 'Administracija zapisow', |
| 215 | + 'recordadmin-desc' => '[[Special:RecordAdmin|Specialny bok]] za pytanje a wobźěłowanje zapisowych bokow z pomocu formulara', |
| 216 | + 'recordadmin-category' => 'Zapise', |
| 217 | + 'recordadmin-select' => 'Wubjeŕ typ zapisa, kótaryž ma se pytaś', |
| 218 | + 'recordadmin-newsearch' => 'Nowe pytanje $1', |
| 219 | + 'recordadmin-newrecord' => 'Wubjeŕ drugi zapisowy typ', |
| 220 | + 'recordadmin-submit' => 'Wótpósłaś', |
| 221 | + 'recordadmin-create' => 'Zapis "$1" namakaś abo napóraś', |
| 222 | + 'recordadmin-alreadyexist' => 'Wódaj, "$1" južo eksistěrujo!', |
| 223 | + 'recordadmin-createsuccess' => '$1 napórany', |
| 224 | + 'recordadmin-createerror' => 'Pśi wopyśe $1 napóraś jo zmólka nastała!', |
| 225 | + 'recordadmin-badtitle' => 'Njepłaśiwy titel!', |
| 226 | + 'recordadmin-recordid' => 'ID zapisa:', |
| 227 | + 'recordadmin-invert' => 'Wuběrk pśewobrośiś', |
| 228 | + 'recordadmin-buttonsearch' => 'Pytaś', |
| 229 | + 'recordadmin-buttoncreate' => 'Napóraś', |
| 230 | + 'recordadmin-buttonreset' => 'Anulěrowaś', |
| 231 | + 'recordadmin-searchresult' => 'Pytańske wuslědki', |
| 232 | + 'recordadmin-nomatch' => 'Žedne wótpowědne zapise namakane!', |
| 233 | + 'recordadmin-edit' => '$1 se wobźěłujo', |
| 234 | + 'recordadmin-typeupdated' => 'Kakosći $1 zaktualizěrowane', |
| 235 | + 'recordadmin-updatesuccess' => '$1 zaktualizěrowany', |
| 236 | + 'recordadmin-updateerror' => 'Zmólka jo nastała wob aktualizaciju', |
| 237 | + 'recordadmin-buttonsave' => 'Składowaś', |
| 238 | + 'recordadmin-noform' => 'Njejo formular za zapisy "$1"!', |
| 239 | + 'recordadmin-createlink' => '<a href=$1>jaden napóraś</a>', |
| 240 | + 'recordadmin-newcreated' => 'Nowy $1 ze zjawnego formulara napórany', |
| 241 | + 'recordadmin-summary-typecreated' => 'Nowy $1 napórany', |
| 242 | + 'recordadmin-viewlink' => 'woglědaś se', |
| 243 | + 'recordadmin-editlink' => 'wobźěłaś', |
| 244 | + 'recordadmin-created' => 'Napórany', |
| 245 | + 'recordadmin-actions' => 'Akcije', |
| 246 | + 'right-recordadmin' => 'Zapisowe boki namakaś a wobźěłaś', |
| 247 | +); |
| 248 | + |
| 249 | +/** Esperanto (Esperanto) |
| 250 | + * @author Yekrats |
| 251 | + */ |
| 252 | +$messages['eo'] = array( |
| 253 | + 'recordadmin-category' => 'Rekordoj', |
| 254 | + 'recordadmin-newsearch' => 'Nova $1 serĉo', |
| 255 | + 'recordadmin-submit' => 'Ek!', |
| 256 | + 'recordadmin-create' => 'Trovi aŭ krei rikordon "$1"', |
| 257 | + 'recordadmin-alreadyexist' => 'Bedaŭrinde, "$1" jam ekzistas!', |
| 258 | + 'recordadmin-createsuccess' => '$1 kreita', |
| 259 | + 'recordadmin-badtitle' => 'Fuŝa titolo!', |
| 260 | + 'recordadmin-invert' => 'Inversigi selekton', |
| 261 | + 'recordadmin-buttonsearch' => 'Serĉi', |
| 262 | + 'recordadmin-buttoncreate' => 'Krei', |
| 263 | + 'recordadmin-searchresult' => 'Rezultoj de serĉo', |
| 264 | + 'recordadmin-edit' => 'Redaktante $1', |
| 265 | + 'recordadmin-updatesuccess' => '$1 ĝisdatigita', |
| 266 | + 'recordadmin-buttonsave' => 'Konservi', |
| 267 | + 'recordadmin-createlink' => '<a href=$1>krei unu</a>', |
| 268 | + 'recordadmin-summary-typecreated' => 'Nova $1 kreita', |
| 269 | + 'recordadmin-viewlink' => 'vidi', |
| 270 | + 'recordadmin-editlink' => 'redakti', |
| 271 | + 'recordadmin-created' => 'Kreita', |
| 272 | +); |
| 273 | + |
| 274 | +/** Spanish (Español) |
| 275 | + * @author Imre |
| 276 | + */ |
| 277 | +$messages['es'] = array( |
| 278 | + 'recordadmin-buttonsearch' => 'Buscar', |
| 279 | + 'recordadmin-buttoncreate' => 'Crear', |
| 280 | + 'recordadmin-searchresult' => 'Resultados de la búsqueda', |
| 281 | + 'recordadmin-edit' => 'Editando $1', |
| 282 | + 'recordadmin-buttonsave' => 'Guardar', |
| 283 | + 'recordadmin-editlink' => 'editar', |
| 284 | +); |
| 285 | + |
| 286 | +/** Estonian (Eesti) |
| 287 | + * @author Avjoska |
| 288 | + */ |
| 289 | +$messages['et'] = array( |
| 290 | + 'recordadmin-newsearch' => 'Uus $1 otsing', |
| 291 | + 'recordadmin-badtitle' => 'Vale pealkiri!', |
| 292 | + 'recordadmin-buttonsearch' => 'Otsing', |
| 293 | + 'recordadmin-buttoncreate' => 'Loo', |
| 294 | + 'recordadmin-searchresult' => 'Otsingu tulemused', |
| 295 | + 'recordadmin-nomatch' => 'Sobivaid tulemusi ei leitud!', |
| 296 | + 'recordadmin-edit' => '$1 toimetamine', |
| 297 | + 'recordadmin-buttonsave' => 'Salvesta', |
| 298 | + 'recordadmin-viewlink' => 'vaata', |
| 299 | + 'recordadmin-editlink' => 'toimeta', |
| 300 | +); |
| 301 | + |
| 302 | +/** Basque (Euskara) |
| 303 | + * @author An13sa |
| 304 | + */ |
| 305 | +$messages['eu'] = array( |
| 306 | + 'recordadmin-badtitle' => 'Izenburu okerra!', |
| 307 | + 'recordadmin-buttonsearch' => 'Bilatu', |
| 308 | + 'recordadmin-buttoncreate' => 'Sortu', |
| 309 | + 'recordadmin-viewlink' => 'ikusi', |
| 310 | + 'recordadmin-editlink' => 'aldatu', |
| 311 | +); |
| 312 | + |
| 313 | +/** Finnish (Suomi) |
| 314 | + * @author Str4nd |
| 315 | + */ |
| 316 | +$messages['fi'] = array( |
| 317 | + 'recordadmin-editlink' => 'muokkaa', |
| 318 | +); |
| 319 | + |
| 320 | +/** French (Français) |
| 321 | + * @author Grondin |
| 322 | + * @author IAlex |
| 323 | + */ |
| 324 | +$messages['fr'] = array( |
| 325 | + 'recordadmin' => 'Gestion des enregistrements', |
| 326 | + 'recordadmin-desc' => 'Une page spéciale pour trouver et modifier l’enregistrement des pages par l’utilisation d’un formulaire', |
| 327 | + 'recordadmin-category' => 'Enregistrements', |
| 328 | + 'recordadmin-select' => 'Sélectionner le type d’enregistrement à rechercher pour', |
| 329 | + 'recordadmin-newsearch' => 'Nouvelle recherche $1', |
| 330 | + 'recordadmin-newrecord' => 'Sélectionner un autre type d’enregistrement', |
| 331 | + 'recordadmin-submit' => 'Soumettre', |
| 332 | + 'recordadmin-create' => 'Chercher ou créer un enregistrement « $1 »', |
| 333 | + 'recordadmin-alreadyexist' => 'Désolé, « $1 » existe déjà !', |
| 334 | + 'recordadmin-createsuccess' => '$1 creé avec succès', |
| 335 | + 'recordadmin-createerror' => 'Une erreur est intervenue lors de la tentative de création de $1 !', |
| 336 | + 'recordadmin-badtitle' => 'Mauvais titre!', |
| 337 | + 'recordadmin-recordid' => 'Enregistrement ID :', |
| 338 | + 'recordadmin-invert' => 'Inverser la sélection', |
| 339 | + 'recordadmin-buttonsearch' => 'Rechercher', |
| 340 | + 'recordadmin-buttoncreate' => 'Créer', |
| 341 | + 'recordadmin-buttonreset' => 'Réinitialiser', |
| 342 | + 'recordadmin-searchresult' => 'Résultats de la recherche', |
| 343 | + 'recordadmin-nomatch' => 'Aucun enregistrement correspondant de trouvé !', |
| 344 | + 'recordadmin-edit' => 'Modifier $1', |
| 345 | + 'recordadmin-typeupdated' => 'propriété de $1 mises à jour', |
| 346 | + 'recordadmin-updatesuccess' => '$1 mis à jour avec succès', |
| 347 | + 'recordadmin-updateerror' => 'Une erreur a été rencontrée lors de la mise à jour', |
| 348 | + 'recordadmin-buttonsave' => 'Sauvegarder', |
| 349 | + 'recordadmin-noform' => 'Il n’y a aucun formulaire avec l’enregistrement « $1 » !', |
| 350 | + 'recordadmin-createlink' => 'cliquez <a href=$1>ici</a> pour en créer un', |
| 351 | + 'recordadmin-newcreated' => 'Nouveau $1 créé à partir d’un formulaire public', |
| 352 | + 'recordadmin-summary-typecreated' => 'Nouveau $1 de créer', |
| 353 | + 'recordadmin-viewlink' => 'voir', |
| 354 | + 'recordadmin-editlink' => 'modifier', |
| 355 | + 'recordadmin-created' => 'Créé', |
| 356 | + 'recordadmin-actions' => 'Actions', |
| 357 | + 'right-recordadmin' => 'Trouver et modifier les pages d’enregistrement', |
| 358 | +); |
| 359 | + |
| 360 | +/** Galician (Galego) |
| 361 | + * @author Toliño |
| 362 | + */ |
| 363 | +$messages['gl'] = array( |
| 364 | + 'recordadmin' => 'Xestión dos rexistros', |
| 365 | + 'recordadmin-desc' => 'Unha [[Special:RecordAdmin|páxina especial]] para atopar e editar páxinas de rexistros usando un formulario', |
| 366 | + 'recordadmin-category' => 'Rexistros', |
| 367 | + 'recordadmin-select' => 'Seleccione o tipo de rexistro para procurar por', |
| 368 | + 'recordadmin-newsearch' => 'Nova procura $1', |
| 369 | + 'recordadmin-newrecord' => 'Seleccione outro tipo de rexistro', |
| 370 | + 'recordadmin-submit' => 'Enviar', |
| 371 | + 'recordadmin-create' => 'Atopar ou crear un rexistro "$1"', |
| 372 | + 'recordadmin-alreadyexist' => 'Sentímolo, "$1" xa existe!', |
| 373 | + 'recordadmin-createsuccess' => '"$1" creado', |
| 374 | + 'recordadmin-createerror' => 'Ocorreu un erro ao intentar crear o $1!', |
| 375 | + 'recordadmin-badtitle' => 'Título incorrecto!', |
| 376 | + 'recordadmin-recordid' => 'ID do rexistro:', |
| 377 | + 'recordadmin-invert' => 'Inverter a selección', |
| 378 | + 'recordadmin-buttonsearch' => 'Procurar', |
| 379 | + 'recordadmin-buttoncreate' => 'Crear', |
| 380 | + 'recordadmin-buttonreset' => 'Restablecer', |
| 381 | + 'recordadmin-searchresult' => 'Resultados da procura', |
| 382 | + 'recordadmin-nomatch' => 'Non se atoparon rexistros que coincidisen!', |
| 383 | + 'recordadmin-edit' => 'Editando "$1"', |
| 384 | + 'recordadmin-typeupdated' => 'Propiedades de "$1" actualizadas', |
| 385 | + 'recordadmin-updatesuccess' => '"$1" actualizado', |
| 386 | + 'recordadmin-updateerror' => 'Ocorreu un erro durante a actualización', |
| 387 | + 'recordadmin-buttonsave' => 'Gardar', |
| 388 | + 'recordadmin-noform' => 'Non hai ningún formulario asociado cos rexistros "$1"!', |
| 389 | + 'recordadmin-createlink' => '<a href=$1>crear un</a>', |
| 390 | + 'recordadmin-newcreated' => 'Novo $1 creado a partir dun formulario público', |
| 391 | + 'recordadmin-summary-typecreated' => 'Novo $1 creado', |
| 392 | + 'recordadmin-viewlink' => 'ver', |
| 393 | + 'recordadmin-editlink' => 'editar', |
| 394 | + 'recordadmin-created' => 'Creado', |
| 395 | + 'recordadmin-actions' => 'Accións', |
| 396 | + 'right-recordadmin' => 'Atopar e editar páxinas de rexistro', |
| 397 | +); |
| 398 | + |
| 399 | +/** Swiss German (Alemannisch) |
| 400 | + * @author Als-Holder |
| 401 | + */ |
| 402 | +$messages['gsw'] = array( |
| 403 | + 'recordadmin' => 'Ufzeichnigsverwaltig', |
| 404 | + 'recordadmin-desc' => 'E [[Special:RecordAdmin|speziälli Syte]] zum Finde un Bearbeite vu dr Ufzeichnigssyte mit eme Formular', |
| 405 | + 'recordadmin-category' => 'Ufzeichnige', |
| 406 | + 'recordadmin-select' => 'Wehl dr Ufzeichnigstyp, wu soll gsuecht wäre', |
| 407 | + 'recordadmin-newsearch' => 'Neji $1-Suechi', |
| 408 | + 'recordadmin-newrecord' => 'Wehl en andere Ufzeichnigstyp', |
| 409 | + 'recordadmin-submit' => 'Ibertrage', |
| 410 | + 'recordadmin-create' => 'Find e „$1“-Ufzeichnig oder leg eini aa', |
| 411 | + 'recordadmin-alreadyexist' => 'Excusez, „$1“ git s scho!', |
| 412 | + 'recordadmin-createsuccess' => '$1 aagleit', |
| 413 | + 'recordadmin-createerror' => 'Derwylscht $1 aagleit woren isch, isch e Fähler ufträtte!', |
| 414 | + 'recordadmin-badtitle' => 'Nit giltige Titel!', |
| 415 | + 'recordadmin-recordid' => 'Ufzeichnigskännig:', |
| 416 | + 'recordadmin-invert' => 'Uuswahl umchehre', |
| 417 | + 'recordadmin-buttonsearch' => 'Suechi', |
| 418 | + 'recordadmin-buttoncreate' => 'Leg aa', |
| 419 | + 'recordadmin-buttonreset' => 'Zruggsetze', |
| 420 | + 'recordadmin-searchresult' => 'Suechergebnis', |
| 421 | + 'recordadmin-nomatch' => 'Kei Ufzeichnige gfunde, wu passe!', |
| 422 | + 'recordadmin-edit' => '$1 ändere', |
| 423 | + 'recordadmin-typeupdated' => '$1 Wärt aktualisiert', |
| 424 | + 'recordadmin-updatesuccess' => '$1 aktualisiert', |
| 425 | + 'recordadmin-updateerror' => 'Derwylscht aktualisiert woren isch, isch e Fähler ufträtte!', |
| 426 | + 'recordadmin-buttonsave' => 'Spychere', |
| 427 | + 'recordadmin-noform' => 'S git kei Formular fir „$1“-Ufzeichnige!', |
| 428 | + 'recordadmin-createlink' => '<a href=$1>leg eis aa</a>', |
| 429 | + 'recordadmin-newcreated' => 'Nej $1 uf eme effentlige Formular aagleit', |
| 430 | + 'recordadmin-summary-typecreated' => 'Nej $1 aagleit', |
| 431 | + 'recordadmin-viewlink' => 'aaluege', |
| 432 | + 'recordadmin-editlink' => 'ändere', |
| 433 | + 'recordadmin-created' => 'Aagleit', |
| 434 | + 'recordadmin-actions' => 'Aktione', |
| 435 | + 'right-recordadmin' => 'Find Ufzeichnigssyte un bearbeit si', |
| 436 | +); |
| 437 | + |
| 438 | +/** Hebrew (עברית) |
| 439 | + * @author Rotemliss |
| 440 | + * @author YaronSh |
| 441 | + */ |
| 442 | +$messages['he'] = array( |
| 443 | + 'recordadmin' => 'ניהול רשומות', |
| 444 | + 'recordadmin-desc' => '[[Special:RecordAdmin|דף מיוחד]] למציאה ועריכה של דפי רשומות באמצעות טופס', |
| 445 | + 'recordadmin-category' => 'רשומות', |
| 446 | + 'recordadmin-select' => 'בחירת סוג הרשומות לחיפוש', |
| 447 | + 'recordadmin-newsearch' => 'חיפוש $1 חדש', |
| 448 | + 'recordadmin-newrecord' => 'בחירת סוג אחר של רשומות', |
| 449 | + 'recordadmin-submit' => 'שליחה', |
| 450 | + 'recordadmin-create' => 'מציאת או יצירת רשומת "$1"', |
| 451 | + 'recordadmin-alreadyexist' => '"$1" כבר קיים!', |
| 452 | + 'recordadmin-createsuccess' => '$1 נוצרה', |
| 453 | + 'recordadmin-createerror' => 'אירעה שגיאה בעת הנסיון ליצור את $1!', |
| 454 | + 'recordadmin-badtitle' => 'כותרת בלתי תקינה!', |
| 455 | + 'recordadmin-recordid' => 'מספר הרשומה:', |
| 456 | + 'recordadmin-invert' => 'הפיכת הבחירה', |
| 457 | + 'recordadmin-buttonsearch' => 'חיפוש', |
| 458 | + 'recordadmin-buttoncreate' => 'יצירה', |
| 459 | + 'recordadmin-buttonreset' => 'איפוס', |
| 460 | + 'recordadmin-searchresult' => 'תוצאות החיפוש', |
| 461 | + 'recordadmin-nomatch' => 'לא נמצאו רשומות תואמות!', |
| 462 | + 'recordadmin-edit' => 'עריכת $1', |
| 463 | + 'recordadmin-typeupdated' => 'עודכנו $1 מאפיינים', |
| 464 | + 'recordadmin-updatesuccess' => '$1 עודכנה', |
| 465 | + 'recordadmin-updateerror' => 'אירעה שגיאה במהלך העדכון', |
| 466 | + 'recordadmin-buttonsave' => 'שמירה', |
| 467 | + 'recordadmin-noform' => 'אין טופס המשוייך לרשומות "$1"!', |
| 468 | + 'recordadmin-createlink' => '<a href=$1>יצירת אחת כזו</a>', |
| 469 | + 'recordadmin-newcreated' => 'נוצרה $1 חדשה מטופס ציבורי', |
| 470 | + 'recordadmin-summary-typecreated' => 'נוצרה $1 חדשה', |
| 471 | + 'recordadmin-viewlink' => 'הצגה', |
| 472 | + 'recordadmin-editlink' => 'עריכה', |
| 473 | + 'recordadmin-created' => 'נוצרה', |
| 474 | + 'recordadmin-actions' => 'פעולות', |
| 475 | + 'right-recordadmin' => 'מציאת ועריכת דפי רשומות', |
| 476 | +); |
| 477 | + |
| 478 | +/** Upper Sorbian (Hornjoserbsce) |
| 479 | + * @author Michawiki |
| 480 | + */ |
| 481 | +$messages['hsb'] = array( |
| 482 | + 'recordadmin' => 'Administracija zregistrowanjow', |
| 483 | + 'recordadmin-desc' => '[[Special:RecordAdmin|Specialna strona]] za namakanje a wobdźěłowanje stronow zregistrowanjow z pomocu formulara', |
| 484 | + 'recordadmin-category' => 'Zregistrowanja', |
| 485 | + 'recordadmin-select' => 'Wubjer typ zregistrowanjow, kotrež so maja pytać', |
| 486 | + 'recordadmin-newsearch' => 'Nowe pytanje $1', |
| 487 | + 'recordadmin-newrecord' => 'Druhi typ zregistrowanja wubrać', |
| 488 | + 'recordadmin-submit' => 'Wotpósłać', |
| 489 | + 'recordadmin-create' => 'Zregistrowanje "$1" namakać abo wutworić', |
| 490 | + 'recordadmin-alreadyexist' => 'Wodaj, "$1" hižo eksistuje!', |
| 491 | + 'recordadmin-createsuccess' => '$1 wutworjene', |
| 492 | + 'recordadmin-createerror' => 'Při popyće $1 wutworić je zmylk nastał!', |
| 493 | + 'recordadmin-badtitle' => 'Wopačny titul!', |
| 494 | + 'recordadmin-recordid' => 'ID zregistrowanja:', |
| 495 | + 'recordadmin-invert' => 'Wuběr wobroćić', |
| 496 | + 'recordadmin-buttonsearch' => 'Pytać', |
| 497 | + 'recordadmin-buttoncreate' => 'Wutworić', |
| 498 | + 'recordadmin-buttonreset' => 'Wróćo stajić', |
| 499 | + 'recordadmin-searchresult' => 'Pytanske wuslědki', |
| 500 | + 'recordadmin-nomatch' => 'Žane wotpowědowace zregistrowanja namakane!', |
| 501 | + 'recordadmin-edit' => '$1 so wobdźěłuje', |
| 502 | + 'recordadmin-typeupdated' => '$1 {{PLURAL:$1|kajkosć zaktualizowana|kajkosći zaktualizowanej|kajkosće zaktualizowane|kajkosćow zaktualizowane}}', |
| 503 | + 'recordadmin-updatesuccess' => '$1 zaktualizowany', |
| 504 | + 'recordadmin-updateerror' => 'Při aktualizaciji je zmylk nastał', |
| 505 | + 'recordadmin-buttonsave' => 'Składować', |
| 506 | + 'recordadmin-noform' => 'Njeje formular za zregistrowanja "$1"!', |
| 507 | + 'recordadmin-createlink' => '<a href=$1>jedne wutworić</a>', |
| 508 | + 'recordadmin-newcreated' => 'Nowy $1 ze zjawneho formulara wutworjeny', |
| 509 | + 'recordadmin-summary-typecreated' => 'Nowy $1 wutworjeny', |
| 510 | + 'recordadmin-viewlink' => 'wobhladać sej', |
| 511 | + 'recordadmin-editlink' => 'wobdźěłać', |
| 512 | + 'recordadmin-created' => 'Wutworjeny', |
| 513 | + 'recordadmin-actions' => 'Akcije', |
| 514 | + 'right-recordadmin' => 'Strony zregistrowanjow namakać a wobdźěłać', |
| 515 | +); |
| 516 | + |
| 517 | +/** Interlingua (Interlingua) |
| 518 | + * @author McDutchie |
| 519 | + */ |
| 520 | +$messages['ia'] = array( |
| 521 | + 'recordadmin' => 'Gestion de datos', |
| 522 | + 'recordadmin-desc' => 'Un [[Special:RecordAdmin|pagina special]] pro cercar e modificar le paginas de datos con un formulario', |
| 523 | + 'recordadmin-category' => 'Datos', |
| 524 | + 'recordadmin-select' => 'Selige le typo de datos a cercar', |
| 525 | + 'recordadmin-newsearch' => 'Nove recerca $1', |
| 526 | + 'recordadmin-newrecord' => 'Selige un altere typo de datos', |
| 527 | + 'recordadmin-submit' => 'Submitter', |
| 528 | + 'recordadmin-create' => 'Cercar o crear un dato "$1"', |
| 529 | + 'recordadmin-alreadyexist' => 'Pardono, "$1" ja existe!', |
| 530 | + 'recordadmin-createsuccess' => '$1 create', |
| 531 | + 'recordadmin-createerror' => 'Un error occurreva durante le creation de $1!', |
| 532 | + 'recordadmin-badtitle' => 'Titulo invalide!', |
| 533 | + 'recordadmin-recordid' => 'ID del dato:', |
| 534 | + 'recordadmin-invert' => 'Inverter selection', |
| 535 | + 'recordadmin-buttonsearch' => 'Cercar', |
| 536 | + 'recordadmin-buttoncreate' => 'Crear', |
| 537 | + 'recordadmin-buttonreset' => 'Reinitiar', |
| 538 | + 'recordadmin-searchresult' => 'Resultatos del recerca', |
| 539 | + 'recordadmin-nomatch' => 'Nulle datos correspondente trovate!', |
| 540 | + 'recordadmin-edit' => 'Modificante $1', |
| 541 | + 'recordadmin-typeupdated' => '$1 proprietates actualisate', |
| 542 | + 'recordadmin-updatesuccess' => '$1 actualisate', |
| 543 | + 'recordadmin-updateerror' => 'Un error occurreva durante le actualisation', |
| 544 | + 'recordadmin-buttonsave' => 'Immagazinar', |
| 545 | + 'recordadmin-noform' => 'Non existe un formulario associate con datos "$1"!', |
| 546 | + 'recordadmin-createlink' => '<a href=$1>crear un</a>', |
| 547 | + 'recordadmin-newcreated' => 'Nove $1 create ab formulario public', |
| 548 | + 'recordadmin-summary-typecreated' => 'Nove $1 create', |
| 549 | + 'recordadmin-viewlink' => 'vider', |
| 550 | + 'recordadmin-editlink' => 'modificar', |
| 551 | + 'recordadmin-created' => 'Create', |
| 552 | + 'recordadmin-actions' => 'Actiones', |
| 553 | + 'right-recordadmin' => 'Cercar e modificar paginas de datos', |
| 554 | +); |
| 555 | + |
| 556 | +/** Japanese (日本語) |
| 557 | + * @author Fryed-peach |
| 558 | + * @author Hosiryuhosi |
| 559 | + */ |
| 560 | +$messages['ja'] = array( |
| 561 | + 'recordadmin' => '記録管理', |
| 562 | + 'recordadmin-desc' => 'フォームを用いて記録ページを検索および編集するための[[Special:RecordAdmin|特別ページ]]', |
| 563 | + 'recordadmin-category' => '記録', |
| 564 | + 'recordadmin-select' => '検索したい記録の種類を選んでください', |
| 565 | + 'recordadmin-newsearch' => '新規$1検索', |
| 566 | + 'recordadmin-newrecord' => '別の記録種類を選んでください', |
| 567 | + 'recordadmin-submit' => '送信', |
| 568 | + 'recordadmin-create' => '「$1」記録を検索または作成する', |
| 569 | + 'recordadmin-alreadyexist' => '「$1」は既に存在します。', |
| 570 | + 'recordadmin-createsuccess' => '$1 を作成', |
| 571 | + 'recordadmin-createerror' => '$1 の作成処理中にエラーが発生しました!', |
| 572 | + 'recordadmin-badtitle' => 'ページ名が不正です!', |
| 573 | + 'recordadmin-recordid' => '記録ID:', |
| 574 | + 'recordadmin-invert' => '選択を反転', |
| 575 | + 'recordadmin-buttonsearch' => '検索', |
| 576 | + 'recordadmin-buttoncreate' => '作成', |
| 577 | + 'recordadmin-buttonreset' => 'リセット', |
| 578 | + 'recordadmin-searchresult' => '検索結果', |
| 579 | + 'recordadmin-nomatch' => '一致する記録は見つかりませんでした!', |
| 580 | + 'recordadmin-edit' => '$1 を編集中', |
| 581 | + 'recordadmin-typeupdated' => '$1 のプロパティを更新', |
| 582 | + 'recordadmin-updatesuccess' => '$1 を更新', |
| 583 | + 'recordadmin-updateerror' => '更新中にエラーが発生', |
| 584 | + 'recordadmin-buttonsave' => '保存', |
| 585 | + 'recordadmin-noform' => '「$1」記録と関連付けられたフォームはありません。', |
| 586 | + 'recordadmin-createlink' => '<a href=$1>作成</a>', |
| 587 | + 'recordadmin-newcreated' => '新規$1が公開フォームから作成されました', |
| 588 | + 'recordadmin-summary-typecreated' => '新規$1が作成されました', |
| 589 | + 'recordadmin-viewlink' => '表示', |
| 590 | + 'recordadmin-editlink' => '編集', |
| 591 | + 'recordadmin-created' => '作成', |
| 592 | + 'recordadmin-actions' => '操作', |
| 593 | + 'right-recordadmin' => '記録ページを検索および編集する', |
| 594 | +); |
| 595 | + |
| 596 | +/** Khmer (ភាសាខ្មែរ) |
| 597 | + * @author Lovekhmer |
| 598 | + * @author Thearith |
| 599 | + */ |
| 600 | +$messages['km'] = array( |
| 601 | + 'recordadmin' => 'កណត់ត្រាការគ្រប់គ្រង', |
| 602 | + 'recordadmin-category' => 'កំណត់ត្រានានា', |
| 603 | + 'recordadmin-select' => 'ជ្រើសប្រភេទនៃកំណត់ត្រដើម្បីស្វែងរកសម្រាប់', |
| 604 | + 'recordadmin-newsearch' => 'ថ្មី $1 ស្វែងរក', |
| 605 | + 'recordadmin-newrecord' => 'ជ្រើសប្រភេទកំណត់ត្រមួយផ្សេងទៀត', |
| 606 | + 'recordadmin-submit' => 'ដាក់ស្នើ', |
| 607 | + 'recordadmin-create' => 'ស្វែងរក ឬ បង្កើតកំណត់ត្រា "$1"', |
| 608 | + 'recordadmin-alreadyexist' => 'សូមអភ័យទោស, "$1" មានរួចហើយ!', |
| 609 | + 'recordadmin-createsuccess' => '$1 ត្រូវបានបង្កើត', |
| 610 | + 'recordadmin-createerror' => 'កំហុសមួយបានកើតឡើង ខណៈដែលកំពុងព្យាយាមបង្កើត $1', |
| 611 | + 'recordadmin-badtitle' => 'ចំណងជើងមិនល្អ', |
| 612 | + 'recordadmin-invert' => 'ដាក់បញ្ច្រាសជម្រើស', |
| 613 | + 'recordadmin-buttonsearch' => 'ស្វែងរក', |
| 614 | + 'recordadmin-buttoncreate' => 'បង្កើត', |
| 615 | + 'recordadmin-buttonreset' => 'កំណត់ឡើងវិញ', |
| 616 | + 'recordadmin-searchresult' => 'លទ្ធផលស្វែងរក', |
| 617 | + 'recordadmin-edit' => 'កំពុងកែប្រែ $1', |
| 618 | + 'recordadmin-updatesuccess' => '$1 ត្រូវបានធ្វើឱ្យទាន់សម័យ', |
| 619 | + 'recordadmin-updateerror' => 'កំហុសមួយបានកើតឡើង កំលុងពេលធ្វើឱ្យទាន់សម័យ', |
| 620 | + 'recordadmin-buttonsave' => 'រក្សាទុក', |
| 621 | + 'recordadmin-summary-typecreated' => 'ថ្មី $1 ត្រូវបានបង្កើត', |
| 622 | + 'recordadmin-viewlink' => 'មើល', |
| 623 | + 'recordadmin-editlink' => 'កែប្រែ', |
| 624 | + 'recordadmin-created' => 'បានបង្កើត', |
| 625 | + 'right-recordadmin' => 'ស្វែងរក និងកែប្រែទំព័រកំណត់ត្រា', |
| 626 | +); |
| 627 | + |
| 628 | +/** Ripoarisch (Ripoarisch) |
| 629 | + * @author Purodha |
| 630 | + */ |
| 631 | +$messages['ksh'] = array( |
| 632 | + 'recordadmin' => 'Datesätz verwallde', |
| 633 | + 'recordadmin-desc' => 'En [[Special:RecordAdmin|Söndersigg]] för Sigge met Datesätz ze fenge un övver e Fommulaa zo ändere.', |
| 634 | + 'recordadmin-category' => 'Datesätz', |
| 635 | + 'recordadmin-select' => 'Donn de Zoot Datesatz ußsöke, för donoh ze söke', |
| 636 | + 'recordadmin-newsearch' => 'Neu $1 söke', |
| 637 | + 'recordadmin-newrecord' => 'Sök en ander Zoot Datesatz uß', |
| 638 | + 'recordadmin-submit' => 'Loß Jonn!', |
| 639 | + 'recordadmin-create' => 'Donn ene „$1“-Datesatz fenge udder ändere', |
| 640 | + 'recordadmin-alreadyexist' => '„$1“ jitt et ald.', |
| 641 | + 'recordadmin-createsuccess' => '$1 aanjelaat', |
| 642 | + 'recordadmin-createerror' => 'Ene Fääler eß opjetrodde: neu $1 kunnt nit aanjelaat wääde.', |
| 643 | + 'recordadmin-badtitle' => 'Dä Tittel es onjöltesch!', |
| 644 | + 'recordadmin-recordid' => 'Däm Datesatz sing Nommer:', |
| 645 | + 'recordadmin-invert' => 'Ußwahl ömdriehe', |
| 646 | + 'recordadmin-buttonsearch' => 'Söke', |
| 647 | + 'recordadmin-buttoncreate' => 'Aanläje', |
| 648 | + 'recordadmin-buttonreset' => 'Zeröksäze', |
| 649 | + 'recordadmin-searchresult' => 'Wat bem Söke eruß kohm', |
| 650 | + 'recordadmin-nomatch' => 'Kein zopaß Datesätz jefonge.', |
| 651 | + 'recordadmin-edit' => '$1 ändere', |
| 652 | + 'recordadmin-typeupdated' => 'De Date fun däm $1 sin jeändert', |
| 653 | + 'recordadmin-updatesuccess' => '$1 om neue Stand', |
| 654 | + 'recordadmin-updateerror' => 'Beim Ändere es jet donävve jejange', |
| 655 | + 'recordadmin-buttonsave' => 'Dä Datesatz avspeichere!', |
| 656 | + 'recordadmin-noform' => 'Mer han kei Fommulaa för de „$1“-Datesätz', |
| 657 | + 'recordadmin-createlink' => '<a href="$1">ein aanlääje</a>', |
| 658 | + 'recordadmin-newcreated' => 'Neu $1 övver e öffentlesch Fommulaa aanjelaat', |
| 659 | + 'recordadmin-summary-typecreated' => 'Neu $1 aanjelaat', |
| 660 | + 'recordadmin-viewlink' => 'aankike', |
| 661 | + 'recordadmin-editlink' => 'ändere', |
| 662 | + 'recordadmin-created' => 'Neu aanjelaat', |
| 663 | + 'recordadmin-actions' => 'Axjohne', |
| 664 | + 'right-recordadmin' => 'Datesätz fenge un ändere', |
| 665 | +); |
| 666 | + |
| 667 | +/** Luxembourgish (Lëtzebuergesch) |
| 668 | + * @author Robby |
| 669 | + */ |
| 670 | +$messages['lb'] = array( |
| 671 | + 'recordadmin-newsearch' => 'Nei $1 sichen', |
| 672 | + 'recordadmin-alreadyexist' => 'Pardon, "$1" gëtt et schonn!', |
| 673 | + 'recordadmin-badtitle' => 'Schlechten Titel!', |
| 674 | + 'recordadmin-invert' => 'Auswiel ëmdréinen', |
| 675 | + 'recordadmin-buttonsearch' => 'Sichen', |
| 676 | + 'recordadmin-buttonreset' => 'Zrécksetzen', |
| 677 | + 'recordadmin-searchresult' => 'Resultater vun der Sich', |
| 678 | + 'recordadmin-edit' => '$1 änneren', |
| 679 | + 'recordadmin-updatesuccess' => '$1 ass aktualiséiert', |
| 680 | + 'recordadmin-updateerror' => 'Beim Aktualiséieren ass e Feeler geschitt', |
| 681 | + 'recordadmin-buttonsave' => 'Späicheren', |
| 682 | + 'recordadmin-viewlink' => 'weisen', |
| 683 | + 'recordadmin-editlink' => 'änneren', |
| 684 | + 'recordadmin-created' => 'Ugeluecht', |
| 685 | + 'recordadmin-actions' => 'Aktiounen', |
| 686 | +); |
| 687 | + |
| 688 | +/** Nahuatl (Nāhuatl) |
| 689 | + * @author Fluence |
| 690 | + */ |
| 691 | +$messages['nah'] = array( |
| 692 | + 'recordadmin-badtitle' => '¡Ahcualli tōcāitl!', |
| 693 | + 'recordadmin-buttonsearch' => 'Titlatēmōz', |
| 694 | + 'recordadmin-buttoncreate' => 'Ticchīhuāz', |
| 695 | + 'recordadmin-edit' => 'Ticpatlacah $1', |
| 696 | + 'recordadmin-updateerror' => 'Ahcuallōtl ihcuāc ōmoyancuīya', |
| 697 | + 'recordadmin-buttonsave' => 'Ticchīhuāz', |
| 698 | + 'recordadmin-summary-typecreated' => 'Yancuīc $1 ōmochīuh', |
| 699 | + 'recordadmin-viewlink' => 'tiquittāz', |
| 700 | + 'recordadmin-editlink' => 'ticpatlāz', |
| 701 | + 'recordadmin-created' => 'Ōmochīuh', |
| 702 | +); |
| 703 | + |
| 704 | +/** Dutch (Nederlands) |
| 705 | + * @author Siebrand |
| 706 | + * @author Tvdm |
| 707 | + */ |
| 708 | +$messages['nl'] = array( |
| 709 | + 'recordadmin' => 'Gegevensbeheer', |
| 710 | + 'recordadmin-desc' => "Een [[Special:RecordAdmin|speciale pagina]] voor het zoeken en bewerken van gegevenspagina's die een formulier gebruiken", |
| 711 | + 'recordadmin-category' => 'Gegevens', |
| 712 | + 'recordadmin-select' => 'Geef aan welk type gegeven te zoeken', |
| 713 | + 'recordadmin-newsearch' => 'Nieuwe zoekopdracht voor $1', |
| 714 | + 'recordadmin-newrecord' => 'Een ander gegevenstype selecteren', |
| 715 | + 'recordadmin-submit' => 'OK', |
| 716 | + 'recordadmin-create' => 'Een gegeven van het type "$1" zoeken of aanmaken', |
| 717 | + 'recordadmin-alreadyexist' => '"$1" bestaat al!', |
| 718 | + 'recordadmin-createsuccess' => '$1 aangemaakt', |
| 719 | + 'recordadmin-createerror' => 'Er is een fout opgetreden bij het aanmaken van het $1.', |
| 720 | + 'recordadmin-badtitle' => 'Onjuiste paginanaam!', |
| 721 | + 'recordadmin-recordid' => 'Gegevensnummer:', |
| 722 | + 'recordadmin-invert' => 'Omgekeerde selectie', |
| 723 | + 'recordadmin-buttonsearch' => 'Zoeken', |
| 724 | + 'recordadmin-buttoncreate' => 'Aanmaken', |
| 725 | + 'recordadmin-buttonreset' => 'Fomulier wissen', |
| 726 | + 'recordadmin-searchresult' => 'Zoekresultaten', |
| 727 | + 'recordadmin-nomatch' => 'Er zijn geen gegevens gevonden die aan de voorwaarden voldoen.', |
| 728 | + 'recordadmin-edit' => 'Bezig met bewerken van $1', |
| 729 | + 'recordadmin-typeupdated' => 'De eigenschappen van $1 zijn bijgewerkt', |
| 730 | + 'recordadmin-updatesuccess' => '$1 is bijgewerkt', |
| 731 | + 'recordadmin-updateerror' => 'Er is een fout opgetreden tijdens het bijwerken', |
| 732 | + 'recordadmin-buttonsave' => 'Opslaan', |
| 733 | + 'recordadmin-noform' => 'Er is geen formulier gekoppeld aan gegevens van het type "$1"!', |
| 734 | + 'recordadmin-createlink' => '<a href=$1>aanmaken</a>', |
| 735 | + 'recordadmin-newcreated' => 'Nieuwe $1 aangemaakt van openbaar formulier', |
| 736 | + 'recordadmin-summary-typecreated' => 'Nieuwe $1 aangemaakt', |
| 737 | + 'recordadmin-viewlink' => 'bekijken', |
| 738 | + 'recordadmin-editlink' => 'bewerken', |
| 739 | + 'recordadmin-created' => 'Aangemaakt', |
| 740 | + 'recordadmin-actions' => 'Handelingen', |
| 741 | + 'right-recordadmin' => "Gegevenspagina's zoeken en bewerken", |
| 742 | +); |
| 743 | + |
| 744 | +/** Norwegian Nynorsk (Norsk (nynorsk)) |
| 745 | + * @author Gunnernett |
| 746 | + * @author Harald Khan |
| 747 | + */ |
| 748 | +$messages['nn'] = array( |
| 749 | + 'recordadmin' => 'Oppføringshandsaming', |
| 750 | + 'recordadmin-desc' => 'Ei [[Special:RecordAdmin|spesialside]] for å finna og redigera oppføringar ved å bruka eit skjema', |
| 751 | + 'recordadmin-category' => 'Oppføringar', |
| 752 | + 'recordadmin-select' => 'Vel type oppføring å søkja etter', |
| 753 | + 'recordadmin-newsearch' => 'Nytt søk etter $1', |
| 754 | + 'recordadmin-newrecord' => 'Vel ein annan type oppføring', |
| 755 | + 'recordadmin-submit' => 'Send', |
| 756 | + 'recordadmin-create' => 'Finn eller lag ei "$1" oppføring', |
| 757 | + 'recordadmin-alreadyexist' => '«$1» finst frå før.', |
| 758 | + 'recordadmin-createsuccess' => '$1 er oppretta', |
| 759 | + 'recordadmin-createerror' => 'Ein feil oppstod under opprettinga av $1!', |
| 760 | + 'recordadmin-badtitle' => 'Ugyldig tittel!', |
| 761 | + 'recordadmin-recordid' => 'Oppførings-ID:', |
| 762 | + 'recordadmin-invert' => 'Vend om utval', |
| 763 | + 'recordadmin-buttonsearch' => 'Søk', |
| 764 | + 'recordadmin-buttoncreate' => 'Opprett', |
| 765 | + 'recordadmin-buttonreset' => 'Still attende', |
| 766 | + 'recordadmin-searchresult' => 'Søkjeresultat', |
| 767 | + 'recordadmin-nomatch' => 'Ingen høvelege resultat funne!', |
| 768 | + 'recordadmin-edit' => 'Endrar $1', |
| 769 | + 'recordadmin-typeupdated' => 'Eigenskapane til $1 blei oppdaterte', |
| 770 | + 'recordadmin-updatesuccess' => '$1 er oppdatert', |
| 771 | + 'recordadmin-updateerror' => 'Ein feil oppstod under oppdatering', |
| 772 | + 'recordadmin-buttonsave' => 'Lagra', |
| 773 | + 'recordadmin-noform' => 'Det er ikkje knytt eit skjema til oppføringa «$1»!', |
| 774 | + 'recordadmin-createlink' => '<a href=$1>opprett ein</a>', |
| 775 | + 'recordadmin-newcreated' => 'Ny $1 laga frå eit offentleg skjema', |
| 776 | + 'recordadmin-summary-typecreated' => 'Ny $1 laga til', |
| 777 | + 'recordadmin-viewlink' => 'sjå', |
| 778 | + 'recordadmin-editlink' => 'endra', |
| 779 | + 'recordadmin-created' => 'Oppretta', |
| 780 | + 'recordadmin-actions' => 'Handlingar', |
| 781 | + 'right-recordadmin' => 'Finn og gjer endringar på oppføringssider', |
| 782 | +); |
| 783 | + |
| 784 | +/** Occitan (Occitan) |
| 785 | + * @author Cedric31 |
| 786 | + */ |
| 787 | +$messages['oc'] = array( |
| 788 | + 'recordadmin' => 'Gestion dels enregistraments', |
| 789 | + 'recordadmin-desc' => 'Una pagina especiala per trobar e modificar l’enregistrament de las paginas per l’utilizacion d’un formulari', |
| 790 | + 'recordadmin-category' => 'Enregistraments', |
| 791 | + 'recordadmin-select' => 'Seleccionar lo tipe d’enregistrament de recercar per', |
| 792 | + 'recordadmin-newsearch' => 'Recèrca novèla $1', |
| 793 | + 'recordadmin-newrecord' => 'Seleccionar un autre tipe d’enregistrament', |
| 794 | + 'recordadmin-submit' => 'Sometre', |
| 795 | + 'recordadmin-create' => 'Cercar o crear un enregistrament « $1 »', |
| 796 | + 'recordadmin-alreadyexist' => 'O planhèm, « $1 » existís ja !', |
| 797 | + 'recordadmin-createsuccess' => '$1 creat amb succès', |
| 798 | + 'recordadmin-createerror' => 'Una error es intervenguda al moment de la temptativa de creacion de $1 !', |
| 799 | + 'recordadmin-badtitle' => 'Títol marrit!', |
| 800 | + 'recordadmin-recordid' => 'Enregistrament ID :', |
| 801 | + 'recordadmin-invert' => 'Inversar la seleccion', |
| 802 | + 'recordadmin-buttonsearch' => 'Recercar', |
| 803 | + 'recordadmin-buttoncreate' => 'Crear', |
| 804 | + 'recordadmin-buttonreset' => 'Tornar inicializar', |
| 805 | + 'recordadmin-searchresult' => 'Resultats de la recèrca', |
| 806 | + 'recordadmin-nomatch' => "Cap d'enregistrament correspondent pas trobat !", |
| 807 | + 'recordadmin-edit' => 'Modificar $1', |
| 808 | + 'recordadmin-typeupdated' => 'proprietat de $1 mesas a jorn', |
| 809 | + 'recordadmin-updatesuccess' => '$1 mes a jorn amb succès', |
| 810 | + 'recordadmin-updateerror' => 'Una error es estat rencontrada al moment de la mesa a jorn', |
| 811 | + 'recordadmin-buttonsave' => 'Salvar', |
| 812 | + 'recordadmin-noform' => 'I a pas cap de formulari amb l’enregistrament « $1 » !', |
| 813 | + 'recordadmin-createlink' => 'clicatz <a href=$1>aicí</a> per ne crear un', |
| 814 | + 'recordadmin-newcreated' => '$1 novèl creat a partir d’un formulari public', |
| 815 | + 'recordadmin-summary-typecreated' => '$1 novèl de crear', |
| 816 | + 'recordadmin-viewlink' => 'veire', |
| 817 | + 'recordadmin-editlink' => 'modificar', |
| 818 | + 'recordadmin-created' => 'Creat', |
| 819 | + 'recordadmin-actions' => 'Accions', |
| 820 | + 'right-recordadmin' => 'Trobar e modificar las paginas d’enregistrament', |
| 821 | +); |
| 822 | + |
| 823 | +/** Polish (Polski) |
| 824 | + * @author Derbeth |
| 825 | + * @author Leinad |
| 826 | + */ |
| 827 | +$messages['pl'] = array( |
| 828 | + 'recordadmin' => 'Administracja rekordami', |
| 829 | + 'recordadmin-desc' => '[[Special:RecordAdmin|Strona specjalna]] służąca do wyszukiwania i edytowania stron ze zbiorami danych (rekordami) przy użyciu formularza', |
| 830 | + 'recordadmin-category' => 'Rekordy', |
| 831 | + 'recordadmin-select' => 'Wybierz typ rekordu, którego chcesz szukać', |
| 832 | + 'recordadmin-newsearch' => 'Nowe wyszukiwanie $1', |
| 833 | + 'recordadmin-newrecord' => 'Wybierz inny typ rekordu', |
| 834 | + 'recordadmin-submit' => 'OK', |
| 835 | + 'recordadmin-create' => 'Znajdź lub utwórz rekord „$1”', |
| 836 | + 'recordadmin-alreadyexist' => 'Niestety, „$1” już istnieje!', |
| 837 | + 'recordadmin-createsuccess' => '$1 utworzony', |
| 838 | + 'recordadmin-createerror' => 'Wystąpił błąd podczas próby utworzenia $1!', |
| 839 | + 'recordadmin-badtitle' => 'Niepoprawny tytuł!', |
| 840 | + 'recordadmin-recordid' => 'ID rekordu:', |
| 841 | + 'recordadmin-invert' => 'Odwróć wybór', |
| 842 | + 'recordadmin-buttonsearch' => 'Szukaj', |
| 843 | + 'recordadmin-buttoncreate' => 'Utwórz', |
| 844 | + 'recordadmin-buttonreset' => 'Resetuj', |
| 845 | + 'recordadmin-searchresult' => 'Wyniki wyszukiwania', |
| 846 | + 'recordadmin-nomatch' => 'Nie znaleziono pasujących rekordów!', |
| 847 | + 'recordadmin-edit' => 'Edytowanie $1', |
| 848 | + 'recordadmin-typeupdated' => 'Właściwości $1 zaktualizowane', |
| 849 | + 'recordadmin-updatesuccess' => '$1 zaktualizowane', |
| 850 | + 'recordadmin-updateerror' => 'Wystąpił błąd w trakcie aktualizacji', |
| 851 | + 'recordadmin-buttonsave' => 'Zapisz', |
| 852 | + 'recordadmin-noform' => 'Brak formularza współpracującego z rekordami „$1”!', |
| 853 | + 'recordadmin-createlink' => '<a href=$1>utwórz</a>', |
| 854 | + 'recordadmin-newcreated' => 'Nowy $1 utworzono z publicznego formularza', |
| 855 | + 'recordadmin-summary-typecreated' => 'Nowy $1 utworzony', |
| 856 | + 'recordadmin-viewlink' => 'zobacz', |
| 857 | + 'recordadmin-editlink' => 'edytuj', |
| 858 | + 'recordadmin-created' => 'Utworzony', |
| 859 | + 'right-recordadmin' => 'Znajdź i edytuj rekord stron', |
| 860 | +); |
| 861 | + |
| 862 | +/** Portuguese (Português) |
| 863 | + * @author Malafaya |
| 864 | + */ |
| 865 | +$messages['pt'] = array( |
| 866 | + 'recordadmin' => 'Administração de registos', |
| 867 | + 'recordadmin-desc' => 'Uma [[Special:RecordAdmin|página especial]] para encontrar e editar páginas de registos usando um formulário', |
| 868 | + 'recordadmin-category' => 'Registos', |
| 869 | + 'recordadmin-select' => 'Selecione o tipo de registo a pesquisar', |
| 870 | + 'recordadmin-newsearch' => 'Nova pesquisa $1', |
| 871 | + 'recordadmin-newrecord' => 'Selecionar outro tipo de registo', |
| 872 | + 'recordadmin-submit' => 'Submeter', |
| 873 | + 'recordadmin-create' => 'Procurar ou criar um registo "$1"', |
| 874 | + 'recordadmin-alreadyexist' => 'Desculpe, "$1" já existe!', |
| 875 | + 'recordadmin-createsuccess' => '$1 criado', |
| 876 | + 'recordadmin-createerror' => 'Ocorreu um erro ao tentar criar o $1!', |
| 877 | + 'recordadmin-badtitle' => 'Título inválido!', |
| 878 | + 'recordadmin-recordid' => 'ID do registo:', |
| 879 | + 'recordadmin-invert' => 'Inverter seleção', |
| 880 | + 'recordadmin-buttonsearch' => 'Pesquisar', |
| 881 | + 'recordadmin-buttoncreate' => 'Criar', |
| 882 | + 'recordadmin-buttonreset' => 'Repor', |
| 883 | + 'recordadmin-searchresult' => 'Resultados da pesquisa', |
| 884 | + 'recordadmin-nomatch' => 'Não foram encontrados resultados correspondentes!', |
| 885 | + 'recordadmin-edit' => 'A editar $1', |
| 886 | + 'recordadmin-typeupdated' => 'Propriedades de $1 atualizadas', |
| 887 | + 'recordadmin-updatesuccess' => '$1 atualizado', |
| 888 | + 'recordadmin-updateerror' => 'Ocorreu um erro durante a atualização', |
| 889 | + 'recordadmin-buttonsave' => 'Gravar', |
| 890 | + 'recordadmin-noform' => 'Não há um formulário associado com registos "$1"!', |
| 891 | + 'recordadmin-createlink' => '<a href=$1>criar um</a>', |
| 892 | + 'recordadmin-newcreated' => 'Novo $1 criado a partir de formulário público', |
| 893 | + 'recordadmin-summary-typecreated' => 'Novo $1 criado', |
| 894 | + 'recordadmin-viewlink' => 'ver', |
| 895 | + 'recordadmin-editlink' => 'editar', |
| 896 | + 'recordadmin-created' => 'Criado', |
| 897 | + 'recordadmin-actions' => 'Ações', |
| 898 | + 'right-recordadmin' => 'Encontrar e editar páginas de registos', |
| 899 | +); |
| 900 | + |
| 901 | +/** Romanian (Română) |
| 902 | + * @author KlaudiuMihaila |
| 903 | + */ |
| 904 | +$messages['ro'] = array( |
| 905 | + 'recordadmin-badtitle' => 'Titlu greşit!', |
| 906 | +); |
| 907 | + |
| 908 | +/** Tarandíne (Tarandíne) |
| 909 | + * @author Joetaras |
| 910 | + */ |
| 911 | +$messages['roa-tara'] = array( |
| 912 | + 'recordadmin-createsuccess' => '$1 ccrejete', |
| 913 | +); |
| 914 | + |
| 915 | +/** Russian (Русский) |
| 916 | + * @author Rubin |
| 917 | + * @author Александр Сигачёв |
| 918 | + */ |
| 919 | +$messages['ru'] = array( |
| 920 | + 'recordadmin-submit' => 'Отправить', |
| 921 | + 'recordadmin-buttonsearch' => 'Найти', |
| 922 | + 'recordadmin-buttoncreate' => 'Создать', |
| 923 | +); |
| 924 | + |
| 925 | +/** Slovak (Slovenčina) |
| 926 | + * @author Helix84 |
| 927 | + */ |
| 928 | +$messages['sk'] = array( |
| 929 | + 'recordadmin' => 'Správa záznamov', |
| 930 | + 'recordadmin-desc' => '[[Special:RecordAdmin|Špeciálna stránka]] na hľadanie a úpravu stránok záznamov pomocou fomulára', |
| 931 | + 'recordadmin-category' => 'Záznamy', |
| 932 | + 'recordadmin-select' => 'Vyberte typ záznamu, ktorý sa má hľadať', |
| 933 | + 'recordadmin-newsearch' => 'Nové hľadanie $1', |
| 934 | + 'recordadmin-newrecord' => 'Vyberte iný typ záznamu', |
| 935 | + 'recordadmin-submit' => 'Odoslať', |
| 936 | + 'recordadmin-create' => 'Nájsť alebo vytvoriť záznam „$1“', |
| 937 | + 'recordadmin-alreadyexist' => 'Ľutujeme, „$1“ už existuje.', |
| 938 | + 'recordadmin-createsuccess' => '„$1“ vytvorený', |
| 939 | + 'recordadmin-createerror' => 'Vyskytla sa chyba pri pokuse o vytvorenie „$1“.', |
| 940 | + 'recordadmin-badtitle' => 'Chybný názov!', |
| 941 | + 'recordadmin-recordid' => 'ID záznamu:', |
| 942 | + 'recordadmin-invert' => 'Invertovať výber', |
| 943 | + 'recordadmin-buttonsearch' => 'Hľadať', |
| 944 | + 'recordadmin-buttoncreate' => 'Vytvoriť', |
| 945 | + 'recordadmin-buttonreset' => 'Reset', |
| 946 | + 'recordadmin-searchresult' => 'Výsledky hľadania', |
| 947 | + 'recordadmin-nomatch' => 'Neboli nájdené žiadne zodpovedajúce záznamy!', |
| 948 | + 'recordadmin-edit' => 'Upravuje sa $1', |
| 949 | + 'recordadmin-typeupdated' => 'vlastnosti $1 aktualizované', |
| 950 | + 'recordadmin-updatesuccess' => '$1 aktualizované', |
| 951 | + 'recordadmin-updateerror' => 'Počas aktualizácie sa vyskytla chyba', |
| 952 | + 'recordadmin-buttonsave' => 'Uložiť', |
| 953 | + 'recordadmin-noform' => 'So záznamami „$1“ nie je asociovaný žiadny formulár!', |
| 954 | + 'recordadmin-createlink' => '<a href=$1>vytvoriť ho</a>', |
| 955 | + 'recordadmin-newcreated' => 'Nový $1 vytvorený z verejného fóra', |
| 956 | + 'recordadmin-summary-typecreated' => 'Nový $1 vytvorený', |
| 957 | + 'recordadmin-viewlink' => 'zobraziť', |
| 958 | + 'recordadmin-editlink' => 'upraviť', |
| 959 | + 'recordadmin-created' => 'Vytvorené', |
| 960 | + 'recordadmin-actions' => 'Operácie', |
| 961 | + 'right-recordadmin' => 'Nájsť a upravovať stránky záznamov', |
| 962 | +); |
| 963 | + |
| 964 | +/** Seeltersk (Seeltersk) |
| 965 | + * @author Pyt |
| 966 | + */ |
| 967 | +$messages['stq'] = array( |
| 968 | + 'recordadmin' => 'Apteekenge-Administrierenge', |
| 969 | + 'recordadmin-desc' => 'Ne [[Special:RecordAdmin|spezielle Siede]] tou dät Fienden un Editierjen fon do Apteekenge-Sieden middels n Formular', |
| 970 | + 'recordadmin-category' => 'Apteekengen', |
| 971 | + 'recordadmin-select' => 'Wääl do Apteekenge-Typen, ätter do soacht wäide schäl', |
| 972 | + 'recordadmin-newsearch' => 'Näie $1-Säike', |
| 973 | + 'recordadmin-newrecord' => 'Wääl n uur Apteekenge-Typ', |
| 974 | + 'recordadmin-submit' => 'Uurmiddelje', |
| 975 | + 'recordadmin-create' => 'Fiend of moakje ne "$1"-Apteekenge', |
| 976 | + 'recordadmin-alreadyexist' => '"$1" existiert al!', |
| 977 | + 'recordadmin-createsuccess' => '$1 moaked', |
| 978 | + 'recordadmin-createerror' => 'Unner dät Moakjen fon $1 tried n Failer ap!', |
| 979 | + 'recordadmin-badtitle' => 'Uungultigen Tittel!', |
| 980 | + 'recordadmin-recordid' => 'Apteekenge-Määrk', |
| 981 | + 'recordadmin-invert' => 'Uutwoal uumekiere', |
| 982 | + 'recordadmin-buttonsearch' => 'Säike', |
| 983 | + 'recordadmin-buttoncreate' => 'Moak', |
| 984 | + 'recordadmin-buttonreset' => 'Touräächsätte', |
| 985 | + 'recordadmin-searchresult' => 'Säikresultoate', |
| 986 | + 'recordadmin-nomatch' => 'Neen paasjende Apteekengen fuunen!', |
| 987 | + 'recordadmin-edit' => 'Annerje $1', |
| 988 | + 'recordadmin-typeupdated' => '$1 Wäide aktualisierd', |
| 989 | + 'recordadmin-updatesuccess' => '$1 aktualisierd', |
| 990 | + 'recordadmin-updateerror' => 'Unner ju Aktualisierenge tried n Failer ap', |
| 991 | + 'recordadmin-buttonsave' => 'Spiekerje', |
| 992 | + 'recordadmin-noform' => 'Dät rakt neen Formular foar "$1"-Apteekengen!', |
| 993 | + 'recordadmin-createlink' => '<a href=$1>moak een</a>', |
| 994 | + 'recordadmin-newcreated' => 'Näi $1 ap n eepentelk Formular moaked', |
| 995 | + 'recordadmin-summary-typecreated' => 'Näi $1 moaked', |
| 996 | + 'recordadmin-viewlink' => 'bekiekje', |
| 997 | + 'recordadmin-editlink' => 'annerje', |
| 998 | + 'recordadmin-created' => 'Moaked', |
| 999 | + 'right-recordadmin' => 'Fiend un editier Apteekenge-Sieden', |
| 1000 | +); |
| 1001 | + |
| 1002 | +/** Telugu (తెలుగు) |
| 1003 | + * @author Veeven |
| 1004 | + */ |
| 1005 | +$messages['te'] = array( |
| 1006 | + 'recordadmin-alreadyexist' => 'క్షమించండి, "$1" ఇప్పటికే ఉంది!', |
| 1007 | + 'recordadmin-buttonsearch' => 'వెతుకు', |
| 1008 | + 'recordadmin-buttoncreate' => 'సృష్టించు', |
| 1009 | + 'recordadmin-searchresult' => 'అన్వేషణ ఫలితాలు', |
| 1010 | + 'recordadmin-buttonsave' => 'భద్రపరచు', |
| 1011 | + 'recordadmin-viewlink' => 'చూడు', |
| 1012 | + 'recordadmin-editlink' => 'మార్చు', |
| 1013 | +); |
| 1014 | + |
| 1015 | +/** Tagalog (Tagalog) |
| 1016 | + * @author AnakngAraw |
| 1017 | + */ |
| 1018 | +$messages['tl'] = array( |
| 1019 | + 'recordadmin' => 'Pangangasiwa ng tala (rekord)', |
| 1020 | + 'recordadmin-desc' => 'Isang [[Special:RecordAdmin|natatanging pahina]] para sa paghahanap at pagbabago ng pahina ng mga tala/rekord na gumagamit ng isang pormularyo', |
| 1021 | + 'recordadmin-category' => 'Mga tala (rekord)', |
| 1022 | + 'recordadmin-select' => 'Paliin ang uri ng tala/rekord na hahanapin', |
| 1023 | + 'recordadmin-newsearch' => 'Bagong paghahanap ng $1', |
| 1024 | + 'recordadmin-newrecord' => 'Pumili ng iba pang uri ng tala/rekord', |
| 1025 | + 'recordadmin-submit' => 'Ipasa/ipadala', |
| 1026 | + 'recordadmin-create' => 'Hanapin o likhain ang isang "$1" tala/rekord', |
| 1027 | + 'recordadmin-alreadyexist' => 'Paumanhin, umiiral na ang "$1"!', |
| 1028 | + 'recordadmin-createsuccess' => '$1 nalikha na', |
| 1029 | + 'recordadmin-createerror' => 'Naganap ang isang kamalian habang sinusubok na likhain ang $1!', |
| 1030 | + 'recordadmin-badtitle' => 'Masamang pamagat!', |
| 1031 | + 'recordadmin-recordid' => 'ID ng tala/rekord:', |
| 1032 | + 'recordadmin-invert' => 'Baligtarin ang pagpipilian', |
| 1033 | + 'recordadmin-buttonsearch' => 'Maghanap/Hanapin', |
| 1034 | + 'recordadmin-buttoncreate' => 'Likhain', |
| 1035 | + 'recordadmin-buttonreset' => 'Muling itakda', |
| 1036 | + 'recordadmin-searchresult' => 'Kinalabasan/resulta ng paghahanap', |
| 1037 | + 'recordadmin-nomatch' => 'Walang natagpuang mga tala/rekord na tumutugma!', |
| 1038 | + 'recordadmin-edit' => 'Binabago ang $1', |
| 1039 | + 'recordadmin-typeupdated' => '$1 mga pag-aari ang naisapanahon na', |
| 1040 | + 'recordadmin-updatesuccess' => '$1 naisapanahon na', |
| 1041 | + 'recordadmin-updateerror' => 'Naganap ang isang kamalian habang nagsasapanahon', |
| 1042 | + 'recordadmin-buttonsave' => 'Sagipin', |
| 1043 | + 'recordadmin-noform' => 'Walang pormularyong kaugnay ng "$1" mga tala/rekord!', |
| 1044 | + 'recordadmin-createlink' => '<a href=$1>lumikha ng isa</a>', |
| 1045 | + 'recordadmin-newcreated' => 'Bagong $1 nalikha na mula sa pormularyong pangmadla/publiko', |
| 1046 | + 'recordadmin-summary-typecreated' => 'Bagong $1 nalikha na', |
| 1047 | + 'recordadmin-viewlink' => 'tingnan', |
| 1048 | + 'recordadmin-editlink' => 'baguhin', |
| 1049 | + 'recordadmin-created' => 'Nilikha na', |
| 1050 | + 'recordadmin-actions' => 'Mga galaw', |
| 1051 | + 'right-recordadmin' => 'Hanapin at baguhin ang mga pahina ng tala/rekord', |
| 1052 | +); |
| 1053 | + |
| 1054 | +/** Vietnamese (Tiếng Việt) |
| 1055 | + * @author Vinhtantran |
| 1056 | + */ |
| 1057 | +$messages['vi'] = array( |
| 1058 | + 'recordadmin' => 'Quản lý bản ghi', |
| 1059 | + 'recordadmin-desc' => 'Một [[Special:RecordAdmin|trang đặc biệt]] để tìm kiếm và sửa đổi các trang bản ghi bằng cách dùng một mẫu có sẵn', |
| 1060 | + 'recordadmin-category' => 'Bản ghi', |
| 1061 | + 'recordadmin-select' => 'Chọn một loại bản ghi cần tìm', |
| 1062 | + 'recordadmin-newsearch' => 'Tìm $1 mới', |
| 1063 | + 'recordadmin-newrecord' => 'Chọn một loại bản ghi khác', |
| 1064 | + 'recordadmin-submit' => 'Đăng', |
| 1065 | + 'recordadmin-create' => 'Tìm hoặc tạo một bản ghi “$1”', |
| 1066 | + 'recordadmin-alreadyexist' => 'Xin lỗi, “$1” đã tồn tại!', |
| 1067 | +); |
| 1068 | + |
| 1069 | +/** Simplified Chinese (中文(简体)) |
| 1070 | + * @author Gzdavidwong |
| 1071 | + */ |
| 1072 | +$messages['zh-hans'] = array( |
| 1073 | + 'recordadmin-badtitle' => '标题错误!', |
| 1074 | + 'recordadmin-buttonreset' => '重置', |
| 1075 | +); |
| 1076 | + |
| 1077 | +/** Traditional Chinese (中文(繁體)) |
| 1078 | + * @author Gzdavidwong |
| 1079 | + * @author Wrightbus |
| 1080 | + */ |
| 1081 | +$messages['zh-hant'] = array( |
| 1082 | + 'recordadmin-badtitle' => '標題錯誤!', |
| 1083 | + 'recordadmin-buttonreset' => '重置', |
| 1084 | +); |
| 1085 | + |
Property changes on: tags/REL1_13_4/extensions/RecordAdmin/RecordAdmin.i18n.php |
___________________________________________________________________ |
Name: svn:mergeinfo |
1 | 1086 | + |
Name: svn:eol-style |
2 | 1087 | + native |
Index: tags/REL1_13_4/extensions/RecordAdmin/RecordAdmin.php |
— | — | @@ -0,0 +1,70 @@ |
| 2 | +<?php |
| 3 | +if ( !defined( 'MEDIAWIKI' ) ) die( 'Not an entry point.' ); |
| 4 | +/** |
| 5 | + * Extension:RecordAdmin - MediaWiki extension |
| 6 | + * {{Category:Extensions|RecordAdmin}}{{php}}{{Category:Extensions created with Template:SpecialPage}} |
| 7 | + * @package MediaWiki |
| 8 | + * @subpackage Extensions |
| 9 | + * @author Aran Dunkley [http://www.organicdesign.co.nz/nad User:Nad] |
| 10 | + * @author Bertrand GRONDIN |
| 11 | + * @author Siebrand Mazeland |
| 12 | + * @licence GNU General Public Licence 2.0 or later |
| 13 | + */ |
| 14 | + |
| 15 | +define( 'RECORDADMIN_VERSION', '0.5.1, 2009-01-24' ); |
| 16 | + |
| 17 | +$wgRecordAdminUseNamespaces = false; # Whether record articles should be in a namespace of the same name as their type |
| 18 | + |
| 19 | +$dir = dirname( __FILE__ ) . '/'; |
| 20 | +$wgExtensionMessagesFiles['RecordAdmin'] = $dir . 'RecordAdmin.i18n.php'; |
| 21 | +$wgExtensionAliasesFiles['RecordAdmin'] = $dir . 'RecordAdmin.alias.php'; |
| 22 | +$wgAutoloadClasses['SpecialRecordAdmin'] = $dir . 'RecordAdmin_body.php'; |
| 23 | +$wgSpecialPages['RecordAdmin'] = 'SpecialRecordAdmin'; |
| 24 | +$wgSpecialPageGroups['RecordAdmin'] = 'wiki'; |
| 25 | +$wgRecordAdminMagic = 'recordtable'; |
| 26 | +$wgRecordAdminTag = 'recordid'; |
| 27 | + |
| 28 | +$wgGroupPermissions['sysop']['recordadmin'] = true; |
| 29 | +$wgAvailableRights[] = 'recordadmin'; |
| 30 | + |
| 31 | +$wgExtensionFunctions[] = 'wfSetupRecordAdmin'; |
| 32 | +$wgHooks['LanguageGetMagic'][] = 'wfRecordAdminLanguageGetMagic'; |
| 33 | + |
| 34 | +$wgExtensionCredits['specialpage'][] = array( |
| 35 | + 'name' => 'Record administration', |
| 36 | + 'author' => array( '[http://www.organicdesign.co.nz/nad User:Nad]', 'Bertrand GRONDIN', 'Siebrand Mazeland' ), |
| 37 | + 'description' => 'A special page for finding and editing record articles using a form', |
| 38 | + 'descriptionmsg' => 'recordadmin-desc', |
| 39 | + 'url' => 'http://www.mediawiki.org/wiki/Extension:RecordAdmin', |
| 40 | + 'version' => RECORDADMIN_VERSION, |
| 41 | +); |
| 42 | + |
| 43 | +/** |
| 44 | + * Called from $wgExtensionFunctions array when initialising extensions |
| 45 | + */ |
| 46 | +function wfSetupRecordAdmin() { |
| 47 | + global $wgSpecialRecordAdmin, $wgParser, $wgRequest, $wgRecordAdminTag, $wgRecordAdminMagic; |
| 48 | + |
| 49 | + # Make a global singleton so methods are accessible as callbacks etc |
| 50 | + $wgSpecialRecordAdmin = new SpecialRecordAdmin(); |
| 51 | + |
| 52 | + # Make recordID's of articles created with public forms available via recordid tag |
| 53 | + $wgParser->setHook( $wgRecordAdminTag, array( $wgSpecialRecordAdmin, 'expandTag' ) ); |
| 54 | + |
| 55 | + # Add the parser-function |
| 56 | + $wgParser->setFunctionHook( $wgRecordAdminMagic, array( $wgSpecialRecordAdmin, 'expandMagic' ) ); |
| 57 | + |
| 58 | + # Check if posting a public creation form |
| 59 | + $title = Title::newFromText( $wgRequest->getText( 'title' ) ); |
| 60 | + if ( is_object( $title ) && $title->getNamespace() != NS_SPECIAL && $wgRequest->getText( 'wpType' ) && $wgRequest->getText( 'wpCreate' ) ) |
| 61 | + $wgSpecialRecordAdmin->createRecord(); |
| 62 | +} |
| 63 | + |
| 64 | +/** |
| 65 | + * Setup parser-function magic |
| 66 | + */ |
| 67 | +function wfRecordAdminLanguageGetMagic(&$magicWords, $langCode = 0) { |
| 68 | + global $wgRecordAdminMagic; |
| 69 | + $magicWords[$wgRecordAdminMagic] = array($langCode, $wgRecordAdminMagic); |
| 70 | + return true; |
| 71 | +} |
Property changes on: tags/REL1_13_4/extensions/RecordAdmin/RecordAdmin.php |
___________________________________________________________________ |
Name: svn:mergeinfo |
1 | 72 | + |
Name: svn:eol-style |
2 | 73 | + native |