dotProject2.1.9安装及中文乱码解决

dotProject2.1.9 安装、汉化及中文乱码解决

  1. 搭建服务器环境,apache,MySQL,PHP;
  2. 下载dotProject2.1.9压缩包https://sourceforge.net/projects/dotproject/files/dotproject/
  3. 解压缩压缩包,将解压缩的文件夹复制到服务器的根目录下。我用wamp搭建的服务器,将压缩包拷贝到wamp\www\目录下,并将文件夹更名未dotproject;
  4. 安装;在浏览器地址栏输入:localhost/dotproject/install(基于我的配置),进入dotProject安装配置页,如下图:

默认情况下,session.AutoStart = off,在php.ini中搜索session.autostart,并将off改为on,该配置不修改,不影响安装,但安装完成后,dotproject可能无法登陆。

安装完成后,最好把install文件夹删除。

    5. 汉化;①下载中文包;②自己翻译。本人未能在网上找到2.1.9对应的中文包。于是选择了第②种方案。

  • 进入dotProject\locales\将en文件夹复制未zh-cn;
  • 进入zh-cn文件夹,打开lang.php将非注释部分修改为:

       $dir = basename(dirname(__FILE__));

 

       $LANGUAGES['zh-cn'] = array ( $dir, 'Chinese (Simplified)', '简体中文', 'chs');

 

  • 以管理员身份登陆dotProject,System Admin→Language Support→Translation Management,Language选择zh-cn,然后逐个module去翻译,提交。特别注意:common module翻译页有个bug,每submit一次common.inc这个文件就会增大,且增大越来越快,问题出在了下面这条翻译上,每次submit都会自动生成<br>,</br>。我的解决办法简单粗暴,这条翻译直接不做了,每次submit时,都把该条翻译内容清空一次。

    6. 甘特图中文乱码

  • 复制字体:从C:\Windows\Fonts复制微软雅黑(根据自己喜好)到dotProject\lib\fonts\vera,会产生三个文件msyh.ttc, msyhbd.ttc, msyhl.ttc
  • 修改dotProject\lib\jpgraph\src\jpg-config.inc.php

           define(‘FF_CUSTOM‘,31);

  • 修改dotProject\lib\jpgraph\src\jpgraph_ttf.inphp

          FF_CHINESE => array(

            FS_NORMAL => ‘msyh.ttc‘,

            FS_BOLD => ‘msyhbd.ttc‘,

            FS_ITALIC => ‘‘,

            FS_BOLDITALIC => ‘‘ ),

  • 修改dotProject\modules\tasks\gantt.php

       注释掉utf-8解码

/*

if ($locale_char_set=='utf-8' && function_exists('utf8_decode')) {

              $name = utf8_decode($name);

       }

*/

           此时任务甘特图乱码已解决

  • 修改dotProject\modules\projects\gantt.php

注释掉utf-8解码

//             if ($locale_char_set=='utf-8' && function_exists('utf8_decode')) {

//                    $name = ((mb_strlen(utf8_decode($p['project_name'])) > 25)

//                             ? (mb_substr(utf8_decode($p['project_name']), 0, 22) . '...')

//                             : utf8_decode($p['project_name']));

//             } else {

//                    //while using charset different than UTF-8 we need not to use utf8_deocde

               $name = ((mb_strlen($p['project_name']) > 25) ? (mb_substr($p['project_name'], 0, 22).'...')

                        : $p['project_name']) ;

//             }

此时,项目甘特图中All Project和项目名称依然乱码,继续查找gantt.php代码发现

if (is_file(TTF_DIR . 'FreeSansBold.ttf')) {

$graph->scale->tableTitle->SetFont(FF_CUSTOM,FS_BOLD,12);

}

dotProject\lib\jpgraph\src\jpg-config.inc.php中 define('TTF_DIR', DP_BASE_DIR . '/lib/fonts/vera/');查看/lib/fonts/vera/'压根就没有FreeSansBold.ttf,所以“全部项目”根本不会使用FF_CUSTOM,具体使用的什么字体,鬼才知道,但一定不是中文字体,原因你懂得。那就将FreeSansBold.ttf换成vera中有的任意一个字体,或者直接用msyhbd.ttc;

      继续查找gantt.php代码发现

if (is_file(TTF_DIR."FreeSans.ttf")) {

      $bar->title->SetFont(FF_CUSTOM, FS_NORMAL, 9);

}

           同理“FreeSans.ttf”改为"msyh.ttc"

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值