|
[MediaWiki-CVS] SVN: [54112] trunk/extensions/Translate: msg#01490mediawiki-cvs
http://www.mediawiki.org/wiki/Special:Code/MediaWiki/54112 Revision: 54112 Author: nikerabbit Date: 2009-07-31 18:20:35 +0000 (Fri, 31 Jul 2009) Log Message: ----------- Crude support for localising extension magic words Modified Paths: -------------- trunk/extensions/Translate/MessageGroups.php trunk/extensions/Translate/Translate.php trunk/extensions/Translate/groups/ComplexMessages.php trunk/extensions/Translate/groups/MediaWikiExtensions.php trunk/extensions/Translate/groups/mediawiki-defines.txt trunk/extensions/Translate/scripts/alias-export.php trunk/extensions/Translate/scripts/mwcore-export.php Added Paths: ----------- trunk/extensions/Translate/scripts/magic-export.php Removed Paths: ------------- trunk/extensions/Translate/aliases.txt Modified: trunk/extensions/Translate/MessageGroups.php =================================================================== --- trunk/extensions/Translate/MessageGroups.php 2009-07-31 17:51:48 UTC (rev 54111) +++ trunk/extensions/Translate/MessageGroups.php 2009-07-31 18:20:35 UTC (rev 54112) @@ -312,6 +312,8 @@ } class ExtensionMessageGroup extends MessageGroupOld { + protected $magicFile, $aliasFile; + /** * Name of the array where all messages are stored, if applicable. */ @@ -401,9 +403,21 @@ return $checker; } + public function getAliasFile() { return $this->aliasFile; } + public function setAliasFile( $file ) { $this->aliasFile = $file; } + + public function getMagicFile() { return $this->magicFile; } + public function setMagicFile( $file ) { $this->magicFile = $file; } + } class AliasMessageGroup extends ExtensionMessageGroup { + protected $dataSource; + + public function setDataSource( $page ) { + $this->dataSource = $page; + } + public function initCollection( $code, $unique = false ) { $collection = parent::initCollection( $code, $unique ); @@ -437,7 +451,7 @@ } public function fillContents( MessageCollection $collection ) { - $data = TranslateUtils::getMessageContent( 'sp-translate-data-SpecialPageAliases', $collection->code ); + $data = TranslateUtils::getMessageContent( $this->dataSource, $collection->code ); if ( !$data ) return; Modified: trunk/extensions/Translate/Translate.php =================================================================== --- trunk/extensions/Translate/Translate.php 2009-07-31 17:51:48 UTC (rev 54111) +++ trunk/extensions/Translate/Translate.php 2009-07-31 18:20:35 UTC (rev 54112) @@ -194,7 +194,7 @@ $wgHooks['LoadExtensionSchemaUpdates'][] = 'PageTranslationHooks::schemaUpdates'; // Do not activate hooks if not setup properly - if ( !efTranslateCheckPT() ) { + if ( false && !efTranslateCheckPT() ) { $wgEnablePageTranslation = false; return true; } @@ -310,4 +310,4 @@ function STDERR() {} } -$wgTranslateTM = false; \ No newline at end of file +$wgTranslateTM = false; Deleted: trunk/extensions/Translate/aliases.txt =================================================================== --- trunk/extensions/Translate/aliases.txt 2009-07-31 17:51:48 UTC (rev 54111) +++ trunk/extensions/Translate/aliases.txt 2009-07-31 18:20:35 UTC (rev 54112) @@ -1,335 +0,0 @@ -Abuse filter -file = AbuseFilter/AbuseFilter.alias.php - -Admin Links -file = AdminLinks/AdminLinks.alias.php - -Advanced random -file = AdvancedRandom/AdvancedRandom.alias.php - -APC -file = APC/ViewAPC.alias.php - -Ask SQL -file = Asksql/Asksql.alias.php - -Bad images -file = BadImage/BadImage.alias.php - -Call -file = Call/Call.alias.php - -Category intersection -file = CategoryIntersection/CategoryIntersection.alias.php - -Category tree -file = CategoryTree/CategoryTree.alias.php - -CentralAuth -file = CentralAuth/CentralAuth.alias.php - -Change author -file = ChangeAuthor/ChangeAuthor.alias.php - -Check user -file = CheckUser/CheckUser.alias.php - -Chemistry -file = Chemistry/Chemicalsources.alias.php - -Cite special -file = Cite/SpecialCite.alias.php - -Close Wikis -file = CloseWikis/CloseWikis.alias.php - -Code review -file = CodeReview/CodeReview.alias.php - -Collection -file = Collection/Collection.alias.php - -CommunityVoice -file = CommunityVoice/CommunityVoice.alias.php - -Configure -file = Configure/Configure.alias.php - -Confirm account -file = ConfirmAccount/ConfirmAccount.alias.php - -Confirm edit -file = ConfirmEdit/ConfirmEdit.alias.php - -Contact page -file = ContactPage/ContactPage.alias.php - -Contributors -file = Contributors/Contributors.alias.php - -Contribution reporting -file = ContributionReporting/ContributionReporting.alias.php - -Contribution scores -file = ContributionScores/ContributionScores.alias.php - -Contribution tracking -file = ContributionTracking/ContributionTracking.alias.php - -Cooperation statistics -file = CooperationStatistics/CooperationStatistics.alias.php - -Cross namespace links -file = CrossNamespaceLinks/SpecialCrossNamespaceLinks.alias.php - -Count edits -file = CountEdits/CountEdits.alias.php - -Data transfer -file = DataTransfer/languages/DT_Aliases.php - -Delete batch -file = DeleteBatch/DeleteBatch.alias.php - -Delete queue -file = DeleteQueue/DeleteQueue.alias.php - -Drafts -file = Drafts/Drafts.alias.php - -Edit count -file = Editcount/SpecialEditcount.alias.php - -Edit user -file = EditUser/EditUser.alias.php - -Emergency DeSysop -file = EmergencyDeSysop/EmergencyDeSysop.alias.php - -Eval -file = Eval/SpecialEval.alias.php - -Expand templates -file = ExpandTemplates/ExpandTemplates.alias.php - -Farmer -file = Farmer/Farmer.alias.php - -Find spam -file = FindSpam/FindSpam.alias.php - -Flagged revisions -file = FlaggedRevs/language/FlaggedRevs.alias.php - -Gadgets -file = Gadgets/Gadgets.alias.php - -Global blocking -file = GlobalBlocking/GlobalBlocking.alias.php - -Global usage -file = GlobalUsage/GlobalUsage.alias.php - -Global user rights -file = GlobalUserrights/GlobalUserrights.alias.php - -Group permissions manager -file = GroupPermissionsManager/GroupPermissionsManager.alias.php - -Image tagging -file = ImageTagging/ImageTagging.alias.php - -Import free images -file = ImportFreeImages/ImportFreeImages.alias.php - -Import users -file = ImportUsers/SpecialImportUsers.alias.php - -Index Function -file = IndexFunction/IndexFunction.alias.php - -Inspect cache -file = InspectCache/InspectCache.alias.php - -Interwiki -file = Interwiki/SpecialInterwiki.alias.php - -Interwiki list -file = InterwikiList/InterwikiList.alias.php - -Invitations -file = Invitations/Invitations.alias.php - -Liquid threads -file = LiquidThreads/i18n/Lqt.alias.php - -Log entry -file = LogEntry/LogEntry.alias.php - -Lookup user -file = LookupUser/LookupUser.alias.php - -Maintenance -file = Maintenance/Maintenance.alias.php - -Metavid Wiki -file = MetavidWiki/languages/MV_Aliases.php - -Most revisors -file = MostRevisors/MostRevisors.alias.php - -Multi upload -file = MultiUpload/SpecialMultipleUpload.alias.php - -Newest pages -file = NewestPages/NewestPages.alias.php - -News channel -file = NewsChannel/NewsChannel.alias.php - -Nss MySQL authentication -file = NssMySQLAuth/NssMySQLAuth.alias.php - -Nuke -file = Nuke/SpecialNuke.alias.php - -OpenID -file = OpenID/OpenID.alias.php - -Oversight -file = Oversight/HideRevision.alias.php - -Password reset -file = PasswordReset/PasswordReset.alias.php - -Patroller -file = Patroller/Patroller.alias.php - -Piwik -file = Piwik/Piwik.alias.php - -Player -file = Player/Player.alias.php - -Plotters -file = Plotters/Plotters.alias.php - -Profile monitor -file = ProfileMonitor/ProfileMonitor.alias.php - -Purge cache -file = PurgeCache/PurgeCache.alias.php - -POV watch -file = PovWatch/PovWatch.alias.php - -Random in category -file = RandomInCategory/SpecialRandomincategory.alias.php - -Reader Feedback -file = ReaderFeedback/language/ReaderFeedback.alias.php - -Record admin -file = RecordAdmin/RecordAdmin.alias.php - -Regex Block -file = regexBlock/regexBlock.alias.php - -Refresh special -file = RefreshSpecial/RefreshSpecial.alias.php - -Rename user -file = Renameuser/SpecialRenameuser.alias.php - -Replace text -file = ReplaceText/ReplaceText.alias.php - -Secure poll -file = SecurePoll/SecurePoll.alias.php - -Semantic drilldown -file = SemanticDrilldown/languages/SD_Aliases.php - -Semantic forms -file = SemanticForms/languages/SF_Aliases.php - -Semantic MediaWiki -file = SemanticMediaWiki/languages/SMW_Aliases.php - -Shared user rights -file = SharedUserRights/SharedUserRights.alias.php - -Show processlist -file = ShowProcesslist/ShowProcesslist.alias.php - -Sign document -file = SignDocument/SignDocument.alias.php - -Site matrix -file = SiteMatrix/SiteMatrix.alias.php - -Social profile -file = SocialProfile/SocialProfile.alias.php - -Spam regex -file = SpamRegex/SpamRegex.alias.php - -Special form -file = SpecialForm/SpecialForm.alias.php - -Stale pages -file = StalePages/StalePages.alias.php - -Template link -file = TemplateLink/TemplateLink.alias.php - -Todo tasks -file = TodoTasks/SpecialTaskList.alias.php - -Translate -file = Translate/Translate.alias.php - -Uniwiki Create page -file = uniwiki/CreatePage/CreatePage.alias.php - -Usability Initiative Opt in -file = UsabilityInitiative/OptIn/OptIn.alias.php - -Usability Initiative Pref stats -file = UsabilityInitiative/PrefStats/PrefStats.alias.php - -Usage statistics -file = UsageStatistics/SpecialUserStats.alias.php - -User merge -file = UserMerge/UserMerge.alias.php - -User option stats -file = UserOptionStats/UserOptionStats.alias.php - -Vote -file = Vote/Vote.alias.php - -Watchers -file = Watchers/Watchers.alias.php - -Watch subpages -file = WatchSubpages/WatchSubpages.alias.php - -Web Chat -file = WebChat/WebChat.alias.php - -What is my IP -file = WhatIsMyIP/WhatIsMyIP.alias.php - -White list -file = WhiteList/WhiteListEdit.alias.php - -Who is watching -file = WhoIsWatching/SpecialWhoIsWatching.alias.php - -Who is online -file = WhosOnline/WhosOnline.alias.php - -Wiki At Home -file = WikiAtHome/WikiAtHome.alias.php Modified: trunk/extensions/Translate/groups/ComplexMessages.php =================================================================== --- trunk/extensions/Translate/groups/ComplexMessages.php 2009-07-31 17:51:48 UTC (rev 54111) +++ trunk/extensions/Translate/groups/ComplexMessages.php 2009-07-31 18:20:35 UTC (rev 54112) @@ -222,7 +222,7 @@ $s = Xml::openElement( 'table', $this->tableAttributes ); foreach ( array_keys( $this->data ) as $group ) { - $s .= $this->header( $group ); + $s .= $this->header( $this->data[$group]['label'] ); foreach ( $this->getIterator( $group ) as $key ) { $rowContents = ''; @@ -395,7 +395,8 @@ while ( strlen( $temp ) <= $padTo ) { $temp .= ' '; } $from = self::LANG_CURRENT; - if ( $this->firstMagic && !$data['code'] ) $from = self::LANG_CHAIN; + // Abuse of the firstMagic property, should use something proper + if ( $this->firstMagic ) $from = self::LANG_CHAIN; // Check for translations $val = $this->val( $group, self::LANG_CURRENT, $key ); @@ -422,7 +423,7 @@ } if ( $out !== '' ) { - $text = "# $group \n"; + $text = "# {$data['label']} \n"; $text .= "\$$var$extra = array(\n" . $out . ");\n\n"; return $text; } else { @@ -456,45 +457,32 @@ protected $id = SpecialMagic::MODULE_SPECIAL; protected $databaseMsg = 'sp-translate-data-SpecialPageAliases'; protected $chainable = true; + protected $groupFile = TRANSLATE_ALIASFILE; + public function __construct( $code ) { parent::__construct( $code ); - $this->data['MediaWiki Core'] = array( + $this->data['core'] = array( + 'label' => 'MediaWiki Core', 'var' => 'specialPageAliases', 'file' => Language::getMessagesFileName( '%CODE%' ), 'code' => false, ); global $wgTranslateExtensionDirectory; + $groups = MessageGroups::singleton()->getGroups(); + foreach( $groups as $g ) { + if ( !$g instanceof ExtensionMessageGroup ) continue; + $file = $g->getAliasFile(); + if ( $file === null ) continue; - if ( !file_exists( TRANSLATE_ALIASFILE ) || !is_readable( TRANSLATE_ALIASFILE ) ) - return; - - $defines = file_get_contents( TRANSLATE_ALIASFILE ); - $sections = preg_split( "/\n\n/", $defines, - 1, PREG_SPLIT_NO_EMPTY ); - - foreach ( $sections as $section ) { - $lines = array_map( 'trim', preg_split( "/\n/", $section ) ); - $name = ''; - foreach ( $lines as $line ) { - if ( $line === '' ) continue; - if ( strpos( $line, '=' ) === false ) { - if ( $name === '' ) { - $name = $line; - } else { - throw new MWException( "Trying to define name twice: " . $line ); - } - } else { - list( $key, $value ) = array_map( 'trim', explode( '=', $line, 2 ) ); - if ( $key === 'file' ) $file = $value; - } - } - - if ( $name !== '' ) { - $this->data[$name] = array( - 'var' => 'aliases', - 'file' => $wgTranslateExtensionDirectory . '/' . $file, - 'code' => true, + $file = "$wgTranslateExtensionDirectory/$file"; + if ( file_exists($file) ) { + $this->data[$g->getId()] = array( + 'label'=> $g->getLabel(), + 'var' => 'aliases', + 'file' => $file, + 'code' => $code, ); } } @@ -539,11 +527,30 @@ public function __construct( $code ) { parent::__construct( $code ); - $this->data['MediaWiki Core'] = array( + $this->data['core'] = array( + 'label'=> 'MediaWiki Core', 'var' => 'magicWords', 'file' => Language::getMessagesFileName( '%CODE%' ), 'code' => false, ); + + global $wgTranslateExtensionDirectory; + $groups = MessageGroups::singleton()->getGroups(); + foreach( $groups as $g ) { + if ( !$g instanceof ExtensionMessageGroup ) continue; + $file = $g->getMagicFile(); + if ( $file === null ) continue; + + $file = "$wgTranslateExtensionDirectory/$file"; + if ( file_exists($file) ) { + $this->data[$g->getId()] = array( + 'label'=> $g->getLabel(), + 'var' => 'magicWords', + 'file' => $file, + 'code' => $code, + ); + } + } } public function highlight( $key, $values ) { Modified: trunk/extensions/Translate/groups/MediaWikiExtensions.php =================================================================== --- trunk/extensions/Translate/groups/MediaWikiExtensions.php 2009-07-31 17:51:48 UTC (rev 54111) +++ trunk/extensions/Translate/groups/MediaWikiExtensions.php 2009-07-31 18:20:35 UTC (rev 54112) @@ -49,6 +49,8 @@ case 'id': case 'descmsg': case 'desc': + case 'magicfile': + case 'aliasfile': $newgroup[$key] = $value; break; case 'optional': @@ -125,7 +127,7 @@ 'url' => $url, ); - $copyvars = array( 'ignored', 'optional', 'var', 'desc', 'prefix', 'mangle' ); + $copyvars = array( 'ignored', 'optional', 'var', 'desc', 'prefix', 'mangle', 'magicfile', 'aliasfile' ); foreach ( $copyvars as $var ) { if ( isset( $g[$var] ) ) { $newgroup[$var] = $g[$var]; @@ -197,7 +199,11 @@ $group->setDescriptionMsg( $info['descmsg'], $info['url'] ); } + global $wgTranslateExtensionDirectory; + if ( isset($info['aliasfile']) ) $group->setAliasFile( $info['aliasfile'] ); + if ( isset($info['magicfile']) ) $group->setMagicFile( $info['magicfile'] ); + $group->setType( 'mediawiki' ); return $group; } Modified: trunk/extensions/Translate/groups/mediawiki-defines.txt =================================================================== --- trunk/extensions/Translate/groups/mediawiki-defines.txt 2009-07-31 17:51:48 UTC (rev 54111) +++ trunk/extensions/Translate/groups/mediawiki-defines.txt 2009-07-31 18:20:35 UTC (rev 54112) @@ -6,11 +6,14 @@ Abuse Filter optional = abusefilter-edit-builder-op-bool-xor +aliasfile = AbuseFilter/AbuseFilter.alias.php Admin Links +aliasfile = AdminLinks/AdminLinks.alias.php Advanced Random file = AdvancedRandom/SpecialAdvancedRandom.i18n.php +aliasfile = AdvancedRandom/AdvancedRandom.alias.php Ajax Login @@ -33,9 +36,11 @@ APC file = APC/ViewAPC.i18n.php +aliasfile = APC/ViewAPC.alias.php descmsg = viewapc-desc Asksql +aliasfile = Asksql/Asksql.alias.php Assert Edit descmsg = assert_edit_desc @@ -61,6 +66,7 @@ descmsg = backforth-desc Bad Image +aliasfile = BadImage/BadImage.alias.php descmsg = badimages-desc Blahtex @@ -77,8 +83,10 @@ id = ext-breadcrumbs Call +aliasfile = Call/Call.alias.php Category Intersection +aliasfile = CategoryIntersection/CategoryIntersection.alias.php Category On Upload optional = categoryonupload-none @@ -87,6 +95,7 @@ ignored = categorystepper Category Tree +aliasfile = CategoryTree/CategoryTree.alias.php ignored = categorytree-collapse-bullet, categorytree-expand-bullet, ignored = categorytree-empty-bullet,categorytree-page-bullet ignored = categorytree-member-num @@ -98,21 +107,25 @@ Category Watch Central Auth +aliasfile = CentralAuth/CentralAuth.alias.php optional = centralauth-editset-grouplink Central Notice Change Author +aliasfile = ChangeAuthor/ChangeAuthor.alias.php optional = changeauthor-rev ignored = changeauthor-logpagetext, changeauthor-short Char Insert Check User +aliasfile = CheckUser/CheckUser.alias.php ignored = checkuser-toollinks Chemistry file = Chemistry/ChemFunctions.i18n.php +aliasfile = Chemistry/Chemicalsources.alias.php descmsg = chemicalsource-desc optional = chemFunctions_SearchExplanation ignored = chemFunctions_EINECS, chemFunctions_CHEBI, chemFunctions_PubChem, @@ -133,6 +146,7 @@ Cite (special page) id = ext-citespecial file = Cite/SpecialCite.i18n.php +aliasfile = Cite/SpecialCite.alias.php descmsg = cite_article_desc ignored = cite_text @@ -144,14 +158,17 @@ Client Side Close Wikis +aliasfile = CloseWikis/CloseWikis.alias.php optional = closewikis-closed Code Review +aliasfile = CodeReview/CodeReview.alias.php descmsg = code-desc Collection - Core id = ext-collection-core file = Collection/CollectionCore.i18n.php +aliasfile = Collection/Collection.alias.php descmsg = coll-create_a_book Collection - Other @@ -166,8 +183,10 @@ Comment Spammer Community Voice +aliasfile = CommunityVoice/CommunityVoice.alias.php Configure +aliasfile = Configure/Configure.alias.php optional = configure-section-html, configure-section-ajax optional = configure-section-djvu, configure-section-imagemagick optional = configure-section-interwiki, configure-section-memcached @@ -180,10 +199,12 @@ optional = configure-setting-desc Confirm Account +aliasfile = ConfirmAccount/ConfirmAccount.alias.php descmsg = confirmedit-desc optional = requestaccount-info, requestaccount-footer Confirm Edit +aliasfile = ConfirmEdit/ConfirmEdit.alias.php descmsg = captcha-desc ConfirmEdit Fancy Captcha @@ -197,30 +218,38 @@ optional = questycaptcha-desc Contact Page +aliasfile = ContactPage/ContactPage.alias.php Contribution Reporting +aliasfile = ContributionReporting/ContributionReporting.alias.php Contribution Scores +aliasfile = ContributionScores/ContributionScores.alias.php Contribution Tracking +aliasfile = ContributionTracking/ContributionTracking.alias.php Contributions Edit Count file = Contributionseditcount/Contributionseditcount.i18n.php Contributors +aliasfile = Contributors/Contributors.alias.php Contributors Add-on id = ext-contributorsaddon file = ContributorsAddon/ContributorsAddon.i18n.php Cooperation Statistics +aliasfile = CooperationStatistics/CooperationStatistics.alias.php ignored = cooperationstatistics-users, cooperationstatistics-limit-few-revisors, cooperationstatistics-limit-many-revisors Count Edits +aliasfile = CountEdits/CountEdits.alias.php Create Box Cross Namespace Links +aliasfile = CrossNamespaceLinks/SpecialCrossNamespaceLinks.alias.php file = CrossNamespaceLinks/SpecialCrossNamespaceLinks.i18n.php Crosswiki Block @@ -232,14 +261,17 @@ Data Transfer file = DataTransfer/languages/DT_Messages.php +aliasfile = DataTransfer/languages/DT_Aliases.php descmsg = dt-desc Delayed Definition descmsg = delaydef-desc Delete Batch +aliasfile = DeleteBatch/DeleteBatch.alias.php Delete Queue +aliasfile = DeleteQueue/DeleteQueue.alias.php optional = deletequeue-prod-reasons, deletequeue-speedy-reasons Did You Mean @@ -256,11 +288,13 @@ file = DPLforum/DPLforum.i18n.php Drafts +aliasfile = Drafts/Drafts.alias.php ignored = accesskey-drafts-save Duplicator Edit Count +aliasfile = Editcount/SpecialEditcount.alias.php file = Editcount/SpecialEditcount.i18n.php Edit Messages @@ -274,17 +308,21 @@ Edit Subpages Edit User +aliasfile = EditUser/EditUser.alias.php Email Address Image Emergency DeSysop +aliasfile = EmergencyDeSysop/EmergencyDeSysop.alias.php Error Handler Eval file = Eval/SpecialEval.i18n.php +aliasfile = Eval/SpecialEval.alias.php Expand Templates +aliasfile = ExpandTemplates/ExpandTemplates.alias.php Extension Distributor descmsg = extdist-desc @@ -292,14 +330,21 @@ External Data Farmer +aliasfile = Farmer/Farmer.alias.php optional = farmercreateurl ignored = farmerwikiurl, farmerinterwikiurl FCK editor +Find Spam +aliasfile = FindSpam/FindSpam.alias.php + +Fixed Image + Flagged Revisions - Flagged Revs id = ext-flaggedrevs-flaggedrevs file = FlaggedRevs/language/FlaggedRevs.i18n.php +aliasfile = FlaggedRevs/language/FlaggedRevs.alias.php optional = revreview-toggle, revreview-ak-review, accesskey-ca-current, accesskey-ca-stable descmsg = flaggedrevs-desc @@ -354,10 +399,6 @@ file = FlaggedRevs/language/ValidationStatistics.i18n.php descmsg = validationstatistics -Find Spam - -Fixed Image - Force Preview Format Email @@ -373,16 +414,20 @@ Fundraiser Portal Gadgets +aliasfile = Gadgets/Gadgets.alias.php ignored = gadgets-definition Get Family Global Blocking +aliasfile = GlobalBlocking/GlobalBlocking.alias.php ignored = globalblocking-expiry-options Global Usage +aliasfile = GlobalUsage/GlobalUsage.alias.php Global User rights +aliasfile = GlobalUserrights/GlobalUserrights.alias.php descmsg = gur-desc Gnuplot @@ -400,6 +445,7 @@ Go To Category Group Permissions Manager +aliasfile = GroupPermissionsManager/GroupPermissionsManager.alias.php descmsg = grouppermissions-desc optional = grouppermissions-display @@ -411,6 +457,7 @@ Parser i18n tags id = ext-i18ntags file = I18nTags/I18nTags.i18n.php +magicfile = I18nTags/I18nTags.magic.php Icon @@ -419,21 +466,26 @@ optional = imagemap_desc_types Image Tagging +aliasfile = ImageTagging/ImageTagging.alias.php Import Free Images +aliasfile = ImportFreeImages/ImportFreeImages.alias.php Import Users file = ImportUsers/SpecialImportUsers.i18n.php +aliasfile = ImportUsers/SpecialImportUsers.alias.php IM Status Index Function +aliasfile = IndexFunction/IndexFunction.alias.php descmsg = indexfunc-desc ignored = index-exclude-categories Input Box Inspect Cache +aliasfile = InspectCache/InspectCache.alias.php Intersection file = intersection/DynamicPageList.i18n.php @@ -441,12 +493,15 @@ Interwiki Edit Page id = ext-interwiki file = Interwiki/SpecialInterwiki.i18n.php +aliasfile = Interwiki/SpecialInterwiki.alias.php optional = interwiki_defaulturl, interwiki_url ignored = interwiki_logentry Interwiki List +aliasfile = InterwikiList/InterwikiList.alias.php Invitations +aliasfile = Invitations/Invitations.alias.php ignored = invitations-uninvitedlist-item JS Kit @@ -464,6 +519,7 @@ Liquid Threads file = LiquidThreads/i18n/Lqt.i18n.php +aliasfile = LiquidThreads/i18n/Lqt.alias.php descmsg = lqt-desc optional = lqt_rc_ellipsis ignored = lqt_header_warning_before_big @@ -471,14 +527,17 @@ Localisation Update Log Entry +aliasfile = LogEntry/LogEntry.alias.php descmsg = logentry-parserhook-desc Lookup User +aliasfile = LookupUser/LookupUser.alias.php Lua descmsg = lua_desc Maintenance +aliasfile = Maintenance/Maintenance.alias.php ignored = maintenance-initEditCount, maintenance-runJobs, maintenance-showJobs ignored = maintenance-stats @@ -497,6 +556,7 @@ Metavid Wiki file = MetavidWiki/languages/MV_Messages.php +aliasfile = MetavidWiki/languages/MV_Aliases.php descmsg = mv-desc optional = ao_file_64Kb_MPEG4, ao_file_256Kb_MPEG4, ao_file_MPEG1, ao_file_MPEG2 optional = ao_file_flash_flv, ao_file_512Kb_MPEG4, ao_file_Ogg_Video @@ -517,6 +577,7 @@ Mini Preview Most Revisors +aliasfile = MostRevisors/MostRevisors.alias.php ignored = mostrevisors-limit-few-revisors Multi Boilerplate @@ -524,6 +585,7 @@ Multi Upload file = MultiUpload/SpecialMultipleUpload.i18n.php +aliasfile = MultiUpload/SpecialMultipleUpload.alias.php descmsg = multipleupload-desc MediaWiki Search @@ -536,6 +598,7 @@ optional = networkauth-name, networkauth-purltext Newest Pages +aliasfile = NewestPages/NewestPages.alias.php News optional = newsextension-unknownformat, newsextension-feednotfound @@ -547,6 +610,7 @@ descmsg = newsextension-desc News Channel +aliasfile = NewsChannel/NewsChannel.alias.php New User Message ignored = newusermessage-template, newusermessage-editor, newusermessage-substitute @@ -558,10 +622,12 @@ NS File Repo Nss MySQL Auth +aliasfile = NssMySQLAuth/NssMySQLAuth.alias.php descmsg = nss-desc Nuke file = Nuke/SpecialNuke.i18n.php +aliasfile = Nuke/SpecialNuke.alias.php OAI-PMH repository id = ext-oai @@ -579,6 +645,7 @@ ignored = onlinestatus-levels OpenID +aliasfile = OpenID/OpenID.alias.php optional = prefs-openid, openid-urls-url Open Search Xml @@ -587,16 +654,19 @@ Oversight file = Oversight/HideRevision.i18n.php +aliasfile = Oversight/HideRevision.alias.php descmsg = hiderevision-desc Page By Password Reset +aliasfile = PasswordReset/PasswordReset.alias.php Parser Functions descmsg = pfunc_desc Patroller +aliasfile = Patroller/Patroller.alias.php descmsg = patrol-desc Pdf Handler @@ -605,12 +675,15 @@ Pipe Escape Piwik +aliasfile = Piwik/Piwik.alias.php optional = piwik Player +aliasfile = Player/Player.alias.php ignored = player-pagetext, player-imagepage-header Plotters +aliasfile = Plotters/Plotters.alias.php PNG Handler @@ -625,11 +698,13 @@ POV Watch file = PovWatch/PovWatch.i18n.php +aliasfile = PovWatch/PovWatch.alias.php descmsg = povwatch_desc Preloader Profile Monitor +aliasfile = ProfileMonitor/ProfileMonitor.alias.php descmsg = profiling-desc Proofread Page @@ -644,6 +719,7 @@ Purge Purge Cache +aliasfile = PurgeCache/PurgeCache.alias.php Quiz descmsg = quiz_desc @@ -652,6 +728,7 @@ Random in Category file = RandomInCategory/SpecialRandomincategory.i18n.php +aliasfile = RandomInCategory/SpecialRandomincategory.alias.php Random Root Page file = Randomrootpage/Randomrootpage.i18n.php @@ -662,6 +739,7 @@ Reader Feedback id = ext-readerfeedback-readerfeedback file = ReaderFeedback/language/ReaderFeedback.i18n.php +aliasfile = ReaderFeedback/language/ReaderFeedback.alias.php descmsg = readerfeedback Reader Feedback - Liked Pages @@ -680,23 +758,28 @@ descmsg = ratinghistory Record Admin +aliasfile = RecordAdmin/RecordAdmin.alias.php ignored = recordadmin-title Redirect ignored = redirect-addnewaccount, redirect-userlogincomplete, redirect-userlogoutcomplete Refresh Special +aliasfile = RefreshSpecial/RefreshSpecial.alias.php Regex Block file = regexBlock/regexBlock.i18n.php +aliasfile = regexBlock/regexBlock.alias.php RegexFunctions Rename User file = Renameuser/SpecialRenameuser.i18n.php +aliasfile = Renameuser/SpecialRenameuser.alias.php ignored = renameuser-summary Replace Text +aliasfile = ReplaceText/ReplaceText.alias.php Review @@ -714,6 +797,7 @@ Secure Passwords Secure Poll +aliasfile = SecurePoll/SecurePoll.alias.php optional = securepoll-header-ip, securepoll-header-xff, securepoll-header-token-match optional = securepoll-header-url, securepoll-header-id, securepoll-header-trans-id ignored = securepoll-custom-unqualified @@ -724,9 +808,11 @@ Semantic Drilldown file = SemanticDrilldown/languages/SD_Messages.php +aliasfile = SemanticDrilldown/languages/SD_Aliases.php Semantic Forms file = SemanticForms/languages/SF_Messages.php +aliasfile = SemanticForms/languages/SF_Aliases.php Semantic Gallery @@ -736,6 +822,7 @@ Semantic MediaWiki file = SemanticMediaWiki/languages/SMW_Messages.php +aliasfile = SemanticMediaWiki/languages/SMW_Aliases.php descmsg = smw-desc ignored = smw_ask_doculink, smw_service_online_maps, smw_uri_blacklist optional = smw_rss_link, smw_decseparator, smw_kiloseparator @@ -751,11 +838,14 @@ Semantic Tasks Shared User Rights +aliasfile = SharedUserRights/SharedUserRights.alias.php descmsg = gblrights-desc Show Processlist +aliasfile = ShowProcesslist/ShowProcesslist.alias.php Sign Document +aliasfile = SignDocument/SignDocument.alias.php descmsg = signature-desc Sign Document Special Create @@ -774,6 +864,7 @@ descmsg = security-desc Site Matrix +aliasfile = SiteMatrix/SiteMatrix.alias.php Skin Per Page @@ -786,6 +877,7 @@ ignored = smoothgallery-pagetext Social Profile - System Gifts +aliasfile = SocialProfile/SocialProfile.alias.php id = ext-socialprofile-systemgifts file = SocialProfile/SystemGifts/SystemGift.i18n.php descmsg = systemgiftmanager @@ -828,12 +920,14 @@ Spam Diff Tool Spam Regex +aliasfile = SpamRegex/SpamRegex.alias.php Special File List file = SpecialFileList/SpecialFilelist.i18n.php descmsg = filelist-desc Special Form +aliasfile = SpecialForm/SpecialForm.alias.php ignored = formtemplatepattern descmsg = form-desc @@ -848,6 +942,7 @@ descmsg = spl3-desc Stale Pages +aliasfile = StalePages/StalePages.alias.php String Functions @@ -867,6 +962,7 @@ descmsg = tasks_desc Template Link +aliasfile = TemplateLink/TemplateLink.alias.php descmsg = templatelink_desc Throttle @@ -889,6 +985,7 @@ Todo Tasks file = TodoTasks/SpecialTaskList.i18n.php +aliasfile = TodoTasks/SpecialTaskList.alias.php descmsg = tasklist-parser-desc Tooltip @@ -899,6 +996,7 @@ id = ext-translate-core descmsg = translate-desc file = Translate/Translate.i18n.php +aliasfile = Translate/Translate.alias.php optional = translate-page-paging-links, translate-languagestats-groups Translate - Page Translation @@ -932,6 +1030,7 @@ Uniwiki - Create Page id = ext-uniwiki-createpage file = uniwiki/CreatePage/CreatePage.i18n.php +aliasfile = uniwiki/CreatePage/CreatePage.alias.php descmsg = createpage-desc Uniwiki - Css Hooks @@ -1003,6 +1102,7 @@ Usability Initiative - Opt In id = ext-ui-optin file = UsabilityInitiative/OptIn/OptIn.i18n.php +aliasfile = UsabilityInitiative/OptIn/OptIn.alias.php descmsg = optin-desc optional = optin-survey-answer-browser-ie5, optin-survey-answer-browser-ie6, optin-survey-answer-browser-ie7, optin-survey-answer-browser-ie8 optional = optin-survey-answer-browser-ff1, optin-survey-answer-browser-ff2, optin-survey-answer-browser-ff3, optin-survey-answer-browser-cb @@ -1013,6 +1113,7 @@ Usability Initiative - Pref Stats id = ext-ui-prefstats file = UsabilityInitiative/PrefStats/PrefStats.i18n.php +aliasfile = UsabilityInitiative/PrefStats/PrefStats.alias.php descmsg = prefstats-desc ignored = prefstats-list-elem @@ -1023,7 +1124,9 @@ Usage Statistics file = UsageStatistics/SpecialUserStats.i18n.php +aliasfile = UsageStatistics/SpecialUserStats.alias.php + User Contact Links file = UserContactLinks/UserSignature.i18n.php descmsg = usercontactlink-desc @@ -1031,32 +1134,42 @@ User Images User Merge +aliasfile = UserMerge/UserMerge.alias.php User Option Stats +aliasfile = UserOptionStats/UserOptionStats.alias.php User Rights Notification id = ext-userrightsnotif file = UserRightsNotif/UserRightsNotif.i18n.php Vote +aliasfile = Vote/Vote.alias.php Watchers +aliasfile = Watchers/Watchers.alias.php Watch Subpages +aliasfile = WatchSubpages/WatchSubpages.alias.php Web Chat +aliasfile = WebChat/WebChat.alias.php Web Store What Is My IP +aliasfile = WhatIsMyIP/WhatIsMyIP.alias.php White List file = WhiteList/WhiteListEdit.i18n.php +aliasfile = WhiteList/WhiteListEdit.alias.php Whos Online +aliasfile = WhosOnline/WhosOnline.alias.php Who Is Watching file = WhoIsWatching/SpecialWhoIsWatching.i18n.php +aliasfile = WhoIsWatching/SpecialWhoIsWatching.alias.php Widgets @@ -1065,6 +1178,7 @@ Wiki At Home descmsg = wah-desc ignored = specialwikiathome +aliasfile = WikiAtHome/WikiAtHome.alias.php Wikidata descmsg = wikidata-desc Modified: trunk/extensions/Translate/scripts/alias-export.php =================================================================== --- trunk/extensions/Translate/scripts/alias-export.php 2009-07-31 17:51:48 UTC (rev 54111) +++ trunk/extensions/Translate/scripts/alias-export.php 2009-07-31 18:20:35 UTC (rev 54112) @@ -16,7 +16,7 @@ STDERR( <<<EOT Alias exporter. -Usage: php aliasexport.php [options...] +Usage: php alias-export.php [options...] Options: --target Target directory for exported files @@ -46,35 +46,15 @@ $langs = Cli::parseLanguageCodes( $options['lang'] ); +$groups = MessageGroups::singleton()->getGroups(); -if ( !file_exists( TRANSLATE_ALIASFILE ) || !is_readable( TRANSLATE_ALIASFILE ) ) { - STDERR( "Alias file not defined" ); - exit( 1 ); -} +foreach ( $groups as $group ) { + if ( !$group instanceof ExtensionMessageGroup ) continue; + $file = $group->getAliasFile(); -$defines = file_get_contents( TRANSLATE_ALIASFILE ); -$sections = preg_split( "/\n\n/", $defines, - 1, PREG_SPLIT_NO_EMPTY ); - -foreach ( $sections as $section ) { - $lines = array_map( 'trim', preg_split( "/\n/", $section ) ); - $name = ''; - foreach ( $lines as $line ) { - if ( $line === '' ) continue; - if ( strpos( $line, '=' ) === false ) { - if ( $name === '' ) { - $name = $line; - } else { - throw new MWException( "Trying to define name twice: " . $line ); - } - } else { - list( $key, $value ) = array_map( 'trim', explode( '=', $line, 2 ) ); - if ( $key === 'file' ) $file = $value; - } - } - - if ( $name !== '' ) { + if ( $file !== null ) { // Fake a group - $group = new AliasMessageGroup( $name ); + $group = new AliasMessageGroup( $group->getId() ); $group->setMessageFile( $file ); $group->setVariableName( 'aliases' ); $writer = $group->getWriter(); Added: trunk/extensions/Translate/scripts/magic-export.php =================================================================== --- trunk/extensions/Translate/scripts/magic-export.php (rev 0) +++ trunk/extensions/Translate/scripts/magic-export.php 2009-07-31 18:20:35 UTC (rev 54112) @@ -0,0 +1,99 @@ +<?php +/** + * Script to export special page aliases of extensions. + * + * @author Niklas Laxstrom + * + * @copyright Copyright  2008-2009, Niklas LaxstrÃm + * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later + * @file + */ + +$optionsWithArgs = array( 'target', 'type' ); +require( dirname( __FILE__ ) . '/cli.inc' ); + +function showUsage() { + STDERR( <<<EOT +Magic exporter. + +Usage: php magic-export.php [options...] + +Options: + --target Target directory for exported files + --type magic or special +EOT +); + exit( 1 ); +} + +if ( isset( $options['help'] ) || $args === 1 ) { + showUsage(); +} + +if ( !isset( $options['target'] ) ) { + STDERR( "You need to specify target directory" ); + exit( 1 ); +} + +if ( !is_writable( $options['target'] ) ) { + STDERR( "Target directory is not writable" ); + exit( 1 ); +} + +if ( !isset( $options['type'] ) ) { + STDERR( "Type must be one of the following: special magic" ); + exit( 1 ); +} + + +$langs = Cli::parseLanguageCodes( '*' ); +$groups = MessageGroups::singleton()->getGroups(); + +$type = $options['type'] ; + +foreach ( $groups as $group ) { + if ( !$group instanceof ExtensionMessageGroup ) continue; + + if ( $type === 'special' ) { + $filename = $group->getAliasFile(); + } else { + $filename = $group->getMagicFile(); + } + + if ( $filename === null ) continue; + + $file = "$wgTranslateExtensionDirectory/$filename"; + if ( !file_exists($file) ) continue; + $input = file_get_contents( $file ); + + $headerEnd = strpos( $input, "\n);\n" ); + + $output = substr( $input, 0, $headerEnd + 3 ) . "\n\n"; + + foreach ( $langs as $l ) { + + switch ( $options['type'] ) { + case 'special': + $o = new SpecialPageAliasesCM( $l ); + break; + case 'magic': + $o = new MagicWordsCM( $l ); + break; + default: + STDERR( "Invalid type: must be one of: special, magic" ); + exit( 1 ); + } + + $export = $o->export( $group->getId() ); + if ( $export === '' ) continue; + + # remove useles comment + $export = preg_replace( "~^# .*$\n~m", '', $export ); + + $output .= $export; + + } + + wfMkdirParents( dirname($options['target'] . "/$filename") ); + file_put_contents( $options['target'] . "/$filename", trim( $output ) ); +} Modified: trunk/extensions/Translate/scripts/mwcore-export.php =================================================================== --- trunk/extensions/Translate/scripts/mwcore-export.php 2009-07-31 17:51:48 UTC (rev 54111) +++ trunk/extensions/Translate/scripts/mwcore-export.php 2009-07-31 18:20:35 UTC (rev 54112) @@ -72,7 +72,7 @@ exit( 1 ); } - $export = $o->export( 'MediaWiki Core' ); + $export = $o->export( 'core' ); if ( $export === '' ) continue; $matches = array(); @@ -120,4 +120,4 @@ file_put_contents( $outFile, $data ); } -} +} \ No newline at end of file _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS@xxxxxxxxxxxxxxxxxxx https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs
|
|
||||||||||||||||||||||||||
|
|
|
| News | Mail Home | sitemap | FAQ | advertise |