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