joomla模板设计与二次开发
English French German Italian Portuguese Russian Spanish

捐款 -> 升级 -> 下载

淘宝捐款获取下载权限

点击这里给我发消息

Donate to joomlagate.com to translate more Joomla! extensions and free Joomla! templates

文章分类阅读

下载最新版本 Joomla!

会员登录

Joomla之门 Joomla教程 Joomla 新闻 Glossary是怎样炼成的?
Glossary是怎样炼成的? E-mail
作者:白建鹏   
2006-11-24

[[词汇表]]组件在一般网站似乎没有什么用处,但是在技术开发、科学研究、教育学习类网站上却非常必要。

Glossary组件的logo

 

尤其是在一些发表科研论文及科普知识的网站,一些专业术语使用较多,但又不便在每个页面都解释一遍,有时候原作者的排版中不允许每个页面都解释。实际上,在出版界,这个问题传统的解决方法是,在出版物的最后附录中,专门列出前面使用过的所有术语并且给以解释,通常都按照字母顺序排列,少数情况下则按照页码顺序排列(有点像演员表按照出场顺序排列,呵呵)。

而网站的版面与出版物略有不同。很有趣,在Joomla的扩展库中,恰好有两个组件专门来做这件事。一个是 Glossary,另一个是 RD Glossary。经过比较,我发现前者更优秀,因为它能对词汇自动索引,即提取首字母排序,若首字母相同则比较第二个字母,以此类推。并且支持英文以外的多种西方语言。于是我花了几天功夫将Glossary 2.0 汉化了。

然而,等我在测试服务器上安装后才发现,Glossary 无法对中文词汇进行自动索引!转念一想,可以理解,因为中文字符不属于字母(alphabet)文字,无法提取首字母。我几乎快要绝望了。忽然想到,中文的发音可以用25个字母(v字母几乎无用)全部囊括,因此只要允许手动指定每个词汇的索引字母,我们就可以通过这个方法为中文词汇排序。

经过与该组件作者 Martin 联系,他对这个话题也很感兴趣。但是,他不懂中文,我不懂编程。我们几乎无法继续讨论下去。而我对这个问题有固执的看法:我认为中文词汇必须通过某种方法实现自动索引,以使该组件能够在更广泛的领域使用。

这次我的偏执有了结果:我发表在各论坛以及“杏林书香网”Blog上的呼吁高手修改Glossary组件的帖子引起了hoping的注意。

hoping是陕西西安的一位计算机高手,他的故事在“”已经介绍过,我不再赘述。在Joomla诞生之前,他已经在“曼波中国”(mambochina)参与很多实质性工作了。正如他的昵称一样,hoping真的给我们带来了希望。

首先,hoping指出,可以通过一个汉字拼音表来告诉Glossary哪个汉字对应哪个拼音,然后把拼音排序,就等于把中文词汇排序了。Ok,这个主意不错。相当于先把汉字“翻译”成拼音,由于拼音与英文没有区别,可以自动索引,所以就等于间接对中文进行了索引。强!

说干就干,不到1小时,hoping就把他的成果发送过来了。当然,他提到的拼音对照表需要加入到Glossary的安装包里去。hoping不愧是曼波团队里的精英,他顺手就更新了安装程序,使得新手无需担心新加文件的安装问题,只需按照标准组件安装步骤操作即可。

我马上对这个改进版的组件进行测试。发现可以实现中文、英文词汇的自动索引。不过,很快我就发现另一个问题:只能对中文词汇的第一个汉字进行索引、排序,但是无法针对第二个及以后的汉字排序。我把这个bug报告给hoping,他迅速对代码进行了修改,实现了对词汇中所有字符的排序。

接下来,我在测试中又发现一个问题:使用Glossary的搜索功能时,无法使用搜索条件中。比如,“马到成功”和“一马当先”这两个词汇都含有一个“马”字。如果我希望搜索“马”开头的词,应该搜不到“一马当先”。可是那时候的Glossary居然搜索出所有含有“马”的词汇。于是,hoping又一次挖掘代码,经过很短时间的修正,他就解决了这个问题。

改到这里,我们基本上对Glossary这个组件很满意了。而这一切都是hoping的天才体现!我几乎忍不住要为他呐喊:hoping 好样的!

你可以到 hoping 的网站看看他用这个最终版的Glossary制作的成语词典,完全实现了中文词汇的自动索引及排序、搜索。如果你发现了什么bug,可以反馈到本站论坛,我们会继续对它进行改造。我相信,hoping 完全有能力把它做的更好。

 下载 Glossary for Joomla! 1.5 术语/词汇表管理组件 2.76 多国语言版
文件标题: Glossary for Joomla! 1.5 术语/词汇表管理组件 2.76 多国语言版 (详情)
文件类型: zip
版本: 2.76
文件大小: 274 Kb
下载次数: 160