分享dotProject 2.1.5 繁體中文版

由於過年前剛好有空
看到dotProject又有新版的出來
就順手弄了一個中文版出來
並且也說明一下修正了哪些地方

不過這邊也要先說明一下
翻譯的部分是拿以前的翻譯檔再作修正
所以並沒有完全都翻到
不過這是整合好的版本
至少除了翻譯之後,也不需要再東改西改的
當然我是拿官網的版本下來修正的
所以pdf中文的問題還是在
其它的我記得的都修正了

修正了哪些部分,我就說明一下
基本上就是日曆和甘特圖的修正
當然翻譯檔要先copy進去
1.日曆的部分是修改lib/PEAR/Date/Calc.php
在function getMonthNames
加入setlocale(LC_TIME, 'en');
在function getWeekDays
加入setlocale(LC_TIME, 'en');

2.甘特圖的部分就比較麻煩
先修改字型的部分
修改lib/jpgraph/src/jpg-config.inc.php
將define('FF_CUSTOM', 18);
改成define('FF_CUSTOM', 31);
再來修改lib/jpgraph/src/jpgraph_ttf.inc.php
在89行改成define('CHINESE_TTF_FONT','fireflysung.ttf');//這是後面會提到要裝的字型
在324~328行改成
     FF_CHINESE  =>   array(
      FS_NORMAL =>CHINESE_TTF_FONT,
      FS_BOLD =>CHINESE_TTF_FONT,
      FS_ITALIC =>CHINESE_TTF_FONT,
      FS_BOLDITALIC =>CHINESE_TTF_FONT ),
這樣中文在甘特圖就可以顯示了
而我是另外再修正2個地方
lib/jpgraph/src/jpgraph_gantt.php
在2730行將j/n改成n/j,符合平常使用"月/日"來顯示
及2796行將$img->SetFont($this->month->iFFamily,$this->month->iFStyle,$this->month->iFSize);
改成$img->SetFont(FF_CUSTOM,$this->month->iFStyle,$this->month->iFSize);
lib/jpgraph/src/jpgraph.php
在362行function Set
加入global $locale;//這變數是在中文語言檔locales.php宣告
並將該function的
        for($i=1; $i<=12; ++$i) {
            list($short ,$full) = explode('|', strftime("%b|%B",strtotime("2001-$i-01")));
            $this->iShortMonth[$aLocale][] = ucfirst($short);
            $this->iMonthName [$aLocale][] = ucfirst($full);
        }
改成
 for($i=0; $i<12; ++$i) {
  if( !isset( $locale ) )
  {
      list($short ,$full) = explode('|', strftime("%b|%B",strtotime("2001-$i-01")));
      $this->iShortMonth[$aLocale][] = ucfirst($short);
      $this->iMonthName [$aLocale][] = ucfirst($full);
  }
  else
  {
      $this->iShortMonth[$aLocale][] = $locale['monthsshort'][$i];
      $this->iMonthName [$aLocale][] = $locale['months'][$i];
  }
 }
這樣甘特圖的月分才會變成中文

再來就修正模組裏甘特圖的程式碼
modules/projects/gantt.php
將214行
   $name = ((mb_strlen(utf8_decode($p['project_name'])) > 25) 
            ? (mb_substr(utf8_decode($p['project_name']), 0, 22) . '...') 
            : utf8_decode($p['project_name']));
改成
   $name = ((strlen($p['project_name']) > 25)
            ? (substr($p['project_name'], 0, 22) . '...')
            : $p['project_name']);
modules/tasks/gantt.php
將372行註解掉
 if ($locale_char_set=='utf-8' && function_exists('utf8_decode')) {
  $name = utf8_decode($name);
 }
這樣就大致可以了

另外再重貼一下之前寫的
還有最重要的一點
此壓縮檔沒有中文字型
請自行去搜尋fireflysung.ttf下載
檔名請一樣,然後複製到解壓後的lib/fonts裏

如果甘特圖顯示有問題,請在php設定檔php.ini裏
將memory_limit = 32M
或許就能解決

安裝畫面我沒有翻中文,因為安裝只佔一小部分就懶得去處理了
安裝後,預設的帳號密碼為admin和passwd

下載(包含已修正過的)
http://www.fase.idv.tw/blog/download/dotproject_2_1_5_chinese_by_fase.zip

firefly字型,進到該目錄下,下載1.3.0的版本
http://freesf.tw/modules/mydownloads/viewcat.php?cid=19

就給大家參考用吧
另外提醒大家一下
我只是順手改一下整合一下
我本身並沒有在用dotProject這套系統
所以如果有問題,我並不能幫忙解決
引用通告地址: http://www.fase.idv.tw/blog/trackback.php?tbID=90&extra=6773a1
標籤: dotProject
評論: 8 | 引用: 3 | 閱讀: 14447
  • 1 
qqq [ 2012-06-20 09:37 網址 | 回覆 | 編輯/刪除 ]
請問一下 您當初用的資料庫的版本是哪個版本
謝謝!!!
fase [ 回復於2012-06-22 10:48 | 編輯/刪除 ]
你是指MySQL的版本嗎
我是用5.0的
calvin [ 2011-10-28 10:38 網址 | 回覆 | 編輯/刪除 ]
請問一下
我在任務->每用戶的任務 裡面
想要分配任務,但 可能分配給(possible assignees) 的框框裡都是空白的,是什麼原因,需要修改哪裡??
fase [ 回復於2011-10-31 09:37 | 編輯/刪除 ]
不好意思,這套我並沒有使用
實在沒辦法替你解答
CrazyCat [ 2011-10-27 11:32 網址 | 回覆 | 編輯/刪除 ]
上次的問題解決了,謝謝你
不過我真的又求救無門了,所以又來了....>"<
想請問修改檔案上傳路徑是在哪邊修改
它預設路徑是dotProject/files
若我想要改成在D:/呢
在此打擾到版大了
若版大沒有空的話沒關係^^
謝謝^^
fase [ 回復於2011-10-31 09:36 | 編輯/刪除 ]
因為這套我並沒有使用
只是當初評估時,順手整理而已
有些操作上的問題,我並沒有辦法去了解

不過你這個問題
由於php是建構在web server下
其本身應該沒辦法直接修改去寫入超過web server的目錄
所以本來是C:\,要改成D:\,我想是不行
但是有個變通的方式,就是利用捷徑或虛擬目錄
讓file這目錄實際是寫到D的某目錄
不過呢,我並沒有試過,你可以試看看
CrazyCat [ 2011-10-12 17:30 網址 | 回覆 | 編輯/刪除 ]
你好,我想請問一下
我在安裝dotproject時,按下Install db & Write cfg後
就出現Installing database,之後就沒反應了
也沒安裝完成
想請問為什麼會出現這個問題....
(沒人可問,只能來這問問看了orz)
fase [ 回復於2011-10-13 09:12 | 編輯/刪除 ]
那就是卡在寫入資料庫吧
可能資料庫的相關資料不對,或是權限不夠
你可以去看看資料庫有沒有寫入資料
如果沒有的話,大概就是這問題
再確認一下資料庫的資料
  • 1 
發表評論
暱 稱(*): 密 碼:
網 址: E - mail:
驗證碼(*): 驗證碼圖片
請用滑鼠點選輸入
選 項:
頭 像:
內 容(*):