r44054 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r44053‎ | r44054 | r44055 >
Date:00:35, 30 November 2008
Author:siebrand
Status:deferred
Tags:
Comment:
Add Special:LanguageStats. As unlisted special page for now, because it still needs some work.
Modified paths:
  • /trunk/extensions/Translate/README (modified) (history)
  • /trunk/extensions/Translate/SpecialLanguageStats.php (added) (history)
  • /trunk/extensions/Translate/Translate.alias.php (modified) (history)
  • /trunk/extensions/Translate/Translate.i18n.php (modified) (history)
  • /trunk/extensions/Translate/Translate.php (modified) (history)
  • /trunk/extensions/Translate/_autoload.php (modified) (history)
  • /trunk/extensions/Translate/groups/mediawiki-defines.txt (modified) (history)

Diff [purge]

Index: trunk/extensions/Translate/groups/mediawiki-defines.txt
@@ -742,7 +742,7 @@
743743 Tor Block
744744
745745 Translate
746 -optional = translate-page-paging-links
 746+optional = translate-page-paging-links, translate-languagestats-groups
747747
748748 Trusted XFF
749749
Index: trunk/extensions/Translate/Translate.php
@@ -35,11 +35,13 @@
3636 $wgSpecialPages['Magic'] = 'SpecialMagic';
3737 $wgSpecialPages['TranslationChanges'] = 'SpecialTranslationChanges';
3838 $wgSpecialPages['TranslationStats'] = 'SpecialTranslationStats';
 39+$wgSpecialPages['LanguageStats'] = 'SpecialLanguageStats';
3940 $wgSpecialPageGroups['Magic'] = 'wiki';
4041 $wgSpecialPageGroups['Translate'] = 'wiki';
4142 $wgSpecialPageGroups['Translations'] = 'pages';
4243 $wgSpecialPageGroups['TranslationChanges'] = 'changes';
4344 $wgSpecialPageGroups['TranslationStats'] = 'wiki';
 45+$wgSpecialPageGroups['LanguageStats'] = 'wiki';
