From ee08cdf2a89d194c38e7591096314e1d345f7435 Mon Sep 17 00:00:00 2001 From: Shinjiman Date: Sat, 23 May 2009 18:02:34 +0000 Subject: [PATCH] added fallback code display on the translation statistics. --- maintenance/language/languages.inc | 18 ++++++++++++++++++ maintenance/language/transstat.php | 3 +++ 2 files changed, 21 insertions(+) diff --git a/maintenance/language/languages.inc b/maintenance/language/languages.inc index 6159e8449d..98464292ec 100644 --- a/maintenance/language/languages.inc +++ b/maintenance/language/languages.inc @@ -14,6 +14,7 @@ class languages { protected $mRawMessages; # Raw list of the messages in each language protected $mMessages; # Messages in each language (except for English), divided to groups + protected $mFallback; # Fallback language in each language protected $mGeneralMessages; # General messages in English, divided to groups protected $mIgnoredMessages; # All the messages which should be exist only in the English file protected $mOptionalMessages; # All the messages which may be translated or not, depending on the language @@ -76,6 +77,7 @@ class languages { */ protected function loadFile( $code ) { if ( isset( $this->mRawMessages[$code] ) && + isset( $this->mFallback[$code] ) && isset( $this->mNamespaceNames[$code] ) && isset( $this->mNamespaceAliases[$code] ) && isset( $this->mMagicWords[$code] ) && @@ -83,6 +85,7 @@ class languages { return; } $this->mRawMessages[$code] = array(); + $this->mFallback[$code] = ''; $this->mNamespaceNames[$code] = array(); $this->mNamespaceAliases[$code] = array(); $this->mMagicWords[$code] = array(); @@ -93,6 +96,9 @@ class languages { if ( isset( $messages ) ) { $this->mRawMessages[$code] = $messages; } + if ( isset( $fallback ) ) { + $this->mFallback[$code] = $fallback; + } if ( isset( $namespaceNames ) ) { $this->mNamespaceNames[$code] = $namespaceNames; } @@ -206,6 +212,18 @@ class languages { return $this->mGeneralMessages; } + /** + * Get fallback language code for a specific language. + * + * @param $code The language code. + * + * @return Fallback code. + */ + public function getFallback( $code ) { + $this->loadFile( $code ); + return $this->mFallback[$code]; + } + /** * Get namespace names for a specific language. * diff --git a/maintenance/language/transstat.php b/maintenance/language/transstat.php index 81c12ffb9a..c6175f44c1 100644 --- a/maintenance/language/transstat.php +++ b/maintenance/language/transstat.php @@ -71,6 +71,7 @@ $output->heading(); $output->blockstart(); $output->element( 'Language', true ); $output->element( 'Code', true ); +$output->element( 'Fallback', true ); $output->element( 'Translated', true ); $output->element( '%', true ); $output->element( 'Obsolete', true ); @@ -90,6 +91,7 @@ foreach ( $wgLanguages->getLanguages() as $code ) { # Calculate the numbers $language = $wgContLang->getLanguageName( $code ); + $fallback = $wgLanguages->getFallback( $code ); $messages = $wgLanguages->getMessages( $code ); $messagesNumber = count( $messages['translated'] ); $requiredMessagesNumber = count( $messages['required'] ); @@ -108,6 +110,7 @@ foreach ( $wgLanguages->getLanguages() as $code ) { $output->blockstart(); $output->element( "$language" ); $output->element( "$code" ); + $output->element( "$fallback" ); $output->element( "$requiredMessagesNumber/$wgRequiredMessagesNumber" ); $output->element( $requiredMessagesPercent ); $output->element( "$obsoleteMessagesNumber/$messagesNumber" ); -- 2.20.1