【问题标题】:Change MediaWiki's default language strings更改 MediaWiki 的默认语言字符串
【发布时间】:2018-11-13 15:29:51
【问题描述】:

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

Email address (optional)

我想显示(删除可选)

Email address

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

【问题讨论】:

    标签: mediawiki


    【解决方案1】:

    如果您正在运行多语言 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 找到)。

    【讨论】:

      【解决方案2】:

      uselang=qqx 附加到 URL 以查看消息名称而不是消息文本:https://en.wikipedia.org/wiki/Special:CreateAccount?uselang=qqx

      如果你是configured email to be optional,你应该只看到(optional) 部分,所以我不确定消息文本是你真正的问题。

      【讨论】:

        【解决方案3】:

        也可以通过转到页面 MediaWiki:name-of-language-string 在您的 wiki 上进行编辑来编辑任何语言字符串。

        【讨论】:

        • 感谢您的意见!我有点困惑。你是说这个页面/index.php/En?我想这些字符串应该在一个资源文件中。
        • 这是一个来自流行的维基百科的例子:en.wikipedia.org/wiki/MediaWiki:Action-createtalk 是用于编辑action-createtalk 语言字符串的页面。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-26
        • 1970-01-01
        • 2012-08-17
        • 2020-01-08
        • 2019-04-21
        相关资源
        最近更新 更多