From 928181ad67c4fb89e196508d9d7e42c2f359a5dd Mon Sep 17 00:00:00 2001 From: Philip Tzou Date: Tue, 18 Jan 2011 07:59:53 +0000 Subject: [PATCH] Follow up r77452. Follow mark's suggest to remove getCodeForMessage() and explain why use getPreferredVariant() instead of getCode(). --- includes/MessageCache.php | 4 +++- languages/Language.php | 26 ++++++++++++-------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/includes/MessageCache.php b/includes/MessageCache.php index 1cccf78197..3256bf9867 100644 --- a/includes/MessageCache.php +++ b/includes/MessageCache.php @@ -550,7 +550,9 @@ class MessageCache { 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; diff --git a/languages/Language.php b/languages/Language.php index f36654d4d9..6cfee8f9c2 100644 --- a/languages/Language.php +++ b/languages/Language.php @@ -1568,11 +1568,21 @@ class Language { } 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 @@ class Language { 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; -- 2.20.1