You can subscribe to this list here.
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
(8) |
Jul
(16) |
Aug
(8) |
Sep
(6) |
Oct
(2) |
Nov
(5) |
Dec
(3) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2012 |
Jan
|
Feb
(16) |
Mar
(6) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <ro...@us...> - 2011-12-01 22:24:39
|
Revision: 53 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=53&view=rev Author: robin-p Date: 2011-12-01 22:24:32 +0000 (Thu, 01 Dec 2011) Log Message: ----------- Titles per project, so the project names can be localised as well. Modified Paths: -------------- trunk/InfoPage.i18n.php trunk/InfoPage.php Modified: trunk/InfoPage.i18n.php =================================================================== --- trunk/InfoPage.i18n.php 2011-11-27 18:30:39 UTC (rev 52) +++ trunk/InfoPage.i18n.php 2011-12-01 22:24:32 UTC (rev 53) @@ -14,7 +14,13 @@ 'wminc-infopage-enter' => 'go to the Main Page', 'wminc-unknownlang' => '(unknown language with code "$1")', 'wminc-manual-url' => 'Help:Manual', # only translate if necessary - 'wminc-infopage-title' => '$1 $2', # only translate if necessary + 'wminc-infopage-title-wikipedia' => 'Wikipedia $1', + 'wminc-infopage-title-wikibooks' => 'Wikibooks $1', + 'wminc-infopage-title-wiktionary' => 'Wiktionary $1', + 'wminc-infopage-title-wikiquote' => 'Wikiquote $1', + 'wminc-infopage-title-wikinews' => 'Wikinews $1', + 'wminc-infopage-title-wikisource' => 'Wikisource $1', + 'wminc-infopage-title-wikiversity' => 'Wikiversity $1', 'wminc-infopage-welcome' => 'Welcome to the Wikimedia Incubator, a project of the Wikimedia Foundation ([[{{MediaWiki:Aboutpage}}|About]])', 'wminc-infopage-missingwiki-text' => 'A $1 in this language does not yet exist.', @@ -50,10 +56,13 @@ */ $messages['qqq'] = array( 'wminc-infopage-enter' => 'Text of a link to the Main Page of a test wiki at Incubator.', - 'wminc-infopage-title' => '{{optional}} -* $1 is the project, e.g. "Wikipedia" or "Wiktionary" -* $2 is the language name from CLDR, i.e. it takes the name in your language if available. Otherwise, it\'s in English. -Here you can change the title as it appears on e.g. http://incubator.wikimedia.org/wiki/Wn/en. You can change it to e.g. "$1 in $2".', + 'wminc-infopage-title-wikipedia' => 'This is the main title of the info page. $1 is the language name from CLDR, i.e. it takes the name in your language if available. Otherwise, it\'s in English.', + 'wminc-infopage-title-wikibooks' => 'This is the main title of the info page. $1 is the language name from CLDR, i.e. it takes the name in your language if available. Otherwise, it\'s in English.', + 'wminc-infopage-title-wiktionary' => 'This is the main title of the info page. $1 is the language name from CLDR, i.e. it takes the name in your language if available. Otherwise, it\'s in English.', + 'wminc-infopage-title-wikiquote' => 'This is the main title of the info page. $1 is the language name from CLDR, i.e. it takes the name in your language if available. Otherwise, it\'s in English.', + 'wminc-infopage-title-wikinews' => 'This is the main title of the info page. $1 is the language name from CLDR, i.e. it takes the name in your language if available. Otherwise, it\'s in English.', + 'wminc-infopage-title-wikisource' => 'This is the main title of the info page. $1 is the language name from CLDR, i.e. it takes the name in your language if available. Otherwise, it\'s in English.', + 'wminc-infopage-title-wikiversity' => 'This is the main title of the info page. $1 is the language name from CLDR, i.e. it takes the name in your language if available. Otherwise, it\'s in English.', 'wminc-infopage-welcome' => 'Do not change <tt><nowiki>{{MediaWiki:Aboutpage}}</nowiki></tt>.', 'wminc-infopage-missingwiki-text' => "'''$1''' is a project: Wikipedia/Wiktionary/...", 'wminc-infopage-option-startsister' => '$2 is a link to either Wikisource or Wikiversity, and $1 is that project name.', Modified: trunk/InfoPage.php =================================================================== --- trunk/InfoPage.php 2011-11-27 18:30:39 UTC (rev 52) +++ trunk/InfoPage.php 2011-12-01 22:24:32 UTC (rev 53) @@ -43,7 +43,7 @@ $this->mLangNames = IncubatorTest::getLanguageNames(); $this->mLangName = ( isset( $this->mLangNames[$this->mLangCode] ) ? $this->mLangNames[$this->mLangCode] : wfMsg( 'wminc-unknownlang', $this->mLangCode ) ); - $this->mFormatTitle = wfMsgHtml( 'wminc-infopage-title', $this->mProjectName, $this->mLangName ); + $this->mFormatTitle = wfMsgHtml( 'wminc-infopage-title-' . strtolower( $this->mProjectName ), $this->mLangName ); return; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-11-27 18:30:45
|
Revision: 52 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=52&view=rev Author: robin-p Date: 2011-11-27 18:30:39 +0000 (Sun, 27 Nov 2011) Log Message: ----------- use protocol-relative url Modified Paths: -------------- trunk/WikimediaIncubator.php Modified: trunk/WikimediaIncubator.php =================================================================== --- trunk/WikimediaIncubator.php 2011-11-21 16:55:25 UTC (rev 51) +++ trunk/WikimediaIncubator.php 2011-11-27 18:30:39 UTC (rev 52) @@ -18,7 +18,7 @@ 'name' => 'Wikimedia Incubator', 'author' => array( 'SPQRobin', 'Hydriz' ), 'version' => 'dev, synced to 4.5 in svn', - 'url' => 'http://www.mediawiki.org/wiki/Extension:WikimediaIncubator', + 'url' => '//www.mediawiki.org/wiki/Extension:WikimediaIncubator', 'descriptionmsg' => 'wminc-desc', ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-11-21 16:55:31
|
Revision: 51 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=51&view=rev Author: robin-p Date: 2011-11-21 16:55:25 +0000 (Mon, 21 Nov 2011) Log Message: ----------- simplify code Modified Paths: -------------- trunk/IncubatorTest.php Modified: trunk/IncubatorTest.php =================================================================== --- trunk/IncubatorTest.php 2011-11-19 06:01:41 UTC (rev 50) +++ trunk/IncubatorTest.php 2011-11-21 16:55:25 UTC (rev 51) @@ -309,8 +309,6 @@ * @return Boolean */ static function onGetUserPermissionsErrors( $title, $user, $action, &$result ) { - $notAllowedActions = in_array( array( 'edit', 'createpage' ) ); - $titletext = $title->getText(); $prefixdata = self::analyzePrefix( $titletext ); @@ -327,7 +325,7 @@ # faking external link to support prot-rel URLs $link = "[$link ". self::makeExternalLinkText( $link ) . "]"; $result[] = array( 'wminc-error-wiki-exists', $link ); - return $notAllowedActions ? false : true; + return $action != 'edit'; } if( !self::shouldWeShowUnprefixedError( $title ) || $action != 'create' ) { @@ -346,7 +344,7 @@ $error = 'wminc-error-unprefixed'; } $result = $error; - return $notAllowedActions ? false : true; + return $action != 'edit'; } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-11-19 06:01:48
|
Revision: 50 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=50&view=rev Author: robin-p Date: 2011-11-19 06:01:41 +0000 (Sat, 19 Nov 2011) Log Message: ----------- Updates to MW SVN Modified Paths: -------------- trunk/IncubatorTest.php Modified: trunk/IncubatorTest.php =================================================================== --- trunk/IncubatorTest.php 2011-11-08 21:39:45 UTC (rev 49) +++ trunk/IncubatorTest.php 2011-11-19 06:01:41 UTC (rev 50) @@ -309,6 +309,8 @@ * @return Boolean */ static function onGetUserPermissionsErrors( $title, $user, $action, &$result ) { + $notAllowedActions = in_array( array( 'edit', 'createpage' ) ); + $titletext = $title->getText(); $prefixdata = self::analyzePrefix( $titletext ); @@ -325,7 +327,7 @@ # faking external link to support prot-rel URLs $link = "[$link ". self::makeExternalLinkText( $link ) . "]"; $result[] = array( 'wminc-error-wiki-exists', $link ); - return $action == 'delete' ? true : false; + return $notAllowedActions ? false : true; } if( !self::shouldWeShowUnprefixedError( $title ) || $action != 'create' ) { @@ -344,7 +346,7 @@ $error = 'wminc-error-unprefixed'; } $result = $error; - return false; + return $notAllowedActions ? false : true; } /** @@ -413,9 +415,13 @@ } elseif( !$prefix || $prefix['error'] ) { return false; # shouldn't be, but you never know } - global $wmincProjectDatabases; + global $wmincProjectDatabases, $wgDummyLanguageCodes; $project = strtolower( $wmincProjectDatabases[$prefix['project']] ); $project = $project == 'wikipedia' ? 'wiki' : $project; + $redirectcode = array_search( $prefix['lang'], $wgDummyLanguageCodes ); + if( $redirectcode ) { + $prefix['lang'] = $redirectcode; + } return strtolower( str_replace('-', '_', $prefix['lang'] ) . $project ); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-11-08 21:39:52
|
Revision: 49 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=49&view=rev Author: robin-p Date: 2011-11-08 21:39:45 +0000 (Tue, 08 Nov 2011) Log Message: ----------- missing hook (in svn) & give test-admins suppressredirect right Modified Paths: -------------- trunk/WikimediaIncubator.php Modified: trunk/WikimediaIncubator.php =================================================================== --- trunk/WikimediaIncubator.php 2011-11-08 21:23:40 UTC (rev 48) +++ trunk/WikimediaIncubator.php 2011-11-08 21:39:45 UTC (rev 49) @@ -70,6 +70,7 @@ $wgGroupPermissions['test-sysop']['block'] = true; $wgGroupPermissions['test-sysop']['blockemail'] = true; $wgGroupPermissions['test-sysop']['rollback'] = true; +$wgGroupPermissions['test-sysop']['suppressredirect'] = true; $wgAddGroups['bureaucrat'][] = 'test-sysop'; $wgRemoveGroups['bureaucrat'][] = 'test-sysop'; @@ -144,6 +145,7 @@ $wgAutoloadClasses['ListUsersTestWiki'] = $dir . 'ListUsersTestWiki.php'; $wgHooks['SpecialListusersHeaderForm'][] = 'ListUsersTestWiki::onSpecialListusersHeaderForm'; $wgHooks['SpecialListusersQueryInfo'][] = 'ListUsersTestWiki::onSpecialListusersQueryInfo'; +$wgHooks['SpecialListusersHeader'][] = 'ListUsersTestWiki::onSpecialListusersHeader'; /* Search in test wiki */ $wgHooks['SpecialSearchCreateLink'][] = 'IncubatorTest::onSpecialSearchCreateLink'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-11-08 21:23:50
|
Revision: 48 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=48&view=rev Author: robin-p Date: 2011-11-08 21:23:40 +0000 (Tue, 08 Nov 2011) Log Message: ----------- Update i18n files; other changes Modified Paths: -------------- trunk/CreateAccountTestWiki-alt.php trunk/IncubatorTest.php trunk/InfoPage.i18n.php trunk/InfoPage.php trunk/WikimediaIncubator.i18n.php Modified: trunk/CreateAccountTestWiki-alt.php =================================================================== --- trunk/CreateAccountTestWiki-alt.php 2011-10-02 14:27:18 UTC (rev 47) +++ trunk/CreateAccountTestWiki-alt.php 2011-11-08 21:23:40 UTC (rev 48) @@ -16,13 +16,11 @@ class AutoTestWiki { public static function onUserCreateForm( $template ) { global $wgRequest, $wmincProjects; - $testwikivalue = strtolower( $wgRequest->getVal( 'testwiki', '' ) ); - if ( IncubatorTest::validateLanguageCode( $codevalue ) && isset( $wmincProjects[$projectvalue] ) ) { - $template->addInputItem( 'testwiki-project', - $projectvalue, 'select', 'testwiki-project' ); - $template->addInputItem( 'testwiki-code', - $codevalue, 'text', 'testwiki-code' ); - } + $testwiki = IncubatorTest::getUrlParam(); + $template->addInputItem( 'testwiki-project', + $testwiki['project'], 'select', 'testwiki-project' ); + $template->addInputItem( 'testwiki-code', + $testwiki['lang'], 'text', 'testwiki-code' ); return true; } Modified: trunk/IncubatorTest.php =================================================================== --- trunk/IncubatorTest.php 2011-10-02 14:27:18 UTC (rev 47) +++ trunk/IncubatorTest.php 2011-11-08 21:23:40 UTC (rev 48) @@ -523,6 +523,7 @@ if( $title->getNamespace() != NS_MAIN ) { return true; # not for other namespaces } + $wgOut->addModuleStyles( 'WikimediaIncubator.InfoPage' ); $infopage = new InfoPage( $title, $prefix ); $infopage->mDbStatus = $dbstate = self::getDBState( $prefix ); if( $dbstate == 'existing' ) { @@ -828,6 +829,7 @@ public static function renderParserFunction( &$parser, $status='default', $meta=false, $mainpage='', $created='', $bug='', $since='' ) { global $wgTitle; + $parser->getOutput()->addModuleStyles( 'WikimediaIncubator.InfoPage' ); $prefix = IncubatorTest::analyzePrefix( $wgTitle, true ); if( $prefix['error'] || $wgTitle->getNamespace() != NS_MAIN ) { return wfMsg( 'wminc-infopage-error' ); Modified: trunk/InfoPage.i18n.php =================================================================== --- trunk/InfoPage.i18n.php 2011-10-02 14:27:18 UTC (rev 47) +++ trunk/InfoPage.i18n.php 2011-11-08 21:23:40 UTC (rev 48) @@ -38,6 +38,7 @@ 'wminc-infopage-status-closedsister' => 'This subdomain was closed. Go to <b>$2</b> to contribute to this wiki.', 'wminc-infopage-status-created' => 'This project has been approved by the language committee and is now available at $1.', 'wminc-infopage-status-beforeincubator' => 'This project was created before Wikimedia Incubator started and is available at $1.', + 'wminc-infopage-status-approved' => 'This Incubator wiki has been approved by the [[meta:Language committee|language committee]] and will be created soon.', 'wminc-infopage-content' => 'Content', 'wminc-allpages' => 'All content pages in this wiki', @@ -49,6 +50,10 @@ */ $messages['qqq'] = array( 'wminc-infopage-enter' => 'Text of a link to the Main Page of a test wiki at Incubator.', + 'wminc-infopage-title' => '{{optional}} +* $1 is the project, e.g. "Wikipedia" or "Wiktionary" +* $2 is the language name from CLDR, i.e. it takes the name in your language if available. Otherwise, it\'s in English. +Here you can change the title as it appears on e.g. http://incubator.wikimedia.org/wiki/Wn/en. You can change it to e.g. "$1 in $2".', 'wminc-infopage-welcome' => 'Do not change <tt><nowiki>{{MediaWiki:Aboutpage}}</nowiki></tt>.', 'wminc-infopage-missingwiki-text' => "'''$1''' is a project: Wikipedia/Wiktionary/...", 'wminc-infopage-option-startsister' => '$2 is a link to either Wikisource or Wikiversity, and $1 is that project name.', @@ -109,6 +114,17 @@ 'wminc-infopage-status-beforeincubator' => 'Гэты праект быў створаны перад пачаткам функцыянаваньня Інкубатара фундацыі «Вікімэдыя» і ён даступны на $1.', ); +/** Breton (Brezhoneg) + * @author Fulup + * @author Y-M D + */ +$messages['br'] = array( + 'wminc-infopage-enter' => "mont d'ar Bajenn Degemer", + 'wminc-infopage-missingwiki-text' => "N'eus ket a $1 er yezh-mañ.", + 'wminc-infopage-option-multilingual' => "Gallout a rit mont d'ur wiki liesyezhek :", + 'wminc-infopage-createmainpage' => 'Merkit ar ger "Pajenn degemer" er yezh-mañ :', +); + /** German (Deutsch) * @author Kghbln * @author MF-Warburg @@ -286,6 +302,13 @@ 'wminc-infopage-status-beforeincubator' => 'המיזם הזה נוצר לפני שהוקם האינקובטור של ויקימדיה והוא זמין ב{{GRAMMAR:תחילית|$1}}.', ); +/** Hungarian (Magyar) + * @author Xbspiro + */ +$messages['hu'] = array( + 'wminc-infopage-enter' => 'Tovább', +); + /** Interlingua (Interlingua) * @author McDutchie */ @@ -337,6 +360,7 @@ 'wminc-infopage-enter' => "Gitt op d'Haaptsäit", 'wminc-unknownlang' => '(onbekannte Sprooch mam Code "$1")', 'wminc-infopage-missingwiki-text' => '$1 gëtt et an dëser Sprooch nach net', + 'wminc-infopage-option-startsister' => 'Wann Dir dës Wiki ufänke wëllt, da gitt w.e.g. op <b>[$2 $1]</b>.', 'wminc-infopage-option-languages-existing' => 'Dir kënnt no [http://www.$1.org Sproochversiounen, déi et vun $1 gëtt, sichen].', 'wminc-infopage-option-sisterprojects-existing' => 'Dir kënnt no Projeten an dëser Sprooch sichen (déi et scho gëtt):', 'wminc-infopage-option-sisterprojects-other' => 'Dir kënnt no anere Projeten an dëser Sprooch sichen:', @@ -347,6 +371,15 @@ 'wminc-infopage-status-beforeincubator' => 'Dëse Projet gouf ugeluecht ier et Wikimedia Incubator gouf an ass op $1 disponibel.', ); +/** Limburgish (Limburgs) + * @author Ooswesthoesbes + */ +$messages['li'] = array( + 'wminc-infopage-enter' => "gank achter g'm veurblaaje", + 'wminc-unknownlang' => '(ónbekèndj spraok mid g\'r koeaj "$1")', + 'wminc-infopage-welcome' => "Wèlkóm bie g'm Wikimedia Incubator, e perjèk dèr Wikimedia Foundation ([[{{MediaWiki:Aboutpage}}|mieër info]])", +); + /** Lithuanian (Lietuvių) * @author Matasg */ @@ -360,7 +393,6 @@ $messages['mk'] = array( 'wminc-infopage-enter' => 'оди на Главна страница', 'wminc-unknownlang' => '(непознат јазик со код „$1“)', - 'wminc-logo-wikipedia' => 'Wikipedia-logo-v2-mk.svg', 'wminc-infopage-welcome' => 'Добредојдовте на Инкубаторот на Викимедија - проект на Фондацијата Викимедија ([[{{MediaWiki:Aboutpage}}|За проектот]])', 'wminc-infopage-missingwiki-text' => 'На овој јазик сè уште не постои $1.', 'wminc-infopage-option-startwiki' => 'Ако сакате да го започнете ова вики, @@ -384,6 +416,7 @@ $messages['ml'] = array( 'wminc-infopage-enter' => 'പ്രധാന താളിലേയ്ക്ക് പോവുക', 'wminc-unknownlang' => '("$1" എന്ന കോഡോടു കൂടിയ അപരിചിതമായ ഭാഷ)', + 'wminc-infopage-welcome' => 'വിക്കിമീഡിയ ഫൗണ്ടേഷൻ സംരംഭമായ വിക്കിമീഡിയ ഇൻകുബേറ്ററിലേയ്ക്ക് സ്വാഗതം ([[{{MediaWiki:Aboutpage}}|വിവരണം]])', 'wminc-infopage-missingwiki-text' => 'ഈ ഭാഷയിൽ $1 നിലവിലില്ല.', 'wminc-infopage-option-startwiki' => 'താങ്കൾക്ക് ഈ വിക്കി തുടങ്ങണമെന്നുണ്ടെങ്കിൽ [{{fullurl:{{FULLPAGENAME}}|action=edit}} താൾ സൃഷ്ടിച്ച ശേഷം] [[{{MediaWiki:Wminc-manual-url}}|ഞങ്ങളുടെ വഴികാട്ടി]] പിന്തുടരുക.', 'wminc-infopage-option-startsister' => 'താങ്കൾക്ക് ഈ വിക്കി തുടങ്ങണമെന്നുണ്ടെങ്കിൽ, <b>[$2 $1]</b> എന്ന താളിൽ ചെല്ലുക.', @@ -393,7 +426,10 @@ 'wminc-infopage-option-multilingual' => 'താങ്കൾക്ക് ബഹുഭാഷാവിക്കിയിലേയ്ക്ക് പോകാവുന്നതാണ്:', 'wminc-infopage-createmainpage' => 'ഈ ഭാഷയിൽ "പ്രധാന താൾ" എന്നതിനു സമാനമായ പദം നൽകുക:', 'wminc-infopage-contribute' => 'താങ്കൾക്ക് ഈ ഭാഷ അറിയാമെങ്കിൽ, അതിൽ സംഭാവന ചെയ്യാൻ താത്പര്യപ്പെടുന്നു!', + 'wminc-infopage-status-imported' => 'ഈ ഇൻകുബേറ്റർ വിക്കി $1 എന്നതിൽ നിന്നും വിക്കി അടച്ചശേഷം ഇറക്കുമതി ചെയ്തതാണ്.', + 'wminc-infopage-status-closedsister' => 'ഈ ഉപഡൊമൈൻ അടച്ചിരിക്കുന്നു. ഈ വിക്കിയിൽ സംഭാവന ചെയ്യാൻ <b>$2</b> എന്നതിലേയ്ക്ക് പോവുക.', 'wminc-infopage-status-created' => 'ഈ സംരംഭം ഭാഷാ കമ്മിറ്റി അംഗീകരിച്ചിരിക്കുന്നു, അതിപ്പോൾ $1 എന്നു ലഭ്യമാണ്.', + 'wminc-infopage-status-beforeincubator' => 'ഈ പദ്ധതി, വിക്കിമീഡിയ ഇൻകുബേറ്റർ തുടങ്ങുന്നതിനു മുമ്പേയുള്ളതാണ്, അത് $1-ൽ ലഭ്യമാണ്.', ); /** Malay (Bahasa Melayu) @@ -402,6 +438,7 @@ $messages['ms'] = array( 'wminc-infopage-enter' => 'pergi ke Laman Utama', 'wminc-unknownlang' => '(bahasa yang tidak diketahui dengan kod "$1")', + 'wminc-infopage-title' => '$1 $2', 'wminc-infopage-welcome' => 'Selamat datang ke Wikimedia Incubator, satu projek Yayasan Wikimedia ([[{{MediaWiki:Aboutpage}}|Perihal]])', 'wminc-infopage-missingwiki-text' => '$1 dalam bahasa ini belum wujud.', 'wminc-infopage-option-startwiki' => 'Jika anda mahu memulakan wiki ini, @@ -563,6 +600,13 @@ 'wminc-infopage-contribute' => 'Nëse e dini këtë gjuhë, jeni të inkurajuar të kontribuoni!', ); +/** Serbian (Cyrillic script) (Српски (ћирилица)) + * @author Rancher + */ +$messages['sr-ec'] = array( + 'wminc-infopage-title' => '$1 $2', +); + /** Swedish (Svenska) * @author Lokal Profil */ @@ -581,6 +625,13 @@ 'wminc-infopage-status-beforeincubator' => 'Detta projekt skapades före Wikimedia Incubator startade och finns på $1.', ); +/** Turkish (Türkçe) + * @author Emperyan + */ +$messages['tr'] = array( + 'wminc-infopage-enter' => 'Ana sayfaya git', +); + /** Ukrainian (Українська) * @author Andrijko Z. * @author Dim Grits Modified: trunk/InfoPage.php =================================================================== --- trunk/InfoPage.php 2011-10-02 14:27:18 UTC (rev 47) +++ trunk/InfoPage.php 2011-11-08 21:23:40 UTC (rev 48) @@ -117,8 +117,7 @@ * @return String: the core HTML for the info page */ public function StandardInfoPage( $beforetitle, $aftertitle, $content ) { - global $wgLang, $wgOut; - $wgOut->addModuleStyles( 'WikimediaIncubator.InfoPage' ); + global $wgLang; return Html::rawElement( 'div', array( 'class' => 'wminc-infopage plainlinks', 'lang' => $wgLang->getCode(), 'dir' => $wgLang->getDir() ), $beforetitle . @@ -193,6 +192,7 @@ wfMessage( 'wminc-category' ) ) ) . '</ul></td>' . '</tr>' ); + $content .= $this->listOtherProjects(); return $this->StandardInfoPage( '', $gotoMainPage, $content ); } Modified: trunk/WikimediaIncubator.i18n.php =================================================================== --- trunk/WikimediaIncubator.i18n.php 2011-10-02 14:27:18 UTC (rev 47) +++ trunk/WikimediaIncubator.i18n.php 2011-11-08 21:23:40 UTC (rev 48) @@ -48,7 +48,7 @@ # User groups 'right-viewuserlang' => 'View user language and test wiki', 'group-test-sysop' => 'Test wiki administrators', - 'group-test-sysop-member' => 'test wiki administrator', + 'group-test-sysop-member' => '{{GENDER:$1|test wiki administrator}}', 'grouppage-test-sysop' => 'Project:Test wiki administrators', # Language codes @@ -70,6 +70,7 @@ * @author Nike * @author Purodha * @author SPQRobin + * @author Umherirrender * @author Yekrats */ $messages['qqq'] = array( @@ -105,9 +106,11 @@ 'wminc-ip' => 'Used on Special:ViewUserLang which can only be used for logged in users. This error message is shown for IP addresses.', 'right-viewuserlang' => '{{doc-right|viewuserlang}} The message says (in the long form): (This group has) "The ability to view the language and test wiki of a user". A user can set his language and test wiki through Special:Preferences.', - 'group-test-sysop' => 'Name of the group of administrators of a specific test wiki on the Wikimedia Incubator.', - 'group-test-sysop-member' => 'An administrator of a specific test wiki on the Wikimedia Incubator.', - 'grouppage-test-sysop' => 'Do not change the "Project:" part!', + 'group-test-sysop' => '{{doc-group|test-sysop}} +Name of the group of administrators of a specific test wiki on the Wikimedia Incubator.', + 'group-test-sysop-member' => '{{doc-group|test-sysop|member}} +An administrator of a specific test wiki on the Wikimedia Incubator.', + 'grouppage-test-sysop' => '{{doc-group|test-sysop|page}}', 'wminc-code-macrolanguage' => "* '''$1''' is the language code (not used by default) * '''$2''' is the language name in English * '''$3''' is the translated language name from CLDR, if available (otherwise, English) @@ -225,6 +228,7 @@ * @author Meno25 * @author Orango * @author OsamaK + * @author روخو * @author زكريا */ $messages['ar'] = array( @@ -232,6 +236,7 @@ 'wminc-manual' => 'دليل', 'wminc-listwikis' => 'قائمة الويكيات', 'wminc-testwiki' => 'ويكي الاختبار:', + 'wminc-testwiki-code' => 'اختبر لغة الويكي', 'wminc-testwiki-none' => 'لا شيء/الكل', 'wminc-recentchanges-all' => 'كل التغييرات الحديثة', 'wminc-prefinfo-language' => 'لغة واجهتك - مستقلة عن ويكي الاختبار', @@ -352,6 +357,7 @@ 'wminc-manual' => 'Інструкцыя', 'wminc-listwikis' => 'Сьпіс вікі', 'wminc-testwiki' => 'Тэставая вікі:', + 'wminc-testwiki-code' => 'Мова тэставай вікі:', 'wminc-testwiki-none' => 'Ніякая/усе', 'wminc-recentchanges-all' => 'Усе апошнія зьмены', 'wminc-prefinfo-language' => 'Вашая мова інтэрфэйсу — незалежная ад мовы Вашай тэставай вікі', @@ -379,6 +385,8 @@ 'wminc-code-collective' => 'Код «$1» адносіцца не да пэўнай мовы, а да набору моваў, а менавіта да [[wikipedia:$2 language|«$3»]].', 'wminc-code-retired' => 'Гэты код мовы быў зьменены і болей не датычыцца арыгінальнай мовы.', 'wminc-listusers-testwiki' => 'Вы праглядаеце ўдзельнікаў, якія ў сваёй тэставай вікі выбралі наладу $1.', + 'wminc-search-nocreate-nopref' => 'Вы шукалі «$1». Калі ласка, устанавіце Вашыя [[Special:Preferences|налады тэставай вікі]], каб мы маглі сказаць Вам, якія старонкі Вы можаце ствараць!', + 'wminc-search-nocreate-suggest' => 'Вы шукалі «$1». Вы можаце стварыць у {{GRAMMAR:месны|{{SITENAME}}}} старонку <b>[[$2]]</b>!', ); /** Bulgarian (Български) @@ -433,6 +441,7 @@ 'wminc-manual' => 'Dre zorn', 'wminc-listwikis' => 'Roll ar wikioù', 'wminc-testwiki' => 'Wiki testiñ :', + 'wminc-testwiki-code' => 'Yezh ar wiki amprouiñ :', 'wminc-testwiki-none' => 'Hini ebet / An holl', 'wminc-recentchanges-all' => 'An holl gemmoù diwezhañ', 'wminc-prefinfo-language' => "Yezh hoc'h etrefas - distag diouzh hini ho wiki testiñ", @@ -440,15 +449,16 @@ 'wminc-prefinfo-project' => 'Diuzit ar raktres Wikimedia (miret eo an dibarzh Incubator evit an implijerien a gas da benn ul labour dre vras)', 'wminc-prefinfo-error' => "Diuzet hoc'h eus ur raktres zo ezhomm ur c'hod yezh evitañ.", 'wminc-error-move-unprefixed' => "Fazi : N'eus [[{{MediaWiki:Helppage}}|rakger ebet pe fall eo rakger]] ar bajenn emaoc'h o klask dilec'hiañ !", - 'wminc-error-wronglangcode' => "'''Fazi :''' Ur [[{{MediaWiki:Helppage}}|c'hod yezh fall]] \"\$1\" zo d'ar bajenn emaoc'h o klask degas kemmoù enni !", - 'wminc-error-unprefixed' => "'''Fazi :''' N'eus [[{{MediaWiki:Helppage}}|rakger ebet]] d'ar bajenn emaoc'h o klask degas kemmoù enni !", - 'wminc-error-unprefixed-suggest' => "'''Fazi :''' N'eus [[{{MediaWiki:Helppage}}|rakger ebet]] d'ar bajenn emaoc'h o klask degas kemmoù enni ! Gallout a rit krouiñ ur bajenn war [[:$1]].", + 'wminc-error-wronglangcode' => "'''Fazi :''' Ur [[{{MediaWiki:Helppage}}|c'hod yezh fall]] \"\$1\" zo er bajenn-mañ !", + 'wminc-error-unprefixed' => "!'''Fazi :''' N'eus [[{{MediaWiki:Helppage}}|rakger ebet]] d'ar bajenn-mañ !", + 'wminc-error-unprefixed-suggest' => "'''Fazi :''' N'eus [[{{MediaWiki:Helppage}}|rakger ebet]] d'ar bajenn-mañ ! Gallout a rit krouiñ ur bajenn e [[:$1]].", 'randombytest' => 'Pajenn dargouezhek gant ar wiki amprouiñ', 'randombytest-nopages' => "N'eus pajenn ebet en ho wiki amprouiñ, en esaouenn anv : $1.", 'wminc-viewuserlang' => 'Gwelet yezh an implijer hag e wiki testiñ', 'wminc-viewuserlang-user' => 'Anv implijer :', 'wminc-viewuserlang-go' => 'Mont', 'wminc-userdoesnotexist' => 'N\'eus ket eus an implijer "$1".', + 'wminc-ip' => 'Ur chomlec\'h IP eo "$1"', 'right-viewuserlang' => 'Gwelet yezh an implijer hag ar wiki testiñ', ); @@ -530,6 +540,7 @@ 'wminc-manual' => 'Håndbog', 'wminc-listwikis' => 'Liste over wikier', 'wminc-testwiki' => 'Testwiki:', + 'wminc-testwiki-code' => 'Testwiki-sprog:', 'wminc-testwiki-none' => 'Ingen/Alle', 'wminc-recentchanges-all' => 'Alle de seneste ændringer', 'wminc-prefinfo-language' => 'Dit brugerfladesprog - uafhængigt af din testwiki', @@ -541,7 +552,7 @@ 'wminc-ip' => '"$1" er en IP-adresse.', 'right-viewuserlang' => 'Vis brugersprog og testwiki', 'group-test-sysop' => 'Testwiki-administratorer', - 'group-test-sysop-member' => 'testwiki-administrator', + 'group-test-sysop-member' => '{{GENDER:$1|testwiki-administrator}}', 'grouppage-test-sysop' => 'Project:Testwiki-administratorer', 'wminc-code-retired' => 'Denne sprogkode er blevet ændret og henviser ikke længere til det oprindelige sprog.', ); @@ -580,7 +591,7 @@ 'wminc-ip' => '„$1“ ist eine IP-Adresse.', 'right-viewuserlang' => 'Benutzersprache und Testwiki anschauen', 'group-test-sysop' => 'Testadministratoren', - 'group-test-sysop-member' => 'Testadministrator', + 'group-test-sysop-member' => '{{GENDER:$1|Testwikiadministrator|Testwikiadministratorin}}', 'grouppage-test-sysop' => 'Project:Testadministratoren', 'wminc-code-macrolanguage' => 'Die [[wikipedia:$2 language|Sprache „$3“]] ist eine [[wikipedia:de:Makrosprache_(ISO_639)|Makrosprache]], welche die folgenden Einzelsprachen enthält:', 'wminc-code-collective' => 'Der Code „$1“ bezieht sich nicht auf eine bestimmte Sprache, sondern auf eine Gruppe von Sprachen, namentlich die [[wikipedia:$2 language|Sprachen „$3“]].', @@ -711,7 +722,7 @@ 'wminc-ip' => '"$1" estas IP-adreso.', 'right-viewuserlang' => 'Vidi uzulan lingvon kaj testvikion', 'group-test-sysop' => 'Administrantoj de la test vikio', - 'group-test-sysop-member' => 'administranto de la testa vikio', + 'group-test-sysop-member' => '{{GENDER:$1|administranto de la testa vikio|administrantino de la testa vikio}}', 'grouppage-test-sysop' => 'Project:Test wiki - Administrantoj de la testa vikio', 'wminc-code-macrolanguage' => 'La [[wikipedia:$2 lingvo|lingvo "$3"]] estas [[wikipedia:ISO 639 makrolingvo|makrolingvo]], enhavanta la jenajn membraj lingvoj:', 'wminc-code-collective' => 'La lingvo-kodo "$1" ne referencas specifan lingvo, sed aro da lingvoj, ĉefe la [[wikipedia:$2 language|"$3" lingvoj]].', @@ -894,6 +905,7 @@ 'wminc-manual' => 'Manuel', 'wminc-listwikis' => 'Liste des wikis', 'wminc-testwiki' => 'Wiki de test :', + 'wminc-testwiki-code' => 'Langue du wiki de test:', 'wminc-testwiki-none' => 'Aucun / tous', 'wminc-recentchanges-all' => 'Toutes les modifications récentes', 'wminc-prefinfo-language' => 'Votre langue d’interface - indépendante de celle de votre wiki de test', @@ -915,12 +927,14 @@ 'wminc-ip' => '"$1" est une adresse IP.', 'right-viewuserlang' => 'Voir la langue de l’utilisateur et le wiki de test', 'group-test-sysop' => 'Administrateurs du wiki de test', - 'group-test-sysop-member' => 'administrateur du wiki de test', + 'group-test-sysop-member' => '{{GENDER:$1|administrateur du wiki de test}}', 'grouppage-test-sysop' => 'Project:Test wiki - Administrateurs', 'wminc-code-macrolanguage' => 'La [[wikipedia:$2 language|langue « $3 »]] est une [[wikipedia:fr:macro-langue|macro-langue]], comprenant les langues suivantes :', 'wminc-code-collective' => 'Le code « $1 » ne se réfère pas à une langue spécifique, mais à une collection de langues, en particulier les [[wikipedia:$2 language|langues « $3 »]]', 'wminc-code-retired' => 'Ce code de langue a été changé est ne fait plus référence à la langue d’origine.', 'wminc-listusers-testwiki' => 'Vous êtes en train de visualiser les utilisateurs qui ont mis leur préférence de wiki de test à $1.', + 'wminc-search-nocreate-nopref' => 'Vous avez recherché "$1". Merci de régler vos [[Special:Preferences|préférences du wiki de test]] de manière à ce que nous puissions vous dire quelle page vous pouvez créer!', + 'wminc-search-nocreate-suggest' => 'Vous avez recherche "$1". Vous pouvez créer une page dans votre wiki à <b>[[$2]]</b>!', ); /** Franco-Provençal (Arpetan) @@ -954,7 +968,7 @@ 'wminc-ip' => '« $1 » est una adrèce IP.', 'right-viewuserlang' => 'Vêre la lengoua a l’utilisator et lo vouiqui d’èprôva', 'group-test-sysop' => 'Administrators du vouiqui d’èprôva', - 'group-test-sysop-member' => 'Administrator du vouiqui d’èprôva', + 'group-test-sysop-member' => 'administrat{{GENDER:$1|or|rice}} du vouiqui d’èprôva', 'grouppage-test-sysop' => 'Project:Administrators du vouiqui d’èprôva', 'wminc-code-macrolanguage' => 'La [[wikipedia:$2 language|lengoua « $3 »]] est una [[wikipedia:fr:macro-langue|macro-lengoua]], composâ de cetes lengoues :', 'wminc-code-collective' => 'Lo code « $1 » regârde pas una lengoua spècefica, mas una colèccion de lengoues, en particuliér les [[wikipedia:$2 language|lengoues « $3 »]].', @@ -992,7 +1006,7 @@ 'wminc-ip' => '"$1" é un enderezo IP.', 'right-viewuserlang' => 'Ver a lingua do usuario e o wiki de probas', 'group-test-sysop' => 'Administradores do wiki de probas', - 'group-test-sysop-member' => 'administrador do wiki de probas', + 'group-test-sysop-member' => '{{GENDER:$1|administrador|administradora}} do wiki de probas', 'grouppage-test-sysop' => 'Project:Administradores do wiki de probas', 'wminc-code-macrolanguage' => 'A [[wikipedia:$2 language|lingua "$3"]] é unha [[wikipedia:ISO 639 macrolanguage|macrolingua]], composta polas seguintes linguas:', 'wminc-code-collective' => 'O código "$1" non se refire a unha lingua específica, senón a un conxunto de linguas, en particular, as [[wikipedia:$2 language|linguas "$3"]].', @@ -1015,22 +1029,44 @@ ); /** Swiss German (Alemannisch) + * @author Als-Chlämens * @author Als-Holder */ $messages['gsw'] = array( 'wminc-desc' => 'Teschtwiki-Syschtem fir dr Wikimedia Incubator', + 'wminc-manual' => 'Handbuech', + 'wminc-listwikis' => 'Lischt vu dr Wiki', 'wminc-testwiki' => 'Teschtwiki:', + 'wminc-testwiki-code' => 'Sprooch vum Teschtwiki:', 'wminc-testwiki-none' => 'Keis/Alli', + 'wminc-recentchanges-all' => 'Alli letschti Änderige', 'wminc-prefinfo-language' => 'Sproch vu Dyyre Benutzeroberflächi - nit abhängig vum Teschtwiki', 'wminc-prefinfo-code' => 'Dr ISO-639-Sprochcode', 'wminc-prefinfo-project' => 'S Wikimedia-Projäkt, wu du dra schaffsch („Incubator“ fir Benutzer, wu allgmeini Ufgabe ibernämme)', 'wminc-prefinfo-error' => 'Du hesch e Projäkt uusgwehlt, wu s e Sprochcode derfir brucht.', + 'wminc-error-move-unprefixed' => 'Fääler: D Syte, wo du verschiebe wottsch, het [[{{MediaWiki:Helppage}}|ke oder e falschs Präfix]].', + 'wminc-error-wronglangcode' => "'''Fääler:''' Die Syte het en [[{{MediaWiki:Helppage}}|falsche Sproochcode]]: „$1“.", + 'wminc-error-unprefixed' => "'''Fääler:''' Die Syte het [[{{MediaWiki:Helppage}}|kei Präfix]].", + 'wminc-error-unprefixed-suggest' => "'''Fääler:''' Die Syte het [[{{MediaWiki:Helppage}}|kei Präfix]]. Du chasch unter [[:$1]] e Syte aafange.", + 'wminc-error-wiki-exists' => "Des Wiki git's scho. Die Syte befindet sich uff $1. Wänn s Wiki nit vor churzem erstellt worde isch, no wart bitte e paar Stund oder Dääg, bis alli Inhalt importiert worde isch.", + 'wminc-error-wiki-sister' => 'Die Syte ghört zumene Projäkt, wo doo nit ghoschtet isch. Gang bitte uff $1, zume s Wiki z finde.', 'randombytest' => 'Zuefallssyte no Teschtwiki', 'randombytest-nopages' => 'S git kei Syte im Namensruum $1 in Dyym Teschtwiki.', 'wminc-viewuserlang' => 'Benutzersproch un Teschtwiki aaluege', 'wminc-viewuserlang-user' => 'Benutzername:', 'wminc-viewuserlang-go' => 'Gang ane', + 'wminc-userdoesnotexist' => 'Dr Benutzer „$1“ git s nit.', + 'wminc-ip' => '„$1“ isch e IP-Adräss.', 'right-viewuserlang' => 'D Benutzersproch und s Teschtwiki aaluege', + 'group-test-sysop' => 'Test-Wiki-Ammanne', + 'group-test-sysop-member' => '{{GENDER:$1|Testwikiammann|Testwikiamtsfrou}}', + 'grouppage-test-sysop' => 'Project: Test-Wiki-Ammanne', + 'wminc-code-macrolanguage' => 'D [[wikipedia:$2 language|Sprooch „$3“]] isch e [[wikipedia:als:Makrosprache_(ISO_639)|Makrosprooch]], wo die Einzelsprooche dezueghöre:', + 'wminc-code-collective' => 'S Chürzel „$1“ beziegt sich nit uff ei bstimmti Sprooch, sundern uff e Grupp vo Sprooche, un zwar d [[wikipedia:$2 language|Sprooche „$3“]].', + 'wminc-code-retired' => 'Des Sproochchürzel isch gänderet un beziegt sich nümme uff di ursprünglichi Sprooch.', + 'wminc-listusers-testwiki' => 'Du gseesch Benutzer, wo ihri Teschtwiki-Yystellige uff $1 yygstellt hen.', + 'wminc-search-nocreate-nopref' => 'Du hesch nooch „$1“ gsuecht. Bitte due d [[Special:Preferences|Yystellige für dyn Teschtwiki]] festlege, demit mer dir chönne mitteile, welli Syte du chasch erstelle.', + 'wminc-search-nocreate-suggest' => 'Du hesch nooch „$1“ gsuecht. Du chasch in dym Teschtwiki e Syte unter <b>[[$2]]</b> erstelle.', ); /** Gujarati (ગુજરાતી) @@ -1081,7 +1117,7 @@ 'wminc-ip' => '„$1” היא כתובת IP.', 'right-viewuserlang' => 'צפייה ב[[Special:ViewUserLang|שפת המשתמש ואתר הוויקי הניסיוני]]', 'group-test-sysop' => 'מפעילי ויקי לבדיקה', - 'group-test-sysop-member' => 'מפעיל ויקי לבדיקה', + 'group-test-sysop-member' => '{{GENDER:$1|מפעיל|מפעילת}} ויקי לבדיקה', 'grouppage-test-sysop' => 'Project:מפעילי ויקי לבדיקה', 'wminc-code-macrolanguage' => '[[wikipedia:$2 language|השפה "$3"]] היא [[wikipedia:ISO 639 macrolanguage|מקרו־שפה]], שמורכבת מהשפות הבאות:', 'wminc-code-collective' => 'הקוד "$1" לא מתייחס לשפה מסוימת, אלא לאוסף שפות, [[wikipedia:$2 language|"$3"]].', @@ -1202,12 +1238,12 @@ 'randombytest-nopages' => 'Le wiki de test non ha paginas in le spatio de nomines: $1', 'wminc-viewuserlang' => 'Vider le lingua de un usator e su wiki de test', 'wminc-viewuserlang-user' => 'Nomine de usator:', - 'wminc-viewuserlang-go' => 'Ir', + 'wminc-viewuserlang-go' => 'Va', 'wminc-userdoesnotexist' => 'Le usator "$1" non existe.', 'wminc-ip' => '"$1" es un adresse IP.', 'right-viewuserlang' => 'Vider le lingua e wiki de test de usatores', 'group-test-sysop' => 'Administratores del wiki de test', - 'group-test-sysop-member' => 'administrator del wiki de test', + 'group-test-sysop-member' => '{{GENDER:$1|administrator|administratrice}} del wiki de test', 'grouppage-test-sysop' => 'Project:Administratores del wiki de test', 'wminc-code-macrolanguage' => 'Le [[wikipedia:$2 language|lingua "$3"]] es un [[wikipedia:ISO 639 macrolanguage|macrolingua]] que se compone del sequente linguas membros:', 'wminc-code-collective' => 'Le codice "$1" non refere a un lingua specific, ma a un collection de linguas, a saper le [[wikipedia:$2 language|linguas "$3"]].', @@ -1465,8 +1501,10 @@ 'wminc-ip' => '"$1" ass eng IP-Adress.', 'right-viewuserlang' => 'Benotzersprooch an Test-Wiki weisen', 'group-test-sysop' => 'Adminstrateure vun der Testwiki', - 'group-test-sysop-member' => 'Adminstrateur vun der Testwiki', + 'group-test-sysop-member' => '{{GENDER:$1|Adminstrateur|Administratrice}} vun der Testwiki', 'wminc-code-retired' => "Dëse Sproochcode gouf geännert a bezitt sech net méi op d'Original-Sprooch.", + 'wminc-listusers-testwiki' => 'Dir gesitt Benotzer déi hir Test-Wiki Astellung op $1 gesat hunn', + 'wminc-search-nocreate-suggest' => 'Dir hutt no "$1" gesicht. Dir kënnt eng Säit ënner <b>[[$2]]</b> an Ärer Wiki uleeën!', ); /** Limburgish (Limburgs) @@ -1603,7 +1641,7 @@ 'wminc-ip' => '„$1“ е IP-адреса.', 'right-viewuserlang' => 'Погледајте кориснички јазик и текст вики', 'group-test-sysop' => 'Администратори на пробно вики', - 'group-test-sysop-member' => 'администратор на пробно вики', + 'group-test-sysop-member' => '{{GENDER:$1|администратор на пробно вики}}', 'grouppage-test-sysop' => 'Project:Администратори на пробни викија', 'wminc-code-macrolanguage' => '[[wikipedia:$2 language|Јазикот „$3“]] е [[wikipedia:ISO 639 macrolanguage|макројазик]], кој се состои од следниве јазици:', 'wminc-code-collective' => 'Кодот „$1“ не се однесува на поединечен јазик, туку на збирот јазици наречен [[wikipedia:$2 language|„$3“ јазици]].', @@ -1644,7 +1682,7 @@ 'wminc-ip' => '"$1" ഒരു ഐ.പി. വിലാസമാണ്.', 'right-viewuserlang' => 'ഉപയോക്തൃഭാഷയും പരീക്ഷണ വിക്കിയും കാണുക', 'group-test-sysop' => 'പരീക്ഷണവിക്കി കാര്യനിർവ്വാഹകർ', - 'group-test-sysop-member' => 'പരീക്ഷണവിക്കി കാര്യനിർവ്വാഹക(ൻ)', + 'group-test-sysop-member' => '{{GENDER:$1|പരീക്ഷണവിക്കി കാര്യനിർവാഹകൻ|പരീക്ഷണവിക്കി കാര്യനിർവാഹക}}', 'grouppage-test-sysop' => 'Project:പരീക്ഷണവിക്കി കാര്യനിർവ്വാഹകർ', 'wminc-code-macrolanguage' => '[[wikipedia:$2 language|"$3" എന്ന ഭാഷ]] ഒരു [[wikipedia:ISO 639 macrolanguage|ചെറുഭാഷയാണ്]], അത് ഉൾക്കൊള്ളുന്ന അംഗഭാഷകൾ ഇനി നൽകുന്നു:', 'wminc-code-collective' => '"$1" എന്ന കോഡ് ഒരു പ്രത്യേക ഭാഷയെ പ്രതിനിധീകരിക്കുന്നില്ല, മറിച്ച് [[wikipedia:$2 language|"$3" ഭാഷകൾ]] എന്ന ഒരു കൂട്ടം ഭാഷകളാണ്.', @@ -1692,7 +1730,7 @@ 'wminc-ip' => '"$1" ialah alamat IP.', 'right-viewuserlang' => 'Melihat bahasa pengguna dan wiki ujian', 'group-test-sysop' => 'Pentadbir wiki ujian', - 'group-test-sysop-member' => 'pentadir wiki ujian', + 'group-test-sysop-member' => '{{GENDER:$1|pentadir wiki ujian}}', 'grouppage-test-sysop' => 'Project:Pentadbir wiki ujian', 'wminc-code-macrolanguage' => '[[wikipedia:$2 language|Bahasa "$3"]] ialah sejenis [[wikipedia:ISO 639 macrolanguage|bahasa makro]], yang terdiri daripada bahasa-bahasa ahli yang berikut:', 'wminc-code-collective' => 'Kod "$1" tidak merujuk kepada satu bahasa yang tertentu, sebaliknya merujuk kepada koleksi bahasa, iaitu [[wikipedia:$2 language|rumpun bahasa "$3"]].', @@ -1764,8 +1802,8 @@ 'wminc-userdoesnotexist' => 'De gebruiker "$1" bestaat niet.', 'wminc-ip' => '"$1" is een IP-adres.', 'right-viewuserlang' => 'Gebruikerstaal en testwiki bekijken', - 'group-test-sysop' => 'Testwikibeheerders', - 'group-test-sysop-member' => 'testwikibeheerder', + 'group-test-sysop' => 'testwikibeheerders', + 'group-test-sysop-member' => '{{GENDER:$1|testwikibeheerder}}', 'grouppage-test-sysop' => 'Project:Testwikibeheerders', 'wminc-code-macrolanguage' => 'De [[wikipedia:$2 language|taal "$3"]] is een [[wikipedia:nl:Macrotaal|macrotaal]], die bestaat uit de volgende talen:', 'wminc-code-collective' => 'De code "$1" verwijst niet naar een specifieke taal, maar naar een verzameling talen, namelijk de [[wikipedia:$2 language|"$3" talen.]]', @@ -1854,6 +1892,7 @@ 'wminc-manual' => 'Podręcznik', 'wminc-listwikis' => 'Spis wiki', 'wminc-testwiki' => 'Testowa wiki', + 'wminc-testwiki-code' => 'Język testowej wiki', 'wminc-testwiki-none' => 'Żadna lub wszystkie', 'wminc-recentchanges-all' => 'Wszystkie ostatnie zmiany', 'wminc-prefinfo-language' => 'Język interfejsu (niezależny od języka testowej wiki)', @@ -1875,7 +1914,7 @@ 'wminc-ip' => '„$1“ to adres IP.', 'right-viewuserlang' => 'Podgląd języka użytkownika oraz testowej wiki', 'group-test-sysop' => 'Administratorzy testowej wiki', - 'group-test-sysop-member' => 'administrator testowej wiki', + 'group-test-sysop-member' => '{{GENDER:$1|administrator|administratorka}} testowej wiki', 'grouppage-test-sysop' => 'Project:Administratorzy testowej wiki', 'wminc-code-macrolanguage' => '[[Wikipedia:$2 language|Język $3]] jest [[wikipedia:ISO 639 macrolanguage|makrojęzykiem]], zawierającym następujące warianty języka:', 'wminc-code-collective' => 'Kod „$1“ nie odnosi się do jednego języka, a do kolekcji języków – [[wikipedia:$2 language|$3]].', @@ -2056,7 +2095,7 @@ 'wminc-ip' => '„$1” este o adresă IP.', 'right-viewuserlang' => 'Vizualizează limba utilizatorului și testează wikiul', 'group-test-sysop' => 'Administratori wiki de încercare', - 'group-test-sysop-member' => 'administrator wiki de încercare', + 'group-test-sysop-member' => '{{GENDER:$1|administrator de wiki destinat testelor}}', 'grouppage-test-sysop' => 'Project:Administratori wiki de încercare', 'wminc-code-macrolanguage' => '[[wikipedia:$2 language|Limba „$3”]] este o [[wikipedia:ro:ISO 639 macrolimbă|macrolimbă]], incluzând următoarele limbi:', ); @@ -2069,6 +2108,7 @@ 'wminc-manual' => 'Manuale', 'wminc-listwikis' => 'Elenghe de le Uicchi', 'wminc-testwiki' => 'Test de Uicchi:', + 'wminc-testwiki-code' => "Lènghe d'a uicchi de test:", 'wminc-testwiki-none' => 'Nisciune/Tutte', 'wminc-recentchanges-all' => "Tutte l'urteme cangiaminde", 'wminc-prefinfo-language' => "L'inderfacce indipendende de lènghe da 'u teste tue de Uicchi", @@ -2086,11 +2126,12 @@ 'wminc-ip' => '"$1" jè \'n\'indirizze IP.', 'right-viewuserlang' => "Vide 'a lènghe de l'utende e teste Uicchi", 'group-test-sysop' => 'Test amministrature de uicchi', - 'group-test-sysop-member' => 'test amministrature de uicchi', + 'group-test-sysop-member' => "{{GENDER:$1|amministratore d'a uicchi de test}}", 'grouppage-test-sysop' => 'Project:Test amministrature de uicchi', ); /** Russian (Русский) + * @author Adata80 * @author Alexandr Efremov * @author Ferrer * @author Kaganer @@ -2126,7 +2167,7 @@ 'wminc-ip' => '«$1» не является IP-адресом.', 'right-viewuserlang' => 'просматривать языковые настройки участника и его пробную вики', 'group-test-sysop' => 'Администраторы тестовой вики', - 'group-test-sysop-member' => 'администратор тестовой вики', + 'group-test-sysop-member' => '{{GENDER:$1|Администратор тестовой wiki}}', 'grouppage-test-sysop' => 'Project:Администраторы тестовой вики', 'wminc-code-macrolanguage' => '[[wikipedia:$2 language|Язык «$3»]] считается [[wikipedia:ISO 639 macrolanguage|макроязыком]], состоящим из следующих языков:', 'wminc-code-collective' => 'Код «$1» относится не к конкретному языку, а к группе из нескольких языков, под общим названием [[wikipedia:$2 language|«$3»]].', @@ -2203,6 +2244,35 @@ 'wminc-viewuserlang-go' => 'Bae', ); +/** Samogitian (Žemaitėška) + * @author Hugo.arg + */ +$messages['sgs'] = array( + 'wminc-desc' => 'Wiki testasvėma sėstema Vikimedėjės inkubatoriō', + 'wminc-manual' => 'Žėnīns', + 'wminc-listwikis' => 'Viki sārošos', + 'wminc-testwiki' => 'Testavėma wiki:', + 'wminc-testwiki-code' => 'Testavėma wiki kalba:', + 'wminc-testwiki-none' => 'Anėvėins/Vėsė', + 'wminc-recentchanges-all' => 'Vėsė vielībė̄jė pakeitėmā', + 'wminc-prefinfo-language' => 'Tamstas paskīruos kalba - neprėklausuomā nu Tamstas testavėma wiki', + 'wminc-prefinfo-code' => 'ISO 639 kalbuos kuods', + 'wminc-prefinfo-project' => 'Pasirinkat Wikimedia pruojekta (inkobatorė opcėjė īr nauduotuojam katrėi dėrb bendrus darbus)', + 'wminc-prefinfo-error' => 'Tamsta pasėrinkuot pruojekta, katros netor kalbuos kuoda.', + 'wminc-error-move-unprefixed' => 'Klaida: Poslapis, katra nuorat pervadintė [[{{MediaWiki:Helppage}}|netor prīšdielė aba ons īr bluogs]]!', + 'wminc-error-wronglangcode' => "'''Klaida:''' Tas poslapis tor [[{{MediaWiki:Helppage}}|bluoga kalbuos kuoda]] \"\$1\"!", + 'wminc-error-unprefixed' => "'''Klaida:''' Tas poslapis [[{{MediaWiki:Helppage}}|netor prīšdielė]]!", + 'wminc-error-unprefixed-suggest' => "'''Klaida:''' Tas poslapis [[{{MediaWiki:Helppage}}|netor prīšdielė]]! Tamsta galat ana sokortė čiuonās: [[:$1]].", + 'randombytest' => 'Bikuoks poslapis ėš testavėma wiki', + 'wminc-viewuserlang-user' => 'Nauduotuojė vards:', + 'wminc-viewuserlang-go' => 'Ēk', + 'wminc-userdoesnotexist' => 'Nauduotuojė "$1" nier.', + 'wminc-ip' => '" $1 " īr IP adresos.', + 'right-viewuserlang' => 'Veizietė nauduotuojė kalba ė testavėma wiki', + 'grouppage-test-sysop' => 'Project: Testavėma wiki admėnėstratuorē', + 'wminc-code-macrolanguage' => '[[wikipedia:$2 kalba|"$3" kalba]] īr [[wikipedia:ISO 639 makrokalba|makrokalba]], katra sodara šėtas kalbas:', +); + /** Tachelhit (Tašlḥiyt) * @author Dalinanir */ @@ -2224,6 +2294,7 @@ /** Sinhala (සිංහල) * @author Calcey + * @author Singhalawap */ $messages['si'] = array( 'wminc-desc' => 'විකි මීඩියා ආසීනකාරකය සඳහා විකි පද්ධතිය පරීක්ෂා කරන්න', @@ -2238,6 +2309,8 @@ 'wminc-viewuserlang' => 'පරිශීලක භාෂාව බලා විකිය පරීක්ෂා කරන්න.', 'wminc-viewuserlang-user' => 'පරිශීලක නාමය:', 'wminc-viewuserlang-go' => 'යන්න', + 'wminc-userdoesnotexist' => '↓ "$1" පරිශීලක ගිණුම නොපවතියි.', + 'wminc-ip' => '"$1" IP ලිපිනයකි.', 'right-viewuserlang' => ' පරිශීලක භාෂාව හා විකි පරීක්ෂාව බලන්න.', ); @@ -2290,7 +2363,7 @@ 'wminc-ip' => '»$1« je IP-naslov.', 'right-viewuserlang' => 'Vpogled v jezik in preizkusni wiki uporabnika', 'group-test-sysop' => 'Administratorji poskusnega wikija', - 'group-test-sysop-member' => 'administrator poskusnega wikija', + 'group-test-sysop-member' => '{{GENDER:$1|administrator|administratorka}} poskusnega wikija', 'grouppage-test-sysop' => 'Project:Administratorji poskusnega wikija', 'wminc-code-macrolanguage' => '[[wikipedia:$2 language|Jezik »$3«]] je [[wikipedia:ISO 639 macrolanguage|makrojezik]], sestavljen iz naslednjih jezikovnih članov:', 'wminc-code-collective' => 'Koda »$1« se ne nanaša na določen jezik, ampak na skupino jezikov, in sicer [[wikipedia:$2 language|jeziki »$3«]].', @@ -2311,9 +2384,9 @@ */ $messages['sr-ec'] = array( 'wminc-testwiki' => 'Пробни вики:', - 'wminc-testwiki-none' => 'Ништа/Све', + 'wminc-testwiki-none' => 'Ништа/све', 'wminc-viewuserlang-user' => 'Корисничко име:', - 'wminc-viewuserlang-go' => 'Пређи', + 'wminc-viewuserlang-go' => 'Иди', ); /** Serbian Latin ekavian (Srpski (latinica)) @@ -2337,6 +2410,7 @@ /** Swedish (Svenska) * @author Boivie + * @author Diupwijk * @author Gabbe.g * @author Lokal Profil * @author Najami @@ -2349,6 +2423,7 @@ 'wminc-manual' => 'Manuell', 'wminc-listwikis' => 'Lista över wikier', 'wminc-testwiki' => 'Testwiki:', + 'wminc-testwiki-code' => 'Testwiki-språk', 'wminc-testwiki-none' => 'Ingen/Alla', 'wminc-recentchanges-all' => 'Alla de senaste ändringarna', 'wminc-prefinfo-language' => 'Ditt gränssnittsspråk - oavhängigt från din testwiki', @@ -2370,7 +2445,7 @@ 'wminc-ip' => '"$1" är en IP-adress.', 'right-viewuserlang' => 'Visa användarspråk och testwiki', 'group-test-sysop' => 'Testwiki-administratörer', - 'group-test-sysop-member' => 'testwiki-administratör', + 'group-test-sysop-member' => '{{GENDER:$1|testwiki-administratör}}', 'grouppage-test-sysop' => 'Project:Testwiki-administratörer', 'wminc-code-macrolanguage' => '[[wikipedia:$2 language|Språket "$3"]] är en [[wikipedia:ISO 639 macrolanguage|makrospråk]], som består av följande medlemsspråk:', 'wminc-code-collective' => 'Koden "$1" refererar inte till ett visst språk, utan en samling av språk, nämligen [[wikipedia:$2 language|"$3"-språken]].', @@ -2472,14 +2547,19 @@ ); /** Turkish (Türkçe) + * @author Emperyan * @author Joseph * @author Karduelis * @author Vito Genovese */ $messages['tr'] = array( 'wminc-desc' => 'Vikimedya İnkübatör için test viki sistemi', + 'wminc-manual' => 'Kılavuz', + 'wminc-listwikis' => 'Vikilerin listesi', 'wminc-testwiki' => 'Test viki:', + 'wminc-testwiki-code' => 'Denenecek viki dili:', 'wminc-testwiki-none' => 'Hiçbiri/Tümü', + 'wminc-recentchanges-all' => 'Tüm son değişiklikler', 'wminc-prefinfo-language' => 'Arayüz diliniz - test vikinizden bağımsız', 'wminc-prefinfo-code' => 'ISO 639 dil kodu', 'wminc-prefinfo-project' => 'Vikimedya projesini seçin (İnkübatör seçeneği genel çalışma yapan kullanıcılar için)', @@ -2489,10 +2569,15 @@ 'wminc-viewuserlang' => 'Kullanıcı dili ve test vikisine bak', 'wminc-viewuserlang-user' => 'Kullanıcı adı:', 'wminc-viewuserlang-go' => 'Git', + 'wminc-userdoesnotexist' => '"$1" kullanıcısı mevcut değil.', + 'wminc-ip' => '" $1 " bir IP adresidir.', 'right-viewuserlang' => 'Kullanıcı dilini ve test vikisini gör', + 'group-test-sysop' => 'Test Viki hizmetlisi', + 'group-test-sysop-member' => '{{GENDER:$1|test viki hizmetlisi}}', + 'grouppage-test-sysop' => 'Project:Test viki hizmetlisi', ); -/** Tatar (Cyrillic) (Татарча/Tatarça (Cyrillic)) +/** Tatar (Cyrillic script) (Татарча) * @author Ajdar */ $messages['tt-cyrl'] = array( @@ -2618,7 +2703,7 @@ 'wminc-ip' => '“$1” là một địa chỉ IP.', 'right-viewuserlang' => 'Xem ngôn ngữ và wiki thử của người dùng', 'group-test-sysop' => 'Bảo quản viên tại wiki thử nghiệm', - 'group-test-sysop-member' => 'bảo quản viên tại wiki thử nghiệm', + 'group-test-sysop-member' => '{{GENDER:$1}}bảo quản viên tại wiki thử nghiệm', 'grouppage-test-sysop' => 'Project:Bảo quản viên tại wiki thử nghiệm', 'wminc-code-macrolanguage' => '[[Wikipedia:$2 language|Tiếng “$3”]] là một [[Wikipedia:ISO 639 macrolanguage|ngôn ngữ vĩ mô]] bao gồm các ngôn ngữ này:', 'wminc-code-collective' => 'Mã “$1” không phải chỉ đến một ngôn ngữ riêng mà chỉ đến nhóm ngôn ngữ [[wikipedia:$2 language|tiếng “$3”]].', @@ -2654,6 +2739,7 @@ /** Simplified Chinese (中文(简体)) * @author Anakmalaysia + * @author Bencmq * @author Hydra * @author Jimmy xu wrk * @author Liangent @@ -2666,6 +2752,7 @@ 'wminc-manual' => '手动', 'wminc-listwikis' => 'Wiki列表', 'wminc-testwiki' => '测试维基:', + 'wminc-testwiki-code' => '测试Wiki语言:', 'wminc-testwiki-none' => '无/所有', 'wminc-recentchanges-all' => '所有最近的更改', 'wminc-prefinfo-language' => '你的界面语言-从你的测试维基独立', This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-10-02 14:27:25
|
Revision: 47 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=47&view=rev Author: robin-p Date: 2011-10-02 14:27:18 +0000 (Sun, 02 Oct 2011) Log Message: ----------- * Move getConf to below * get rid of $wmincMultilingualProjectUrls (automatically is better) * Update i18n file Modified Paths: -------------- trunk/IncubatorTest.php trunk/InfoPage.php trunk/WikimediaIncubator.i18n.php trunk/WikimediaIncubator.php Modified: trunk/IncubatorTest.php =================================================================== --- trunk/IncubatorTest.php 2011-10-02 13:52:37 UTC (rev 46) +++ trunk/IncubatorTest.php 2011-10-02 14:27:18 UTC (rev 47) @@ -530,10 +530,10 @@ $wgOut->addHtml( $infopage->showExistingWiki() ); } elseif( $dbstate == 'closed' ) { $infopage->mSubStatus = 'imported'; - $wgOut->addHtml( $infopage->showIncubatingWiki() ); + $wgOut->addHtml( $infopage->showIncubatingWiki() ); } elseif( self::getMainPage( $prefix['lang'], $prefix['prefix'] )->exists() ) { $infopage->mSubStatus = 'open'; - $wgOut->addHtml( $infopage->showIncubatingWiki() ); + $wgOut->addHtml( $infopage->showIncubatingWiki() ); } else { $wgOut->addHtml( $infopage->showMissingWiki() ); } @@ -564,47 +564,6 @@ } /** - * Convenience function to access $wgConf->get() - * @param $setting String: the setting to call - * @param $lang String: the language code - * @param $projectCode String: the project code or name - * @param $obj SiteConfiguration: the $wgConf object, I assume it should be - called as few as possible, because it needs wgConf->loadFullData() - * @return Mixed: the setting from $wgConf->settings - */ - public static function getConf( $setting, $lang, $project, $obj=false ) { - if( !self::canWeCheckDB() ) { - return false; - } - global $wmincProjectDatabases; - if( !$obj ) { - global $wgConf; - $wgConf->loadFullData(); - $obj = $wgConf; - } - $lang = strtolower( $lang ); - $langHyphen = str_replace( '_', '-', $lang ); - $langUnderscore = str_replace( '-', '_', $lang ); - $projectCode = self::getProject( $project, false, true ); - $projectName = self::getProject( $project, true, true ); - if( !$projectCode ) { - global $wmincMultilingualProjects; - $projectCode = array_search( $project, $wmincMultilingualProjects ); - } - $dbName = strtolower( isset( $wmincProjectDatabases[$projectCode] ) ? - $wmincProjectDatabases[$projectCode] : $projectName ); - $params = array( - 'lang' => $langHyphen, 'site' => $dbName, - # I don't see any other way than to hardcode it here (from: CommonSettings.php) - 'stdlogo' => "http://upload.wikimedia.org/$dbName/$langHyphen/b/bc/Wiki.png", - 'prstdlogo' => "//upload.wikimedia.org/$dbName/$langHyphen/b/bc/Wiki.png", - ); - $specialWikipediaException = $dbName == 'wikipedia' ? 'wiki' : $dbName; - return $obj->get( $setting, $langUnderscore . $specialWikipediaException, - $specialWikipediaException, $params ); - } - - /** * This forms a URL based on the language and project. * @param $lang String Language code * @param $project String Project code or name @@ -815,6 +774,47 @@ // ########### START DEVELOPMENT STUFF ############# + /** + * Convenience function to access $wgConf->get() + * @param $setting String: the setting to call + * @param $lang String: the language code + * @param $projectCode String: the project code or name + * @param $obj SiteConfiguration: the $wgConf object, I assume it should be + called as few as possible, because it needs wgConf->loadFullData() + * @return Mixed: the setting from $wgConf->settings + */ + public static function getConf( $setting, $lang, $project, $obj=false ) { + if( !self::canWeCheckDB() ) { + return false; + } + global $wmincProjectDatabases; + if( !$obj ) { + global $wgConf; + $wgConf->loadFullData(); + $obj = $wgConf; + } + $lang = strtolower( $lang ); + $langHyphen = str_replace( '_', '-', $lang ); + $langUnderscore = str_replace( '-', '_', $lang ); + $projectCode = self::getProject( $project, false, true ); + $projectName = self::getProject( $project, true, true ); + if( !$projectCode ) { + global $wmincMultilingualProjects; + $projectCode = array_search( $project, $wmincMultilingualProjects ); + } + $dbName = strtolower( isset( $wmincProjectDatabases[$projectCode] ) ? + $wmincProjectDatabases[$projectCode] : $projectName ); + $params = array( + 'lang' => $langHyphen, 'site' => $dbName, + # I don't see any other way than to hardcode it here (from: CommonSettings.php) + 'stdlogo' => "http://upload.wikimedia.org/$dbName/$langHyphen/b/bc/Wiki.png", + 'prstdlogo' => "//upload.wikimedia.org/$dbName/$langHyphen/b/bc/Wiki.png", + ); + $specialWikipediaException = $dbName == 'wikipedia' ? 'wiki' : $dbName; + return $obj->get( $setting, $langUnderscore . $specialWikipediaException, + $specialWikipediaException, $params ); + } + public static function onParserFirstCallInit( &$parser ) { $parser->setFunctionHook( 'infopage', 'IncubatorTest::renderParserFunction' ); return true; Modified: trunk/InfoPage.php =================================================================== --- trunk/InfoPage.php 2011-10-02 13:52:37 UTC (rev 46) +++ trunk/InfoPage.php 2011-10-02 14:27:18 UTC (rev 47) @@ -52,14 +52,16 @@ * @param $project Project code * @return String */ - public function makeLogo( $project, $clickable = true, $params = array(), $url = '', $lang = null ) { + public function makeLogo( $project, $clickable = true, $params = array(), $url = '', $lang = null, $mul = false ) { # If the project doesn't have a subdomain, it doesn't have a logo defined # so we use the English logo $lang = $lang ? $lang : $this->mLangCode; - $getDbStatus = IncubatorTest::getDBState( array( 'error' => null, - 'lang' => $lang, 'project' => $project ) ); - $logoDefined = (bool)$getDbStatus != 'missing'; - $lang = $logoDefined ? $lang : 'en'; + if( !$mul ) { + $getDbStatus = IncubatorTest::getDBState( array( 'error' => null, + 'lang' => $lang, 'project' => $project ) ); + $logoDefined = (bool)$getDbStatus != 'missing'; + $lang = $logoDefined ? $lang : 'en'; + } $useUrl = $url ? $url : IncubatorTest::getSubdomain( 'www', $project ); $logo = IncubatorTest::getConf( 'wgLogo', $lang, $project, $this->wgConf ); $img = Html::element( 'img', array( 'src' => $logo, 'alt' => "$project ($lang)" ) + $params ); @@ -90,12 +92,14 @@ * (Meta, Commons, ...) */ public function listMultilingualProjects() { - global $wmincMultilingualProjects, $wmincMultilingualProjectUrls, $wmincProjects; + global $wmincMultilingualProjects, $wmincProjects; if( !is_array( $wmincMultilingualProjects ) ) { return; } foreach( $wmincMultilingualProjects as $key => $name ) { - $url = $wmincMultilingualProjectUrls[$key]; - $list[$url] = '<li>' . $this->makeLogo( key( $wmincProjects ), true, - array( 'width' => 75 ), $url, $key ) . '</li>'; + # multilingual projects are listed under wikipedia + $fakeProject = key( $wmincProjects ); + $url = IncubatorTest::getSubdomain( $key, $fakeProject ); + $list[$url] = '<li>' . $this->makeLogo( $fakeProject, true, + array( 'width' => 75 ), $url, $key, true ) . '</li>'; } return '<ul class="wminc-infopage-multilingualprojects">' . implode( '', $list ) . '</ul>'; Modified: trunk/WikimediaIncubator.i18n.php =================================================================== --- trunk/WikimediaIncubator.i18n.php 2011-10-02 13:52:37 UTC (rev 46) +++ trunk/WikimediaIncubator.i18n.php 2011-10-02 14:27:18 UTC (rev 47) @@ -426,9 +426,12 @@ /** Breton (Brezhoneg) * @author Fulup + * @author Y-M D */ $messages['br'] = array( 'wminc-desc' => 'Reizhiad testiñ wiki evit Wikimedia Incubator', + 'wminc-manual' => 'Dre zorn', + 'wminc-listwikis' => 'Roll ar wikioù', 'wminc-testwiki' => 'Wiki testiñ :', 'wminc-testwiki-none' => 'Hini ebet / An holl', 'wminc-recentchanges-all' => 'An holl gemmoù diwezhañ', @@ -1471,18 +1474,39 @@ */ $messages['li'] = array( 'wminc-desc' => 'Teswikisysteem veur Wikimedia Inkubater', + 'wminc-manual' => 'Handjleiding', + 'wminc-listwikis' => 'Lies ven wikieër', 'wminc-testwiki' => 'Teswiki:', + 'wminc-testwiki-code' => 'Teswikispraok:', 'wminc-testwiki-none' => 'Gein/al', + 'wminc-recentchanges-all' => 'Als recènt angeringer', 'wminc-prefinfo-language' => 'Dien oeterliksspraok - ónaafhenkelik van diene teswiki', 'wminc-prefinfo-code' => 'De ISO 639-spraokcode', 'wminc-prefinfo-project' => "Selecteer 't Wikimediaprojek (inkubateroptie is veur gebroekers die algemein wèrk doon)", 'wminc-prefinfo-error' => "Doe selecteerdes e projek det 'n spraokcode gebroek.", + 'wminc-error-move-unprefixed' => 'Fówtj: De mikpaasj wohaerstoe trachs te verplaatsje [[{{MediaWiki:Helppage}}|haet geitj ódder e verkieërdj veurvoogsel]]!', + 'wminc-error-wronglangcode' => "'''Fówtj:''' Dees paasj óntvatj 'n [[{{MediaWiki:Helppage}}|verkieërdj spraokkoeaj]] ''$1''.", + 'wminc-error-unprefixed' => "'''Fówtj:''' Dees paasj haet [[{{MediaWiki:Helppage}}|gei veurvoogsel]]!", + 'wminc-error-unprefixed-suggest' => "'''Fówtj:''' Dees paasj haet [[{{MediaWiki:Helppage}}|gei veurvoogsel]]. Doe kins 'n paasj aanmaken óp [[:$1]].", + 'wminc-error-wiki-exists' => 'Deze wiki besteit sjoean. Doe kins dees paasj vinjen óp $1. Es de wiki recèntelik gemaak gewaoren is, wach den inkel oer ódder daag toetbies als inhaadj ingeveurdj gewaore zie.', + 'wminc-error-wiki-sister' => "Dees paasj behuuerdj toet 'nem perjèkte det hie neet haeraangelaote wuuerdj. Gank nao $1 óm de wiki te vinje.", 'randombytest' => 'Willekäörige pazjena oete teswiki', 'randombytest-nopages' => "d'r Zeen gein pazjena's in diene teswiki inne naamruumdje $1.", 'wminc-viewuserlang' => 'Zeuk de gebroekersspraok en teswiki óp', 'wminc-viewuserlang-user' => 'Gebroekersnaam:', 'wminc-viewuserlang-go' => 'Gank', + 'wminc-userdoesnotexist' => 'De gebroeker "$1" besteit neet.', + 'wminc-ip' => '"$1" is e-n IP-heimsnómmer.', 'right-viewuserlang' => 'Bekiek gebroekersspraok en teswiki', + 'group-test-sysop' => 'teswikibehieërder', + 'group-test-sysop-member' => 'teswikibehieërder', + 'grouppage-test-sysop' => 'Project:Teswikibehieërder', + 'wminc-code-macrolanguage' => 'De [[wikipedia:$2 language|spraok "$3"]] is \'n [[wikipedia:nl:Macrotaal|euverspraok]], die besteit oet g\'r nègksvóggendjer spräök:', + 'wminc-code-collective' => 'De koeaj "$1" verwies neet achter \'ner specefieker spraok, mer achter \'n gaedering aan spräök, naomelik de [[wikipedia:$2 language|"$3"-spräök.]]', + 'wminc-code-retired' => "Dees spraokkoeaj is angerdj èn verwies nimmieër achter g'r oearsprónkeliker spraok.", + 'wminc-listusers-testwiki' => 'Doe bekiekes gebroeker die häör teswiki-instèllinger óp $1 vas höbbe gezadj.', + 'wminc-search-nocreate-nopref' => 'Doe haes gezóch achter "$1". Stèl dien [[Special:Preferences|teswikiveurkäör]] in zoeadet v\'r dich kinnen aangaeve wèlch paasj destoe kins aanmake.', + 'wminc-search-nocreate-suggest' => 'Doe haes gezóch achter "$1". Doe kins \'n paasj in dienem teswikieë aanmaken óp <b>[[$2]]</b>.', ); /** Lithuanian (Lietuvių) @@ -1740,9 +1764,9 @@ 'wminc-userdoesnotexist' => 'De gebruiker "$1" bestaat niet.', 'wminc-ip' => '"$1" is een IP-adres.', 'right-viewuserlang' => 'Gebruikerstaal en testwiki bekijken', - 'group-test-sysop' => 'testwiki-beheerders', - 'group-test-sysop-member' => 'testwiki-beheerder', - 'grouppage-test-sysop' => 'Project:Testwiki-beheerders', + 'group-test-sysop' => 'Testwikibeheerders', + 'group-test-sysop-member' => 'testwikibeheerder', + 'grouppage-test-sysop' => 'Project:Testwikibeheerders', 'wminc-code-macrolanguage' => 'De [[wikipedia:$2 language|taal "$3"]] is een [[wikipedia:nl:Macrotaal|macrotaal]], die bestaat uit de volgende talen:', 'wminc-code-collective' => 'De code "$1" verwijst niet naar een specifieke taal, maar naar een verzameling talen, namelijk de [[wikipedia:$2 language|"$3" talen.]]', 'wminc-code-retired' => 'Deze taalcode is gewijzigd en verwijst niet meer naar de oorspronkelijke taal.', Modified: trunk/WikimediaIncubator.php =================================================================== --- trunk/WikimediaIncubator.php 2011-10-02 13:52:37 UTC (rev 46) +++ trunk/WikimediaIncubator.php 2011-10-02 14:27:18 UTC (rev 47) @@ -52,12 +52,6 @@ 'name' => 'Incubator', 'short' => 'inc', ); -$wmincMultilingualProjectUrls = array( - 'meta' => '//meta.wikimedia.org', - 'commons' => '//commons.wikimedia.org', - 'species' => '//species.wikimedia.org', - 'mediawiki' => '//mediawiki.org', -); $wmincTestWikiNamespaces = array( NS_MAIN, NS_TALK, NS_TEMPLATE, NS_TEMPLATE_TALK, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-10-02 13:52:43
|
Revision: 46 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=46&view=rev Author: robin-p Date: 2011-10-02 13:52:37 +0000 (Sun, 02 Oct 2011) Log Message: ----------- * IncubatorTest::onGetUserPermissionsErrors(): do not disallow deleting pages belonging to existing wikis :) * Fix a link for protocol-relative URLs, and make the external links display nicely (without the '//') * Call Linker functions statically * Put the '//' for multilingual project in the config Modified Paths: -------------- trunk/IncubatorTest.php trunk/InfoPage.php trunk/WikimediaIncubator.php Modified: trunk/IncubatorTest.php =================================================================== --- trunk/IncubatorTest.php 2011-09-25 22:42:39 UTC (rev 45) +++ trunk/IncubatorTest.php 2011-10-02 13:52:37 UTC (rev 46) @@ -322,8 +322,10 @@ $link = self::getSubdomain( $prefixdata['lang'], $prefixdata['project'], ( $title->getNsText() ? $title->getNsText() . ':' : '' ) . str_replace( ' ', '_', $prefixdata['realtitle'] ) ); + # faking external link to support prot-rel URLs + $link = "[$link ". self::makeExternalLinkText( $link ) . "]"; $result[] = array( 'wminc-error-wiki-exists', $link ); - return false; + return $action == 'delete' ? true : false; } if( !self::shouldWeShowUnprefixedError( $title ) || $action != 'create' ) { @@ -412,7 +414,7 @@ return false; # shouldn't be, but you never know } global $wmincProjectDatabases; - $project = $wmincProjectDatabases[$prefix['project']]; + $project = strtolower( $wmincProjectDatabases[$prefix['project']] ); $project = $project == 'wikipedia' ? 'wiki' : $project; return strtolower( str_replace('-', '_', $prefix['lang'] ) . $project ); } @@ -439,7 +441,7 @@ if( !$db ) { return false; } - echo " $db "; + #echo " $db "; global $wmincExistingWikis; $closed = self::getDBClosedWikis(); if( !in_array( $db, $wmincExistingWikis ) ) { @@ -469,7 +471,6 @@ if( $prefix['error'] ) { # We are not on info pages global $wmincSisterProjects; $prefix2 = self::analyzePrefix( $title->getText(), false, true ); - $linker = class_exists( 'DummyLinker' ) ? new DummyLinker : new Linker; $p = isset( $prefix2['project' ] ) ? $prefix2['project'] : ''; if( self::getDBState( $prefix2 ) == 'existing' ) { $link = self::getSubdomain( $prefix2['lang'], $p, @@ -480,7 +481,7 @@ return true; } else { # Show a link to the existing wiki - $showLink = $linker->makeExternalLink( $link, $link ); + $showLink = self::makeExternalLinkText( $link, true ); $wgOut->addHtml( '<div class="wminc-wiki-exists">' . wfMsgHtml( 'wminc-error-wiki-exists', $showLink ) . '</div>' ); @@ -489,11 +490,11 @@ # A sister project is not hosted here, so direct the user to the relevant wiki $link = self::getSubdomain( $prefix2['lang'], $p, ( $title->getNsText() ? $title->getNsText() . ':' : '' ) . $prefix2['realtitle'] ); - $showLink = $linker->makeExternalLink( $link, $link ); + $showLink = self::makeExternalLinkText( $link, true ); $wgOut->addHtml( '<div class="wminc-wiki-sister">' . wfMsgHtml( 'wminc-error-wiki-sister', $showLink ) . '</div>' ); - } elseif( is_callable( 'ISO6393', 'getCodes' ) ) { + #} elseif( is_callable( 'ISO6393', 'getCodes' ) ) { #$getCodes = ISO6393::getCodes(); #if( !array_key_exists( $prefix2['lang'], $getCodes ) ) { # $wgOut->addHtml( 'INVALID CODE' ); @@ -801,6 +802,17 @@ return preg_quote( $str, '/' ); } + /** + * @param $url String + * @param $callLinker Boolean Whether to call makeExternalLink() + */ + public static function makeExternalLinkText( $url, $callLinker = false ) { + # when displaying a URL, if it contains 'http://' or 'https://' it's ok to leave it, + # but for protocol-relative URLs, it's nicer to remove the '//' + $linktext = ltrim( $url, '/' ); + return $callLinker ? Linker::makeExternalLink( $url, $linktext ) : $linktext; + } + // ########### START DEVELOPMENT STUFF ############# public static function onParserFirstCallInit( &$parser ) { Modified: trunk/InfoPage.php =================================================================== --- trunk/InfoPage.php 2011-09-25 22:42:39 UTC (rev 45) +++ trunk/InfoPage.php 2011-10-02 13:52:37 UTC (rev 46) @@ -27,6 +27,7 @@ $this->mTitle = $title; $this->mPrefix = $prefixdata['prefix']; $this->mLangCode = $prefixdata['lang']; + #Language::getLanguageCodeData( $this->mLangCode ); $this->mProjectCode = $prefixdata['project']; $allProjects = array_merge( $wmincProjects, $wmincSisterProjects ); $this->mProjectName = isset( $allProjects[$this->mProjectCode] ) ? @@ -94,7 +95,7 @@ foreach( $wmincMultilingualProjects as $key => $name ) { $url = $wmincMultilingualProjectUrls[$key]; $list[$url] = '<li>' . $this->makeLogo( key( $wmincProjects ), true, - array( 'width' => 75 ), '//'.$url.'/', $key ) . '</li>'; + array( 'width' => 75 ), $url, $key ) . '</li>'; } return '<ul class="wminc-infopage-multilingualprojects">' . implode( '', $list ) . '</ul>'; @@ -170,7 +171,7 @@ $wgLang->getArrow() . ' ' . ( $this->mIsSister ? $portalLink : $gotoLink ) ); } $subdomain = IncubatorTest::getSubdomain( $this->mLangCode, $this->mProjectCode ); - $subdomainLink = Linker::makeExternalLink( $subdomain, $subdomain ); + $subdomainLink = IncubatorTest::makeExternalLinkText( $subdomain, true ); $content = Html::rawElement( 'div', array( 'class' => 'wminc-infopage-status' ), wfMsgWikiHtml( 'wminc-infopage-status-' . $substatus, $subdomainLink, $portalLink ) ); if( $this->mSubStatus != 'approved' && $this->mThisLangData['type'] != 'invalid' ) { @@ -199,7 +200,7 @@ $created = isset( $this->mCreated ) ? $this->mCreated : ''; # for future use $bug = isset( $this->mBug ) ? $this->mBug : ''; # for future use $subdomain = IncubatorTest::getSubdomain( $this->mLangCode, $this->mProjectCode ); - $subdomainLink = Linker::makeExternalLink( $subdomain, $subdomain ); + $subdomainLink = IncubatorTest::makeExternalLinkText( $subdomain, true ); if( $this->mThisLangData['type'] != 'invalid' ) { $gotoSubdomain = Html::rawElement( 'span', array( 'class' => 'wminc-infopage-entertest' ), Modified: trunk/WikimediaIncubator.php =================================================================== --- trunk/WikimediaIncubator.php 2011-09-25 22:42:39 UTC (rev 45) +++ trunk/WikimediaIncubator.php 2011-10-02 13:52:37 UTC (rev 46) @@ -53,10 +53,10 @@ 'short' => 'inc', ); $wmincMultilingualProjectUrls = array( - 'meta' => 'meta.wikimedia.org', - 'commons' => 'commons.wikimedia.org', - 'species' => 'species.wikimedia.org', - 'mediawiki' => 'mediawiki.org', + 'meta' => '//meta.wikimedia.org', + 'commons' => '//commons.wikimedia.org', + 'species' => '//species.wikimedia.org', + 'mediawiki' => '//mediawiki.org', ); $wmincTestWikiNamespaces = array( NS_MAIN, NS_TALK, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-09-25 22:42:47
|
Revision: 45 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=45&view=rev Author: robin-p Date: 2011-09-25 22:42:39 +0000 (Sun, 25 Sep 2011) Log Message: ----------- Some work on automatic localised logo fetching. It'll take the logo as defined in $wgLogo. TODO: merge this with the "test wiki logo" feature and make both configurable through MW pages. Also adapt the info page if a Main Page exists, so we don't *have* to create the info page. Still need to work on the parser function though.. Modified Paths: -------------- trunk/IncubatorTest.php trunk/InfoPage.css trunk/InfoPage.i18n.php trunk/InfoPage.php trunk/SpecialIncubatorFirstSteps.php trunk/WikimediaIncubator.dev-i18n.php trunk/WikimediaIncubator.i18n.php trunk/WikimediaIncubator.php Modified: trunk/IncubatorTest.php =================================================================== --- trunk/IncubatorTest.php 2011-09-24 14:26:13 UTC (rev 44) +++ trunk/IncubatorTest.php 2011-09-25 22:42:39 UTC (rev 45) @@ -412,8 +412,9 @@ return false; # shouldn't be, but you never know } global $wmincProjectDatabases; - return str_replace('-', '_', $prefix['lang'] ) . - $wmincProjectDatabases[$prefix['project']]; + $project = $wmincProjectDatabases[$prefix['project']]; + $project = $project == 'wikipedia' ? 'wiki' : $project; + return strtolower( str_replace('-', '_', $prefix['lang'] ) . $project ); } /** @@ -438,6 +439,7 @@ if( !$db ) { return false; } + echo " $db "; global $wmincExistingWikis; $closed = self::getDBClosedWikis(); if( !in_array( $db, $wmincExistingWikis ) ) { @@ -528,6 +530,9 @@ } elseif( $dbstate == 'closed' ) { $infopage->mSubStatus = 'imported'; $wgOut->addHtml( $infopage->showIncubatingWiki() ); + } elseif( self::getMainPage( $prefix['lang'], $prefix['prefix'] )->exists() ) { + $infopage->mSubStatus = 'open'; + $wgOut->addHtml( $infopage->showIncubatingWiki() ); } else { $wgOut->addHtml( $infopage->showMissingWiki() ); } @@ -558,34 +563,70 @@ } /** + * Convenience function to access $wgConf->get() + * @param $setting String: the setting to call + * @param $lang String: the language code + * @param $projectCode String: the project code or name + * @param $obj SiteConfiguration: the $wgConf object, I assume it should be + called as few as possible, because it needs wgConf->loadFullData() + * @return Mixed: the setting from $wgConf->settings + */ + public static function getConf( $setting, $lang, $project, $obj=false ) { + if( !self::canWeCheckDB() ) { + return false; + } + global $wmincProjectDatabases; + if( !$obj ) { + global $wgConf; + $wgConf->loadFullData(); + $obj = $wgConf; + } + $lang = strtolower( $lang ); + $langHyphen = str_replace( '_', '-', $lang ); + $langUnderscore = str_replace( '-', '_', $lang ); + $projectCode = self::getProject( $project, false, true ); + $projectName = self::getProject( $project, true, true ); + if( !$projectCode ) { + global $wmincMultilingualProjects; + $projectCode = array_search( $project, $wmincMultilingualProjects ); + } + $dbName = strtolower( isset( $wmincProjectDatabases[$projectCode] ) ? + $wmincProjectDatabases[$projectCode] : $projectName ); + $params = array( + 'lang' => $langHyphen, 'site' => $dbName, + # I don't see any other way than to hardcode it here (from: CommonSettings.php) + 'stdlogo' => "http://upload.wikimedia.org/$dbName/$langHyphen/b/bc/Wiki.png", + 'prstdlogo' => "//upload.wikimedia.org/$dbName/$langHyphen/b/bc/Wiki.png", + ); + $specialWikipediaException = $dbName == 'wikipedia' ? 'wiki' : $dbName; + return $obj->get( $setting, $langUnderscore . $specialWikipediaException, + $specialWikipediaException, $params ); + } + + /** * This forms a URL based on the language and project. * @param $lang String Language code - * @param $project String Project code + * @param $project String Project code or name * @param $title String Page name * @return String */ - public static function getSubdomain( $lang, $projectCode, $title = '' ) { - global $wgConf, $wmincProjectDatabases, $wgArticlePath; - $projectName = strtolower( $wmincProjectDatabases[$projectCode] ); - # Imitate analyzePrefix() array :p - $prefix = array( 'error' => null, 'lang' => $lang, 'project' => $projectCode ); - $wgConf->loadFullData(); - return $wgConf->get( 'wgServer', - self::getDB( $prefix ), $projectName, - array( 'lang' => str_replace( '_', '-', $lang ), 'site' => $projectName ) - ) . ( $title ? str_replace( '$1', $title, $wgArticlePath ) : '' ); + public static function getSubdomain( $lang, $project, $title = '' ) { + global $wgArticlePath; + return self::getConf( 'wgServer', $lang, $project ) . + ( $title ? str_replace( '$1', $title, $wgArticlePath ) : '' ); } /** * make "Wx/xxx/Main Page" * @param $langCode String: The language code * @param $prefix Null|String: the "Wx/xxx" prefix to add - * @return String + * @return Title */ public static function getMainPage( $langCode, $prefix = null ) { # Take the "mainpage" msg in the given language $msg = wfMsgExt( 'mainpage', array( 'language' => $langCode ) ); - return $prefix !== null ? $prefix . '/' . $msg : $msg; + $mainpage = $prefix !== null ? $prefix . '/' . $msg : $msg; + return Title::newFromText( $mainpage ); } /** @@ -613,9 +654,7 @@ # pass through the &uselang parameter $params['uselang'] = $uselang; } - $mainpage = Title::newFromText( - self::getMainPage( $prefix['lang'], $prefix['prefix'] ) - ); + $mainpage = self::getMainPage( $prefix['lang'], $prefix['prefix'] ); if( $mainpage->exists() ) { # Only redirect to the main page if that page exists $wgOut->redirect( $mainpage->getFullURL( $params ) ); Modified: trunk/InfoPage.css =================================================================== --- trunk/InfoPage.css 2011-09-24 14:26:13 UTC (rev 44) +++ trunk/InfoPage.css 2011-09-25 22:42:39 UTC (rev 45) @@ -47,6 +47,14 @@ .wminc-infopage-status { margin: 1em; } +.wminc-infopage-links { + margin: 1.5em; + font-size: 90%; +} +.wminc-infopage-links ul { + padding: 0; + line-height: 1em; +} #ca-nstab-main a { color: black; } Modified: trunk/InfoPage.i18n.php =================================================================== --- trunk/InfoPage.i18n.php 2011-09-24 14:26:13 UTC (rev 44) +++ trunk/InfoPage.i18n.php 2011-09-25 22:42:39 UTC (rev 45) @@ -13,17 +13,6 @@ $messages['en'] = array( 'wminc-infopage-enter' => 'go to the Main Page', 'wminc-unknownlang' => '(unknown language with code "$1")', - 'wminc-logo-wikipedia' => 'Wikipedia-logo-v2-en.svg', # only translate if necessary - 'wminc-logo-wiktionary' => 'Wiktionary-logo-en.svg', # only translate if necessary - 'wminc-logo-wikibooks' => 'Wikibooks-logo-en-noslogan.svg', # only translate if necessary - 'wminc-logo-wikinews' => 'Wikinews-logo-en.png', # only translate if necessary - 'wminc-logo-wikiquote' => 'Wikiquote-logo-en.svg', # only translate if necessary - 'wminc-logo-wikisource' => 'Wikisource-newberg-de.png', # only translate if necessary - 'wminc-logo-wikiversity' => 'Wikiversity-logo-en.svg', # only translate if necessary - 'wminc-logo-meta-wiki' => 'Metawiki.svg', # only translate if necessary - 'wminc-logo-wikimedia-commons' => 'Commons-logo-en.svg', # only translate if necessary - 'wminc-logo-wikispecies' => 'WikiSpecies.svg', # only translate if necessary - 'wminc-logo-mediawiki' => 'MediaWiki.svg', # only translate if necessary 'wminc-manual-url' => 'Help:Manual', # only translate if necessary 'wminc-infopage-title' => '$1 $2', # only translate if necessary 'wminc-infopage-welcome' => 'Welcome to the Wikimedia Incubator, a project of the Wikimedia Foundation ([[{{MediaWiki:Aboutpage}}|About]])', @@ -45,9 +34,14 @@ 'wminc-infopage-contribute' => 'If you know this language, you are encouraged to contribute!', 'wminc-infopage-status-imported' => 'This Incubator wiki has been imported from $1 after the wiki was closed.', + 'wminc-infopage-status-open' => 'This is an open wiki of Wikimedia Incubator.', 'wminc-infopage-status-closedsister' => 'This subdomain was closed. Go to <b>$2</b> to contribute to this wiki.', 'wminc-infopage-status-created' => 'This project has been approved by the language committee and is now available at $1.', 'wminc-infopage-status-beforeincubator' => 'This project was created before Wikimedia Incubator started and is available at $1.', + + 'wminc-infopage-content' => 'Content', + 'wminc-allpages' => 'All content pages in this wiki', + 'wminc-category' => 'Main category', ); /** Message documentation (Message documentation) @@ -93,6 +87,7 @@ /** Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца)) * @author EugeneZelenko * @author Jim-by + * @author Renessaince */ $messages['be-tarask'] = array( 'wminc-infopage-enter' => 'перайсьці на Галоўную старонку', @@ -101,6 +96,7 @@ 'wminc-infopage-missingwiki-text' => '$1 на гэтай мове яшчэ не існуе.', 'wminc-infopage-option-startwiki' => 'Калі Вы жадаеце распачаць гэтую вікі, Вы можаце [{{fullurl:{{FULLPAGENAME}}|action=edit}} стварыць старонку] і выканаць [[{{MediaWiki:Wminc-manual-url}}|нашыя інструкцыі]].', + 'wminc-infopage-option-startsister' => 'Калі Вы хочаце пачаць гэтую вікі, перайдзіце на <b>[$2 $1]</b>.', 'wminc-infopage-option-languages-existing' => 'Вы можаце пашукаць [http://www.$1.org існуючыя моўныя варыянты $1].', 'wminc-infopage-option-sisterprojects-existing' => 'Вы можаце пашукаць існуючыя праекты на гэтай мове:', 'wminc-infopage-option-sisterprojects-other' => 'Вы можаце пашукаць іншыя праекты на гэтай мове:', @@ -108,6 +104,7 @@ 'wminc-infopage-createmainpage' => 'Увядзіце словы «Галоўная старонка» на гэтай мове:', 'wminc-infopage-contribute' => 'Калі Вы ведаеце гэтую мову, Вы можаце рабіць унёсак!', 'wminc-infopage-status-imported' => 'Гэтая вікі ў інкубатары была імпартаваная з $1 пасьля таго, як вікі была закрытая.', + 'wminc-infopage-status-closedsister' => 'Гэты паддамэн закрыты. Перайдзіце на <b>$2</b>, каб напісаць у гэтую вікі.', 'wminc-infopage-status-created' => 'Гэты праект быў зацьверджаны моўным камітэтам, і цяпер ён даступны на $1.', 'wminc-infopage-status-beforeincubator' => 'Гэты праект быў створаны перад пачаткам функцыянаваньня Інкубатара фундацыі «Вікімэдыя» і ён даступны на $1.', ); @@ -156,6 +153,7 @@ /** Spanish (Español) * @author Diotime + * @author Drini * @author Fitoschido */ $messages['es'] = array( @@ -165,6 +163,10 @@ 'wminc-infopage-missingwiki-text' => 'Un $1 en este idioma todavía no existe.', 'wminc-infopage-option-startwiki' => 'Si deseas comenzar este wiki, puedes [{{fullurl:{{FULLPAGENAME}}|action=edit}} crear la página] y seguir [[{{MediaWiki:Wminc-manual-url}}|nuestro manual]].', + 'wminc-infopage-option-startsister' => 'Si deseas iniciar esta wiki, puedes ir a <b>[$2 $1].</b>', + 'wminc-infopage-option-languages-existing' => 'Puede buscar [http://www.$1.org ediciones existentes en el idioma $1 ].', + 'wminc-infopage-option-sisterprojects-existing' => 'Puedes buscar proyectos existentes en este idioma:', + 'wminc-infopage-option-sisterprojects-other' => 'Puedes buscar otros proyectos en este idioma:', 'wminc-infopage-option-multilingual' => 'Puedes ir a un wiki multilingüe:', 'wminc-infopage-createmainpage' => 'Introduce las palabras «Página principal» en este idioma:', 'wminc-infopage-contribute' => '¡Si entiendes esta lengua, te animamos a contribuir!', @@ -243,8 +245,47 @@ */ $messages['gl'] = array( 'wminc-infopage-enter' => 'ir á páxina principal', + 'wminc-unknownlang' => '(lingua descoñecida co código "$1")', + 'wminc-infopage-welcome' => 'Benvido á Incubadora da Wikimedia, un proxecto da Fundación Wikimedia ([[{{MediaWiki:Aboutpage}}|acerca de]])', + 'wminc-infopage-missingwiki-text' => 'Aínda non existe $1 nesta lingua.', + 'wminc-infopage-option-startwiki' => 'Se quere comezar este wiki, +pode [{{fullurl:{{FULLPAGENAME}}|action=edit}} crear esta páxina] e seguir [[{{MediaWiki:Wminc-manual-url}}|o noso manual]].', + 'wminc-infopage-option-startsister' => 'Se quere comezar este wiki, pode ir a <b>[$2 $1]</b>.', + 'wminc-infopage-option-languages-existing' => 'Pode ollar [http://www.$1.org as linguas nas que hai $1].', + 'wminc-infopage-option-sisterprojects-existing' => 'Pode ollar os proxectos que hai nesta lingua:', + 'wminc-infopage-option-sisterprojects-other' => 'Pode ollar outros proxectos que hai nesta lingua:', + 'wminc-infopage-option-multilingual' => 'Pode ir a un wiki multilingüe:', + 'wminc-infopage-createmainpage' => 'Escriba as palabras "Páxina principal" nesta lingua:', + 'wminc-infopage-contribute' => 'Se coñece esta lingua, animámolo a contribuír!', + 'wminc-infopage-status-imported' => 'Este wiki da Incubadora foi importado desde $1 despois de que o wiki pechase.', + 'wminc-infopage-status-closedsister' => 'Este subdominio foi pechado. Vaia a <b>$2</b> para contribuír neste wiki.', + 'wminc-infopage-status-created' => 'Este proxecto foi aprobado polo comité de linguas e agora está dispoñible en $1.', + 'wminc-infopage-status-beforeincubator' => 'Este proxecto foi creado antes cá Incubadora da Wikimedia e está dispoñible en $1.', ); +/** Hebrew (עברית) + * @author Amire80 + */ +$messages['he'] = array( + 'wminc-infopage-enter' => 'אל הדף הראשי', + 'wminc-unknownlang' => '(שפה לא ידועה עם הקוד "$1")', + 'wminc-infopage-welcome' => 'ברוכים הבאים לאינקובטור של ויקימדיה, מיזם של קרן ויקימדיה ([[{{MediaWiki:Aboutpage}}|אודות]])', + 'wminc-infopage-missingwiki-text' => 'מיזם $1 בשפה הזאת טרם נוצר.', + 'wminc-infopage-option-startwiki' => 'אם אתם רוצים להתחיל את הוויקי הזה, +אתם יכולים [{{fullurl:{{FULLPAGENAME}}|action=edit}} ליצור דף] ולעקום אחר [[{{MediaWiki:Wminc-manual-url}}|ספר ההוראות שלנו]].', + 'wminc-infopage-option-startsister' => 'אם אתם רוצים להתחיל את הוויקי הזה, תוכלו ללכת ל־<b>[$2 $1]</b>.', + 'wminc-infopage-option-languages-existing' => 'אפשר לחפש [http://www.$1.org מהדורות לשוניות קיימות של $1].', + 'wminc-infopage-option-sisterprojects-existing' => 'אפשר לחפש מיזמים קיימים בשפה הזאת:', + 'wminc-infopage-option-sisterprojects-other' => 'אפשר לחפש מיזמים אחרים בשפה הזאת:', + 'wminc-infopage-option-multilingual' => 'אפשר ללכת לוויקי רב־לשוני:', + 'wminc-infopage-createmainpage' => 'כתבו את המילה "דף ראשי" בשפתכם:', + 'wminc-infopage-contribute' => 'אם אתם יודעים את השפה הזאת, אנו מפצירים בכם לתרום למיזם!', + 'wminc-infopage-status-imported' => 'ויקי האינקובטור הזה יובא מ{{GRAMMAR:תחילית|$1}} אחרי שהוויקי ההוא נסגר.', + 'wminc-infopage-status-closedsister' => 'התת־מתחם הזה נסגר. לכו אל <b>$2</b> כדי לתרום לוויקי הזה.', + 'wminc-infopage-status-created' => 'הוועדה הלשונית אישרה את המיזם הזה ואפשר למצוא אותו ב{{GRAMMAR:תחילית|$1}}.', + 'wminc-infopage-status-beforeincubator' => 'המיזם הזה נוצר לפני שהוקם האינקובטור של ויקימדיה והוא זמין ב{{GRAMMAR:תחילית|$1}}.', +); + /** Interlingua (Interlingua) * @author McDutchie */ @@ -337,6 +378,24 @@ 'wminc-infopage-status-beforeincubator' => 'Овој проект е создаден пред започнувањето на Инкубаторот на Викимедија и е достапен на $1.', ); +/** Malayalam (മലയാളം) + * @author Praveenp + */ +$messages['ml'] = array( + 'wminc-infopage-enter' => 'പ്രധാന താളിലേയ്ക്ക് പോവുക', + 'wminc-unknownlang' => '("$1" എന്ന കോഡോടു കൂടിയ അപരിചിതമായ ഭാഷ)', + 'wminc-infopage-missingwiki-text' => 'ഈ ഭാഷയിൽ $1 നിലവിലില്ല.', + 'wminc-infopage-option-startwiki' => 'താങ്കൾക്ക് ഈ വിക്കി തുടങ്ങണമെന്നുണ്ടെങ്കിൽ [{{fullurl:{{FULLPAGENAME}}|action=edit}} താൾ സൃഷ്ടിച്ച ശേഷം] [[{{MediaWiki:Wminc-manual-url}}|ഞങ്ങളുടെ വഴികാട്ടി]] പിന്തുടരുക.', + 'wminc-infopage-option-startsister' => 'താങ്കൾക്ക് ഈ വിക്കി തുടങ്ങണമെന്നുണ്ടെങ്കിൽ, <b>[$2 $1]</b> എന്ന താളിൽ ചെല്ലുക.', + 'wminc-infopage-option-languages-existing' => '[http://www.$1.org $1 പദ്ധതിയുടെ നിലവിലുള്ള ഭാഷാപതിപ്പുകൾ] താങ്കൾക്ക് തിരയാവുന്നതാണ്.', + 'wminc-infopage-option-sisterprojects-existing' => 'ഈ ഭാഷയിൽ നിലവിലുള്ള സംരംഭങ്ങൾ താങ്കൾക്ക് തിരയാവുന്നതാണ്:', + 'wminc-infopage-option-sisterprojects-other' => 'ഈ ഭാഷയിൽ നിലവിലുള്ള ഇതര സംരംഭങ്ങൾ താങ്കൾക്ക് തിരയാവുന്നതാണ്:', + 'wminc-infopage-option-multilingual' => 'താങ്കൾക്ക് ബഹുഭാഷാവിക്കിയിലേയ്ക്ക് പോകാവുന്നതാണ്:', + 'wminc-infopage-createmainpage' => 'ഈ ഭാഷയിൽ "പ്രധാന താൾ" എന്നതിനു സമാനമായ പദം നൽകുക:', + 'wminc-infopage-contribute' => 'താങ്കൾക്ക് ഈ ഭാഷ അറിയാമെങ്കിൽ, അതിൽ സംഭാവന ചെയ്യാൻ താത്പര്യപ്പെടുന്നു!', + 'wminc-infopage-status-created' => 'ഈ സംരംഭം ഭാഷാ കമ്മിറ്റി അംഗീകരിച്ചിരിക്കുന്നു, അതിപ്പോൾ $1 എന്നു ലഭ്യമാണ്.', +); + /** Malay (Bahasa Melayu) * @author Anakmalaysia */ @@ -390,11 +449,18 @@ $messages['pl'] = array( 'wminc-infopage-enter' => 'przejdź do strony głównej', 'wminc-unknownlang' => '(nieznany język o kodzie „$1“)', + 'wminc-infopage-createmainpage' => 'Wpisz „Strona główna“ w tym języku', + 'wminc-infopage-contribute' => 'Jeśli znasz ten język zachęcamy Cię do wzięcia udziału w tworzeniu tej wiki!', + 'wminc-infopage-status-imported' => 'Do inkubatora wiki zaimportowano treść z $1 po tym jak wiki została zamknięta.', + 'wminc-infopage-status-closedsister' => 'Ta domena podrzędna została zamknięta. Przejdź pod adres <b>$2</b> jeśli chcesz współtworzyć tę wiki.', + 'wminc-infopage-status-created' => 'Projekt został zatwierdzony przez komisję językową i jest już dostępny pod adresem $1.', + 'wminc-infopage-status-beforeincubator' => 'Ten projekt został utworzony zanim został uruchomiony Inkubator Wikimedia i jest dostępny pod adresem $1.', ); /** Portuguese (Português) * @author Carla404 * @author Hamilton Abreu + * @author SandroHc */ $messages['pt'] = array( 'wminc-infopage-enter' => 'ir para a Página principal', @@ -403,6 +469,7 @@ 'wminc-infopage-missingwiki-text' => 'Ainda não existe um projecto $1 nesta língua.', 'wminc-infopage-option-startwiki' => 'Se pretende iniciar esta wiki, pode [{{fullurl:{{FULLPAGENAME}}|action=edit}} criar a página] e seguir o [[{{MediaWiki:Wminc-manual-url}}|manual]].', + 'wminc-infopage-option-startsister' => 'Se queres começar esta wiki, podes ir a <b>[$2 $1]</b>.', 'wminc-infopage-option-languages-existing' => 'Pode pesquisar as [http://www.$1.org edições de $1 nas línguas existentes].', 'wminc-infopage-option-sisterprojects-existing' => 'Pode pesquisar os projectos existentes nesta língua:', 'wminc-infopage-option-sisterprojects-other' => 'Pode pesquisar outros projectos nesta língua:', @@ -410,6 +477,7 @@ 'wminc-infopage-createmainpage' => 'Introduza o termo "Página principal" nesta língua:', 'wminc-infopage-contribute' => 'Se conhece esta língua, está convidado a colaborar!', 'wminc-infopage-status-imported' => 'Esta wiki da Incubadora foi importada de $1 após a wiki ter sido fechada.', + 'wminc-infopage-status-closedsister' => 'Este subdomínio foi fechado. Vá a <b>$2</b> para contribuír nesta wiki.', 'wminc-infopage-status-created' => 'Este projecto foi aprovado pelo comité linguístico e está agora disponível em $1.', 'wminc-infopage-status-beforeincubator' => 'Este projecto foi criado antes do início da Incubadora Wikimedia e está disponível em $1.', ); @@ -436,9 +504,26 @@ /** Russian (Русский) * @author Amdf + * @author Kaganer */ $messages['ru'] = array( + 'wminc-infopage-enter' => 'перейти на заглавную страницу', + 'wminc-unknownlang' => '(неизвестный язык с кодом «$1»)', + 'wminc-infopage-welcome' => 'Добро пожаловать в Инкубатор Викимедиа, проект Фонда Викимедиа ([[{{MediaWiki:Aboutpage}}|о проекте]])', + 'wminc-infopage-missingwiki-text' => 'У $1 еще нет раздела на этом языке.', + 'wminc-infopage-option-startwiki' => 'Если вы хотите начать этот вики-проект, +вы можете [{{fullurl:{{FULLPAGENAME}}|action=edit}} создать страницу] и следовать [[{{MediaWiki:Wminc-manual-url}}|нашему руководству]].', + 'wminc-infopage-option-startsister' => 'Если вы хотите начать этот вики-проект, вы можете перейти к <b>[ $2 $1 ] </b>.', + 'wminc-infopage-option-languages-existing' => 'Вы можете поискать [http://www.$1.org существующие языковые разделы для $1].', + 'wminc-infopage-option-sisterprojects-existing' => 'Вы можете поискать существующие проекты на этом языке:', + 'wminc-infopage-option-sisterprojects-other' => 'Вы можете поискать другие проекты на этом языке:', + 'wminc-infopage-option-multilingual' => 'Вы можете перейти к многоязычным вики-проектам:', + 'wminc-infopage-createmainpage' => 'Введите на этом языке выражение, означающее «Заглавная страница»:', 'wminc-infopage-contribute' => 'Если вы понимаете этот язык, вы можете внести свой вклад!', + 'wminc-infopage-status-imported' => 'Эта вики была импортирована в Инкубатор из $1 после того, как была закрыта.', + 'wminc-infopage-status-closedsister' => 'Этот поддомен был закрыт. Перейти к <b>$2</b>, чтобы сделать свой вклад в эту вики.', + 'wminc-infopage-status-created' => 'Этот проект был одобрен языковым комитетом и теперь доступен по адресу $1 .', + 'wminc-infopage-status-beforeincubator' => 'Этот проект, созданный до запуска Инкубатора Викимедиа, доступен по адресу $1 .', ); /** Rusyn (Русиньскый) @@ -448,6 +533,29 @@ 'wminc-infopage-contribute' => 'Кідь розумієте тот язык, рекомендуєме, жебы сьте приспівали!', ); +/** Slovenian (Slovenščina) + * @author Dbc334 + */ +$messages['sl'] = array( + 'wminc-infopage-enter' => 'pojdi na glavno stran', + 'wminc-unknownlang' => '(neznan jezik s kodo »$1«)', + 'wminc-infopage-welcome' => 'Dobrodošli na Wikimediinem Inkubatorju, projektu Fundacije Wikimedia ([[{{MediaWiki:Aboutpage}}|O projektu]])', + 'wminc-infopage-missingwiki-text' => '$1 v tem jeziku še ne obstaja.', + 'wminc-infopage-option-startwiki' => 'Če želite zagnati ta wiki, +lahko [{{fullurl:{{FULLPAGENAME}}|action=edit}} ustvarite stran] in sledite [[{{MediaWiki:Wminc-manual-url}}|našemu priročniku]].', + 'wminc-infopage-option-startsister' => 'Če želite zagnati ta wiki, pojdite na <b>[$2 $1]</b>.', + 'wminc-infopage-option-languages-existing' => 'Iščete lahko [http://www.$1.org obstoječe jezikovne izdaje $1].', + 'wminc-infopage-option-sisterprojects-existing' => 'Iščete lahko obstoječe projekte v tem jeziku:', + 'wminc-infopage-option-sisterprojects-other' => 'Iščete lahko druge projekte v tem jeziku:', + 'wminc-infopage-option-multilingual' => 'Greste lahko na večjezikovni wiki:', + 'wminc-infopage-createmainpage' => 'Vnesite besedi »Glavna stran« v tem jeziku:', + 'wminc-infopage-contribute' => 'Če znate ta jezik, ste vabljeni k prispevanju!', + 'wminc-infopage-status-imported' => 'Ta wiki Inkubatorja je bil uvožen iz $1 po zaprtju wikija.', + 'wminc-infopage-status-closedsister' => 'Poddomena je zaprta. Pojdite na <b>$2</b>, da prispevate k temu wikiju.', + 'wminc-infopage-status-created' => 'Projekt je odobril jezikovni odbor in je sedaj na voljo na $1.', + 'wminc-infopage-status-beforeincubator' => 'Projekt je nastal pred zagonom Wikimediinega Inkubatorja in je na voljo na $1.', +); + /** Albanian (Shqip) * @author Olsi */ @@ -455,11 +563,46 @@ 'wminc-infopage-contribute' => 'Nëse e dini këtë gjuhë, jeni të inkurajuar të kontribuoni!', ); +/** Swedish (Svenska) + * @author Lokal Profil + */ +$messages['sv'] = array( + 'wminc-infopage-enter' => 'gå till huvudsidan', + 'wminc-unknownlang' => '(okänt språk med koden "$1")', + 'wminc-infopage-welcome' => 'Välkommen till Wikimedia Incubator, ett projekt av Wikimedia Foundation ([[{{MediaWiki:Aboutpage}}|Om]])', + 'wminc-infopage-option-languages-existing' => 'Du kan söka efter [http://www.$1.org befintliga språkversioner av $1].', + 'wminc-infopage-option-sisterprojects-existing' => 'Du kan söka efter befintliga projekt på detta språk:', + 'wminc-infopage-option-sisterprojects-other' => 'Du kan söka efter andra projekt på detta språk:', + 'wminc-infopage-option-multilingual' => 'Du kan gå till en flerspråkig wiki:', + 'wminc-infopage-contribute' => 'Om du kan detta språk, uppmuntras du att bidra!', + 'wminc-infopage-status-imported' => 'Denna Incubator-wiki har importerats från $1 efter det att wikin stängdes.', + 'wminc-infopage-status-closedsister' => 'Denna underdomän har stängts. Gå till <b>$2</b> för att bidra till denna wiki.', + 'wminc-infopage-status-created' => 'Detta projekt har godkänts av språkkommittén och finns nu på $1.', + 'wminc-infopage-status-beforeincubator' => 'Detta projekt skapades före Wikimedia Incubator startade och finns på $1.', +); + /** Ukrainian (Українська) * @author Andrijko Z. + * @author Dim Grits */ $messages['uk'] = array( + 'wminc-infopage-enter' => 'до Головної сторінки', + 'wminc-unknownlang' => '(Невідома мова з кодом "$1")', + 'wminc-infopage-welcome' => 'Ласкаво просимо до Інкубатора Вікімедіа. [[{{MediaWiki:Aboutpage}}|Інформація]] про цей проект Фонду Вікімедіа', + 'wminc-infopage-missingwiki-text' => '$1 ще не має розділу даною мовою.', + 'wminc-infopage-option-startwiki' => 'Якщо ви бажаєте започаткувати цей вікіпроект, +можете [{{fullurl:{{FULLPAGENAME}}|action=edit}} створити сторінку] та дотримуватись порад [[{{MediaWiki:Wminc-manual-url}}|нашої інструкції]].', + 'wminc-infopage-option-startsister' => 'Якщо ви хочете започаткувати цей вікіпроект, ви можете звернутися до <b>[$2 $1]</b>.', + 'wminc-infopage-option-languages-existing' => 'Ви можете пошукати серед [http://www.$1.org існуючих мовних розділів $1].', + 'wminc-infopage-option-sisterprojects-existing' => 'Ви можете пошукати існуючі проекти цією мовою:', + 'wminc-infopage-option-sisterprojects-other' => 'Ви можете пошукати інші проекти цією мовою:', + 'wminc-infopage-option-multilingual' => 'Ви можете перейти до багатомовних вікіпроектів:', + 'wminc-infopage-createmainpage' => 'Введіть фразу «Головна сторінка» на цій мові:', 'wminc-infopage-contribute' => 'Якщо ви розумієте цю мову, ви можете внести свій вклад!', + 'wminc-infopage-status-imported' => 'Ця вікі була перенесена до Інкубатору з $1 після її закриття.', + 'wminc-infopage-status-closedsister' => 'Цей піддомен було закрито. Перейти до <b>$2</b>, щоб зробити внесок до цієї вікі.', + 'wminc-infopage-status-created' => 'Цей проект було схвалено мовним комітетом і тепер він доступний на $1.', + 'wminc-infopage-status-beforeincubator' => 'Цей проект було створено до існування Інкубатора Вікімедіа, доступний $1.', ); /** Vietnamese (Tiếng Việt) Modified: trunk/InfoPage.php =================================================================== --- trunk/InfoPage.php 2011-09-24 14:26:13 UTC (rev 44) +++ trunk/InfoPage.php 2011-09-25 22:42:39 UTC (rev 45) @@ -21,7 +21,9 @@ class InfoPage { public function __construct( $title, $prefixdata ) { - global $wmincProjects, $wmincSisterProjects; + global $wmincProjects, $wmincSisterProjects, $wgConf; + $wgConf->loadFullData(); + $this->wgConf = $wgConf; $this->mTitle = $title; $this->mPrefix = $prefixdata['prefix']; $this->mLangCode = $prefixdata['lang']; @@ -46,32 +48,24 @@ /** * Small convenience function to display a (clickable) logo - * @param $project Project name + * @param $project Project code * @return String */ - public function makeLogo( $project, $clickable = true, $width = 25, $height = '', $url = '', $args = array() ) { - global $wgUser; - $projectForFile = preg_replace('/ /', '-', strtolower( $project ) ); - $imageobj = wfFindFile( wfMsg( 'wminc-logo-' . $projectForFile ) ); - $useUrl = $url ? $url : IncubatorTest::getSubdomain( 'www', IncubatorTest::getProject( $project, false, true ) ); - if ( !$imageobj ) { # image not found - if( !$clickable ) { - return $logo; - } - return $wgUser->getSkin()->makeExternalLink( $useUrl, $project, false ); - } + public function makeLogo( $project, $clickable = true, $params = array(), $url = '', $lang = null ) { + # If the project doesn't have a subdomain, it doesn't have a logo defined + # so we use the English logo + $lang = $lang ? $lang : $this->mLangCode; + $getDbStatus = IncubatorTest::getDBState( array( 'error' => null, + 'lang' => $lang, 'project' => $project ) ); + $logoDefined = (bool)$getDbStatus != 'missing'; + $lang = $logoDefined ? $lang : 'en'; + $useUrl = $url ? $url : IncubatorTest::getSubdomain( 'www', $project ); + $logo = IncubatorTest::getConf( 'wgLogo', $lang, $project, $this->wgConf ); + $img = Html::element( 'img', array( 'src' => $logo, 'alt' => "$project ($lang)" ) + $params ); if( $clickable ) { - $args['link-url'] = $useUrl; - } else { - $args['no-link'] = true; + return Html::rawElement( 'a', array( 'href' => $useUrl ), $img ); } - $handlerParams['width'] = $width; - if( $height ) { - $handlerParams['height'] = $height; - } - return $wgUser->getSkin()->makeImageLink2( $this->mTitle, $imageobj, - array( 'alt' => $project, 'caption' => $project ) + $args, $handlerParams - ); + return $img; } /** @@ -81,11 +75,11 @@ public function listOtherProjects() { global $wmincProjects, $wmincSisterProjects; $otherProjects = $wmincProjects + $wmincSisterProjects; + unset( $otherProjects[$this->mProjectCode] ); foreach( $otherProjects as $code => $name ) { - $listOtherProjects[$code] = '<li>' . $this->makeLogo( $name, true, - 75, null, IncubatorTest::getSubdomain( $this->mLangCode, $code ) ) . '</li>'; + $listOtherProjects[$code] = '<li>' . $this->makeLogo( $code, true, + array( 'width' => 75 ), IncubatorTest::getSubdomain( $this->mLangCode, $code ) ) . '</li>'; } - unset( $listOtherProjects[$this->mProjectCode] ); return '<ul class="wminc-infopage-otherprojects">' . implode( '', $listOtherProjects ) . '</ul>'; } @@ -95,11 +89,12 @@ * (Meta, Commons, ...) */ public function listMultilingualProjects() { - global $wmincMultilingualProjects; + global $wmincMultilingualProjects, $wmincMultilingualProjectUrls, $wmincProjects; if( !is_array( $wmincMultilingualProjects ) ) { return; } - foreach( $wmincMultilingualProjects as $url => $name ) { - $list[$url] = '<li>' . $this->makeLogo( $name, true, - 75, null, 'http://'.$url.'/') . '</li>'; + foreach( $wmincMultilingualProjects as $key => $name ) { + $url = $wmincMultilingualProjectUrls[$key]; + $list[$url] = '<li>' . $this->makeLogo( key( $wmincProjects ), true, + array( 'width' => 75 ), '//'.$url.'/', $key ) . '</li>'; } return '<ul class="wminc-infopage-multilingualprojects">' . implode( '', $list ) . '</ul>'; @@ -123,7 +118,7 @@ 'lang' => $wgLang->getCode(), 'dir' => $wgLang->getDir() ), $beforetitle . Html::rawElement( 'div', array( 'class' => 'wminc-infopage-logo' ), - $this->makeLogo( $this->mProjectName, true, 175 ) + $this->makeLogo( $this->mProjectCode ) ) . Html::rawElement( 'div', array( 'class' => 'wminc-infopage-title' ), $this->mFormatTitle . $aftertitle ) . @@ -160,22 +155,22 @@ * @return String */ public function showIncubatingWiki() { - global $wgUser, $wgLang; + global $wgLang; $substatus = $this->mSubStatus; if( $substatus == 'imported' && $this->mIsSister ) { $substatus = 'closedsister'; } - $portalLink = $wgUser->getSkin()->makeExternalLink( $this->mPortal, $this->mProjectName ); + $portalLink = Linker::makeExternalLink( $this->mPortal, $this->mProjectName ); if( $this->mThisLangData['type'] != 'invalid' ) { - $gotoLink = $wgUser->getSkin()->link( - Title::newFromText( IncubatorTest::getMainPage( $this->mLangCode, $this->mPrefix ) ), + $gotoLink = Linker::link( + IncubatorTest::getMainPage( $this->mLangCode, $this->mPrefix ), wfMsgNoTrans( 'wminc-infopage-enter' ) ); $gotoMainPage = Html::rawElement( 'span', array( 'class' => 'wminc-infopage-entertest' ), $wgLang->getArrow() . ' ' . ( $this->mIsSister ? $portalLink : $gotoLink ) ); } $subdomain = IncubatorTest::getSubdomain( $this->mLangCode, $this->mProjectCode ); - $subdomainLink = $wgUser->getSkin()->makeExternalLink( $subdomain, $subdomain ); + $subdomainLink = Linker::makeExternalLink( $subdomain, $subdomain ); $content = Html::rawElement( 'div', array( 'class' => 'wminc-infopage-status' ), wfMsgWikiHtml( 'wminc-infopage-status-' . $substatus, $subdomainLink, $portalLink ) ); if( $this->mSubStatus != 'approved' && $this->mThisLangData['type'] != 'invalid' ) { @@ -183,6 +178,16 @@ array( 'class' => 'wminc-infopage-contribute' ), wfMsg( 'wminc-infopage-contribute' ) ); } + $content .= Html::rawElement( 'table', array( 'class' => 'wminc-infopage-links' ), '<tr>' . + '<td>' . wfMessage( 'wminc-infopage-content' ) . '<ul>' . + Html::rawElement( 'li', array(), Linker::linkKnown( SpecialPage::getTitleFor( 'RecentChanges' ), + wfMessage( 'recentchanges' ), array(), array( 'testwiki' => $this->mPrefix ) ) ) . + Html::rawElement( 'li', array(), Linker::linkKnown( SpecialPage::getTitleFor( 'PrefixIndex', $this->mPrefix ), + wfMessage( 'wminc-allpages' ) ) ) . + Html::rawElement( 'li', array(), Linker::link( Title::newFromText( $this->mPrefix, NS_CATEGORY ), + wfMessage( 'wminc-category' ) ) ) . + '</ul></td>' . + '</tr>' ); return $this->StandardInfoPage( '', $gotoMainPage, $content ); } @@ -190,11 +195,11 @@ * @return String */ public function showExistingWiki() { - global $wgLang, $wgUser; + global $wgLang; $created = isset( $this->mCreated ) ? $this->mCreated : ''; # for future use $bug = isset( $this->mBug ) ? $this->mBug : ''; # for future use $subdomain = IncubatorTest::getSubdomain( $this->mLangCode, $this->mProjectCode ); - $subdomainLink = $wgUser->getSkin()->makeExternalLink( $subdomain, $subdomain ); + $subdomainLink = Linker::makeExternalLink( $subdomain, $subdomain ); if( $this->mThisLangData['type'] != 'invalid' ) { $gotoSubdomain = Html::rawElement( 'span', array( 'class' => 'wminc-infopage-entertest' ), Modified: trunk/SpecialIncubatorFirstSteps.php =================================================================== --- trunk/SpecialIncubatorFirstSteps.php 2011-09-24 14:26:13 UTC (rev 44) +++ trunk/SpecialIncubatorFirstSteps.php 2011-09-25 22:42:39 UTC (rev 45) @@ -129,6 +129,7 @@ } $this->showHeader( $step_msg, false, false ); + $this->out->addWikiMsg( 'wminc-fs-settings-image' ); $this->out->addWikiMsg( 'wminc-fs-settings-text' ); return $step_msg; @@ -172,12 +173,11 @@ $mainpage = IncubatorTest::getMainPage( $this->wikiprefix['lang'], $this->wikiprefix['prefix'] ); - $mainpageTitle = Title::newFromText( $mainpage ); $prefix = Linker::linkKnown( Title::newFromText( $this->wikiprefix['prefix'] ) ); - $link = Linker::link( $mainpageTitle, $mainpage ); - $this->out->addHtml( wfMessage( $mainpageTitle->exists() ? - 'wminc-fs-startwiki-exists-text' : 'wminc-fs-startwiki-text', $prefix, $link )->plain() ); + $link = Linker::link( $mainpage, $mainpage->getText() ); + $this->out->addHtml( wfMessage( $mainpage->exists() ? + 'wminc-fs-startwiki-exists-text' : 'wminc-fs-startwiki-text', $prefix, $link )->text() ); return $step_msg; } Modified: trunk/WikimediaIncubator.dev-i18n.php =================================================================== --- trunk/WikimediaIncubator.dev-i18n.php 2011-09-24 14:26:13 UTC (rev 44) +++ trunk/WikimediaIncubator.dev-i18n.php 2011-09-25 22:42:39 UTC (rev 45) @@ -54,12 +54,16 @@ 'wminc-fs-langselect-langs' => 'ar,de,eo,fr,es,id,it,ja,nl,pl,pt-br,ru,tr,zh', # do not translate 'wminc-fs-signup-text' => 'If you already have a user account, please [$1 log in]. If you do not have one yet, please [$2 create a user account]. It is not required but strongly recommended and only takes a few seconds to create.', - 'wminc-fs-settings-text' => 'Please now go to [[Special:Preferences|your preferences]] and change your test wiki setting to the project and language you want to contribute to.', + 'wminc-fs-settings-image' => '[[File:Incubator wiki preference.png|thumb|350px]]', # do not translate + 'wminc-fs-settings-text' => 'Please now go to [[Special:Preferences|your preferences]] and change your test wiki setting. +At the right you see the relevant options you have on that page. The first one is your interface language, which you have chosen in the first step, but you can still change it. +The second one is the project you want to contribute to and the third one is the language code of the project you want to contribute to. +If you don\'t know the code, please consult our [[{{MediaWiki:Wminc-manual-url}}|manual]] or ask for [[{{MediaWiki:Portal-url}}|help]].', 'wminc-fs-userpage-text' => 'Please now create your userpage $1 with some basic info about yourself. You can also see a link to it at the top of this page.', - 'wminc-fs-globaluser-text' => 'Your user account is local. It is recommended to make it global via $1.', + 'wminc-fs-globaluser-text' => 'Your user account is local. It is recommended to make it global via $1 so you can use it on any Wikimedia wiki.', 'wminc-fs-startwiki-text' => 'The prefix of your wiki is $1. You can create the wiki\'s Main Page at $2.', 'wminc-fs-startwiki-exists-text' => 'The prefix of your wiki is $1. The Main Page is at $2. You can now collaborate with other speakers of this language to build a community! - If you want to create a page, just type in the name in the search box above, and follow the link you will see.', +If you want to create a page, just type in the name in the search box above, and follow the link you will see.', ); /** Nederlands (Dutch) Modified: trunk/WikimediaIncubator.i18n.php =================================================================== --- trunk/WikimediaIncubator.i18n.php 2011-09-24 14:26:13 UTC (rev 44) +++ trunk/WikimediaIncubator.i18n.php 2011-09-25 22:42:39 UTC (rev 45) @@ -1598,6 +1598,7 @@ 'wminc-manual' => 'സഹായഗ്രന്ഥം', 'wminc-listwikis' => 'വിക്കികളുടെ പട്ടിക', 'wminc-testwiki' => 'പരീക്ഷണ വിക്കി:', + 'wminc-testwiki-code' => 'പരീക്ഷണ വിക്കിയുടെ ഭാഷ:', 'wminc-testwiki-none' => 'ഒന്നുമില്ല/എല്ലാം', 'wminc-recentchanges-all' => 'എല്ലാ സമീപകാല മാറ്റങ്ങളും', 'wminc-prefinfo-language' => 'താങ്കളുടെ സമ്പർക്കമുഖ ഭാഷ - താങ്കളുടെ പരീക്ഷണ വിക്കിയിൽ നിന്ന് സ്വതന്ത്രം', Modified: trunk/WikimediaIncubator.php =================================================================== --- trunk/WikimediaIncubator.php 2011-09-24 14:26:13 UTC (rev 44) +++ trunk/WikimediaIncubator.php 2011-09-25 22:42:39 UTC (rev 45) @@ -43,15 +43,21 @@ 'v' => 'Wikiversity', ); $wmincMultilingualProjects = array( - 'meta.wikimedia.org' => 'Meta-Wiki', - 'commons.wikimedia.org' => 'Wikimedia Commons', - 'species.wikimedia.org' => 'Wikispecies', - 'mediawiki.org' => 'MediaWiki', + 'meta' => 'Meta-Wiki', + 'commons' => 'Wikimedia Commons', + 'species' => 'Wikispecies', + 'mediawiki' => 'MediaWiki', ); $wmincProjectSite = array( 'name' => 'Incubator', 'short' => 'inc', ); +$wmincMultilingualProjectUrls = array( + 'meta' => 'meta.wikimedia.org', + 'commons' => 'commons.wikimedia.org', + 'species' => 'species.wikimedia.org', + 'mediawiki' => 'mediawiki.org', +); $wmincTestWikiNamespaces = array( NS_MAIN, NS_TALK, NS_TEMPLATE, NS_TEMPLATE_TALK, @@ -116,16 +122,8 @@ /* support for automatic checking in a list of databases if a wiki exists */ $wmincExistingWikis = $wgLocalDatabases; -/* Stupid "wiki" referring to "wikipedia" in WMF config */ -$wmincProjectDatabases = array( - 'p' => 'wiki', - 'b' => 'wikibooks', - 't' => 'wiktionary', - 'q' => 'wikiquote', - 'n' => 'wikinews', - 's' => 'wikisource', - 'v' => 'wikiversity', -); +/* WMF database names */ +$wmincProjectDatabases = $wmincProjects + $wmincSisterProjects; # set this to an array or file of closed wikis (like SiteMatrix $wgSiteMatrixClosedSites) $wmincClosedWikis = false; @@ -202,4 +200,4 @@ /* IncubatorFirstSteps */ # UNDER DEVELOPMENT $wgAutoloadClasses['SpecialIncubatorFirstSteps'] = $dir . 'SpecialIncubatorFirstSteps.php'; -$wgSpecialPages['IncubatorFirstSteps'] = 'SpecialIncubatorFirstSteps'; \ No newline at end of file +$wgSpecialPages['IncubatorFirstSteps'] = 'SpecialIncubatorFirstSteps'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-09-24 14:26:21
|
Revision: 44 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=44&view=rev Author: robin-p Date: 2011-09-24 14:26:13 +0000 (Sat, 24 Sep 2011) Log Message: ----------- Sync i18n file, some more work on IncubatorFirstSteps Modified Paths: -------------- trunk/IncubatorTest.php trunk/SpecialIncubatorFirstSteps.php trunk/WikimediaIncubator.dev-i18n.php trunk/WikimediaIncubator.i18n.php Modified: trunk/IncubatorTest.php =================================================================== --- trunk/IncubatorTest.php 2011-09-23 23:02:13 UTC (rev 43) +++ trunk/IncubatorTest.php 2011-09-24 14:26:13 UTC (rev 44) @@ -578,6 +578,8 @@ /** * make "Wx/xxx/Main Page" + * @param $langCode String: The language code + * @param $prefix Null|String: the "Wx/xxx" prefix to add * @return String */ public static function getMainPage( $langCode, $prefix = null ) { Modified: trunk/SpecialIncubatorFirstSteps.php =================================================================== --- trunk/SpecialIncubatorFirstSteps.php 2011-09-23 23:02:13 UTC (rev 43) +++ trunk/SpecialIncubatorFirstSteps.php 2011-09-24 14:26:13 UTC (rev 44) @@ -12,7 +12,6 @@ * @ingroup SpecialPage */ /* -- testwiki instellen - hoofdpagina aanmaken indien nodig - gebruikerspagina aanmaken @@ -30,6 +29,7 @@ public function execute( $params ) { $this->out = $this->getOutput(); + $this->wikiprefix = IncubatorTest::analyzePrefix( IncubatorTest::displayPrefix() ); $this->out->addWikiMsg( 'wminc-fs-intro' ); $step = false; @@ -37,6 +37,8 @@ $step = $this->showLanguageSelector( $step ); $step = $this->showSignup( $step ); $step = $this->showTestwikiSetting( $step ); + $step = $this->showUserpage( $step ); + $step = $this->showStartWiki( $step ); $title = wfMsg( 'wminc-fs-pagetitle', wfMsg( $step ) ); $this->out->setPageTitle( htmlspecialchars( $title ) ); @@ -106,7 +108,8 @@ # Login / create account links $link = SpecialPage::getTitleFor( 'Userlogin' ); - $query = array( 'returnto' => $this->getTitle(), 'uselang' => $this->getRequest()->getVal( 'uselang' ) ); + $query = array( 'returnto' => $this->getTitle(), + 'uselang' => $this->getRequest()->getVal( 'uselang' ) ); $login = $link->getFullUrl( $query ); $signup = $link->getFullUrl( $query + array( 'type' => 'signup' ) ); @@ -120,8 +123,7 @@ if ( $step ) { $this->showHeader( $step_msg, true, false ); return $step; - } elseif( IncubatorTest::validatePrefix( IncubatorTest::displayPrefix() ) - || $this->getRequest()->getText( 'step' ) === 'settings' ) { + } elseif( !$this->wikiprefix['error'] ) { $this->showHeader( $step_msg, true, true ); return $step; } @@ -131,4 +133,52 @@ return $step_msg; } + + protected function showUserpage( $step ) { + $step_msg = 'wminc-fs-userpage-title'; + + if ( $step ) { + $this->showHeader( $step_msg, true, false ); + return $step; + } elseif( $this->getUser()->getUserPage()->exists() ) { + $this->showHeader( $step_msg, true, true ); + return $step; + } + $this->showHeader( $step_msg, false, false ); + + $link = Linker::link( $this->getUser()->getUserPage(), $this->getUser()->getName() ); + $this->out->addHtml( wfMessage( 'wminc-fs-userpage-text', $link )->plain() ); + + if( class_exists( 'CentralAuthUser' ) ) { + # If CentralAuth is installed, recommend the user to make his account global + $globalUser = new CentralAuthUser( $this->getUser()->getName() ); + if( !$globalUser->exists() ) { + $link = Linker::specialLink( 'mergeaccount' ); + $this->out->addHtml( wfMessage( 'wminc-fs-globaluser-text', $link )->plain() ); + } + } + + return $step_msg; + } + + protected function showStartWiki( $step ) { + $step_msg = 'wminc-fs-startwiki-title'; + + if ( $step ) { + $this->showHeader( $step_msg, true, false ); + return $step; + } + $this->showHeader( $step_msg, false, false ); + + $mainpage = IncubatorTest::getMainPage( + $this->wikiprefix['lang'], $this->wikiprefix['prefix'] ); + $mainpageTitle = Title::newFromText( $mainpage ); + + $prefix = Linker::linkKnown( Title::newFromText( $this->wikiprefix['prefix'] ) ); + $link = Linker::link( $mainpageTitle, $mainpage ); + $this->out->addHtml( wfMessage( $mainpageTitle->exists() ? + 'wminc-fs-startwiki-exists-text' : 'wminc-fs-startwiki-text', $prefix, $link )->plain() ); + + return $step_msg; + } } Modified: trunk/WikimediaIncubator.dev-i18n.php =================================================================== --- trunk/WikimediaIncubator.dev-i18n.php 2011-09-23 23:02:13 UTC (rev 43) +++ trunk/WikimediaIncubator.dev-i18n.php 2011-09-24 14:26:13 UTC (rev 44) @@ -46,6 +46,8 @@ 'wminc-fs-langselect-title' => 'Select language', 'wminc-fs-signup-title' => 'Sign up', 'wminc-fs-settings-title' => 'Set your wiki preference', + 'wminc-fs-userpage-title' => 'Create your userpage', + 'wminc-fs-startwiki-title' => 'Start your wiki', 'wminc-fs-pagetitle-done' => ' - done!', 'wminc-fs-intro' => "Welcome to the {{SITENAME}} first steps wizard. You will be guided through the process of starting a new wiki.", 'wminc-fs-langselect' => 'Proceed in $1 or $2', # optional @@ -53,6 +55,11 @@ 'wminc-fs-signup-text' => 'If you already have a user account, please [$1 log in]. If you do not have one yet, please [$2 create a user account]. It is not required but strongly recommended and only takes a few seconds to create.', 'wminc-fs-settings-text' => 'Please now go to [[Special:Preferences|your preferences]] and change your test wiki setting to the project and language you want to contribute to.', + 'wminc-fs-userpage-text' => 'Please now create your userpage $1 with some basic info about yourself. You can also see a link to it at the top of this page.', + 'wminc-fs-globaluser-text' => 'Your user account is local. It is recommended to make it global via $1.', + 'wminc-fs-startwiki-text' => 'The prefix of your wiki is $1. You can create the wiki\'s Main Page at $2.', + 'wminc-fs-startwiki-exists-text' => 'The prefix of your wiki is $1. The Main Page is at $2. You can now collaborate with other speakers of this language to build a community! + If you want to create a page, just type in the name in the search box above, and follow the link you will see.', ); /** Nederlands (Dutch) Modified: trunk/WikimediaIncubator.i18n.php =================================================================== --- trunk/WikimediaIncubator.i18n.php 2011-09-23 23:02:13 UTC (rev 43) +++ trunk/WikimediaIncubator.i18n.php 2011-09-24 14:26:13 UTC (rev 44) @@ -16,6 +16,7 @@ 'wminc-manual' => 'Manual', 'wminc-listwikis' => 'List of wikis', 'wminc-testwiki' => 'Test wiki:', + 'wminc-testwiki-code' => 'Test wiki language:', 'wminc-testwiki-none' => 'None/All', 'wminc-recentchanges-all' => 'All recent changes', @@ -57,21 +58,29 @@ # Special:ListUsers 'wminc-listusers-testwiki' => 'You are viewing users who have set their test wiki preference to $1.', + + # Search + 'wminc-search-nocreate-nopref' => 'You searched for "$1". Please set your [[Special:Preferences|test wiki preference]] so we can tell you which page you can create!', + 'wminc-search-nocreate-suggest' => 'You searched for "$1". You can create a page in your wiki at <b>[[$2]]</b>!', ); /** Message documentation (Message documentation) * @author EugeneZelenko * @author Fryed-peach + * @author Nike * @author Purodha * @author SPQRobin + * @author Yekrats */ $messages['qqq'] = array( 'wminc-desc' => '{{desc}}', 'wminc-manual' => 'As in "handbook" (a page with a step-by-step guide).', 'wminc-listwikis' => 'List of wikis that are in Wikimedia Incubator. Please keep it short as it is used in the sidebar.', 'wminc-testwiki' => 'See [[:File:Incubator-testwiki-preference.jpg]].', + 'wminc-testwiki-code' => 'Used on Special:Preferences as the label for entering the language code of the test wiki.', 'wminc-testwiki-none' => "* Used on Special:Preferences when the user didn't select a test wiki preference (yet). * Used on Special:RecentChanges to show normal recent changes display.", + 'wminc-recentchanges-all' => 'Used in the sidebar for a link to Special:RecentChanges (with default view of all changes).', 'wminc-prefinfo-language' => 'See [[:File:Incubator-testwiki-preference.jpg]]. Extra clarification for the (normal) language selection.', 'wminc-prefinfo-code' => 'See [[:File:Incubator-testwiki-preference.jpg]].', 'wminc-prefinfo-project' => 'See [[:File:Incubator-testwiki-preference.jpg]].', @@ -83,6 +92,8 @@ * Do not change <code><nowiki>{{MediaWiki:Helppage}}</nowiki></code>', 'wminc-error-wiki-exists' => "'''$1''' is a URL to the existing wiki.", 'wminc-error-wiki-sister' => '$1 is a link to either Wikisource or Wikiversity.', + 'randombytest' => '[[Special:Special:RandomByTest]] goes to a random page in a incubator wiki. +For more information see: http://www.mediawiki.org/wiki/Extension:WikimediaIncubator', 'wminc-viewuserlang' => 'Title of a special page to look up the language and test wiki of a user. See [[:File:Incubator-testwiki-viewuserlang.jpg]].', 'wminc-viewuserlang-user' => 'Label for the input. @@ -90,8 +101,10 @@ 'wminc-viewuserlang-go' => "Text on the submit button to view the user's language and test wiki. {{Identical|Go}}", + 'wminc-userdoesnotexist' => 'Used on Special:ViewUserLang when the entered user does not exist.', + 'wminc-ip' => 'Used on Special:ViewUserLang which can only be used for logged in users. This error message is shown for IP addresses.', 'right-viewuserlang' => '{{doc-right|viewuserlang}} -The message says (in the long form): "The ability to view the language and test wiki of a user". A user can set his language and test wiki through Special:Preferences.', +The message says (in the long form): (This group has) "The ability to view the language and test wiki of a user". A user can set his language and test wiki through Special:Preferences.', 'group-test-sysop' => 'Name of the group of administrators of a specific test wiki on the Wikimedia Incubator.', 'group-test-sysop-member' => 'An administrator of a specific test wiki on the Wikimedia Incubator.', 'grouppage-test-sysop' => 'Do not change the "Project:" part!', @@ -103,7 +116,9 @@ * '''$2''' is the language name in English * '''$3''' is the translated language name from CLDR, if available (otherwise, English) It is best '''not''' to change the link to the Wikipedia article about the language.", - 'wminc-listusers-testwiki' => 'Used on [[Special:ListUsers]]. $1 is of the format "Wx/xyz".', + 'wminc-listusers-testwiki' => 'Used on [[Special:ListUsers]]. $1 is either "Incubator" or a link to pages like "Wx/xyz".', + 'wminc-search-nocreate-nopref' => 'Used on Special:Search. $1 is the search term.', + 'wminc-search-nocreate-suggest' => 'Used on Special:Search. $1 is the search term, and $2 is the prefixed form of $1.', ); /** Adyghe (Cyrillic) () @@ -162,6 +177,8 @@ 'wminc-viewuserlang' => 'Soek op gebruikerstaal en toetswiki', 'wminc-viewuserlang-user' => 'Gebruikersnaam:', 'wminc-viewuserlang-go' => 'OK', + 'wminc-userdoesnotexist' => 'Die gebruiker "$1" bestaan nie.', + 'wminc-ip' => '"$1" is \'n IP-adres.', 'right-viewuserlang' => 'Sien gebruikerstaal en toetswiki', ); @@ -275,6 +292,19 @@ 'wminc-recentchanges-all' => 'Tolos cambios recientes', ); +/** Azerbaijani (Azərbaycanca) + * @author Cekli829 + */ +$messages['az'] = array( + 'wminc-manual' => 'Əl ilə', + 'wminc-listwikis' => 'Vikilərin siyahısı', + 'wminc-testwiki' => 'Test viki:', + 'wminc-testwiki-none' => 'Heç biri/Hamısı', + 'wminc-viewuserlang-user' => 'İstifadəçi adı:', + 'wminc-viewuserlang-go' => 'Keç', + 'wminc-userdoesnotexist' => 'İstifadəçi "$1" mövcud deyil', +); + /** Bavarian (Boarisch) * @author Man77 * @author Mucalexx @@ -340,7 +370,7 @@ 'wminc-viewuserlang-user' => 'Імя ўдзельніка:', 'wminc-viewuserlang-go' => 'Перайсьці', 'wminc-userdoesnotexist' => 'Удзельнік «$1» не існуе.', - 'wminc-ip' => '"$1" — гэта IP-адрэса.', + 'wminc-ip' => '«$1» — IP-адрас.', 'right-viewuserlang' => 'прагляд мовы ўдзельніка і тэставаньне вікі', 'group-test-sysop' => 'Адміністратары тэставай вікі', 'group-test-sysop-member' => 'адміністратар тэставай вікі', @@ -348,7 +378,7 @@ 'wminc-code-macrolanguage' => '[[wikipedia:$2 мова|«$3» мова]] зьяўляецца [[wikipedia:ISO 639 macrolanguage|макрамовай]], якая ўтрымлівае наступную колькасьць моваў:', 'wminc-code-collective' => 'Код «$1» адносіцца не да пэўнай мовы, а да набору моваў, а менавіта да [[wikipedia:$2 language|«$3»]].', 'wminc-code-retired' => 'Гэты код мовы быў зьменены і болей не датычыцца арыгінальнай мовы.', - 'wminc-listusers-testwiki' => 'Вы праглядаеце ўдзельнікаў, якія ў сваёй тэставай вікі абралі наладку $1.', + 'wminc-listusers-testwiki' => 'Вы праглядаеце ўдзельнікаў, якія ў сваёй тэставай вікі выбралі наладу $1.', ); /** Bulgarian (Български) @@ -358,8 +388,10 @@ */ $messages['bg'] = array( 'wminc-desc' => 'Тестова уики система за Уикимедия Инкубатор', + 'wminc-listwikis' => 'Списък уикита', 'wminc-testwiki' => 'Тестово уики:', 'wminc-testwiki-none' => 'Никои / Всички', + 'wminc-recentchanges-all' => 'Всички последни промени', 'wminc-prefinfo-language' => 'Език на интерфейса (независим от езика на вашето тестово уики)', 'wminc-prefinfo-code' => 'Езиковият код според стандарта ISO 639', 'wminc-prefinfo-project' => 'Изберете проект на Уикимедия (Опцията инкубатор е за потребители, които извършват обща работа)', @@ -369,7 +401,10 @@ 'wminc-viewuserlang' => 'Справка за езика на потребителя и тестваното от него уики', 'wminc-viewuserlang-user' => 'Потребител:', 'wminc-viewuserlang-go' => 'Отваряне', + 'wminc-userdoesnotexist' => 'Не съществува потребител "$1".', + 'wminc-ip' => '"$1" е IP-адрес.', 'right-viewuserlang' => 'Вижте езика на потребителя и езика на тестваното уики', + 'wminc-code-retired' => 'Този езиков код е бил променен и повече не се отнася към оригиналния език.', ); /** Bengali (বাংলা) @@ -520,6 +555,7 @@ 'wminc-manual' => 'Anleitung', 'wminc-listwikis' => 'Liste der Wikis', 'wminc-testwiki' => 'Testwiki:', + 'wminc-testwiki-code' => 'Sprache des Testwikis:', 'wminc-testwiki-none' => 'Keins/Alle', 'wminc-recentchanges-all' => 'Alle letzten Änderungen', 'wminc-prefinfo-language' => 'Sprache deiner Benutzeroberfläche - vom Testwiki unabhängig', @@ -547,6 +583,8 @@ 'wminc-code-collective' => 'Der Code „$1“ bezieht sich nicht auf eine bestimmte Sprache, sondern auf eine Gruppe von Sprachen, namentlich die [[wikipedia:$2 language|Sprachen „$3“]].', 'wminc-code-retired' => 'Dieser Sprachcode wurde geändert und bezieht sich nicht mehr auf die ursprüngliche Sprache.', 'wminc-listusers-testwiki' => 'Du siehst Benutzer, die ihre Testwikieinstellung auf $1 eingestellt haben.', + 'wminc-search-nocreate-nopref' => 'Du suchtest nach „$1“. Bitte lege die [[Special:Preferences|Einstellungen für Dein Testwiki]] fest, damit wir dir mitteilen können, welche Seite du erstellen kannst.', + 'wminc-search-nocreate-suggest' => 'Du suchtest nach „$1“. Du kannst in Deinem Testwiki eine Seite unter <b>[[$2]]</b> erstellen.', ); /** German (formal address) (Deutsch (Sie-Form)) @@ -561,6 +599,7 @@ 'wminc-error-unprefixed-suggest' => "'''Fehler:''' Diese Seite hat [[{{MediaWiki:Helppage}}|kein Präfix]]. Sie können unter [[:$1]] eine Seite anlegen.", 'wminc-error-wiki-sister' => 'Diese Seite gehört zu einem Projekt, das nicht hier gehostet ist. Gehen Sie bitte zu $1, um das Wiki zu finden.', 'randombytest-nopages' => 'Es befinden sich keine Seiten im Namensraum „$1“ Ihres Testwikis.', + 'wminc-search-nocreate-nopref' => 'Sie suchten nach „$1“. Bitte legen Sie die [[Special:Preferences|Einstellungen für Ihr Testwiki]] fest, damit wir Ihnen mitteilen können, welche Seite Sie erstellen können.', ); /** Zazaki (Zazaki) @@ -645,13 +684,21 @@ */ $messages['eo'] = array( 'wminc-desc' => 'Testa vikisistemo por Wikimedia-Inkubatoro', + 'wminc-manual' => 'Manlibro', 'wminc-listwikis' => 'Listo de vikioj', 'wminc-testwiki' => 'Prova vikio:', 'wminc-testwiki-none' => 'Nenio/Ĉio', 'wminc-recentchanges-all' => 'Ĉiuj lastatempaj ŝanĝoj', 'wminc-prefinfo-language' => 'Via interfaca lingvo - sendepende de via prova vikio', 'wminc-prefinfo-code' => 'La lingvo kodo ISO 639', + 'wminc-prefinfo-project' => 'Elektu la Wikimedia-projekton (Kovejo elekto estas por uzantoj kiuj faras ĝeneralan laboron)', 'wminc-prefinfo-error' => 'Vi elektis projekton kiu bezonas lingvan kodon.', + 'wminc-error-move-unprefixed' => 'Eraro: La paĝo kiun vi provas aliri [[{{MediaWiki:Helppage}}|estas senprefiksa aŭ havas malĝustan prefikson]]!', + 'wminc-error-wronglangcode' => "'''Eraro:''' Ĉi tiu paĝo enhavas [[{{MediaWiki:Helppage}}|malĝustan lingvokodon]] \"\$1\"!", + 'wminc-error-unprefixed' => "'''Eraro:''' Ĉi tiu paĝo estas [[{{MediaWiki:Helppage}}|senprefiksa]]!", + 'wminc-error-unprefixed-suggest' => "'''Eraro:''' Ĉi tiu paĝo estas [[{{MediaWiki:Helppage}}|senprefiksa]]! Vi povas krei paĝon ĉe [[:$1]].", + 'wminc-error-wiki-exists' => 'Ĉi tiu vikio jam ekzistas. Vi povas trovi ĉi tiun paĝon en $1. Se la vikio estis lastatempe kreita, bonvolu atendi kelkajn horojn aŭ tagojn ĝis ĉiuj datenoj estas importitaj.', + 'wminc-error-wiki-sister' => 'Ĉi tiu paĝo apartenas projekton ne gastigata ĉi tie. Bonvolu iri al $1 por trovi la vikio.', 'randombytest' => 'Hazarda paĝo de testvikio', 'randombytest-nopages' => 'Mankas paĝoj en via testvikio en la nomspaco: $1.', 'wminc-viewuserlang' => 'Trarigardi uzulan lingvon kaj testi vikion', @@ -660,11 +707,19 @@ 'wminc-userdoesnotexist' => 'La uzanto "$1" ne ekzistas.', 'wminc-ip' => '"$1" estas IP-adreso.', 'right-viewuserlang' => 'Vidi uzulan lingvon kaj testvikion', + 'group-test-sysop' => 'Administrantoj de la test vikio', + 'group-test-sysop-member' => 'administranto de la testa vikio', + 'grouppage-test-sysop' => 'Project:Test wiki - Administrantoj de la testa vikio', + 'wminc-code-macrolanguage' => 'La [[wikipedia:$2 lingvo|lingvo "$3"]] estas [[wikipedia:ISO 639 makrolingvo|makrolingvo]], enhavanta la jenajn membraj lingvoj:', + 'wminc-code-collective' => 'La lingvo-kodo "$1" ne referencas specifan lingvo, sed aro da lingvoj, ĉefe la [[wikipedia:$2 language|"$3" lingvoj]].', + 'wminc-code-retired' => 'Ĉi tiu lingvo-kodo estis ŝanĝita kaj ne plu referencas la originalan lingvon.', + 'wminc-listusers-testwiki' => 'Vi rigardas uzantojn kiu agordas vikian preferon al $1.', ); /** Spanish (Español) * @author Antur * @author Crazymadlover + * @author Drini * @author Fitoschido * @author Translationista */ @@ -679,17 +734,27 @@ 'wminc-prefinfo-code' => 'El código de idioma ISO 639', 'wminc-prefinfo-project' => 'Seleccione el proyecto de Wikimedia (la opción Incubator es para usuarios que hacen el trabajo general)', 'wminc-prefinfo-error' => 'Seleccionaste un proyecto que necesita un código de lenguaje.', + 'wminc-error-move-unprefixed' => 'Error: La página que estás intentando trasladar a [[{{MediaWiki:Helppage}}|tiene el prefijo equivocado o carece del mismo]].', + 'wminc-error-wronglangcode' => "'''Error:''' Esta página contiene un [[{{MediaWiki:Helppage}}|código de idioma equivocado]], \"\$1\".", + 'wminc-error-unprefixed' => "'''Error:''' Esta página [[{{MediaWiki:Helppage}}|carece de prefijo]].", + 'wminc-error-unprefixed-suggest' => "'''Error:''' Esta página [[{{MediaWiki:Helppage}}|carece de prefijo]]. Puedes crearla en [[:$1]].", + 'wminc-error-wiki-exists' => 'Esta wiki ya existe, puedes encontrarla en $1. Si la wiki es de reciente creación, por favor espera un par de días hasta que todo el contenido sea importado.', + 'wminc-error-wiki-sister' => 'Esta página pertenece a un proyecto que no está hospedado aquí. Por favor acuda a $1 para encontrar la wiki.', 'randombytest' => 'Página aleatoria para probar wiki', 'randombytest-nopages' => 'No hay páginas en su wiki de prueba, en el espacio de nombres: $1.', 'wminc-viewuserlang' => 'Ver lenguaje de usuario y wiki de prueba', 'wminc-viewuserlang-user' => 'Nombre de usuario:', 'wminc-viewuserlang-go' => 'Ir', 'wminc-userdoesnotexist' => 'El usuario «$1» no existe.', + 'wminc-ip' => '"$1" es una dirección IP.', 'right-viewuserlang' => 'Ver idioma de usuario y prueba wiki', 'group-test-sysop' => 'Administradores de wiki de prueba', 'group-test-sysop-member' => 'administrador de wiki de prueba', 'grouppage-test-sysop' => 'Project:Administradores de wiki de pruebas', 'wminc-code-macrolanguage' => 'El [[wikipedia:$2 language|$3]] es una [[wikipedia:es:Macrolengua|macrolengua]], que se compone de los siguientes idiomas:', + 'wminc-code-collective' => 'El código "$1" no se refiere a un idioma específico sino a una colección de idiomas, específicamente los [[wikipedia:$2 language|idiomas "$3"]].', + 'wminc-code-retired' => 'Este código de idioma ha cambiado o ya no se refiere al idioma original.', + 'wminc-listusers-testwiki' => 'Estás mirando la lista de usuarios que han seleccionado su opción de wiki de pruebas a $1.', ); /** Estonian (Eesti) @@ -864,12 +929,19 @@ 'wminc-manual' => 'Manuâl', 'wminc-listwikis' => 'Lista des vouiquis', 'wminc-testwiki' => 'Vouiqui d’èprôva :', + 'wminc-testwiki-code' => 'Lengoua du vouiqui d’èprôva :', 'wminc-testwiki-none' => 'Nion / tôs', 'wminc-recentchanges-all' => 'Tôs los dèrriérs changements', 'wminc-prefinfo-language' => 'Voutra lengoua d’entèrface - endèpendenta de cela de voutron vouiqui d’èprôva', 'wminc-prefinfo-code' => 'Lo code ISO 639 de la lengoua', 'wminc-prefinfo-project' => 'Chouèsésséd lo projèt Wikimedia (lo chouèx Covosa est dèstinâ ux utilisators que font un travâly g·ènèral)', 'wminc-prefinfo-error' => 'Vos éd chouèsi un projèt qu’at fôta d’un code lengoua.', + 'wminc-error-move-unprefixed' => 'Èrror : la pâge de vers laquinta vos tâchiéd de renomar [[{{MediaWiki:Helppage}}|at gins de prèfixo ou ben at un prèfixo fôx]] !', + 'wminc-error-wronglangcode' => "'''Èrror :''' cela pâge contint un [[{{MediaWiki:Helppage}}|code lengoua fôx]] « $1 » !", + 'wminc-error-unprefixed' => "'''Èrror :''' cela pâge at [[{{MediaWiki:Helppage}}|gins de prèfixo]] !", + 'wminc-error-unprefixed-suggest' => "'''Èrror :''' cela pâge at [[{{MediaWiki:Helppage}}|gins de prèfixo]] ! Vos pouede fâre una pâge dessus [[:$1]].", + 'wminc-error-wiki-exists' => 'Cél vouiqui ègziste ja. Vos pouede trovar ceta pâge dessus $1. Se lo vouiqui at étâ fêt dèrriérement, volyéd atendre doux-três hores ou ben jorns por que tot lo contegnu seye importâ.', + 'wminc-error-wiki-sister' => 'Cela pâge est a un projèt qu’est pas hèbèrgiê ique. Grant-marci d’alar en $1 por trovar lo vouiqui.', 'randombytest' => 'Pâge a l’hasârd per lo vouiqui d’èprôva', 'randombytest-nopages' => 'Voutron vouiqui d’èprôva contint gins de pâge dens l’èspâço de noms : $1.', 'wminc-viewuserlang' => 'Vêre la lengoua a l’utilisator et lo vouiqui d’èprôva', @@ -881,7 +953,10 @@ 'group-test-sysop' => 'Administrators du vouiqui d’èprôva', 'group-test-sysop-member' => 'Administrator du vouiqui d’èprôva', 'grouppage-test-sysop' => 'Project:Administrators du vouiqui d’èprôva', + 'wminc-code-macrolanguage' => 'La [[wikipedia:$2 language|lengoua « $3 »]] est una [[wikipedia:fr:macro-langue|macro-lengoua]], composâ de cetes lengoues :', + 'wminc-code-collective' => 'Lo code « $1 » regârde pas una lengoua spècefica, mas una colèccion de lengoues, en particuliér les [[wikipedia:$2 language|lengoues « $3 »]].', 'wminc-code-retired' => 'Ceti code lengoua at étâ changiê et fât pas més refèrence a la lengoua d’origina.', + 'wminc-listusers-testwiki' => 'Vos éte aprés vêre los utilisators qu’ont betâs lor prèference de vouiqui d’èprôva a $1.', ); /** Galician (Galego) @@ -892,6 +967,7 @@ 'wminc-manual' => 'Manual', 'wminc-listwikis' => 'Lista dos wikis', 'wminc-testwiki' => 'Wiki de probas:', + 'wminc-testwiki-code' => 'Lingua do wiki de probas:', 'wminc-testwiki-none' => 'Ningún/Todos', 'wminc-recentchanges-all' => 'Todos os cambios recentes', 'wminc-prefinfo-language' => 'A súa lingua da interface (independente do seu wiki de probas)', @@ -919,6 +995,8 @@ 'wminc-code-collective' => 'O código "$1" non se refire a unha lingua específica, senón a un conxunto de linguas, en particular, as [[wikipedia:$2 language|linguas "$3"]].', 'wminc-code-retired' => 'Este código de lingua cambiou e xa non se refire á lingua orixinal.', 'wminc-listusers-testwiki' => 'Está ollando os usuarios que estableceron as súas preferencias do wiki de probas en $1.', + 'wminc-search-nocreate-nopref' => 'Fixo unha procura de "$1". Defina as súas [[Special:Preferences|preferencias do wiki de probas]] de xeito que poidamos dicirlle a páxina que pode crear!', + 'wminc-search-nocreate-suggest' => 'Fixo unha procura de "$1". Pode crear unha páxina no wiki en "<b>[[$2]]</b>"!', ); /** Ancient Greek (Ἀρχαία ἑλληνικὴ) @@ -978,6 +1056,7 @@ 'wminc-manual' => 'ספר הוראות', 'wminc-listwikis' => 'רשימת אתרי ויקי', 'wminc-testwiki' => 'אתר ויקי ניסיוני:', + 'wminc-testwiki-code' => 'שפת ויקי הבדיקה:', 'wminc-testwiki-none' => 'הכול/לא כלום', 'wminc-recentchanges-all' => 'כל השינויים האחרונים', 'wminc-prefinfo-language' => 'שפת הממשק שלכם – בלתי תלויה באתר הוויקי הניסיוני שלכם', @@ -1005,6 +1084,8 @@ 'wminc-code-collective' => 'הקוד "$1" לא מתייחס לשפה מסוימת, אלא לאוסף שפות, [[wikipedia:$2 language|"$3"]].', 'wminc-code-retired' => 'קוד השפה הזה השתנה וכבר אינו מתייחס לשפה המקורית.', 'wminc-listusers-testwiki' => 'זוהי רשימת משתמשים שבחרו ב־$1 בתור ויקי הבדיקה שלהם.', + 'wminc-search-nocreate-nopref' => 'חיפשתם "$1". אנא הגדירו את [[Special:Preferences|העדפות ויקי הבדיקות שלכם]] כדי שנוכל לומר לכם איזה דף אתם יכולים ליצור!', + 'wminc-search-nocreate-suggest' => 'חיפשתם "$1". אפשר ליצור דף בוויקי שלכם ב־<b>[[$2]]</b>!', ); /** Hiligaynon (Ilonggo) @@ -1101,6 +1182,7 @@ 'wminc-manual' => 'Manual', 'wminc-listwikis' => 'Lista de wikis', 'wminc-testwiki' => 'Wiki de test:', + 'wminc-testwiki-code' => 'Lingua del wiki de test:', 'wminc-testwiki-none' => 'Nulle/Totes', 'wminc-recentchanges-all' => 'Tote le modificationes recente', 'wminc-prefinfo-language' => 'Le lingua de tu interfacie - independente de tu wiki de test', @@ -1119,6 +1201,7 @@ 'wminc-viewuserlang-user' => 'Nomine de usator:', 'wminc-viewuserlang-go' => 'Ir', 'wminc-userdoesnotexist' => 'Le usator "$1" non existe.', + 'wminc-ip' => '"$1" es un adresse IP.', 'right-viewuserlang' => 'Vider le lingua e wiki de test de usatores', 'group-test-sysop' => 'Administratores del wiki de test', 'group-test-sysop-member' => 'administrator del wiki de test', @@ -1126,6 +1209,9 @@ 'wminc-code-macrolanguage' => 'Le [[wikipedia:$2 language|lingua "$3"]] es un [[wikipedia:ISO 639 macrolanguage|macrolingua]] que se compone del sequente linguas membros:', 'wminc-code-collective' => 'Le codice "$1" non refere a un lingua specific, ma a un collection de linguas, a saper le [[wikipedia:$2 language|linguas "$3"]].', 'wminc-code-retired' => 'Iste codice de lingua ha essite cambiate e non plus refere al lingua original.', + 'wminc-listusers-testwiki' => 'Tu vide le usatores que ha mittite lor preferentias de wiki de test a $1.', + 'wminc-search-nocreate-nopref' => 'Tu cercava "$1". Per favor specifica tu [[Special:Preferences|preferentias de wiki de test]] de sorta que nos pote dicer te le pagina que tu pote crear!', + 'wminc-search-nocreate-suggest' => 'Tu cercava "$1". Tu pote crear un pagina in tu wiki a <b>[[$2]]</b>!', ); /** Indonesian (Bahasa Indonesia) @@ -1359,6 +1445,7 @@ 'wminc-manual' => 'Handbuch', 'wminc-listwikis' => 'Lëscht vun de Wikien', 'wminc-testwiki' => 'Test-Wiki:', + 'wminc-testwiki-code' => 'Sprooch vun der Testwiki:', 'wminc-testwiki-none' => 'Keen/All', 'wminc-recentchanges-all' => 'All rezent Ännerungen', 'wminc-prefinfo-language' => 'Sprooch vun ärem Interface - onofhängeg vun Ärer Test-Wiki', @@ -1374,6 +1461,8 @@ 'wminc-userdoesnotexist' => "De Benotzer ''$1'' gëtt et net.", 'wminc-ip' => '"$1" ass eng IP-Adress.', 'right-viewuserlang' => 'Benotzersprooch an Test-Wiki weisen', + 'group-test-sysop' => 'Adminstrateure vun der Testwiki', + 'group-test-sysop-member' => 'Adminstrateur vun der Testwiki', 'wminc-code-retired' => "Dëse Sproochcode gouf geännert a bezitt sech net méi op d'Original-Sprooch.", ); @@ -1421,7 +1510,7 @@ 'group-test-sysop-member' => 'bandyti wiki administratorių', 'grouppage-test-sysop' => 'Projektas: Test wiki administrators', 'wminc-code-retired' => 'Šios kalbos kodas buvo pakeistas ir nebėra nuoroda į originalo kalba.', - 'wminc-listusers-testwiki' => 'Jūs matote naudotojams, kurie nustatė bandymo Wiki pirmenybę [[ $1 ]].', + 'wminc-listusers-testwiki' => 'Jūs matote naudotojams, kurie nustatė bandymo Wiki pirmenybę $1.', ); /** Latvian (Latviešu) @@ -1464,13 +1553,14 @@ * @author Bjankuloski06 */ $messages['mk'] = array( - 'wminc-desc' => 'Тестирање на вики-систем за Викимедија Инкубаторот', + 'wminc-desc' => 'Пробен вики-систем за Викимедииниот Инкубатор', 'wminc-manual' => 'Прирачник', 'wminc-listwikis' => 'Список на викија', - 'wminc-testwiki' => 'Тест-вики:', + 'wminc-testwiki' => 'Пробно вики:', + 'wminc-testwiki-code' => 'Јазик на пробното вики:', 'wminc-testwiki-none' => 'Ништо/Сè', 'wminc-recentchanges-all' => 'Сите скорешни промени', - 'wminc-prefinfo-language' => 'Јазикот на вашиот посредник - назависно од вашето тест-вики', + 'wminc-prefinfo-language' => 'Јазикот на вашиот посредник - назависно од вашето пробно вики', 'wminc-prefinfo-code' => 'Јазичниот ISO 639 код', 'wminc-prefinfo-project' => 'Изберете го проектот (можноста за Инкубатор е за корисници кои работат општи задачи)', 'wminc-prefinfo-error' => 'Избравте проект на кој му треба јазичен код.', @@ -1480,9 +1570,9 @@ 'wminc-error-unprefixed-suggest' => "'''Грешка:''' Страницава [[{{MediaWiki:Helppage}}|нема префикс]]! Можете да создадете страница на [[:$1]].", 'wminc-error-wiki-exists' => 'Ова вики веќе постои. Страницата ќе ја најдете на $1. Ако в икито е новосоздадено, почекајте неколку часа или дена за да се увезат сите содржини.', 'wminc-error-wiki-sister' => 'Оваа страница припаѓа на проект што не е вдомен тука. Појдете на $1 за да го пронајдете викито.', - 'randombytest' => 'Случајна страница од тест вики', + 'randombytest' => 'Случајна страница од пробното вики', 'randombytest-nopages' => 'Не постојат страници на вашето пробно вики, во именскиот простор: $1.', - 'wminc-viewuserlang' => 'Провери го јазикот на корисникот и неговото тест-вики', + 'wminc-viewuserlang' => 'Провери го јазикот на корисникот и неговото пробно вики', 'wminc-viewuserlang-user' => 'Корисничко име:', 'wminc-viewuserlang-go' => 'Оди', 'wminc-userdoesnotexist' => 'Корисникот „$1“ не постои.', @@ -1495,6 +1585,8 @@ 'wminc-code-collective' => 'Кодот „$1“ не се однесува на поединечен јазик, туку на збирот јазици наречен [[wikipedia:$2 language|„$3“ јазици]].', 'wminc-code-retired' => 'Овој јазичен код е изменет и повеќе не се однесува на првоназначениот јазик.', 'wminc-listusers-testwiki' => 'Гледате корисници кои пробното вики го наместиле на $1.', + 'wminc-search-nocreate-nopref' => 'Го баравте поимот „$1“. Задајте го [[Special:Preferences|нагодувањето на пробното вики]] за да ви соопштиме која страница можете да ја создадете!', + 'wminc-search-nocreate-suggest' => 'Го баравте поимот „$1“. Можете да создадете страница во вашето вики на <b>[[$2]]</b>!', ); /** Malayalam (മലയാളം) @@ -1553,6 +1645,7 @@ 'wminc-manual' => 'Manual', 'wminc-listwikis' => 'Senarai wiki', 'wminc-testwiki' => 'Wiki ujian:', + 'wminc-testwiki-code' => 'Bahasa wiki ujian:', 'wminc-testwiki-none' => 'Tiada/Semua', 'wminc-recentchanges-all' => 'Semua perubahan terkini', 'wminc-prefinfo-language' => 'Bahasa antaramuka anda - bebas dari wiki ujian anda', @@ -1580,6 +1673,8 @@ 'wminc-code-collective' => 'Kod "$1" tidak merujuk kepada satu bahasa yang tertentu, sebaliknya merujuk kepada koleksi bahasa, iaitu [[wikipedia:$2 language|rumpun bahasa "$3"]].', 'wminc-code-retired' => 'Kod bahasa ini sudah berubah dan tidak lagi merujuk kepada bahasa asal.', 'wminc-listusers-testwiki' => 'Anda sedang melihat pengguna-pengguna yang menetapkan keutamaan wiki ujian mereka kepada $1.', + 'wminc-search-nocreate-nopref' => 'Anda mencari "$1". Sila tetapkan [[Special:Preferences|keutamaan wiki ujian]] anda supaya kami boleh memberitahu anda laman yang mana boleh anda buat!', + 'wminc-search-nocreate-suggest' => 'Anda mencari "$1". Anda boleh membuat laman dalam wiki anda di <b>[[$2]]</b>!', ); /** Maltese (Malti) @@ -1614,6 +1709,7 @@ ); /** Dutch (Nederlands) + * @author McDutchie * @author SPQRobin * @author Siebrand */ @@ -1622,6 +1718,7 @@ 'wminc-manual' => 'Handleiding', 'wminc-listwikis' => "Lijst met wiki's", 'wminc-testwiki' => 'Testwiki:', + 'wminc-testwiki-code' => 'Testwikitaal:', 'wminc-testwiki-none' => 'Geen/alles', 'wminc-recentchanges-all' => 'Alle recente wijzigingen', 'wminc-prefinfo-language' => 'Uw interfacetaal - onafhankelijk van uw testwiki', @@ -1648,7 +1745,9 @@ 'wminc-code-macrolanguage' => 'De [[wikipedia:$2 language|taal "$3"]] is een [[wikipedia:nl:Macrotaal|macrotaal]], die bestaat uit de volgende talen:', 'wminc-code-collective' => 'De code "$1" verwijst niet naar een specifieke taal, maar naar een verzameling talen, namelijk de [[wikipedia:$2 language|"$3" talen.]]', 'wminc-code-retired' => 'Deze taalcode is gewijzigd en verwijst niet meer naar de oorspronkelijke taal.', - 'wminc-listusers-testwiki' => 'U bekijkt gebruikers die hun testwiki-instelling naar $1 hebben gezet.', + 'wminc-listusers-testwiki' => 'U bekijkt gebruikers die hun testwiki-instelling op $1 hebben gezet.', + 'wminc-search-nocreate-nopref' => 'U hebt gezocht naar "$1". Stel uw [[Special:Preferences|testwikivoorkeur]] in zodat we u kunnen aangeven welke pagina u kunt aanmaken.', + 'wminc-search-nocreate-suggest' => 'U hebt gezocht naar "$1". U kunt een pagina in uw testwiki aanmaken op <b>[[$2]]</b>.', ); /** Norwegian Nynorsk (Norsk (nynorsk)) @@ -1748,6 +1847,7 @@ 'wminc-viewuserlang-user' => 'Nazwa użytkownika', 'wminc-viewuserlang-go' => 'Pokaż', 'wminc-userdoesnotexist' => 'Użytkownik „$1” nie istnieje.', + 'wminc-ip' => '„$1“ to adres IP.', 'right-viewuserlang' => 'Podgląd języka użytkownika oraz testowej wiki', 'group-test-sysop' => 'Administratorzy testowej wiki', 'group-test-sysop-member' => 'administrator testowej wiki', @@ -1755,26 +1855,45 @@ 'wminc-code-macrolanguage' => '[[Wikipedia:$2 language|Język $3]] jest [[wikipedia:ISO 639 macrolanguage|makrojęzykiem]], zawierającym następujące warianty języka:', 'wminc-code-collective' => 'Kod „$1“ nie odnosi się do jednego języka, a do kolekcji języków – [[wikipedia:$2 language|$3]].', 'wminc-code-retired' => 'Ten kod języka został zmieniony i nie odnosi się do wcześniej przypisanego mu języka.', + 'wminc-listusers-testwiki' => 'Przeglądasz użytkowników, którzy ustawili w swoich preferencjach testową wiki na $1.', ); /** Piedmontese (Piemontèis) + * @author Borichèt * @author Dragonòt */ $messages['pms'] = array( 'wminc-desc' => 'Preuva ël sistema ëd wiki për Wikimedia Incubator', + 'wminc-manual' => 'Manual', + 'wminc-listwikis' => 'Lista ëd wiki', 'wminc-testwiki' => 'Preuva wiki:', 'wminc-testwiki-none' => 'Gnun/Tùit', + 'wminc-recentchanges-all' => "Tute j'ùltime modìfiche", 'wminc-prefinfo-language' => "Toa lenga d'antërfacia - andipendenta da toa wiki ëd preuva", 'wminc-prefinfo-code' => 'Ël còdes ISO 639 dla lenga', 'wminc-prefinfo-project' => "Selession-a ël proget Wikimedia (l'opsion Incubator a l'é për utent che a fan travaj general)", 'wminc-prefinfo-error' => "It l'has selessionà un proget che a l'ha dbzògn d'un còdes ëd lenga.", + 'wminc-error-move-unprefixed' => "Eror: La pàgina ch'a l'ha provà a tramudé a [[{{MediaWiki:Helppage}}|a l'ha pa 'd prefiss o a l'ha un prefiss cioch]]!", + 'wminc-error-wronglangcode' => "'''Eror:''' Costa pàgina a conten un [[{{MediaWiki:Helppage}}|còdes ëd lenga cioch]] «$1»!", + 'wminc-error-unprefixed' => "'''Eror:''' Costa pagina a l'ha [[{{MediaWiki:Helppage}}|pa 'd prefiss]]!", + 'wminc-error-unprefixed-suggest' => "'''Eror:''' Costa pàgina a l'ha [[{{MediaWiki:Helppage}}|pa 'd prefiss]]! A peul creé na pàgina a [[:$1]].", + 'wminc-error-wiki-exists' => "Sta wiki a esist già. A peul trové sa pàgina su $1. Se la wiki a l'é stàita creà da pòch, për piasì ch'a speta chèich ore o di fin a che ël contnù a sia amportà.", + 'wminc-error-wiki-sister' => "Costa pàgina a aparten a un proget ch'a l'é pa ospità ambelessì. Për piasì, ch'a va a $1 për trové la wiki.", 'randombytest' => 'Pàgina a cas da wiki ëd preuva', 'randombytest-nopages' => 'A-i son pa ëd pàgine ant toa wiki ëd preuva, ant lë spassi nominal: $1:', 'wminc-viewuserlang' => "varda la lenga dl'utent e preuva la wiki", 'wminc-viewuserlang-user' => 'Nòm utent:', 'wminc-viewuserlang-go' => 'Va', 'wminc-userdoesnotexist' => 'L\'utent "$1" a esist pa.', + 'wminc-ip' => '"$1" a l\'é n\'adrëssa IP.', 'right-viewuserlang' => "Visualisa lenga dl'utent e wiki ëd preuva", + 'group-test-sysop' => 'Aministrator ëd la wiki ëd preuva', + 'group-test-sysop-member' => 'aministrator ëd la wiki ëd preuva', + 'grouppage-test-sysop' => 'Project:Aministrator ëd la wiki ëd preuva', + 'wminc-code-macrolanguage' => "La [[wikipedia:$2 language|lenga «$3»]] a l'é na [[wikipedia:ISO 639 macrolenga|macrolenga]], ch'a consist ëd le lenghe sì-dapress:", + 'wminc-code-collective' => 'Ël còdes «$1» as riferiss pa a na lenga spessìfica, ma a na colession ëd lenghe, visadì le [[wikipedia:$2 language|lenghe «$3»]].', + 'wminc-code-retired' => "Cost còdes ëd lenga a l'é stàit cangià e as arferiss pa pi a la lenga originaria.", + 'wminc-listusers-testwiki' => "A l'é an camin ch'a vëd j'utent ch'a l'han ampostà ij sò gust ëd wiki ëd preuva a $1.", ); /** Pontic (Ποντιακά) @@ -1788,6 +1907,7 @@ * @author Ahmed-Najib-Biabani-Ibrahimkhel */ $messages['ps'] = array( + 'wminc-listwikis' => 'د ويکي ګانو لړليک', 'wminc-testwiki' => 'د آزمېښت ويکي:', 'wminc-testwiki-none' => 'هېڅ/ټول', 'wminc-viewuserlang-user' => 'کارن-نوم:', @@ -1798,6 +1918,8 @@ * @author Hamilton Abreu * @author Lijealso * @author Malafaya + * @author MetalBrasil + * @author SandroHc * @author Waldir */ $messages['pt'] = array( @@ -1805,6 +1927,7 @@ 'wminc-manual' => 'Manual', 'wminc-listwikis' => 'Lista de wikis', 'wminc-testwiki' => 'Wiki de testes:', + 'wminc-testwiki-code' => 'Língua da wiki de teste:', 'wminc-testwiki-none' => 'Nenhum/Tudo', 'wminc-recentchanges-all' => 'Todas as mudanças recentes', 'wminc-prefinfo-language' => 'A língua da interface - independente da língua da sua wiki de testes', @@ -1816,12 +1939,14 @@ 'wminc-error-unprefixed' => "'''Erro:''' Esta página [[{{MediaWiki:Helppage}}|não tem prefixo]]!", 'wminc-error-unprefixed-suggest' => "'''Erro:''' Esta página [[{{MediaWiki:Helppage}}|não tem prefixo]]! Pode criar uma página em [[:$1]].", 'wminc-error-wiki-exists' => 'Esta wiki já existe. Encontra esta página em $1. Se a wiki foi criada recentemente, aguarde algumas horas ou dias até que todo o conteúdo tenha sido importado.', + 'wminc-error-wiki-sister' => 'Esta página pertence a um projeto que não é hospedado aqui. Por favor, encaminhe-se para $1 para achar a wiki.', 'randombytest' => 'Página aleatória da wiki de testes', 'randombytest-nopages' => 'Não há páginas na sua wiki de testes, no espaço nominal: $1.', 'wminc-viewuserlang' => 'Procurar a língua do utilizador e a wiki de testes', 'wminc-viewuserlang-user' => 'Nome de utilizador:', 'wminc-viewuserlang-go' => 'Prosseguir', 'wminc-userdoesnotexist' => 'O utilizador "$1" não existe.', + 'wminc-ip' => '"$1" é um endereço de IP.', 'right-viewuserlang' => 'Ver língua do utilizador e wiki de testes', 'group-test-sysop' => 'Administradores da wiki de testes', 'group-test-sysop-member' => 'administrador da wiki de testes', @@ -1829,6 +1954,9 @@ 'wminc-code-macrolanguage' => 'A [[wikipedia:$2 language|língua "$3"]] é uma [[wikipedia:ISO 639 macrolanguage|macrolíngua]], composta pelas seguintes línguas:', 'wminc-code-collective' => 'O código "$1" não se refere a uma língua específica, mas sim a um conjunto de línguas, nomeadamente as [[wikipedia:$2 language|línguas "$3"]].', 'wminc-code-retired' => 'O código de língua foi alterado e já não se refere à língua original.', + 'wminc-listusers-testwiki' => 'Você está a visualizar os usuários que tem suas preferências de test wiki a $1.', + 'wminc-search-nocreate-nopref' => 'Tu procuras-te "$1". Por favor, coloca a tua [[Special:Preferences|preferência de wiki de testes]] para nós podermos dizer-te que página podes criar!', + 'wminc-search-nocreate-suggest' => 'Tu procuras-te "$1". Podes criar uma página na tua wiki em <b>[[$2]]</b>!', ); /** Brazilian Portuguese (Português do Brasil) @@ -1875,6 +2003,7 @@ * @author Emily * @author Firilacroco * @author KlaudiuMihaila + * @author Minisarm */ $messages['ro'] = array( 'wminc-desc' => 'Sistemul wiki de testare pentru Wikimedia Incubator', @@ -1900,10 +2029,11 @@ 'wminc-viewuserlang-go' => 'Du-te', 'wminc-userdoesnotexist' => 'Utilizatorul „$1” nu există.', 'wminc-ip' => '„$1” este o adresă IP.', - 'right-viewuserlang' => 'Vizualizează limba utilizatorului și wikia test', + 'right-viewuserlang' => 'Vizualizează limba utilizatorului și testează wikiul', 'group-test-sysop' => 'Administratori wiki de încercare', 'group-test-sysop-member' => 'administrator wiki de încercare', 'grouppage-test-sysop' => 'Project:Administratori wiki de încercare', + 'wminc-code-macrolanguage' => '[[wikipedia:$2 language|Limba „$3”]] este o [[wikipedia:ro:ISO 639 macrolimbă|macrolimbă]], incluzând următoarele limbi:', ); /** Tarandíne (Tarandíne) @@ -1911,19 +2041,28 @@ */ $messages['roa-tara'] = array( 'wminc-desc' => 'Test pu sisteme Uicchi pe UicchiMedia Incubatore', + 'wminc-manual' => 'Manuale', + 'wminc-listwikis' => 'Elenghe de le Uicchi', 'wminc-testwiki' => 'Test de Uicchi:', 'wminc-testwiki-none' => 'Nisciune/Tutte', + 'wminc-recentchanges-all' => "Tutte l'urteme cangiaminde", 'wminc-prefinfo-language' => "L'inderfacce indipendende de lènghe da 'u teste tue de Uicchi", 'wminc-prefinfo-code' => "'U codece ISO 639 d'a lènghe", 'wminc-prefinfo-project' => "Scacchie 'u proggette UicchiMedia (opzione Incubatore jè pe l'utinde ca fanne 'na fatìe generale)", 'wminc-prefinfo-error' => "Tu è scacchiate 'nu proggette ca abbesogne de 'nu codece de lènghe.", + 'wminc-error-unprefixed' => "'''Errore:''' Sta pàgene jè [[{{MediaWiki:Helppage}}|senza prefisse]]!", + 'wminc-error-unprefixed-suggest' => "'''Errore:''' Sta pàgene jè [[{{MediaWiki:Helppage}}|senza prefisse]]! Tu puè ccreja 'na pàgene a [[:$1]].", 'randombytest' => 'Pàgene a uecchie pe testà Uicchi', 'randombytest-nopages' => "Non ge stonne pàggene jndr'à Uicchi de test, jndr'à 'u namespace: $1.", 'wminc-viewuserlang' => "Combronde 'mbrà 'a lènghe de l'utende e 'u teste de Uicchi", 'wminc-viewuserlang-user' => "Nome de l'utende:", 'wminc-viewuserlang-go' => 'Veje', 'wminc-userdoesnotexist' => 'L\'utende "$1" non g\'esiste.', + 'wminc-ip' => '"$1" jè \'n\'indirizze IP.', 'right-viewuserlang' => "Vide 'a lènghe de l'utende e teste Uicchi", + 'group-test-sysop' => 'Test amministrature de uicchi', + 'group-test-sysop-member' => 'test amministrature de uicchi', + 'grouppage-test-sysop' => 'Project:Test amministrature de uicchi', ); /** Russian (Русский) @@ -1940,6 +2079,7 @@ 'wminc-manual' => 'Руководство', 'wminc-listwikis' => 'список наших проектов', 'wminc-testwiki' => 'Пробная вики:', + 'wminc-testwiki-code' => 'Язык проверочной вики:', 'wminc-testwiki-none' => 'Нет/все', 'wminc-recentchanges-all' => 'Все недавние правки', 'wminc-prefinfo-language' => 'Ваш язык интерфейса не зависит от вашей пробной вики', @@ -1967,6 +2107,8 @@ 'wminc-code-collective' => 'Код «$1» относится не к конкретному языку, а к группе из нескольких языков, под общим названием [[wikipedia:$2 language|«$3»]].', 'wminc-code-retired' => 'Этот код языка был изменён и больше не ссылается на определённый язык.', 'wminc-listusers-testwiki' => 'Вы просматриваете участников, которые установили в настройку тестовой вики $1.', + 'wminc-search-nocreate-nopref' => 'Вы искали «$1». Пожалуйста, задайте свои [[Special:Preferences|персональные настройки тестовой вики]], чтобы мы могли подсказать вам, какие страницы вы можете создавать!', + 'wminc-search-nocreate-suggest' => 'Вы искали «$1». Вы можете создать в своей вики страницу <b>[[$2]]</b>!', ); /** Rusyn (Русиньскый) @@ -1974,18 +2116,36 @@ */ $messages['rue'] = array( 'wminc-desc' => 'Тестова вікі про Інкубатор Вікімедіа', + 'wminc-manual' => 'Інштрукція', + 'wminc-listwikis' => 'Список вікіпроєктів', 'wminc-testwiki' => 'Вікі про тестованя:', 'wminc-testwiki-none' => 'Ніч/Вшытко', + 'wminc-recentchanges-all' => 'Вшыткы послїднї зміны', 'wminc-prefinfo-language' => 'Ваш язык інтерфейсу не залежыть од языка тестовой вікі', 'wminc-prefinfo-code' => 'Языковый код ISO 639', 'wminc-prefinfo-project' => 'Выбрати проєкт Вікімедія (варіант Інкубатор про тых, што ся занимають общов роботов)', 'wminc-prefinfo-error' => 'Выбрали сьте проєкт, котрый потребує код языка.', + 'wminc-error-move-unprefixed' => 'Хыба: Сторінка на яку пробуєте переменовати на [[{{MediaWiki:Helppage}}|не мать префікс або мать планый префікс]]!', + 'wminc-error-wronglangcode' => "'''Хыба:''' Тота сторінка обсягує [[{{MediaWiki:Helppage}}|неплатный код языка]] \"\$1\"!", + 'wminc-error-unprefixed' => "''Хыва:''' Тота сторінка [[{{MediaWiki:Helppage}}|не обсягує префіксы]]!", + 'wminc-error-unprefixed-suggest' => "'''Хыба:''' Тота сторінка [[{{MediaWiki:Helppage}}|не обсягує префікс]]! Можете створити сторінку [[:$1]].", + 'wminc-error-wiki-exists' => 'Тота вікі уж екзістує. Тоту сторінку можете найти на $1. Кідь тота вікі была недавно створена, просиме почекайте пару годин або днїв докы цалый обсяг є імпортованый.', + 'wminc-error-wiki-sister' => 'Тота сторінка належыть до проєкту, котрый не є гостованый ту. Просиме, ідьте до $1, жебы сьте тоту вікі нашли.', 'randombytest' => 'Нагодна сторінка з тестовой вікі', 'randombytest-nopages' => 'Во вашій тестовій вікі немає сторінок у просторі мен $1.', 'wminc-viewuserlang' => 'Выглядати язык тай тестову вікі хоснователя', 'wminc-viewuserlang-user' => 'Мено хоснователя:', 'wminc-viewuserlang-go' => 'Перейти', + 'wminc-userdoesnotexist' => 'Хоснователь "$1" не єствує.', + 'wminc-ip' => '"$1" не є IP-адреса.', 'right-viewuserlang' => 'Відїти языковы наставлиня хоснователя і його тестову вікі', + 'group-test-sysop' => 'Адміністраторы тестовой вікі', + 'group-test-sysop-member' => 'Адміністратор тестовой вікі', + 'grouppage-test-sysop' => 'Project:Адміністраторытестовой вікі', + 'wminc-code-macrolanguage' => '[[wikipedia:$2 language|"$3" язык]] є [[wikipedia:ISO 639 macrolanguage|макроязыком]], што ся складать з наступных языків:', + 'wminc-code-collective' => 'Код "$1" ся не односить до конкретного языка, але до дакількох здруженых під назвов [[wikipedia:$2 language|"$3"]].', + 'wminc-code-retired' => 'Тот код языка быв зміненый і веце не реферує на конкретный язык', + 'wminc-listusers-testwiki' => 'Перезерате хоснователїв, котры наставили їх тест вікі наставлїня на $1.', ); /** Sanskrit (संस्कृत) */ @@ -2083,6 +2243,7 @@ 'wminc-manual' => 'Priročnik', 'wminc-listwikis' => 'Seznam wikijev', 'wminc-testwiki' => 'Preizkusni wiki:', + 'wminc-testwiki-code' => 'Jezik preizkusnega wikija:', 'wminc-testwiki-none' => 'Nič/Vse', 'wminc-recentchanges-all' => 'Vse zadnje spremembe', 'wminc-prefinfo-language' => 'Vaš jezik vmesnika – neodvisen od vašega preizkusnega wikija', @@ -2110,6 +2271,8 @@ 'wminc-code-collective' => 'Koda »$1« se ne nanaša na določen jezik, ampak na skupino jezikov, in sicer [[wikipedia:$2 language|jeziki »$3«]].', 'wminc-code-retired' => 'Koda jezika je spremenjena in se več ne nanaša na izvirni jezik.', 'wminc-listusers-testwiki' => 'Ogledujete si uporabnike, ki so nastavili svojo nastavitev preizkusnega wikija na $1.', + 'wminc-search-nocreate-nopref' => 'Iskali ste »$1«. Prosimo, nastavite svoje [[Special:Preferences|nastavitve preizkusnega wikija]], tako da vam lahko povemo, katere strani lahko ustvarite!', + 'wminc-search-nocreate-suggest' => 'Iskali ste »$1«. Ustvarite lahko stran v vašem wikiju na <b>[[$2]]</b>!', ); /** Albanian (Shqip) */ @@ -2117,12 +2280,12 @@ 'wminc-listwikis' => 'Lista e projekteve', ); -/** Serbian Cyrillic ekavian (Српски (ћирилица)) +/** Serbian (Cyrillic script) (Српски (ћирилица)) * @author Rancher * @author Михајло Анђелковић */ $messages['sr-ec'] = array( - 'wminc-testwiki' => 'Тест-Вики:', + 'wminc-testwiki' => 'Пробни вики:', 'wminc-testwiki-none' => 'Ништа/Све', 'wminc-viewuserlang-user' => 'Корисничко име:', 'wminc-viewuserlang-go' => 'Пређи', @@ -2154,9 +2317,12 @@ * @author Najami * @author Ozp * @author Poxnar + * @author WikiPhoenix */ $messages['sv'] = array( 'wminc-desc' => 'Testwikisystem för Wikimedia Incubator', + 'wminc-manual' => 'Manuell', + 'wminc-listwikis' => 'Lista över wikier', 'wminc-testwiki' => 'Testwiki:', 'wminc-testwiki-none' => 'Ingen/Alla', 'wminc-recentchanges-all' => 'Alla de senaste ändringarna', @@ -2164,13 +2330,27 @@ 'wminc-prefinfo-code' => 'ISO 639-språkkoden', 'wminc-prefinfo-project' => 'Välj Wikimediaprojekt (alternativet Incubator för användare som gör allmänt arbete)', 'wminc-prefinfo-error' => 'Du valde ett projekt som kräver en språkkod.', + 'wminc-error-move-unprefixed' => 'Fel: Sidan du försöker flytta [[{{MediaWiki:Helppage}}|är oprefigerad eller har ett felaktigt prefix]]!', + 'wminc-error-wronglangcode' => "'''Fel:''' Denna sida innehåller ett [[{{MediaWiki:Helppage}}|felaktig språkkod]] \"\$1\"!", + 'wminc-error-unprefixed' => "'''Fel:''' Denna sida är [[{{MediaWiki:Helppage}}|oprefigerad]]!", + 'wminc-error-unprefixed-suggest' => "'''Fel:''' Denna sida är [[{{MediaWiki:Helppage}}|oprefigerad]]! Du kan skapa en sida på [[:$1]].", + 'wminc-error-wiki-exists' => 'Denna wiki finns redan. Du hittar denna sida på $1. Om wikin har nyligen skapats, vänta några timmar eller dagar tills allt innehåll har importerats.', + 'wminc-error-wiki-sister' => 'Denna sida tillhör ett projekt som inte finns här. Gå till $1 att hitta wikin.', 'randombytest' => 'Slumpvis sida från testwiki', 'randombytest-nopages' => 'Det finns inga sidor i din textwiki, i namnrymden: $1.', 'wminc-viewuserlang' => 'Kolla upp användarspråk och testwiki', 'wminc-viewuserlang-user' => 'Användarnamn:', 'wminc-viewuserlang-go' => 'Gå till', 'wminc-userdoesnotexist' => 'Användaren "$1" finns inte.', + 'wminc-ip' => '"$1" är en IP-adress.', 'right-viewuserlang' => 'Visa användarspråk och testwiki', + 'group-test-sysop' => 'Testwiki-administratörer', + 'group-test-sysop-member' => 'testwiki-administratör', + 'grouppage-test-sysop' => 'Project:Testwiki-administratörer', + 'wminc-code-macrolanguage' => '[[wikipedia:$2 language|Språket "$3"]] är en [[wikipedia:ISO 639 macrolanguage|makrospråk]], som består av följande medlemsspråk:', + 'wminc-code-collective' => 'Koden "$1" refererar inte till ett visst språk, utan en samling av språk, nämligen [[wikipedia:$2 language|"$3"-språken]].', + 'wminc-code-retired' => 'Denna språkkod har ändrats och hänvisar inte längre till det ursprungliga språket.', + 'wminc-listusers-testwiki' => 'Du visar användare som har ställt in sina testwiki-inställningar på $1.', ); /** Silesian (Ślůnski) @@ -2338,12 +2518,19 @@ 'wminc-manual' => 'Інструкція', 'wminc-listwikis' => 'Перелік вікіпроектів', 'wminc-testwiki' => 'Тестова вікі:', + 'wminc-testwiki-code' => 'Мова тестової вікі:', 'wminc-testwiki-none' => 'Жодна або всі', 'wminc-recentchanges-all' => 'Усі останні зміни', 'wminc-prefinfo-language' => 'Мова інтерфейсу (залежить від мови тестової вікі)', 'wminc-prefinfo-code' => 'Код мови згідно з ISO 639', 'wminc-prefinfo-project' => 'Оберіть проект Вікімедіа (варіант Інкубатор для тих, хто займається загальними питаннями)', 'wminc-prefinfo-error' => 'Ви обрали проект, для якого необхідно вказати код мови.', + 'wminc-error-move-unprefixed' => 'Помилка: Сторінка на яку ви намагаєтеся перейти [[{{MediaWiki:Helppage}}|немає префікса або він помилковий]]!', + 'wminc-error-wronglangcode' => "'''Помилка:''' Ця сторінка містить [[{{MediaWiki:Helppage}}|невірний код мови]] \"\$1\"!", + 'wminc-error-unprefixed' => "''Помилка:''' Ця сторінка [[{{MediaWiki:Helppage}}|не містить префіксів]]!", + 'wminc-error-unprefixed-suggest' => "'''Помилка:''' Ця сторінка [[{{MediaWiki:Helppage}}|не містить префікса]]! Ви можете створити сторінку [[:$1]].", + 'wminc-error-wiki-exists' => 'Ця вікі вже існує. Ви можете знайти цю сторінку на $1. Якщо вікі було створено недавно, будь ласка, зачекайте кілька годин чи днів, поки весь вміст імпортується.', + 'wminc-error-wiki-sister' => 'Ця сторінка належить до проекту, який не розміщено тут. Будь ласка, перейдіть на $1, щоб знайти цей вікіпроект.', 'randombytest' => 'Випадкова сторінка тестової вікі', 'randombytest-nopages' => 'У вашій тестовій вікі немає сторінок у просторі імен $1.', 'wminc-viewuserlang' => 'Проглянути мову й тестову вікі користувача', @@ -2356,8 +2543,11 @@ 'group-test-sysop-member' => 'Адміністратор тестової вікі', 'grouppage-test-sysop' => 'Project:Адміністратори тестової вікі', 'wminc-code-macrolanguage' => '[[wikipedia:$2 language|"$3" мова]] є [[wikipedia:ISO 639 macrolanguage|макромовою]], що складається з наступних мов:', + 'wminc-code-collective' => 'Код "$1" відноситься не до конкретної мови, а до декількох, об\'єднаних під загальною назвою [[wikipedia:$2 language|"$3"]].', 'wminc-code-retired' => 'Цей код мови було змінено, код більше не посилається на конкретну мову.', 'wminc-listusers-testwiki' => 'Ви переглядаєте користувачів, які встановили налаштування тестової вікі $1.', + 'wminc-search-nocreate-nopref' => 'Ви шукали "$1". Будь ласка, задайте власні [[Special:Preferences|налаштування тестової вікі]], аби ми могли підказати, які сторінки ви можете створити!', + 'wminc-search-nocreate-suggest' => 'Ви шукали "$1". Можете створити сторінку <b>[[$2]]</b>!', ); /** Veps (Vepsan kel') @@ -2381,6 +2571,7 @@ 'wminc-manual' => 'Hướng dẫn', 'wminc-listwikis' => 'Danh sách các wiki', 'wminc-testwiki' => 'Wiki thử:', + 'wminc-testwiki-code' => 'Ngôn ngữ wiki thử nghiệm:', 'wminc-testwiki-none' => 'Không có / tất cả', 'wminc-recentchanges-all' => 'Mọi thay đổi gần đây', 'wminc-prefinfo-language' => 'Ngôn ngữ giao diện của bạn – có thể khác với wiki thử', @@ -2408,6 +2599,8 @@ 'wminc-code-collective' => 'Mã “$1” không phải chỉ đến một ngôn ngữ riêng mà chỉ đến nhóm ngôn ngữ [[wikipedia:$2 language|tiếng “$3”]].', 'wminc-code-retired' => 'Mã ngôn ngữ này đã thay đổi và không còn chỉ đến ngôn ngữ ban đầu.', 'wminc-listusers-testwiki' => 'Đây là danh sách những thành viên đã đặt tùy chọn wiki thử nghiệm là $1.', + 'wminc-search-nocreate-nopref' => 'Bạn đã tìm kiếm cho “$1”. Xin vui lòng đặt [[Special:Preferences|tùy chọn wiki thử nghiệm]] để cho chúng tôi có thể cho biết bạn có thể tạo ra trang mới ở đâu!', + 'wminc-search-nocreate-suggest' => "Bạn đã tìm kiếm cho “$1”. Bạn có thể tạo ra trang mới trong wiki thử nghiệm của bạn tại “'''[[$2]]'''”!", ); /** Yiddish (ייִדיש) @@ -2435,6 +2628,7 @@ ); /** Simplified Chinese (中文(简体)) + * @author Anakmalaysia * @author Hydra * @author Jimmy xu wrk * @author Liangent @@ -2458,12 +2652,14 @@ 'wminc-error-unprefixed' => "'''错误''':该页面[[{{MediaWiki:Helppage}}|无法前缀]]!", 'wminc-error-unprefixed-suggest' => "'''错误''':该页面[[{{MediaWiki:Helppage}}|无法前缀]]!您可以在[[:$1]]创建页面。", 'wminc-error-wiki-exists' => '该wiki已经存在。您可以在$1找到该页面。如果该wiki是近期创建的,请耐心等待数小时至数日,以便所有内容都被导入。', + 'wminc-error-wiki-sister' => '此页面是属于不在此处托管的项目,请转到$1找到该维基项目。', 'randombytest' => '测试维基随机页面', 'randombytest-nopages' => '您的测试wiki的名字空间$1中没有页面。', 'wminc-viewuserlang' => '查看用户语言与测试维基', 'wminc-viewuserlang-user' => '用户名:', 'wminc-viewuserlang-go' => '提交', 'wminc-userdoesnotexist' => '用户 "$1" 并不存在。', + 'wminc-ip' => '" $1 "是一个IP地址。', 'right-viewuserlang' => '请查看用户语言与测试维基', 'group-test-sysop' => '测试wiki管理员', 'group-test-sysop-member' => '测试wiki管理员', @@ -2471,9 +2667,11 @@ 'wminc-code-macrolanguage' => '[[wikipedia:$2 language|$3]]是[[wikipedia:ISO 639 macrolanguage|宏语言]]之一,由以下成员语言组成:', 'wminc-code-collective' => '代码“$1”并不是一种语言,而是一系列语言的集合,即[[wikipedia:$2 language|$3语言]]。', 'wminc-code-retired' => '该语言代码已更改,并且不再指向原来的语言。', + 'wminc-listusers-testwiki' => '您正在查看将测试维基首选项设置为$1的用户。', ); /** Traditional Chinese (中文(繁體)) + * @author Anakmalaysia * @author Horacewai2 * @author Liangent * @author Mark85296341 @@ -2483,17 +2681,35 @@ */ $messages['zh-hant'] = array( 'wminc-desc' => '維基孵育場的測試 wiki 系統', + 'wminc-manual' => '手冊', + 'wminc-listwikis' => '維基名單', 'wminc-testwiki' => '測試 wiki:', 'wminc-testwiki-none' => '無/所有', + 'wminc-recentchanges-all' => '所有最近的更改', 'wminc-prefinfo-language' => '您的介面語言 - 在您的測試 wiki 中為獨立的', 'wminc-prefinfo-code' => 'ISO 639 語言代碼', 'wminc-prefinfo-project' => '選擇維基媒體計劃 (孵育場選項用作一般用途)', 'wminc-prefinfo-error' => '您已選擇一個需要語言代碼的計畫。', + 'wminc-error-move-unprefixed' => '錯誤:您想要移動頁面到的目的地[[{{MediaWiki:Helppage}}|沒有前綴或有錯誤的前綴]]!', + 'wminc-error-wronglangcode' => "'''錯誤''':此頁面包含了[[{{MediaWiki:Helppage}}|錯誤的語言代碼]]「$1」!", + 'wminc-error-unprefixed' => "'''錯誤''':此頁面[[{{MediaWiki:Helppage}}|沒有前綴]]!", + 'wminc-error-unprefixed-suggest' => "'''錯誤''':此頁面[[{{MediaWiki:Helppage}}|沒有前綴]]!您可以在[[:$1]]創建頁面。", + 'wminc-error-wiki-exists' => '這項維基項目已存在,就在$1找到該頁面。如果該維基項目是近期創建的,請耐心等待數小時至數天,以便所有內容都被導入。', + 'wminc-error-wiki-sister' => '此頁面是屬於不在此處託管的項目,請轉到$1找到該維基項目。', 'randombytest' => '測試維基上的隨機頁面', 'randombytest-nopages' => '在你的測試網頁的 $1 名字空間中,沒有頁面。', 'wminc-viewuserlang' => '檢視使用者語言與測試 wiki', 'wminc-viewuserlang-user' => '使用者名稱:', 'wminc-viewuserlang-go' => '轉到', + 'wminc-userdoesnotexist' => '用戶「$1」不存在。', + 'wminc-ip' => '「$1」是一個IP地址。', 'right-viewuserlang' => '檢視使用者語言和測試 wiki', + 'group-test-sysop' => '測試維基管理員', + 'group-test-sysop-member' => '測試維基管理員', + 'grouppage-test-sysop' => 'Project:測試維基管理員', + 'wminc-code-macrolanguage' => '[[wikipedia:$2 language|$3]]是[[wikipedia:ISO 639 macrolanguage|宏語言]]之一,由以下成員語言組成:', + 'wminc-code-collective' => '代碼「$1」並不指一種語言,而指一系列語言的集合,即[[wikipedia:$2 language|$3語言]]。', + 'wminc-code-retired' => '此語言代碼已更改,並且不再指向原來的語言。', + 'wminc-listusers-testwiki' => '您正在查看將測試維基首選項設置為$1的用戶。', ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ... [truncated message content] |
From: <ro...@us...> - 2011-09-23 23:02:19
|
Revision: 43 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=43&view=rev Author: robin-p Date: 2011-09-23 23:02:13 +0000 (Fri, 23 Sep 2011) Log Message: ----------- Some work on a IncubatorFirstSteps Modified Paths: -------------- trunk/WikimediaIncubator.dev-i18n.php trunk/WikimediaIncubator.php Added Paths: ----------- trunk/SpecialIncubatorFirstSteps.php Added: trunk/SpecialIncubatorFirstSteps.php =================================================================== --- trunk/SpecialIncubatorFirstSteps.php (rev 0) +++ trunk/SpecialIncubatorFirstSteps.php 2011-09-23 23:02:13 UTC (rev 43) @@ -0,0 +1,134 @@ +<?php +/** + * Makes Special:IncubatorFirstSteps to guide users through + * the process of starting a new wiki. + * + * Based on code of the Translate extension. + * + * @file + * @author Niklas Laxström + * @author Robin Pepermans + * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later + * @ingroup SpecialPage + */ +/* +- testwiki instellen +- hoofdpagina aanmaken indien nodig +- gebruikerspagina aanmaken + +Notes/fixmes: +- copy local css to incubator once live +- "conflict" with NewUserMessage +- clarify what they have to enter in the "code" field + +*/ +class SpecialIncubatorFirstSteps extends UnlistedSpecialPage { + + public function __construct() { + parent::__construct( 'IncubatorFirstSteps' ); + } + + public function execute( $params ) { + $this->out = $this->getOutput(); + + $this->out->addWikiMsg( 'wminc-fs-intro' ); + $step = false; + + $step = $this->showLanguageSelector( $step ); + $step = $this->showSignup( $step ); + $step = $this->showTestwikiSetting( $step ); + + $title = wfMsg( 'wminc-fs-pagetitle', wfMsg( $step ) ); + $this->out->setPageTitle( htmlspecialchars( $title ) ); + } + + protected function showHeader( $msg, $opaque = true, $done = false ) { + $attrs = array(); + if( $opaque ) { + $attrs['style'] = 'opacity: 0.4;'; + } + $content = wfMessage( $msg )->plain(); + if( $done ) { + $content .= wfMessage( 'wminc-fs-pagetitle-done' )->plain(); + } + return $this->out->addHtml( Html::rawElement( 'h3', $attrs, $content ) ); + } + + protected function showLanguageSelector( $step ) { + $step_msg = 'wminc-fs-langselect-title'; + $getLangCodes = wfMessage( 'wminc-fs-langselect-langs' )->inContentLanguage(); + + if ( $step ) { + $this->showHeader( $step_msg, true, false ); + return $step; + } elseif ( $this->getRequest()->getVal( 'uselang' ) + || $this->getUser()->isLoggedIn() || $getLangCodes->isBlank() ) { + $this->showHeader( $step_msg, true, true ); + return $step; + } + $this->showHeader( $step_msg, false, false ); + + # Make a list of selectable languages, based on codes in a MediaWiki message + $getLangCodes = explode( ',', $getLangCodes ); + $names = Language::getLanguageNames(); + foreach( $getLangCodes as $code ) { + $code = trim( $code ); + if( !isset( $names[$code] ) ) { + continue; # language code not recognised + } + $showLanguages[] = Linker::linkKnown( $this->getTitle(), + $names[$code], array(), array( 'uselang' => $code ) ); + } + + # Link to proceed with the default language (mostly English) + global $wgContLang; + $contLangCode = $wgContLang->getCode(); + $contLangLink = Linker::linkKnown( $this->getTitle(), + $names[$contLangCode], array(), array( 'uselang' => $contLangCode ) ); + + # Show list + $this->out->addHtml( wfMessage( 'wminc-fs-langselect', + $contLangLink, $this->getLang()->pipeList( $showLanguages ) )->plain() ); + + return $step_msg; + } + + protected function showSignup( $step ) { + $step_msg = 'wminc-fs-signup-title'; + if ( $step ) { + $this->showHeader( $step_msg, true, false ); + return $step; + } elseif( $this->getUser()->isLoggedIn() ) { + $this->showHeader( $step_msg, true, true ); + return $step; + } + $this->showHeader( $step_msg, false, false ); + + # Login / create account links + $link = SpecialPage::getTitleFor( 'Userlogin' ); + $query = array( 'returnto' => $this->getTitle(), 'uselang' => $this->getRequest()->getVal( 'uselang' ) ); + $login = $link->getFullUrl( $query ); + $signup = $link->getFullUrl( $query + array( 'type' => 'signup' ) ); + + $this->out->addWikiMsg( 'wminc-fs-signup-text', $login, $signup ); + + return $step_msg; + } + + protected function showTestwikiSetting( $step ) { + $step_msg = 'wminc-fs-settings-title'; + if ( $step ) { + $this->showHeader( $step_msg, true, false ); + return $step; + } elseif( IncubatorTest::validatePrefix( IncubatorTest::displayPrefix() ) + || $this->getRequest()->getText( 'step' ) === 'settings' ) { + $this->showHeader( $step_msg, true, true ); + return $step; + } + $this->showHeader( $step_msg, false, false ); + + $this->out->addWikiMsg( 'wminc-fs-settings-text' ); + + return $step_msg; + } +} Property changes on: trunk/SpecialIncubatorFirstSteps.php ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/WikimediaIncubator.dev-i18n.php =================================================================== --- trunk/WikimediaIncubator.dev-i18n.php 2011-09-12 01:46:53 UTC (rev 42) +++ trunk/WikimediaIncubator.dev-i18n.php 2011-09-23 23:02:13 UTC (rev 43) @@ -41,6 +41,18 @@ 'wminc-export-title' => 'Export pages from within a prefix', 'wminc-export-prefix' => 'Prefix:', 'wminc-export-go' => 'Go', + + 'wminc-fs-pagetitle' => 'Getting started wizard - $1', + 'wminc-fs-langselect-title' => 'Select language', + 'wminc-fs-signup-title' => 'Sign up', + 'wminc-fs-settings-title' => 'Set your wiki preference', + 'wminc-fs-pagetitle-done' => ' - done!', + 'wminc-fs-intro' => "Welcome to the {{SITENAME}} first steps wizard. You will be guided through the process of starting a new wiki.", + 'wminc-fs-langselect' => 'Proceed in $1 or $2', # optional + 'wminc-fs-langselect-langs' => 'ar,de,eo,fr,es,id,it,ja,nl,pl,pt-br,ru,tr,zh', # do not translate + 'wminc-fs-signup-text' => 'If you already have a user account, please [$1 log in]. If you do not have one yet, please [$2 create a user account]. +It is not required but strongly recommended and only takes a few seconds to create.', + 'wminc-fs-settings-text' => 'Please now go to [[Special:Preferences|your preferences]] and change your test wiki setting to the project and language you want to contribute to.', ); /** Nederlands (Dutch) Modified: trunk/WikimediaIncubator.php =================================================================== --- trunk/WikimediaIncubator.php 2011-09-12 01:46:53 UTC (rev 42) +++ trunk/WikimediaIncubator.php 2011-09-23 23:02:13 UTC (rev 43) @@ -199,3 +199,7 @@ /* AddPrefix gadget to extension */ # EXPERIMENTAL # $wgHooks['ArticleSave'][] = 'IncubatorTest::onArticleSave'; + +/* IncubatorFirstSteps */ # UNDER DEVELOPMENT +$wgAutoloadClasses['SpecialIncubatorFirstSteps'] = $dir . 'SpecialIncubatorFirstSteps.php'; +$wgSpecialPages['IncubatorFirstSteps'] = 'SpecialIncubatorFirstSteps'; \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-09-12 01:47:00
|
Revision: 42 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=42&view=rev Author: robin-p Date: 2011-09-12 01:46:53 +0000 (Mon, 12 Sep 2011) Log Message: ----------- Search improved and added to MW SVN Modified Paths: -------------- trunk/IncubatorTest.php trunk/WikimediaIncubator.php Modified: trunk/IncubatorTest.php =================================================================== --- trunk/IncubatorTest.php 2011-09-09 19:10:54 UTC (rev 41) +++ trunk/IncubatorTest.php 2011-09-12 01:46:53 UTC (rev 42) @@ -35,7 +35,7 @@ $prefinsert[$wmincPref . '-code'] = array( 'type' => 'text', 'section' => 'personal/i18n', - 'label-message' => 'wminc-testwiki', + 'label-message' => 'wminc-testwiki-code', 'id' => $wmincPref . '-code', 'maxlength' => (int)$wmincLangCodeLength, 'size' => (int)$wmincLangCodeLength, @@ -700,6 +700,62 @@ return true; } + /** + * Search: Adapt the default message to show a more descriptive one, + * along with an adapted link. + * @return true + */ + public static function onSpecialSearchCreateLink( $title, &$params ) { + if( $title->isKnown() ) { + return true; + } + global $wmincProjectSite, $wmincTestWikiNamespaces; + $prefix = self::displayPrefix(); + + $newNs = $title->getNamespace(); + $newTitle = $title->getText(); + if( $prefix == $wmincProjectSite['short'] ) { + $newNs = NS_PROJECT; + } else { + if( !in_array( $title->getNamespace(), $wmincTestWikiNamespaces ) ) { + $newNs = $wmincTestWikiNamespaces[0]; # no "valid" NS, should be main NS + } + $newTitle = $prefix . '/' . $newTitle; + } + + $t = Title::newFromText( $newTitle, $newNs ); + if( $t->isKnown() ) { + # use the default message if the suggested title exists + $params[0] = 'searchmenu-exists'; + $params[1] = wfEscapeWikiText( $t->getPrefixedText() ); + return true; + } + $params[] = wfEscapeWikiText( $t->getPrefixedText() ); + $params[0] = $prefix ? 'wminc-search-nocreate-suggest' :'wminc-search-nocreate-nopref'; + return true; + } + + /** + * Search: Add an input form to enter a test wiki prefix. + * @return true + */ + public static function onSpecialSearchPowerBox( &$showSections, $term, $opts ) { + $showSections['testwiki'] = Xml::label( wfMsg( 'wminc-testwiki' ), 'testwiki' ) . ' ' . + Xml::input( 'testwiki', 20, self::displayPrefix(), array( 'id' => 'testwiki' ) ); + return true; + } + + /** + * Search: Search by default in the test wiki of the user's preference (or url &testwiki). + * @return true + */ + public static function onSpecialSearchSetupEngine( $search, $profile, $engine ) { + if( !isset( $search->prefix ) || !$search->prefix ) { + $search->prefix = self::displayPrefix(); + } + return true; + } + private static function preg_quote_slash( $str ) { return preg_quote( $str, '/' ); } @@ -756,50 +812,4 @@ preg_replace( '/whoops/', 'de test werkt', $text); return true; } - - /** - * Search: ?? - * @return true - */ - public static function onSpecialSearchNogomatch( &$title ) { - if( !self::validatePrefix( $title->getText() ) ) { - global $wgOut; - # If the title that is searched for it not prefix (most likely), add a prefix - $newtitle = self::displayPrefix() . '/' . $title->getText(); - $title = Title::newFromText( $newtitle, $title->getNamespace() ); - $wgOut->addWikiText( "You can create [[$newtitle]]" ); - } - return true; - } - - /** - * Search: add an input form to enter a test wiki prefix - * @return false - */ - public static function onSpecialSearchProfileForm( $search, &$form, $profile, $term, $opts ) { - /*if( !$search->getSearchEngine()->supports( 'prefix' ) ) { - return true; - }*/ - - $label = Xml::label( wfMsg( 'wminc-testwiki' ), 'testwiki' ); - $input = Xml::input( 'prefix', 20, - $search->prefix, - array( 'id' => 'testwiki' ) ); - - $form .= Xml::fieldset( false, false, array( 'id' => 'mw-searchoptions' ) ) . - $label . ' ' . $input . - Html::closeElement( 'fieldset' ); - return false; - } - - /** - * Search: search by default in the test wiki of the user's preference (or url &testwiki) - * @return true - */ - public static function onSpecialSearchSetupEngine( $search, $profile, $engine ) { - if( !isset( $search->prefix ) || !$search->prefix ) { - $search->prefix = self::displayPrefix(); - } - return true; - } } Modified: trunk/WikimediaIncubator.php =================================================================== --- trunk/WikimediaIncubator.php 2011-09-09 19:10:54 UTC (rev 41) +++ trunk/WikimediaIncubator.php 2011-09-12 01:46:53 UTC (rev 42) @@ -17,7 +17,7 @@ 'path' => __FILE__, 'name' => 'Wikimedia Incubator', 'author' => array( 'SPQRobin', 'Hydriz' ), - 'version' => 'dev, synced to 4.4 in svn', + 'version' => 'dev, synced to 4.5 in svn', 'url' => 'http://www.mediawiki.org/wiki/Extension:WikimediaIncubator', 'descriptionmsg' => 'wminc-desc', ); @@ -153,6 +153,11 @@ $wgHooks['SpecialListusersHeaderForm'][] = 'ListUsersTestWiki::onSpecialListusersHeaderForm'; $wgHooks['SpecialListusersQueryInfo'][] = 'ListUsersTestWiki::onSpecialListusersQueryInfo'; +/* Search in test wiki */ +$wgHooks['SpecialSearchCreateLink'][] = 'IncubatorTest::onSpecialSearchCreateLink'; +$wgHooks['SpecialSearchPowerBox'][] = 'IncubatorTest::onSpecialSearchPowerBox'; +$wgHooks['SpecialSearchSetupEngine'][] = 'IncubatorTest::onSpecialSearchSetupEngine'; + /* ==================== BEGIN OF STUFF IN DEVELOPMENT ================ */ /* Get the big $wmincLanguageCodes array which can be updated through the generateCodeList.php script */ @@ -194,8 +199,3 @@ /* AddPrefix gadget to extension */ # EXPERIMENTAL # $wgHooks['ArticleSave'][] = 'IncubatorTest::onArticleSave'; - -/* Search in test wiki */ # UNDER DEVELOPMENT -$wgHooks['SpecialSearchNogomatch'][] = 'IncubatorTest::onSpecialSearchNogomatch'; -$wgHooks['SpecialSearchProfileForm'][] = 'IncubatorTest::onSpecialSearchProfileForm'; -$wgHooks['SpecialSearchSetupEngine'][] = 'IncubatorTest::onSpecialSearchSetupEngine'; \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-09-09 19:11:01
|
Revision: 41 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=41&view=rev Author: robin-p Date: 2011-09-09 19:10:54 +0000 (Fri, 09 Sep 2011) Log Message: ----------- working a bit on search Modified Paths: -------------- trunk/IncubatorTest.php trunk/InfoPage.php trunk/WikimediaIncubator.php Modified: trunk/IncubatorTest.php =================================================================== --- trunk/IncubatorTest.php 2011-09-03 15:03:21 UTC (rev 40) +++ trunk/IncubatorTest.php 2011-09-09 19:10:54 UTC (rev 41) @@ -492,10 +492,10 @@ wfMsgHtml( 'wminc-error-wiki-sister', $showLink ) . '</div>' ); } elseif( is_callable( 'ISO6393', 'getCodes' ) ) { - $getCodes = ISO6393::getCodes(); - if( !array_key_exists( $prefix2['lang'], $getCodes ) ) { - $wgOut->addHtml( 'INVALID CODE' ); - } + #$getCodes = ISO6393::getCodes(); + #if( !array_key_exists( $prefix2['lang'], $getCodes ) ) { + # $wgOut->addHtml( 'INVALID CODE' ); + #} } elseif ( self::shouldWeShowUnprefixedError( $title ) ) { # Unprefixed pages if( self::isContentProject() ) { @@ -724,23 +724,26 @@ return wfMsg( 'wminc-infopage-error' ); } $infopage = new InfoPage( $wgTitle, $prefix ); - if( $status ) { $infopage->mStatus = $status; } + if( $status ) { $infopage->mSubStatus = $status; } if( $meta ) { $infopage->mMeta = $meta; } if( $mainpage ) { $infopage->mMainPage = $mainpage; } if( $created ) { $infopage->mCreated = $created; } if( $bug ) { $infopage->mBug = $bug; } if( $since ) { $infopage->mSince = $since; } + + $parser->getOutput()->setTitleText( $infopage->mFormatTitle ); # sets <h1> & <title> + if( in_array( $status, array( 'created', 'beforeincubator' ) ) ) { - return array( $infopage->showExistingWiki(), 'isHTML' => true ); + return array( $infopage->showExistingWiki(), 'noparse' => true, 'nowiki' => true, 'isHTML' => true ); } - return array( $infopage->showIncubatingWiki(), 'isHTML' => true ); + return array( $infopage->showIncubatingWiki(), 'noparse' => true, 'nowiki' => true, 'isHTML' => true ); } /** * If we can get this to work perfectly, it can replace the AddPrefix gadget * (I'm not so experienced with regex..) */ - function onArticleSave (&$article, &$user, &$text) { + function onArticleSave( &$article, &$user, &$text ) { $prefixdata = self::analyzePrefix( $article->getTitle() ); /*if( isset( $prefixdata['error'] ) ) { return false; @@ -754,17 +757,33 @@ return true; } + /** + * Search: ?? + * @return true + */ + public static function onSpecialSearchNogomatch( &$title ) { + if( !self::validatePrefix( $title->getText() ) ) { + global $wgOut; + # If the title that is searched for it not prefix (most likely), add a prefix + $newtitle = self::displayPrefix() . '/' . $title->getText(); + $title = Title::newFromText( $newtitle, $title->getNamespace() ); + $wgOut->addWikiText( "You can create [[$newtitle]]" ); + } + return true; + } + + /** + * Search: add an input form to enter a test wiki prefix + * @return false + */ public static function onSpecialSearchProfileForm( $search, &$form, $profile, $term, $opts ) { - /*if( !$search->getSearchEngine()->supports( 'prefix' ) ) { return true; }*/ - $testwiki = self::analyzePrefix( $search->getContext()->getRequest()->getVal( 'prefix' ) ); - $label = Xml::label( wfMsg( 'wminc-testwiki' ), 'testwiki' ); $input = Xml::input( 'prefix', 20, - ( $testwiki['error'] ? null : $testwiki['prefix'] ), + $search->prefix, array( 'id' => 'testwiki' ) ); $form .= Xml::fieldset( false, false, array( 'id' => 'mw-searchoptions' ) ) . @@ -773,10 +792,13 @@ return false; } + /** + * Search: search by default in the test wiki of the user's preference (or url &testwiki) + * @return true + */ public static function onSpecialSearchSetupEngine( $search, $profile, $engine ) { - $testwiki = self::analyzePrefix( $search->getContext()->getRequest()->getVal( 'prefix' ) ); - if ( !$testwiki['error'] ) { - $engine->setFeatureData( 'prefix', $testwiki['prefix'] ); + if( !isset( $search->prefix ) || !$search->prefix ) { + $search->prefix = self::displayPrefix(); } return true; } Modified: trunk/InfoPage.php =================================================================== --- trunk/InfoPage.php 2011-09-03 15:03:21 UTC (rev 40) +++ trunk/InfoPage.php 2011-09-09 19:10:54 UTC (rev 41) @@ -12,6 +12,7 @@ 'existing' showExistingWiki() 'created': This project has been approved by the language committee and is now available at xyz.wikiproject.org. 'beforeincubator': This project was created before Wikimedia Incubator started and is available at xyz.wikiproject.org. + should probably not be used too much * @file * @ingroup Extensions Modified: trunk/WikimediaIncubator.php =================================================================== --- trunk/WikimediaIncubator.php 2011-09-03 15:03:21 UTC (rev 40) +++ trunk/WikimediaIncubator.php 2011-09-09 19:10:54 UTC (rev 41) @@ -196,5 +196,6 @@ # $wgHooks['ArticleSave'][] = 'IncubatorTest::onArticleSave'; /* Search in test wiki */ # UNDER DEVELOPMENT -#$wgHooks['SpecialSearchProfileForm'][] = 'IncubatorTest::onSpecialSearchProfileForm'; -#$wgHooks['SpecialSearchSetupEngine'][] = 'IncubatorTest::onSpecialSearchSetupEngine'; \ No newline at end of file +$wgHooks['SpecialSearchNogomatch'][] = 'IncubatorTest::onSpecialSearchNogomatch'; +$wgHooks['SpecialSearchProfileForm'][] = 'IncubatorTest::onSpecialSearchProfileForm'; +$wgHooks['SpecialSearchSetupEngine'][] = 'IncubatorTest::onSpecialSearchSetupEngine'; \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-09-03 15:03:31
|
Revision: 40 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=40&view=rev Author: robin-p Date: 2011-09-03 15:03:21 +0000 (Sat, 03 Sep 2011) Log Message: ----------- * Update to MW SVN trunk state (4.4), this adds a test wiki option for ListUsers * Requires MW 1.18 * Experimental code for interface to search in a test wiki Modified Paths: -------------- trunk/IncubatorTest.php trunk/InfoPage.css trunk/InfoPage.i18n.php trunk/SpecialRandomByTest.php trunk/SpecialViewUserLang.php trunk/WikimediaIncubator.i18n.php trunk/WikimediaIncubator.php Added Paths: ----------- trunk/ListUsersTestWiki.php Modified: trunk/IncubatorTest.php =================================================================== --- trunk/IncubatorTest.php 2011-08-16 19:10:58 UTC (rev 39) +++ trunk/IncubatorTest.php 2011-09-03 15:03:21 UTC (rev 40) @@ -114,10 +114,10 @@ } } global $wmincProjects, $wmincSisterProjects; - $listProjects = array_map( 'self::preg_quote_slash', array_keys( $wmincProjects ) ); + $listProjects = array_map( array( __CLASS__, 'preg_quote_slash' ), array_keys( $wmincProjects ) ); if( $allowSister && is_array( $wmincSisterProjects ) ) { # join the project codes with those of the sister projects - $listSister = array_map( 'self::preg_quote_slash', array_keys( $wmincSisterProjects ) ); + $listSister = array_map( array( __CLASS__, 'preg_quote_slash' ), array_keys( $wmincSisterProjects ) ); $listProjects = array_merge( $listProjects, $listSister ); } $listProjects = implode( '|', $listProjects ); @@ -283,7 +283,7 @@ global $wmincTestWikiNamespaces, $wmincProjectSite, $wmincPseudoCategoryNSes; $prefixdata = self::analyzePrefix( $title->getText() ); $ns = $title->getNamespace(); - $categories = array_map( 'self::preg_quote_slash', $wmincPseudoCategoryNSes ); + $categories = array_map( array( __CLASS__, 'preg_quote_slash' ), $wmincPseudoCategoryNSes ); if( !$prefixdata['error'] ) { # no error in prefix -> no error to show return false; @@ -379,18 +379,12 @@ /** * This loads language names. Also from CLDR if that extension is found. - * @return Array with language names or empty array + * @return Array with language names */ - static public function getLanguageNames( $code = '' ) { - if ( is_callable( array( 'LanguageNames', 'getNames' ) ) ) { - global $wgLang; - $langcode = ( $code ? $code : $wgLang->getCode() ); - return LanguageNames::getNames( $langcode, - LanguageNames::FALLBACK_NORMAL, - LanguageNames::LIST_MW_AND_CLDR - ); - } - return Language::getLanguageNames( false ); + static public function getLanguageNames( $code = null ) { + global $wgLang; + $langcode = ( $code ? $code : $wgLang->getCode() ); + return Language::getTranslatedLanguageNames( $langcode ); } /** @@ -497,6 +491,11 @@ $wgOut->addHtml( '<div class="wminc-wiki-sister">' . wfMsgHtml( 'wminc-error-wiki-sister', $showLink ) . '</div>' ); + } elseif( is_callable( 'ISO6393', 'getCodes' ) ) { + $getCodes = ISO6393::getCodes(); + if( !array_key_exists( $prefix2['lang'], $getCodes ) ) { + $wgOut->addHtml( 'INVALID CODE' ); + } } elseif ( self::shouldWeShowUnprefixedError( $title ) ) { # Unprefixed pages if( self::isContentProject() ) { @@ -570,6 +569,7 @@ $projectName = strtolower( $wmincProjectDatabases[$projectCode] ); # Imitate analyzePrefix() array :p $prefix = array( 'error' => null, 'lang' => $lang, 'project' => $projectCode ); + $wgConf->loadFullData(); return $wgConf->get( 'wgServer', self::getDB( $prefix ), $projectName, array( 'lang' => str_replace( '_', '-', $lang ), 'site' => $projectName ) @@ -592,7 +592,7 @@ */ public static function onArticleFromTitle( &$title, &$article ) { global $wgRequest, $wgOut; - $prefix = IncubatorTest::analyzePrefix( $title, true ); + $prefix = IncubatorTest::analyzePrefix( $title->getText(), true ); if( $prefix['error'] || $wgRequest->getVal('goto') != 'mainpage' ) { return true; } @@ -753,4 +753,31 @@ preg_replace( '/whoops/', 'de test werkt', $text); return true; } + + public static function onSpecialSearchProfileForm( $search, &$form, $profile, $term, $opts ) { + + /*if( !$search->getSearchEngine()->supports( 'prefix' ) ) { + return true; + }*/ + + $testwiki = self::analyzePrefix( $search->getContext()->getRequest()->getVal( 'prefix' ) ); + + $label = Xml::label( wfMsg( 'wminc-testwiki' ), 'testwiki' ); + $input = Xml::input( 'prefix', 20, + ( $testwiki['error'] ? null : $testwiki['prefix'] ), + array( 'id' => 'testwiki' ) ); + + $form .= Xml::fieldset( false, false, array( 'id' => 'mw-searchoptions' ) ) . + $label . ' ' . $input . + Html::closeElement( 'fieldset' ); + return false; + } + + public static function onSpecialSearchSetupEngine( $search, $profile, $engine ) { + $testwiki = self::analyzePrefix( $search->getContext()->getRequest()->getVal( 'prefix' ) ); + if ( !$testwiki['error'] ) { + $engine->setFeatureData( 'prefix', $testwiki['prefix'] ); + } + return true; + } } Modified: trunk/InfoPage.css =================================================================== --- trunk/InfoPage.css 2011-08-16 19:10:58 UTC (rev 39) +++ trunk/InfoPage.css 2011-09-03 15:03:21 UTC (rev 40) @@ -50,6 +50,6 @@ #ca-nstab-main a { color: black; } -#siteNotice { - border-bottom: 1px solid silver; +span.subpages { + display: none !important; } \ No newline at end of file Modified: trunk/InfoPage.i18n.php =================================================================== --- trunk/InfoPage.i18n.php 2011-08-16 19:10:58 UTC (rev 39) +++ trunk/InfoPage.i18n.php 2011-09-03 15:03:21 UTC (rev 40) @@ -57,12 +57,14 @@ 'wminc-infopage-enter' => 'Text of a link to the Main Page of a test wiki at Incubator.', 'wminc-infopage-welcome' => 'Do not change <tt><nowiki>{{MediaWiki:Aboutpage}}</nowiki></tt>.', 'wminc-infopage-missingwiki-text' => "'''$1''' is a project: Wikipedia/Wiktionary/...", + 'wminc-infopage-option-startsister' => '$2 is a link to either Wikisource or Wikiversity, and $1 is that project name.', 'wminc-infopage-option-languages-existing' => "'''$1''' is the project name (Wikipedia, Wikinews, ...).", 'wminc-infopage-option-sisterprojects-existing' => 'Followed by clickable logos of projects Wikipedia, Wiktionary, Wikibooks, ...', 'wminc-infopage-option-sisterprojects-other' => 'Followed by clickable logos of projects Wikipedia, Wiktionary, Wikibooks, ...', 'wminc-infopage-option-multilingual' => 'Followed by clickable logos of Meta, Commons, Wikispecies and MediaWiki.', 'wminc-infopage-createmainpage' => 'Followed by an input box to enter the translation for "Main Page".', 'wminc-infopage-status-imported' => "'''$1''' is a URL to the closed wiki.", + 'wminc-infopage-status-closedsister' => 'Used for closed Wikisources or Wikiversities. $2 is a link to either project.', 'wminc-infopage-status-created' => "'''$1''' is a URL to the existing wiki.", 'wminc-infopage-status-beforeincubator' => "'''$1''' is a URL to the existing wiki.", ); @@ -122,6 +124,7 @@ 'wminc-infopage-missingwiki-text' => 'Ein $1 in dieser Sprache ist noch nicht vorhanden.', 'wminc-infopage-option-startwiki' => 'Sofern du dieses Wiki starten möchtest, kannst du [{{fullurl:{{FULLPAGENAME}}|action=edit}} die Seite erstellen] und gemäß [[{{MediaWiki:Wminc-manual-url}}|unserer Anleitung]] vorgehen.', + 'wminc-infopage-option-startsister' => 'Sofern du dieses Wiki starten möchtest, geh zu <b>[$2 $1]</b>.', 'wminc-infopage-option-languages-existing' => 'Du kannst auf [http://www.$1.org nach vorhandenen Sprachausgaben von $1] suchen.', 'wminc-infopage-option-sisterprojects-existing' => 'Du kannst nach vorhandenen Projekten in dieser Sprache suchen:', 'wminc-infopage-option-sisterprojects-other' => 'Du kannst nach anderen Projekten in dieser Sprache suchen:', @@ -129,6 +132,7 @@ 'wminc-infopage-createmainpage' => 'Gib das Wort für „Hauptseite“ in dieser Sprache ein:', 'wminc-infopage-contribute' => 'Sofern du diese Sprache beherrschst, bist du herzlich willkommen, mitzumachen!', 'wminc-infopage-status-imported' => 'Dieses Wiki des Incubators wurde von $1 importiert, nachdem es geschlossen wurde.', + 'wminc-infopage-status-closedsister' => 'Diese Subdomain wurde geschlossen. Geh zu <b>$2</b>, um zu diesem Wiki beizutragen.', 'wminc-infopage-status-created' => 'Dieses Projekt wurde vom Sprachkomitee genehmigt und ist nun unter $1 verfügbar..', 'wminc-infopage-status-beforeincubator' => 'Dieses Projekt wurde erstellt, bevor es den Wikimedia Incubator gab und ist unter $1 verfügbar.', ); @@ -140,19 +144,34 @@ $messages['de-formal'] = array( 'wminc-infopage-option-startwiki' => 'Sofern Sie dieses Wiki starten möchten, können Sie [{{fullurl:{{FULLPAGENAME}}|action=edit}} die Seite erstellen] und gemäß [[{{MediaWiki:Wminc-manual-url}}|unserer Anleitung]] vorgehen.', + 'wminc-infopage-option-startsister' => 'Sofern Sie dieses Wiki starten möchten, gehen Sie zu <b>[$2 $1]</b>.', 'wminc-infopage-option-languages-existing' => 'Sie können auf [http://www.$1.org nach vorhandenen Sprachausgaben von $1] suchen.', 'wminc-infopage-option-sisterprojects-existing' => 'Sie können nach vorhandenen Projekten in dieser Sprache suchen:', 'wminc-infopage-option-sisterprojects-other' => 'Sie können nach anderen Projekten in dieser Sprache suchen:', 'wminc-infopage-option-multilingual' => 'Sie können ein mehrsprachiges Wiki aufsuchen:', 'wminc-infopage-createmainpage' => 'Geben Sie das Wort für „Hauptseite“ in dieser Sprache ein:', 'wminc-infopage-contribute' => 'Wenn Sie diese Sprache beherrschen, sind Sie herzlich willkommen, mitzumachen!', + 'wminc-infopage-status-closedsister' => 'Diese Subdomain wurde geschlossen. Gehen Sie zu <b>$2</b>, um zu diesem Wiki beizutragen.', ); /** Spanish (Español) * @author Diotime + * @author Fitoschido */ $messages['es'] = array( + 'wminc-infopage-enter' => 'ir a la página principal', + 'wminc-unknownlang' => '(idioma desconocido con código «$1»)', + 'wminc-infopage-welcome' => 'Bienvenidos a la Incubadora de Wikimedia, un proyecto de la Fundación Wikimedia ([[{{MediaWiki:Aboutpage}}|Acerca de]])', + 'wminc-infopage-missingwiki-text' => 'Un $1 en este idioma todavía no existe.', + 'wminc-infopage-option-startwiki' => 'Si deseas comenzar este wiki, +puedes [{{fullurl:{{FULLPAGENAME}}|action=edit}} crear la página] y seguir [[{{MediaWiki:Wminc-manual-url}}|nuestro manual]].', + 'wminc-infopage-option-multilingual' => 'Puedes ir a un wiki multilingüe:', + 'wminc-infopage-createmainpage' => 'Introduce las palabras «Página principal» en este idioma:', 'wminc-infopage-contribute' => '¡Si entiendes esta lengua, te animamos a contribuir!', + 'wminc-infopage-status-imported' => 'Este wiki de la Incubadora se importó desde $1 después de que el wiki fuera cerrado.', + 'wminc-infopage-status-closedsister' => 'Este subdominio se cerró. Ir a <b>$2</b> para contribuir a este wiki.', + 'wminc-infopage-status-created' => 'Este proyecto ha sido aprobado por el Comité de idiomas y ahora está disponible en $1.', + 'wminc-infopage-status-beforeincubator' => 'Este proyecto fue creado antes de que la Incubadora de Wikimedia incubadora comenzara y está disponible en $1.', ); /** Persian (فارسی) @@ -177,6 +196,7 @@ ); /** French (Français) + * @author Hashar * @author Seb35 */ $messages['fr'] = array( @@ -185,6 +205,7 @@ 'wminc-infopage-welcome' => 'Bienvenue sur l’Incubateur Wikimedia, un projet de la Wikimedia Foundation ([[{{MediaWiki:Aboutpage}}|à propos]])', 'wminc-infopage-missingwiki-text' => '$1 dans cette langue n’existe pas.', 'wminc-infopage-option-startwiki' => 'Si vous voulez démarrer ce wiki, vous pouvez [{{fullurl:{{FULLPAGENAME}}|action=edit}} créer cette page] et suivre [[{{MediaWiki:Wminc-manual-url}}|notre manuel]].', + 'wminc-infopage-option-startsister' => 'Si vous voulez commencer ce wiki, vous pouvez vous rendre sur <b>[$2 $1]</b>.', 'wminc-infopage-option-languages-existing' => 'Vous pouvez chercher des [http://www.$1.org versions linguistiques existantes de $1].', 'wminc-infopage-option-sisterprojects-existing' => 'Vous pouvez chercher des projets existants dans cette langue :', 'wminc-infopage-option-sisterprojects-other' => 'Vous pouvez chercher d’autres projets dans cette langue :', @@ -192,8 +213,9 @@ 'wminc-infopage-createmainpage' => 'Entrez le mot « Page principale » dans votre langue :', 'wminc-infopage-contribute' => 'Si vous parlez cette langue, vous êtes invités à contribuer !', 'wminc-infopage-status-imported' => 'Ce wiki Incubateur a été importé depuis $1 après que le wiki ait été fermé.', + 'wminc-infopage-status-closedsister' => 'Ce sous-domaine a été fermé. Veuillez vous rendre sur <b>$2</b> pour contribuer à ce wiki.', 'wminc-infopage-status-created' => 'Ce projet a été approuvé par le comité linguistique et est maintenant disponible sur $1.', - 'wminc-infopage-status-beforeincubator' => 'Ce projet a été créé après que l’Incubateur Wikimedia ait été lancé et est disponible sur $1.', + 'wminc-infopage-status-beforeincubator' => 'Ce projet a été créé avant que l’Incubateur Wikimedia ait été lancé et est disponible sur $1.', ); /** Franco-Provençal (Arpetan) @@ -233,6 +255,7 @@ 'wminc-infopage-missingwiki-text' => 'Un $1 in iste lingua non existe ancora.', 'wminc-infopage-option-startwiki' => 'Si tu vole comenciar iste wiki, tu pote [{{fullurl:{{FULLPAGENAME}}|action=edit}} crear le pagina] e sequer [[{{MediaWiki:Wminc-manual-url}}|nostre manual]].', + 'wminc-infopage-option-startsister' => 'Si tu vole comenciar iste wiki, tu pote vader a <b>[$2 $1]</b>.', 'wminc-infopage-option-languages-existing' => 'Tu pote cercar [http://www.$1.org existente editiones de lingua de $1].', 'wminc-infopage-option-sisterprojects-existing' => 'Tu pote cercar projectos existente in iste lingua:', 'wminc-infopage-option-sisterprojects-other' => 'Tu pote cercar altere projectos in iste lingua:', @@ -240,6 +263,7 @@ 'wminc-infopage-createmainpage' => 'Entra le parola(s) pro "pagina principal" in iste lingua:', 'wminc-infopage-contribute' => 'Si tu cognosce iste lingua, tu es incoragiate a contribuer!', 'wminc-infopage-status-imported' => 'Iste wiki incubator ha essite importate ex $1 post le clausura del wiki.', + 'wminc-infopage-status-closedsister' => 'Iste subdominio ha essite claudite. Vade a <b>$2</b> pro contribuer a iste wiki.', 'wminc-infopage-status-created' => 'Iste projecto ha essite approbate per le comité linguistic e es ora disponibile a $1.', 'wminc-infopage-status-beforeincubator' => 'Iste projecto ha essite create ante le comenciamento de Wikimedia Incubator e es disponibile a $1.', ); @@ -300,6 +324,7 @@ 'wminc-infopage-missingwiki-text' => 'На овој јазик сè уште не постои $1.', 'wminc-infopage-option-startwiki' => 'Ако сакате да го започнете ова вики, тогаш можете да ја [{{fullurl:{{FULLPAGENAME}}|action=edit}} создадете страницата] и да го проследите [[{{MediaWiki:Wminc-manual-url}}|нашиот прирачник]].', + 'wminc-infopage-option-startsister' => 'Ако сакате да го започнете ова вики, појдете на <b>[$2 $1]</b>.', 'wminc-infopage-option-languages-existing' => 'Можете да ги пребарате [http://www.$1.org постоечките јазични изданија на $1].', 'wminc-infopage-option-sisterprojects-existing' => 'Можете да ги пребарате постоечките проекти на овој јазик:', 'wminc-infopage-option-sisterprojects-other' => 'Можете да пребарате други проекти на овој јазик:', @@ -307,6 +332,7 @@ 'wminc-infopage-createmainpage' => 'Внесете го зборот „Главна страница“ на овој јазик:', 'wminc-infopage-contribute' => 'Ако имате познавања од овој јазик, ви препорачуваме да учествувате!', 'wminc-infopage-status-imported' => 'Ова вики на Инкубаторот е увезено од $1, по затворањето на викито.', + 'wminc-infopage-status-closedsister' => 'Овој поддомен е затворен. Појдете на <b>$2</b> за да учествувате на ова вики.', 'wminc-infopage-status-created' => 'Овој проект е одобрен од јазичната комисија и сега е достапен на $1.', 'wminc-infopage-status-beforeincubator' => 'Овој проект е создаден пред започнувањето на Инкубаторот на Викимедија и е достапен на $1.', ); @@ -321,6 +347,7 @@ 'wminc-infopage-missingwiki-text' => '$1 dalam bahasa ini belum wujud.', 'wminc-infopage-option-startwiki' => 'Jika anda mahu memulakan wiki ini, anda boleh [{{fullurl:{{FULLPAGENAME}}|action=edit}} mencipta lamannya] dan mengikuti [[{{MediaWiki:Wminc-manual-url}}|panduan kami]].', + 'wminc-infopage-option-startsister' => 'Jika anda ingin membuka wiki ini, anda boleh pergi ke <b>[$2 $1]</b>.', 'wminc-infopage-option-languages-existing' => 'Anda boleh mencari [http://www.$1.org edisi-edisi bahasa sedia ada bagi $1].', 'wminc-infopage-option-sisterprojects-existing' => 'Anda boleh mencari projek-projek yang sedia ada dalam bahasa ini:', 'wminc-infopage-option-sisterprojects-other' => 'Anda boleh mencari projek-projek lain dalam bahasa ini:', @@ -328,12 +355,14 @@ 'wminc-infopage-createmainpage' => 'Isikan perkataan "Laman Utama" dalam bahasa ini:', 'wminc-infopage-contribute' => 'Jika anda fasih dalam bahasa ini, anda dialu-alukan untuk menyumbang!', 'wminc-infopage-status-imported' => 'Wiki Incubator ini telah diimport dari $1 setelah wiki itu ditutup.', + 'wminc-infopage-status-closedsister' => 'Subdomain ini ditutup. Pergi ke <b>$2</b> untuk menyumbang kepada wiki ini.', 'wminc-infopage-status-created' => 'Projek ini telah diluluskan oleh jawatankuasa bahasa dan kini boleh didapati di $1.', 'wminc-infopage-status-beforeincubator' => 'Projek ini dibuka sebelum Wikimedia Incubator dimulakan, dan boleh didapati di $1.', ); /** Dutch (Nederlands) * @author SPQRobin + * @author Siebrand */ $messages['nl'] = array( 'wminc-infopage-enter' => 'ga naar de Hoofdpagina', @@ -341,6 +370,7 @@ 'wminc-infopage-welcome' => 'Welkom bij de Wikimedia Incubator, een project van de Wikimedia Foundation ([[{{MediaWiki:Aboutpage}}|Meer info]])', 'wminc-infopage-missingwiki-text' => 'Een $1 in deze taal bestaat nog niet.', 'wminc-infopage-option-startwiki' => 'Als u deze wiki wilt starten, kunt u [{{fullurl:{{FULLPAGENAME}}|action=edit}} de pagina aanmaken] en [[{{MediaWiki:Wminc-manual-url}}|onze handleiding]] volgen.', + 'wminc-infopage-option-startsister' => 'Als u deze wiki wilt starten, kunt u naar <b>[$2 $1]</b> gaan.', 'wminc-infopage-option-languages-existing' => 'U kunt naar [http://www.$1.org bestaande taalversies van $1] zoeken.', 'wminc-infopage-option-sisterprojects-existing' => 'U kunt naar bestaande projecten in deze taal zoeken:', 'wminc-infopage-option-sisterprojects-other' => 'U kunt naar andere projecten in deze taal zoeken:', @@ -348,10 +378,20 @@ 'wminc-infopage-createmainpage' => 'Geef het woord "Hoofdpagina" op in deze taal:', 'wminc-infopage-contribute' => 'Als u deze taal kent, wordt u aangemoedigd om bij te dragen!', 'wminc-infopage-status-imported' => 'Deze Incubator-wiki werd geïmporteerd van $1 nadat die wiki is gesloten.', + 'wminc-infopage-status-closedsister' => 'Dit subdomein is gesloten. Ga naar <b>$2</b> om bij te dragen aan deze wiki.', 'wminc-infopage-status-created' => 'Dit project werd goedgekeurd door het taalcomité en is nu beschikbaar op $1.', 'wminc-infopage-status-beforeincubator' => 'Dit project is gemaakt voordat Wikimedia Incubator begon en is beschikbaar op $1.', ); +/** Polish (Polski) + * @author Sp5uhe + * @author Woytecr + */ +$messages['pl'] = array( + 'wminc-infopage-enter' => 'przejdź do strony głównej', + 'wminc-unknownlang' => '(nieznany język o kodzie „$1“)', +); + /** Portuguese (Português) * @author Carla404 * @author Hamilton Abreu @@ -432,6 +472,7 @@ 'wminc-infopage-welcome' => 'Hoan nghênh bạn đến với Wikimedia Incubator, một dự án của Quỹ Wikimedia ([[{{MediaWiki:Aboutpage}}|Giới thiệu]])', 'wminc-infopage-missingwiki-text' => '$1 chưa có sẵn trong ngôn ngữ này.', 'wminc-infopage-option-startwiki' => 'Nếu bạn muốn bắt đầu xây dựng wiki này, [{{fullurl:{{FULLPAGENAME}}|action=edit}} tạo ra trang này] và thực hiện theo [[{{MediaWiki:Wminc-manual-url}}|sách hướng dẫn của chúng ta]].', + 'wminc-infopage-option-startsister' => 'Để bắt đầu wiki này, hãy ghé vào <b>[$2 $1]</b>.', 'wminc-infopage-option-languages-existing' => 'Bạn có thể tìm kiếm [http://www.$1.org phiên bản ngôn ngữ hiện có của $1].', 'wminc-infopage-option-sisterprojects-existing' => 'Bạn có thể tìm kiếm các dự án hiện có trong ngôn ngữ này:', 'wminc-infopage-option-sisterprojects-other' => 'Bạn có thể tìm kiếm các dự án khác dùng ngôn ngữ này:', @@ -439,6 +480,7 @@ 'wminc-infopage-createmainpage' => 'Nhập từ “Trang Chính” trong ngôn ngữ này:', 'wminc-infopage-contribute' => 'Nếu bạn biết ngôn ngữ này, rất hoan nghênh bạn đóng góp cho nó!', 'wminc-infopage-status-imported' => 'Wiki Incubator này đã được nhập từ $1 sau khi wiki đó bị đóng cửa.', + 'wminc-infopage-status-closedsister' => 'Tên miền phụ này đã bị đóng cửa. Hãy ghé vào <b>$2</b> để đóng góp vào wiki này.', 'wminc-infopage-status-created' => 'Dự án đã được ủy ban ngôn ngữ chấp thuận và hiện có sẵn tại $1.', 'wminc-infopage-status-beforeincubator' => 'Dự án này được tạo trước khi Wikimedia Incubator mở cửa và hiện có sẵn tại $1.', ); Added: trunk/ListUsersTestWiki.php =================================================================== --- trunk/ListUsersTestWiki.php (rev 0) +++ trunk/ListUsersTestWiki.php 2011-09-03 15:03:21 UTC (rev 40) @@ -0,0 +1,70 @@ +<?php + +/** + * Ability to filter list of users based on their test wiki preference + */ +class ListUsersTestWiki { + /** + * If the &testwiki= parameter matches the project site (Incubator), return that + * @return Array or null + */ + static function getProjectInput() { + global $wmincProjectSite, $wgRequest; + $input = strtolower( $wgRequest->getVal( 'testwiki' ) ); + if( $input == strtolower( $wmincProjectSite['name'] ) || $input == strtolower( $wmincProjectSite['short'] ) ) { + return $wmincProjectSite; + } + return; + } + + /** + * Input form + */ + static function onSpecialListusersHeaderForm( $pager, &$out ) { + $testwiki = IncubatorTest::getUrlParam(); + $project = self::getProjectInput(); + $input = $project ? $project['name'] : ( $testwiki ? $testwiki['prefix'] : null ); + $out .= Xml::label( wfMsg( 'wminc-testwiki' ), 'testwiki' ) . ' ' . + Xml::input( 'testwiki', 20, $input, array( 'id' => 'testwiki' ) ) . '<br />'; + return true; + } + + /** + * Show a message that you are viewing a list of users of a certain test wiki + */ + static function onSpecialListusersHeader( $pager, &$out ) { + if( $project = self::getProjectInput() ) { + $out .= wfMsgWikiHtml( 'wminc-listusers-testwiki', '"' . $project['name'] . '"' ); + } elseif( $testwiki = IncubatorTest::getUrlParam() ) { + $link = Linker::linkKnown( Title::newFromText( $testwiki['prefix'] ) ); + $out .= wfMsgWikiHtml( 'wminc-listusers-testwiki', $link ); + } + return true; + } + + /** + * Query + */ + static function onSpecialListusersQueryInfo( $pager, &$query ) { + $testwiki = IncubatorTest::getUrlParam(); + $project = self::getProjectInput(); + if( !$project && !$testwiki ) { + return true; # no input or invalid input + } + global $wmincPref; + $query['tables']['p1'] = 'user_properties'; + $query['join_conds']['p1'] = array( 'JOIN', array( 'user_id=p1.up_user', + 'p1.up_property' => "$wmincPref-project", + 'p1.up_value' => $project ? $project['short'] : $testwiki['project'] + ) ); + if( $project ) { + return true; # project site doesn't need language code = returning + } + $query['tables']['p2'] = 'user_properties'; + $query['join_conds']['p2'] = array( 'JOIN', array( 'user_id=p2.up_user', + 'p2.up_property' => "$wmincPref-code", + 'p2.up_value' => $testwiki['lang'] + ) ); + return true; + } +} Property changes on: trunk/ListUsersTestWiki.php ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/SpecialRandomByTest.php =================================================================== --- trunk/SpecialRandomByTest.php 2011-08-16 19:10:58 UTC (rev 39) +++ trunk/SpecialRandomByTest.php 2011-09-03 15:03:21 UTC (rev 40) @@ -20,12 +20,8 @@ $this->extra[] = 'page_title' . $dbr->buildLike( IncubatorTest::displayPrefix( $project, $lang ) . '/', $dbr->anyString() ); } elseif( $wgUser->getOption($wmincPref . '-project') == $wmincProjectSite['short'] ) { - global $wgVersion; - # only works above MW 1.17 - if( version_compare($wgVersion, '1.17', '>') ) { - # project or help namespace - $this->extra['page_namespace'] = array( 4, 12 ); - } + # project or help namespace + $this->extra['page_namespace'] = array( 4, 12 ); } parent::__construct( 'RandomByTest' ); } Modified: trunk/SpecialViewUserLang.php =================================================================== --- trunk/SpecialViewUserLang.php 2011-08-16 19:10:58 UTC (rev 39) +++ trunk/SpecialViewUserLang.php 2011-09-03 15:03:21 UTC (rev 40) @@ -68,35 +68,38 @@ */ function showInfo( $target ) { global $wgOut, $wmincPref, $wmincProjectSite; + if( User::isIP( $target ) ) { + # show error if it is an IP address + return $wgOut->addHTML( Xml::span( wfMsg( 'wminc-ip', $target ), 'error' ) ); + } $user = User::newFromName( $target ); $name = $user->getName(); $id = $user->getId(); $langNames = Language::getLanguageNames(); $linker = class_exists( 'DummyLinker' ) ? new DummyLinker : new Linker; if ( $user == null || $id == 0 ) { - // show error if a user with that name does not exist - $wgOut->addHTML( Xml::span( wfMsg( 'wminc-userdoesnotexist', $target ), 'error' ) ); + # show error if a user with that name does not exist + return $wgOut->addHTML( Xml::span( wfMsg( 'wminc-userdoesnotexist', $target ), 'error' ) ); + } + $userproject = $user->getOption( $wmincPref . '-project' ); + $userproject = ( $userproject ? $userproject : 'none' ); + $usercode = $user->getOption( $wmincPref . '-code' ); + $prefix = IncubatorTest::displayPrefix( $userproject, $usercode ? $usercode : 'none' ); + if ( IncubatorTest::isContentProject( $userproject ) ) { + $testwiki = $linker->link( Title::newFromText( $prefix ) ); + } elseif ( $prefix == $wmincProjectSite['short'] ) { + $testwiki = htmlspecialchars( $wmincProjectSite['name'] ); } else { - $userproject = $user->getOption( $wmincPref . '-project' ); - $userproject = ( $userproject ? $userproject : 'none' ); - $usercode = $user->getOption( $wmincPref . '-code' ); - $prefix = IncubatorTest::displayPrefix( $userproject, $usercode ); - if ( IncubatorTest::isContentProject( $userproject ) ) { - $testwiki = $linker->link( Title::newFromText( $prefix ) ); - } elseif ( $prefix == $wmincProjectSite['short'] ) { - $testwiki = htmlspecialchars( $wmincProjectSite['name'] ); - } else { - $testwiki = wfMsgHtml( 'wminc-testwiki-none' ); - } - $wgOut->addHtml( - Xml::openElement( 'ul' ) . - '<li>' . wfMsgHtml( 'username' ) . ' ' . - $linker->userLink( $id, $name ) . $linker->userToolLinks( $id, $name, true ) . '</li>' . - '<li>' . wfMsgHtml( 'loginlanguagelabel', $langNames[$user->getOption( 'language' )] . - ' (' . $user->getOption( 'language' ) . ')' ) . '</li>' . - '<li>' . wfMsgHtml( 'wminc-testwiki' ) . ' ' . $testwiki . '</li>' . - Xml::closeElement( 'ul' ) - ); + $testwiki = wfMsgHtml( 'wminc-testwiki-none' ); } + $wgOut->addHtml( + Xml::openElement( 'ul' ) . + '<li>' . wfMsgHtml( 'username' ) . ' ' . + $linker->userLink( $id, $name ) . $linker->userToolLinks( $id, $name, true ) . '</li>' . + '<li>' . wfMsgHtml( 'loginlanguagelabel', $langNames[$user->getOption( 'language' )] . + ' (' . $user->getOption( 'language' ) . ')' ) . '</li>' . + '<li>' . wfMsgHtml( 'wminc-testwiki' ) . ' ' . $testwiki . '</li>' . + Xml::closeElement( 'ul' ) + ); } } Modified: trunk/WikimediaIncubator.i18n.php =================================================================== --- trunk/WikimediaIncubator.i18n.php 2011-08-16 19:10:58 UTC (rev 39) +++ trunk/WikimediaIncubator.i18n.php 2011-09-03 15:03:21 UTC (rev 40) @@ -42,9 +42,10 @@ 'wminc-viewuserlang-user' => 'Username:', 'wminc-viewuserlang-go' => 'Go', 'wminc-userdoesnotexist' => 'The user "$1" does not exist.', + 'wminc-ip' => '"$1" is an IP address.', # User groups - 'right-viewuserlang' => 'View [[Special:ViewUserLang|user language and test wiki]]', + 'right-viewuserlang' => 'View user language and test wiki', 'group-test-sysop' => 'Test wiki administrators', 'group-test-sysop-member' => 'test wiki administrator', 'grouppage-test-sysop' => 'Project:Test wiki administrators', @@ -53,6 +54,9 @@ 'wminc-code-macrolanguage' => 'The [[wikipedia:$2 language|"$3" language]] is a [[wikipedia:ISO 639 macrolanguage|macrolanguage]], consisting of the following member languages:', 'wminc-code-collective' => 'The code "$1" does not refer to a specific language, but to a collection of languages, namely the [[wikipedia:$2 language|"$3" languages]].', 'wminc-code-retired' => 'This language code has been changed and no longer refers to the original language.', + + # Special:ListUsers + 'wminc-listusers-testwiki' => 'You are viewing users who have set their test wiki preference to $1.', ); /** Message documentation (Message documentation) @@ -63,8 +67,8 @@ */ $messages['qqq'] = array( 'wminc-desc' => '{{desc}}', - 'wminc-manual' => 'As in "handbook".', - 'wminc-listwikis' => 'List of wikis that are in Wikimedia Incubator.', + 'wminc-manual' => 'As in "handbook" (a page with a step-by-step guide).', + 'wminc-listwikis' => 'List of wikis that are in Wikimedia Incubator. Please keep it short as it is used in the sidebar.', 'wminc-testwiki' => 'See [[:File:Incubator-testwiki-preference.jpg]].', 'wminc-testwiki-none' => "* Used on Special:Preferences when the user didn't select a test wiki preference (yet). * Used on Special:RecentChanges to show normal recent changes display.", @@ -78,6 +82,7 @@ 'wminc-error-unprefixed-suggest' => '* $1 is a new page title based on the page title the user is currently trying to edit. E.g. "Test" would become "Wx/xx/Test". * Do not change <code><nowiki>{{MediaWiki:Helppage}}</nowiki></code>', 'wminc-error-wiki-exists' => "'''$1''' is a URL to the existing wiki.", + 'wminc-error-wiki-sister' => '$1 is a link to either Wikisource or Wikiversity.', 'wminc-viewuserlang' => 'Title of a special page to look up the language and test wiki of a user. See [[:File:Incubator-testwiki-viewuserlang.jpg]].', 'wminc-viewuserlang-user' => 'Label for the input. @@ -85,7 +90,8 @@ 'wminc-viewuserlang-go' => "Text on the submit button to view the user's language and test wiki. {{Identical|Go}}", - 'right-viewuserlang' => '{{doc-right|viewuserlang}}', + 'right-viewuserlang' => '{{doc-right|viewuserlang}} +The message says (in the long form): "The ability to view the language and test wiki of a user". A user can set his language and test wiki through Special:Preferences.', 'group-test-sysop' => 'Name of the group of administrators of a specific test wiki on the Wikimedia Incubator.', 'group-test-sysop-member' => 'An administrator of a specific test wiki on the Wikimedia Incubator.', 'grouppage-test-sysop' => 'Do not change the "Project:" part!', @@ -95,8 +101,9 @@ It is best '''not''' to change the link to the Wikipedia article about the language. The article about macrolanguage can be changed to point to a translated article.", 'wminc-code-collective' => "* '''$1''' is the language code * '''$2''' is the language name in English -* '''$3''' is the translated language namefrom CLDR, if available (otherwise, English) +* '''$3''' is the translated language name from CLDR, if available (otherwise, English) It is best '''not''' to change the link to the Wikipedia article about the language.", + 'wminc-listusers-testwiki' => 'Used on [[Special:ListUsers]]. $1 is of the format "Wx/xyz".', ); /** Adyghe (Cyrillic) () @@ -109,24 +116,22 @@ /** Moroccan Spoken Arabic (Maġribi) * @author Enzoreg + * @author زكريا */ $messages['ary'] = array( 'wminc-desc' => 'L-Wiki dyal t-tést le Wikimédya Incubator', - 'wminc-viewuserlang' => "Ha hiya loġaṫ l-mosṫeĥdim o l-Wiki dyal 't-tést dyalo", - 'wminc-viewuserlang-user' => 'Smiyṫ l-mosṫeĥdim :', - 'wminc-viewuserlang-go' => 'Sir', 'wminc-testwiki' => "L-Wiki dyal 't-tést :", 'wminc-testwiki-none' => 'Ḫṫa ḫaja / Kol ċi', 'wminc-prefinfo-language' => "Loġṫ wajihṫek - mesṫaqela men 't-tést dyal l-Wiki dyalek", 'wminc-prefinfo-code' => 'L-kod ISO 639 dyal l-loġa', 'wminc-prefinfo-project' => 'Ĥṫar l-meċroĝ Wikimédya (l-opsyon Incubator mĥeṣeṣa le mosṫeĥdimin li ka iṣaybo ĥedma ĝama)', 'wminc-prefinfo-error' => 'Ĥṫariṫi meċroĝ li ka iḫṫaj l-kod dyal l-loġa.', - 'wminc-warning-unprefixed' => "'''Ĝendak :''' 'ṣ-ṣefḫa li ka ṫṫbedel ma ĝendha ḫṫa préfiks !", - 'wminc-warning-suggest' => 'Imkenlik ṫĥṫareĝ ċi ṣefḫa fe [[:$1]].', - 'wminc-warning-suggest-move' => "Imkenlik [{{fullurl:Special:MovePage/$3|wpNewTitle=$2}} ṫneqel had 'ṣ-ṣefḫa le $1].", - 'right-viewuserlang' => "Ċof [[Special:ViewUserLang|loġṫ l-mosṫeĥdim o l-Wiki dyal 't-tést]]", 'randombytest' => "Ṣefḫa ĝel l-Lah men l-Wiki dyal 't-tést", 'randombytest-nopages' => "L-Wiki dyal 't-tést ma fih ḫṫa ṣefḫa, fe l-maḫel dyal 's-smiyaṫ : $1.", + 'wminc-viewuserlang' => "Ha hiya loġaṫ l-mosṫeĥdim o l-Wiki dyal 't-tést dyalo", + 'wminc-viewuserlang-user' => 'smiṫ l-mosṫĥdim:', + 'wminc-viewuserlang-go' => 'Sir', + 'right-viewuserlang' => "Ċof loġṫ l-mosṫeĥdim o l-Wiki dyal 't-tést", ); /** Achinese (Acèh) @@ -139,24 +144,25 @@ /** Afrikaans (Afrikaans) * @author Naudefj + * @author SPQRobin */ $messages['af'] = array( 'wminc-desc' => 'Toets wiki-stelsel vir die Wikipedia Inkubator', - 'wminc-viewuserlang' => 'Soek op gebruikerstaal en toetswiki', - 'wminc-viewuserlang-user' => 'Gebruikersnaam:', - 'wminc-viewuserlang-go' => 'OK', + 'wminc-manual' => 'Handleiding', + 'wminc-listwikis' => "Lys van wiki's", 'wminc-testwiki' => 'Testwiki:', 'wminc-testwiki-none' => 'Geen/alles', + 'wminc-recentchanges-all' => 'Alle onlangse veranderings', 'wminc-prefinfo-language' => 'U koppelvlaktaal - onafhanklik van u toetswiki', 'wminc-prefinfo-code' => 'Die ISO 639-taalkode', 'wminc-prefinfo-project' => 'Kies die Wikimedia-projek (Inkubator-opsie is vir gebruikers wat nie algemeen werk doen nie)', 'wminc-prefinfo-error' => "Jy het 'n projek gekies wat 'n taalkode benodig.", - 'wminc-warning-unprefixed' => "'''Waarskuwing:''' Die bladsy wat jy wysig het nie 'n voorvoegsel nie!", - 'wminc-warning-suggest' => "U kan 'n bladsy skep by [[:$1]].", - 'wminc-warning-suggest-move' => 'U kan [{{fullurl:Special:MovePage/$3|wpNewTitle=$2}} hierdie bladsy skuif na $1].', - 'right-viewuserlang' => 'Sien [[Special:ViewUserLang|gebruikerstaal en toetswiki]]', 'randombytest' => 'Lukrake bladsy uit die toetswiki', 'randombytest-nopages' => 'Daar is geen bladsye in jou toetswiki in die $1-naamruimte nie.', + 'wminc-viewuserlang' => 'Soek op gebruikerstaal en toetswiki', + 'wminc-viewuserlang-user' => 'Gebruikersnaam:', + 'wminc-viewuserlang-go' => 'OK', + 'right-viewuserlang' => 'Sien gebruikerstaal en toetswiki', ); /** Gheg Albanian (Gegë) @@ -164,43 +170,37 @@ */ $messages['aln'] = array( 'wminc-desc' => 'Sistemi Test wiki për Wikimedia Inkubatori', - 'wminc-viewuserlang' => 'Kërkoni gjuhën e përdoruesit dhe wiki provë', - 'wminc-viewuserlang-user' => 'Emri i përdoruesit:', - 'wminc-viewuserlang-go' => 'Shkoj', 'wminc-testwiki' => 'wiki Test:', 'wminc-testwiki-none' => 'Asnjë / Të gjitha', 'wminc-prefinfo-language' => 'Gjuha juaj interface - të pavarur nga testin tuaj wiki', 'wminc-prefinfo-code' => 'Kodi i gjuhës ISO 639', 'wminc-prefinfo-project' => 'Zgjidhni projekti Wikimedia (opsion Inkubatori është për përdoruesit që bëjnë punë të përgjithshme)', 'wminc-prefinfo-error' => 'Ju zgjedhur një projekt që ka nevojë për një kod gjuhë.', - 'wminc-warning-unprefixed' => "'''Kujdes:''' faqe që janë të redaktimi është unprefixed!", - 'wminc-warning-suggest' => 'Ju mund të krijoni një faqe në [[:$1]].', - 'wminc-warning-suggest-move' => 'Ju mund ta [{{fullurl:Special:MovePage/$3|wpNewTitle=$2}} masë këtë faqe për $1].', - 'right-viewuserlang' => 'Shikoni [[Special:ViewUserLang|gjuhën përdoruesit dhe provë wiki]]', 'randombytest' => 'faqe të rastësishme nga wiki provë', 'randombytest-nopages' => 'Nuk ka faqe në wiki në provim, në hapësirën: $1.', + 'wminc-viewuserlang' => 'Kërkoni gjuhën e përdoruesit dhe wiki provë', + 'wminc-viewuserlang-user' => 'Emri i përdoruesit:', + 'wminc-viewuserlang-go' => 'Shkoj', + 'right-viewuserlang' => 'Shikoni gjuhën përdoruesit dhe provë wiki', ); -/** Angika (अंगिका) +/** Angika (अङ्गिका) * @author Angpradesh */ $messages['anp'] = array( 'wminc-desc' => 'विकीपीडिया इनक्यूबेटर केरॊ टेस्ट विकी सिस्टम', - 'wminc-viewuserlang' => 'भाषा उपयोगकर्ता आरू टेस्ट विकी सिस्टम कॆ देखॊ', - 'wminc-viewuserlang-user' => 'उपयोगकर्ता', - 'wminc-viewuserlang-go' => 'जा', 'wminc-testwiki' => 'टेस्ट विकी', 'wminc-testwiki-none' => 'कुच्छु नै / सबेभॆ', 'wminc-prefinfo-language' => 'तोरॊ इंटरफेस भाषा - टेस्ट विकी सॆं अलग', 'wminc-prefinfo-code' => 'ISO 639 भाषा कोड', 'wminc-prefinfo-project' => 'विकीमीडिया प्रोजेक्ट केरॊ चयन करॊ (इनक्यूबेटर विकल्प सामान्य काम करै वाला लेली)', 'wminc-prefinfo-error' => 'अपनॆ एगॊ प्रोजेक्ट चुनलॆ छियै, जेकरा लेली भाषा कोड के जरूरत छै.', - 'wminc-warning-unprefixed' => "''' सावधान ''' सम्पादित होय रहलॊ पन्ना अपरिचित छै.", - 'wminc-warning-suggest' => 'अपनॆ [[:$1]] पर पन्ना जोङियै.', - 'wminc-warning-suggest-move' => 'अपनॆ [{{fullurl:Special:MovePage/$3|wpNewTitle=$2}} पन्ना कॆ $1 पर भेजियै.].', - 'right-viewuserlang' => 'देखॊ [[Special:ViewUserLang|user language and test wiki]]', 'randombytest' => 'बेतरतीब पन्ना - प्रारंभिक विकी द्वारा.', 'randombytest-nopages' => 'तोरॊ प्रारंभिक विकी मॆं $1 नामॊ के जग्घॊ पॆ कोय पन्ना नै छौं.', + 'wminc-viewuserlang' => 'भाषा उपयोगकर्ता आरू टेस्ट विकी सिस्टम कॆ देखॊ', + 'wminc-viewuserlang-user' => 'उपयोगकर्ता', + 'wminc-viewuserlang-go' => 'जा', + 'right-viewuserlang' => 'देखॊ user language and test wiki', ); /** Arabic (العربية) @@ -208,46 +208,73 @@ * @author Meno25 * @author Orango * @author OsamaK + * @author زكريا */ $messages['ar'] = array( 'wminc-desc' => 'جرّب نظام الويكي لحضانة ويكيميديا', - 'wminc-viewuserlang' => 'أوجد لغة المستخدم و جرّب الويكي', - 'wminc-viewuserlang-user' => 'اسم المستخدم:', - 'wminc-viewuserlang-go' => 'اذهب', + 'wminc-manual' => 'دليل', + 'wminc-listwikis' => 'قائمة الويكيات', 'wminc-testwiki' => 'ويكي الاختبار:', 'wminc-testwiki-none' => 'لا شيء/الكل', + 'wminc-recentchanges-all' => 'كل التغييرات الحديثة', 'wminc-prefinfo-language' => 'لغة واجهتك - مستقلة عن ويكي الاختبار', 'wminc-prefinfo-code' => 'رمز ISO 639 للغة', 'wminc-prefinfo-project' => 'إختر مشروع ويكيميديا (خيار الحضانة هو للمستخدمين الذين يقومون بعمل عام)', 'wminc-prefinfo-error' => 'اخترت مشروعًا يختاج رمز لغة.', - 'wminc-warning-unprefixed' => "'''تحذير:''' الصفحة التي تعدلها بدون بادئة!", - 'wminc-warning-suggest' => 'تستطيع إنشاء صفحة في [[:$1]].', - 'wminc-warning-suggest-move' => 'يمكنك [{{fullurl:Special:MovePage/$3|wpNewTitle=$2}} نقل الصفحة إلى $1].', - 'right-viewuserlang' => 'رؤية [[Special:ViewUserLang|لغة وويكي الاختبار الخاص بالمستخدم]]', + 'wminc-error-move-unprefixed' => 'خطأ: الصفحة التي تحاول نقلها هي [[{{MediaWiki:Helppage}}|بلا بادئة أو ببادئة خاطئة]]!', + 'wminc-error-wronglangcode' => "'''خطأ:''' هذه الصفحة فيها [[{{MediaWiki:Helppage}}|رمز لغة خاطئ]] \"\$1\"!", + 'wminc-error-unprefixed' => "'''خطأ:''' هذه الصفحة [[{{MediaWiki:Helppage}}|بلا بادئة]]!", + 'wminc-error-unprefixed-suggest' => "'''خطأ:''' هذه الصفحة [[{{MediaWiki:Helppage}}|بلا بادئة]]! يمكنك إنشاء صفحة في [[:$1]].", + 'wminc-error-wiki-exists' => 'هذا الويكي موجود بالفعل. يمكن إيجاد هذه الصفحة في $1. إذا كان الويكي قد أنشئ حديثا فانتظر لبضع ساعات أو أيام ريثما ينقل محتواه.', + 'wminc-error-wiki-sister' => 'الصفحة من مشروع ليس من المشاريع الموجودة هنا. اطلب $1 لإيجاد الويكي.', 'randombytest' => 'صفحة عشوائية بواسطة ويكي الاختبار', 'randombytest-nopages' => 'لا توجد صفحات في ويكي الاختبار الخاص بك، في النطاق: $1.', + 'wminc-viewuserlang' => 'أوجد لغة المستخدم و جرّب الويكي', + 'wminc-viewuserlang-user' => 'اسم المستخدم:', + 'wminc-viewuserlang-go' => 'اذهب', + 'wminc-userdoesnotexist' => 'المستخدم "$1" لا يوجد', + 'wminc-ip' => '"$1" عنوان بروتوكول إنترنت.', + 'right-viewuserlang' => 'رؤية لغة وويكي الاختبار الخاص بالمستخدم', + 'group-test-sysop' => 'إداريو ويكي التجربة', + 'group-test-sysop-member' => 'إداري ويكي التجربة', + 'grouppage-test-sysop' => 'Project:إداريون ويكي التجربة', + 'wminc-code-macrolanguage' => '[[wikipedia:$2 language|اللغة "$3"]] [[wikipedia:ISO 639 macrolanguage|لغة كبرى]]، تشمل اللغات الصغرى التالية:', + 'wminc-code-collective' => 'رمز "$1" لا يدل على لغة معينة، بل على مجموعة من اللغات، وهي [[wikipedia:$2 language|اللغات "$3"]].', + 'wminc-code-retired' => 'رمز اللغة قد تغير أو لم يعد يرمز به إلى اللغة الأصلية.', + 'wminc-listusers-testwiki' => 'ما تراه هو المستخدمون الذي عينوا تفضيل ويكي التجربة على $1', ); /** Aramaic (ܐܪܡܝܐ) * @author Basharh */ $messages['arc'] = array( + 'wminc-testwiki' => 'ܘܝܩܝ ܢܣܝܘܢܐ:', + 'wminc-testwiki-none' => 'ܠܐ ܡܕܡ/ܟܠ', 'wminc-viewuserlang-user' => 'ܫܡܐ ܕܡܦܠܚܢܐ:', 'wminc-viewuserlang-go' => 'ܙܠ', - 'wminc-testwiki' => 'ܘܝܩܝ ܢܣܝܘܢܐ:', - 'wminc-testwiki-none' => 'ܠܐ ܡܕܡ/ܟܠ', ); /** Egyptian Spoken Arabic (مصرى) * @author Meno25 */ $messages['arz'] = array( + 'wminc-testwiki' => 'ويكى تجربه:', + 'wminc-testwiki-none' => 'ولاحاجه/كل', 'wminc-viewuserlang-user' => 'اسم اليوزر:', 'wminc-viewuserlang-go' => 'روح', - 'wminc-testwiki' => 'ويكى تجربه:', - 'wminc-testwiki-none' => 'ولاحاجه/كل', ); +/** Asturian (Asturianu) + * @author Xuacu + */ +$messages['ast'] = array( + 'wminc-manual' => 'Manual', + 'wminc-listwikis' => 'Llista de wikis', + 'wminc-testwiki' => 'Wiki de prueba:', + 'wminc-testwiki-none' => 'Nengún/Toos', + 'wminc-recentchanges-all' => 'Tolos cambios recientes', +); + /** Bavarian (Boarisch) * @author Man77 * @author Mucalexx @@ -274,7 +301,7 @@ 'wminc-viewuserlang-user' => 'Benutzernåm:', 'wminc-viewuserlang-go' => 'Hoin', 'wminc-userdoesnotexist' => 'Der Benutzer „$1“ existird néd.', - 'right-viewuserlang' => '[[Special:ViewUserLang|Benutzersprooch und Testwiki]] åschauh', + 'right-viewuserlang' => 'Benutzersprooch und Testwiki åschauh', 'group-test-sysop' => 'Testadministraatorn', 'group-test-sysop-member' => 'Testadministraator', 'grouppage-test-sysop' => 'Project:Testadministraatorn', @@ -286,6 +313,7 @@ /** Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца)) * @author EugeneZelenko * @author Jim-by + * @author Renessaince * @author Wizardist * @author Zedlik */ @@ -305,19 +333,22 @@ 'wminc-error-unprefixed' => "'''Памылка:''' гэтая старонка [[{{MediaWiki:Helppage}}|ня мае прэфіксу]]!", 'wminc-error-unprefixed-suggest' => "'''Памылка:''' гэтая старонка [[{{MediaWiki:Helppage}}|не мае прэфіксу]]! Вы можаце стварыць старонку на [[:$1]].", 'wminc-error-wiki-exists' => 'Гэтая вікі ўжо існуе. Вы можаце знайсьці гэтую старонку на $1. Калі вікі была створаная нядаўна, калі ласка, пачакайце некалькі гадзінаў ці дзён, пакуль будзе імпартаваны зьмест.', + 'wminc-error-wiki-sister' => 'Гэтая старонка адносіцца да праекту, які тут не разьмяшчаецца. Калі ласка, перайдзіце на $1, каб знайсьці вікі.', 'randombytest' => 'Выпадковая старонка тэставай вікі', 'randombytest-nopages' => 'Няма старонак ў Вашай тэставай вікі, у прасторы назваў: $1.', 'wminc-viewuserlang' => 'Пошук мовы ўдзельніка і тэставай вікі', 'wminc-viewuserlang-user' => 'Імя ўдзельніка:', 'wminc-viewuserlang-go' => 'Перайсьці', 'wminc-userdoesnotexist' => 'Удзельнік «$1» не існуе.', - 'right-viewuserlang' => 'прагляд [[Special:ViewUserLang|мовы ўдзельніка і тэставаньне вікі]]', + 'wminc-ip' => '"$1" — гэта IP-адрэса.', + 'right-viewuserlang' => 'прагляд мовы ўдзельніка і тэставаньне вікі', 'group-test-sysop' => 'Адміністратары тэставай вікі', 'group-test-sysop-member' => 'адміністратар тэставай вікі', 'grouppage-test-sysop' => 'Project:Адміністратары тэставай вікі', 'wminc-code-macrolanguage' => '[[wikipedia:$2 мова|«$3» мова]] зьяўляецца [[wikipedia:ISO 639 macrolanguage|макрамовай]], якая ўтрымлівае наступную колькасьць моваў:', 'wminc-code-collective' => 'Код «$1» адносіцца не да пэўнай мовы, а да набору моваў, а менавіта да [[wikipedia:$2 language|«$3»]].', 'wminc-code-retired' => 'Гэты код мовы быў зьменены і болей не датычыцца арыгінальнай мовы.', + 'wminc-listusers-testwiki' => 'Вы праглядаеце ўдзельнікаў, якія ў сваёй тэставай вікі абралі наладку $1.', ); /** Bulgarian (Български) @@ -327,18 +358,18 @@ */ $messages['bg'] = array( 'wminc-desc' => 'Тестова уики система за Уикимедия Инкубатор', - 'wminc-viewuserlang' => 'Справка за езика на потребителя и тестваното от него уики', - 'wminc-viewuserlang-user' => 'Потребител:', - 'wminc-viewuserlang-go' => 'Отваряне', 'wminc-testwiki' => 'Тестово уики:', 'wminc-testwiki-none' => 'Никои / Всички', 'wminc-prefinfo-language' => 'Език на интерфейса (независим от езика на вашето тестово уики)', 'wminc-prefinfo-code' => 'Езиковият код според стандарта ISO 639', 'wminc-prefinfo-project' => 'Изберете проект на Уикимедия (Опцията инкубатор е за потребители, които извършват обща работа)', 'wminc-prefinfo-error' => 'Избрали сте проект, който се нуждае от езиков код.', - 'right-viewuserlang' => 'Вижте [[Special:ViewUserLang|езика на потребителя и езика на тестваното уики]]', 'randombytest' => 'Случайна страница от тестваното уики', 'randombytest-nopages' => 'В тестваното уики няма страници в именно пространство $1.', + 'wminc-viewuserlang' => 'Справка за езика на потребителя и тестваното от него уики', + 'wminc-viewuserlang-user' => 'Потребител:', + 'wminc-viewuserlang-go' => 'Отваряне', + 'right-viewuserlang' => 'Вижте езика на потребителя и езика на тестваното уики', ); /** Bengali (বাংলা) @@ -346,18 +377,16 @@ */ $messages['bn'] = array( 'wminc-desc' => 'উইকিমিডিয়া ইনকিউবেটরের জন্য পরীক্ষামূলক উইকি ব্যবস্থা', - 'wminc-viewuserlang' => 'ব্যবহারকারী ভাষা এবং পরীক্ষামূলক উইকি দেখুন', - 'wminc-viewuserlang-user' => 'ব্যবহারকারী নাম:', - 'wminc-viewuserlang-go' => 'যাও', 'wminc-testwiki' => 'পরীক্ষামূলক উইকি:', 'wminc-testwiki-none' => 'কিছু না/সমস্ত', 'wminc-prefinfo-language' => 'আপনার ইন্টারফেস ভাষা - আপনার পরীক্ষামূলক উইকি হতে স্বাধীন', 'wminc-prefinfo-code' => 'ISO 639 ভাষা কোড', 'wminc-prefinfo-error' => 'আপনার নির্বাচিত প্রকল্পের ভাষার কোড প্রয়োজন।', - 'wminc-warning-suggest' => '[[:$1]] তে আপনি পাতা তৈরি করতে পারেন।', - 'wminc-warning-suggest-move' => 'আপনি [ $1 এ {{fullurl:Special:MovePage/$3|wpNewTitle=$2}} এই পাতা সরিয়ে নিতে পারেন]।', - 'right-viewuserlang' => '[[Special:ViewUserLang|ব্যবহারকারী ভাষা এবং পরীক্ষামূলক উইকি]] দেখাও', 'randombytest' => 'পরীক্ষামূলক উইকির অজানা পাতা', + 'wminc-viewuserlang' => 'ব্যবহারকারী ভাষা এবং পরীক্ষামূলক উইকি দেখুন', + 'wminc-viewuserlang-user' => 'ব্যবহারকারী নাম:', + 'wminc-viewuserlang-go' => 'যাও', + 'right-viewuserlang' => 'ব্যবহারকারী ভাষা এবং পরীক্ষামূলক উইকি দেখাও', ); /** Breton (Brezhoneg) @@ -382,7 +411,7 @@ 'wminc-viewuserlang-user' => 'Anv implijer :', 'wminc-viewuserlang-go' => 'Mont', 'wminc-userdoesnotexist' => 'N\'eus ket eus an implijer "$1".', - 'right-viewuserlang' => 'Gwelet [[Special:ViewUserLang|yezh an implijer hag ar wiki testiñ]]', + 'right-viewuserlang' => 'Gwelet yezh an implijer hag ar wiki testiñ', ); /** Bosnian (Bosanski) @@ -390,19 +419,19 @@ */ $messages['bs'] = array( 'wminc-desc' => 'Testiranje wiki sistema za Wikimedia Incubator', - 'wminc-viewuserlang' => 'Pregledaj korisnički jezik i testiranu wiki', - 'wminc-viewuserlang-user' => 'Korisničko ime:', - 'wminc-viewuserlang-go' => 'Idi', 'wminc-testwiki' => 'Testna wiki:', 'wminc-testwiki-none' => 'Ništa/Sve', + 'wminc-recentchanges-all' => 'Sve nedavne izmjene', 'wminc-prefinfo-language' => 'Vaš jezik interfejsa - nezavisno od Vaše testirane wiki', 'wminc-prefinfo-code' => 'ISO 639 kod jezika', 'wminc-prefinfo-project' => 'Odaberite Wikimedia projekat (Opcija u inkubatoru za korisnike koje rade opći posao)', 'wminc-prefinfo-error' => 'Odabrali ste projekat koji zahtijeva kod jezika.', - 'right-viewuserlang' => 'Pregledavanje [[Special:ViewUserLang|korisničkog jezika i probne wiki]]', 'randombytest' => 'Slučajna stranica od testirane wiki', 'randombytest-nopages' => 'Nema stranica u Vašoj probnoj wiki, u imenskom prostoru: $1.', - 'wminc-recentchanges-all' => 'Sve nedavne izmjene', + 'wminc-viewuserlang' => 'Pregledaj korisnički jezik i testiranu wiki', + 'wminc-viewuserlang-user' => 'Korisničko ime:', + 'wminc-viewuserlang-go' => 'Idi', + 'right-viewuserlang' => 'Pregledavanje korisničkog jezika i probne wiki', ); /** Catalan (Català) @@ -411,26 +440,24 @@ * @author Solde */ $messages['ca'] = array( + 'wminc-testwiki-none' => 'Cap/Tots', + 'wminc-prefinfo-code' => 'El codi de llengua ISO 639', 'wminc-viewuserlang-user' => "Nom d'usuari:", 'wminc-viewuserlang-go' => 'Vés-hi!', - 'wminc-testwiki-none' => 'Cap/Tots', - 'wminc-prefinfo-code' => 'El codi de llengua ISO 639', - 'right-viewuserlang' => "Veure [[Special:ViewUserLang|l'idioma i el wiki de prova]]", + 'right-viewuserlang' => "Veure l'idioma i el wiki de prova", ); /** Sorani (کوردی) * @author Marmzok */ $messages['ckb'] = array( - 'wminc-viewuserlang-user' => 'ناوی بەکارهێنەری:', - 'wminc-viewuserlang-go' => 'بڕۆ', 'wminc-testwiki' => 'تاقیکردنهوهی ویکی:', 'wminc-testwiki-none' => 'هیچیان\\هەموویان', 'wminc-prefinfo-language' => 'ڕووکاری زمانی تۆ جیاوازه له تاقی کردنهوهی ویکی', 'wminc-prefinfo-code' => 'کۆدی زمانی ISO 639', 'wminc-prefinfo-error' => 'پڕۆژەیەکت هەڵبژاردووه کە پێویستی بە کۆدی زمانە.', - 'wminc-warning-suggest' => 'دەتوانی لاپەڕەیەک لە [[:$1]]دا درووستبکەی.', - 'wminc-warning-suggest-move' => '', + 'wminc-viewuserlang-user' => 'ناوی بەکارهێنەری:', + 'wminc-viewuserlang-go' => 'بڕۆ', ); /** Czech (Česky) @@ -440,41 +467,52 @@ */ $messages['cs'] = array( 'wminc-desc' => 'Testovací wiki systém pro Inkubátor Wikimedia', - 'wminc-viewuserlang' => 'Vyhledat jazyk uživatele a testovací wiki', - 'wminc-viewuserlang-user' => 'Uživatelské jméno:', - 'wminc-viewuserlang-go' => 'Přejít', 'wminc-testwiki' => 'Testovací wiki:', 'wminc-testwiki-none' => 'Nic/vše', 'wminc-prefinfo-language' => 'Váš jazyk rozhraní – nezávislý na vaší testovací wiki', 'wminc-prefinfo-code' => 'Jazykový kód ISO 639', 'wminc-prefinfo-project' => 'Vybrat projekt Wikimedia (možnost „Inkubátor“ je pro uživatele, kteří vykonávají všeobecnou činnost)', 'wminc-prefinfo-error' => 'Vybrali jste projekt, který vyžaduje kód jazyku.', - 'wminc-warning-unprefixed' => "'''Upozornění:''' Stránka, kterou upravujete je bez prefixu!", - 'wminc-warning-suggest' => 'Můžete vytvořit stránku na [[:$1]].', - 'wminc-warning-suggest-move' => 'Můžete [{{fullurl:Special:MovePage/$3|wpNewTitle=$2}} přesunout tuto stránku na $1].', - 'right-viewuserlang' => 'Prohlížení [[Special:ViewUserLang|uživatelského jazyka a testovací wiki]]', 'randombytest' => 'Náhodná stránka z testovací wiki', 'randombytest-nopages' => 'Ve vaší testovací wiki nejsou ve jmenném prostoru $1 žádné stránky.', + 'wminc-viewuserlang' => 'Vyhledat jazyk uživatele a testovací wiki', + 'wminc-viewuserlang-user' => 'Uživatelské jméno:', + 'wminc-viewuserlang-go' => 'Přejít', + 'right-viewuserlang' => 'Prohlížení uživatelského jazyka a testovací wiki', ); /** Danish (Dansk) * @author Byrial * @author Froztbyte * @author Masz + * @author Peter Alberti */ $messages['da'] = array( 'wminc-desc' => 'Testwikisystem for Wikimedia Incubator', - 'wminc-viewuserlang-user' => 'Brugernavn:', - 'wminc-viewuserlang-go' => 'Gå', + 'wminc-manual' => 'Håndbog', + 'wminc-listwikis' => 'Liste over wikier', 'wminc-testwiki' => 'Testwiki:', 'wminc-testwiki-none' => 'Ingen/Alle', + 'wminc-recentchanges-all' => 'Alle de seneste ændringer', + 'wminc-prefinfo-language' => 'Dit brugerfladesprog - uafhængigt af din testwiki', 'wminc-prefinfo-code' => 'ISO 639-sprogkode', + 'randombytest-nopages' => 'Der er ikke nogen sider i din testwiki i navnerummet $1.', + 'wminc-viewuserlang-user' => 'Brugernavn:', + 'wminc-viewuserlang-go' => 'Gå', + 'wminc-userdoesnotexist' => 'Brugeren "$1" findes ikke.', + 'wminc-ip' => '"$1" er en IP-adresse.', + 'right-viewuserlang' => 'Vis brugersprog og testwiki', + 'group-test-sysop' => 'Testwiki-administratorer', + 'group-test-sysop-member' => 'testwiki-administrator', + 'grouppage-test-sysop' => 'Project:Testwiki-administratorer', + 'wminc-code-retired' => 'Denne sprogkode er blevet ændret og henviser ikke længere til det oprindelige sprog.', ); /** German (Deutsch) * @author Imre * @author Kghbln * @author MF-Warburg + * @author Metalhead64 * @author Umherirrender */ $messages['de'] = array( @@ -493,19 +531,22 @@ 'wminc-error-unprefixed' => "'''Fehler:''' Diese Seite hat [[{{MediaWiki:Helppage}}|kein Präfix]].", 'wminc-error-unprefixed-suggest' => "'''Fehler:''' Diese Seite hat [[{{MediaWiki:Helppage}}|kein Präfix]]. Du kannst unter [[:$1]] eine Seite anlegen.", 'wminc-error-wiki-exists' => 'Dieses Wiki ist bereits vorhanden. Diese Seite befindet sich auf $1. Sofern das Wiki erst kürzlich erstellt wurde, bitten wir um ein paar Stunden Geduld bis alle Inhalte dorthin übertragen wurden.', + 'wminc-error-wiki-sister' => 'Diese Seite gehört zu einem Projekt, das nicht hier gehostet ist. Geh bitte zu $1, um das Wiki zu finden.', 'randombytest' => 'Zufällige Seite aus dem Testwiki', 'randombytest-nopages' => 'Es befinden sich keine Seiten im Namensraum „$1“ deines Testwikis.', 'wminc-viewuserlang' => 'Benutzersprache und Testwiki einsehen', 'wminc-viewuserlang-user' => 'Benutzername:', 'wminc-viewuserlang-go' => 'Holen', 'wminc-userdoesnotexist' => 'Der Benutzer „$1“ ist nicht vorhanden.', - 'right-viewuserlang' => '[[Special:ViewUserLang|Benutzersprache und Testwiki]] anschauen', + 'wminc-ip' => '„$1“ ist eine IP-Adresse.', + 'right-viewuserlang' => 'Benutzersprache und Testwiki anschauen', 'group-test-sysop' => 'Testadministratoren', 'group-test-sysop-member' => 'Testadministrator', 'grouppage-test-sysop' => 'Project:Testadministratoren', 'wminc-code-macrolanguage' => 'Die [[wikipedia:$2 language|Sprache „$3“]] ist eine [[wikipedia:de:Makrosprache_(ISO_639)|Makrosprache]], welche die folgenden Einzelsprachen enthält:', 'wminc-code-collective' => 'Der Code „$1“ bezieht sich nicht auf eine bestimmte Sprache, sondern auf eine Gruppe von Sprachen, namentlich die [[wikipedia:$2 language|Sprachen „$3“]].', 'wminc-code-retired' => 'Dieser Sprachcode wurde geändert und bezieht sich nicht mehr auf die ursprüngliche Sprache.', + 'wminc-listusers-testwiki' => 'Du siehst Benutzer, die ihre Testwikieinstellung auf $1 eingestellt haben.', ); /** German (formal address) (Deutsch (Sie-Form)) @@ -518,6 +559,7 @@ 'wminc-prefinfo-project' => 'Das Wikimedia-Projekt, an dem Sie hier arbeiten („Incubator“ für Benutzer, die allgemeine Aufgaben übernehmen)', 'wminc-error-move-unprefixed' => 'Fehler: Die Seite, die Sie verschieben wollen, hat entweder [[{{MediaWiki:Helppage}}|kein oder ein falsches Präfix]].', 'wminc-error-unprefixed-suggest' => "'''Fehler:''' Diese Seite hat [[{{MediaWiki:Helppage}}|kein Präfix]]. Sie können unter [[:$1]] eine Seite anlegen.", + 'wminc-error-wiki-sister' => 'Diese Seite gehört zu einem Projekt, das nicht hier gehostet ist. Gehen Sie bitte zu $1, um das Wiki zu finden.', 'randombytest-nopages' => 'Es befinden sich keine Seiten im Namensraum „$1“ Ihres Testwikis.', ); @@ -534,43 +576,37 @@ */ $messages['dsb'] = array( 'wminc-desc' => 'Testowy wikijowy system za Wikimedia Incubator', - 'wminc-viewuserlang' => 'Wužywarsku rěc a testowy wiki se woglědaś', - 'wminc-viewuserlang-user' => 'Wužywarske mě:', - 'wminc-viewuserlang-go' => 'Pokazaś', 'wminc-testwiki' => 'Testowy wiki:', 'wminc-testwiki-none' => 'Žeden/Wše', 'wminc-prefinfo-language' => 'Rěc twójogo wužywarskego pówjercha - wót twójogo testowego wikija njewótwisna', 'wminc-prefinfo-code' => 'Rěcny kod ISO 639', 'wminc-prefinfo-project' => 'Wikimedijowy projekt wubraś (Incubatorowa opcija jo za wužywarjow, kótarež cynje powšykne źěło)', 'wminc-prefinfo-error' => 'Sy projekt wubrał, kótaryž se rěcny kod pomina.', - 'wminc-warning-unprefixed' => 'Warnowanje: bok, kótaryž wobźěłujoš, njama prefiks!', - 'wminc-warning-suggest' => 'Móžoš na [[:$1]] bok napóraś.', - 'wminc-warning-suggest-move' => 'Móžoš [{{fullurl:Special:MovePage/$3|wpNewTitle=$2}} toś ten bok do $1 pśesunuś].', - 'right-viewuserlang' => '[[Special:ViewUserLang|Wužywarsku rěc a testowy wiki]] se woglědaś', 'randombytest' => 'Pśipadny bok pó testowem wikiju', 'randombytest-nopages' => 'W twójom testowem wikiju w mjenjowem rumje $1 boki njejsu.', + 'wminc-viewuserlang' => 'Wužywarsku rěc a testowy wiki se woglědaś', + 'wminc-viewuserlang-user' => 'Wužywarske mě:', + 'wminc-viewuserlang-go' => 'Pokazaś', + 'right-viewuserlang' => 'Wužywarsku rěc a testowy wiki se woglědaś', ); -/** Dusun Bundu-liwan (Dusun Bundu-liwan) +/** Central Dusun (Dusun Bundu-liwan) * @author FRANCIS5091 */ $messages['dtp'] = array( 'wminc-desc' => 'Nuludan pogumbalan wiki montok Pongongomut Wikimodia', - 'wminc-viewuserlang' => 'Ihumo boros momoguno om pogumbalan wiki', - 'wminc-viewuserlang-user' => 'Ngarannu:', - 'wminc-viewuserlang-go' => 'Ongoi', 'wminc-testwiki' => 'Wiki pogumbalan', 'wminc-testwiki-none' => 'Aiso/Oinsanan', 'wminc-prefinfo-language' => 'Woyoboros gunoonnu - poinsuai mantad wiki pogumbalannu', 'wminc-prefinfo-code' => 'Kod woyoboros tumanud ISO 639', 'wminc-prefinfo-project' => 'Pilio purujik wikimodia (Pongongomut nopo nga pipilion montok momomoguno di pigosusuaian wonsoion)', 'wminc-prefinfo-error' => 'Minomili ko di purujik di momoguno kod woyoboros', - 'wminc-warning-unprefixed' => "'''Panansarahan:''' Bolikon di iditonnu nopo nga awu nokopiulud!", - 'wminc-warning-suggest' => 'Pasagaon ko do momonsoi bolikon id [[:$1]].', - 'wminc-warning-suggest-move' => 'Pasagaonko [{{fullurl:Special:MovePage/$3|wpNewTitle=$2}} papaalih diti bolikon mongoi hilo id $1].', - 'right-viewuserlang' => 'Intaai [[Special:ViewUserLang|woyoboros momomoguno om wiki pogumbalan]]', 'randombytest' => 'Songkobolikon do wiki pogumbalan', 'randombytest-nopages' => 'Ingaa bobolikon id wiki pogumbalannu, it koingaran do: $1.', + 'wminc-viewuserlang' => 'Ihumo boros momoguno om pogumbalan wiki', + 'wminc-viewuserlang-user' => 'Ngarannu:', + 'wminc-viewuserlang-go' => 'Ongoi', + 'right-viewuserlang' => 'Intaai woyoboros momomoguno om wiki pogumbalan', ); /** Ewe (Eʋegbe) */ @@ -585,21 +621,23 @@ */ $messages['el'] = array( 'wminc-desc' => 'Δοκιμή του συστήματος βίκι για το Wikimedia Incubator', - 'wminc-viewuserlang' => 'Ανατρέξτε στη γλώσσα χρήστη και στο δοκιμαστικό βίκι', - 'wminc-viewuserlang-user' => 'Όνομα χρήστη:', - 'wminc-viewuserlang-go' => 'Μετάβαση', + 'wminc-manual' => 'Εγχειρίδιο', + 'wminc-listwikis' => 'Λίστα των βίκι', 'wminc-testwiki' => 'Δοκιμαστικό wiki:', 'wminc-testwiki-none' => 'Κανένα/Όλα', + 'wminc-recentchanges-all' => 'Όλες οι πρόσφατες αλλαγές', 'wminc-prefinfo-language' => 'Η γλώσσα συστήματος - ανεξάρτητη από το δοκιμαστικό σας βίκι', 'wminc-prefinfo-code' => 'Ο κωδικός γλώσσας ISO 639', 'wminc-prefinfo-project' => 'Επιλογή του εγχειρήματος Wikimedia (η επιλογή Incubator είναι για όσους χρήστες κάνουν γενική δουλειά)', 'wminc-prefinfo-error' => 'Επιλέξατε ένα σχέδιο που χρειάζεται ένα κωδικό γλώσσας.', - 'wminc-warning-unprefixed' => "'''Προειδοποίηση:''' Η σελίδα που επεξεργάζεστε είναι χωρίς πρόθεμα!", - 'wminc-warning-suggest' => 'Μπορείτε να δημιουργήσετε μια σελίδα στο [[:$1]].', - 'wminc-warning-suggest-move' => 'Μπορείτε να [{{fullurl:Special:MovePage/$3|wpNewTitle=$2}} μετακινήσετε αυτή τη σελίδα στο $1].', - 'right-viewuserlang' => 'Προβολή της [[Special:ViewUserLang|γλώσσας χρήστη και του δοκιμαστικού βίκι]]', 'randombytest' => 'Τυχαία σελίδα βάσει του δοκιμαστικού βίκι', 'randombyt... [truncated message content] |
From: <ro...@us...> - 2011-08-16 19:11:04
|
Revision: 39 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=39&view=rev Author: robin-p Date: 2011-08-16 19:10:58 +0000 (Tue, 16 Aug 2011) Log Message: ----------- sync to MW SVN Modified Paths: -------------- trunk/IncubatorTest.php Modified: trunk/IncubatorTest.php =================================================================== --- trunk/IncubatorTest.php 2011-08-15 13:12:10 UTC (rev 38) +++ trunk/IncubatorTest.php 2011-08-16 19:10:58 UTC (rev 39) @@ -114,10 +114,10 @@ } } global $wmincProjects, $wmincSisterProjects; - $listProjects = array_map( 'preg_quote', array_keys( $wmincProjects ) ); + $listProjects = array_map( 'self::preg_quote_slash', array_keys( $wmincProjects ) ); if( $allowSister && is_array( $wmincSisterProjects ) ) { # join the project codes with those of the sister projects - $listSister = array_map( 'preg_quote', array_keys( $wmincSisterProjects ) ); + $listSister = array_map( 'self::preg_quote_slash', array_keys( $wmincSisterProjects ) ); $listProjects = array_merge( $listProjects, $listSister ); } $listProjects = implode( '|', $listProjects ); @@ -283,7 +283,7 @@ global $wmincTestWikiNamespaces, $wmincProjectSite, $wmincPseudoCategoryNSes; $prefixdata = self::analyzePrefix( $title->getText() ); $ns = $title->getNamespace(); - $categories = array_map( 'preg_quote', $wmincPseudoCategoryNSes ); + $categories = array_map( 'self::preg_quote_slash', $wmincPseudoCategoryNSes ); if( !$prefixdata['error'] ) { # no error in prefix -> no error to show return false; @@ -700,6 +700,10 @@ return true; } + private static function preg_quote_slash( $str ) { + return preg_quote( $str, '/' ); + } + // ########### START DEVELOPMENT STUFF ############# public static function onParserFirstCallInit( &$parser ) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-08-15 13:12:16
|
Revision: 38 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=38&view=rev Author: robin-p Date: 2011-08-15 13:12:10 +0000 (Mon, 15 Aug 2011) Log Message: ----------- * Update to MW SVN: use preg_quote(), proper escaping, ... * Add special page to search for a wiki (either subdomain or test wiki) Modified Paths: -------------- trunk/IncubatorTest.php trunk/InfoPage.php trunk/WikimediaIncubator.dev-i18n.php trunk/WikimediaIncubator.php Added Paths: ----------- trunk/SearchWiki.css trunk/SpecialSearchWiki.php Modified: trunk/IncubatorTest.php =================================================================== --- trunk/IncubatorTest.php 2011-08-14 21:26:45 UTC (rev 37) +++ trunk/IncubatorTest.php 2011-08-15 13:12:10 UTC (rev 38) @@ -114,11 +114,13 @@ } } global $wmincProjects, $wmincSisterProjects; - $listProjects = implode( '', array_keys( $wmincProjects ) ); # project codes like: pbtqn + $listProjects = array_map( 'preg_quote', array_keys( $wmincProjects ) ); if( $allowSister && is_array( $wmincSisterProjects ) ) { - # join the project codes with those of the sister projects, like: pbtqnsv - $listProjects = $listProjects . implode( '', array_keys( $wmincSisterProjects ) ); + # join the project codes with those of the sister projects + $listSister = array_map( 'preg_quote', array_keys( $wmincSisterProjects ) ); + $listProjects = array_merge( $listProjects, $listSister ); } + $listProjects = implode( '|', $listProjects ); if( !preg_match( '/^W['.$listProjects.']\/[a-z-]+' . ($onlyInfoPage ? '$/' : '(\/.+)?$/' ), $title ) ) { $data['error'] = 'invalidprefix'; @@ -278,9 +280,10 @@ * @return Boolean */ static function shouldWeShowUnprefixedError( $title ) { - global $wmincTestWikiNamespaces, $wmincProjectSite; + global $wmincTestWikiNamespaces, $wmincProjectSite, $wmincPseudoCategoryNSes; $prefixdata = self::analyzePrefix( $title->getText() ); $ns = $title->getNamespace(); + $categories = array_map( 'preg_quote', $wmincPseudoCategoryNSes ); if( !$prefixdata['error'] ) { # no error in prefix -> no error to show return false; @@ -291,7 +294,7 @@ # OK if it's not in one of the content namespaces return false; } elseif( ( $ns == NS_CATEGORY || $ns == NS_CATEGORY_TALK ) && - preg_match( '/^(' . implode( '|', $wmincPseudoCategoryNSes ) .'):.+$/', $title->getText() ) ) { + preg_match( '/^(' . implode( '|', $categories ) .'):.+$/', $title->getText() ) ) { # whitelisted unprefixed categories return false; } @@ -411,7 +414,7 @@ static function getDB( $prefix ) { if( !self::canWeCheckDB() ) { return false; - } elseif( !isset( $prefix ) || $prefix['error'] ) { + } elseif( !$prefix || $prefix['error'] ) { return false; # shouldn't be, but you never know } global $wmincProjectDatabases; @@ -471,11 +474,10 @@ global $wmincSisterProjects; $prefix2 = self::analyzePrefix( $title->getText(), false, true ); $linker = class_exists( 'DummyLinker' ) ? new DummyLinker : new Linker; - $p = $prefix2['project']; - $link = self::getSubdomain( $prefix2['lang'], $p, - ( $title->getNsText() ? $title->getNsText() . ':' : '' ) . - $prefix2['realtitle'] ); + $p = isset( $prefix2['project' ] ) ? $prefix2['project'] : ''; if( self::getDBState( $prefix2 ) == 'existing' ) { + $link = self::getSubdomain( $prefix2['lang'], $p, + ( $title->getNsText() ? $title->getNsText() . ':' : '' ) . $prefix2['realtitle'] ); if( self::displayPrefix() == $prefix2['prefix'] ) { # Redirect to the existing wiki if the user has this wiki as preference $wgOut->redirect( $link ); @@ -489,6 +491,8 @@ } } elseif( array_key_exists( $p, $wmincSisterProjects ) ) { # A sister project is not hosted here, so direct the user to the relevant wiki + $link = self::getSubdomain( $prefix2['lang'], $p, + ( $title->getNsText() ? $title->getNsText() . ':' : '' ) . $prefix2['realtitle'] ); $showLink = $linker->makeExternalLink( $link, $link ); $wgOut->addHtml( '<div class="wminc-wiki-sister">' . wfMsgHtml( 'wminc-error-wiki-sister', $showLink ) . @@ -529,7 +533,7 @@ $wgOut->addHtml( $infopage->showMissingWiki() ); } # Set the page title from "Wx/xyz - Incubator" to "Wikiproject Language - Incubator" - $wgOut->setHTMLTitle( wfMsg( 'pagetitle', htmlspecialchars( $infopage->mFormatTitle ) ) ); + $wgOut->setHTMLTitle( wfMsg( 'pagetitle', $infopage->mFormatTitle ) ); return true; } @@ -579,7 +583,7 @@ public static function getMainPage( $langCode, $prefix = null ) { # Take the "mainpage" msg in the given language $msg = wfMsgExt( 'mainpage', array( 'language' => $langCode ) ); - return isset( $prefix ) ? $prefix . '/' . $msg : $msg; + return $prefix !== null ? $prefix . '/' . $msg : $msg; } /** Modified: trunk/InfoPage.php =================================================================== --- trunk/InfoPage.php 2011-08-14 21:26:45 UTC (rev 37) +++ trunk/InfoPage.php 2011-08-15 13:12:10 UTC (rev 38) @@ -39,7 +39,7 @@ $this->mLangNames = IncubatorTest::getLanguageNames(); $this->mLangName = ( isset( $this->mLangNames[$this->mLangCode] ) ? $this->mLangNames[$this->mLangCode] : wfMsg( 'wminc-unknownlang', $this->mLangCode ) ); - $this->mFormatTitle = wfMsg( 'wminc-infopage-title', $this->mProjectName, $this->mLangName ); + $this->mFormatTitle = wfMsgHtml( 'wminc-infopage-title', $this->mProjectName, $this->mLangName ); return; } @@ -117,7 +117,7 @@ */ public function StandardInfoPage( $beforetitle, $aftertitle, $content ) { global $wgLang, $wgOut; - $wgOut->addModules( 'WikimediaIncubator.InfoPage' ); + $wgOut->addModuleStyles( 'WikimediaIncubator.InfoPage' ); return Html::rawElement( 'div', array( 'class' => 'wminc-infopage plainlinks', 'lang' => $wgLang->getCode(), 'dir' => $wgLang->getDir() ), $beforetitle . @@ -190,8 +190,8 @@ */ public function showExistingWiki() { global $wgLang, $wgUser; - $created = isset( $this->mCreated ) ? $this->mCreated : ''; - $bug = isset( $this->mBug ) ? $this->mBug : ''; + $created = isset( $this->mCreated ) ? $this->mCreated : ''; # for future use + $bug = isset( $this->mBug ) ? $this->mBug : ''; # for future use $subdomain = IncubatorTest::getSubdomain( $this->mLangCode, $this->mProjectCode ); $subdomainLink = $wgUser->getSkin()->makeExternalLink( $subdomain, $subdomain ); if( $this->mThisLangData['type'] != 'invalid' ) { @@ -201,7 +201,7 @@ } $content = Html::rawElement( 'div', array( 'class' => 'wminc-infopage-status' ), - wfMsg( 'wminc-infopage-status-' . $this->mSubStatus, $subdomainLink ) + wfMsgWikiHtml( 'wminc-infopage-status-' . $this->mSubStatus, $subdomainLink ) ) . Html::rawElement( 'ul', array( 'class' => 'wminc-infopage-options' ), Html::rawElement( 'li', null, wfMsgWikiHtml( 'wminc-infopage-option-sisterprojects-other' ) . $this->listOtherProjects() ) . Added: trunk/SearchWiki.css =================================================================== --- trunk/SearchWiki.css (rev 0) +++ trunk/SearchWiki.css 2011-08-15 13:12:10 UTC (rev 38) @@ -0,0 +1,15 @@ +ul#wminc-searchwiki-results { + list-style: none; +} + +.wminc-searchwiki-result { + margin: .6em 1em; + padding: .5em; + font-size: 110%; + line-height: 1.6em; + border: 1px solid #B0E0E6; +} + +.wminc-searchwiki-result-goto { + font-size: 110%; +} \ No newline at end of file Property changes on: trunk/SearchWiki.css ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/SpecialSearchWiki.php =================================================================== --- trunk/SpecialSearchWiki.php (rev 0) +++ trunk/SpecialSearchWiki.php 2011-08-15 13:12:10 UTC (rev 38) @@ -0,0 +1,141 @@ +<?php + +class SpecialSearchWiki extends IncludableSpecialPage { + public function __construct() { + parent::__construct( 'SearchWiki' ); + } + + function getDescription() { + return wfMsg( 'wminc-searchwiki' ); + } + + /** + * Show the special page + * @param $subpage Mixed: parameter passed to the page or null + */ + public function execute( $subpage ) { + global $wgRequest, $wgScript, $wgOut; + + $this->setHeaders(); + + // Array of projects + global $wmincProjects, $wmincSisterProjects; + $this->mProjects = array_merge( $wmincProjects, $wmincSisterProjects ); + + // Queries + if( $subpage ) { + $subpage = explode( '/', $subpage ); + } + $projectQuery = $wgRequest->getText( 'searchproject', isset( $subpage[0] ) ? $subpage[0] : '' ); + $languageQuery = $wgRequest->getText( 'searchlanguage', isset( $subpage[1] ) ? $subpage[1] : '' ); + + // Show form + $wgOut->addHTML( + Html::rawElement( 'form', array( 'method' => 'get', 'action' => $wgScript, 'id' => 'wminc-searchwiki-form' ), + Html::hidden( 'title', SpecialPage::getTitleFor( 'SearchWiki' ) ) . + wfMsgHtml( 'wminc-searchwiki-label', + $this->makeProjectSelector( $projectQuery ), + Html::input( 'searchlanguage', $languageQuery, 'text', array( 'id' => 'wminc-searchlanguage' ) ) + ) . ' ' . + Xml::submitButton( wfMsg( 'wminc-searchwiki-go' ) ) + ) + ); + + // Search + if ( $projectQuery || $languageQuery ) { + $wgOut->addModuleStyles( 'WikimediaIncubator.SearchWiki' ); + $this->mNamesUserLang = IncubatorTest::getLanguageNames(); + $this->mEnglishNames = IncubatorTest::getLanguageNames( 'en' ); + $this->mNativeNames = Language::getLanguageNames( false ); + $this->doSearch( $projectQuery, $languageQuery ); + } + } + + /** + * Make a <select> box with projects (Wikipedia, Wiktionary, ...) + * @param $selected + * @return string + */ + public function makeProjectSelector( $selected ) { + $select = new XmlSelect( 'searchproject', 'wminc-searchproject', $selected ); + $select->addOptions( array_flip( $this->mProjects ) ); + return $select->getHTML(); + } + + public function doSearch( $projectQuery, $languageQuery ) { + global $wgOut, $wgRequest; + + ## Match project ## + if( isset( $this->mProjects[$projectQuery] ) ) { + $matchProject = $projectQuery; # searched with a project code (select box) + } elseif( $projectCode = array_search( $projectQuery, $this->mProjects ) ) { + $matchProject = $projectCode; # searched with a project name + } else { + return $wgOut->addWikiMsg( 'wminc-searchwiki-noproject' ); + } + + $results = array(); + + ## Match language code ## + $validCodes = array_keys( Language::getLanguageNames() ); + if( in_array( $languageQuery, $validCodes ) ) { + # $langcode corresponds to a valid language. + $builtinCode = Language::factory( $languageQuery )->getCode(); + $results[] = $this->formatResult( 'wminc-searchwiki-matchlangcode', + $builtinCode, $languageQuery, $matchProject ); + } + + ## Match name in user language ## + if( $codeUserLang = array_search( $languageQuery, $this->mNamesUserLang ) ) { + $results[] = $this->formatResult( 'wminc-searchwiki-matchname-userlang', + $codeUserLang, $languageQuery, $matchProject ); + } + + ## Match name in English ## + if( $codeByEnglishName = array_search( $languageQuery, $this->mEnglishNames ) ) { + $results[] = $this->formatResult( 'wminc-searchwiki-matchname-english', + $codeByEnglishName, $languageQuery, $matchProject ); + } + + ## Match native name ## + if( $codeByNativeName = array_search( $languageQuery, $this->mNativeNames ) ) { + $results[] = $this->formatResult( 'wminc-searchwiki-matchname-native', + $codeByNativeName, $languageQuery, $matchProject ); + } + + if( count( $results ) < 1 ) { + $noresult = Html::element( 'p', array( 'class' => 'error' ), wfMsg( 'wminc-searchwiki-noresults' ) ); + return $wgOut->addHTML( $noresult ); + } + $wgOut->addHTML( '<ul id="wminc-searchwiki-results">' . implode( "\n", $results ) . '</ul>' ); + } + + /** + * @return string + */ + public function formatResult( $msg, $code, $match, $project ) { + global $wgLang; + $stripLangTags = array( '-arab', '-latn', '-deva', '-cans' ); + $rootCode = str_replace( $stripLangTags, '', $code ); + $langName = $this->mNamesUserLang[$code]; + $rootLangName = $this->mNamesUserLang[$rootCode]; + $infopage = Title::newFromText( IncubatorTest::displayPrefix( $project, $rootCode, true ) ); + $projectName = $this->mProjects[$project]; + $linkInfoPage = Linker::linkKnown( $infopage, wfMsg( 'wminc-searchwiki-gotoinfopage' ) ); + $linkMainPage = Linker::linkKnown( $infopage, wfMsg( 'wminc-searchwiki-gototitle', $projectName, $rootLangName ), + array(), array( 'goto' => 'mainpage' ) ); + $result = wfMsg( $msg, $match, $langName ); + $goto = $wgLang->getArrow() . ' ' . wfMsg( 'wminc-searchwiki-goto', $linkMainPage, $linkInfoPage ); + # todo: show existence status + return Html::rawElement( 'li', array( 'class' => 'wminc-searchwiki-result' ), + Html::rawElement( 'div', array( 'class' => 'wminc-searchwiki-result-match' ), $result ) . + Html::rawElement( 'div', array( 'class' => 'wminc-searchwiki-result-goto' ), $goto ) + ); + } +} + +/* + +native language name (alles doorzoeken????) + +*/ \ No newline at end of file Property changes on: trunk/SpecialSearchWiki.php ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/WikimediaIncubator.dev-i18n.php =================================================================== --- trunk/WikimediaIncubator.dev-i18n.php 2011-08-14 21:26:45 UTC (rev 37) +++ trunk/WikimediaIncubator.dev-i18n.php 2011-08-15 13:12:10 UTC (rev 38) @@ -15,6 +15,19 @@ 'wminc-incubatorexport' => 'Export pages from a test wiki', 'wminc-requestwiki' => 'Request a new wiki', + 'wminc-searchwiki' => 'Search wiki', + 'wminc-searchwiki-noproject' => 'You did not select a project.', + 'wminc-searchwiki-noresults' => 'No results. You can search by most language codes, native names and names in your language or English.', + 'wminc-searchwiki-label' => 'Search for a $1 in $2', + 'wminc-searchwiki-go' => 'Go', + 'wminc-searchwiki-matchlangcode' => '"$1" is an ISO 639 language code for $2.', + 'wminc-searchwiki-matchname-userlang' => '$1 is the name of a language.', + 'wminc-searchwiki-matchname-english' => '"$1" is the name for $2 in English.', + 'wminc-searchwiki-matchname-native' => '"$1" is the name for $2 in that language.', + 'wminc-searchwiki-goto' => 'Go to <b>$1</b> ($2).', + 'wminc-searchwiki-gototitle' => '$1 $2', + 'wminc-searchwiki-gotoinfopage' => 'info page', + 'wminc-languages' => 'Languages', 'wminc-languages-intro' => 'This is a list of languages that are defined in [[$1]].', 'wminc-languages-error' => 'There are no languages defined in [[$1]], or there was another error.', Modified: trunk/WikimediaIncubator.php =================================================================== --- trunk/WikimediaIncubator.php 2011-08-14 21:26:45 UTC (rev 37) +++ trunk/WikimediaIncubator.php 2011-08-15 13:12:10 UTC (rev 38) @@ -15,7 +15,7 @@ 'path' => __FILE__, 'name' => 'Wikimedia Incubator', 'author' => array( 'SPQRobin', 'Hydriz' ), - 'version' => 'dev, synced to 4.1 in svn', + 'version' => 'dev, synced to 4.2 in svn', 'url' => 'http://www.mediawiki.org/wiki/Extension:WikimediaIncubator', 'descriptionmsg' => 'wminc-desc', ); @@ -164,6 +164,15 @@ $wgSpecialPages['Languages'] = 'SpecialLanguages'; $wgSpecialPageGroups['Languages'] = 'wiki'; +/* SearchWiki */ # UNDER DEVELOPMENT +$wgAutoloadClasses['SpecialSearchWiki'] = $dir . 'SpecialSearchWiki.php'; +$wgSpecialPages['SearchWiki'] = 'SpecialSearchWiki'; +$wgResourceModules['WikimediaIncubator.SearchWiki'] = array( + 'styles' => 'SearchWiki.css', + 'localBasePath' => dirname(__FILE__), + 'remoteExtPath' => $wmincScriptDir, +); + /* Test wiki export */ # TODO -> Hydriz $wgAutoloadClasses['SpecialIncubatorExport'] = $dir . 'SpecialIncubatorExport.php'; $wgSpecialPages['IncubatorExport'] = 'SpecialIncubatorExport'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-08-14 21:26:51
|
Revision: 37 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=37&view=rev Author: robin-p Date: 2011-08-14 21:26:45 +0000 (Sun, 14 Aug 2011) Log Message: ----------- Update from MW SVN: alias file Modified Paths: -------------- trunk/WikimediaIncubator.php Added Paths: ----------- trunk/WikimediaIncubator.alias.php Added: trunk/WikimediaIncubator.alias.php =================================================================== --- trunk/WikimediaIncubator.alias.php (rev 0) +++ trunk/WikimediaIncubator.alias.php 2011-08-14 21:26:45 UTC (rev 37) @@ -0,0 +1,16 @@ +<?php +/** + * Aliases for WikimediaIncubator + * + * @file + * @ingroup Extensions + */ + +$specialPageAliases = array(); + +/** English (English) */ +$specialPageAliases['en'] = array( + 'ViewUserLang' => array( 'ViewUserLang' ), + 'MyMainPage' => array( 'MyMainPage' ), + 'RandomByTest' => array( 'RandomByTest' ), +); Property changes on: trunk/WikimediaIncubator.alias.php ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/WikimediaIncubator.php =================================================================== --- trunk/WikimediaIncubator.php 2011-08-14 13:14:37 UTC (rev 36) +++ trunk/WikimediaIncubator.php 2011-08-14 21:26:45 UTC (rev 37) @@ -72,6 +72,7 @@ $wgRemoveGroups['bureaucrat']['test-sysop'] = true; $wgExtensionMessagesFiles['WikimediaIncubator'] = $dir . 'WikimediaIncubator.i18n.php'; +$wgExtensionAliasesFiles['WikimediaIncubator'] = $dir . 'WikimediaIncubator.alias.php'; /* Special:ViewUserLang */ $wgAutoloadClasses['SpecialViewUserLang'] = $dir . 'SpecialViewUserLang.php'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-08-14 13:14:43
|
Revision: 36 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=36&view=rev Author: robin-p Date: 2011-08-14 13:14:37 +0000 (Sun, 14 Aug 2011) Log Message: ----------- Update from MW SVN: check for right namespaces so it doesn't give php notices on non-testwiki namespaces Modified Paths: -------------- trunk/IncubatorTest.php Modified: trunk/IncubatorTest.php =================================================================== --- trunk/IncubatorTest.php 2011-08-14 12:57:19 UTC (rev 35) +++ trunk/IncubatorTest.php 2011-08-14 13:14:37 UTC (rev 36) @@ -458,11 +458,15 @@ * @return True */ static function onShowMissingArticle( $article ) { - global $wgOut; + global $wgOut, $wmincTestWikiNamespaces; $title = $article->getTitle(); $prefix = self::analyzePrefix( $title->getText(), true /* only info pages */, true /* allow sister projects */ ); + if( !in_array( $title->getNamespace(), $wmincTestWikiNamespaces ) ) { + return true; + } + if( $prefix['error'] ) { # We are not on info pages global $wmincSisterProjects; $prefix2 = self::analyzePrefix( $title->getText(), false, true ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-08-14 12:57:26
|
Revision: 35 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=35&view=rev Author: robin-p Date: 2011-08-14 12:57:19 +0000 (Sun, 14 Aug 2011) Log Message: ----------- Updates from MW SVN: documentation; use str_replace() instead of preg_replace() Modified Paths: -------------- trunk/IncubatorTest.php trunk/InfoPage.php Modified: trunk/IncubatorTest.php =================================================================== --- trunk/IncubatorTest.php 2011-08-14 00:11:40 UTC (rev 34) +++ trunk/IncubatorTest.php 2011-08-14 12:57:19 UTC (rev 35) @@ -318,7 +318,7 @@ # no permission if the wiki already exists $link = self::getSubdomain( $prefixdata['lang'], $prefixdata['project'], ( $title->getNsText() ? $title->getNsText() . ':' : '' ) . - preg_replace( '/ /', '_', $prefixdata['realtitle'] ) ); + str_replace( ' ', '_', $prefixdata['realtitle'] ) ); $result[] = array( 'wminc-error-wiki-exists', $link ); return false; } @@ -415,7 +415,7 @@ return false; # shouldn't be, but you never know } global $wmincProjectDatabases; - return preg_replace('/-/', '_', $prefix['lang'] ) . + return str_replace('-', '_', $prefix['lang'] ) . $wmincProjectDatabases[$prefix['project']]; } @@ -565,7 +565,7 @@ return $wgConf->get( 'wgServer', self::getDB( $prefix ), $projectName, array( 'lang' => str_replace( '_', '-', $lang ), 'site' => $projectName ) - ) . ( $title ? preg_replace( '/\$1/', $title, $wgArticlePath ) : '' ); + ) . ( $title ? str_replace( '$1', $title, $wgArticlePath ) : '' ); } /** @@ -652,14 +652,14 @@ return false; } global $wgLogo; - $prefixForPageTitle = preg_replace('/\//', '-', strtolower( $setLogo['prefix'] ) ); + $prefixForPageTitle = str_replace( '/', '-', strtolower( $setLogo['prefix'] ) ); $file = wfFindFile( wfMsgForContentNoTrans( 'Incubator-logo-' . $prefixForPageTitle ) ); if( !$file ) { # if MediaWiki:Incubator-logo-wx-xx(x) doesn't exist, # try a general, default logo for that project global $wmincProjects; $project = $setLogo['project']; - $projectForFile = preg_replace('/ /', '-', strtolower( $wmincProjects[$project] ) ); + $projectForFile = str_replace( ' ', '-', strtolower( $wmincProjects[$project] ) ); $imageobj = wfFindFile( wfMsg( 'wminc-logo-' . $projectForFile ) ); if( $imageobj ) { $thumb = $imageobj->transform( array( 'width' => 135, 'height' => 135 ) ); Modified: trunk/InfoPage.php =================================================================== --- trunk/InfoPage.php 2011-08-14 00:11:40 UTC (rev 34) +++ trunk/InfoPage.php 2011-08-14 12:57:19 UTC (rev 35) @@ -46,6 +46,7 @@ /** * Small convenience function to display a (clickable) logo * @param $project Project name + * @return String */ public function makeLogo( $project, $clickable = true, $width = 25, $height = '', $url = '', $args = array() ) { global $wgUser; @@ -72,6 +73,10 @@ ); } + /** + * @return String: list of clickable logos of other projects + * (Wikipedia, Wiktionary, ...) + */ public function listOtherProjects() { global $wmincProjects, $wmincSisterProjects; $otherProjects = $wmincProjects + $wmincSisterProjects; @@ -84,6 +89,10 @@ implode( '', $listOtherProjects ) . '</ul>'; } + /** + * @return String: list of clickable logos of multilingual projects + * (Meta, Commons, ...) + */ public function listMultilingualProjects() { global $wmincMultilingualProjects; if( !is_array( $wmincMultilingualProjects ) ) { return; } @@ -95,11 +104,17 @@ implode( '', $list ) . '</ul>'; } + /** + * @return String: "Welcome to Incubator" message + */ public function showWelcome() { return Html::rawElement( 'div', array( 'class' => 'wminc-infopage-welcome' ), wfMsgWikiHtml( 'wminc-infopage-welcome' ) ); } + /** + * @return String: the core HTML for the info page + */ public function StandardInfoPage( $beforetitle, $aftertitle, $content ) { global $wgLang, $wgOut; $wgOut->addModules( 'WikimediaIncubator.InfoPage' ); @@ -114,6 +129,9 @@ $content ); } + /** + * @return String + */ public function showMissingWiki() { $content = Html::rawElement( 'div', array( 'class' => 'wminc-infopage-status' ), @@ -122,7 +140,7 @@ ) . Html::rawElement( 'ul', array( 'class' => 'wminc-infopage-options' ), Html::rawElement( 'li', null, - wfMsgExt( 'wminc-infopage-option-' . ( $this->mIsSister ? 'startsister' : 'startwiki' ), + wfMsgExt( $this->mIsSister ? 'wminc-infopage-option-startsister' : 'wminc-infopage-option-startwiki', array( 'parseinline' ), $this->mProjectName, $this->mPortal ) ) . Html::rawElement( 'li', null, wfMsgExt( 'wminc-infopage-option-languages-existing', @@ -137,6 +155,9 @@ return $this->StandardInfoPage( $this->showWelcome(), '', $content ); } + /** + * @return String + */ public function showIncubatingWiki() { global $wgUser, $wgLang; $substatus = $this->mSubStatus; @@ -164,6 +185,9 @@ return $this->StandardInfoPage( '', $gotoMainPage, $content ); } + /** + * @return String + */ public function showExistingWiki() { global $wgLang, $wgUser; $created = isset( $this->mCreated ) ? $this->mCreated : ''; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-08-14 00:11:50
|
Revision: 34 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=34&view=rev Author: robin-p Date: 2011-08-14 00:11:40 +0000 (Sun, 14 Aug 2011) Log Message: ----------- Merge from MW SVN (v4.1): * Better support for sister projects (wikiversity / wikisource): direct users to the respective sites * Set the title on info pages to a descriptive "Wikiproject Language" instead of "Wx/xyz" * Properly make the URLs of the logos Modified Paths: -------------- trunk/IncubatorTest.php trunk/InfoPage.i18n.php trunk/InfoPage.php trunk/WikimediaIncubator.i18n.php trunk/WikimediaIncubator.php Modified: trunk/IncubatorTest.php =================================================================== --- trunk/IncubatorTest.php 2011-08-12 20:18:10 UTC (rev 33) +++ trunk/IncubatorTest.php 2011-08-14 00:11:40 UTC (rev 34) @@ -93,10 +93,12 @@ * @param $title String The given title (often $wgTitle->getText() ) * @param $onlyInfoPage Bool Whether to validate only the prefix, or * also allow other text within the page title (Wx/xxx vs Wx/xxx/Text) + * @param $allowSister Bool Whether to allow sister projects when checking + * for the project code. * @return Array with 'error' or 'project', 'lang', 'prefix' and * optionally 'realtitle' */ - static function analyzePrefix( $title, $onlyInfoPage = false ) { + static function analyzePrefix( $title, $onlyInfoPage = false, $allowSister = false ) { $data = array( 'error' => null ); # split title into parts $titleparts = explode( '/', $title ); @@ -111,8 +113,12 @@ $data['error'] = 'invalidlangcode'; } } - global $wmincProjects; - $listProjects = implode( '', array_keys( $wmincProjects ) ); # something like: pbtqn + global $wmincProjects, $wmincSisterProjects; + $listProjects = implode( '', array_keys( $wmincProjects ) ); # project codes like: pbtqn + if( $allowSister && is_array( $wmincSisterProjects ) ) { + # join the project codes with those of the sister projects, like: pbtqnsv + $listProjects = $listProjects . implode( '', array_keys( $wmincSisterProjects ) ); + } if( !preg_match( '/^W['.$listProjects.']\/[a-z-]+' . ($onlyInfoPage ? '$/' : '(\/.+)?$/' ), $title ) ) { $data['error'] = 'invalidprefix'; @@ -157,13 +163,16 @@ } /** - * Whether the given project (or preference by default) is one of the - * projects using the format Wx/xxx (as defined in $wmincProjects) - * @param $project the project code - * @return Boolean + * Returns the project code or name if the given project code or name (or preference by default) + * is one of the projects using the format Wx/xxx (as defined in $wmincProjects) + * Returns false if it is not valid. + * @param $project String The project code + * @param $returnName Bool Whether to return the project name instead of the code + * @param $includeSister Bool Whether to include sister projects + * @return String or false */ - static function isContentProject( $project = '' ) { - global $wgUser, $wmincPref, $wmincProjects; + static function getProject( $project = '', $returnName = false, $includeSister = false ) { + global $wgUser, $wmincPref, $wmincProjects, $wmincSisterProjects; $url = self::getUrlParam(); if( $project ) { $r = $project; # Precedence to given value @@ -172,10 +181,27 @@ } else { $r = $wgUser->getOption( $wmincPref . '-project' ); # Defaults to preference } - return (bool) array_key_exists( $r, $wmincProjects ); + $projects = $includeSister ? array_merge( $wmincProjects, $wmincSisterProjects ) : $wmincProjects; + if( array_key_exists( $r, $projects ) ) { + # If a code is given, return what is wanted + return $returnName ? $projects[$r] : $r; + } elseif( array_search( $r, $projects ) ) { + # If a name is given, return what is wanted + return $returnName ? $r : array_search( $r, $projects ); + } + # Unknown code or name given -> false + return false; } /** + * Returns a simple boolean based on getProject() + * @return Bool + */ + static function isContentProject( $project = '', $returnName = false, $includeSister = false ) { + return (bool) self::getProject( $project, $returnName, $includeSister ); + } + + /** * display the prefix by the given project and code * (or the URL &testwiki= or user preference if no parameters are given) * @return String @@ -398,7 +424,7 @@ */ static function getDBClosedWikis() { global $wmincClosedWikis; - if( !self::canWeCheckDB() ) { + if( !self::canWeCheckDB() || !$wmincClosedWikis ) { return false; } # Is probably a file, but it might be that an array is given @@ -415,10 +441,11 @@ if( !$db ) { return false; } - global $wmincExistingWikis, $wmincClosedWikis; + global $wmincExistingWikis; + $closed = self::getDBClosedWikis(); if( !in_array( $db, $wmincExistingWikis ) ) { return 'missing'; # not in the list - } elseif( in_array( $db, self::getDBClosedWikis() ) ) { + } elseif( is_array( $closed ) && in_array( $db, $closed ) ) { return 'closed'; # in the list of closed wikis } return 'existing'; @@ -433,26 +460,35 @@ static function onShowMissingArticle( $article ) { global $wgOut; $title = $article->getTitle(); - $prefix = self::analyzePrefix( $title->getText(), true /* only info pages */ ); + $prefix = self::analyzePrefix( $title->getText(), + true /* only info pages */, true /* allow sister projects */ ); if( $prefix['error'] ) { # We are not on info pages - $prefix2 = self::analyzePrefix( $title->getText() ); + global $wmincSisterProjects; + $prefix2 = self::analyzePrefix( $title->getText(), false, true ); + $linker = class_exists( 'DummyLinker' ) ? new DummyLinker : new Linker; + $p = $prefix2['project']; + $link = self::getSubdomain( $prefix2['lang'], $p, + ( $title->getNsText() ? $title->getNsText() . ':' : '' ) . + $prefix2['realtitle'] ); if( self::getDBState( $prefix2 ) == 'existing' ) { - $link = self::getSubdomain( $prefix2['lang'], - $prefix2['project'], ( $title->getNsText() ? $title->getNsText() . ':' : '' ) . - $prefix2['realtitle'] ); if( self::displayPrefix() == $prefix2['prefix'] ) { # Redirect to the existing wiki if the user has this wiki as preference $wgOut->redirect( $link ); return true; } else { # Show a link to the existing wiki - $linker = class_exists( 'DummyLinker' ) ? new DummyLinker : new Linker; $showLink = $linker->makeExternalLink( $link, $link ); $wgOut->addHtml( '<div class="wminc-wiki-exists">' . wfMsgHtml( 'wminc-error-wiki-exists', $showLink ) . '</div>' ); } + } elseif( array_key_exists( $p, $wmincSisterProjects ) ) { + # A sister project is not hosted here, so direct the user to the relevant wiki + $showLink = $linker->makeExternalLink( $link, $link ); + $wgOut->addHtml( '<div class="wminc-wiki-sister">' . + wfMsgHtml( 'wminc-error-wiki-sister', $showLink ) . + '</div>' ); } elseif ( self::shouldWeShowUnprefixedError( $title ) ) { # Unprefixed pages if( self::isContentProject() ) { @@ -488,6 +524,8 @@ } else { $wgOut->addHtml( $infopage->showMissingWiki() ); } + # Set the page title from "Wx/xyz - Incubator" to "Wikiproject Language - Incubator" + $wgOut->setHTMLTitle( wfMsg( 'pagetitle', htmlspecialchars( $infopage->mFormatTitle ) ) ); return true; } @@ -514,19 +552,20 @@ /** * This forms a URL based on the language and project. - * @param $lang Language code - * @param $project Project code + * @param $lang String Language code + * @param $project String Project code + * @param $title String Page name * @return String */ - public static function getSubdomain( $lang, $projectCode ) { - global $wgConf, $wmincProjectDatabases; + public static function getSubdomain( $lang, $projectCode, $title = '' ) { + global $wgConf, $wmincProjectDatabases, $wgArticlePath; $projectName = strtolower( $wmincProjectDatabases[$projectCode] ); # Imitate analyzePrefix() array :p $prefix = array( 'error' => null, 'lang' => $lang, 'project' => $projectCode ); return $wgConf->get( 'wgServer', self::getDB( $prefix ), $projectName, array( 'lang' => str_replace( '_', '-', $lang ), 'site' => $projectName ) - ); + ) . ( $title ? preg_replace( '/\$1/', $title, $wgArticlePath ) : '' ); } /** @@ -602,9 +641,9 @@ /** * Display a different logo in current test wiki - * if it is set in MediaWiki:Incubator-logo-wx/xxx + * if it is set in MediaWiki:Incubator-logo-wx-xxx * and if accessed through &testwiki=wx/xxx - * or it the user preference is set to wx/xxx + * or if the user preference is set to wx/xxx * @return Boolean */ static function fnTestWikiLogo( &$out ) { @@ -640,7 +679,7 @@ * Only works for codes that are known to MediaWiki :( */ static function onPageContentLanguage( $title, &$pageLang ) { - global $wmincTestWikiNamespaces; + global $wmincTestWikiNamespaces, $wgOut; $prefix = self::analyzePrefix( $title->getText(), /* onlyInfoPage*/ false ); if( $prefix['error'] || !in_array( $title->getNamespace(), $wmincTestWikiNamespaces ) ) { Modified: trunk/InfoPage.i18n.php =================================================================== --- trunk/InfoPage.i18n.php 2011-08-12 20:18:10 UTC (rev 33) +++ trunk/InfoPage.i18n.php 2011-08-14 00:11:40 UTC (rev 34) @@ -31,6 +31,7 @@ 'wminc-infopage-missingwiki-text' => 'A $1 in this language does not yet exist.', 'wminc-infopage-option-startwiki' => 'If you want to start this wiki, you can [{{fullurl:{{FULLPAGENAME}}|action=edit}} create the page] and follow [[{{MediaWiki:Wminc-manual-url}}|our manual]].', + 'wminc-infopage-option-startsister' => 'If you want to start this wiki, you can go to <b>[$2 $1]</b>.', 'wminc-infopage-option-languages-existing' => 'You can search for [http://www.$1.org existing language editions of $1].', 'wminc-infopage-option-sisterprojects-existing' => 'You can search for existing projects in this language:', 'wminc-infopage-option-sisterprojects-other' => 'You can search for other projects in this language:', @@ -44,6 +45,7 @@ 'wminc-infopage-contribute' => 'If you know this language, you are encouraged to contribute!', 'wminc-infopage-status-imported' => 'This Incubator wiki has been imported from $1 after the wiki was closed.', + 'wminc-infopage-status-closedsister' => 'This subdomain was closed. Go to <b>$2</b> to contribute to this wiki.', 'wminc-infopage-status-created' => 'This project has been approved by the language committee and is now available at $1.', 'wminc-infopage-status-beforeincubator' => 'This project was created before Wikimedia Incubator started and is available at $1.', ); @@ -65,6 +67,27 @@ 'wminc-infopage-status-beforeincubator' => "'''$1''' is a URL to the existing wiki.", ); +/** Bavarian (Boarisch) + * @author Mucalexx + */ +$messages['bar'] = array( + 'wminc-infopage-enter' => 'Gee zua da Hauptseiten', + 'wminc-unknownlang' => '(néd bekånnte Sprooch mid Code „$1“)', + 'wminc-infopage-welcome' => 'Servas im Wikimedia Incubator, am Prójekt voh da Wikimedia Foundation ([[{{MediaWiki:Aboutpage}}|Ywer]])', + 'wminc-infopage-missingwiki-text' => 'A $1 in derer Sprooch is nó néd vurhånden.', + 'wminc-infopage-option-startwiki' => 'Wånn du dés Wiki starten mecherdst, +kåst du [{{fullurl:{{FULLPAGENAME}}|action=edit}} dé Seiten erstön] und noch [[{{MediaWiki:Wminc-manual-url}}|unserner Åloattung]] vurgeh.', + 'wminc-infopage-option-languages-existing' => 'Du kåst auf [http://www.$1.org noch vurhånderne Sproochausgom voh $1] suachen.', + 'wminc-infopage-option-sisterprojects-existing' => 'Du kåst noch vurhånderne Prójektt in derer Sprooch suachen:', + 'wminc-infopage-option-sisterprojects-other' => 'Du kåst noch ånderne Prójektt in derer Sprooch suachen:', + 'wminc-infopage-option-multilingual' => 'Du kåst zuaram mersprooching Wiki geh:', + 'wminc-infopage-createmainpage' => 'Gibs Wort fyr „Hauptseiten“ in derer Sprooch eih:', + 'wminc-infopage-contribute' => 'Wånnst du dé Sprooch bherrschst, bist dert oiwei gern eihgloon, midzmochen!', + 'wminc-infopage-status-imported' => 'Dés Wiki vom Incubator is voh $1 importird worn, nochdéms gschlóssen worn is.', + 'wminc-infopage-status-created' => 'Dés Prójekt is vom Sproochkómmitee gnemigt worn und is iatz unter $1 vafiagbor.', + 'wminc-infopage-status-beforeincubator' => "Dés Prójekt is erstöd worn, bevurs 'n Wikimedia Incubator geem hod und is unter $1 vafiagbor.", +); + /** Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца)) * @author EugeneZelenko * @author Jim-by @@ -173,6 +196,33 @@ 'wminc-infopage-status-beforeincubator' => 'Ce projet a été créé après que l’Incubateur Wikimedia ait été lancé et est disponible sur $1.', ); +/** Franco-Provençal (Arpetan) + * @author ChrisPtDe + */ +$messages['frp'] = array( + 'wminc-infopage-enter' => 'alar a la pâge principâla', + 'wminc-unknownlang' => '(lengoua encognua avouéc lo code « $1 »)', + 'wminc-infopage-welcome' => 'Benvegnua sur la Covosa Wikimedia, un projèt de la Wikimedia Foundation ([[{{MediaWiki:Aboutpage}}|A propôs]])', + 'wminc-infopage-missingwiki-text' => '$1 dens cela lengoua ègziste pas.', + 'wminc-infopage-option-startwiki' => 'Se vos voléd emmodar cél vouiqui, +vos pouede [{{fullurl:{{FULLPAGENAME}}|action=edit}} fâre la pâge] et pués siuvre [[{{MediaWiki:Wminc-manual-url}}|noutron manuâl]].', + 'wminc-infopage-option-languages-existing' => 'Vos pouede chèrchiér des [http://www.$1.org vèrsions linguistiques ègzistentes de $1].', + 'wminc-infopage-option-sisterprojects-existing' => 'Vos pouede chèrchiér des projèts ègzistents dens cela lengoua :', + 'wminc-infopage-option-sisterprojects-other' => 'Vos pouede chèrchiér d’ôtros projèts dens cela lengoua :', + 'wminc-infopage-option-multilingual' => 'Vos pouede alar vers un vouiqui multilingo :', + 'wminc-infopage-createmainpage' => 'Buchiéd lo mot « Pâge principâla » dens voutra lengoua :', + 'wminc-infopage-status-imported' => 'Ceti vouiqui Covosa at étâ importâ dês $1 aprés que lo vouiqui èye étâ cllôs.', + 'wminc-infopage-status-created' => 'Ceti projèt at étâ aprovâ per lo comitât linguistico et est ora disponiblo dessus $1.', + 'wminc-infopage-status-beforeincubator' => 'Ceti projèt at étâ fêt aprés que la Covosa Wikimedia èye étâ lanciê et est disponiblo dessus $1.', +); + +/** Galician (Galego) + * @author Toliño + */ +$messages['gl'] = array( + 'wminc-infopage-enter' => 'ir á páxina principal', +); + /** Interlingua (Interlingua) * @author McDutchie */ @@ -194,6 +244,13 @@ 'wminc-infopage-status-beforeincubator' => 'Iste projecto ha essite create ante le comenciamento de Wikimedia Incubator e es disponibile a $1.', ); +/** Italian (Italiano) + * @author Beta16 + */ +$messages['it'] = array( + 'wminc-infopage-enter' => 'vai alla pagina principale', +); + /** Korean (한국어) * @author Albamhandae */ @@ -216,7 +273,13 @@ 'wminc-unknownlang' => '(onbekannte Sprooch mam Code "$1")', 'wminc-infopage-missingwiki-text' => '$1 gëtt et an dëser Sprooch nach net', 'wminc-infopage-option-languages-existing' => 'Dir kënnt no [http://www.$1.org Sproochversiounen, déi et vun $1 gëtt, sichen].', + 'wminc-infopage-option-sisterprojects-existing' => 'Dir kënnt no Projeten an dëser Sprooch sichen (déi et scho gëtt):', + 'wminc-infopage-option-sisterprojects-other' => 'Dir kënnt no anere Projeten an dëser Sprooch sichen:', + 'wminc-infopage-option-multilingual' => 'Dir kënnt op eng méisproocheg Wiki goen:', 'wminc-infopage-createmainpage' => 'Gitt d\'Wuert "Haaptsäit" fir dës Sprooch an:', + 'wminc-infopage-contribute' => 'Wann Dir dës Sprooch beherrscht, sidd Dir häerzlech wëllkomm fir matzemaachen!', + 'wminc-infopage-status-created' => 'Dëse Projet gouf vum Sproochecomité akzeptéiert an ass elo op $1 disponibel.', + 'wminc-infopage-status-beforeincubator' => 'Dëse Projet gouf ugeluecht ier et Wikimedia Incubator gouf an ass op $1 disponibel.', ); /** Lithuanian (Lietuvių) @@ -248,6 +311,27 @@ 'wminc-infopage-status-beforeincubator' => 'Овој проект е создаден пред започнувањето на Инкубаторот на Викимедија и е достапен на $1.', ); +/** Malay (Bahasa Melayu) + * @author Anakmalaysia + */ +$messages['ms'] = array( + 'wminc-infopage-enter' => 'pergi ke Laman Utama', + 'wminc-unknownlang' => '(bahasa yang tidak diketahui dengan kod "$1")', + 'wminc-infopage-welcome' => 'Selamat datang ke Wikimedia Incubator, satu projek Yayasan Wikimedia ([[{{MediaWiki:Aboutpage}}|Perihal]])', + 'wminc-infopage-missingwiki-text' => '$1 dalam bahasa ini belum wujud.', + 'wminc-infopage-option-startwiki' => 'Jika anda mahu memulakan wiki ini, +anda boleh [{{fullurl:{{FULLPAGENAME}}|action=edit}} mencipta lamannya] dan mengikuti [[{{MediaWiki:Wminc-manual-url}}|panduan kami]].', + 'wminc-infopage-option-languages-existing' => 'Anda boleh mencari [http://www.$1.org edisi-edisi bahasa sedia ada bagi $1].', + 'wminc-infopage-option-sisterprojects-existing' => 'Anda boleh mencari projek-projek yang sedia ada dalam bahasa ini:', + 'wminc-infopage-option-sisterprojects-other' => 'Anda boleh mencari projek-projek lain dalam bahasa ini:', + 'wminc-infopage-option-multilingual' => 'Anda boleh pergi ke wiki berbilang bahasa:', + 'wminc-infopage-createmainpage' => 'Isikan perkataan "Laman Utama" dalam bahasa ini:', + 'wminc-infopage-contribute' => 'Jika anda fasih dalam bahasa ini, anda dialu-alukan untuk menyumbang!', + 'wminc-infopage-status-imported' => 'Wiki Incubator ini telah diimport dari $1 setelah wiki itu ditutup.', + 'wminc-infopage-status-created' => 'Projek ini telah diluluskan oleh jawatankuasa bahasa dan kini boleh didapati di $1.', + 'wminc-infopage-status-beforeincubator' => 'Projek ini dibuka sebelum Wikimedia Incubator dimulakan, dan boleh didapati di $1.', +); + /** Dutch (Nederlands) * @author SPQRobin */ @@ -290,6 +374,26 @@ 'wminc-infopage-status-beforeincubator' => 'Este projecto foi criado antes do início da Incubadora Wikimedia e está disponível em $1.', ); +/** Brazilian Portuguese (Português do Brasil) + * @author MetalBrasil + */ +$messages['pt-br'] = array( + 'wminc-infopage-enter' => 'Vá para a página principal', + 'wminc-unknownlang' => '(língua desconhecida com código "$1")', + 'wminc-infopage-welcome' => 'Bem vindo à Wikimedia Incubator, um projeto da Wikimedia Fundation ([[{{MediaWiki:Aboutpage}}|About]])', + 'wminc-infopage-missingwiki-text' => 'Ainda não existe um projeto $1 nesta língua.', + 'wminc-infopage-option-startwiki' => 'Se você quiser começar esta wiki, você pode [{{fullurl:{{FULLPAGENAME}}|action=edit}} criar a página] e seguir [[{{MediaWiki:Wminc-manual-url}}|nosso manual]].', + 'wminc-infopage-option-languages-existing' => 'Você pode pesquisar por [http://www.$1.org edições de $1 línguas existentes].', + 'wminc-infopage-option-sisterprojects-existing' => 'Você pode pesquisar por projetos existentes nesta língua.', + 'wminc-infopage-option-sisterprojects-other' => 'Você pode pesquisar por outros projetos nessa língua.', + 'wminc-infopage-option-multilingual' => 'Você pode ir a uma wiki multilíngue.', + 'wminc-infopage-createmainpage' => 'Digite a palavra "Página principal" nesta língua.', + 'wminc-infopage-contribute' => 'Se você conhece esta língua, você é convidado a contribuir!', + 'wminc-infopage-status-imported' => 'Essa Incubator wiki foi importada de $1 depois que a wiki foi fechada.', + 'wminc-infopage-status-created' => 'Esse projeto foi aprovado pela comitê linguístico e agora é avaliável em $1.', + 'wminc-infopage-status-beforeincubator' => 'Esse projeto foi criado antes do inicio da Wikimedia Incubator e está avaliável em $1.', +); + /** Russian (Русский) * @author Amdf */ @@ -320,9 +424,23 @@ /** Vietnamese (Tiếng Việt) * @author Kimkha + * @author Minh Nguyen */ $messages['vi'] = array( + 'wminc-infopage-enter' => 'đi đến Trang Chính', + 'wminc-unknownlang' => '(ngôn ngữ không rõ với mã “$1”)', + 'wminc-infopage-welcome' => 'Hoan nghênh bạn đến với Wikimedia Incubator, một dự án của Quỹ Wikimedia ([[{{MediaWiki:Aboutpage}}|Giới thiệu]])', + 'wminc-infopage-missingwiki-text' => '$1 chưa có sẵn trong ngôn ngữ này.', + 'wminc-infopage-option-startwiki' => 'Nếu bạn muốn bắt đầu xây dựng wiki này, [{{fullurl:{{FULLPAGENAME}}|action=edit}} tạo ra trang này] và thực hiện theo [[{{MediaWiki:Wminc-manual-url}}|sách hướng dẫn của chúng ta]].', + 'wminc-infopage-option-languages-existing' => 'Bạn có thể tìm kiếm [http://www.$1.org phiên bản ngôn ngữ hiện có của $1].', + 'wminc-infopage-option-sisterprojects-existing' => 'Bạn có thể tìm kiếm các dự án hiện có trong ngôn ngữ này:', + 'wminc-infopage-option-sisterprojects-other' => 'Bạn có thể tìm kiếm các dự án khác dùng ngôn ngữ này:', + 'wminc-infopage-option-multilingual' => 'Bạn có thể ghé vào một wiki đa ngôn ngữ:', + 'wminc-infopage-createmainpage' => 'Nhập từ “Trang Chính” trong ngôn ngữ này:', 'wminc-infopage-contribute' => 'Nếu bạn biết ngôn ngữ này, rất hoan nghênh bạn đóng góp cho nó!', + 'wminc-infopage-status-imported' => 'Wiki Incubator này đã được nhập từ $1 sau khi wiki đó bị đóng cửa.', + 'wminc-infopage-status-created' => 'Dự án đã được ủy ban ngôn ngữ chấp thuận và hiện có sẵn tại $1.', + 'wminc-infopage-status-beforeincubator' => 'Dự án này được tạo trước khi Wikimedia Incubator mở cửa và hiện có sẵn tại $1.', ); /** Simplified Chinese (中文(简体)) Modified: trunk/InfoPage.php =================================================================== --- trunk/InfoPage.php 2011-08-12 20:18:10 UTC (rev 33) +++ trunk/InfoPage.php 2011-08-14 00:11:40 UTC (rev 34) @@ -20,22 +20,26 @@ class InfoPage { public function __construct( $title, $prefixdata ) { - global $wmincProjects; + global $wmincProjects, $wmincSisterProjects; $this->mTitle = $title; $this->mPrefix = $prefixdata['prefix']; $this->mLangCode = $prefixdata['lang']; $this->mProjectCode = $prefixdata['project']; - $this->mProjectName = isset( $wmincProjects[$this->mProjectCode] ) ? - $wmincProjects[$this->mProjectCode] : ''; + $allProjects = array_merge( $wmincProjects, $wmincSisterProjects ); + $this->mProjectName = isset( $allProjects[$this->mProjectCode] ) ? + $allProjects[$this->mProjectCode] : ''; if( isset( $prefixdata['error'] ) || $title->getNamespace() != NS_MAIN ) { return; } + $this->mPortal = IncubatorTest::getSubdomain( 'www', $this->mProjectCode ); + $this->mIsSister = array_key_exists( $this->mProjectCode, $wmincSisterProjects ); $this->mDBStatus = ''; $this->mSubStatus = ''; $this->mThisLangData = array( 'type' => 'valid' ); # For later code check feature $this->mLangNames = IncubatorTest::getLanguageNames(); $this->mLangName = ( isset( $this->mLangNames[$this->mLangCode] ) ? $this->mLangNames[$this->mLangCode] : wfMsg( 'wminc-unknownlang', $this->mLangCode ) ); + $this->mFormatTitle = wfMsg( 'wminc-infopage-title', $this->mProjectName, $this->mLangName ); return; } @@ -47,7 +51,7 @@ global $wgUser; $projectForFile = preg_replace('/ /', '-', strtolower( $project ) ); $imageobj = wfFindFile( wfMsg( 'wminc-logo-' . $projectForFile ) ); - $useUrl = $url ? $url : 'http://www.'.strtolower( $project ).'.org/'; + $useUrl = $url ? $url : IncubatorTest::getSubdomain( 'www', IncubatorTest::getProject( $project, false, true ) ); if ( !$imageobj ) { # image not found if( !$clickable ) { return $logo; @@ -106,8 +110,7 @@ $this->makeLogo( $this->mProjectName, true, 175 ) ) . Html::rawElement( 'div', array( 'class' => 'wminc-infopage-title' ), - wfMsg( 'wminc-infopage-title', $this->mProjectName, $this->mLangName ) . - $aftertitle ) . + $this->mFormatTitle . $aftertitle ) . $content ); } @@ -119,8 +122,8 @@ ) . Html::rawElement( 'ul', array( 'class' => 'wminc-infopage-options' ), Html::rawElement( 'li', null, - wfMsgExt( 'wminc-infopage-option-startwiki', - array( 'parseinline' ), $this->mProjectName ) ) . + wfMsgExt( 'wminc-infopage-option-' . ( $this->mIsSister ? 'startsister' : 'startwiki' ), + array( 'parseinline' ), $this->mProjectName, $this->mPortal ) ) . Html::rawElement( 'li', null, wfMsgExt( 'wminc-infopage-option-languages-existing', array( 'parseinline' ), $this->mProjectName ) ) . @@ -135,21 +138,24 @@ } public function showIncubatingWiki() { - global $wgUser; - $bug = isset( $this->mBug ) ? $this->mBug : ''; + global $wgUser, $wgLang; + $substatus = $this->mSubStatus; + if( $substatus == 'imported' && $this->mIsSister ) { + $substatus = 'closedsister'; + } + $portalLink = $wgUser->getSkin()->makeExternalLink( $this->mPortal, $this->mProjectName ); if( $this->mThisLangData['type'] != 'invalid' ) { + $gotoLink = $wgUser->getSkin()->link( + Title::newFromText( IncubatorTest::getMainPage( $this->mLangCode, $this->mPrefix ) ), + wfMsgNoTrans( 'wminc-infopage-enter' ) ); $gotoMainPage = Html::rawElement( 'span', array( 'class' => 'wminc-infopage-entertest' ), - '→ ' . $wgUser->getSkin()->link( - Title::newFromText( IncubatorTest::getMainPage( $this->mLangCode, $this->mPrefix ) ), - wfMsgNoTrans( 'wminc-infopage-enter' ) - ) - ); + $wgLang->getArrow() . ' ' . ( $this->mIsSister ? $portalLink : $gotoLink ) ); } $subdomain = IncubatorTest::getSubdomain( $this->mLangCode, $this->mProjectCode ); $subdomainLink = $wgUser->getSkin()->makeExternalLink( $subdomain, $subdomain ); $content = Html::rawElement( 'div', array( 'class' => 'wminc-infopage-status' ), - wfMsgWikiHtml( 'wminc-infopage-status-' . $this->mSubStatus, $subdomainLink ) ); + wfMsgWikiHtml( 'wminc-infopage-status-' . $substatus, $subdomainLink, $portalLink ) ); if( $this->mSubStatus != 'approved' && $this->mThisLangData['type'] != 'invalid' ) { $content .= Html::element( 'div', array( 'class' => 'wminc-infopage-contribute' ), Modified: trunk/WikimediaIncubator.i18n.php =================================================================== --- trunk/WikimediaIncubator.i18n.php 2011-08-12 20:18:10 UTC (rev 33) +++ trunk/WikimediaIncubator.i18n.php 2011-08-14 00:11:40 UTC (rev 34) @@ -31,6 +31,7 @@ 'wminc-error-unprefixed' => "'''Error:''' This page is [[{{MediaWiki:Helppage}}|unprefixed]]!", 'wminc-error-unprefixed-suggest' => "'''Error:''' This page is [[{{MediaWiki:Helppage}}|unprefixed]]! You can create a page at [[:$1]].", 'wminc-error-wiki-exists' => 'This wiki already exists. You can find this page on $1. If the wiki was recently created, please wait a few hours or days until all content is imported.', + 'wminc-error-wiki-sister' => 'This page belongs to a project that is not hosted here. Please go to $1 to find the wiki.', # Special:RandomByTest 'randombytest' => 'Random page by test wiki', @@ -249,14 +250,37 @@ /** Bavarian (Boarisch) * @author Man77 + * @author Mucalexx */ $messages['bar'] = array( - 'wminc-viewuserlang-user' => 'Benutzanãm:', + 'wminc-desc' => 'Daméglécht Testwikis fyrn Wikimedia Incubator', + 'wminc-manual' => 'Åloattung', + 'wminc-listwikis' => 'Listen voh dé Wikis', + 'wminc-testwiki' => 'Testwiki:', + 'wminc-testwiki-none' => 'Koane / Olle', + 'wminc-recentchanges-all' => 'Olle létzden Änderrungen', + 'wminc-prefinfo-language' => 'Sprooch voh deiner Benutzerówerflächen - vom Testwiki unobhängég', + 'wminc-prefinfo-code' => 'Da ISO-639-Sproochcode', + 'wminc-prefinfo-project' => '\'s Wikimedia-Prójekt, ån dém du do orweidst ("Incubator" fyr Benutzer, dé oigmoane Aufgom ywernemmern)', + 'wminc-prefinfo-error' => 'Bei dém Prójekt muass a Sproochcode ågeem wern!', + 'wminc-error-move-unprefixed' => 'Feeler: Dé Seiten, dé du vaschiam wüst, hod [[{{MediaWiki:Helppage}}|koah óder a foischs Präfix]].', + 'wminc-error-wronglangcode' => "'''Feeler:''' Dé Seiten enthoit an [[{{MediaWiki:Helppage}}|foischen Sproochcode]]: „$1“.", + 'wminc-error-unprefixed' => "'''Feeler:''' Dé Seiten hod [[{{MediaWiki:Helppage}}|koan Präfix]].", + 'wminc-error-unprefixed-suggest' => "'''Feeler:''' Dé Seiten hod [[{{MediaWiki:Helppage}}|koan Präfix]]. Du kåst unter [[:$1]] a Seiten åléng.", + 'wminc-error-wiki-exists' => 'Dés Wiki do gibts bereits schoh. Dé Seiten befindt sé auf $1. Wånns Wiki erst grod amoi erstöd worn is, bitt ma di um a por Stund Geduid, bis olle Inhoite durthih ywertrong worn san.', + 'randombytest' => "Zuafällige Seiten aus 'm Testwiki", + 'randombytest-nopages' => 'Es befinden sé koane Seiten im Nåmensraum "$1" voh deim Testwiki.', + 'wminc-viewuserlang' => 'Benutzersprooch und Testwiki åschauh', + 'wminc-viewuserlang-user' => 'Benutzernåm:', 'wminc-viewuserlang-go' => 'Hoin', - 'wminc-testwiki' => 'Testwiki:', - 'wminc-testwiki-none' => 'Koane/Ålle', - 'wminc-prefinfo-language' => 'Språch vu deina Benutzaowaflächn – vum Testwiki åbhängig', - 'wminc-prefinfo-code' => 'Da ISO-639-Språchcode', + 'wminc-userdoesnotexist' => 'Der Benutzer „$1“ existird néd.', + 'right-viewuserlang' => '[[Special:ViewUserLang|Benutzersprooch und Testwiki]] åschauh', + 'group-test-sysop' => 'Testadministraatorn', + 'group-test-sysop-member' => 'Testadministraator', + 'grouppage-test-sysop' => 'Project:Testadministraatorn', + 'wminc-code-macrolanguage' => "Dé [[wikipedia:$2 language|Sprooch „$3“]] is a [[wikipedia:de:Makrosprache_(ISO_639)|Makrósprooch]], dé d' fóigenden Oahzelsproochn enthoit:", + 'wminc-code-collective' => 'Da Code „$1“ bziagt sé néd auf a bstimmte Sprooch, sondern auf a Gruppm voh Sproochen, nåmentlich dé [[wikipedia:$2 language|Sproochen „$3“]].', + 'wminc-code-retired' => "Der Sproochcode is gänderd worn und beziagt sé nimmer auf d' urspryngliche Sprooch.", ); /** Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца)) @@ -602,25 +626,31 @@ /** Spanish (Español) * @author Antur * @author Crazymadlover + * @author Fitoschido * @author Translationista */ $messages['es'] = array( 'wminc-desc' => 'Sistema de wiki de prueba para Wikimedia Incubator', - 'wminc-viewuserlang' => 'Ver lenguaje de usuario y wiki de prueba', - 'wminc-viewuserlang-user' => 'Nombre de usuario:', - 'wminc-viewuserlang-go' => 'Ir', + 'wminc-manual' => 'Manual', + 'wminc-listwikis' => 'Lista de wikis', 'wminc-testwiki' => 'Wiki de prueba:', 'wminc-testwiki-none' => 'Ninguno/Todo', + 'wminc-recentchanges-all' => 'Todos los cambios recientes', 'wminc-prefinfo-language' => 'Tu idioma de interface - independiente de tu wiki de prueba', 'wminc-prefinfo-code' => 'El código de idioma ISO 639', - 'wminc-prefinfo-project' => 'Seleccionar el proyecto wikimedia (opción Incubator es para usuarios que hacen trabajo general)', + 'wminc-prefinfo-project' => 'Seleccione el proyecto de Wikimedia (la opción Incubator es para usuarios que hacen el trabajo general)', 'wminc-prefinfo-error' => 'Seleccionaste un proyecto que necesita un código de lenguaje.', - 'wminc-warning-unprefixed' => 'Advertencia: la página que estás editando está sin prefijo!', - 'wminc-warning-suggest' => 'Puedes crear una página en [[:$1]].', - 'wminc-warning-suggest-move' => 'Puedes [{{fullurl:Special:MovePage/$3|wpNewTitle=$2}} mover esta página a $1].', - 'right-viewuserlang' => 'Ver [[Special:ViewUserLang|idioma de usuario y prueba wiki]]', 'randombytest' => 'Página aleatoria para probar wiki', 'randombytest-nopages' => 'No hay páginas en su wiki de prueba, en el espacio de nombres: $1.', + 'wminc-viewuserlang' => 'Ver lenguaje de usuario y wiki de prueba', + 'wminc-viewuserlang-user' => 'Nombre de usuario:', + 'wminc-viewuserlang-go' => 'Ir', + 'wminc-userdoesnotexist' => 'El usuario «$1» no existe.', + 'right-viewuserlang' => 'Ver [[Special:ViewUserLang|idioma de usuario y prueba wiki]]', + 'group-test-sysop' => 'Administradores de wiki de prueba', + 'group-test-sysop-member' => 'administrador de wiki de prueba', + 'grouppage-test-sysop' => 'Project:Administradores de wiki de pruebas', + 'wminc-code-macrolanguage' => 'El [[wikipedia:$2 language|$3]] es una [[wikipedia:es:Macrolengua|macrolengua]], que se compone de los siguientes idiomas:', ); /** Estonian (Eesti) @@ -772,6 +802,7 @@ 'wminc-viewuserlang-go' => 'Alar trovar', 'wminc-userdoesnotexist' => 'L’utilisator « $1 » ègziste pas.', 'right-viewuserlang' => 'Vêre la [[Special:ViewUserLang|lengoua a l’utilisator et lo vouiqui d’èprôva]]', + 'wminc-code-retired' => 'Ceti code lengoua at étâ changiê et fât pas més refèrence a la lengoua d’origina.', ); /** Galician (Galego) @@ -779,6 +810,8 @@ */ $messages['gl'] = array( 'wminc-desc' => 'Sistema wiki de probas para a Incubadora da Wikimedia', + 'wminc-manual' => 'Manual', + 'wminc-listwikis' => 'Lista dos wikis', 'wminc-testwiki' => 'Wiki de proba:', 'wminc-testwiki-none' => 'Ningún/Todos', 'wminc-recentchanges-all' => 'Todos os cambios recentes', @@ -1235,6 +1268,7 @@ */ $messages['lb'] = array( 'wminc-desc' => 'Testwiki-System fir de Wikimedia-Incubator', + 'wminc-manual' => 'Handbuch', 'wminc-listwikis' => 'Lëscht vun de Wikien', 'wminc-testwiki' => 'Test-Wiki:', 'wminc-testwiki-none' => 'Keen/All', @@ -1251,6 +1285,7 @@ 'wminc-viewuserlang-go' => 'Lass', 'wminc-userdoesnotexist' => "De Benotzer ''$1'' gëtt et net.", 'right-viewuserlang' => '[[Special:ViewUserLang|Benotzersprooch an Test-Wiki]] weisen', + 'wminc-code-retired' => "Dëse Sproochcode gouf geännert a bezitt sech net méi op d'Original-Sprooch.", ); /** Limburgish (Limburgs) @@ -1468,16 +1503,15 @@ */ $messages['nds-nl'] = array( 'wminc-desc' => 'Testwikisysteem veur de Wikimedia Incubator', + 'wminc-testwiki' => 'Testwiki:', + 'wminc-testwiki-none' => 'Gien/alles', + 'wminc-prefinfo-language' => 'De gebrukerstaal - onaofhankelik van joew testwiki', + 'wminc-prefinfo-code' => 'De ISO639-taalkode', + 'wminc-prefinfo-project' => 'Kies t Wikimedia-projekt (Incubator-opsie is veur gebrukers die algemeen wark doon)', + 'wminc-prefinfo-error' => "Je hebben ekeuzen veur n projekt waor da'j n taalkode veur neudig hebben.", 'wminc-viewuserlang' => 'Gebrukerstaal en testwiki opzeuken', 'wminc-viewuserlang-user' => 'Gebrukersnaam:', 'wminc-viewuserlang-go' => 'Zeuken', - 'wminc-testwiki' => 'Testwiki:', - 'wminc-testwiki-none' => 'Gien/alles', - 'wminc-prefinfo-language' => 'De gebrukerstaal - onofhankelijk van joew testwiki', - 'wminc-prefinfo-code' => 'De ISO639-taalcode', - 'wminc-prefinfo-project' => "Kies 't Wikimedia-prejek (Incubator-optie is veur gebrukers dee algemeen wark doon)", - 'wminc-prefinfo-error' => 'Je hemmen ekeuzen veur een prejek waor da-j een taalcode veur neudig hemmen.', - 'wminc-warning-unprefixed' => "'''Waorschuwing:''' de pagina dee-j an 't bewarken bin, hef gien veurvoegsel!", ); /** Dutch (Nederlands) @@ -1711,24 +1745,37 @@ * @author Eduardo.mps * @author Helder.wiki * @author Heldergeovane + * @author MetalBrasil */ $messages['pt-br'] = array( 'wminc-desc' => 'Sistema de wikis de teste para a Incubadora Wikimedia', - 'wminc-viewuserlang' => 'Procurar idioma do utilizador e wiki de teste', - 'wminc-viewuserlang-user' => 'Nome de usuário:', - 'wminc-viewuserlang-go' => 'Ir', + 'wminc-manual' => 'Manual', + 'wminc-listwikis' => 'Lista de wikis', 'wminc-testwiki' => 'Wiki de teste:', 'wminc-testwiki-none' => 'Nenhum/Tudo', + 'wminc-recentchanges-all' => 'Todas as mudanças recentes', 'wminc-prefinfo-language' => 'Seu idioma de interface - independente do seu wiki de teste', 'wminc-prefinfo-code' => 'O código de língua ISO 639', 'wminc-prefinfo-project' => 'Selecione o projeto Wikimedia (a opção Incubadora é para usuários que fazem trabalho geral)', 'wminc-prefinfo-error' => 'Você selecionou um projeto que necessita de um código de língua.', - 'wminc-warning-unprefixed' => 'Aviso: a página que você está editando não tem prefixo!', - 'wminc-warning-suggest' => 'Você pode criar uma página em [[:$1]].', - 'wminc-warning-suggest-move' => 'Você pode [{{fullurl:Special:MovePage/$3|wpNewTitle=$2}} mover esta página para $1].', - 'right-viewuserlang' => 'Ver [[Special:ViewUserLang|idioma do usuário e wiki de teste]]', + 'wminc-error-move-unprefixed' => 'Erro: A página que você está tentando mover para [[{{MediaWiki:Helppage}}|é aprefixada ou tem um prefixo incorreto]]!', + 'wminc-error-wronglangcode' => "'''Erro:''' Esta página contém um [[{{MediaWiki:Helppage}}|código de linguagem errado]] \"\$1\"!", + 'wminc-error-unprefixed' => "'''Erro:''' Esta página é [[{{MediaWiki:Helppage}}|aprefixada]]!", + 'wminc-error-unprefixed-suggest' => "'''Erro:''' Esta página é [[{{MediaWiki:Helppage}}|aprefixada]]! Você pode criar uma página em [[:$1]].", + 'wminc-error-wiki-exists' => 'Esta wiki já existe. Encontra esta página em $1. Se a wiki foi criada recentemente, aguarde algumas horas ou dias até que todo o conteúdo seja importado.', 'randombytest' => 'Página aleatória da wiki de testes', 'randombytest-nopages' => 'Não há páginas em sua wiki de testes no domínio: $1', + 'wminc-viewuserlang' => 'Procurar idioma do utilizador e wiki de teste', + 'wminc-viewuserlang-user' => 'Nome de usuário:', + 'wminc-viewuserlang-go' => 'Ir', + 'wminc-userdoesnotexist' => 'A conta de usuário "$1" não existe.', + 'right-viewuserlang' => 'Ver [[Special:ViewUserLang|idioma do usuário e wiki de teste]]', + 'group-test-sysop' => 'Administradores da Test wiki', + 'group-test-sysop-member' => 'Administrador da Test wiki', + 'grouppage-test-sysop' => 'Project:Administradores da Testwiki', + 'wminc-code-macrolanguage' => 'A [[wikipedia:$2 língua|"$3" língua]] é uma [[wikipedia:ISO 639 macrolíngua|macrolíngua]], consistindo das seguintes línguas:', + 'wminc-code-collective' => 'O código "$1" não se refere a uma mensagem específica, mas a uma coleção de línguas, nomeadas a [[wikipedia:$2 language|"$3" línguas]].', + 'wminc-code-retired' => 'Este código de idioma foi mudado e já não se refere à língua original.', ); /** Romanian (Română) @@ -2136,6 +2183,19 @@ 'randombytest-nopages' => 'Test vikinizdeki $1 isim alanında herhangi bir sayfa bulunmuyor.', ); +/** Tatar (Cyrillic) (Татарча/Tatarça (Cyrillic)) + * @author Ajdar + */ +$messages['tt-cyrl'] = array( + 'wminc-desc' => 'Викимедиа Инкубаторы өчен тикшерелмә вики-система', + 'wminc-manual' => 'Әсбап', + 'wminc-listwikis' => 'Викилар исемлеге', + 'wminc-testwiki' => 'Тикшерелүче вики', + 'wminc-testwiki-none' => 'Юк/барысы да', + 'wminc-recentchanges-all' => 'Барлык соңгы үзгәртүләр', + 'wminc-prefinfo-language' => 'Сезнең интерфейс теле сезнең тикшерелүче викига бәйле түгел', +); + /** ئۇيغۇرچە (ئۇيغۇرچە) * @author Sahran */ @@ -2251,26 +2311,39 @@ * @author Hydra * @author Jimmy xu wrk * @author Liangent + * @author PhiLiP * @author Shinjiman * @author Xiaomingyan */ $messages['zh-hans'] = array( 'wminc-desc' => '维基孵育场测试维基系统', - 'wminc-viewuserlang' => '查看用户语言与测试维基', - 'wminc-viewuserlang-user' => '用户名:', - 'wminc-viewuserlang-go' => '提交', - 'wminc-userdoesnotexist' => '用户 "$1" 并不存在。', + 'wminc-manual' => '手动', + 'wminc-listwikis' => 'Wiki列表', 'wminc-testwiki' => '测试维基:', 'wminc-testwiki-none' => '无/所有', + 'wminc-recentchanges-all' => '所有最近的更改', 'wminc-prefinfo-language' => '你的界面语言-从你的测试维基独立', 'wminc-prefinfo-code' => 'ISO 639 语言代码', 'wminc-prefinfo-project' => '选择维基媒体项目(孵育场选项用作一般用途)', 'wminc-prefinfo-error' => '你选择了需要语言代码的项目。', 'wminc-error-move-unprefixed' => '错误:您要移动页面到的目的地 [[{{MediaWiki:Helppage}}|没有前缀或有错误的前缀]] !', + 'wminc-error-wronglangcode' => "'''错误''':该页面包含了[[{{MediaWiki:Helppage}}|错误的语言代码]]“$1”!", + 'wminc-error-unprefixed' => "'''错误''':该页面[[{{MediaWiki:Helppage}}|无法前缀]]!", + 'wminc-error-unprefixed-suggest' => "'''错误''':该页面[[{{MediaWiki:Helppage}}|无法前缀]]!您可以在[[:$1]]创建页面。", + 'wminc-error-wiki-exists' => '该wiki已经存在。您可以在$1找到该页面。如果该wiki是近期创建的,请耐心等待数小时至数日,以便所有内容都被导入。', + 'randombytest' => '测试维基随机页面', + 'randombytest-nopages' => '您的测试wiki的名字空间$1中没有页面。', + 'wminc-viewuserlang' => '查看用户语言与测试维基', + 'wminc-viewuserlang-user' => '用户名:', + 'wminc-viewuserlang-go' => '提交', + 'wminc-userdoesnotexist' => '用户 "$1" 并不存在。', 'right-viewuserlang' => '请查看[[Special:ViewUserLang|用户语言与测试维基]]', - 'randombytest' => '测试维基随机页面', - 'randombytest-nopages' => '你的测试维基名称空间$1中没有页面。', - 'wminc-recentchanges-all' => '所有最近的更改', + 'group-test-sysop' => '测试wiki管理员', + 'group-test-sysop-member' => '测试wiki管理员', + 'grouppage-test-sysop' => 'Project:测试wiki管理员', + 'wminc-code-macrolanguage' => '[[wikipedia:$2 language|$3]]是[[wikipedia:ISO 639 macrolanguage|宏语言]]之一,由以下成员语言组成:', + 'wminc-code-collective' => '代码“$1”并不是一种语言,而是一系列语言的集合,即[[wikipedia:$2 language|$3语言]]。', + 'wminc-code-retired' => '该语言代码已更改,并且不再指向原来的语言。', ); /** Traditional Chinese (中文(繁體)) Modified: trunk/WikimediaIncubator.php =================================================================== --- trunk/WikimediaIncubator.php 2011-08-12 20:18:10 UTC (rev 33) +++ trunk/WikimediaIncubator.php 2011-08-14 00:11:40 UTC (rev 34) @@ -15,7 +15,7 @@ 'path' => __FILE__, 'name' => 'Wikimedia Incubator', 'author' => array( 'SPQRobin', 'Hydriz' ), - 'version' => 'dev, synced to 4.0 in svn', + 'version' => 'dev, synced to 4.1 in svn', 'url' => 'http://www.mediawiki.org/wiki/Extension:WikimediaIncubator', 'descriptionmsg' => 'wminc-desc', ); @@ -123,9 +123,8 @@ 's' => 'wikisource', 'v' => 'wikiversity', ); -# if WMF/SiteMatrix config is available, use it -# NOTICE: include SiteMatrix extension before this extension (this is the case for WMF) -$wmincClosedWikis = isset( $wgSiteMatrixClosedSites ) ? $wgSiteMatrixClosedSites : null; +# set this to an array or file of closed wikis (like SiteMatrix $wgSiteMatrixClosedSites) +$wmincClosedWikis = false; /* Wx/xx[x] info page */ $wgAutoloadClasses['InfoPage'] = $dir . 'InfoPage.php'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-08-12 20:18:16
|
Revision: 33 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=33&view=rev Author: robin-p Date: 2011-08-12 20:18:10 +0000 (Fri, 12 Aug 2011) Log Message: ----------- Updates from MW SVN: * Make use of $wgConf to form the URLs * Only redirect to the main page if that page exists Modified Paths: -------------- trunk/IncubatorTest.php trunk/InfoPage.php Modified: trunk/IncubatorTest.php =================================================================== --- trunk/IncubatorTest.php 2011-08-11 13:57:01 UTC (rev 32) +++ trunk/IncubatorTest.php 2011-08-12 20:18:10 UTC (rev 33) @@ -513,19 +513,20 @@ } /** - * This forms a URL based on the language and project, and optionally title. - * TODO: add support for secure server, or are links automatically converted? + * This forms a URL based on the language and project. * @param $lang Language code - * @param $project Project code (or project name) - * @param $title Optional title on the target wiki - * @param $protocol Whether to include the protocol + * @param $project Project code * @return String */ - public static function getSubdomain( $lang, $project, $title = '', $protocol = true ) { - global $wmincProjects; - $projectName = isset( $wmincProjects[$project] ) ? $wmincProjects[$project] : $project; - return ( $protocol ? 'http://' : '' ) . strtolower( $lang ) . '.' . - strtolower( $projectName ) . '.org' . ( $title ? '/wiki/' . $title : '' ); + public static function getSubdomain( $lang, $projectCode ) { + global $wgConf, $wmincProjectDatabases; + $projectName = strtolower( $wmincProjectDatabases[$projectCode] ); + # Imitate analyzePrefix() array :p + $prefix = array( 'error' => null, 'lang' => $lang, 'project' => $projectCode ); + return $wgConf->get( 'wgServer', + self::getDB( $prefix ), $projectName, + array( 'lang' => str_replace( '_', '-', $lang ), 'site' => $projectName ) + ); } /** @@ -543,7 +544,7 @@ * @return True */ public static function onArticleFromTitle( &$title, &$article ) { - global $wgRequest; + global $wgRequest, $wgOut; $prefix = IncubatorTest::analyzePrefix( $title, true ); if( $prefix['error'] || $wgRequest->getVal('goto') != 'mainpage' ) { return true; @@ -553,20 +554,23 @@ return true; } if( $dbstate == 'existing' ) { - $url = self::getSubdomain( $prefix['lang'], $prefix['project'] ); - } else { - $params['redirectfrom'] = 'infopage'; - $uselang = $wgRequest->getVal( 'uselang' ); - if( $uselang ) { - $params['uselang'] = $uselang; - } - $mainpage = Title::newFromText( - self::getMainPage( $prefix['lang'], $prefix['prefix'] ) - ); - $url = $mainpage->getFullURL( $params ); + # redirect to the existing lang.wikiproject.org if it exists + $wgOut->redirect( self::getSubdomain( $prefix['lang'], $prefix['project'] ) ); + return true; } - global $wgOut; - $wgOut->redirect( $url ); + $params['redirectfrom'] = 'infopage'; + $uselang = $wgRequest->getVal( 'uselang' ); + if( $uselang ) { + # pass through the &uselang parameter + $params['uselang'] = $uselang; + } + $mainpage = Title::newFromText( + self::getMainPage( $prefix['lang'], $prefix['prefix'] ) + ); + if( $mainpage->exists() ) { + # Only redirect to the main page if that page exists + $wgOut->redirect( $mainpage->getFullURL( $params ) ); + } return true; } Modified: trunk/InfoPage.php =================================================================== --- trunk/InfoPage.php 2011-08-11 13:57:01 UTC (rev 32) +++ trunk/InfoPage.php 2011-08-12 20:18:10 UTC (rev 33) @@ -73,7 +73,7 @@ $otherProjects = $wmincProjects + $wmincSisterProjects; foreach( $otherProjects as $code => $name ) { $listOtherProjects[$code] = '<li>' . $this->makeLogo( $name, true, - 75, null, IncubatorTest::getSubdomain( $this->mLangCode, $name ) ) . '</li>'; + 75, null, IncubatorTest::getSubdomain( $this->mLangCode, $code ) ) . '</li>'; } unset( $listOtherProjects[$this->mProjectCode] ); return '<ul class="wminc-infopage-otherprojects">' . @@ -146,7 +146,7 @@ ) ); } - $subdomain = IncubatorTest::getSubdomain( $this->mLangCode, $this->mProjectName ); + $subdomain = IncubatorTest::getSubdomain( $this->mLangCode, $this->mProjectCode ); $subdomainLink = $wgUser->getSkin()->makeExternalLink( $subdomain, $subdomain ); $content = Html::rawElement( 'div', array( 'class' => 'wminc-infopage-status' ), wfMsgWikiHtml( 'wminc-infopage-status-' . $this->mSubStatus, $subdomainLink ) ); @@ -162,7 +162,7 @@ global $wgLang, $wgUser; $created = isset( $this->mCreated ) ? $this->mCreated : ''; $bug = isset( $this->mBug ) ? $this->mBug : ''; - $subdomain = IncubatorTest::getSubdomain( $this->mLangCode, $this->mProjectName ); + $subdomain = IncubatorTest::getSubdomain( $this->mLangCode, $this->mProjectCode ); $subdomainLink = $wgUser->getSkin()->makeExternalLink( $subdomain, $subdomain ); if( $this->mThisLangData['type'] != 'invalid' ) { $gotoSubdomain = Html::rawElement( 'span', This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-08-11 13:57:07
|
Revision: 32 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=32&view=rev Author: robin-p Date: 2011-08-11 13:57:01 +0000 (Thu, 11 Aug 2011) Log Message: ----------- PageContentLanguage hook moved to MediaWiki SVN Modified Paths: -------------- trunk/IncubatorTest.php trunk/WikimediaIncubator.php Modified: trunk/IncubatorTest.php =================================================================== --- trunk/IncubatorTest.php 2011-07-30 11:20:27 UTC (rev 31) +++ trunk/IncubatorTest.php 2011-08-11 13:57:01 UTC (rev 32) @@ -631,8 +631,6 @@ return true; } - // ########### START DEVELOPMENT STUFF ############# - /** * Make the page content language depend on the test wiki * Only works for codes that are known to MediaWiki :( @@ -651,6 +649,8 @@ return true; } + // ########### START DEVELOPMENT STUFF ############# + public static function onParserFirstCallInit( &$parser ) { $parser->setFunctionHook( 'infopage', 'IncubatorTest::renderParserFunction' ); return true; Modified: trunk/WikimediaIncubator.php =================================================================== --- trunk/WikimediaIncubator.php 2011-07-30 11:20:27 UTC (rev 31) +++ trunk/WikimediaIncubator.php 2011-08-11 13:57:01 UTC (rev 32) @@ -143,6 +143,9 @@ /* Possibility to set a logo per test wiki */ $wgHooks['BeforePageDisplay'][] = 'IncubatorTest::fnTestWikiLogo'; +/* Set page content language depending on the prefix */ +$wgHooks['PageContentLanguage'][] = 'IncubatorTest::onPageContentLanguage'; + /* ==================== BEGIN OF STUFF IN DEVELOPMENT ================ */ /* Get the big $wmincLanguageCodes array which can be updated through the generateCodeList.php script */ @@ -173,8 +176,5 @@ $wgAutoloadClasses['SpecialRequestWiki'] = $dir . 'SpecialRequestWiki.php'; $wgSpecialPages['RequestWiki'] = 'SpecialRequestWiki'; -/* Test wiki pages */ # STABLE FEATURE; ON HOLD DUE TO DEVELOPMENT IN CORE MW -$wgHooks['PageContentLanguage'][] = 'IncubatorTest::onPageContentLanguage'; - /* AddPrefix gadget to extension */ # EXPERIMENTAL # $wgHooks['ArticleSave'][] = 'IncubatorTest::onArticleSave'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hy...@us...> - 2011-07-30 11:20:34
|
Revision: 31 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=31&view=rev Author: hydria Date: 2011-07-30 11:20:27 +0000 (Sat, 30 Jul 2011) Log Message: ----------- Fix parameter name Modified Paths: -------------- trunk/generateCodeList.php Modified: trunk/generateCodeList.php =================================================================== --- trunk/generateCodeList.php 2011-07-27 14:10:22 UTC (rev 30) +++ trunk/generateCodeList.php 2011-07-30 11:20:27 UTC (rev 31) @@ -53,7 +53,7 @@ } } $index = $codeList['tmp']['Id']; - $aplha2 = isset( $codeList['tmp']['Part1'] ) ? $codeList['tmp']['Part1'] : null; + $alpha2 = isset( $codeList['tmp']['Part1'] ) ? $codeList['tmp']['Part1'] : null; if( $alpha2 ) { # Use ISO 639-1 if there is one $codeList[$index] = $alpha2; # Make the ISO 639-3 (alpha3) refer to the ISO 639-1 (alpha2) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hy...@us...> - 2011-07-27 14:10:28
|
Revision: 30 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=30&view=rev Author: hydria Date: 2011-07-27 14:10:22 +0000 (Wed, 27 Jul 2011) Log Message: ----------- Removing extra stuff Modified Paths: -------------- trunk/SpecialIncubatorExport.php Modified: trunk/SpecialIncubatorExport.php =================================================================== --- trunk/SpecialIncubatorExport.php 2011-07-24 20:56:05 UTC (rev 29) +++ trunk/SpecialIncubatorExport.php 2011-07-27 14:10:22 UTC (rev 30) @@ -58,11 +58,4 @@ ); } - - /** - * - */ - function showInfo( $target ) { - - } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2011-07-24 20:56:12
|
Revision: 29 http://wm-incubator.svn.sourceforge.net/wm-incubator/?rev=29&view=rev Author: robin-p Date: 2011-07-24 20:56:05 +0000 (Sun, 24 Jul 2011) Log Message: ----------- More updates/merges Modified Paths: -------------- trunk/IncubatorTest.php trunk/InfoPage.i18n.php trunk/InfoPage.php trunk/WikimediaIncubator.php Modified: trunk/IncubatorTest.php =================================================================== --- trunk/IncubatorTest.php 2011-07-24 20:38:35 UTC (rev 28) +++ trunk/IncubatorTest.php 2011-07-24 20:56:05 UTC (rev 29) @@ -13,6 +13,7 @@ /** * Add preferences + * @return True */ static function onGetPreferences( $user, &$preferences ) { global $wmincPref, $wmincProjects, $wmincProjectSite, @@ -25,8 +26,7 @@ 'options' => array( wfMsg( 'wminc-testwiki-none' ) => 'none' ) + array_flip( $wmincProjects ) + - array( $wmincProjectSite['name'] => $wmincProjectSite['short'] - ), + array( $wmincProjectSite['name'] => $wmincProjectSite['short'] ), 'section' => 'personal/i18n', 'label-message' => 'wminc-testwiki', 'id' => $wmincPref . '-project', @@ -52,6 +52,7 @@ /** * For the preferences above + * @return String or true */ static function validateCodePreference( $input, $alldata ) { global $wmincPref, $wmincProjects; @@ -70,7 +71,7 @@ /** * This validates a given language code. * Only "xx[x]" and "xx[x]-x[xxxxxxxx]" are allowed. - * @return boolean + * @return Boolean */ static function validateLanguageCode( $code ) { global $wmincLangCodeLength; @@ -83,7 +84,7 @@ /** * This validates a full prefix in a given title. - * May not include namespaces! + * Do not include namespaces! * It gives an array with the project and language code, containing * the key 'error' if it is invalid. * Use validatePrefix() if you just want true or false. @@ -103,7 +104,7 @@ $data['error'] = 'noslash'; } else { $data['project'] = ( isset( $titleparts[0][1] ) ? $titleparts[0][1] : '' ); # get the x from Wx/... - $data['lang'] = $titleparts[1]; + $data['lang'] = $titleparts[1]; # language code $data['prefix'] = 'W'.$data['project'].'/'.$data['lang']; # check language code if( !self::validateLanguageCode( $data['lang'] ) ) { @@ -134,7 +135,28 @@ return false; } + /** + * Get &testwiki=wx/xx and validate that prefix. + * Returns the array of analyzePrefix() on success. + * @return Array or false + */ + static function getUrlParam() { + global $wgRequest; + $urlParam = $wgRequest->getVal( 'testwiki' ); + if( !$urlParam ) { + return false; + } + $val = self::analyzePrefix( ucfirst( $urlParam ), true ); + if( $val['error'] || !isset( $val['project'] ) || !isset( $val['lang'] ) + || !$val['project'] || !$val['lang'] ) { + return false; + } + $val['prefix'] = strtolower( $val['prefix'] ); + return $val; + } + + /** * Whether the given project (or preference by default) is one of the * projects using the format Wx/xxx (as defined in $wmincProjects) * @param $project the project code @@ -142,18 +164,33 @@ */ static function isContentProject( $project = '' ) { global $wgUser, $wmincPref, $wmincProjects; - $project = ( $project ? $project : $wgUser->getOption($wmincPref . '-project') ); - return (bool) array_key_exists( $project, $wmincProjects ); + $url = self::getUrlParam(); + if( $project ) { + $r = $project; # Precedence to given value + } elseif( $url ) { + $r = $url['project']; # Otherwise URL &testwiki= if set + } else { + $r = $wgUser->getOption( $wmincPref . '-project' ); # Defaults to preference + } + return (bool) array_key_exists( $r, $wmincProjects ); } /** * display the prefix by the given project and code - * (or the user preference if no parameters are given) + * (or the URL &testwiki= or user preference if no parameters are given) + * @return String */ static function displayPrefix( $project = '', $code = '', $allowSister = false ) { - global $wgUser, $wmincPref, $wmincSisterProjects; - $projectvalue = ( $project ? $project : $wgUser->getOption($wmincPref . '-project') ); - $codevalue = ( $code ? $code : $wgUser->getOption($wmincPref . '-code') ); + global $wmincSisterProjects; + if( $project && $code ) { + $projectvalue = $project; + $codevalue = $code; + } else { + global $wgUser, $wmincPref; + $url = self::getUrlParam(); + $projectvalue = ( $url ? $url['project'] : $wgUser->getOption($wmincPref . '-project') ); + $codevalue = ( $url ? $url['lang'] : $wgUser->getOption($wmincPref . '-code') ); + } $sister = (bool)( $allowSister && isset( $wmincSisterProjects[$projectvalue] ) ); if ( self::isContentProject( $projectvalue ) || $sister ) { // if parameters are set OR it falls back to user pref and @@ -210,6 +247,32 @@ } /** + * Whether we should show an error message that the page is unprefixed + * @param $title Title object + * @return Boolean + */ + static function shouldWeShowUnprefixedError( $title ) { + global $wmincTestWikiNamespaces, $wmincProjectSite; + $prefixdata = self::analyzePrefix( $title->getText() ); + $ns = $title->getNamespace(); + if( !$prefixdata['error'] ) { + # no error in prefix -> no error to show + return false; + } elseif( self::displayPrefix() == $wmincProjectSite['short'] ) { + # If user has "project" (Incubator) as test wiki preference, it isn't needed to check + return false; + } elseif( !in_array( $ns, $wmincTestWikiNamespaces ) ) { + # OK if it's not in one of the content namespaces + return false; + } elseif( ( $ns == NS_CATEGORY || $ns == NS_CATEGORY_TALK ) && + preg_match( '/^(' . implode( '|', $wmincPseudoCategoryNSes ) .'):.+$/', $title->getText() ) ) { + # whitelisted unprefixed categories + return false; + } + return true; + } + + /** * This does several things: * Disables editing pages belonging to existing wikis (+ shows message) * Disables creating an unprefixed page (+ shows error message) @@ -217,45 +280,35 @@ * @return Boolean */ static function onGetUserPermissionsErrors( $title, $user, $action, &$result ) { - global $wmincProjectSite, $wmincProjects, $wmincTestWikiNamespaces, $wmincPseudoCategoryNSes; $titletext = $title->getText(); - $ns = $title->getNamespace(); $prefixdata = self::analyzePrefix( $titletext ); + if( self::getDBState( $prefixdata ) == 'existing' ) { + if( $prefixdata['prefix'] == $titletext && + ( $title->exists() || $user->isAllowed( 'editinterface' ) ) ) { + # if it's an info page, allow if the page exists or the user has 'editinterface' right + return true; + } # no permission if the wiki already exists - $projectName = $wmincProjects[$prefixdata['project']]; - $link = InfoPage::getSubdomain( $prefixdata['lang'], - $projectName, $prefixdata['realtitle'] ); + $link = self::getSubdomain( $prefixdata['lang'], + $prefixdata['project'], ( $title->getNsText() ? $title->getNsText() . ':' : '' ) . + preg_replace( '/ /', '_', $prefixdata['realtitle'] ) ); $result[] = array( 'wminc-error-wiki-exists', $link ); return false; } - if( $action != 'create' ) { - # only check on page creation + + if( !self::shouldWeShowUnprefixedError( $title ) || $action != 'create' ) { + # only check if needed & if on page creation return true; - } elseif( self::displayPrefix() == $wmincProjectSite['short'] ) { - # If user has "project" as test wiki preference, it isn't needed to check - return true; - } elseif( !in_array( $ns, $wmincTestWikiNamespaces ) ) { - # OK if it's not in one of the content namespaces - return true; - } elseif( !$prefixdata['error'] ) { - # no error in prefix -> no error to show - return true; - } elseif( ($ns == NS_CATEGORY || $ns == NS_CATEGORY_TALK) && - preg_match('/^('.implode('|',$wmincPseudoCategoryNSes).'):.+$/', $titletext) ) { - # whitelisting - return true; } elseif( $prefixdata['error'] == 'invalidlangcode' ) { $error[] = array( 'wminc-error-wronglangcode', $prefixdata['lang'] ); } elseif ( self::isContentProject() ) { # If the user has a test wiki pref, suggest a page title with prefix - $suggesttitle = (isset( $prefixdata['realtitle'] ) ? - $prefixdata['realtitle'] : $titletext ); - $suggest = self::displayPrefixedTitle( $suggesttitle, $ns ); - if ( !$title->exists() ) { - # Creating a page, so suggest to create a prefixed page - $error[] = array( 'wminc-error-unprefixed-suggest', $suggest ); - } + $suggesttitle = isset( $prefixdata['realtitle'] ) ? + $prefixdata['realtitle'] : $titletext; + $suggest = self::displayPrefixedTitle( $suggesttitle, $title->getNamespace() ); + # Suggest to create a prefixed page + $error[] = array( 'wminc-error-unprefixed-suggest', $suggest ); } else { $error = 'wminc-error-unprefixed'; } @@ -269,29 +322,19 @@ * @return Boolean */ static function checkPrefixMovePermissions( $oldtitle, $newtitle, $user, &$error ) { - global $wmincProjectSite, $wmincTestWikiNamespaces; - $prefixdata = self::analyzePrefix( $newtitle->getText() ); - $ns = $newtitle->getNamespace(); - if( !$prefixdata['error'] ) { - # if there is no error with the page title - return true; - } elseif( self::displayPrefix() == $wmincProjectSite['short'] ) { - # If user has "project" as test wiki preference, it isn't needed to check - return true; - } elseif( !in_array( $ns, $wmincTestWikiNamespaces ) ) { - # OK if it's not in one of the content namespaces - return true; + if( self::shouldWeShowUnprefixedError( $newtitle ) ) { + # there should be an error with the new page title + $error = wfMsgWikiHtml( 'wminc-error-move-unprefixed' ); + return false; } - // now there should be an error with the new page title - $error = wfMsgWikiHtml( 'wminc-error-move-unprefixed' ); - return false; + return true; } /** * Add a link to Special:ViewUserLang from Special:Contributions/USERNAME * if the user has 'viewuserlang' permission * Based on code from extension LookupUser made by Tim Starling - * @return true + * @return True */ static function efLoadViewUserLangLink( $id, $nt, &$links ) { global $wgUser; @@ -305,8 +348,6 @@ return true; } - // ########### START DEVELOPMENT STUFF ############# - /** * This loads language names. Also from CLDR if that extension is found. * @return Array with language names or empty array @@ -329,10 +370,8 @@ */ static function canWeCheckDB() { global $wmincExistingWikis, $wmincProjectDatabases; - if( !is_array( $wmincProjectDatabases ) ) { - return false; # We don't know the database names of the projects - } elseif( !isset( $wmincExistingWikis ) || !is_array( $wmincExistingWikis ) ) { - return false; # No list of databases + if( !is_array( $wmincProjectDatabases ) || !is_array( $wmincExistingWikis ) ) { + return false; # We don't know the databases } return true; # Should work now } @@ -346,11 +385,12 @@ static function getDB( $prefix ) { if( !self::canWeCheckDB() ) { return false; - } elseif( $prefix['error'] ) { + } elseif( !isset( $prefix ) || $prefix['error'] ) { return false; # shouldn't be, but you never know } global $wmincProjectDatabases; - return $prefix['lang'] . $wmincProjectDatabases[$prefix['project']]; + return preg_replace('/-/', '_', $prefix['lang'] ) . + $wmincProjectDatabases[$prefix['project']]; } /** @@ -358,7 +398,10 @@ */ static function getDBClosedWikis() { global $wmincClosedWikis; - if( !self::canWeCheckDB() ) { return false; } + if( !self::canWeCheckDB() ) { + return false; + } + # Is probably a file, but it might be that an array is given return is_array( $wmincClosedWikis ) ? $wmincClosedWikis : array_map( 'trim', file( $wmincClosedWikis ) ); } @@ -382,48 +425,66 @@ } /** - * Make the page content language depend on the test wiki - * Only works for codes that are known to MediaWiki :( - */ - static function onPageContentLanguage( $title, &$pageLang ) { - global $wmincTestWikiNamespaces; - $prefix = self::analyzePrefix( $title->getText(), /* onlyInfoPage*/ false ); - if( $prefix['error'] || !in_array( $title->getNamespace(), - $wmincTestWikiNamespaces ) ) { - return true; - } - if( $prefix['prefix'] == $title->getText() ) { - return true; # Not for info pages (prefix == title) - } - $pageLang = $prefix['lang']; - return true; - } - - /** + * If existing wiki: show message or redirect if &testwiki is set to that * Missing article on Wx/xx info pages: show welcome page * See also: IncubatorTest::onGetUserPermissionsErrors() + * @return True */ static function onShowMissingArticle( $article ) { - global $wgOut, $wmincProjects; + global $wgOut; $title = $article->getTitle(); - $prefix = self::analyzePrefix( $title->getText(), true ); - if( $prefix['error'] ) { + $prefix = self::analyzePrefix( $title->getText(), true /* only info pages */ ); + + if( $prefix['error'] ) { # We are not on info pages $prefix2 = self::analyzePrefix( $title->getText() ); if( self::getDBState( $prefix2 ) == 'existing' ) { - $projectName = $wmincProjects[$prefix2['project']]; - $link = InfoPage::getSubdomain( $prefix2['lang'], - $projectName, $prefix2['realtitle'] ); - $link = Linker::makeExternalLink( $link, $link ); - $wgOut->addHtml( '<div class="wminc-wiki-exists">' . - wfMsgHtml( 'wminc-error-wiki-exists', $link ) . - '</div>' ); + $link = self::getSubdomain( $prefix2['lang'], + $prefix2['project'], ( $title->getNsText() ? $title->getNsText() . ':' : '' ) . + $prefix2['realtitle'] ); + if( self::displayPrefix() == $prefix2['prefix'] ) { + # Redirect to the existing wiki if the user has this wiki as preference + $wgOut->redirect( $link ); + return true; + } else { + # Show a link to the existing wiki + $linker = class_exists( 'DummyLinker' ) ? new DummyLinker : new Linker; + $showLink = $linker->makeExternalLink( $link, $link ); + $wgOut->addHtml( '<div class="wminc-wiki-exists">' . + wfMsgHtml( 'wminc-error-wiki-exists', $showLink ) . + '</div>' ); + } + } elseif ( self::shouldWeShowUnprefixedError( $title ) ) { + # Unprefixed pages + if( self::isContentProject() ) { + # If the user has a test wiki pref, suggest a page title with prefix + $suggesttitle = isset( $prefix2['realtitle'] ) ? + $prefix2['realtitle'] : $title->getText(); + $suggest = self::displayPrefixedTitle( $suggesttitle, $title->getNamespace() ); + # Suggest to create a prefixed page + $wgOut->addHtml( '<div class="wminc-unprefixed-suggest">' . + wfMsgWikiHtml( 'wminc-error-unprefixed-suggest', $suggest ) . + '</div>' ); + } else { + $wgOut->addWikiMsg( 'wminc-error-unprefixed' ); + } } return true; } + + # At this point we should be on info pages ("Wx/xx[x]" pages) + # So use the InfoPage class to show a nice welcome page + # depending on whether it belongs to an existing, closed or missing wiki + if( $title->getNamespace() != NS_MAIN ) { + return true; # not for other namespaces + } $infopage = new InfoPage( $title, $prefix ); - if( self::getDBState( $prefix ) == 'existing' ) { - $infopage->mStatus = 'beforeincubator'; + $infopage->mDbStatus = $dbstate = self::getDBState( $prefix ); + if( $dbstate == 'existing' ) { + $infopage->mSubStatus = 'beforeincubator'; $wgOut->addHtml( $infopage->showExistingWiki() ); + } elseif( $dbstate == 'closed' ) { + $infopage->mSubStatus = 'imported'; + $wgOut->addHtml( $infopage->showIncubatingWiki() ); } else { $wgOut->addHtml( $infopage->showMissingWiki() ); } @@ -432,7 +493,7 @@ /** * When creating a new info page, help the user by prefilling it - * NEED TO IMPROVE THIS + * @return True */ public static function onEditFormPreloadText( &$text, &$title ) { $pagetitle = $title->getText(); @@ -451,6 +512,145 @@ return true; } + /** + * This forms a URL based on the language and project, and optionally title. + * TODO: add support for secure server, or are links automatically converted? + * @param $lang Language code + * @param $project Project code (or project name) + * @param $title Optional title on the target wiki + * @param $protocol Whether to include the protocol + * @return String + */ + public static function getSubdomain( $lang, $project, $title = '', $protocol = true ) { + global $wmincProjects; + $projectName = isset( $wmincProjects[$project] ) ? $wmincProjects[$project] : $project; + return ( $protocol ? 'http://' : '' ) . strtolower( $lang ) . '.' . + strtolower( $projectName ) . '.org' . ( $title ? '/wiki/' . $title : '' ); + } + + /** + * make "Wx/xxx/Main Page" + * @return String + */ + public static function getMainPage( $langCode, $prefix = null ) { + # Take the "mainpage" msg in the given language + $msg = wfMsgExt( 'mainpage', array( 'language' => $langCode ) ); + return isset( $prefix ) ? $prefix . '/' . $msg : $msg; + } + + /** + * Redirect if &goto=mainpage on info pages + * @return True + */ + public static function onArticleFromTitle( &$title, &$article ) { + global $wgRequest; + $prefix = IncubatorTest::analyzePrefix( $title, true ); + if( $prefix['error'] || $wgRequest->getVal('goto') != 'mainpage' ) { + return true; + } + $dbstate = self::getDBState( $prefix ); + if( !$dbstate ) { + return true; + } + if( $dbstate == 'existing' ) { + $url = self::getSubdomain( $prefix['lang'], $prefix['project'] ); + } else { + $params['redirectfrom'] = 'infopage'; + $uselang = $wgRequest->getVal( 'uselang' ); + if( $uselang ) { + $params['uselang'] = $uselang; + } + $mainpage = Title::newFromText( + self::getMainPage( $prefix['lang'], $prefix['prefix'] ) + ); + $url = $mainpage->getFullURL( $params ); + } + global $wgOut; + $wgOut->redirect( $url ); + return true; + } + + /** + * Whether we should use the feature of custom logos per project + * @param $title Title object + * @return false or Array from analyzePrefix() + */ + static function shouldWeSetCustomLogo( $title ) { + $prefix = IncubatorTest::analyzePrefix( $title->getText() ); + + # Maybe do later something like if( isContentProject() && 'recentchanges' ) { return true; } + + # return if the page does not have a valid prefix (info page is considered valid) + if( $prefix['error'] ) { + return false; + } + # display the custom logo only if &testwiki=wx/xx or the user's pref is set to the current test wiki + if( self::displayPrefix() != $prefix['prefix'] ) { + return false; + } + global $wmincTestWikiNamespaces; + # return if the page is not in one of the test wiki namespaces + if( !in_array( $title->getNamespace(), (array)$wmincTestWikiNamespaces ) ) { + return false; + } + return $prefix; + } + + /** + * Display a different logo in current test wiki + * if it is set in MediaWiki:Incubator-logo-wx/xxx + * and if accessed through &testwiki=wx/xxx + * or it the user preference is set to wx/xxx + * @return Boolean + */ + static function fnTestWikiLogo( &$out ) { + $setLogo = self::shouldWeSetCustomLogo( $out->getTitle() ); + if( !$setLogo ) { + return false; + } + global $wgLogo; + $prefixForPageTitle = preg_replace('/\//', '-', strtolower( $setLogo['prefix'] ) ); + $file = wfFindFile( wfMsgForContentNoTrans( 'Incubator-logo-' . $prefixForPageTitle ) ); + if( !$file ) { + # if MediaWiki:Incubator-logo-wx-xx(x) doesn't exist, + # try a general, default logo for that project + global $wmincProjects; + $project = $setLogo['project']; + $projectForFile = preg_replace('/ /', '-', strtolower( $wmincProjects[$project] ) ); + $imageobj = wfFindFile( wfMsg( 'wminc-logo-' . $projectForFile ) ); + if( $imageobj ) { + $thumb = $imageobj->transform( array( 'width' => 135, 'height' => 135 ) ); + $wgLogo = $thumb->getUrl(); + return true; + } + return false; + } + # Use MediaWiki:Incubator-logo-wx-xx(x) + $thumb = $file->transform( array( 'width' => 135, 'height' => 135 ) ); + $wgLogo = $thumb->getUrl(); + return true; + } + + // ########### START DEVELOPMENT STUFF ############# + + /** + * Make the page content language depend on the test wiki + * Only works for codes that are known to MediaWiki :( + */ + static function onPageContentLanguage( $title, &$pageLang ) { + global $wmincTestWikiNamespaces; + $prefix = self::analyzePrefix( $title->getText(), /* onlyInfoPage*/ false ); + if( $prefix['error'] || !in_array( $title->getNamespace(), + $wmincTestWikiNamespaces ) ) { + return true; + } + if( $prefix['prefix'] == $title->getText() ) { + return true; # Not for info pages (prefix == title) + } + $pageLang = $prefix['lang']; + return true; + } + public static function onParserFirstCallInit( &$parser ) { $parser->setFunctionHook( 'infopage', 'IncubatorTest::renderParserFunction' ); return true; @@ -498,37 +698,4 @@ preg_replace( '/whoops/', 'de test werkt', $text); return true; } - - /** - * Display a different logo in current test wiki - * if it is set in MediaWiki:Incubator-logo-wx/xxx - */ - function fnTestWikiLogo( &$out, &$sk ) { - global $wmincTestWikiNamespaces, $wgLogo; - # return if the page is not in one of the test wiki namespaces - if( !in_array( $out->getTitle()->getNamespace(), (array)$wmincTestWikiNamespaces ) ) { - return false; - } - # return if the page does not have a valid prefix (info page is valid) - $prefix = IncubatorTest::analyzePrefix( $out->getTitle() ); - if( isset( $prefix['error'] ) ) { - return false; - } - # return if MediaWiki: Incubator-logo-wx/xx(x) does not exists - $pagetitle = Title::makeTitle( NS_MEDIAWIKI, 'Incubator-logo-'.strtolower( $prefix['prefix'] ) ); - if( !$pagetitle->exists() ) { - return false; - } - $article = new Article( $pagetitle ); - if( !$article->getTitle() ) { - return false; - } - $imageobj = wfFindFile( $article->getRawText( ) ); - if ( $imageobj == null ) { - return false; - } - $thumb = $imageobj->transform( array( 'width' => 135, 'height' => 135 ) ); - $wgLogo = $thumb->getUrl(); - return true; - } } Modified: trunk/InfoPage.i18n.php =================================================================== --- trunk/InfoPage.i18n.php 2011-07-24 20:38:35 UTC (rev 28) +++ trunk/InfoPage.i18n.php 2011-07-24 20:56:05 UTC (rev 29) @@ -12,57 +12,116 @@ */ $messages['en'] = array( 'wminc-infopage-enter' => 'go to the Main Page', - 'wminc-infopage-title-open' => 'This is an open wiki', - 'wminc-infopage-text-open' => 'This is an open wiki', - 'wminc-infopage-requirements' => 'Requirements', 'wminc-unknownlang' => '(unknown language with code "$1")', - 'wminc-logo-wikipedia' => 'Wikipedia-logo-v2-en.svg', - 'wminc-logo-wiktionary' => 'Wiktionary-logo-en.svg', - 'wminc-logo-wikibooks' => 'Wikibooks-logo-en-noslogan.svg', - 'wminc-logo-wikinews' => 'Wikinews-logo-en.png', - 'wminc-logo-wikiquote' => 'Wikiquote-logo-en.svg', - 'wminc-logo-wikisource' => 'Wikisource-newberg-de.png', - 'wminc-logo-wikiversity' => 'Wikiversity-logo-en.svg', - 'wminc-logo-meta-wiki' => 'Metawiki.svg', - 'wminc-logo-wikimedia-commons' => 'Commons-logo-en.svg', - 'wminc-logo-wikispecies' => 'WikiSpecies.svg', - 'wminc-logo-mediawiki' => 'MediaWiki.svg', + 'wminc-logo-wikipedia' => 'Wikipedia-logo-v2-en.svg', # only translate if necessary + 'wminc-logo-wiktionary' => 'Wiktionary-logo-en.svg', # only translate if necessary + 'wminc-logo-wikibooks' => 'Wikibooks-logo-en-noslogan.svg', # only translate if necessary + 'wminc-logo-wikinews' => 'Wikinews-logo-en.png', # only translate if necessary + 'wminc-logo-wikiquote' => 'Wikiquote-logo-en.svg', # only translate if necessary + 'wminc-logo-wikisource' => 'Wikisource-newberg-de.png', # only translate if necessary + 'wminc-logo-wikiversity' => 'Wikiversity-logo-en.svg', # only translate if necessary + 'wminc-logo-meta-wiki' => 'Metawiki.svg', # only translate if necessary + 'wminc-logo-wikimedia-commons' => 'Commons-logo-en.svg', # only translate if necessary + 'wminc-logo-wikispecies' => 'WikiSpecies.svg', # only translate if necessary + 'wminc-logo-mediawiki' => 'MediaWiki.svg', # only translate if necessary 'wminc-manual-url' => 'Help:Manual', # only translate if necessary 'wminc-infopage-title' => '$1 $2', # only translate if necessary 'wminc-infopage-welcome' => 'Welcome to the Wikimedia Incubator, a project of the Wikimedia Foundation ([[{{MediaWiki:Aboutpage}}|About]])', 'wminc-infopage-missingwiki-text' => 'A $1 in this language does not yet exist.', 'wminc-infopage-option-startwiki' => 'If you want to start this wiki, -you can [{{fullurl:{{FULLPAGENAME}}|createmainpage=yes}} create the page] and follow [[{{MediaWiki:Wminc-manual-url}}|our manual]].', +you can [{{fullurl:{{FULLPAGENAME}}|action=edit}} create the page] and follow [[{{MediaWiki:Wminc-manual-url}}|our manual]].', 'wminc-infopage-option-languages-existing' => 'You can search for [http://www.$1.org existing language editions of $1].', 'wminc-infopage-option-sisterprojects-existing' => 'You can search for existing projects in this language:', 'wminc-infopage-option-sisterprojects-other' => 'You can search for other projects in this language:', 'wminc-infopage-option-multilingual' => 'You can go to a multilingual wiki:', 'wminc-infopage-createmainpage' => 'Enter the word "Main Page" in this language:', - 'wminc-infopage-prefill' => '{{#infopage:open}}', # need to improve this! + 'wminc-infopage-prefill' => '{{test wiki +| status = tocreate +| language = Language name in English +| meta = <!-- is there a request on Meta-Wiki? --> +}}', # do not translate 'wminc-infopage-contribute' => 'If you know this language, you are encouraged to contribute!', - 'wminc-infopage-status-open' => 'This is a new Incubator wiki that is not yet verified by the language committee.', - 'wminc-infopage-status-eligible' => 'This Incubator wiki has been marked as eligible by the language committee.', - 'wminc-infopage-status-imported' => 'This Incubator wiki has been imported from xyz.wikiproject.org after that wiki was closed.', - 'wminc-infopage-status-approved' => 'This Incubator wiki has been approved by the language committee and will soon be created.', + 'wminc-infopage-status-imported' => 'This Incubator wiki has been imported from $1 after the wiki was closed.', 'wminc-infopage-status-created' => 'This project has been approved by the language committee and is now available at $1.', 'wminc-infopage-status-beforeincubator' => 'This project was created before Wikimedia Incubator started and is available at $1.', ); +/** Message documentation (Message documentation) + * @author SPQRobin + */ +$messages['qqq'] = array( + 'wminc-infopage-enter' => 'Text of a link to the Main Page of a test wiki at Incubator.', + 'wminc-infopage-welcome' => 'Do not change <tt><nowiki>{{MediaWiki:Aboutpage}}</nowiki></tt>.', + 'wminc-infopage-missingwiki-text' => "'''$1''' is a project: Wikipedia/Wiktionary/...", + 'wminc-infopage-option-languages-existing' => "'''$1''' is the project name (Wikipedia, Wikinews, ...).", + 'wminc-infopage-option-sisterprojects-existing' => 'Followed by clickable logos of projects Wikipedia, Wiktionary, Wikibooks, ...', + 'wminc-infopage-option-sisterprojects-other' => 'Followed by clickable logos of projects Wikipedia, Wiktionary, Wikibooks, ...', + 'wminc-infopage-option-multilingual' => 'Followed by clickable logos of Meta, Commons, Wikispecies and MediaWiki.', + 'wminc-infopage-createmainpage' => 'Followed by an input box to enter the translation for "Main Page".', + 'wminc-infopage-status-imported' => "'''$1''' is a URL to the closed wiki.", + 'wminc-infopage-status-created' => "'''$1''' is a URL to the existing wiki.", + 'wminc-infopage-status-beforeincubator' => "'''$1''' is a URL to the existing wiki.", +); + +/** Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца)) + * @author EugeneZelenko + * @author Jim-by + */ +$messages['be-tarask'] = array( + 'wminc-infopage-enter' => 'перайсьці на Галоўную старонку', + 'wminc-unknownlang' => '(невядомая мова з кодам «$1»)', + 'wminc-infopage-welcome' => 'Вітаем у Інкубатары Вікімэдыя, праекце Фундацыі «Вікімэдыя» ([[{{MediaWiki:Aboutpage}}|Падрабязьней]])', + 'wminc-infopage-missingwiki-text' => '$1 на гэтай мове яшчэ не існуе.', + 'wminc-infopage-option-startwiki' => 'Калі Вы жадаеце распачаць гэтую вікі, +Вы можаце [{{fullurl:{{FULLPAGENAME}}|action=edit}} стварыць старонку] і выканаць [[{{MediaWiki:Wminc-manual-url}}|нашыя інструкцыі]].', + 'wminc-infopage-option-languages-existing' => 'Вы можаце пашукаць [http://www.$1.org існуючыя моўныя варыянты $1].', + 'wminc-infopage-option-sisterprojects-existing' => 'Вы можаце пашукаць існуючыя праекты на гэтай мове:', + 'wminc-infopage-option-sisterprojects-other' => 'Вы можаце пашукаць іншыя праекты на гэтай мове:', + 'wminc-infopage-option-multilingual' => 'Вы можаце перайсьці ў шматмоўную вікі:', + 'wminc-infopage-createmainpage' => 'Увядзіце словы «Галоўная старонка» на гэтай мове:', + 'wminc-infopage-contribute' => 'Калі Вы ведаеце гэтую мову, Вы можаце рабіць унёсак!', + 'wminc-infopage-status-imported' => 'Гэтая вікі ў інкубатары была імпартаваная з $1 пасьля таго, як вікі была закрытая.', + 'wminc-infopage-status-created' => 'Гэты праект быў зацьверджаны моўным камітэтам, і цяпер ён даступны на $1.', + 'wminc-infopage-status-beforeincubator' => 'Гэты праект быў створаны перад пачаткам функцыянаваньня Інкубатара фундацыі «Вікімэдыя» і ён даступны на $1.', +); + /** German (Deutsch) + * @author Kghbln + * @author MF-Warburg * @author Polletfa - * @author Raymond */ $messages['de'] = array( - 'wminc-infopage-contribute' => 'Wenn du diese Sprache beherrschst, bist du herzlich willkommen, mitzumachen!', + 'wminc-infopage-enter' => 'Geh zur Haupseite', + 'wminc-unknownlang' => '(unbekannte Sprache mit Code „$1“)', + 'wminc-infopage-welcome' => 'Willkommen beim Wikimedia Incubator, einem Projekt der Wikimedia Foundation ([[{{MediaWiki:Aboutpage}}|Über]])', + 'wminc-infopage-missingwiki-text' => 'Ein $1 in dieser Sprache ist noch nicht vorhanden.', + 'wminc-infopage-option-startwiki' => 'Sofern du dieses Wiki starten möchtest, +kannst du [{{fullurl:{{FULLPAGENAME}}|action=edit}} die Seite erstellen] und gemäß [[{{MediaWiki:Wminc-manual-url}}|unserer Anleitung]] vorgehen.', + 'wminc-infopage-option-languages-existing' => 'Du kannst auf [http://www.$1.org nach vorhandenen Sprachausgaben von $1] suchen.', + 'wminc-infopage-option-sisterprojects-existing' => 'Du kannst nach vorhandenen Projekten in dieser Sprache suchen:', + 'wminc-infopage-option-sisterprojects-other' => 'Du kannst nach anderen Projekten in dieser Sprache suchen:', + 'wminc-infopage-option-multilingual' => 'Du kannst zu einem mehrsprachigen Wiki gehen:', + 'wminc-infopage-createmainpage' => 'Gib das Wort für „Hauptseite“ in dieser Sprache ein:', + 'wminc-infopage-contribute' => 'Sofern du diese Sprache beherrschst, bist du herzlich willkommen, mitzumachen!', + 'wminc-infopage-status-imported' => 'Dieses Wiki des Incubators wurde von $1 importiert, nachdem es geschlossen wurde.', + 'wminc-infopage-status-created' => 'Dieses Projekt wurde vom Sprachkomitee genehmigt und ist nun unter $1 verfügbar..', + 'wminc-infopage-status-beforeincubator' => 'Dieses Projekt wurde erstellt, bevor es den Wikimedia Incubator gab und ist unter $1 verfügbar.', ); /** German (formal address) (Deutsch (Sie-Form)) + * @author Kghbln * @author Polletfa - * @author Raymond */ $messages['de-formal'] = array( + 'wminc-infopage-option-startwiki' => 'Sofern Sie dieses Wiki starten möchten, +können Sie [{{fullurl:{{FULLPAGENAME}}|action=edit}} die Seite erstellen] und gemäß [[{{MediaWiki:Wminc-manual-url}}|unserer Anleitung]] vorgehen.', + 'wminc-infopage-option-languages-existing' => 'Sie können auf [http://www.$1.org nach vorhandenen Sprachausgaben von $1] suchen.', + 'wminc-infopage-option-sisterprojects-existing' => 'Sie können nach vorhandenen Projekten in dieser Sprache suchen:', + 'wminc-infopage-option-sisterprojects-other' => 'Sie können nach anderen Projekten in dieser Sprache suchen:', + 'wminc-infopage-option-multilingual' => 'Sie können ein mehrsprachiges Wiki aufsuchen:', + 'wminc-infopage-createmainpage' => 'Geben Sie das Wort für „Hauptseite“ in dieser Sprache ein:', 'wminc-infopage-contribute' => 'Wenn Sie diese Sprache beherrschen, sind Sie herzlich willkommen, mitzumachen!', ); @@ -73,13 +132,68 @@ 'wminc-infopage-contribute' => '¡Si entiendes esta lengua, te animamos a contribuir!', ); +/** Persian (فارسی) + * @author Mjbmr + */ +$messages['fa'] = array( + 'wminc-infopage-enter' => 'رفتن به صفحهٔ اصلی', + 'wminc-unknownlang' => '(کد زبان ناشناخته: «$1»)', + 'wminc-infopage-welcome' => 'به ویکیرشد، پروژهای از بنیاد ویکیمدیا خوشآمدید ([[{{MediaWiki:Aboutpage}}|درباره]])', + 'wminc-infopage-missingwiki-text' => 'یک $1 از این زبان، هنوز وجود ندارد.', + 'wminc-infopage-option-startwiki' => 'اگر شما میخواهید این ویکی را شروع کنید، +شما میتوانید [{{fullurl:{{FULLPAGENAME}}|action=edit}} صفحه را ایجاد کنید] و از [[{{MediaWiki:Wminc-manual-url}}|راهنمای ما]] پیروی کنید.', + 'wminc-infopage-option-languages-existing' => 'شما میتوانید به دنبال [http://www.$1.org نسخههای زبان موجود از $1] بگردید.', + 'wminc-infopage-option-sisterprojects-existing' => 'شما میتوانید به دنبال پروژههای موجود از این زبان بگردید:', + 'wminc-infopage-option-sisterprojects-other' => 'شما میتوانید به دنبال پروژههای دیگر این زبان بگردید:', + 'wminc-infopage-option-multilingual' => 'شما میتوانید به ویکی چند زبانه بروید:', + 'wminc-infopage-createmainpage' => 'کلمه «صفحهٔ اصلی» برای این زبان را وارد کنید:', + 'wminc-infopage-contribute' => 'اگر شما این زبان را میدانید، شما به مشارکت در آن تشویق شدهاید!', + 'wminc-infopage-status-imported' => 'این ویکی در حال رشد پس از بسته شدن از نشانی $1 وارد شده است.', + 'wminc-infopage-status-created' => 'این پروژه توسط کمیته زبان تصویب شده است و در نشانی $1 در دسترس است.', + 'wminc-infopage-status-beforeincubator' => 'این پروژه قبل از شروع ویکیرشد، ایجاد شده است و در نشانی $1 در دسترس است.', +); + /** French (Français) - * @author + * @author Seb35 */ $messages['fr'] = array( + 'wminc-infopage-enter' => 'aller à la page principale', + 'wminc-unknownlang' => '(langue inconnue avec le code « $1 »)', + 'wminc-infopage-welcome' => 'Bienvenue sur l’Incubateur Wikimedia, un projet de la Wikimedia Foundation ([[{{MediaWiki:Aboutpage}}|à propos]])', + 'wminc-infopage-missingwiki-text' => '$1 dans cette langue n’existe pas.', + 'wminc-infopage-option-startwiki' => 'Si vous voulez démarrer ce wiki, vous pouvez [{{fullurl:{{FULLPAGENAME}}|action=edit}} créer cette page] et suivre [[{{MediaWiki:Wminc-manual-url}}|notre manuel]].', + 'wminc-infopage-option-languages-existing' => 'Vous pouvez chercher des [http://www.$1.org versions linguistiques existantes de $1].', + 'wminc-infopage-option-sisterprojects-existing' => 'Vous pouvez chercher des projets existants dans cette langue :', + 'wminc-infopage-option-sisterprojects-other' => 'Vous pouvez chercher d’autres projets dans cette langue :', + 'wminc-infopage-option-multilingual' => 'Vous pouvez aller vers un wiki multilingue :', + 'wminc-infopage-createmainpage' => 'Entrez le mot « Page principale » dans votre langue :', 'wminc-infopage-contribute' => 'Si vous parlez cette langue, vous êtes invités à contribuer !', + 'wminc-infopage-status-imported' => 'Ce wiki Incubateur a été importé depuis $1 après que le wiki ait été fermé.', + 'wminc-infopage-status-created' => 'Ce projet a été approuvé par le comité linguistique et est maintenant disponible sur $1.', + 'wminc-infopage-status-beforeincubator' => 'Ce projet a été créé après que l’Incubateur Wikimedia ait été lancé et est disponible sur $1.', ); +/** Interlingua (Interlingua) + * @author McDutchie + */ +$messages['ia'] = array( + 'wminc-infopage-enter' => 'vader al pagina principal', + 'wminc-unknownlang' => '(lingua incognite con codice "$1")', + 'wminc-infopage-welcome' => 'Benvenite a Wikimedia Incubator, un projecto del Fundation Wikimedia ([[{{MediaWiki:Aboutpage}}|a proposito]])', + 'wminc-infopage-missingwiki-text' => 'Un $1 in iste lingua non existe ancora.', + 'wminc-infopage-option-startwiki' => 'Si tu vole comenciar iste wiki, +tu pote [{{fullurl:{{FULLPAGENAME}}|action=edit}} crear le pagina] e sequer [[{{MediaWiki:Wminc-manual-url}}|nostre manual]].', + 'wminc-infopage-option-languages-existing' => 'Tu pote cercar [http://www.$1.org existente editiones de lingua de $1].', + 'wminc-infopage-option-sisterprojects-existing' => 'Tu pote cercar projectos existente in iste lingua:', + 'wminc-infopage-option-sisterprojects-other' => 'Tu pote cercar altere projectos in iste lingua:', + 'wminc-infopage-option-multilingual' => 'Tu pote vader a un wiki multilingue:', + 'wminc-infopage-createmainpage' => 'Entra le parola(s) pro "pagina principal" in iste lingua:', + 'wminc-infopage-contribute' => 'Si tu cognosce iste lingua, tu es incoragiate a contribuer!', + 'wminc-infopage-status-imported' => 'Iste wiki incubator ha essite importate ex $1 post le clausura del wiki.', + 'wminc-infopage-status-created' => 'Iste projecto ha essite approbate per le comité linguistic e es ora disponibile a $1.', + 'wminc-infopage-status-beforeincubator' => 'Iste projecto ha essite create ante le comenciamento de Wikimedia Incubator e es disponibile a $1.', +); + /** Korean (한국어) * @author Albamhandae */ @@ -94,6 +208,17 @@ 'wminc-infopage-contribute' => 'Wann De di Shprooch kanns, dann bes De opjeroofe, beizedraare!', ); +/** Luxembourgish (Lëtzebuergesch) + * @author Robby + */ +$messages['lb'] = array( + 'wminc-infopage-enter' => "Gitt op d'Haaptsäit", + 'wminc-unknownlang' => '(onbekannte Sprooch mam Code "$1")', + 'wminc-infopage-missingwiki-text' => '$1 gëtt et an dëser Sprooch nach net', + 'wminc-infopage-option-languages-existing' => 'Dir kënnt no [http://www.$1.org Sproochversiounen, déi et vun $1 gëtt, sichen].', + 'wminc-infopage-createmainpage' => 'Gitt d\'Wuert "Haaptsäit" fir dës Sprooch an:', +); + /** Lithuanian (Lietuvių) * @author Matasg */ @@ -101,22 +226,68 @@ 'wminc-infopage-contribute' => 'Jei suprantate, ar kalbate šią kalba, esate kviečiama(s) prisidėti!', ); +/** Macedonian (Македонски) + * @author Bjankuloski06 + */ +$messages['mk'] = array( + 'wminc-infopage-enter' => 'оди на Главна страница', + 'wminc-unknownlang' => '(непознат јазик со код „$1“)', + 'wminc-logo-wikipedia' => 'Wikipedia-logo-v2-mk.svg', + 'wminc-infopage-welcome' => 'Добредојдовте на Инкубаторот на Викимедија - проект на Фондацијата Викимедија ([[{{MediaWiki:Aboutpage}}|За проектот]])', + 'wminc-infopage-missingwiki-text' => 'На овој јазик сè уште не постои $1.', + 'wminc-infopage-option-startwiki' => 'Ако сакате да го започнете ова вики, +тогаш можете да ја [{{fullurl:{{FULLPAGENAME}}|action=edit}} создадете страницата] и да го проследите [[{{MediaWiki:Wminc-manual-url}}|нашиот прирачник]].', + 'wminc-infopage-option-languages-existing' => 'Можете да ги пребарате [http://www.$1.org постоечките јазични изданија на $1].', + 'wminc-infopage-option-sisterprojects-existing' => 'Можете да ги пребарате постоечките проекти на овој јазик:', + 'wminc-infopage-option-sisterprojects-other' => 'Можете да пребарате други проекти на овој јазик:', + 'wminc-infopage-option-multilingual' => 'Можете да појдете на повеќејазично вики:', + 'wminc-infopage-createmainpage' => 'Внесете го зборот „Главна страница“ на овој јазик:', + 'wminc-infopage-contribute' => 'Ако имате познавања од овој јазик, ви препорачуваме да учествувате!', + 'wminc-infopage-status-imported' => 'Ова вики на Инкубаторот е увезено од $1, по затворањето на викито.', + 'wminc-infopage-status-created' => 'Овој проект е одобрен од јазичната комисија и сега е достапен на $1.', + 'wminc-infopage-status-beforeincubator' => 'Овој проект е создаден пред започнувањето на Инкубаторот на Викимедија и е достапен на $1.', +); + /** Dutch (Nederlands) * @author SPQRobin */ $messages['nl'] = array( - 'testwiki-enter' => 'Ga naar de hoofdpagina', + 'wminc-infopage-enter' => 'ga naar de Hoofdpagina', 'wminc-unknownlang' => '(onbekende taal met code "$1")', - 'wminc-infopage-tocreate-welcome' => 'Welkom op Wikimedia Incubator, een project van de Wikimedia Foundation ([[{{MediaWiki:Aboutpage}}|Meer info]])', - 'wminc-infopage-tocreate-text' => 'Een $1 in deze taal bestaat nog niet.', + 'wminc-infopage-welcome' => 'Welkom bij de Wikimedia Incubator, een project van de Wikimedia Foundation ([[{{MediaWiki:Aboutpage}}|Meer info]])', + 'wminc-infopage-missingwiki-text' => 'Een $1 in deze taal bestaat nog niet.', + 'wminc-infopage-option-startwiki' => 'Als u deze wiki wilt starten, kunt u [{{fullurl:{{FULLPAGENAME}}|action=edit}} de pagina aanmaken] en [[{{MediaWiki:Wminc-manual-url}}|onze handleiding]] volgen.', + 'wminc-infopage-option-languages-existing' => 'U kunt naar [http://www.$1.org bestaande taalversies van $1] zoeken.', + 'wminc-infopage-option-sisterprojects-existing' => 'U kunt naar bestaande projecten in deze taal zoeken:', + 'wminc-infopage-option-sisterprojects-other' => 'U kunt naar andere projecten in deze taal zoeken:', + 'wminc-infopage-option-multilingual' => 'U kunt naar een meertalige wiki gaan:', + 'wminc-infopage-createmainpage' => 'Geef het woord "Hoofdpagina" op in deze taal:', 'wminc-infopage-contribute' => 'Als u deze taal kent, wordt u aangemoedigd om bij te dragen!', + 'wminc-infopage-status-imported' => 'Deze Incubator-wiki werd geïmporteerd van $1 nadat die wiki is gesloten.', + 'wminc-infopage-status-created' => 'Dit project werd goedgekeurd door het taalcomité en is nu beschikbaar op $1.', + 'wminc-infopage-status-beforeincubator' => 'Dit project is gemaakt voordat Wikimedia Incubator begon en is beschikbaar op $1.', ); /** Portuguese (Português) * @author Carla404 + * @author Hamilton Abreu */ $messages['pt'] = array( - 'wminc-infopage-contribute' => 'Se você fala este idioma, está convidado a contribuir!', + 'wminc-infopage-enter' => 'ir para a Página principal', + 'wminc-unknownlang' => '(língua desconhecida, com o código "$1")', + 'wminc-infopage-welcome' => 'Bem-vindo(a) Incubadora Wikimedia, um projecto da Wikimedia Foundation ([[{{MediaWiki:Aboutpage}}|Sobre]])', + 'wminc-infopage-missingwiki-text' => 'Ainda não existe um projecto $1 nesta língua.', + 'wminc-infopage-option-startwiki' => 'Se pretende iniciar esta wiki, +pode [{{fullurl:{{FULLPAGENAME}}|action=edit}} criar a página] e seguir o [[{{MediaWiki:Wminc-manual-url}}|manual]].', + 'wminc-infopage-option-languages-existing' => 'Pode pesquisar as [http://www.$1.org edições de $1 nas línguas existentes].', + 'wminc-infopage-option-sisterprojects-existing' => 'Pode pesquisar os projectos existentes nesta língua:', + 'wminc-infopage-option-sisterprojects-other' => 'Pode pesquisar outros projectos nesta língua:', + 'wminc-infopage-option-multilingual' => 'Pode visitar uma wiki multilingue:', + 'wminc-infopage-createmainpage' => 'Introduza o termo "Página principal" nesta língua:', + 'wminc-infopage-contribute' => 'Se conhece esta língua, está convidado a colaborar!', + 'wminc-infopage-status-imported' => 'Esta wiki da Incubadora foi importada de $1 após a wiki ter sido fechada.', + 'wminc-infopage-status-created' => 'Este projecto foi aprovado pelo comité linguístico e está agora disponível em $1.', + 'wminc-infopage-status-beforeincubator' => 'Este projecto foi criado antes do início da Incubadora Wikimedia e está disponível em $1.', ); /** Russian (Русский) @@ -160,3 +331,4 @@ $messages['zh-hans'] = array( 'wminc-infopage-contribute' => '如果您会这门语言,欢迎您做出贡献!', ); + Modified: trunk/InfoPage.php =================================================================== --- trunk/InfoPage.php 2011-07-24 20:38:35 UTC (rev 28) +++ trunk/InfoPage.php 2011-07-24 20:56:05 UTC (rev 29) @@ -1,6 +1,6 @@ <?php /** - * Implements the "info page" + * Implements the "info page" (Wx/xx pages) 'missing' showMissingWiki() A [Project] in this language does not yet exist. @@ -21,6 +21,7 @@ class InfoPage { public function __construct( $title, $prefixdata ) { global $wmincProjects; + $this->mTitle = $title; $this->mPrefix = $prefixdata['prefix']; $this->mLangCode = $prefixdata['lang']; $this->mProjectCode = $prefixdata['project']; @@ -29,54 +30,42 @@ if( isset( $prefixdata['error'] ) || $title->getNamespace() != NS_MAIN ) { return; } - $this->mLangNames = IncubatorLanguages::getLanguageNames(); - $this->mLangsData = IncubatorLanguages::loadLanguagesData(); - $this->mThisLangData = ( isset( $this->mLangsData[$this->mLangCode] ) ? - $this->mLangsData[$this->mLangCode] : array( 'type' => 'open' ) ); + $this->mDBStatus = ''; + $this->mSubStatus = ''; + $this->mThisLangData = array( 'type' => 'valid' ); # For later code check feature + $this->mLangNames = IncubatorTest::getLanguageNames(); $this->mLangName = ( isset( $this->mLangNames[$this->mLangCode] ) ? $this->mLangNames[$this->mLangCode] : wfMsg( 'wminc-unknownlang', $this->mLangCode ) ); return; } - /* - * Either rediret to the subdomain, or to the main page of the test wiki - * In the second case, it adds &redirectfrom and &uselang=xx if set + /** + * Small convenience function to display a (clickable) logo + * @param $project Project name */ - public function redirectToMainPage() { - global $wgOut, $wgRequest; - if( in_array( $this->mStatus, array( 'created', 'beforeincubator' ) ) ) { - $url = $this->getSubdomain( $this->mLangCode, $this->mProjectName ); - } else { - $params = 'redirectfrom=infopage'; - $uselang = $wgRequest->getVal( 'uselang' ); - if( $uselang ) { - $params .= '&uselang=' . $uselang; - } - $mainpage = Title::newFromText( $this->getMainPage() ); - $url = $mainpage->getFullURL( $params ); - } - $wgOut->redirect( $url ); - return; - } - - # Small convenience function to display a (clickable) logo - public function makeLogo( $project, $clickable = true, $width = 25, $height = '', $url = '', $args = '' ) { + public function makeLogo( $project, $clickable = true, $width = 25, $height = '', $url = '', $args = array() ) { + global $wgUser; $projectForFile = preg_replace('/ /', '-', strtolower( $project ) ); $imageobj = wfFindFile( wfMsg( 'wminc-logo-' . $projectForFile ) ); - if ( $imageobj ) { - $thumb = $imageobj->transform( array( 'width' => $width ) ); - $logo = '<img src="' . $thumb->getUrl() . - '" title="'.$project.'" alt="'.$project. - '" width="'.$width.'"'.($height ? ' height="'.$height.'"' : '').' '.$args.' />'; - } else { - $logo = $project; # image not found + $useUrl = $url ? $url : 'http://www.'.strtolower( $project ).'.org/'; + if ( !$imageobj ) { # image not found + if( !$clickable ) { + return $logo; + } + return $wgUser->getSkin()->makeExternalLink( $useUrl, $project, false ); } if( $clickable ) { - $useurl = ($url ? $url : 'http://www.'.strtolower( $project ).'.org/'); - return '<a href="'.$useurl.'" title="'.$project.'">'.$logo.'</a>'; + $args['link-url'] = $useUrl; } else { - return $logo; + $args['no-link'] = true; } + $handlerParams['width'] = $width; + if( $height ) { + $handlerParams['height'] = $height; + } + return $wgUser->getSkin()->makeImageLink2( $this->mTitle, $imageobj, + array( 'alt' => $project, 'caption' => $project ) + $args, $handlerParams + ); } public function listOtherProjects() { @@ -84,9 +73,9 @@ $otherProjects = $wmincProjects + $wmincSisterProjects; foreach( $otherProjects as $code => $name ) { $listOtherProjects[$code] = '<li>' . $this->makeLogo( $name, true, - 75, NULL, $this->getSubdomain( $this->mLangCode, $name ) ) . '</li>'; + 75, null, IncubatorTest::getSubdomain( $this->mLangCode, $name ) ) . '</li>'; } - unset($listOtherProjects[$this->mProjectCode]); + unset( $listOtherProjects[$this->mProjectCode] ); return '<ul class="wminc-infopage-otherprojects">' . implode( '', $listOtherProjects ) . '</ul>'; } @@ -94,50 +83,21 @@ public function listMultilingualProjects() { global $wmincMultilingualProjects; if( !is_array( $wmincMultilingualProjects ) ) { return; } - foreach($wmincMultilingualProjects as $url => $name) { + foreach( $wmincMultilingualProjects as $url => $name ) { $list[$url] = '<li>' . $this->makeLogo( $name, true, - 75, NULL, 'http://'.$url.'/') . '</li>'; + 75, null, 'http://'.$url.'/') . '</li>'; } return '<ul class="wminc-infopage-multilingualprojects">' . implode( '', $list ) . '</ul>'; } - # TODO: add support for secure server? - static function getSubdomain( $lang, $project, $title = '', $protocol = true ) { - return ( $protocol ? 'http://' : '' ) . strtolower( $lang ) . '.' . - strtolower( $project ) . '.org' . ( $title ? '/wiki/' . $title : '' ); - } - - # make "Wx/xxx/Main Page" - public function getMainPage( $withprefix = true ) { - # Get the provided value, otherwise take the "mainpage" msg - # in the language of this test wiki - $msg = ( isset( $this->mMainPage ) ? $this->mMainPage : - wfMsgExt( 'mainpage', array( 'language' => $this->mLangCode ) ) ); - if( !$withprefix ) { return $msg; } - return $this->mPrefix . '/' . $msg; - } - - public function createMainPage() { - return Html::rawElement( 'span', array( 'class' => 'wminc-infopage-createmainpage' ), - Html::element( 'label', array( 'for' => 'createmainpage' ), - wfMsg( 'wminc-infopage-createmainpage' ) ) . ' ' . - Html::input( 'createmainpage', $this->getMainPage( false ) ) . ' ' . - Html::element( 'button', array( 'type' => 'submit' ), '→' ) - ); - } - public function showWelcome() { return Html::rawElement( 'div', array( 'class' => 'wminc-infopage-welcome' ), wfMsgWikiHtml( 'wminc-infopage-welcome' ) ); } public function StandardInfoPage( $beforetitle, $aftertitle, $content ) { - global $wgRequest, $wgLang, $wgOut, $wmincScriptDir; - # Redirect to real main page if URL is Wx/xxx?goto=mainpage - if( $wgRequest->getVal('goto') == 'mainpage' ) { - $this->redirectToMainPage(); - } + global $wgLang, $wgOut; $wgOut->addModules( 'WikimediaIncubator.InfoPage' ); return Html::rawElement( 'div', array( 'class' => 'wminc-infopage plainlinks', 'lang' => $wgLang->getCode(), 'dir' => $wgLang->getDir() ), @@ -152,17 +112,23 @@ } public function showMissingWiki() { - global $wgRequest; - $content = Html::rawElement( 'div', array( 'class' => 'wminc-infopage-status' ), - wfMsgWikiHtml( 'wminc-infopage-missingwiki-text', $this->mProjectName, $this->mLangName ) ) . + $content = Html::rawElement( 'div', + array( 'class' => 'wminc-infopage-status' ), + wfMsgWikiHtml( 'wminc-infopage-missingwiki-text', + $this->mProjectName, $this->mLangName ) + ) . Html::rawElement( 'ul', array( 'class' => 'wminc-infopage-options' ), - Html::rawElement( 'li', null, wfMsgWikiHtml( 'wminc-infopage-option-startwiki', $this->mProjectName ) . - # TODO: create main page feature - ( $wgRequest->getVal( 'createmainpage' ) ? '<br />' . $this->CreateMainPage() : '') ) . - Html::rawElement( 'li', null, wfMsgWikiHtml( 'wminc-infopage-option-languages-existing', $this->mProjectName ) ) . - Html::rawElement( 'li', null, wfMsgWikiHtml( 'wminc-infopage-option-sisterprojects-existing' ) . - $this->listOtherProjects() ) . - Html::rawElement( 'li', null, wfMsgWikiHtml( 'wminc-infopage-option-multilingual' ) . + Html::rawElement( 'li', null, + wfMsgExt( 'wminc-infopage-option-startwiki', + array( 'parseinline' ), $this->mProjectName ) ) . + Html::rawElement( 'li', null, + wfMsgExt( 'wminc-infopage-option-languages-existing', + array( 'parseinline' ), $this->mProjectName ) ) . + Html::rawElement( 'li', null, + wfMsgExt( 'wminc-infopage-option-sisterprojects-existing', + array( 'parseinline' ) ) . $this->listOtherProjects() ) . + Html::rawElement( 'li', null, + wfMsgExt( 'wminc-infopage-option-multilingual', array( 'parseinline' ) ) . $this->listMultilingualProjects() ) ); return $this->StandardInfoPage( $this->showWelcome(), '', $content ); @@ -170,30 +136,34 @@ public function showIncubatingWiki() { global $wgUser; - $status = isset( $this->mStatus ) ? $this->mStatus : ''; $bug = isset( $this->mBug ) ? $this->mBug : ''; if( $this->mThisLangData['type'] != 'invalid' ) { $gotoMainPage = Html::rawElement( 'span', array( 'class' => 'wminc-infopage-entertest' ), - '→ ' . $wgUser->getSkin()->link( Title::newFromText( $this->getMainPage() ), - wfMsgNoTrans( 'wminc-infopage-enter' ) ) ); + '→ ' . $wgUser->getSkin()->link( + Title::newFromText( IncubatorTest::getMainPage( $this->mLangCode, $this->mPrefix ) ), + wfMsgNoTrans( 'wminc-infopage-enter' ) + ) + ); } - $content = ''; - $content .= Html::element( 'div', array( 'class' => 'wminc-infopage-status' ), wfMsg( 'wminc-infopage-status-' . $status ) ); - if( $status != 'approved' && $this->mThisLangData['type'] != 'invalid' ) { - $content .= Html::element( 'div', array( 'class' => 'wminc-infopage-contribute' ), wfMsg( 'wminc-infopage-contribute' ) ); + $subdomain = IncubatorTest::getSubdomain( $this->mLangCode, $this->mProjectName ); + $subdomainLink = $wgUser->getSkin()->makeExternalLink( $subdomain, $subdomain ); + $content = Html::rawElement( 'div', array( 'class' => 'wminc-infopage-status' ), + wfMsgWikiHtml( 'wminc-infopage-status-' . $this->mSubStatus, $subdomainLink ) ); + if( $this->mSubStatus != 'approved' && $this->mThisLangData['type'] != 'invalid' ) { + $content .= Html::element( 'div', + array( 'class' => 'wminc-infopage-contribute' ), + wfMsg( 'wminc-infopage-contribute' ) ); } - $content .= wfMsg( 'wminc-infopage-text-' . $status, array( $status, 'Lol!', '', $bug ) ); return $this->StandardInfoPage( '', $gotoMainPage, $content ); } public function showExistingWiki() { - global $wgLang; + global $wgLang, $wgUser; $created = isset( $this->mCreated ) ? $this->mCreated : ''; - $status = isset( $this->mStatus ) ? $this->mStatus : ''; $bug = isset( $this->mBug ) ? $this->mBug : ''; - $subdomain = self::getSubdomain( $this->mLangCode, $this->mProjectName ); - $subdomainLink = Linker::makeExternalLink( $subdomain, $subdomain ); + $subdomain = IncubatorTest::getSubdomain( $this->mLangCode, $this->mProjectName ); + $subdomainLink = $wgUser->getSkin()->makeExternalLink( $subdomain, $subdomain ); if( $this->mThisLangData['type'] != 'invalid' ) { $gotoSubdomain = Html::rawElement( 'span', array( 'class' => 'wminc-infopage-entertest' ), @@ -201,7 +171,7 @@ } $content = Html::rawElement( 'div', array( 'class' => 'wminc-infopage-status' ), - wfMsg( 'wminc-infopage-status-' . $status, $subdomainLink ) + wfMsg( 'wminc-infopage-status-' . $this->mSubStatus, $subdomainLink ) ) . Html::rawElement( 'ul', array( 'class' => 'wminc-infopage-options' ), Html::rawElement( 'li', null, wfMsgWikiHtml( 'wminc-infopage-option-sisterprojects-other' ) . $this->listOtherProjects() ) . Modified: trunk/WikimediaIncubator.php =================================================================== --- trunk/WikimediaIncubator.php 2011-07-24 20:38:35 UTC (rev 28) +++ trunk/WikimediaIncubator.php 2011-07-24 20:56:05 UTC (rev 29) @@ -15,15 +15,11 @@ 'path' => __FILE__, 'name' => 'Wikimedia Incubator', 'author' => array( 'SPQRobin', 'Hydriz' ), - 'version' => 'dev, synced to 3.2 in svn', + 'version' => 'dev, synced to 4.0 in svn', 'url' => 'http://www.mediawiki.org/wiki/Extension:WikimediaIncubator', 'descriptionmsg' => 'wminc-desc', ); -/* Config */ -$wgGroupPermissions['*']['viewuserlang'] = false; -$wgGroupPermissions['sysop']['viewuserlang'] = true; - /* General (globals and/or configuration) */ $wmincPref = 'incubatortestwiki'; // Name of the preference $dir = dirname( __FILE__ ) . '/'; @@ -39,6 +35,17 @@ 'q' => 'Wikiquote', 'n' => 'Wikinews', ); +# Sister projects is here defined as projects that are not on Incubator +$wmincSisterProjects = array( + 's' => 'Wikisource', + 'v' => 'Wikiversity', +); +$wmincMultilingualProjects = array( + 'meta.wikimedia.org' => 'Meta-Wiki', + 'commons.wikimedia.org' => 'Wikimedia Commons', + 'species.wikimedia.org' => 'Wikispecies', + 'mediawiki.org' => 'MediaWiki', +); $wmincProjectSite = array( 'name' => 'Incubator', 'short' => 'inc', @@ -66,18 +73,14 @@ $wgExtensionMessagesFiles['WikimediaIncubator'] = $dir . 'WikimediaIncubator.i18n.php'; -$wgResourceModules['WikimediaIncubator.InfoPage'] = array( - 'styles' => 'InfoPage.css', - 'localBasePath' => dirname(__FILE__), - 'remoteExtPath' => $wmincScriptDir, -); - /* Special:ViewUserLang */ $wgAutoloadClasses['SpecialViewUserLang'] = $dir . 'SpecialViewUserLang.php'; $wgSpecialPages['ViewUserLang'] = 'SpecialViewUserLang'; $wgSpecialPageGroups['ViewUserLang'] = 'users'; $wgAvailableRights[] = 'viewuserlang'; $wgHooks['ContributionsToolLinks'][] = 'IncubatorTest::efLoadViewUserLangLink'; +$wgGroupPermissions['*']['viewuserlang'] = false; +$wgGroupPermissions['sysop']['viewuserlang'] = true; /* TestWiki preference */ $wgAutoloadClasses['IncubatorTest'] = $dir . 'IncubatorTest.php'; @@ -108,24 +111,6 @@ $wgAutoloadClasses['SpecialRandomByTest'] = $dir . 'SpecialRandomByTest.php'; $wgSpecialPages['RandomByTest'] = 'SpecialRandomByTest'; -/* ==================== BEGIN OF STUFF IN DEVELOPMENT ================ */ - -# Sister projects is here defined as projects that are not on Incubator -$wmincSisterProjects = array( - 's' => 'Wikisource', - 'v' => 'Wikiversity', -); - -$wmincMultilingualProjects = array( - 'meta.wikimedia.org' => 'Meta-Wiki', - 'commons.wikimedia.org' => 'Wikimedia Commons', - 'species.wikimedia.org' => 'Wikispecies', - 'mediawiki.org' => 'MediaWiki', -); - -/* Get the big $wmincLanguageCodes array which can be updated through the generateCodeList.php script */ -require_once( 'codelist.php' ); - /* support for automatic checking in a list of databases if a wiki exists */ $wmincExistingWikis = $wgLocalDatabases; /* Stupid "wiki" referring to "wikipedia" in WMF config */ @@ -138,24 +123,38 @@ 's' => 'wikisource', 'v' => 'wikiversity', ); -# if WMF/SiteMatrix config is available, use if +# if WMF/SiteMatrix config is available, use it # NOTICE: include SiteMatrix extension before this extension (this is the case for WMF) -$wmincClosedWikis = isset( $wgSiteMatrixClosedSites ) ? $wgSiteMatrixClosedSites : array(); +$wmincClosedWikis = isset( $wgSiteMatrixClosedSites ) ? $wgSiteMatrixClosedSites : null; -/* Messages not in SVN */ -$wgExtensionMessagesFiles['WikimediaIncubator-dev'] = $dir . 'WikimediaIncubator.dev-i18n.php'; - -/* Logo */ # STABLE FEATURE (not sure whether needed) -$wgHooks['BeforePageDisplay'][] = 'IncubatorTest::fnTestWikiLogo'; - -/* Wx/xx[x] info page */ # RELATIVELY STABLE FEATURE, UNDER DEVELOPMENT -> Robin +/* Wx/xx[x] info page */ $wgAutoloadClasses['InfoPage'] = $dir . 'InfoPage.php'; -$wgHooks['ParserFirstCallInit'][] = 'IncubatorTest::onParserFirstCallInit'; -$wgHooks['LanguageGetMagic'][] = 'IncubatorTest::onGetMagic'; $wgExtensionMessagesFiles['InfoPage'] = $dir . 'InfoPage.i18n.php'; $wgHooks['ShowMissingArticle'][] = 'IncubatorTest::onShowMissingArticle'; $wgHooks['EditFormPreloadText'][] = 'IncubatorTest::onEditFormPreloadText'; +$wgHooks['ArticleFromTitle'][] = 'IncubatorTest::onArticleFromTitle'; +$wgResourceModules['WikimediaIncubator.InfoPage'] = array( + 'styles' => 'InfoPage.css', + 'localBasePath' => dirname(__FILE__), + 'remoteExtPath' => $wmincScriptDir, +); + +/* Possibility to set a logo per test wiki */ +$wgHooks['BeforePageDisplay'][] = 'IncubatorTest::fnTestWikiLogo'; + +/* ==================== BEGIN OF STUFF IN DEVELOPMENT ================ */ + +/* Get the big $wmincLanguageCodes array which can be updated through the generateCodeList.php script */ +require_once( 'codelist.php' ); + +/* Messages not in SVN */ +$wgExtensionMessagesFiles['WikimediaIncubator-dev'] = $dir . 'WikimediaIncubator.dev-i18n.php'; + +/* Wx/xx[x] info page parser function */ # UNDER DEVELOPMENT -> Robin +$wgHooks['ParserFirstCallInit'][] = 'IncubatorTest::onParserFirstCallInit'; # CSS LOADED ON EDIT PREVIEW BUT NOT ON PAGE VIEW? +$wgHooks['LanguageGetMagic'][] = 'IncubatorTest::onGetMagic'; + /* Language data and Special:Languages */ # UNDER DEVELOPMENT $wgAutoloadClasses[... [truncated message content] |