Merge "Include edit summary in permalink"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Mon, 2 Jun 2014 16:53:13 +0000 (16:53 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Mon, 2 Jun 2014 16:53:13 +0000 (16:53 +0000)
1  2 
includes/Article.php
languages/i18n/en.json
languages/i18n/qqq.json

diff --combined includes/Article.php
   * @internal documentation reviewed 15 Mar 2010
   */
  class Article implements Page {
 -      /**@{{
 -       * @private
 -       */
 -
 -      /**
 -       * The context this Article is executed in
 -       * @var IContextSource $mContext
 -       */
 +      /** @var IContextSource The context this Article is executed in */
        protected $mContext;
  
 -      /**
 -       * The WikiPage object of this instance
 -       * @var WikiPage $mPage
 -       */
 +      /** @var WikiPage The WikiPage object of this instance */
        protected $mPage;
  
 -      /**
 -       * ParserOptions object for $wgUser articles
 -       * @var ParserOptions $mParserOptions
 -       */
 +      /** @var ParserOptions ParserOptions object for $wgUser articles */
        public $mParserOptions;
  
        /**
 -       * Text of the revision we are working on
 -       * @var string $mContent
 +       * @var string Text of the revision we are working on
 +       * @todo BC cruft
         */
 -      var $mContent;                    // !< #BC cruft
 +      public $mContent;
  
        /**
 -       * Content of the revision we are working on
 -       * @var Content
 +       * @var Content Content of the revision we are working on
         * @since 1.21
         */
 -      var $mContentObject;              // !<
 +      protected $mContentObject;
  
 -      /**
 -       * Is the content ($mContent) already loaded?
 -       * @var bool $mContentLoaded
 -       */
 -      var $mContentLoaded = false;      // !<
 +      /** @var bool Is the content ($mContent) already loaded? */
 +      protected $mContentLoaded = false;
  
 -      /**
 -       * The oldid of the article that is to be shown, 0 for the
 -       * current revision
 -       * @var int|null $mOldId
 -       */
 -      var $mOldId;                      // !<
 +      /** @var int|null The oldid of the article that is to be shown, 0 for the current revision */
 +      protected $mOldId;
  
 -      /**
 -       * Title from which we were redirected here
 -       * @var Title $mRedirectedFrom
 -       */
 -      var $mRedirectedFrom = null;
 +      /** @var Title Title from which we were redirected here */
 +      protected $mRedirectedFrom = null;
  
 -      /**
 -       * URL to redirect to or false if none
 -       * @var string|bool $mRedirectUrl
 -       */
 -      var $mRedirectUrl = false;        // !<
 +      /** @var string|bool URL to redirect to or false if none */
 +      protected $mRedirectUrl = false;
  
 -      /**
 -       * Revision ID of revision we are working on
 -       * @var int $mRevIdFetched
 -       */
 -      var $mRevIdFetched = 0;           // !<
 +      /** @var int Revision ID of revision we are working on */
 +      protected $mRevIdFetched = 0;
  
 -      /**
 -       * Revision we are working on
 -       * @var Revision $mRevision
 -       */
 -      var $mRevision = null;
 -
 -      /**
 -       * ParserOutput object
 -       * @var ParserOutput $mParserOutput
 -       */
 -      var $mParserOutput;
 +      /** @var Revision Revision we are working on */
 +      protected $mRevision = null;
  
 -      /**@}}*/
 +      /** @var ParserOutput */
 +      public $mParserOutput;
  
        /**
         * Constructor and clear the article
                $outputPage = $this->getContext()->getOutput();
                $outputPage->addSubtitle( "<div id=\"mw-{$infomsg}\">" . wfMessage( $infomsg,
                        $td )->rawParams( $userlinks )->params( $revision->getID(), $tddate,
-                       $tdtime, $revision->getUser() )->parse() . "</div>" );
+                       $tdtime, $revision->getUser(), Linker::revComment( $revision, true, true ) )->parse() . "</div>" );
  
                $lnk = $current
                        ? wfMessage( 'currentrevisionlink' )->escaped()
diff --combined languages/i18n/en.json
        "currentrev": "Latest revision",
        "currentrev-asof": "Latest revision as of $1",
        "revisionasof": "Revision as of $1",
-       "revision-info": "Revision as of $1 by $2",
+       "revision-info": "Revision as of $1 by {{GENDER:$6|$2}}$7",
        "revision-info-current": "-",
        "revision-nav": "($1) $2{{int:pipe-separator}}$3 ($4){{int:pipe-separator}}$5 ($6)",
        "previousrevision": "← Older revision",
        "searchmenu-new": "<strong>Create the page \"[[:$1]]\" on this wiki!</strong> {{PLURAL:$2|0=|See also the page found with your search.|See also the search results found.}}",
        "searchmenu-new-nocreate": "",
        "searchprofile-articles": "Content pages",
 -      "searchprofile-project": "Help and Project pages",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Everything",
        "searchprofile-advanced": "Advanced",
        "searchprofile-articles-tooltip": "Search in $1",
 -      "searchprofile-project-tooltip": "Search in $1",
        "searchprofile-images-tooltip": "Search for files",
        "searchprofile-everything-tooltip": "Search all of content (including talk pages)",
        "searchprofile-advanced-tooltip": "Search in custom namespaces",
        "search-interwiki-custom": "",
        "search-interwiki-more": "(more)",
        "search-relatedarticle": "Related",
 -      "searcheverything-enable": "Search in all namespaces",
        "searchrelated": "related",
        "searchall": "all",
        "showingresults": "Showing below up to {{PLURAL:$1|<strong>1</strong> result|<strong>$1</strong> results}} starting with #<strong>$2</strong>.",
        "powersearch-togglelabel": "Check:",
        "powersearch-toggleall": "All",
        "powersearch-togglenone": "None",
 +      "powersearch-remember": "Remember selection for future searches",
        "search-external": "External search",
        "searchdisabled": "{{SITENAME}} search is disabled.\nYou can search via Google in the meantime.\nNote that their indexes of {{SITENAME}} content may be out of date.",
        "googlesearch": "<form method=\"get\" action=\"//www.google.com/search\" id=\"googlesearch\">\n\t<input type=\"hidden\" name=\"domains\" value=\"{{SERVER}}\" />\n\t<input type=\"hidden\" name=\"num\" value=\"50\" />\n\t<input type=\"hidden\" name=\"ie\" value=\"$2\" />\n\t<input type=\"hidden\" name=\"oe\" value=\"$2\" />\n\n\t<input type=\"text\" name=\"q\" size=\"31\" maxlength=\"255\" value=\"$1\" />\n\t<input type=\"submit\" name=\"btnG\" value=\"$3\" />\n  <div>\n\t<input type=\"radio\" name=\"sitesearch\" id=\"gwiki\" value=\"{{SERVER}}\" checked=\"checked\" /><label for=\"gwiki\">{{SITENAME}}</label>\n\t<input type=\"radio\" name=\"sitesearch\" id=\"gWWW\" value=\"\" /><label for=\"gWWW\">WWW</label>\n  </div>\n</form>",
        "allowemail": "Enable email from other users",
        "prefs-searchoptions": "Search",
        "prefs-namespaces": "Namespaces",
 -      "defaultns": "Otherwise search in these namespaces:",
        "default": "default",
        "prefs-files": "Files",
        "prefs-custom-css": "Custom CSS",
        "prefs-emailconfirm-label": "Email confirmation:",
        "youremail": "Email:",
        "username": "{{GENDER:$1|Username}}:",
 -      "uid": "{{GENDER:$1|User}} ID:",
        "prefs-memberingroups": "{{GENDER:$2|Member}} of {{PLURAL:$1|group|groups}}:",
        "prefs-memberingroups-type": "$1",
        "prefs-registration": "Registration time:",
        "watchnologin": "Not logged in",
        "addwatch": "Add to watchlist",
        "addedwatchtext": "The page \"[[:$1]]\" has been added to your [[Special:Watchlist|watchlist]].\nFuture changes to this page and its associated talk page will be listed there.",
 +      "addedwatchtext-short": "The page \"$1\" has been added to your watchlist.",
        "removewatch": "Remove from watchlist",
        "removedwatchtext": "The page \"[[:$1]]\" has been removed from [[Special:Watchlist|your watchlist]].",
 +      "removedwatchtext-short": "The page \"$1\" has been removed from your watchlist.",
        "watch": "Watch",
        "watchthispage": "Watch this page",
        "unwatch": "Unwatch",
        "interlanguage-link-title": "$1 – $2",
        "interlanguage-link-title-langonly": "$1",
        "common.css": "/* CSS placed here will be applied to all skins */",
 -      "cologneblue.css": "/* CSS placed here will affect users of the Cologne Blue skin */",
        "monobook.css": "/* CSS placed here will affect users of the MonoBook skin */",
 -      "modern.css": "/* CSS placed here will affect users of the Modern skin */",
        "vector.css": "/* CSS placed here will affect users of the Vector skin */",
        "print.css": "/* CSS placed here will affect the print output */",
        "noscript.css": "/* CSS placed here will affect users with JavaScript disabled */",
        "group-sysop.css": "/* CSS placed here will affect sysops only */",
        "group-bureaucrat.css": "/* CSS placed here will affect bureaucrats only */",
        "common.js": "/* Any JavaScript here will be loaded for all users on every page load. */",
 -      "cologneblue.js": "/* Any JavaScript here will be loaded for users using the Cologne Blue skin */",
        "monobook.js": "/* Any JavaScript here will be loaded for users using the MonoBook skin */",
 -      "modern.js": "/* Any JavaScript here will be loaded for users using the Modern skin */",
        "vector.js": "/* Any JavaScript here will be loaded for users using the Vector skin */",
        "group-autoconfirmed.js": "/* Any JavaScript here will be loaded for autoconfirmed users only */",
        "group-user.js": "/* Any JavaScript here will be loaded for registered users only */",
        "pageinfo-category-pages": "Number of pages",
        "pageinfo-category-subcats": "Number of subcategories",
        "pageinfo-category-files": "Number of files",
 -      "skinname-cologneblue": "Cologne Blue",
        "skinname-monobook": "MonoBook",
 -      "skinname-modern": "Modern",
        "skinname-vector": "Vector",
        "markaspatrolleddiff": "Mark as patrolled",
        "markaspatrolledlink": "[$1]",
diff --combined languages/i18n/qqq.json
        "parser-template-recursion-depth-warning": "Parameters:\n* $1 - limit value of recursion depth",
        "language-converter-depth-warning": "Error message shown when a page uses too deeply nested language conversion syntax. Parameters:\n* $1 - the value of the depth limit",
        "node-count-exceeded-category": "This message is used as a category name for a [[mw:Help:Tracking categories|tracking category]] where pages are placed automatically if the node-count of the preprocessor exceeds the limit.\n\nSee also:\n* {{msg-mw|Node-count-exceeded-warning}}",
 +      "node-count-exceeded-category-desc": "Node count exceeded category description. Shown on [[Special:TrackingCategories]].\n\nSee also:\n* {{msg-mw|Node-count-exceeded-category}}",
        "node-count-exceeded-warning": "Error message shown when a page exceeded the node-count limit of the preprocessor.\n\nParameters:\n* $1 - (Unused) the value of the node-count limit\n* $2 - (Unused) the value of the max node-count limit\nSee also:\n* {{msg-mw|Node-count-exceeded-category}}",
        "expansion-depth-exceeded-category": "This message is used as a category name for a [[mw:Help:Tracking categories|tracking category]] where pages are placed automatically if the [[meta:Help:Expansion_depth|expansion depth]] of the preprocessor exceeds the limit.",
 +      "expansion-depth-exceeded-category-desc": "Expansion depth exceeded category description. Shown on [[Special:TrackingCategories]].\n\nSee also:\n* {{msg-mw|Expansion-depth-exceeded-category}}",
        "expansion-depth-exceeded-warning": "Error message shown when a page exceeded the [[meta:Help:Expansion_depth|expansion depth limit]] of the preprocessor.\n\nParameters:\n* $1 - (Unused) the value of the depth limit\n* $2 - (Unused) the value of the max depth limit\nSee also:\n* {{msg-mw|Expansion-depth-exceeded-category}}",
        "parser-unstrip-loop-warning": "{{Doc-important|Do not translate function name <code>unstrip</code>.}}\nThis error is shown when a parser extension tag such as <code><nowiki><pre></nowiki></code> includes a reference to itself in its own output.\n\nThe reference must be to the exact same invocation of the tag at the same location in the source, merely writing <code><nowiki><pre><pre></pre></pre></nowiki></code> will not do it.\n\nThis is usually impossible and unlikely to happen by accident, so translation is not essential.\n\n\"Unstrip\" refers to the internal function of the parser, called \"unstrip\", which recursively puts the output of parser functions in the place of the parser function call and which would enter an infinite loop in the situation above.\n\nSee also:\n*{{msg-mw|Parser-unstrip-recursion-limit}}",
        "parser-unstrip-recursion-limit": "{{doc-important|Do not translate function name <code>unstrip</code>.}}\nThis message is shown when the recursion limit for nested parser extension tags is exceeded.\n\nThis warning may be encountered due to input text like <code><nowiki><ref><ref><ref>...</ref></ref></ref></nowiki></code>.\n\nParameters:\n* $1 - the depth limit\n\n\"Unstrip\" refers to the internal function of the parser, called 'unstrip', which recursively puts the output of parser functions in the place of the parser function call and which would enter an infinite loop in the situation above.\n\nSee also:\n* {{msg-mw|Parser-unstrip-loop-warning}}",
        "currentrev": "Used in Diff Preview page. The diff is between {{msg-mw|currentrev}} and {{msg-mw|yourtext}}.\n{{Identical|Current revision}}",
        "currentrev-asof": "Used on a difference page when comparing the current versions of a page with each other.\n\nSee {{msg-mw|Revisionasof}} for the message for non-current version.\n\nParameters:\n* $1 - a date and time\n* $2 - (Optional) a date\n* $3 - (Optional) a time",
        "revisionasof": "Used on a difference page when comparing different versions of a page or when viewing an non-current version of a page.\n\nSee {{msg-mw|Currentrev-asof}} for the message for the current version.\n\nParameters:\n* $1 - the date/time at which the revision was created. e.g. \"''Revision as of 14:44, 24 January 2008''\".\n* $2 - (Optional) the date at which the revision was created\n* $3 - (Optional) the time at which the revision was created",
-       "revision-info": "Appears just below the page title when an old version of the page is being viewed.\n\nParameters:\n* $1 - date and time of revision\n* $2 - a series of links: to author of the revision, his talk page, etc.\n* $3 - (Optional) revision ID\n* $4 - (Optional) date of revision\n* $5 - (Optional) time of revision\n* $6 - (Optional) author of revision, for GENDER use",
-       "revision-info-current": "{{notranslate}}\n* $1: date and time of revision\n* $2: a series of links: to author of the revision, his talk page, etc. \n* (optional) $3: revision ID\n* (optional) $4: date of revision\n* (optional) $5: time of revision\n* (optional) $6: author of revision, for GENDER use",
+       "revision-info": "Appears just below the page title when an old version of the page is being viewed.\n\nParameters:\n* $1 - date and time of revision\n* $2 - a series of links: to author of the revision, his talk page, etc.\n* $3 - (Optional) revision ID\n* $4 - (Optional) date of revision\n* $5 - (Optional) time of revision\n* $6 - (Optional) author of revision, for GENDER use\n* $7 - edit summary of revision (with leading space and in parentheses)",
+       "revision-info-current": "{{notranslate}}\n* $1: date and time of revision\n* $2: a series of links: to author of the revision, his talk page, etc. \n* (optional) $3: revision ID\n* (optional) $4: date of revision\n* (optional) $5: time of revision\n* (optional) $6: author of revision, for GENDER use\n* $7 - edit summary of revision (with leading space and in parentheses)",
        "revision-nav": "{{notranslate}}\nRefers to {{msg-mw|Pipe-separator}}.\n\nParameters:\n* $1 - prev diff. link text is {{msg-mw|Diff}}\n* $2 - prev link. link text is {{msg-mw|Previousrevision}}\n* $3 - link. link text is {{msg-mw|Currentrevisionlink}}\n* $4 - cur diff. link text is {{msg-mw|Diff}}\n* $5 - next link. link text is {{msg-mw|Nextrevision}}\n* $6 - next diff. link text is {{msg-mw|Diff}}",
        "previousrevision": "See also:\n* {{msg-mw|Nextrevision}}",
        "nextrevision": "See also:\n* {{msg-mw|Previousrevision}}",
        "searchmenu-new": "An option shown in a menu beside search form offering a red link to the not yet existing page having the specified title (when using the default MediaWiki search engine).\n\nParameters:\n* $1 - page title\n* $2 - the number of search results found",
        "searchmenu-new-nocreate": "{{notranslate}}",
        "searchprofile-articles": "A quick link in the advanced search box on [[Special:Search]]. Clicking on this link starts a search in the content pages of the wiki.\n\nA 'content page' is a page that forms part of the purpose of the wiki. It includes the main page and pages in the main namespace and any other namespaces that are included when the wiki is customised. For example on Wikimedia Commons 'content pages' include pages in the file and category namespaces. On Wikinews 'content pages' include pages in the Portal namespace. For technical definition of 'content namespaces' see [[mw:Manual:Using_custom_namespaces#Content_namespaces|MediaWiki]].\n\nPossible alternatives to the word 'content' are 'subject matter' or 'wiki subject' or 'wiki purpose'.\n\n{{Identical|Content page}}",
 -      "searchprofile-project": "Used as an option in [[Special:Search]].\n\nSee also:\n* {{msg-mw|Searchprofile-project|message}}\n* {{msg-mw|Searchprofile-project-tooltip|tooltip}}",
        "searchprofile-images": "An option in the [[Special:Search]].\n\nSee also:\n* {{msg-mw|Searchprofile-images|message}}\n* {{msg-mw|Searchprofile-images-tooltip|tooltip}}\n{{Identical|Muitimedia}}",
        "searchprofile-everything": "Used as an option in [[Special:Search]].\n\nSee also:\n* {{msg-mw|Searchprofile-everything|message}}\n* {{msg-mw|Searchprofile-everything-tooltip|tooltip}}",
        "searchprofile-advanced": "Used as an option in [[Special:Search]].\n\nSee also:\n* {{msg-mw|Searchprofile-advanced|message}}\n* {{msg-mw|Searchprofile-advanced-tooltip|tooltip}}\n{{Identical|Advanced}}",
        "searchprofile-articles-tooltip": "Used as tooltip for the option {{msg-mw|Searchprofile-articles}} in [[Special:Search]].\n* $1 - list of namespaces\nSee also:\n* {{msg-mw|Searchprofile-articles|message}}\n* {{msg-mw|Searchprofile-articles-tooltip|tooltip}}\n{{Identical|Search in $1}}",
 -      "searchprofile-project-tooltip": "Used as tooltip for the option {{msg-mw|Searchprofile-project}} in [[Special:Search]].\n* $1 - list of namespaces\nSee also:\n* {{msg-mw|Searchprofile-project|message}}\n* {{msg-mw|Searchprofile-project-tooltip|tooltip}}\n{{Identical|Search in $1}}",
        "searchprofile-images-tooltip": "Used as tooltip for the option {{msg-mw|Searchprofile-images}} in the [[Special:Search]].\nSee also:\n* {{msg-mw|Searchprofile-images|message}}\n* {{msg-mw|Searchprofile-images-tooltip|tooltip}}",
        "searchprofile-everything-tooltip": "Used as tooltip for the option {{msg-mw|Searchprofile-everything}} in [[Special:Search]].\n\nSee also:\n* {{msg-mw|Searchprofile-everything|message}}\n* {{msg-mw|Searchprofile-everything-tooltip|tooltip}}",
        "searchprofile-advanced-tooltip": "Used as tooltip for the option {{msg-mw|Searchprofile-advanced}} in [[Special:Search]].\n\nSee also:\n* {{msg-mw|Searchprofile-advanced|message}}\n* {{msg-mw|Searchprofile-advanced-tooltip|tooltip}}",
        "search-interwiki-custom": "#REDIRECT [[MediaWiki:Wmf-search-interwiki-custom/qqq]]",
        "search-interwiki-more": "{{Identical|More}}",
        "search-relatedarticle": "This is a search result (and I guess search engine) dependent messages. I do not know how to trigger the feature. The message is displayed if the search result contains information that related pages can also be provided from the search engine. I assume this is \"More Like This\" functionality. Microsoft glossary defines MLT as \"A way to refine search by identifying the right set of documents and then locating similar documents. This allows the searcher to control the direction of the search and focus on the most fruitful lines of inquiry.\"[http://www.microsoft.com/enterprisesearch/en/us/search-glossary.aspx]\n{{Identical|Related}}",
 -      "searcheverything-enable": "Used in [[Special:Preferences]], tab \"Search\".",
        "searchrelated": "This is a search result (and I guess search engine) dependent messages. I do not know how to trigger the feature. The message is displayed if the search result contains information that related pages can also be provided from the search engine. I assume this is \"More Like This\" functionality. Microsoft glossary defines MLT as \"A way to refine search by identifying the right set of documents and then locating similar documents. This allows the searcher to control the direction of the search and focus on the most fruitful lines of inquiry.\"[http://www.microsoft.com/enterprisesearch/en/us/search-glossary.aspx]\n{{Identical|Related}}",
        "searchall": "{{Identical|All}}",
        "showingresults": "This message is used on some special pages such as [[Special:WantedCategories]]. Parameters:\n* $1 - the total number of results in the batch shown\n* $2 - the number of the first item listed\nSee also:\n* {{msg-mw|Showingresultsnum}}",
        "powersearch-togglelabel": "Used in [{{canonicalurl:Special:Search|advanced=1}} Advanced search]. Synonym: \"Select\" as verb.\n{{Identical|Check}}",
        "powersearch-toggleall": "\"All\" refers to namespaces. It is used in Advanced search: {{canonicalurl:Special:Search|advanced=1}}\n{{Identical|All}}",
        "powersearch-togglenone": "\"None\" refers to namespaces. It is used in Advanced search: {{canonicalurl:Special:Search|advanced=1}}\n{{Identical|None}}",
 +      "powersearch-remember": "Label for a checkbox to save namespace choice for advanced search to user preferences.",
        "search-external": "Legend of the fieldset for the input form when the internal search is disabled. Inside the fieldset [[MediaWiki:Searchdisabled]] and [[MediaWiki:Googlesearch]] is shown.",
        "searchdisabled": "{{doc-singularthey}}\nIn this sentence, \"their indexes\" refers to \"Google's indexes\".\n\nShown on [[Special:Search]] when the internal search is disabled.",
        "googlesearch": "{{notranslate}}\nShown when [[mw:Manual:$wgDisableTextSearch|$wgDisableTextSearch]] is set to true and no [[mw:Manual:$wgSearchForwardUrl|$wgSearchForwardUrl]] is set.\n\nParameters:\n* $1 - the search term\n* $2 - \"UTF-8\" (hard-coded)\n* $3 - the message {{msg-mw|Searchbutton}}",
        "allowemail": "Used in [[Special:Preferences]] > {{int:prefs-personal}} > {{int:email}}.",
        "prefs-searchoptions": "{{Identical|Search}}",
        "prefs-namespaces": "Shown as legend of the second fieldset of the tab 'Search' in [[Special:Preferences]]\n{{Identical|Namespaces}}",
 -      "defaultns": "Used in [[Special:Preferences]], tab \"Search\".",
        "default": "{{Identical|Default}}",
        "prefs-files": "Title of a tab in [[Special:Preferences]].\n{{Identical|File}}",
        "prefs-custom-css": "visible on [[Special:Preferences]] -[Skins].\n{{Identical|Custom CSS}}",
        "prefs-emailconfirm-label": "Sub-heading in [[Special:Preferences]] > {{int:prefs-personal}} > {{int:email}}.",
        "youremail": "Label of the e-mail text box of the \"E-mail options\" section of [[Special:Preferences]].\nAlso used on create account form.\n\n{{Identical|E-mail}}",
        "username": "Username field in [[Special:Preferences]]. $1 is the current user name for GENDER distinction (depends on sex setting).\n\n{{Identical|Username}}",
 -      "uid": "User ID field in [[Special:Preferences]]. $1 is the current user name for GENDER distinction (depends on sex setting).\n\n{{Identical|User ID}}",
        "prefs-memberingroups": "This message is shown on [[Special:Preferences]], first tab.\n\nParameters:\n* $1 - number of user groups\n* $2 - the username for GENDER\nSee also:\n* {{msg-mw|Prefs-memberingroups-type}}",
        "prefs-memberingroups-type": "{{optional}}\nParameters:\n* $1 - list of group names\n* $2 - list of group member names. Label for these is {{msg-mw|Prefs-memberingroups}}",
        "prefs-registration": "Used in [[Special:Preferences]].",
        "rcshowhideliu-show": "{{doc-actionlink}}\nOption text in [[Special:RecentChanges]] in conjunction with {{msg-mw|rcshowhideliu}}.\n\nSee also:\n* {{msg-mw|rcshowhideliu-hide}}\n{{Identical|Show}}",
        "rcshowhideliu-hide": "{{doc-actionlink}}\nOption text in [[Special:RecentChanges]] in conjunction with {{msg-mw|rcshowhideliu}}.\n\nSee also:\n* {{msg-mw|rcshowhideliu-show}}\n{{Identical|Hide}}",
        "rcshowhideanons": "Option text in [[Special:RecentChanges]]. Parameters:\n* $1 - the \"show/hide\" command, with the text taken from either {{msg-mw|Rcshowhideanons-show}} or {{msg-mw|Rcshowhideanons-hide}}\n{{Identical|Anonymous user}}",
 -      "rcshowhideanons-show": "{{doc-actionlink}}\nOption text in [[Special:RecentChanges]] in conjunction with {{msg-mw|rcshowhideanons}}.\n\nSee also:\n* {{msg-mw|rcshowhideanons-hide}}\n{{Identical|Hide}}",
 +      "rcshowhideanons-show": "{{doc-actionlink}}\nOption text in [[Special:RecentChanges]] in conjunction with {{msg-mw|rcshowhideanons}}.\n\nSee also:\n* {{msg-mw|rcshowhideanons-hide}}\n{{Identical|Show}}",
        "rcshowhideanons-hide": "{{doc-actionlink}}\nOption text in [[Special:RecentChanges]] in conjunction with {{msg-mw|rcshowhideanons}}.\n\nSee also:\n* {{msg-mw|rcshowhideanons-show}}\n{{Identical|hide}}",
        "rcshowhidepatr": "Option text in [[Special:RecentChanges]]. Parameters:\n* $1 - the \"show/hide\" command, with the text taken from either {{msg-mw|rcshowhidepatr-show}} or {{msg-mw|rcshowhidepatr-hide}}",
        "rcshowhidepatr-show": "{{doc-actionlink}}\nOption text in [[Special:RecentChanges]] in conjunction with {{msg-mw|rcshowhidepatr}}.\n\nSee also:\n* {{msg-mw|rcshowhidepatr-hide}}\n{{Identical|Show}}",
        "filename": "{{Identical|Filename}}",
        "filedesc": "Used as section header in [[Special:Upload]].\n\nSee also:\n* {{msg-mw|License-header}}\n* {{msg-mw|Filestatus}}\n* {{msg-mw|Filesource}}\n{{Identical|Summary}}",
        "fileuploadsummary": "{{Identical|Summary}}",
 -      "filereuploadsummary": "Label of textearea in [[Special:Upload]] when uploading a new version of existing file.",
 +      "filereuploadsummary": "Label of text area in [[Special:Upload]] when uploading a new version of existing file.",
        "filestatus": "Used as section header in [[Special:Upload]].\n\nSee also:\n* {{msg-mw|License-header}}\n* {{msg-mw|Filedesc}}\n* {{msg-mw|Filesource}}",
        "filesource": "On page [[Special:Upload]] if defined $wgUseCopyrightUpload for detailed copyright information forms. This is source of file.\n\nSee also:\n* {{msg-mw|License-header}}\n* {{msg-mw|Filedesc}}\n* {{msg-mw|Filestatus}}\n{{Identical|Source}}",
        "ignorewarning": "Used as button text in the Upload form on [[Special:Upload]].\n\nSee also:\n* {{msg-mw|upload-tryagain|Submit button text}}\n* {{msg-mw|reuploaddesc|button text}}",
        "showhideselectedlogentries": "Text of the button which brings up the [[mw:RevisionDelete|RevisionDelete]] menu on [[Special:Log]].",
        "allpages": "{{doc-special|AllPages}}\nFirst part of the navigation bar for the special page [[Special:AllPages]] and [[Special:PrefixIndex]].\nThe other parts are {{msg-mw|Prevpage}} and {{msg-mw|Nextpage}}.\n{{Identical|All pages}}",
        "allpages-summary": "{{doc-specialpagesummary|allpages}}",
 -      "alphaindexline": "Used on [[Special:AllPages]] if the main namespace contains more than 960 pages. Indicates the page range displayed behind the link. \"from page $1 to page $2\". $1 is the source page name. $1 is the target page name.",
        "nextpage": "Third part of the navigation bar for the special page [[Special:AllPages]] and [[Special:PrefixIndex]]. $1 is a page title. The other parts are {{msg-mw|Allpages}} and {{msg-mw|Prevpage}}.\n\n{{Identical|Next page}}",
        "prevpage": "Second part of the navigation bar for the special page [[Special:AllPages]] and [[Special:PrefixIndex]]. $1 is a page title. The other parts are {{msg-mw|Allpages}} and {{msg-mw|Nextpage}}.\n\n{{Identical|Previous page}}",
        "allpagesfrom": "Option in [[Special:AllPages]].\n\nSee also:\n* {{msg-mw|allpagesto}}",
        "linksearch-line": "Text for the results of a search using [[Special:LinkSearch]].\n\n*$1 is the address of an external link\n*$2 is the page containing the external link",
        "linksearch-error": "Error message generated by [[Special:LinkSearch]].\n\nYou can apparently use 'URL' instead of 'hostname'.",
        "listusersfrom": "identical with {{msg-mw|activeusers-from}}",
 -      "listusers-submit": "Text displayed in the submission button of the [[Special:ListUsers]] form.\n{{Identical|Go}}\n{{Identical|Show}}",
 +      "listusers-submit": "Text displayed in the submission button of the [[Special:ListUsers]] form.\n{{Identical|Show}}",
        "listusers-noresult": "identical with {{msg-mw|activeusers-noresult}}",
        "listusers-blocked": "Used on [[Special:ActiveUsers]] when a user has been blocked. Parameters:\n* $1 - (Optional) a user name for use with GENDER\n{{Identical|Blocked}}",
        "activeusers": "Title of [[Special:ActiveUsers]]",
        "expensive-parserfunction-category-desc": "Expensive parserfunction category description. Shown on [[Special:TrackingCategories]].\n\nSee also:\n* {{msg-mw|Expensive-parserfunction-category}}",
        "broken-file-category-desc": "Broken file category description. Shown on [[Special:TrackingCategories]].\n\nSee also:\n* {{msg-mw|Broken-file-category}}",
        "hidden-category-category-desc": "Hidden-category category description. Shown on [[Special:TrackingCategories]].\n\nSee also:\n* {{msg-mw|Hidden-category-category}}",
 -      "node-count-exceeded-category-desc": "Node count exceeded category description. Shown on [[Special:TrackingCategories]].\n\nSee also:\n* {{msg-mw|Node-count-exceeded-category}}",
 -      "expansion-depth-exceeded-category-desc": "Expansion depth exceeded category description. Shown on [[Special:TrackingCategories]].\n\nSee also:\n* {{msg-mw|Expansion-depth-exceeded-category}}",
        "trackingcategories-nodesc": "Tracking category description not available message",
        "trackingcategories-disabled": "This message is used as the contents of the column \"Tracking category\" on [[Special:TrackingCategories]] when a particular tracking category has been disabled.",
        "mailnologin": "Used in [[Special:EmailUser]].\n\nUsed as title of the error message {{msg-mw|Mailnologintext}}.",
        "watchnologin": "Used as error page title.\n\nThe error message for this title is:\n* {{msg-mw|Watchnologintext}}\n{{Identical|Not logged in}}",
        "addwatch": "Link to a dialog box, displayed at the end of the list of categories at the foot of each page.\n\nSee also:\n* {{msg-mw|Removewatch}}",
        "addedwatchtext": "Explanation shown when clicking on the {{msg-mw|Watch}} tab. Parameters:\n* $1 - page title\nSee also:\n* {{msg-mw|Addedwatch}}",
 +      "addedwatchtext-short": "Explanation shown when watching item from [[Special:UnwatchedPages]].\n\nSee also:\n* {{msg-mw|Removedwatchtext-short}}\n* {{msg-mw|Addedwatchtext}}",
        "removewatch": "Link to a dialog box, displayed at the end of the list of categories at the foot of each page.\n\nSee also:\n* {{msg-mw|Addwatch}}",
        "removedwatchtext": "After a page has been removed from a user's watchlist by clicking the {{msg-mw|Unwatch}} tab at the top of an article, this message appears just below the title of the article.\n\nParameters:\n* $1 - the title of the article\nSee also:\n* {{msg-mw|Removedwatch}}\n* {{msg-mw|Addedwatchtext}}",
 +      "removedwatchtext-short": "Explanation shown when unwatching item from [[Special:UnwatchedPages]].\n\nSee also:\n* {{msg-mw|Addedwatchtext-short}}.\n* {{msg-mw|Removedwatchtext}}.",
        "watch": "{{doc-actionlink}}\nName of the Watch tab. Should be in the imperative mood.\n\nSee also:\n* {{msg-mw|Watch}}\n* {{msg-mw|Accesskey-ca-watch}}\n* {{msg-mw|Tooltip-ca-watch}}",
        "watchthispage": "Used as link text.\n\nSee also:\n* {{msg-mw|Unwatchthispage|link text}}\n* {{msg-mw|Notanarticle|error message}}\n{{Identical|Watch this page}}",
        "unwatch": "{{doc-actionlink}}\nLabel of \"Unwatch\" tab.\n\nSee also:\n* {{msg-mw|Unwatch}}\n* {{msg-mw|Accesskey-ca-unwatch}}\n* {{msg-mw|Tooltip-ca-unwatch}}",
        "blocklogpage": "{{doc-logpage}}\n\nThe page name of [[Special:Log/block]]. Also appears in the drop down menu of [[Special:Log]] pages and in the action links of Special:Contributions/''Username'' pages (e.g. \"For Somebody (talk | block log | logs)\").\n\n{{Identical|Block log}}",
        "blocklog-showlog": "Parameters:\n* $1 - (Optional) the blocked user. Can be used for GENDER\nSee also:\n* {{msg-mw|Blocklog-showsuppresslog}}\n* {{msg-mw|Globalblocking-showlog}}",
        "blocklog-showsuppresslog": "Parameters:\n* $1 - (Optional) the blocked user. Can be used for GENDER",
 -      "blocklogentry": "This is the text of an entry in the Block log, and recent changes, after hour (and date, only in the Block log) and sysop name:\n* $1 - the blocked user or IP (with link to contributions and talk)\n* $2 - the duration of the block (hours, days etc.) or the specified expiry date\n* $3 - contains \"(details) (''reason'')\"\nSee also:\n* {{msg-mw|Unblocklogentry}}\n* {{msg-mw|Reblock-logentry}}",
 +      "blocklogentry": "This is the text of an entry in the Block log, and recent changes, after hour (and date, only in the Block log) and sysop name:\n* $1 - the blocked user or IP (with link to contributions and talk)\n* $2 - the duration of the block (hours, days etc.) or the specified expiry date\n* $3 - contains \"(details) (''reason'')\", or empty string\nSee also:\n* {{msg-mw|Unblocklogentry}}\n* {{msg-mw|Reblock-logentry}}",
        "reblock-logentry": "This is the text of an entry in the Block log (and Recent Changes), after hour (and date, only in the Block log) and sysop name.\n\nParameters:\n* $1 - the user being reblocked\n* $2 - the expiry time of the block\n* $3 - extra parameters like \"account creation blocked\" (they are automatically between brackets)",
        "blocklogtext": "Appears on top of [[Special:Log/block]].",
        "unblocklogentry": "This is the text of an entry in the Block log (and Recent Changes), after hour (and date, only in the Block log) and sysop name:\n* $1 is the user being unblocked",
        "interlanguage-link-title": "{{Optional}}\nFormat of a sidebar interwiki link tooltip. Parameters:\n* $1 - page name in the target wiki\n* $2 - target wiki language autonym",
        "interlanguage-link-title-langonly": "{{ignored}}Interlanguage link title. Parameters: $1 replaced with a language name.",
        "common.css": "{{optional}}\nCSS applied to all users.",
 -      "cologneblue.css": "{{optional}}",
        "monobook.css": "{{optional}}\nCSS applied to users using Monobook skin.",
 -      "modern.css": "{{optional}}",
        "vector.css": "{{optional}}",
        "print.css": "{{optional}}",
        "noscript.css": "{{optional}}",
        "group-sysop.css": "{{doc-group|sysop|css}}",
        "group-bureaucrat.css": "{{doc-group|bureaucrat|css}}",
        "common.js": "{{optional}}\nJS for all users.",
 -      "cologneblue.js": "{{optional}}",
        "monobook.js": "{{optional}}\nJS for users using Monobook skin.",
 -      "modern.js": "{{optional}}",
        "vector.js": "{{optional}}",
        "group-autoconfirmed.js": "{{doc-group|autoconfirmed|js}}",
        "group-user.js": "{{doc-group|user|js}}",
        "pageinfo-category-pages": "See also:\n* {{msg-mw|Pageinfo-category-subcats}}\n* {{msg-mw|Pageinfo-category-files}}",
        "pageinfo-category-subcats": "See also:\n* {{msg-mw|Pageinfo-category-pages}}\n* {{msg-mw|Pageinfo-category-files}}",
        "pageinfo-category-files": "See also:\n* {{msg-mw|Pageinfo-category-pages}}\n* {{msg-mw|Pageinfo-category-subcats}}",
 -      "skinname-cologneblue": "{{optional}}",
        "skinname-monobook": "{{optional}}",
 -      "skinname-modern": "{{optional}}\n{{Identical|Modern}}",
        "skinname-vector": "{{optional}}",
 -      "markaspatrolleddiff": "{{doc-actionlink}}\nSee also:\n* {{msg-mw|Markaspatrolledtext}}",
 +      "markaspatrolleddiff": "{{doc-actionlink}}\nSee also:\n* {{msg-mw|Markaspatrolledtext}}\n{{Identical|Mark as patrolled}}",
        "markaspatrolledlink": "{{notranslate}}\nParameters:\n* $1 - link which has text {{msg-mw|Markaspatrolledtext}}",
        "markaspatrolledtext": "{{doc-actionlink}}\nSee also:\n* {{msg-mw|Markaspatrolleddiff}}",
        "markedaspatrolled": "Used as title of the message {{msg-mw|Markedaspatrolledtext}}, when marking a change as patrolled.\n{{Related|Markedaspatrolled}}",
        "exif-flash-function-1": "Exif is a format for storing metadata in image files. See this [[w:Exchangeable_image_file_format|Wikipedia article]] and the example at the bottom of [[commons:File:Phalacrocorax-auritus-020.jpg|this page on Commons]]. The tags are explained [http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif.html briefly] and [http://www.kodak.com/global/plugins/acrobat/en/service/digCam/exifStandard2.pdf in further detail].\n{{Related|Exif-flash}}",
        "exif-flash-redeye-1": "{{Related|Exif-flash}}",
        "exif-focalplaneresolutionunit-2": "See also:\n* {{msg-mw|Exif-focalplaneresolutionunit}}",
 -      "exif-sensingmethod-1": "{{Related|Exif-sensingmethod}}",
 +      "exif-sensingmethod-1": "{{Related|Exif-sensingmethod}}\n{{Identical|Undefined}}",
        "exif-sensingmethod-2": "{{Related|Exif-sensingmethod}}",
        "exif-sensingmethod-3": "{{Related|Exif-sensingmethod}}",
        "exif-sensingmethod-4": "{{Related|Exif-sensingmethod}}",
        "watchlistedit-raw-added": "Message on [[Special:EditWatchlist/raw]].\n\nThe message appears after at least 1 message is added to the raw watchlist.\n\nFollowed by list of page titles which are added.\n\nParameters:\n* $1 - number of page titles which are added\nSee also:\n* {{msg-mw|Watchlistedit-normal-done}}\n* {{msg-mw|Watchlistedit-raw-removed}}",
        "watchlistedit-raw-removed": "Message on [[Special:EditWatchlist/raw]].\n\nThe message appears after at least 1 message is deleted from the raw watchlist.\n\nFollowed by list of page titles which are removed.\n\nParameters:\n* $1 - number of page titles which are removed\nSee also:\n* {{msg-mw|Watchlistedit-normal-done}}\n* {{msg-mw|Watchlistedit-raw-added}}",
        "watchlistedit-clear-title": "Used as page title in [[Special:Watchlist/clear]].",
 -      "watchlistedit-clear-legend": "Heading of dialog box on [[Special:Watchlist/clear]].\n{{Identical|Clear watchlist}}",
 +      "watchlistedit-clear-legend": "Heading of dialog box on [[Special:Watchlist/clear]].\n{{Identical|Clear watchlist}}\n\nThis feature previously existed using the message {{msg-mw|clearwatchlist}}.",
        "watchlistedit-clear-explain": "Used as intro text on [[Special:Watchlist/clear]].\n\nPreceded by the fieldset label {{msg-mw|Watchlistedit-clear-legend}}.\n\nFollowed by the button {{msg-mw|Watchlistedit-clear-submit}}.",
        "watchlistedit-clear-titles": "Text above edit box containing items being watched on [[Special:Watchlist/clear]].\n{{Identical|Title}}",
        "watchlistedit-clear-submit": "Text of submit button on [[Special:Watchlist/clear]].\n{{Identical|Clear watchlist}}",