更改MediaWiki的默认语言字符串

时间:2018-11-13 15:29:52

标签: mediawiki

我正在学习MediaWiki 1.31.1,希望更改默认接口字符串。例如,开箱即用的注册页面显示以下内容:

Email address (optional)

我想展示(删除可选)

Email address

我能够破解MediaWiki字符串文件(/languages/i18n/en.json)并在那里进行更改。还有更好的方法吗?

3 个答案:

答案 0 :(得分:3)

如果您正在运行多语言Wiki,或者您的用户可能使用其他界面语言(例如,使用通用语言选择器扩展名自动使用访问者的首选语言),则应使用MessageCache::get挂钩,以便在所有语言中使用自定义。否则,用户使用其他界面语言将看不到自定义。

它是这样使用的:

LocalSettings.php:

$wgHooks['MessageCache::get'][] = function ( &$key ) {
    $keys = [ // The list of messages you want to customize
            'prefs-help-realname',
            'createacct-realname',
    ];

    if ( in_array( $key, $keys, true ) ) {
            $key = "myprefix-$key";
    }
};

然后,您需要编辑https://example.org/wiki/MediaWiki:myprefix-key(用您的Wiki域和 key 替换为原始消息密钥(可以通过uselang=qqx找到)。

答案 1 :(得分:2)

在URL上附加uselang=qqx以查看消息名称,而不是消息的文本:alternation

如果您https://en.wikipedia.org/wiki/Special:CreateAccount?uselang=qqx,则应该只看到(optional)部分,因此我不确定消息文本是否是您的真正问题。

答案 2 :(得分:0)

还可以通过访问Wiki上的MediaWiki:name-of-language-string页面并对其进行编辑来编辑任何语言字符串。