setContext( $context ); $this->group = $group; if ( Language::isKnownLanguageTag( $language ) ) { $this->language = $language; } else { $this->language = $context->getLanguage()->getCode(); } } public function fullTable() { $modules = []; Hooks::run( 'TranslateBeforeAddModules', [ &$modules ] ); $this->getOutput()->addModules( $modules ); $sourceLang = Language::factory( $this->group->getSourceLanguage() ); $targetLang = Language::factory( $this->language ); $batchSize = 100; $list = Html::element( 'div', [ 'class' => 'row tux-messagelist', 'data-grouptype' => get_class( $this->group ), 'data-sourcelangcode' => $sourceLang->getCode(), 'data-sourcelangdir' => $sourceLang->getDir(), 'data-targetlangcode' => $targetLang->getCode(), 'data-targetlangdir' => $targetLang->getDir(), ] ); $groupId = htmlspecialchars( $this->group->getId() ); $msg = $this->msg( 'tux-messagetable-loading-messages' ) ->numParams( $batchSize ) ->escaped(); $loader = <<
$msg
HTML; $hideOwn = $this->msg( 'tux-editor-proofreading-hide-own-translations' )->escaped(); $clearTranslated = $this->msg( 'tux-editor-clear-translated' )->escaped(); $modeTranslate = $this->msg( 'tux-editor-translate-mode' )->escaped(); $modePage = $this->msg( 'tux-editor-page-mode' )->escaped(); $modeProofread = $this->msg( 'tux-editor-proofreading-mode' )->escaped(); $actionbar = <<
HTML; // Actual message table is fetched and rendered at client side. This just provides // the loader and action bar. return $list . $loader . $actionbar; } }