jenkins-bot has submitted this change and it was merged.
Change subject: Automatically blacklist the page's source language
..
Automatically blacklist the page's source language
Bug: T89637
Change-Id: Ie56a4b1c769cec50c3e502b35f7d644ed1972e65
---
M i18n/core/en.json
M i18n/core/qqq.json
M specials/SpecialTranslate.php
3 files changed, 20 insertions(+), 2 deletions(-)
Approvals:
Siebrand: Looks good to me, approved
jenkins-bot: Verified
diff --git a/i18n/core/en.json b/i18n/core/en.json
index ea9d23e..977fadd 100644
--- a/i18n/core/en.json
+++ b/i18n/core/en.json
@@ -26,6 +26,7 @@
"translate-page-no-such-language": "Specified language was invalid.",
"translate-page-no-such-group": "Specified group was invalid.",
"translate-page-disabled": "Translations to this language in this group
have been disabled.\nReason:\n\n$1",
+ "translate-page-disabled-source": "$1 is the source language of this
page.",
"translate-language-disabled": "Translation to this language is
disabled.",
"translate-page-settings-legend": "Settings",
"translate-page-group": "Group",
diff --git a/i18n/core/qqq.json b/i18n/core/qqq.json
index 4800c83..e3afd36 100644
--- a/i18n/core/qqq.json
+++ b/i18n/core/qqq.json
@@ -57,6 +57,7 @@
"translate-page-no-such-language": "Shown when someone requests a
language that doesn't exists. Examples:\n* Special:LanguageStats, under the
selectors [{{FULLURL:Special:LanguageStats|language=ugagaga}}]\n*
Special:Translate until 2013, next to the language dropdown
[//translatewiki.net/w/i.php?title=Special:Translate=0=out-blockly-0-all=ugagaga]",
"translate-page-no-such-group": "Shown when someone requests a group
that doesn't exists. [{{FULLURL:Special:Translate|group=invalidgroup}}
Example].",
"translate-page-disabled": "Parameters:\n* $1 - reason that the
language has been blacklisted",
+ "translate-page-disabled-source": "Possible reason for
{{mws-mw|translate-page-disabled}}.\nParameters:\n $1 - language name.",
"translate-language-disabled": "Shown when someone requests a
blacklisted language.
[{{FULLURL:Special:Translate|group=mediawiki=zh-tw}} Example].",
"translate-page-settings-legend": "{{Identical|Settings}}",
"translate-page-group": "{{Identical|Group}}",
diff --git a/specials/SpecialTranslate.php b/specials/SpecialTranslate.php
index 680cdc5..e4079a3 100644
--- a/specials/SpecialTranslate.php
+++ b/specials/SpecialTranslate.php
@@ -99,6 +99,22 @@
if ( count( $errors ) ) {
return;
} else {
+ $langCode = $this->options['language'];
+
+ if ( $this->group->getSourceLanguage() === $langCode ) {
+ $langName =
TranslateUtils::getLanguageName(
+ $langCode,
+ $this->getLanguage()->getCode()
+ );
+ $reason = $this->msg(
'translate-page-disabled-source', $langName )->plain();
+ $out->addWikiMsg(
'translate-page-disabled', $reason );
+ if ( $isBeta ) {
+ // Close
div.ext-translate-container
+ $out->addHTML(
Html::closeElement( 'div' ) );
+ }
+ return;
+ }
+
$checks = array(
$this->options['group'],
strtok( $this->options['group'], '-' ),
@@ -106,8 +122,8 @@
);
foreach ( $checks as $check ) {
- if ( isset(
$wgTranslateBlacklist[$check][$this->options['language']] ) ) {
- $reason =
$wgTranslateBlacklist[$check][$this->options['language']];
+ if ( isset(
$wgTranslateBlacklist[$check][$langCode] ) ) {
+ $reason =
$wgTranslateBlacklist[$check][$langCode];
$out->addWikiMsg(
'translate-page-disabled', $reason );
if ( $isBeta ) {
// Close
div.ext-translate-container
--
To view, visit https://gerrit.wikimedia.org/r/213331
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ie56a4b1c769cec50c3e502b35f7d644ed1972e65
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Nemo bis
Gerrit-Reviewer: Nemo bis