茫茫網海中的冷日 - 對這文章發表回應
茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1729107 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_60D_00340.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

對這文章發表回應

發表限制: 非會員 可以發表

發表者: 冷日 發表時間: 2011/11/29 7:58:38
    為了加強 軟件 項目的管理,我 公司使用了 開源 項目管理軟件dotProject。dotProject是一個基於 LAMP的開源項目管理軟件。使用 PHP+MySql 開發實現。dotProject官方
網站在這裡: http://www.dotproject.net/ 目前 發佈的最 新版本為2.0.4。官方網站上面 提供中文包也不錯,我使用的是Ch inese_Simplied_(GBK)_2.01_ Compatible語言包,編碼方式是GB2312。
下載安裝,安裝語言包非常簡單,解壓縮之後是一個名為「cn」的目錄,整個複製到dotProject的locales 子目錄中,然後做一下 系統配置就搞定了。漢化的也很好。只是有一個缺點, 日曆 功能的星期幾的漢字顯示有 問題頁面上面顯示為
亂碼
    經過我的 研究發現,造成此問題有下面這兩個原因:
  1. 星期幾名稱縮寫的截取函數有問題。代碼中使用 英文單詞取前3個字符的截取方式,例如:Monday-> Mon。可是當截取漢字的時候就生成了一個半漢字。
  2. 可能是個Bug,例如原 文件「dotProject\modules\calendar\calendar.class.php」 中生成 標題字符串的程序代碼為:

    $s   .=   \n\t\t<th width=\ 14 % \ >   .   htmlentities ( utf8_encode ( $day ) ,  ENT_COMPAT ,   $locale_char_set )  .   </th> ;
    很明顯,這裡調用了 一次utf8的編碼函數,所以不論何種
本地化編碼方式,這裡都生成了utf8的編碼字符。
    至於改進方式,我採用了比較偷懶的方式,直接設置了星期幾名稱的數組,然後去掉第2個問題中的utf8編碼函數調用,問題 解決。下面是我 修改後的函數代碼:
function  _drawDays() {
         global   $locale_char_set ;


         $bow   =  Date_Calc :: beginOfWeek(  null , null , null , null , LOCALE_FIRST_DAY );
         $y   =   substr (  $bow ,   0 ,   4  );
         $m   =   substr (  $bow ,   4 ,   2  );

         $d   =   substr (  $bow ,   6 ,   2  );
         $wk   =  Date_Calc :: getCalendarWeek(  $d ,   $m ,   $y ,   %a ,  LOCALE_FIRST_DAY );
         if ( $locale_char_set == ' GB2312 ' )
            {

                 $wk   =   array ( ' 日 ' , ' 一 ' , ' 二 ' , ' 三 ' , ' 四 ' , ' 五 ' , ' 六 ' );
            }

         $s   =   $this -> showWeek  ?   \n\t\t<th>&nbsp;</th>   :   ;
         foreach (  $wk   as   $day  ) {
             // ;

             $s   .=   \n\t\t<th align=\ center\  width=\ 14 % \ >   .   htmlentities ( $day ,  ENT_COMPAT ,   $locale_char_set )  .   </th> ;
        }

         return   \n<tr>$s\n</tr> ;
    }




原文出處:开源的项目管理系统dotProject的汉化问题 - 好工具站长分享平台
內容圖示
url email imgsrc image code quote
樣本
bold italic underline linethrough   












 [詳情...]
validation picture

注意事項:
預覽不需輸入認證碼,僅真正發送文章時才會檢查驗證碼。
認證碼有效期10分鐘,若輸入資料超過10分鐘,請您備份內容後,重新整理本頁並貼回您的內容,再輸入驗證碼送出。

選項

Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|