|
|

yee 在我上次那篇 bbpress 杂谈 下的留言挑起了我对 Vanilla 的兴趣。所以这几天,我开始玩 Vanilla,玩出些心得,写出来和大家分享。Vanilla 绝对 比 bbpress 强大 N 倍!【文末我会提供本文涉及到的 Vanilla 和插件打包下载,都汉化过了】。
当 yee 推荐我用 Vanilla 的那天,我就安装过。不过没试用就删除了。删除的原因下面讲。
安装
准备工作首先对比两者安装方法,方法类似。 bbpress 要自己去修改配置代码,而 Vanilla 是在安装过程中配置。当我第一次安装 Vanilla 的时候,我脑子里还是想着 bbpress 的安装过程,总觉得 Vanilla 这样的安装步骤很不爽。当我第二次安装的时候,才发现其实 Vanilla 的安装更方便。
APMServ 这个运行环境的下载安装配置,请参考 bbpress 杂谈中“第一步,准备工作”。其次,下载 Vanilla ,解压到 APMServ 所在文件夹下的 “www\htdocs”,然后我们在 APMServ 的界面点击“管理 MySQl 数据库”。在弹出的浏览器窗口中输入用户名:root,密码为空。然后新建一个数据库,名字为 vanilla 。
安装过程
在浏览器里面打开 http://127.0.0.1/Vanilla/setup/installer.php ,页面的提示是当你把 Vanilla 上传到服务器之后要做的准备工作。这里我们可以不理会。直接点击最底的链接,进入下一步。
请按照以下填写:
MySQL Server:localhost
MySQL Database Name:vanilla
MySQL User:root
MySQL Password:(空着就行)
然后点击最底的链接,进入下一步。这里是创建管理员和配置论坛的步骤
Username、Password、Confirm Password,这些难不倒大家。
Support Contact Name 和 Support Email Address,会显示在重置用户密码或用户权限变更通知的邮件中。
Forum Name,论坛的名字,建议先使用默认的名字 Vanilla ,反正安装完成后也可以修改。如果这里你输入中文的话,安装完成后论坛的名字就会显示为很乱的码。我第一次安装的时候就是给这个迷惑了。心想,奇怪了,sein 以前给煎蛋做论坛的时候不是也用了 Vanilla?名字就叫“火星”(火星已关闭)。怎么我这里显示出来就会是乱码呢?第一次安装完成的时候,由于名字的乱码,让我对 Vanilla 的好感度降低了不少。然后我删除了 Vanilla ,返回 bbpress 的研究去了。后悔ing~
Cookie Domain、Cookie Path :这两个 Vanilla 会自动填写,一般不用修改这里的值。如果需要,请参考页面提示进行修改。
安装到此就差不多了,再点击最底的链接两次,就可以看到登录界面了。
安装语言包
下载 Simplified_Chinese_UTF-8-2007-02-25 ,解压到 Vanilla 的 languages 文件夹里,然后登录,点击 settings → Languages,在右边的下拉框中选择“Simplified_Chinese_UTF-8”,点击 save 就 ok 啦。上次我晕晕傻傻地下载了繁体版的(@_@)。
换主题咯
ok,现在我们下载主题去啦。我下载了vaneablack 这个银黑搭配的主题。
下载的主题要放在哪里呢?当然是放到 themes 。先别急着解压到 themes 里面去,我刚开始也以为解压进去不就完事啦,怎么应用主题的时候 Vanilla 提示出错呢。经过一番折腾,我尝试着放到 \themes\vanilla\styles ,还是不行。灵感的火花一下子就把那句——“问 Google 吧”,大家心里有这么想的吧——给烧掉了。(注:我还在火星,怎么可能上网去查)。仿造 \themes\vanilla\styles ,把下载到的主题解压到 \themes\vaneablack\styles ,哦也!有一点要提醒大家,在“ 设置→设置主题与风格”中选择某个主题后,记得勾选“将这个风格套用至所有的使用者”,再点击“保存”,你才能看到新主题哦。
添加扩展
扩展的安装类似 bbpress ,你只需要把下载到的扩展解压到 extensions 里就行了,然后在“ 设置 → 管理插件”就可以启用或禁止插件。
这里重点啰嗦一下插件的汉化, Vanilla 插件的汉化比 bbpress 方便多了,非常佩服作者,这点 bbpress 是没办法和 Vanilla 抗衡的。
以插件 Account Pictures 为例,Vanilla 是没上传头像功能的,而这个插件正是弥补了这个缺憾。打开 AccountPictures\default.php ,我们可以在第 24 行看到类似下面的一些定义语句:
$Context->SetDefinition('AccountPictures', 'Account Pictures');
再打开语言包文件 languages\Simplified_Chinese_UTF-8\definitions.php ,把上面那句复制到 definitions.php 中
/* Please do not remove or alter this definition */
的前面,把加粗的部分修改为:
$Context->Dictionary['AccountPictures'] = '头像上传';
其他的定义语句也是这样汉化。
# 该汉化方法是我自己发现的,完全是靠直觉尝试出来的,我不懂 php ,真的。也许网上早有人写出 Vanilla 插件的汉化办法。
插件 tips
【QuoteText】
是一个实现引用功能的插件,我下载的时候没注意作者的说明,以为插件的压缩包里面会有说明文件。我激活它,找个帖子测试,点击帖子右上角的 Quote,回复输入框出现这样的语句“[quote=root][/quote]”,奇怪,发布回复试试。(- -|||)。直接显示着“[quote=root][/quote]”,难道该插件不兼容?
找呀找说明,什么?竟然没有说明文件?无语了。我只好打开 QuoteText\default.php 去看看源代码。不对,我不懂 php,就算我把眼珠子瞪到比牛大都看不出个蛛丝马迹来。好彩,我又打开了 QuoteText\functions.js,不一会儿我的眼光就聚集在这句上:“document.selection.createRange().text;”。哈哈,知道怎么用了,原来要先选中某些文字,再点击 Quote 。
#后来才发现,在管理插件页面,QuoteText 那一行有说明提示。(orz)
尝试过汉化,失败。
【Who's Online】
一款显示谁在线的插件,激活后,每个人都可以在“帐户 → 帐户设置”里进行个性化设置,可以隐藏在线用户面板,或者隐藏自己的在线状态。
汉化过程比较繁琐。
打开 WhosOnline\default.php ,把
$Context->Dictionary["MenuOptions"] = "Menu Options";
$Context->Dictionary["HideWhosOnline"] = "Hide the \"Who's Online\" panel";
$Context->Dictionary["Phantom"] = "Hide my username from the \"Who's Online\" panel";
修改为
$Context->SetDefinition('MenuOptions', 'Menu Options');
$Context->SetDefinition('HideWhosOnline', 'Hide the \"Who\'s Online\" panel');
$Context->SetDefinition('Phantom', 'Hide my username from the \"Who\'s Online\" panel');
然后按照上文汉化才能成功!
到这里,其汉化还是不完整的。接着把侧边栏的“Who's Online”汉化掉,根据 155 行(当然我也对比了其他插件),我们只需要在前面增加一句:
$Context->SetDefinition('Who\'s Online', 'Who\'s Online');
然后继续按照上文的汉化步骤就 ok 啦。不过放到 definitions.php 的语句是这样的
$Context->Dictionary["Who's Online"] = "在线用户";
区别就是少了个“\”。
如果有一个在线用户选择了隐身的话,就会显示为 1 phantom user ,还要想办法汉化掉它。把 171 行
$phantom_string = "$phantom_count phantom user";
修改为
$phantom_string = "$phantom_count ".$Context->GetDefinition("PhantomCount");
(中间的点.在php中是起连接两个字符串的作用,我查了 php 的参考书),然后在前面增加一句
$Context->SetDefinition('PhantomCount', 'phantom user');
别忘记在语言文件里面汉化哦。
第 178 行也是要做类似的汉化。 |
|