术语表BUG补丁

术语表BUG补丁

Qin Yu發表於
Number of replies: 7

术语表Glossary,词典形式中默认显示中文,词条TITLE会有乱玛显示,参照http://moodle.org/mod/forum/discuss.php?d=22031 的补丁,我也修改了一下/MOD/Glossary/VIEW.PHP文件,测试后没有发现问题。

版本:1.44

语言:GB2312

評比平均分數: -
In reply to Qin Yu

回复: 术语表BUG补丁

Zhigang Sun發表於
太好了!我昨天还在看代码找这个问题呢
要是能加进cvs就好了
In reply to Zhigang Sun

回复: 术语表BUG补丁

Ling Li發表於
1.5dev 也有这个问题吗(我没太看懂怎样才能让这个bug重现)? 如果有,可以把bug和patch提交到Bug Tracker里面去。
In reply to Ling Li

回复: 术语表BUG补丁

Zhigang Sun發表於
1.5也有,只有双字节语言才会遇到,因为显示词条索引时只显示第一个字节。
这个patch有效,但似乎只对UTF-8有效……
In reply to Zhigang Sun

回复: 术语表BUG补丁

Ling Li發表於
大概知道是什么意思了。附件里面是1.5 utf-8用的,应该可以直接patch上。

我觉得这个功能对中文应该做成按照中文汉语拼音的首字母索引。微笑
In reply to Ling Li

回复: 术语表BUG补丁

Zhigang Sun發表於
按照中文汉语拼音的首字母索引我也考虑过,还研究过。

moodle对英文的索引所采用的方法是直接到数据库select首字母是x的(x表示任意字母,下同)。这对无论GB2312还是UTF-8都是行不通的。

GB2312里的一级汉字3755个可以用>和<的方法判断该字拼音用哪个字母开头。一般情况这个倒也够用。而且数据库支持>和<,可以比较简单地升级。

UTF-8里所有汉字都是按部首排列的,按拼音索引必须要做一个库,然后去里面对应。这个库倒是很容易弄到,利用mspy就行。然后把数据也放数据库里,利用数据库的select语句嵌套也可以检索到。这个库还可以做成支持多语言的,也就是无论什么语言,都把能和x对应的文字放到x里面去。

我有点想不通的地方,就是这样必须为各种编码写特别的代码,不知道怎么能统一起来。

In reply to Zhigang Sun

回复: 术语表BUG补丁

Ling Li發表於
为不同的语言/编码写代码其实是很正常的事情,只不过现在moodle的lang还只有翻译的内容。当然要为不同的语言写,一定要有一个好的结构。