http://www.mediawiki.org/wiki/Special:Code/MediaWiki/54847

Revision: 54847
Author:   siebrand
Date:     2009-08-12 13:08:25 +0000 (Wed, 12 Aug 2009)

Log Message:
-----------
* new style magic words support for ParserFunctions
* add localisation support for ParserFunctions magic in Translate
* bump version

Modified Paths:
--------------
    trunk/extensions/ParserFunctions/ParserFunctions.i18n.magic.php
    trunk/extensions/ParserFunctions/ParserFunctions.i18n.php
    trunk/extensions/ParserFunctions/ParserFunctions.php
    trunk/extensions/Translate/groups/mediawiki-defines.txt

Modified: trunk/extensions/ParserFunctions/ParserFunctions.i18n.magic.php
===================================================================
--- trunk/extensions/ParserFunctions/ParserFunctions.i18n.magic.php     
2009-08-12 12:54:17 UTC (rev 54846)
+++ trunk/extensions/ParserFunctions/ParserFunctions.i18n.magic.php     
2009-08-12 13:08:25 UTC (rev 54847)
@@ -1,111 +1,96 @@
 <?php
 
+$magicWords = array();
+
 /**
- * Get translated magic words, if available
- *
- * @param string $lang Language code
- * @return array
+ * English
  */
-function efParserFunctionsWords( $lang ) {
-       $words = array();
+       'expr'       => array( 0, 'expr' ),
+       'if'         => array( 0, 'if' ),
+       'ifeq'       => array( 0, 'ifeq' ),
+       'ifexpr'     => array( 0, 'ifexpr' ),
+       'iferror'    => array( 0, 'iferror' ),
+       'switch'     => array( 0, 'switch' ),
+       'default'    => array( 0, '#default' ),
+       'ifexist'    => array( 0, 'ifexist' ),
+       'time'       => array( 0, 'time' ),
+       'timel'      => array( 0, 'timel' ),
+       'rel2abs'    => array( 0, 'rel2abs' ),
+       'titleparts' => array( 0, 'titleparts' ),
+       'len'        => array( 0, 'len' ),
+       'pos'        => array( 0, 'pos' ),
+       'rpos'       => array( 0, 'rpos' ),
+       'sub'        => array( 0, 'sub' ),
+       'count'      => array( 0, 'count' ),
+       'replace'    => array( 0, 'replace' ),
+       'explode'    => array( 0, 'explode' ),
+);
 
-       /**
-        * English
-        */
-       $words['en'] = array(
-               'expr'       => array( 0, 'expr' ),
-               'if'         => array( 0, 'if' ),
-               'ifeq'       => array( 0, 'ifeq' ),
-               'ifexpr'     => array( 0, 'ifexpr' ),
-               'iferror'    => array( 0, 'iferror' ),
-               'switch'     => array( 0, 'switch' ),
-               'default'    => array( 0, '#default' ),
-               'ifexist'    => array( 0, 'ifexist' ),
-               'time'       => array( 0, 'time' ),
-               'timel'      => array( 0, 'timel' ),
-               'rel2abs'    => array( 0, 'rel2abs' ),
-               'titleparts' => array( 0, 'titleparts' ),
-               'len'        => array( 0, 'len' ),
-               'pos'        => array( 0, 'pos' ),
-               'rpos'       => array( 0, 'rpos' ),
-               'sub'        => array( 0, 'sub' ),
-               'count'      => array( 0, 'count' ),
-               'replace'    => array( 0, 'replace' ),
-               'explode'    => array( 0, 'explode' ),
-       );
+/**
+ * Farsi-Persian
+ */
+$magicWords['fa'] = array(
+       'expr'           => array( 0, 'حساب',         'expr' ),
+       'if'             => array( 0, 'اگر',          'if' ),
+       'ifeq'           => array( 0, 'اگرمساوی',     'ifeq' ),
+       'ifexpr'         => array( 0, 'اگرحساب',      'ifexpr' ),
+       'iferror'    => array( 0, 'اگرخطا',       'iferror' ),
+       'switch'         => array( 0, 'گزینه',        'switch' ),
+       'default'        => array( 0, '#پیش‌فرض',      '#default' ),
+       'ifexist'        => array( 0, 'اگرموجود',     'ifexist' ),
+       'time'           => array( 0, 'زمان',         'time' ),
+       'timel'      => array( 0, 'زمان‌بلند',     'timel' ),
+       'rel2abs'        => array( 0, 'نسبی‌به‌مطلق',   'rel2abs' ),
+       'titleparts' => array( 0, 'پاره‌عنوان',    'titleparts' ),
+);
 
