Nikerabbit has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/291737

Change subject: Use page content language instead of content language in 
Special:PageTranslation
......................................................................

Use page content language instead of content language in Special:PageTranslation

The language attributes for sections when marking page for translation
were incorrectly defaulting to content language. This is most clearly
visible when changing the page source language to RTL language in LTR
wiki.

Also, DifferenceEngine::setTextLanguage has been present since 1.19,
so no need to check it anymore.

Change-Id: Ib880d66ce917d7e86c0b89e95aad3b4242a4a748
---
M tag/SpecialPageTranslation.php
1 file changed, 8 insertions(+), 11 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Translate 
refs/changes/37/291737/1

diff --git a/tag/SpecialPageTranslation.php b/tag/SpecialPageTranslation.php
index 7cdaa81..c837a84 100644
--- a/tag/SpecialPageTranslation.php
+++ b/tag/SpecialPageTranslation.php
@@ -602,8 +602,6 @@
         * @param TPSection[] $sections
         */
        public function showPage( TranslatablePage $page, array $sections ) {
-               global $wgContLang;
-
                $out = $this->getOutput();
 
                $out->setSubtitle( Linker::link( $page->getTitle() ) );
@@ -635,6 +633,8 @@
                // If the page is marked for translation the first time, 
default to checked.
                $defaultChecked = $page->hasPageDisplayTitle();
 
+               $sourceLanguage = Language::factory( 
$page->getSourceLanguageCode() );
+
                foreach ( $sections as $s ) {
                        if ( $s->name === 'Page display title' ) {
                                // Set section type as new if title previously 
unchecked
@@ -659,9 +659,7 @@
                        if ( $s->type === 'changed' ) {
                                $hasChanges = true;
                                $diff = new DifferenceEngine;
-                               if ( method_exists( 'DifferenceEngine', 
'setTextLanguage' ) ) {
-                                       $diff->setTextLanguage( $wgContLang );
-                               }
+                               $diff->setTextLanguage( $sourceLanguage );
                                $diff->setReducedLineNumbers();
 
                                $oldContent = ContentHandler::makeContent( 
$s->getOldText(), $diff->getTitle() );
@@ -686,11 +684,12 @@
                        }
 
                        # For changed text, the language is set by 
$diff->setTextLanguage()
-                       $lang = $s->type === 'changed' ? null : $wgContLang;
+                       $lang = $s->type === 'changed' ? null : $sourceLanguage;
                        $out->addHTML( MessageWebImporter::makeSectionElement(
                                $name,
                                $s->type,
-                               $text, $lang
+                               $text,
+                               $lang
                        ) );
                }
 
@@ -709,7 +708,7 @@
                                        $name,
                                        $s->type,
                                        $text,
-                                       $wgContLang
+                                       $sourceLanguage
                                ) );
                        }
                }
@@ -728,9 +727,7 @@
                                $out->wrapWikiMsg( '==$1==', 
'tpt-sections-template' );
 
                                $diff = new DifferenceEngine;
-                               if ( method_exists( 'DifferenceEngine', 
'setTextLanguage' ) ) {
-                                       $diff->setTextLanguage( $wgContLang );
-                               }
+                               $diff->setTextLanguage( $sourceLanguage );
 
                                $oldContent = ContentHandler::makeContent( 
$oldTemplate, $diff->getTitle() );
                                $newContent = ContentHandler::makeContent( 
$newTemplate, $diff->getTitle() );

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib880d66ce917d7e86c0b89e95aad3b4242a4a748
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to