4446
4547 $wgHooks['EditPage::showEditForm:initial'][] = 'TranslateEditAddons::addTools';
4648 $wgHooks['OutputPageBeforeHTML'][] = 'TranslateEditAddons::addNavigation';
Index: trunk/extensions/Translate/SpecialLanguageStats.php
@@ -0,0 +1,212 @@
 2+<?php
 3+if ( !defined( 'MEDIAWIKI' ) ) die();
 4+/**
 5+ * Implements a special page which givens translation statistics for a given set
 6+ * of message groups. Message group names can be entered (pipe separated) into
 7+ * the form, or added as a parameter in the URL.
 8+ *
 9+ * Some of the code is based on the statistics code in phase3/maintenance/language
 10+ *
 11+ * @author Siebrand Mazeland
 12+ * @copyright Copyright © 2008 Siebrand Mazeland
 13+ * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
 14+ */
 15+
 16+#class SpecialLanguageStats extends IncludableSpecialPage {
 17+class SpecialLanguageStats extends UnlistedSpecialPage {
 18+ function __construct() {
 19+ parent::__construct( 'LanguageStats' );
 20+ }
 21+
 22+ function execute( $par ) {
 23+ global $wgRequest, $wgOut;
 24+
 25+ wfLoadExtensionMessages( 'Translate' );
 26+
 27+ $this->setHeaders();
 28+ $this->outputHeader();
 29+
 30+ if( !$this->including() ) {
 31+ $wgOut->addHTML( $this->languageForm( $par ) );
 32+ }
 33+
 34+ $out = '';
 35+
 36+ #if( $this->including() ) {
 37+# if( isset( Language::getLanguageNames( true ) ) ) {
 38+ if( 1 ) {
 39+ $out .= $this->getGroupStats( $par );
 40+ } else {
 41+ $wgOut->addWikiMsg( 'translate-page-no-such-language' );
 42+ }
 43+ #}
 44+ $wgOut->addHTML( $out );
 45+ }
 46+
 47+ /**
 48+ * HTML for the top form
 49+ * @param integer $code A language code (default empty, example: 'en').
 50+ */
 51+ function languageForm( $code = '' ) {
 52+ global $wgScript;
 53+ $t = $this->getTitle();
 54+
 55+ $out = Xml::openElement( 'div', array( 'class' => 'languagecode' ) );
 56+ $out .= Xml::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript ) );
 57+ $out .= Xml::hidden( 'title', $t->getPrefixedText() );
 58+ $out .= Xml::openElement( 'fieldset' );
 59+ $out .= Xml::element( 'legend', null, wfMsg( 'translate-language-code' ) );
 60+ $out .= Xml::openElement( 'table', array( 'id' => 'langcodeselect', 'class' => 'allpages' ) );
 61+ $out .= "<tr>
 62+ <td class='mw-label'>" .
 63+ Xml::label( wfMsg( 'translate-language-code-field-name' ), 'code' ) .
 64+ "</td>
 65+ <td class='mw-input'>" .
 66+ Xml::input( 'code', 30, str_replace('_',' ',$code), array( 'id' => 'code' ) ) .
 67+ "</td>
 68+ <td class='mw-input'>" .
 69+ Xml::submitButton( wfMsg( 'allpagessubmit' ) ) .
 70+ "</td>
 71+ </tr>";
 72+ $out .= Xml::closeElement( 'table' );
 73+ $out .= Xml::closeElement( 'fieldset' );
 74+ $out .= Xml::closeElement( 'form' );
 75+ $out .= Xml::closeElement( 'div' );
 76+ return $out;
 77+ }
 78+
 79+ # Statistics table heading
 80+ function heading() {
 81+ return '<table class="sortable wikitable" border="2" cellpadding="4" cellspacing="0" style="background-color: #F9F9F9; border: 1px #AAAAAA solid; border-collapse: collapse; clear:both;" width="100%">' . "\n";
 82+ }
 83+
 84+ # Statistics table footer
 85+ function footer() {
 86+ return "</table>\n";
 87+ }
 88+
 89+ # Statistics table row start
 90+ function blockstart() {
 91+ return "\t<tr>\n";
 92+ }
 93+
 94+ # Statistics table row end
 95+ function blockend() {
 96+ return "\t</tr>\n";
 97+ }
 98+
 99+ # Statistics table element (heading or regular cell)
 100+ function element( $in, $heading = false, $bgcolor = '' ) {
 101+ if( $heading ) {
 102+ $element = '<th>' . $in . '</th>';
 103+ } else if ( $bgcolor ) {
 104+ $element = '<td bgcolor="#' . $bgcolor . '">' . $in . '</td>';
 105+ } else {
 106+ $element = '<td>' . $in . '</td>';
 107+ }
 108+ return "\t\t" . $element . "\n";
 109+ }
 110+
 111+ function getGroups() {
 112+ $groups = wfMsgForContent( 'translate-languagestats-groups' );
 113+
 114+ if( $groups ) {
 115+ // Make the group names clean
 116+ // Should contain one valid group name per line
 117+ // All invalid group names should be ignored
 118+ // Return all group names if there are no valid group names at all
 119+ // FIXME: implement the above here
 120+ $cleanGroups = '';
 121+
 122+ if( $cleanGroups ) {
 123+ return $cleanGroups;
 124+ }
 125+ }
 126+
 127+ return MessageGroups::singleton()->getGroups();
 128+ }
 129+
 130+ function getBackgroundColour( $subset, $total, $fuzzy = false ) {
 131+ $v = @round(255 * $subset / $total);
 132+
 133+ if ( $fuzzy ) {
 134+ # weight fuzzy with factor 20
 135+ $v = $v * 20;
 136+ if( $v > 255 ) $v = 255;
 137+ $v = 255 - $v;
 138+ }
 139+
 140+ if ( $v < 128 ) {
 141+ # Red to Yellow
 142+ $red = 'FF';
 143+ $green = sprintf( '%02X', 2 * $v );
 144+ } else {
 145+ # Yellow to Green
 146+ $red = sprintf('%02X', 2 * ( 255 - $v ) );
 147+ $green = 'FF';
 148+ }
 149+ $blue = '00';
 150+
 151+ return $red . $green . $blue;
 152+ }
 153+
 154+ // copied and adaped from groupStatistics.php by Nikerabbit
 155+ function getGroupStats( $code ) {
 156+ global $wgUser;
 157+
 158+ $out = '';
 159+
 160+ $out .= '<!-- ' . $code . " -->\n";
 161+ $out .= '<!-- ' . TranslateUtils::getLanguageName( $code, false ) . " -->\n";
 162+
 163+ # Create header
 164+ $out .= $this->heading();
 165+ $out .= $this->blockstart();
 166+ $out .= $this->element( wfMsg( 'translate-page-group', true ) );
 167+ $out .= $this->element( wfMsg( 'translate-percentage-complete', true ) );
 168+ $out .= $this->element( wfMsg( 'translate-percentage-fuzzy', true ) );
 169+ $out .= $this->blockend();
 170+
 171+ # fetch groups stats have to be displayed for
 172+ $groups = $this->getGroups();
 173+
 174+ # Get statistics for the message groups
 175+ foreach ( $groups as $g ) {
 176+ $out .= $this->blockstart();
 177+
 178+ $translateTitle = SpecialPage::getTitleFor( 'Translate' );
 179+ $pageParameters = "group=" . $g->getId() . "&language=" . $code;
 180+ $translateGroupLink = $wgUser->getSkin()->makeKnownLinkObj( $translateTitle, $g->getLabel(), $pageParameters );
 181+
 182+ $out .= $this->element( $translateGroupLink );
 183+
 184+ // Initialise messages
 185+ $collection = $g->initCollection( $code );
 186+ $collection->filter( 'optional' );
 187+ // Store the count of real messages for later calculation.
 188+ $total = count( $collection );
 189+
 190+ // Fill translations in for counting
 191+ $g->fillCollection( $collection );
 192+
 193+ // Count fuzzy first
 194+ $collection->filter( 'fuzzy' );
 195+ $fuzzy = $total - count( $collection );
 196+
 197+ // Count the completion percent
 198+ $collection->filter( 'translated', false );
 199+ $translated = count( $collection );
 200+
 201+ $translatedPercentage = @sprintf( '%.2f%%', 100 * $translated / $total );
 202+ $fuzzyPercentage = @sprintf( '%.2f%%', 100 * $fuzzy / $total );
 203+
 204+ $out .= $this->element( $translatedPercentage, false, $this->getBackgroundColour( $translated, $total ) );
 205+ $out .= $this->element( $fuzzyPercentage, false, $this->getBackgroundColour( $fuzzy, $total, true ) );
 206+ $out .= $this->blockend();
 207+ }
 208+
 209+ $out .= $this->footer();
 210+
 211+ return $out;
 212+ }
 213+}
