在Extension中使用MediaWiki $ wgLanguageCode

时间:2015-08-26 11:06:47

标签: mediawiki mediawiki-extensions

是否有办法在扩展程序中$wgLanguageCode中定义使用/访问LocalSettings.php

我正在使用PageContentSaveComplete挂钩,但是,我似乎无法找到返回语言(代码)的方法。

1 个答案:

答案 0 :(得分:1)

$wgLanguageCode是一个全局变量(虽然它可能不是你要找的那个)。它随处可用:

global $wgLanguageCode;
if ( $wgLanguageCode === 'ar'){
    echo('The default site language of this wiki is Arabic');
}

您可能要检查的其他语言设置是当前使用的语言(在大多数情况下可能更相关):$context->getLanguage() - 这将根据用户首选项,网址参数和可能的扩展名 - 以及内容语言进行更改对于当前页面:$title->getPageLanguage()

例如,如果您访问main page of Spanish Wikipedia in Danish,则网页语言(Title::getPageLanguage())将为es,因为内容为西班牙文,而RequestContext::getLanguage()为{ {1}},因为这是当前使用的语言。当然,默认语言(da)仍为$wgLanguageCode

您还可以检查用户的首选语言(对于已登录的用户),如下所示:es。在这个例子中,理论上这可能是完全不同的。

编辑:你没有提到你是否正在寻找语言前端后端。在前端,您有$wgUser->getOption('language')

edit2:我在这里省略语言变体。如果您是一个中国维基,事情可能会有点复杂。