Revert "jquery.textSelection: Remove hardcoded checks for removed WikiEditor iframe...
[lhc/web/wiklou.git] / includes / Message.php
index 7c9b095..31fbb07 100644 (file)
@@ -223,12 +223,14 @@ class Message {
         * @param string|string[] $key Message key or array of message keys to try and use the first
         * non-empty message for.
         * @param array $params Message parameters.
+        * @param Language $language Optional language of the message, defaults to $wgLang.
         */
-       public function __construct( $key, $params = array() ) {
+       public function __construct( $key, $params = array(), Language $language = null ) {
                global $wgLang;
+
                $this->key = $key;
                $this->parameters = array_values( $params );
-               $this->language = $wgLang;
+               $this->language = $language ? $language : $wgLang;
        }
 
        /**
@@ -270,6 +272,17 @@ class Message {
                return $this->format;
        }
 
+       /**
+        * Returns the Language of the Message.
+        *
+        * @since 1.23
+        *
+        * @return Language
+        */
+       public function getLanguage() {
+               return $this->language;
+       }
+
        /**
         * Factory function that is just wrapper for the real constructor. It is
         * intended to be used instead of the real constructor, because it allows
@@ -430,7 +443,7 @@ class Message {
         *
         * @since 1.22
         *
-        * @param number|number[] [$param,...] Time period parameters, or a single argument that is
+        * @param int|int[] [$param,...] Time period parameters, or a single argument that is
         * an array of time period parameters.
         *
         * @return Message $this
@@ -495,7 +508,7 @@ class Message {
         *
         * @since 1.19
         *
-        * @param $context IContextSource
+        * @param IContextSource $context
         *
         * @return Message $this
         */
@@ -532,6 +545,7 @@ class Message {
                                . "passed a String or Language object; $type given"
                        );
                }
+               $this->message = null;
                $this->interface = false;
                return $this;
        }
@@ -552,8 +566,7 @@ class Message {
                }
 
                global $wgContLang;
-               $this->interface = false;
-               $this->language = $wgContLang;
+               $this->inLanguage( $wgContLang );
                return $this;
        }
 
@@ -591,7 +604,7 @@ class Message {
         *
         * @since 1.18
         *
-        * @param $title Title object
+        * @param Title $title
         *
         * @return Message $this
         */
@@ -877,7 +890,7 @@ class Message {
         * @param string $message The message text.
         * @param string $type Either "before" or "after".
         *
-        * @return String
+        * @return string
         */
        protected function replaceParameters( $message, $type = 'before' ) {
                $replacementKeys = array();