首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

dotproject装配及 修正甘特图乱码

2012-10-24 
dotproject安装及 修正甘特图乱码?去网站下载最新版本 http://www.dotproject.net/第一次运行会检查你的服

dotproject安装及 修正甘特图乱码

?

去网站下载最新版本 http://www.dotproject.net/

第一次运行会检查你的服务器环境,注意画勾和差的地方,即时修正问题,系统会自动生成config.php文件

?

===============================

以下转载台湾那朋友的文章,感谢他!

=============================

?

由於過年前剛好有空

看到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下載【字体从一个TAR包中下载到的】

檔名請一樣,然後複製到解壓後的lib/fonts裏【修正 是放到lib/fonts/vera】

?

如果甘特圖顯示有問題,請在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這套系統

所以如果有問題,我並不能幫忙解決

===================

欢迎大家在最模板发表评论,以按照大家要求最模板提供简体汉化版本!

热点排行