+ private function getVariantTitles() {
+ if ( !count( $this->titles ) ) {
+ return;
+ }
+ $this->variantTitles = [];
+ foreach ( $this->titles as $pageId => $t ) {
+ $this->variantTitles[$pageId] = isset( $this->displaytitles[$pageId] )
+ ? $this->getAllVariants( $this->displaytitles[$pageId] )
+ : $this->getAllVariants( $t->getText(), $t->getNamespace() );
+ }
+ }
+
+ private function getAllVariants( $text, $ns = NS_MAIN ) {
+ global $wgContLang;
+ $result = [];
+ foreach ( $wgContLang->getVariants() as $variant ) {
+ $convertTitle = $wgContLang->autoConvert( $text, $variant );
+ if ( $ns !== NS_MAIN ) {
+ $convertNs = $wgContLang->convertNamespace( $ns, $variant );
+ $convertTitle = $convertNs . ':' . $convertTitle;
+ }
+ $result[$variant] = $convertTitle;
+ }
+ return $result;
+ }
+