Add plural support for message upload-permitted on Special:Upload
authorumherirrender <umherirrender_de.wp@web.de>
Mon, 12 Jan 2015 18:41:23 +0000 (19:41 +0100)
committerumherirrender <umherirrender_de.wp@web.de>
Tue, 13 Jan 2015 15:43:24 +0000 (16:43 +0100)
The messages upload-permitted, upload-preferred and upload-prohibited
containing a comma separated list of items. Adding the count of this
list allows use of plural for better i18n.

Change-Id: I3fb09db4788bff6ea89731f77848d78fb33dd493

includes/specials/SpecialUpload.php
languages/i18n/en.json
languages/i18n/qqq.json

index 2a5b7ad..8dc9bb6 100644 (file)
@@ -937,35 +937,31 @@ class UploadForm extends HTMLForm {
                $config = $this->getConfig();
 
                if ( $config->get( 'CheckFileExtensions' ) ) {
+                       $fileExtensions = array_unique( $config->get( 'FileExtensions' ) );
                        if ( $config->get( 'StrictFileExtensions' ) ) {
                                # Everything not permitted is banned
                                $extensionsList =
                                        '<div id="mw-upload-permitted">' .
-                                       $this->msg(
-                                               'upload-permitted',
-                                               $this->getContext()->getLanguage()->commaList(
-                                                       array_unique( $config->get( 'FileExtensions' ) )
-                                               )
-                                       )->parseAsBlock() .
+                                       $this->msg( 'upload-permitted' )
+                                               ->params( $this->getLanguage()->commaList( $fileExtensions ) )
+                                               ->numParams( count( $fileExtensions ) )
+                                               ->parseAsBlock() .
                                        "</div>\n";
                        } else {
                                # We have to list both preferred and prohibited
+                               $fileBlacklist = array_unique( $config->get( 'FileBlacklist' ) );
                                $extensionsList =
                                        '<div id="mw-upload-preferred">' .
-                                               $this->msg(
-                                                       'upload-preferred',
-                                                       $this->getContext()->getLanguage()->commaList(
-                                                               array_unique( $config->get( 'FileExtensions' ) )
-                                                       )
-                                               )->parseAsBlock() .
+                                               $this->msg( 'upload-preferred' )
+                                                       ->params( $this->getLanguage()->commaList( $fileExtensions ) )
+                                                       ->numParams( count( $fileExtensions ) )
+                                                       ->parseAsBlock() .
                                        "</div>\n" .
                                        '<div id="mw-upload-prohibited">' .
-                                               $this->msg(
-                                                       'upload-prohibited',
-                                                       $this->getContext()->getLanguage()->commaList(
-                                                               array_unique( $config->get( 'FileBlacklist' ) )
-                                                       )
-                                               )->parseAsBlock() .
+                                               $this->msg( 'upload-prohibited' )
+                                                       ->params( $this->getLanguage()->commaList( $fileBlacklist ) )
+                                                       ->numParams( count( $fileBlacklist ) )
+                                                       ->parseAsBlock() .
                                        "</div>\n";
                        }
                } else {
index 3c86243..9e072b6 100644 (file)
        "upload-summary": "",
        "upload-recreate-warning": "<strong>Warning: A file by that name has been deleted or moved.</strong>\n\nThe deletion and move log for this page are provided here for convenience:",
        "uploadtext": "Use the form below to upload files.\nTo view or search previously uploaded files go to the [[Special:FileList|list of uploaded files]], (re)uploads are also logged in the [[Special:Log/upload|upload log]], deletions in the [[Special:Log/delete|deletion log]].\n\nTo include a file in a page, use a link in one of the following forms:\n* <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code></strong> to use the full version of the file\n* <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|alt text]]</nowiki></code></strong> to use a 200 pixel wide rendition in a box in the left margin with \"alt text\" as description\n* <strong><code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code></strong> for directly linking to the file without displaying the file",
-       "upload-permitted": "Permitted file types: $1.",
-       "upload-preferred": "Preferred file types: $1.",
-       "upload-prohibited": "Prohibited file types: $1.",
+       "upload-permitted": "Permitted file {{PLURAL:$2|type|types}}: $1.",
+       "upload-preferred": "Preferred file {{PLURAL:$2|type|types}}: $1.",
+       "upload-prohibited": "Prohibited file {{PLURAL:$2|type|types}}: $1.",
        "uploadfooter": "-",
        "upload-default-description": "-",
        "uploadlogpage": "Upload log",
index 504658e..14345bf 100644 (file)
        "upload-summary": "{{doc-specialpagesummary|upload}}",
        "upload-recreate-warning": "Used as warning in [[Special:Upload]].",
        "uploadtext": "{{doc-important|<code>thumb</code> and <code>left</code> are magic words. Leave them untranslated!}}\nText displayed when uploading a file using [[Special:Upload]].",
-       "upload-permitted": "Used in [[Special:Upload]]. Parameters:\n* $1 - list of file types, defined in the variable [[mw:Special:MyLanguage/Manual:$wgFileExtensions|$wgFileExtensions]]\nSee also:\n* {{msg-mw|Upload-preferred}}\n* {{msg-mw|Upload-prohibited}}",
-       "upload-preferred": "Used in [[Special:Upload]]. Parameters:\n* $1 - list of file types, defined in the variable [[mw:Special:MyLanguage/Manual:$wgFileExtensions|$wgFileExtensions]]\nSee also:\n* {{msg-mw|Upload-permitted}}\n* {{msg-mw|Upload-prohibited}}",
-       "upload-prohibited": "Used in [[Special:Upload]]. Parameters:\n* $1 - list of file types, defined in the variable [[mw:Special:MyLanguage/Manual:$wgFileBlacklist|$wgFileBlacklist]]\nSee also:\n* {{msg-mw|Upload-permitted}}\n* {{msg-mw|Upload-preferred}}",
+       "upload-permitted": "Used in [[Special:Upload]]. Parameters:\n* $1 - list of file types, defined in the variable [[mw:Special:MyLanguage/Manual:$wgFileExtensions|$wgFileExtensions]]\n* $2 - count of items in $1 - for use in plural\nSee also:\n* {{msg-mw|Upload-preferred}}\n* {{msg-mw|Upload-prohibited}}",
+       "upload-preferred": "Used in [[Special:Upload]]. Parameters:\n* $1 - list of file types, defined in the variable [[mw:Special:MyLanguage/Manual:$wgFileExtensions|$wgFileExtensions]]\n* $2 - count of items in $1 - for use in plural\nSee also:\n* {{msg-mw|Upload-permitted}}\n* {{msg-mw|Upload-prohibited}}",
+       "upload-prohibited": "Used in [[Special:Upload]]. Parameters:\n* $1 - list of file types, defined in the variable [[mw:Special:MyLanguage/Manual:$wgFileBlacklist|$wgFileBlacklist]]\n* $2 - count of items in $1 - for use in plural\nSee also:\n* {{msg-mw|Upload-permitted}}\n* {{msg-mw|Upload-preferred}}",
        "uploadfooter": "{{notranslate}}",
        "upload-default-description": "{{ignored}}Custom default upload description. The contents of this message be will inserted in the field \"Summary\" on [[Special:Upload]].",
        "uploadlogpage": "{{doc-logpage}}\n\nPage title of [[Special:Log/upload]].",