| Joomla! http://forum.joomla.org/ |
|
| ExtCalendar v2 的尴尬 http://forum.joomla.org/viewtopic.php?f=98&t=91559 |
Page 1 of 1 |
| Author: | baijianpeng [ Sun Sep 03, 2006 12:43 am ] |
| Post subject: | ExtCalendar v2 的尴尬 |
不知道这里有没有人用 ExtCalendar v2 组件? 我今天早上刚刚安装上。基于台湾 which 制作的繁体中文汉化for 0.9.1 版本,我稍作修改制作了针对最新版 0.9.2 版本的简体中文汉化版。 安装后发现三个问题: 1、在迷你日历上,星期显示为乱码; 2、在主日历右上角显示的简短日历中,(星期)7 显示为 0 ! 3、在事件描述中,默认文字排列为居中,不便阅读。 以上问题可到我的“杏林书香网” http://www.tcmbook.net 查看“现场演示”。 不知道哪位高手有修正办法?谢谢 ! |
|
| Author: | blank [ Sat Sep 09, 2006 1:46 pm ] |
| Post subject: | Re: ExtCalendar v2 的尴尬 |
1、在迷你日历上,星期显示为乱码; 这个可以很简单的解决 其他 倒还没在意 |
|
| Author: | blank [ Sun Sep 10, 2006 4:41 am ] |
| Post subject: | Re: ExtCalendar v2 的尴尬 |
思路:不能正确显示星期,在此之前是不能正确取得我们所要的日期 看一下这个迷你 日期的模块 改几个语句 就成了 在这个模块文件的560行左右 有个 for ($i=0;$i 里面的第一个$params = array('{WEEK_DAY}'就是 显示星期几的 好办 给这个循环之前加个 数组 $d1 = array("日","一","二","三","四","五","六"); 再将 $params = array('{WEEK_DAY}' => $d1[$i], 就行了, 当然这样是比较简单的修改 要从星期日 开始 从星期一开始显示 将$d1中的“日”移动到 最后就行了 |
|
| Author: | baijianpeng [ Sun Sep 10, 2006 3:10 pm ] |
| Post subject: | Re: ExtCalendar v2 的尴尬 |
恕我直言,这个方法似乎只是“表面上”显示了中文的星期名称,但是与内在的“日历机制”没有关系。我解释一下: 我按照你的指教,将 554 行左右那段代码修改为 Code: // print weekday labels echo $weekday_header_row; $d1 = array( "日","一","二","三","四","五","六"); for ($i=0;$i<count($info_data['weekdays']);$i++) { $params = array('{WEEK_DAY}' => $d1[$i], ); echo minical_template_eval($weekday_cell_row, $params); } echo $weekday_footer_row; 结果是,迷你日历上的星期名称都正确显示了中文。我高兴之余,觉得把星期天放在第一位不符合中国习惯,于是按你说的将“日”移动到了末尾,再刷新页面测试,发现出现了有趣的现象:星期名称是从一到七了,但是日历内的日子并没有跟着调整,呵呵,看看我的截图你就明白了:9月10日,也就是今天,变成了星期一! 很明显,这样调整的方法只是改变了“星期名称”这一行字符的显示顺序,并没有与内部数据达成一致。我认为这种修改方法与“剪箭杆”的治疗方法有异曲同工之妙。 据台湾朋友提示,这个问题可能是因为服务器上对于日期的定义在php文件中用了gb2312代码来编写,而我们的模块使用utf-8编码来读取,因此产生了错误。 我不知道该怎么解决——很显然空间提供商不可能为我修改代码,毕竟还有很多用户在用gb2312编码。只有等待作者在新版本中想办法了。 谢谢你的指教!希望你继续努力,攻破这个难题。 |
|
| Author: | Autoit [ Sun Sep 10, 2006 4:27 pm ] |
| Post subject: | Re: ExtCalendar v2 的尴尬 |
如果是编码问题的话,可以这样: require_once( $mosConfig_absolute_path . '/includes/utf8.php' ); ............. ............... ................ $params = array('{WEEK_DAY} $params =default_to_utf8($params); ............... 或者用 iconv 函数看看. |
|
| Author: | baijianpeng [ Sun Sep 10, 2006 11:13 pm ] |
| Post subject: | Re: ExtCalendar v2 的尴尬 |
AutoIt 这个方法我看得一头雾水,因为没有行号,也没有查找替换,我不知道该放哪里。我把第一句代码放在文件首行,把后面两句代码放在那个大括号里面,结果前台出错了,不知道是不是因为我放的位置不正确?建议 AutoIt 在本地测试一下,这个组件值得完善,功能很不错的,比原来名声很响的 gigCalendar 好用、好看。 另外,我想起一件事:这个组件我根据台湾which制作的繁体中文语言转换生成了一个简体语言文件并应用了,这样后台、前台的界面基本上都是简体中文的。我翻译时发现一个现象,改变语言文件中的某个日期变量就能在miniCalendar 看到相应的变化。会不会这个迷你日历跟语言文件也有一定联系? 希望高手能够仔细研究一下这个问题。我把简体中文语言文件附于本帖,解压到 |
|
| Author: | Autoit [ Mon Sep 11, 2006 12:47 am ] |
| Post subject: | Re: ExtCalendar v2 的尴尬 |
其实这是汉化者要完成的事情! 否则就不是汉化了! mod_extcalendar_minical.php line 447 : Code: $info_data['weekdays'][$i]['name'] = minical_sub_string($lang_date_format['day_of_week'][$array_index],2,''); change: Code: $info_data['weekdays'][$i]['name'] = minical_sub_string($lang_date_format['day_of_week'][$array_index],4,'');
|
|
| Author: | blank [ Mon Sep 11, 2006 1:34 am ] |
| Post subject: | Re: ExtCalendar v2 的尴尬 |
其实这个是编码搞的 原因在于strftime()函数 他返回的是一个本地编码的值 而不是UTF-8的编码 我改那个文件 只是表面 功夫 如果你要从星期一开始的话 我也提到 了 Quote: 从星期一开始显示 将$d1中的“日”移动到 最后就行了 还有你注意 一下 你看看逐日查看 你的日期还有乱码 就是那个strftime()的函数的问题 |
|
| Author: | baijianpeng [ Mon Sep 11, 2006 6:04 am ] |
| Post subject: | Re: ExtCalendar v2 的尴尬 |
AutoIt 的方法这次成功了,感谢!呵呵,虽然我能汉化英文字串,但是代码方面还要仰仗你们这些编程高手啊,大家多支持我啊! 我大胆猜一下:是不是把2改成4,意味着取字头前4个字节,也就是两个双字节?因为我记得utf-8编码好像是4字节的。原来的2看来是截断了我们在语言文件中定义的星期名称,是吧? Blank 指出了问题的关键,虽然我看不懂代码,但是你说的在理。这个取日期的函数一旦错误,怎么设置汉化字串都没用。 感谢两位高手的关注,现在日历总算是正常显示了。AutoIt 给出的方案很好,如果把星期一作为第一天的话,日子显示的顺序自动随之调整!看来问题就出在“截取字头”时使用了双字节而不是 utf-8 的4字节! 总之,还是要感谢你们,否则我绝对做不出来的。Blank发现的那个“逐日查看”出现乱码的问题,还请你们多多费心。一旦这个东东完美汉化,我准备大力推荐,功能真是很好! |
|
| Author: | blank [ Mon Sep 11, 2006 6:48 am ] |
| Post subject: | Re: ExtCalendar v2 的尴尬 |
我也装了个 在原来的基础上加了阴历显示,自己先得意一把,我觉这个东东私人用比较好,不用把自己的东东都 放在网上给人看吧,或者在单位内部站点上用比较好,
|
|
| Author: | baijianpeng [ Mon Sep 11, 2006 12:17 pm ] |
| Post subject: | Re: ExtCalendar v2 的尴尬 |
呵呵,刚才为了看你的“阴历”还专门去你网站逛了一下。你安装汉化文件的方法也不标准,不需要覆盖 english 目录下的文件,另外建一个 simplified_chinese 目录,把中文版的 index.php 放进去就行了。这个程序自动挂载中文(当前,前提是你网站的“全站设定”中设置语言为简体中文)。 你的“阴历”效果不错!可否共享一下?谢谢! |
|
| Author: | Autoit [ Mon Sep 11, 2006 1:57 pm ] |
| Post subject: | Re: ExtCalendar v2 的尴尬 |
blank 高呀, 俺是没想那么多, 他默认 2 是取2个字节, 所以显示的英文的字母都是 两个. 而Utf-8格式的编码是 3个字节. 所以那里改成大于等于3都是可以的! 因为只一个字哦. 如果两个了就要大于等于 6 就行... 我上次写是 是随手写上的. 让你产生误解了呵呵... |
|
| Author: | blank [ Mon Sep 11, 2006 2:11 pm ] |
| Post subject: | Re: ExtCalendar v2 的尴尬 |
Quote: ,不需要覆盖 english 目录下的文件,另外建一个 simplified_chinese 目录,把中文版的 index.php 放进去就行了。这个程序自动挂载中文(当前,前提是你网站的“全站设定”中设置语言为简体中文)。 汗一下 我全站设定中原来也是E文的 最早没有汉化出来自己搞的 后来一直延续下来 不想改了 阴历那个到时再写文章 说说怎么改 |
|
| Page 1 of 1 | All times are UTC |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|