logo       

[MediaWiki-CVS] SVN: [54112] trunk/extensions/Translate: msg#01490

mediawiki-cvs

Subject: [MediaWiki-CVS] SVN: [54112] trunk/extensions/Translate

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
<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | Mail Home | sitemap | FAQ | advertise