教程 · 2022年12月13日

MediaWiki 多语言设置

Loading

前言

最近正在把收容失效终极版的多语言的部分内容往汉化组维基搬,比较有特点的是地图制作器的帮助手册,这个玩意需要翻译,所以维基的多语言就搞起来了。

目前,MediaWiki的多语言有三种方法:第一种是用翻译插件,第二种是Wiki农场,第三种就是本文要介绍的方法。

Wiki农场的优点在于,它可以在wiki的侧边栏上的“其他语言”里显示其他语言版的页面。而翻译插件一般都是在页面顶部有一个多语言的框(参考MediaWiki的wiki)。

这第三种方法就是wiki农场的变体,适合只想搭一个wiki的人。大概就是用一个wiki建wiki农场,然后在一个wiki之间“跨来跨去”。

步骤

安装Interwiki插件

MediaWiki 1.21及以上的版本自带这个插件。

  1. 将下载后的压缩包里的文件夹复制到 /wiki目录/extensions/ 目录。

  2. 在wiki设置(/wiki目录/LocalSettings.php)里启用插件。

    LocalSettings.php 里加上一行:

    wfLoadExtension( 'Interwiki' );
  3. 设置超级管理员可以编辑跨wiki数据。

    LocalSettings.php 里加上一行:

    $wgGroupPermissions['sysop']['interwiki'] = true;

    这将会让你之后的步骤方便许多。当然你也可以不用wiki编辑,直接往数据库里插跨wiki数据也可以。但是我不会搞所以就不说了。

编辑跨wiki数据

  1. 在你的wiki里搜索 Special:interwiki 来转到跨wiki数据页面。

  2. 点击添加一个跨wiki或语言前缀

    MediaWiki

  3. 在添加数据界面填写数据。

    前缀要写MediaWiki的语言ID,可在 /wiki目录/includes/languages/data/Names.php 里找到。

    URL则要写你想要转到的页面链接。默认的wiki网址格式是:

    https://wiki网址/index.php?title=页面名

    因此可以写成:

    https://wiki网址/index.php?title=$1

    而有的wiki的网址格式改成了 https://wiki网址/页面名,或者其他类型的。因此这种情况需要写成 https://wiki网址/$1。这块需要根据你的wiki情况来设置,只需要保证页面名用 $1 代表就行。

    其他的东西都不需要写上或者框上。就像这样:

    MediaWiki

  4. 点击添加。

  5. 重复以上步骤,直到将你想要添加的语言都设置完毕。

多语言页面

  1. 找一个页面,在页面顶部或尾部加上 [[语言ID:页面名]]

  2. 提交更改,现在你应该能在侧边栏看到其他语言一项。

    MediaWiki

结尾

这个方法也会有一定的问题:每个语言的页面都必须把其他所有语言的页面都在页面里链接上。

此外,你可能在维基百科上注意到了其他语言里有个添加链接的按钮。这个不需要在每个语言的页面上都链接其他语言的页面,所以你可能想要在自己的wiki上也整一个。

MediaWiki

但是这是不可能的——这个添加链接依靠的是维基数据,也就是说,这个侧边栏的其他语言根本不属于wiki。