Index: trunk/extensions/Translate/_autoload.php
@@ -36,6 +36,7 @@
3737 $wgAutoloadClasses['SpecialTranslationChanges'] = $dir . 'SpecialTranslationChanges.php';
3838 $wgAutoloadClasses['SpecialTranslationStats'] = $dir . 'Stats.php';
3939 $wgAutoloadClasses['SpecialTranslations'] = $dir . 'SpecialTranslations.php';
 40+$wgAutoloadClasses['SpecialLanguageStats'] = $dir . 'SpecialLanguageStats.php';
4041
4142 $wgAutoloadClasses['SimpleFormatReader'] = $dir . 'ffs/Simple.php';
4243 $wgAutoloadClasses['SimpleFormatWriter'] = $dir . 'ffs/Simple.php';
Index: trunk/extensions/Translate/README
@@ -33,6 +33,7 @@
3434 </code>
3535
3636 == Changes in version 10 ==
 37+* 2008-11-30:1 added Special:LanguageStats for real-time translation statistics
3738 * 2008-11-24:2 fallback messages in the edit screen now have an edit link
3839 * 2008-11-24:1 added Special:Translations to show all translations of a message
3940 * 2008-09-09:1 add message checks for Mantis
Index: trunk/extensions/Translate/Translate.i18n.php
@@ -175,6 +175,17 @@
176176 'translate-translations-messagename' => 'Message:',
177177 'translate-translations-including-no-param' => 'Please specify a valid page name in the subpage parameter',
178178
 179+ # Special:LanguageStats
 180+ 'languagestats' => 'Language statistics',
 181+ 'languagestats-summary' => 'This page shows translation statistics for all ([[MediaWiki:Translate-languagestats-groups|configured]]) message groups for a language.',
 182+ 'translate-language-code' => 'Language code',
 183+ 'translate-language-code-field-name' => 'Language code:',
 184+ 'translate-language' => 'Language',
 185+ 'translate-percentage-complete' => 'Completion',
 186+ 'translate-percentage-fuzzy' => 'Outdated',
 187+ 'translate-languagestats-groups' => ' # Add message group IDs, one per line to restrict the message groups that
 188+ # are shown on Special:LanguageStats. Non-existing message group IDs will
 189+ # be ignored.', # do not duplicate this message to other languages
