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

Revision: 80492
Author:   philip
Date:     2011-01-18 07:59:53 +0000 (Tue, 18 Jan 2011)
Log Message:
-----------
Follow up r77452. Follow mark's suggest to remove getCodeForMessage() and 
explain why use getPreferredVariant() instead of getCode().

Modified Paths:
--------------
    trunk/phase3/includes/MessageCache.php
    trunk/phase3/languages/Language.php

Modified: trunk/phase3/includes/MessageCache.php
===================================================================
--- trunk/phase3/includes/MessageCache.php      2011-01-18 06:13:19 UTC (rev 
80491)
+++ trunk/phase3/includes/MessageCache.php      2011-01-18 07:59:53 UTC (rev 
80492)
@@ -550,7 +550,9 @@
                        throw new MWException( "Bad lang code $langcode given" 
);
                }
 
-               $langcode = $lang->getCodeForMessage();
+               // Don't change getPreferredVariant() to getCode() / mCode, for
+               // more details, see the comment in Language::getMessage().
+               $langcode = $lang->getPreferredVariant();
 
                $message = false;
 

Modified: trunk/phase3/languages/Language.php
===================================================================
--- trunk/phase3/languages/Language.php 2011-01-18 06:13:19 UTC (rev 80491)
+++ trunk/phase3/languages/Language.php 2011-01-18 07:59:53 UTC (rev 80492)
@@ -1568,11 +1568,21 @@
        }
 
        function getMessage( $key ) {
-               return self::$dataCache->getSubitem( 
$this->getCodeForMessage(), 'messages', $key );
+               // Don't change getPreferredVariant() to getCode() / mCode, 
because:
+
+               // 1. Some language like Chinese has multiple variant 
languages. Only
+               //    getPreferredVariant() (in LanguageConverter) could return 
a
+               //    sub-language which would be more suitable for the user.
+               // 2. To languages without multiple variants, 
getPreferredVariant()
+               //    (in FakeConverter) functions exactly same as getCode() / 
mCode,
+               //    it won't break anything.
+
+               // The same below.
+               return self::$dataCache->getSubitem( 
$this->getPreferredVariant(), 'messages', $key );
        }
 
        function getAllMessages() {
-               return self::$dataCache->getItem( $this->getCodeForMessage(), 
'messages' );
+               return self::$dataCache->getItem( $this->getPreferredVariant(), 
'messages' );
        }
 
        function iconv( $in, $out, $string ) {
@@ -2789,18 +2799,6 @@
        function getCode() {
                return $this->mCode;
        }
-       
-       /**
-        * Get langcode for message
-        * Some language, like Chinese (zh, without any suffix), has multiple
-        * interface languages, we could choose a better one for user.
-        * Inherit class can override this function if necessary.
-        *
-        * @return string
-        */
-       function getCodeForMessage() {
-               return $this->getPreferredVariant();
-       }
 
        function setCode( $code ) {
                $this->mCode = $code;


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

Reply via email to