Mediawiki的本地化

LocalSettings.php的本地化定制

安装MediaWiki之后,生成的LocalSettings.php文件中自动记录了部分本地配置信息。多数mediawiki的参数设置改变,需要手动修改该文件。

Image:Allwiki notice.png对这个文件所做的手动修改需要记录一下,以便日后升级时重建这些设置。 Image:Allwiki notice.png为安全起见,请留意设置LocalSettings.php访问权限以禁止他人查看内容。

基础设置

* $IP变量存放着安装wiki站点的本地路径。注意不要在最后添加反斜线。DefaultSettings.php的读取路径会受到这个变量的影响。

* $wgSitename变量存放wiki网站的名称(utf-8格式)。这个名称在系统中被多次引用。

* $wgNoFollowLinks确定是否使用nofollow特性。该特性打开时,搜索引擎将不会对wiki文本中的外部链接进行追踪检索,从而降低spamer的效果及兴趣。

* $wgScriptPath是访问系统主要脚本的URL路径前缀。当使用Apache路径改写功能时需要修改这个变量。
* $wgScript是mediawiki的主要脚本名称,当前为index.php。不要轻易改动它。

* $wgRedirectScript指定mediawiki处理redirect操作时的URL路径。不要轻易改动它。

* $wgArticlePath是访问MediaWiki页面时使用的路径。如需使用Apache的rewrite规则来创建美观简短的URL,应将此变量进行合理设置。

$wgArticlePath影响内部文本中的自动链接,设置错误时会导致点击内部链接时跑飞;但在浏览器中输入通用模式路径(index?tilte=...方式)时仍能正常访问页面。
在windows环境下安装mediawiki时,首页空白、首页计数错误问题可能与此变量设置有关。建议调试时改为通用模式,以检验是否是这个引起的问题。

典型设置如下:

“$wgScript/$1” 用/分隔符传递文章名称(默认)
“$wgScript?title=$1” 用参数传递文章名称(通用模式)。
“mypath/$1” 客户化路径。使用Apache的rewrite功能将"mypath"转换为合适路径

* $wgStylePath指向Mediawiki中样式表(CSS)的存放路径。

$wgStyleDirectory应指向同一位置,但这里是本地文件路径,用来使用内部脚本访问文件系统。

* $wgLogo变量指定网站图标存放的相对URL路径(图标在默认模板下显示于网站首页左上角)。你可以修改这个变量,指向上传到网站空间的其他图片(也可不做修改,而直接替换/skins/common/images/wiki.png文件)。

* $wgUploadPath指定存放上载文件的目录URL路径,$wgUploadDirectory指向对应本地文件系统路径。

$wgUploadDirectory(略)

* $wgEmergencyContact:收取网站异常消息的邮件帐号,主要是收取内部错误报告。应设为站长的联系邮箱。

* $wgPasswordSender:当用户忘记密码需要查时,系统可从这个邮件地址发出密码提醒邮件。这个邮件地址请选用用户可以回复的邮件地址。

MediaWiki使用MySQL数据库存储页面、修改、用户信息等大量内容。

  • $wgDBserver 运行MySQL数据库的宿主服务器名称。请根据实际情形进行设定,一般情况下服务商会使用"localhost"。

    $wgDBname 指定MediaWiki使用的数据库名称。
    $wgDBuser和$wgDBpassword:访问数据库时使用的用户登录名及密码。
    $wgDBprefix MediaWiki使用数据表的前缀,以便区分于公用同一MySQL数据库的其他程序。

    • $wgCapitalLinks:MediaWiki默认禁止使用小写字母开头的文章名称,如有需要可将其值改为false。(鉴于其他未确定的原因,不推荐这样做)

高级设置
直接SQL查询

* $wgAllowSysopQueries:如果设为true,则可以通过Special:Asksql页面进行SQL查询操作。 这非常不安全,如果你希望管理员可以进行只读的的SQL操作,则需要定义一个权限受限的MySQL用户。

    * $wgDBsqluser和$wgDBsqlpassword中包含使用上述特征时用到的用户登录名称和密码。

* 请参考 [url]http://www.mysql.com/doc/en/GRANT.html[/url]" 了解MySQL系统中如何进行设定活动(英文)。

图片上传

