}
protected function appendGeneralInfo( $property ) {
- global $wgContLang;
-
$config = $this->getConfig();
$data = [];
$data['langconversion'] = !$config->get( 'DisableLangConversion' );
$data['titleconversion'] = !$config->get( 'DisableTitleConversion' );
- if ( $wgContLang->linkPrefixExtension() ) {
- $linkPrefixCharset = $wgContLang->linkPrefixCharset();
+ $contLang = MediaWikiServices::getInstance()->getContentLanguage();
+ if ( $contLang->linkPrefixExtension() ) {
+ $linkPrefixCharset = $contLang->linkPrefixCharset();
$data['linkprefixcharset'] = $linkPrefixCharset;
// For backwards compatibility
$data['linkprefix'] = "/^((?>.*[^$linkPrefixCharset]|))(.+)$/sDu";
$data['linkprefix'] = '';
}
- $linktrail = $wgContLang->linkTrail();
+ $linktrail = $contLang->linkTrail();
$data['linktrail'] = $linktrail ?: '';
$data['legaltitlechars'] = Title::legalChars();
$data['lang'] = $config->get( 'LanguageCode' );
$fallbacks = [];
- foreach ( $wgContLang->getFallbackLanguages() as $code ) {
+ foreach ( $contLang->getFallbackLanguages() as $code ) {
$fallbacks[] = [ 'code' => $code ];
}
$data['fallback'] = $fallbacks;
ApiResult::setIndexedTagName( $data['fallback'], 'lang' );
- if ( $wgContLang->hasVariants() ) {
+ if ( $contLang->hasVariants() ) {
$variants = [];
- foreach ( $wgContLang->getVariants() as $code ) {
+ foreach ( $contLang->getVariants() as $code ) {
$variants[] = [
'code' => $code,
- 'name' => $wgContLang->getVariantname( $code ),
+ 'name' => $contLang->getVariantname( $code ),
];
}
$data['variants'] = $variants;
ApiResult::setIndexedTagName( $data['variants'], 'lang' );
}
- $data['rtl'] = $wgContLang->isRTL();
- $data['fallback8bitEncoding'] = $wgContLang->fallback8bitEncoding();
+ $data['rtl'] = $contLang->isRTL();
+ $data['fallback8bitEncoding'] = $contLang->fallback8bitEncoding();
$data['readonly'] = wfReadOnly();
if ( $data['readonly'] ) {
}
protected function appendNamespaces( $property ) {
- global $wgContLang;
$data = [
ApiResult::META_TYPE => 'assoc',
];
- foreach ( $wgContLang->getFormattedNamespaces() as $ns => $title ) {
+ foreach (
+ MediaWikiServices::getInstance()->getContentLanguage()->getFormattedNamespaces()
+ as $ns => $title
+ ) {
$data[$ns] = [
'id' => intval( $ns ),
'case' => MWNamespace::isCapitalized( $ns ) ? 'first-letter' : 'case-sensitive',
}
protected function appendNamespaceAliases( $property ) {
- global $wgContLang;
+ $contLang = MediaWikiServices::getInstance()->getContentLanguage();
$aliases = array_merge( $this->getConfig()->get( 'NamespaceAliases' ),
- $wgContLang->getNamespaceAliases() );
- $namespaces = $wgContLang->getNamespaces();
+ $contLang->getNamespaceAliases() );
+ $namespaces = $contLang->getNamespaces();
$data = [];
foreach ( $aliases as $title => $ns ) {
if ( $namespaces[$ns] == $title ) {
}
protected function appendSpecialPageAliases( $property ) {
- global $wgContLang;
$data = [];
- $aliases = $wgContLang->getSpecialPageAliases();
- foreach ( SpecialPageFactory::getNames() as $specialpage ) {
+ $services = MediaWikiServices::getInstance();
+ $aliases = $services->getContentLanguage()->getSpecialPageAliases();
+ foreach ( $services->getSpecialPageFactory()->getNames() as $specialpage ) {
if ( isset( $aliases[$specialpage] ) ) {
$arr = [ 'realname' => $specialpage, 'aliases' => $aliases[$specialpage] ];
ApiResult::setIndexedTagName( $arr['aliases'], 'alias' );
}
protected function appendMagicWords( $property ) {
- global $wgContLang;
$data = [];
- foreach ( $wgContLang->getMagicWords() as $magicword => $aliases ) {
+ foreach (
+ MediaWikiServices::getInstance()->getContentLanguage()->getMagicWords()
+ as $magicword => $aliases
+ ) {
$caseSensitive = array_shift( $aliases );
$arr = [ 'name' => $magicword, 'aliases' => $aliases ];
$arr['case-sensitive'] = (bool)$caseSensitive;
$data = [];
foreach ( $langNames as $code => $name ) {
- $lang = [ 'code' => $code ];
+ $lang = [
+ 'code' => $code,
+ 'bcp47' => LanguageCode::bcp47( $code ),
+ ];
ApiResult::setContentValue( $lang, 'name', $name );
$data[] = $lang;
}
public function appendExtensionTags( $property ) {
global $wgParser;
- $wgParser->firstCallInit();
$tags = array_map(
function ( $item ) {
return "<$item>";
public function appendFunctionHooks( $property ) {
global $wgParser;
- $wgParser->firstCallInit();
$hooks = $wgParser->getFunctionHooks();
ApiResult::setArrayType( $hooks, 'BCarray' );
ApiResult::setIndexedTagName( $hooks, 'h' );