179190 );
180191
181192 /** Message documentation (Message documentation)
@@ -1111,14 +1122,14 @@
11121123 'translate-magic-pagename' => 'Troidigezh Mediawiki astennet',
11131124 'translate-magic-help' => "Gallout a rit treiñ aliasoù ar pajennoù dibar, ar gerioù burzhudus, anvioù an etrefasoù hag anvioù an esaouennoù anv.
11141125
1115 -Aliasoù ar pajennoù dibar hag ar gerioù burzhudus a c'hall kaout meur a droidigezh.
1116 -Dispartiet eo an troidigezhioù dre skejoù (,).
 1126+Aliasoù ar pajennoù dibar hag ar gerioù burzhudus a c'hall kaout meur a droidigezh.
 1127+Dispartiet eo an troidigezhioù dre skejoù (,).
11171128 N'hall anvioù an etrefasoù ha re an esaouennoù anv nemet kaout un droidigezh hepken.
11181129
1119 -E troidigezhioù an esaouennoù anv eo dibar <tt>$1 talk</tt>. Erlec'hiet eo <tt>$1</tt> gant anv al lec'hienn (da skouer <tt>{{SITENAME}} talk</tt>).
 1130+E troidigezhioù an esaouennoù anv eo dibar <tt>$1 talk</tt>. Erlec'hiet eo <tt>$1</tt> gant anv al lec'hienn (da skouer <tt>{{SITENAME}} talk</tt>).
11201131 Ma n'haller ket sevel lavarennoù reizh en ho yezh hep kemmañ anv al lec'hienn, kit e darempred gant un diorroer.
11211132
1122 -Ret eo deoc'h bezañ ezel eus ur strollad troerien evit enrollañ ar c'hemmoù.
 1133+Ret eo deoc'h bezañ ezel eus ur strollad troerien evit enrollañ ar c'hemmoù.
11231134 Ne vo ket enrollet ar c'hemmoù e-keit ha ne vo ket bet pouezet war ar bouton dindan.",
11241135 'translate-magic-module' => 'Modulenn :',
11251136 'translate-magic-submit' => 'Mont',
@@ -1988,7 +1999,7 @@
19892000 En nomspacaj tradukoj <tt>$1 diskuto</tt> estas speciala. <tt>$1</tt> estas anstataŭigita de la nomo de la retejo (ekz-e <tt>{{SITENAME}} diskuto</tt>.
19902001 Se ne eblas en via lingvo formi validan esprimon sen ŝanĝi la nomon de la retejo, bonvolu kontakti programisto.
19912002
1992 -Vi devas esti en la grupo de tradukantoj por konservi ŝanĝojn.
 2003+Vi devas esti en la grupo de tradukantoj por konservi ŝanĝojn.
19932004 Ŝanĝoj ne estos konservataj, ĝis vi alklakis la jenan butonon Konservi.',
19942005 'translate-magic-module' => 'Modjulo:',
19952006 'translate-magic-submit' => 'Montri',
@@ -2012,7 +2023,7 @@
20132024 <strong><nowiki>$1</nowiki></strong>',
20142025 'translate-checks-balance' => 'Estas nepara nombro de {{PLURAL:$2|krampo|krampoj}}: <strong>$1</strong>',
20152026 'translate-checks-links' => '{{PLURAL:$2|Jenaj ligiloj estas problemaj|Jena ligilo estas problema}}: <strong>$1</strong>',
2016 - 'translate-checks-xhtml' => 'Bonvolu anstataŭigi {{PLURAL:$2|jena etikedo|jenajn etikedojn}} per la korektaj:
 2027+ 'translate-checks-xhtml' => 'Bonvolu anstataŭigi {{PLURAL:$2|jena etikedo|jenajn etikedojn}} per la korektaj:
20172028 <strong>$1</strong>',
20182029 'translate-checks-plural' => 'Difino uzas <nowiki>{{PLURAL:}}</nowiki>, sed traduko ne.',
20192030 'translate-checks-pagename' => 'Nomspaco ŝanĝita de difino',
@@ -2112,7 +2123,7 @@
21132124 'translate-magic-pagename' => 'Traducción extendida de MediaWiki',
21142125 'translate-magic-help' => 'Puedes traducir los nombres de las páginas especiales, las palabras mágicas, los nombres de pieles y los de los espacios de nombre
21152126
2116 -Los nombres de las páginas especiales y las palabras mágicas pueden tener varias traducciones, que se separan por comas (,).
 2127+Los nombres de las páginas especiales y las palabras mágicas pueden tener varias traducciones, que se separan por comas (,).
21172128 los nombres de pieles y espacios de nombre sólo pueden tener una traducción
21182129
21192130 En las traducciones de espacios de nombre <tt>$1 talk</tt> es especial. <tt>$1</tt> se reemplaza por el nombre del sitio (por ejemplo <tt>{{SITENAME}} talk</tt>). Si en tu idioma no es posible formar una expresión válidad sin cambiar el nombre del sitio, contacta con un desarrollador, por favor.
@@ -4564,14 +4575,14 @@
45654576 'translate-magic-help' => "អ្នកអាចប្រែសំរួលឈ្មោះផ្សេងៗទៀតនៃទំព័រពិសេស ពាក្យទិព្វ ឈ្មោះសំបក និងឈ្មោះនៃលំហឈ្មោះ។
45664577
45674578
4568 -ឈ្មោះផ្សេងៗទៀតនៃទំព័រពិសេស​និង​ពាក្យទិព្វអាចមានបទប្រែសំរួលច្រើន។
 4579+ឈ្មោះផ្សេងៗទៀតនៃទំព័រពិសេស​និង​ពាក្យទិព្វអាចមានបទប្រែសំរួលច្រើន។
45694580
45704581 ការបកប្រែជាច្រើននោះត្រូវខ័ណ្ឌដោយសញ្ញាក្បៀស(,)។
45714582
45724583 ឈ្មោះសំបកនិងលំហឈ្មោះអាចមានត្រឹមតែមួយបទប្រែសំរួលប៉ុណ្ណោះ ។
45734584
45744585
4575 -ក្នុងការបកប្រែលំហឈ្មោះ <tt>ការពិភាក្សាអំពី$1</tt> ជាករណីពិសេស។ <tt>$1</tt> ត្រូវបានជំនួសដោយឈ្មោះវិបសាយ(ឧទាហរណ៍៖ <tt>ការពិភាក្សាអំពី{{SITENAME}}</tt>)។
 4586+ក្នុងការបកប្រែលំហឈ្មោះ <tt>ការពិភាក្សាអំពី$1</tt> ជាករណីពិសេស។ <tt>$1</tt> ត្រូវបានជំនួសដោយឈ្មោះវិបសាយ(ឧទាហរណ៍៖ <tt>ការពិភាក្សាអំពី{{SITENAME}}</tt>)។
45764587
45774588 ប្រសិនបើ​ភាសារបស់អ្នក​មិនបានបង្ហាញត្រឹមត្រូវដោយមិនប្តូរឈ្មោះវិបសាយទេ សូមទាក់ទងអ្នកអភិវឌ្ឍន៍(អ្នករចនាវិបសាយ)។
45784589
@@ -4594,16 +4605,16 @@
45954606 'translationchanges' => 'បំលាស់ប្តូរនៃការបកប្រែ',
45964607 'translationchanges-export' => 'នាំចេញ',
45974608 'translationchanges-change' => '$1:$2 ដោយ $3',
4598 - 'translate-checks-parameters' => '{{PLURAL:$2|ប៉ារ៉ាម៉ែត្រ|ប៉ារ៉ាម៉ែត្រ}}ខាងក្រោមនេះមិនត្រូវបានគេប្រើទេ៖
 4609+ 'translate-checks-parameters' => '{{PLURAL:$2|ប៉ារ៉ាម៉ែត្រ|ប៉ារ៉ាម៉ែត្រ}}ខាងក្រោមនេះមិនត្រូវបានគេប្រើទេ៖
45994610
46004611 <strong><nowiki>$1</nowiki></strong>',
46014612 'translate-checks-parameters-unknown' => 'ប៉ារ៉ាម៉ែត្រចំនួន$2ខាងក្រោមនេះមិនត្រូវបានស្គាល់ទេ៖
46024613 <strong><nowiki>$1</nowiki></strong>',
4603 - 'translate-checks-balance' => 'មាន{{PLURAL:$2|វង់ក្រចក|វង់ក្រចក}}​ដែលមិន​មាន​គូ៖
 4614+ 'translate-checks-balance' => 'មាន{{PLURAL:$2|វង់ក្រចក|វង់ក្រចក}}​ដែលមិន​មាន​គូ៖
46044615
46054616 <strong><nowiki>$1</nowiki></strong>',
46064617 'translate-checks-links' => '{{PLURAL:$2|តំនភ្ជាប់|តំនភ្ជាប់}}ខាងក្រោមនេះ​មានបញ្ហា៖ <strong><nowiki>$1</nowiki></strong>',
4607 - 'translate-checks-xhtml' => 'សូម​ជំនួស​$2​ប្លាកខាងក្រោមដោយប្លាកដែលត្រឹមត្រូវ៖
 4618+ 'translate-checks-xhtml' => 'សូម​ជំនួស​$2​ប្លាកខាងក្រោមដោយប្លាកដែលត្រឹមត្រូវ៖
46084619
46094620 <strong><nowiki>$1</nowiki></strong>',
46104621 'translate-checks-plural' => 'និយមន័យ​ប្រើប្រាស់ <nowiki>{{PLURAL:}}</nowiki> ប៉ុន្តែ​បទប្រែសំរួល​មិនមាន ។',
@@ -4810,7 +4821,7 @@
48114822 'translate-tag-fuzzy-comment' => 'Dä ojinaal-Tex wood fum „[[User:$1|$1]]“ verändert met de Version $2.',
48124823 'translate-tag-fuzzy-reason' => "Dä ojinaal-Tex wood fum „[[User:$1|$1]]“ verändert met de Version $2 fum MediaWiki, met dämm Kommentaa: ''$3''",
48134824 'translate-sidebar-alltrans' => 'Ander Övversäzunge',
4814 - 'translate-tag-noedit' => 'Die Sigg es en Övversäzongß_Sigg, die automattejj_op der neuste Shtant jebraat weed.
 4825+ 'translate-tag-noedit' => 'Die Sigg es en Övversäzongß_Sigg, die automattejj_op der neuste Shtant jebraat weed.
48154826 Do kanns de [$1 Ojinaal-Sigg ändere] ov de [$2 Övversäzong op der neuste Shtand bränge].',
48164827 );
48174828
@@ -4916,7 +4927,7 @@
49174928 <strong><nowiki>$1</nowiki></strong>',
49184929 'translate-checks-balance' => 'Et gëtt eng ongerued Zuel vu {{PLURAL:$2|Klammere|Klammere}} benotzt:
49194930 <strong><nowiki>$1</nowiki></strong>',
4920 - 'translate-checks-links' => '{{PLURAL:$2|Dëse Link ass|Dës Linke si}} problematesch:
 4931+ 'translate-checks-links' => '{{PLURAL:$2|Dëse Link ass|Dës Linke si}} problematesch:
49214932 <strong><nowiki>$1</nowiki></strong>',
49224933 'translate-checks-xhtml' => 'Ersetzt {{PLURAL:$2|dësen Tag|dës Tagen}} w.e.g. duerch déi korrekt:
49234934 <strong><nowiki>$1</nowiki></strong>',
@@ -5044,7 +5055,7 @@
50455056
50465057 Specialiojo puslapio pavadinimo ir magiško žodžio vertimai gali būti keli. Vertimai yra skiriami kableliu (,). Apvalkalo ir vardų srities pavadinimas gali turėti tik vieną vertimą.
50475058
5048 -Vardų sričių vertimuose <tt>$1 aptarimas</tt> yra specialus. <tt>$1</tt> yra pakeičiamas svetainės pavadinimu (Pavyzdžiui <tt>{{SITENAME}} aptarimas</tt>). Jei nėra galimybės Jūsų kalboje suformuoti teisingos išraiškos su svetainės pavadinimo pakeitimu, prašome kreiptis į kūrėjus.
 5059+Vardų sričių vertimuose <tt>$1 aptarimas</tt> yra specialus. <tt>$1</tt> yra pakeičiamas svetainės pavadinimu (Pavyzdžiui <tt>{{SITENAME}} aptarimas</tt>). Jei nėra galimybės Jūsų kalboje suformuoti teisingos išraiškos su svetainės pavadinimo pakeitimu, prašome kreiptis į kūrėjus.
50495060
50505061 Jūs turite priklausyti vertėjų grupei, kad galėtumėte išsaugoti pakeitimus. Pakeitimai nebus išsaugoti iki Jūs nuspausite išsaugojimo butoną apačioje.',
50515062 'translate-magic-submit' => 'Išrinkti',
@@ -5724,10 +5735,10 @@
57255736
57265737 Spesialsidenamn og magiske ord kan ha fleire omsetjingar.
57275738 Omsetjingane vert fråskilde med komma (,).
5728 -Draktnamn og namnerom kan berre ha éi omsetjing.
 5739+Draktnamn og namnerom kan berre ha éi omsetjing.
57295740
57305741 I namneromomsetjingane er <tt>$1 talk</tt> spesiell. <tt>$1</tt> vert erstatta med namnet på sida (til dømes <tt>{{SITENAME}}</tt>).
5731 -Om det ikkje er mogeleg å få til eit gyldig uttrykk på ditt språk her utan å endre sidenamnet, kontakt ein utviklar.
 5742+Om det ikkje er mogeleg å få til eit gyldig uttrykk på ditt språk her utan å endre sidenamnet, kontakt ein utviklar.
57325743
57335744 Du må vere i omsetjargruppar for å lagre endringar.
57345745 Endringar vert ikkje lagra før du klikker på lagre-knappen nedanfor.',
@@ -6533,15 +6544,15 @@
65346545 'translate-magic-pagename' => 'Углублённый перевод MediaWiki',
65356546 'translate-magic-help' => 'Вы можете переводить псевдонимы служебных страниц, магические слова, названия тем оформления и пространств имён.
65366547
6537 -При редактировании магических слов, желательно оставить английский вариант, иначе он не будет работать.
 6548+При редактировании магических слов, желательно оставить английский вариант, иначе он не будет работать.
65386549 Также стоит оставить первое значение (цифра 0 или 1) таким, какое оно есть.
65396550
6540 -Псевдонимы служебных страниц и магические слова могут иметь несколько вариантов перевода, они разделяются запятой (,).
 6551+Псевдонимы служебных страниц и магические слова могут иметь несколько вариантов перевода, они разделяются запятой (,).
65416552 Названия тем оформления и пространств имён могут иметь только один вариант перевода.
65426553
65436554 В переводах пространств имён строка «Обсуждение $1» обрабатывается особо, «$1» будет заменено на имя сайта (например «Обсуждение {{SITENAME}}»). Свяжитесь с разработчиками, если подобная грамматическая конструкция неверна для вашего языка.
65446555
6545 -Чтобы сохранить изменения вы должны входить в группу переводчиков.
 6556+Чтобы сохранить изменения вы должны входить в группу переводчиков.
65466557 Изменения не будут сохранены, пока вы не нажмёте кнопку ниже.',
65476558 'translate-magic-module' => 'Модуль:',
65486559 'translate-magic-submit' => 'Вывести',
@@ -6695,7 +6706,7 @@
66966707 'translate-checks-balance' => 'Nevyvážené počty {{PLURAL:$2|zátvoriek|zátvoriek}}:
66976708 <strong><nowiki>$1</nowiki></strong>',
66986709 'translate-checks-links' => '{{PLURAL:$2|Nasledovný odkaz je problematický|Nasledovné odkazy sú problematické}}: <strong><nowiki>$1</nowiki></strong>',
6699 - 'translate-checks-xhtml' => 'Prosím, nahraďte {{PLURAL:$2|nasledovnú značku správnou|nasledovné značky správnymi}}:
 6710+ 'translate-checks-xhtml' => 'Prosím, nahraďte {{PLURAL:$2|nasledovnú značku správnou|nasledovné značky správnymi}}:
67006711 <strong><nowiki>$1</nowiki></strong>',
67016712 'translate-checks-plural' => 'Definícia používa <nowiki>{{PLURAL:}}</nowiki>, ale preklad nie.',
67026713 'translate-checks-pagename' => 'Oproti definícii sa zmenil menný priestor',
@@ -7197,7 +7208,7 @@
71987209 'translate-ignored' => '(нодида гирифташуда)',
71997210 'translate-edit-definition' => 'Таърифи пайғом',
72007211 'translate-edit-contribute' => 'ҳиссагузорӣ',
7201 - 'translate-edit-no-information' => "''Ин пайғом дорои тавзеҳот нест.
 7212+ 'translate-edit-no-information' => "''Ин пайғом дорои тавзеҳот нест.
72027213 Агар шумо медонед ин пағом чигуна ё дар куҷо истифода мешавад, шумо метавонед бо изофа кардани тавзеҳот ба ин пайғом ба дигар тарҷумакунандагон кӯмак кунед.''",
72037214 'translate-edit-information' => 'Иттилоот дар мавриди ин пайғом ($1)',
72047215 'translate-edit-in-other-languages' => 'Ҳамин пайғом дар дигар забонҳо',
@@ -7278,14 +7289,14 @@
72797290
72807291 ในตัวแปรพิเศษ กรุณาใส่คำแปลภาษาอังกฤษไปด้วยเช่นเดียวกัน มิฉะนั้นมันจะหยุดทำงาน กรุณาเว้นอันแรก (0 หรือ 1) อย่างที่มันเป็น
72817292
7282 -ชื่อหน้าพิเศษและตัวแปรพิเศษสามารถมีคำแปลได้หลายอย่าง
7283 -คำแปลจะแยกโดยการใช้ จุลภาค (,)
 7293+ชื่อหน้าพิเศษและตัวแปรพิเศษสามารถมีคำแปลได้หลายอย่าง
 7294+คำแปลจะแยกโดยการใช้ จุลภาค (,)
72847295 ชื่อแบบหน้าตาและเนมสเปซสามารถมีคำแปลได้แค่คำเดียว
72857296
7286 -ในคำแปลชื่อเนมสเปซ <tt>คุยเรื่อง$1</tt> ต้องระวังเป็นพิเศษ <tt>$1</tt> จะถูกแทนที่โดยชื่อเว็บไซต์ (เช่น <tt>คุยเรื่อง{{SITENAME}}</tt>)
 7297+ในคำแปลชื่อเนมสเปซ <tt>คุยเรื่อง$1</tt> ต้องระวังเป็นพิเศษ <tt>$1</tt> จะถูกแทนที่โดยชื่อเว็บไซต์ (เช่น <tt>คุยเรื่อง{{SITENAME}}</tt>)
72877298 ถ้าไม่สามารถกระทำการดังกล่าวได้ในภาษาของคุณ, กรุณาติดต่อผู้ดูแลระบบขั้นสูง
72887299
7289 -คุณต้องอยู่ในกลุ่มคนแปลเพื่อที่จะบันทึกข้อมูลได้
 7300+คุณต้องอยู่ในกลุ่มคนแปลเพื่อที่จะบันทึกข้อมูลได้
72907301 ข้อมูลจะไม่ถูกบันทึกตราบใดที่คุณยังไม่กด "บันทึก"',
72917302 'translate-magic-module' => 'โมดูล:',
72927303 'translate-magic-submit' => 'ดึงข้อมูล',
Index: trunk/extensions/Translate/Translate.alias.php
@@ -16,6 +16,7 @@
1717 'TranslationChanges' => array( 'TranslationChanges' ),
1818 'TranslationStats' => array( 'TranslationStats' ),
1919 'Translations' => array( 'Translations' ),
 20+ 'LanguageStats' => array( 'LanguageStats' ),
2021 );
2122
2223 /** Afrikaans (Afrikaans) */

Status & tagging log