是否有办法在扩展程序中$wgLanguageCode
中定义使用/访问LocalSettings.php
?
我正在使用PageContentSaveComplete
挂钩,但是,我似乎无法找到返回语言(代码)的方法。
答案 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:我在这里省略语言变体。如果您是一个中国维基,事情可能会有点复杂。