From: Rotem Liss Date: Fri, 30 Jun 2006 20:46:54 +0000 (+0000) Subject: Extension messages translation is now possible. X-Git-Tag: 1.31.0-rc.0~56506 X-Git-Url: https://git.cyclocoop.org/%7B%24admin_url%7Dmembres/modifier.php?a=commitdiff_plain;h=f7062e6f48dd423a2a980df297ff20a32fe21669;p=lhc%2Fweb%2Fwiklou.git Extension messages translation is now possible. --- diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 60d5f643fa..f1ca72e3db 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -615,6 +615,7 @@ Some default configuration options have changed: * (bug 6497) Use $wgMetaNamespaceTalk for Esperanto if set * (bug 6498) Use localized forms for image size in Special:Undelete * (bug 6485) Update to Indonesian translation (id) #24 +* Extension messages translation is now possible. == Compatibility == diff --git a/includes/MessageCache.php b/includes/MessageCache.php index 1e6fe8ba46..e5035c58a7 100644 --- a/includes/MessageCache.php +++ b/includes/MessageCache.php @@ -322,7 +322,8 @@ class MessageCache { # Add them to the cache foreach ( $this->mExtensionMessages as $key => $value ) { $uckey = $wgLang->ucfirst( $key ); - if ( !array_key_exists( $uckey, $this->mCache ) ) { + if ( !array_key_exists( $uckey, $this->mCache ) && + ( isset( $this->mExtensionMessages[$key][$wgLang->getCode()] ) || isset( $this->mExtensionMessages[$key]['en'] ) ) ) { $this->mCache[$uckey] = false; } } @@ -435,7 +436,11 @@ class MessageCache { } # Try the extension array if( $message === false && array_key_exists( $key, $this->mExtensionMessages ) ) { - $message = $this->mExtensionMessages[$key]; + if ( isset( $this->mExtensionMessages[$key][$langcode] ) ) { + $message = $this->mExtensionMessages[$key][$langcode]; + } elseif ( isset( $this->mExtensionMessages[$key]['en'] ) ) { + $message = $this->mExtensionMessages[$key]['en']; + } } # Try the array in the language object @@ -540,19 +545,21 @@ class MessageCache { * * @param mixed $key * @param mixed $value + * @param string $lang The messages language, English by default */ - function addMessage( $key, $value ) { - $this->mExtensionMessages[$key] = $value; + function addMessage( $key, $value, $lang = 'en' ) { + $this->mExtensionMessages[$key][$lang] = $value; } /** * Add an associative array of message to the cache * * @param array $messages An associative array of key => values to be added + * @param string $lang The messages language, English by default */ - function addMessages( $messages ) { + function addMessages( $messages, $lang = 'en' ) { foreach ( $messages as $key => $value ) { - $this->addMessage( $key, $value ); + $this->addMessage( $key, $value, $lang ); } }