jenkins-bot has submitted this change and it was merged.

Change subject: Display a warning when translating to a non-priority language
......................................................................


Display a warning when translating to a non-priority language

Change-Id: I4b35e934a64b1405f1a6f90bac9eb1a0284ad258
---
M Translate.php
M resources/css/ext.translate.special.translate.css
M resources/js/ext.translate.special.translate.js
M specials/SpecialTranslate.php
4 files changed, 75 insertions(+), 8 deletions(-)

Approvals:
  Siebrand: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/Translate.php b/Translate.php
index 6826781..eb548d2 100644
--- a/Translate.php
+++ b/Translate.php
@@ -456,6 +456,7 @@
        'scripts' => 'resources/js/ext.translate.special.translate.js',
        'position' => 'top',
        'dependencies' => array(
+               'mediawiki.jqueryMsg',
                'mediawiki.Uri',
                'mediawiki.api.parse',
                'ext.translate.base',
@@ -471,6 +472,8 @@
                'translate-js-support-unsaved-warning',
                'translate-documentation-language',
                'translate-workflow-state-',
+               'tpt-discouraged-language-force',
+               'tpt-discouraged-language',
        ),
 ) + $resourcePaths;
 
diff --git a/resources/css/ext.translate.special.translate.css 
b/resources/css/ext.translate.special.translate.css
index e3de396..1c43581 100644
--- a/resources/css/ext.translate.special.translate.css
+++ b/resources/css/ext.translate.special.translate.css
@@ -108,20 +108,34 @@
        top: 1px;
 }
 
-.tux-editor-header .description {
-       font-size: 14px;
+.tux-editor-header {
        color: #252525;
+       font-size: 14px;
+       padding-bottom: 20px;
+}
+
+.tux-editor-header .description {
+       margin: 5px 0;
+}
+
+.tux-editor-header .group-warning {
+       background: #FFF5AA;
+       padding: 5px;
+       margin: 5px 0;
+}
+
+.tux-editor-header .group-warning:empty {
+       display: none;
 }
 
 .tux-workflow-status {
-       font-size: 14px;
        background: #eee;
        border: 1px solid #ddd;
        color: #252525;
        cursor: pointer;
        display: inline-block;
        padding: 2px 4px;
-       margin: 0 5px;
+       margin: 5px 0;
 }
 
 .tux-workflow-status:hover {
@@ -175,7 +189,7 @@
 }
 
 .tux-messagetable-header {
-       padding-top: 25px;
+       padding-top: 5px;
        border-bottom: 1px solid #777;
        /* @noflip */
        -webkit-box-shadow: 0 3px 3px -3px rgba(0, 0, 0, 0.5);
diff --git a/resources/js/ext.translate.special.translate.js 
b/resources/js/ext.translate.special.translate.js
index 1d20974..994597a 100644
--- a/resources/js/ext.translate.special.translate.js
+++ b/resources/js/ext.translate.special.translate.js
@@ -81,6 +81,7 @@
                        mw.translate.loadMessages( changes );
                        mw.translate.changeUrl( changes );
                        mw.translate.prepareWorkflowSelector( group );
+                       updateGroupWarning();
                },
 
                changeLanguage: function ( language ) {
@@ -94,6 +95,7 @@
                        mw.translate.changeUrl( changes );
                        $( '.tux-statsbar' ).trigger( 'refresh', language );
                        mw.translate.loadMessages();
+                       updateGroupWarning();
                },
 
                changeFilter: function ( filter ) {
@@ -241,6 +243,38 @@
                } );
        }
 
