我正在学习MediaWiki 1.31.1,希望更改默认接口字符串。例如,开箱即用的注册页面显示以下内容:
Email address (optional)
我想展示(删除可选)
Email address
我能够破解MediaWiki字符串文件(/languages/i18n/en.json)并在那里进行更改。还有更好的方法吗?
答案 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页面并对其进行编辑来编辑任何语言字符串。