-       /**
-        * Farsi-Persian
-        */
-       $words['fa'] = array(
-               'expr'           => array( 0, 'حساب',         'expr' ),
-               'if'             => array( 0, 'اگر',          'if' ),
-               'ifeq'           => array( 0, 'اگرمساوی',     'ifeq' ),
-               'ifexpr'         => array( 0, 'اگرحساب',      'ifexpr' ),
-               'iferror'    => array( 0, 'اگرخطا',       'iferror' ),
-               'switch'         => array( 0, 'گزینه',        'switch' ),
-               'default'        => array( 0, '#پیش‌فرض',      '#default' ),
-               'ifexist'        => array( 0, 'اگرموجود',     'ifexist' ),
-               'time'           => array( 0, 'زمان',         'time' ),
-               'timel'      => array( 0, 'زمان‌بلند',     'timel' ),
-               'rel2abs'        => array( 0, 'نسبی‌به‌مطلق',   'rel2abs' ),
-               'titleparts' => array( 0, 'پاره‌عنوان',    'titleparts' ),
-       );
+/**
+ * Hebrew
+ */
+$magicWords['he'] = array(
+       'expr'       => array( 0, 'חשב',         'expr' ),
+       'if'         => array( 0, 'תנאי',        'if' ),
+       'ifeq'       => array( 0, 'שווה',        'ifeq' ),
+       'ifexpr'     => array( 0, 'חשב תנאי',    'ifexpr' ),
+       'iferror'    => array( 0, 'תנאי שגיאה',  'iferror' ),
+       'switch'     => array( 0, 'בחר',         'switch' ),
+       'default'    => array( 0, '#ברירת מחדל', '#default' ),
+       'ifexist'    => array( 0, 'קיים',        'ifexist' ),
+       'time'       => array( 0, 'זמן',         'time' ),
+       'timel'      => array( 0, 'זמןמ',        'timel' ),
+       'rel2abs'    => array( 0, 'יחסי למוחלט', 'rel2abs' ),
+       'titleparts' => array( 0, 'חלק בכותרת',  'titleparts' ),
+);
 
-       /**
-        * Hebrew
-        */
-       $words['he'] = array(
-               'expr'       => array( 0, 'חשב',         'expr' ),
-               'if'         => array( 0, 'תנאי',        'if' ),
-               'ifeq'       => array( 0, 'שווה',        'ifeq' ),
-               'ifexpr'     => array( 0, 'חשב תנאי',    'ifexpr' ),
-               'iferror'    => array( 0, 'תנאי שגיאה',  'iferror' ),
-               'switch'     => array( 0, 'בחר',         'switch' ),
-               'default'    => array( 0, '#ברירת מחדל', '#default' ),
-               'ifexist'    => array( 0, 'קיים',        'ifexist' ),
-               'time'       => array( 0, 'זמן',         'time' ),
-               'timel'      => array( 0, 'זמןמ',        'timel' ),
-               'rel2abs'    => array( 0, 'יחסי למוחלט', 'rel2abs' ),
-               'titleparts' => array( 0, 'חלק בכותרת',  'titleparts' ),
-       );
+/**
+ * Indonesian
+ */
+$magicWords['id'] = array(
+       'expr'       => array( 0, 'hitung',       'expr' ),
+       'if'         => array( 0, 'jika',         'if' ),
+       'ifeq'       => array( 0, 'jikasama',     'ifeq' ),
+       'ifexpr'     => array( 0, 'jikahitung',   'ifexpr' ),
+       'iferror'    => array( 0, 'jikasalah',   'iferror' ),
+       'switch'     => array( 0, 'pilih',        'switch' ),
+       'default'    => array( 0, '#baku',        '#default' ),
+       'ifexist'    => array( 0, 'jikaada',      'ifexist' ),
+       'time'       => array( 0, 'waktu',        'time' ),
+       'timel'      => array( 0, 'waktu1',       'timel' ),
+       'rel2abs'    => array( 0, 'rel2abs' ),
+       'titleparts' => array( 0, 'bagianjudul',  'titleparts' ),
+);
 