+       function updateGroupWarning() {
+               /*jshint loopfunc:true */
+               var preferredLanguages,
+                       $groupWarning = $( '.tux-editor-header .group-warning' 
),
+                       targetLanguage = $( '.tux-messagelist' ).data( 
'targetlangcode' ),
+                       msgGroupData = mw.translate.getGroup(
+                               $( '.tux-messagetable-loader' ).data( 
'messagegroup' )
+                       );
+
+               if ( msgGroupData.prioritylangs &&
+                       $.inArray( targetLanguage, msgGroupData.prioritylangs ) 
=== -1
+               ) {
+                       preferredLanguages = $.map( msgGroupData.prioritylangs, 
function ( code ) {
+                               return $.uls.data.getAutonym( code );
+                       } );
+
+                       new mw.Api().parse(
+                               mw.message( msgGroupData.priorityforce ?
+                                       'tpt-discouraged-language-force' :
+                                       'tpt-discouraged-language',
+                                       '',
+                                       $.uls.data.getAutonym( targetLanguage ),
+                                       preferredLanguages.join( ', ' )
+                               ).parse()
+                       ).done( function ( parsedWarning ) {
+                               $groupWarning.html( parsedWarning );
+                       } );
+               } else {
+                       $groupWarning.empty();
+               }
+       }
+
        $( document ).ready( function () {
                var targetLanguage, $translateContainer, 
$hideTranslatedButton,$messageList,
                        docLanguageAutonym, docLanguageCode, ulsOptions, 
filter, uri;
@@ -273,11 +307,15 @@
                        $( '.ext-translate-msggroup-selector .grouplink' 
).msggroupselector( {
                                onSelect: groupSelectorHandler
                        } );
+
                        $( '.tux-message-list-statsbar' ).languagestatsbar( {
                                language: targetLanguage,
                                group: $( '.tux-message-list-statsbar' ).data( 
'messagegroup' )
                        } );
+
                        $( '.tux-messagelist' ).messagetable();
+
+                       updateGroupWarning();
                } );
 
                // Use ULS for language selection if it's available
diff --git a/specials/SpecialTranslate.php b/specials/SpecialTranslate.php
index c416a88..a01e893 100644
--- a/specials/SpecialTranslate.php
+++ b/specials/SpecialTranslate.php
@@ -186,6 +186,7 @@
                                        )->parseAsBlock() . $priorityReason
                                );
                        }
+
                        if ( $description ) {
                                $description = Xml::fieldset(
                                        $this->msg( 
'translate-page-description-legend' )->text(),
@@ -371,9 +372,11 @@
                $attrs = array( 'class' => 'row tux-editor-header' );
                $selectors = $this->tuxGroupSelector() .
                        $this->tuxLanguageSelector() .
-                       $this->tuxGroupDescription();
+                       $this->tuxGroupDescription() .
+                       $this->tuxWorkflowSelector() .
+                       $this->tuxGroupWarning();
 
-               return Html::rawElement( 'div', $attrs, $selectors ) . 
$this->tuxWorkflowSelector();
+               return Html::rawElement( 'div', $attrs, $selectors );
        }
 
        protected function messageSelector() {
@@ -498,6 +501,15 @@
                        Html::rawElement( 'div',
                                array( 'class' => 'twelve columns description' 
),
                                $this->getGroupDescription( $this->group )
+                       );
+       }
+
+       protected function tuxGroupWarning() {
+               // Initialize an empty warning box to be filled client-side.
+               return
+                       Html::element( 'div',
+                               array( 'class' => 'twelve columns 
group-warning' ),
+                               ''
                        );
        }
 
@@ -647,7 +659,7 @@
                        'data-language' => $this->options['language'],
                ) );
 
-               $selectorRow = Html::openElement( 'div', array( 'class' => 
'row' ) );
+               $selectorRow = Html::openElement( 'div', array( 'class' => 
'twelve columns' ) );
 
                $selectorRow .= $selector;
                $options = Html::openElement( 'ul', array( 'class' => 
'tux-workflow-status-selector hide' ) );

-- 
To view, visit https://gerrit.wikimedia.org/r/49977
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I4b35e934a64b1405f1a6f90bac9eb1a0284ad258
Gerrit-PatchSet: 6
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Amire80 <amir.ahar...@mail.huji.ac.il>
Gerrit-Reviewer: Amire80 <amir.ahar...@mail.huji.ac.il>
Gerrit-Reviewer: Nikerabbit <niklas.laxst...@gmail.com>
Gerrit-Reviewer: Pginer <pgi...@wikimedia.org>
Gerrit-Reviewer: Santhosh <santhosh.thottin...@gmail.com>
Gerrit-Reviewer: Siebrand <siebr...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to