* $wgDisableUploads:默认为true,禁止通过浏览器界面上传文件。如需上传图片,请改为false,同时(通过FTP工具等方式)将上传目录设置为允许网络写入。(1.5.x之后,该选项变为$wgEnableUploads:先把前面的#去掉;和旧版本相反true是允许上传,false是禁止通过浏览器界面上传文件.)

$wgUseImageResize:如果需要支持运行中改变图片大小(例如thumbnail缩略图功能),请设为true。
$wgUseImageMagick:如果ImageMagick软件运行正常,请将本变量设为true。
同时,请确认$wgImageMagickConvertCommand变量指向服务器运行convert命令的正确位置。

LaTeX行内公式

为处理LaTeX的数学公式,需要安装LaTeX、GhostView、GhostScript,以及Texvc。

正确安装上述软件之后,需要相应的修改配置文件。请删除$wgUseTeX=true前面的#号,并确认$wgMathPath、$wgMathDirectory和$wgTmpDirectory设置正确(如无意外,一般无需改动)。

支持InterWiki特性

MediaWiki已经内建了InterWiki支持,但需要配置在wiki内部链接中使用的前缀字串。这个前缀字串一般与$wgSitename相同,但可以通过$wgLocalInterwiki变量进行单独配置。

用户界面的语种

* $wgLanguageCode:MediaWiki允许用户用多种语言进行本地化,替代掉默认的英文界面。安装时已经设定了本变量,一般无需再次改动。以下是中文地区常用的选项,更多语种参见language code。

    * 'en' => 标准英文界面

* 'zh' => 繁简体共存的中文设置,包含zh-cn/zh-tw/zh-hk/zh-sg四个版本
* 'zh-cn' => '中文(简体)'
* 'zh-tw' => '中文(繁體)'
* 'zh-hk' => '中文(繁體)'
* 'zh-sg' => '中文(新加坡)'

用户界面通用模板

* $wgDefaultSkin:用于改变系统默认的界面模板。美观起见可是用系统初始设置的monobook,速度起见建议换用cologneblue。

以下内容尚未得到本文贡献者的充分了解

文件缓存

参见元维基的File cache条目。

  • $wgUseLatin1
    • $wgProxyKey

站点版权设定

本节内容尚未得到完善的检验,以下为实验性的操作方法:

可以再LocalSettings.php中增加如下内容:

$wgRightsPage = “YourWiki:Copyright”; $wgRightsText = “copyright YourWiki”;

编辑[[MediaWiki:Copyright">MediaWiki:Copyright页面以提供合适的信息,使用"$1|MediaWiki:Copyright]]页面以提供合适的信息,使用"$1"参数指向本地化的版权页面链接。

接下来的变量,可有可无。主要是网站最下方的显示本网站的协议,文本解释和图标

$wgRightsUrl = “GNU Free Documentation License v1.3 - GNU Project - Free Software Foundation”“; $wgRightsText = “GNU Free Documentation License 1.2”; wgRightsIcon = "{wgStylePath}/common/images/gnu-fdl.png”;

定制名字空间

参见元维基的Custom namespaces页面。

参见: [" rel="nofollow|http://meta.wikimedia.org/wiki/LocalSettings.php] 元维基的LocalSettings介绍(英文)

添加自己的名称空间。

  • 在includes/Defines.php中设定名称空间常量
    • 整数100以前为wiki保留使用.

    • 奇数为talk

    • 如:define(‘NS_REQUIREMENT’, 100); define(‘NS_REQUIREMENT_TALK’, 101);

    • 在includes/DefaultSetting.php中,把定义的常量添加到$wgExtraNamespace数组中.

    • 这是一个关联数组

    • key为常量,value为字符串

    • 如$wgExtraNamespaces = array( NS_REQUIREMENT => “Requirement”, NS_REQUIREMENT_TALK => “Ruquirement_Talk”,);

DefaultSettings.php介绍
禁止讨论

改成如下代码,在1.6.5版本通过测试:

$wgGroupPermissions = array();
// Implicit group for all visitors
$wgGroupPermissions['*'    ]['createaccount']   = true;
$wgGroupPermissions['*'    ]['read']            = true;
$wgGroupPermissions['*'    ]['edit']            = true;
$wgGroupPermissions['*'    ]['createpage']      = true;
$wgGroupPermissions['*'    ]['createtalk']      = false;
// Implicit group for all logged-in accounts
$wgGroupPermissions['user' ]['move']            = true;
$wgGroupPermissions['user' ]['read']            = true;
$wgGroupPermissions['user' ]['edit']            = true;
$wgGroupPermissions['user' ]['createpage']      = true;
$wgGroupPermissions['user' ]['createtalk']      = false;
$wgGroupPermissions['user' ]['upload']          = true;
$wgGroupPermissions['user' ]['reupload']        = true;
$wgGroupPermissions['user' ]['reupload-shared'] = true;
$wgGroupPermissions['user' ]['minoredit']       = true;
$wgAllowExternalImages = true;