-       /**
-        * Indonesian
-        */
-       $words['id'] = array(
-               'expr'       => array( 0, 'hitung',       'expr' ),
-               'if'         => array( 0, 'jika',         'if' ),
-               'ifeq'       => array( 0, 'jikasama',     'ifeq' ),
-               'ifexpr'     => array( 0, 'jikahitung',   'ifexpr' ),
-               'iferror'    => array( 0, 'jikasalah',   'iferror' ),
-               'switch'     => array( 0, 'pilih',        'switch' ),
-               'default'    => array( 0, '#baku',        '#default' ),
-               'ifexist'    => array( 0, 'jikaada',      'ifexist' ),
-               'time'       => array( 0, 'waktu',        'time' ),
-               'timel'      => array( 0, 'waktu1',       'timel' ),
-               'rel2abs'    => array( 0, 'rel2abs' ),
-               'titleparts' => array( 0, 'bagianjudul',  'titleparts' ),
-       );
-
-       /**
-        * Yiddish
-        */
-       $words['yi'] = array(
-               'expr'       => array( 0, 'רעכן',    'expr' ),
-               'if'         => array( 0, 'תנאי',    'if' ),
-               'ifeq'       => array( 0, 'גלייך',   'ifeq' ),
-               'ifexpr'     => array( 0, 'אויברעכן', 'ifexpr' ),
-               'switch'     => array( 0, 'קלייב',   'switch' ),
-               'default'    => array( 0, '#גרונט',  '#default' ),
-               'ifexist'    => array( 0, 'עקזיסט',  'ifexist' ),
-               'time'       => array( 0, 'צייט',    'time' ),
-               'timel'      => array( 0, 'צייטל',   'timel' ),
-       );
-
-       # English is used as a fallback, and the English synonyms are
-       # used if a translation has not been provided for a given word
-       return ( $lang == 'en' || !isset( $words[$lang] ) )
-               ? $words['en']
-               : array_merge( $words['en'], $words[$lang] );
-}
+/**
+ * Yiddish
+ */
+$magicWords['yi'] = array(
+       'expr'       => array( 0, 'רעכן',    'expr' ),
+       'if'         => array( 0, 'תנאי',    'if' ),
+       'ifeq'       => array( 0, 'גלייך',   'ifeq' ),
+       'ifexpr'     => array( 0, 'אויברעכן', 'ifexpr' ),
+       'switch'     => array( 0, 'קלייב',   'switch' ),
+       'default'    => array( 0, '#גרונט',  '#default' ),
+       'ifexist'    => array( 0, 'עקזיסט',  'ifexist' ),
+       'time'       => array( 0, 'צייט',    'time' ),
+       'timel'      => array( 0, 'צייטל',   'timel' ),
+);

Modified: trunk/extensions/ParserFunctions/ParserFunctions.i18n.php
===================================================================
--- trunk/extensions/ParserFunctions/ParserFunctions.i18n.php   2009-08-12 
12:54:17 UTC (rev 54846)
+++ trunk/extensions/ParserFunctions/ParserFunctions.i18n.php   2009-08-12 
13:08:25 UTC (rev 54847)
@@ -5,6 +5,8 @@
  * @addtogroup Extensions
 */
 
+require_once( dirname(__FILE__) . '/ParserFunctions.i18n.magic.php' );
+
 $messages = array();
 
 $messages['en'] = array(

Modified: trunk/extensions/ParserFunctions/ParserFunctions.php
===================================================================
--- trunk/extensions/ParserFunctions/ParserFunctions.php        2009-08-12 
12:54:17 UTC (rev 54846)
+++ trunk/extensions/ParserFunctions/ParserFunctions.php        2009-08-12 
13:08:25 UTC (rev 54847)
@@ -30,13 +30,12 @@
  */
 $wgPFEnableStringFunctions = false;
 
-
 /** REGISTRATION */
 $wgExtensionFunctions[] = 'wfSetupParserFunctions';
 $wgExtensionCredits['parserhook'][] = array(
        'path' => __FILE__,
        'name' => 'ParserFunctions',
-       'version' => '1.2.0',
+       'version' => '1.3.0',
        'url' => 'http://www.mediawiki.org/wiki/Extension:ParserFunctions',
        'author' => array('Tim Starling', 'Robert Rohde', 'Ross McClure', 
'Juraj Simlovic'),
        'description' => 'Enhance parser with logical functions',
@@ -45,11 +44,9 @@
 
 $wgAutoloadClasses['ExtParserFunctions'] = 
dirname(__FILE__).'/ParserFunctions_body.php';
 $wgExtensionMessagesFiles['ParserFunctions'] = dirname(__FILE__) . 
'/ParserFunctions.i18n.php';
-$wgHooks['LanguageGetMagic'][]       = 'wfParserFunctionsLanguageGetMagic';
 
 $wgParserTestFiles[] = dirname( __FILE__ ) . "/funcsParserTests.txt";
 
-
 function wfSetupParserFunctions() {
        global $wgParser, $wgPFHookStub, $wgHooks;
 
@@ -68,13 +65,6 @@
        $wgHooks['ParserClearState'][] = array( &$wgPFHookStub, 'clearState' );
 }
 
-function wfParserFunctionsLanguageGetMagic( &$magicWords, $langCode ) {
-       require_once( dirname( __FILE__ ) . '/ParserFunctions.i18n.magic.php' );
-       foreach( efParserFunctionsWords( $langCode ) as $word => $trans )
-               $magicWords[$word] = $trans;
-       return true;
-}
-
 /**
  * Stub class to defer loading of the bulk of the code until a parser function 
is
  * actually used.

Modified: trunk/extensions/Translate/groups/mediawiki-defines.txt
===================================================================
--- trunk/extensions/Translate/groups/mediawiki-defines.txt     2009-08-12 
12:54:17 UTC (rev 54846)
+++ trunk/extensions/Translate/groups/mediawiki-defines.txt     2009-08-12 
13:08:25 UTC (rev 54847)
@@ -670,6 +670,7 @@
 
 Parser Functions
 descmsg = pfunc_desc
+magicfile = ParserFunctions/ParserFunctions.i18n.magic.php
 
 Patroller
 aliasfile = Patroller/Patroller.alias.php



_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to