webERP 中文問題

edited 十月 2013 in 財會商管
在 Debian 主機上安裝 webERP 可正常由遠端登入. 點選主畫面左上角的使用者名稱將 language 改為繁(zh_HK)或簡體(zh_CN)後, 雖未看到錯誤訊息, 但操作畫面始終保持為 en_GB 不變. 相同做法, 使用 Uniform Server 安裝在 winbox 沒問題外. 試了好幾部 Debian linuxbox 中文問題始終搞不定. 除了將 zh_HK 及 zh_CN 所包含的 messages 及 messages.po 分別解壓至 locale 的各個目錄下外, 是不是還少了什麼沒做呢? 先謝謝回答了.

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=1772

評論

  • edited 六月 2006
    Gettext 的翻譯檔案需要基於 PO 格式產生 MO 格式檔案才能使用,參考下面工具:
    http://www.poedit.org/
  • edited 六月 2006
    我原來的zh_HK繁體或zh_CN簡體包所包括的messages及messages.po就是由weberp 解壓至locale目錄下的, 難道我還得自己再產生一次才能用嗎?

    如我第一篇post提到的我在winbox使用 uniform server <http://www.uniformserver.com/>; 安裝 webERP 使用上面2個下載的locale包後, 更換語言介面並無問題.
  • edited 六月 2006
    我在 Fedora Core 5 中安裝並未發現問題,你的安裝步驟為何?
  • edited 六月 2006
    quote]
    kiang 寫道:
    我在 Fedora Core 5 中安裝並未發現問題,你的安裝步驟為何?[/quote]

    安裝就是參考weberp installation安裝文件:

    1) 下載weberp後, 解壓至 /var/www/weberp/. 另外也下載了語言包(zh_HK及zh_CN)將個語言包的 messages.mo 及 messages.po 分別解壓至 /var/www/weberp/locale/zh_HK或zh_CN.

    2) 先使用 mysql root 身分設立一個給新的'demo'帳號
    mysql> grant all privileges on *.* to demo@localhost identified by 'weberp' with grant option;

    3) 導入 /var/www/weberp/sql/ 下的 weberp-demo.sql (或 weberp-new.sql)設立weberp資料庫.
    => 這個部分我是使用 phpmyadmin 的import功能完成

    4) 編輯 /var/www/weberp/config.php:
    //sql user & password
    $dbuser = 'weber0_db_user'; => 改成 'demo'
    $dbpassword = 'weberp_db_pwd'; => 改成 'weberp'

    如沒記錯, 安裝到此就算完成了. 這時使用browser打上例如: http://192.168.1.xxx/weberp/ 出現登錄畫面, 使用上面設好的id及密碼就可登錄操作了. 接下來就像上面post描述的要更改與語系, 雖然下拉語系選單列出 zh_HK 及 zh_CN, 但設定並無任何作用. 我查了phpinfo.php, gettex 也已經enabled. 問題究竟在哪裡呢?
  • edited 六月 2006
    檢查一下資料庫 weberp => www_users

    看看 demo 這個使用者的 language 為何;如果不是 zh_HK 或 zh_CN ,修改 language 這個欄位的大小為 varchar(11)
    ALTER TABLE `www_users` CHANGE `language` `language` VARCHAR( 11 ) NOT NULL DEFAULT 'en_GB'
    

    然後從系統中修改語言為你要的,應該就可以了。
  • edited 六月 2006
    kiang 寫道:
    檢查一下資料庫 weberp => www_users

    看看 demo 這個使用者的 language 為何;如果不是 zh_HK 或 zh_CN ,修改 language 這個欄位的大小為 varchar(11)
    ALTER TABLE `www_users` CHANGE `language` `language` VARCHAR( 11 ) NOT NULL DEFAULT 'en_GB'
    

    然後從系統中修改語言為你要的,應該就可以了。
    看了原來的 language 是 varchar(5) 照著以上做法改成 varchar(11). 很遺憾, 還是沒有改變.

    因我 winbox 的 Uniform Server 語系變換沒問題, 特別看了一下其中的 www_user, 發現 winbox 內的 www_user 也是 varchar(5). 猜想問題應該不是在這裡. 還是謝謝你的幫助, 我還是再繼續查找原因吧!

    其實我原來是去年底差不時間開始同時試著用 sql-ledger 及 web-erp 2個類似近銷存軟體的(單單web-erp本身與所謂的ERP應該是無關的). sql-ledger 中文畫面並無問題, 但pdf或ps的中文列印一直有問題. web-erp則是中文操作介面始終搞不定. 我個人不怕英文介面, 但廠里人只要看到英文就說不會. 以致一直想利用這2套系統中的一套來將公司內的流程管理制度建立起來, 過了半年多了始終沒能成功. 可能跟自己終究只是個user, 不是code writer, 遇到問題無法解決也有很大的關係吧!
  • edited 六月 2006
    你有檢查資料庫中 demo 這個使用者的 language 項目為何嗎?

    另外,我使用的是開發版本,有些問題可能其他開發者已經修正,只是他們不知道何時會發佈吧。
  • edited 六月 2006
    kiang 寫道:
    你有檢查資料庫中 demo 這個使用者的 language 項目為何嗎?

    另外,我使用的是開發版本,有些問題可能其他開發者已經修正,只是他們不知道何時會發佈吧。
    預設是 en_GB, 登入後更改成其他語系例如 zh_HK 或 zh_CN 儲存後, 資料庫也會跟著更改. 但操作畫面還是en_GB 未改變.

    我想應該還是哪裡設定不正確的問題, 否則 weberp mailing list 應該很多人反應了. 原作者如沒記錯是紐西蘭人, locale都是各地方志願者做的. 因我的 linuxbox 只是擔任 server 的任務, 加上只是部C-400/128mg ram 的老電腦, 所以我並未安裝 x-window, 也未中文化. 現在我使用 sql-ledger 時中文顯示也沒問題, 所以我想這應該跟 OS 本身的 locale 無關吧!? 這是我現在的locale:

    LANG=en_US.UTF-8
    LANGUAGE=en_CN:en_US:en_GB:en
    LC_CTYPE="en_US.UTF-8"
    LC_NUMERIC="en_US.UTF-8"
    LC_TIME="en_US.UTF-8"
    LC_COLLATE="en_US.UTF-8"
    LC_MONETARY="en_US.UTF-8"
    LC_MESSAGES="en_US.UTF-8"
    LC_PAPER="en_US.UTF-8"
    LC_NAME="en_US.UTF-8"
    LC_ADDRESS="en_US.UTF-8"
    LC_TELEPHONE="en_US.UTF-8"
    LC_MEASUREMENT="en_US.UTF-8"
    LC_IDENTIFICATION="en_US.UTF-8"
    LC_ALL=

    btw, 與主題無關: xoops的討論區文字無法自動換行讓欄寬固定嗎?
  • edited 六月 2006
    webERP 會去抓取環境變數,但是理論上會以資料庫與設定檔案為主。

    下面有個暴力方式可以強制使用中文,在 webERP/includes/LanguageSetup.php 中找到下面這給行:
    If (isset($_POST['Language'])) {
            $_SESSION['Language'] = $_POST['Language'];
            $Language = $_POST['Language'];
    } elseif (!isset($_SESSION['Language'])) {
            $_SESSION['Language'] = $DefaultLanguage;
            $Language = $DefaultLanguage;
    } else {
            $Language = $_SESSION['Language'];
    }
    

    改成這樣:
    /*
    If (isset($_POST['Language'])) {
            $_SESSION['Language'] = $_POST['Language'];
            $Language = $_POST['Language'];
    } elseif (!isset($_SESSION['Language'])) {
            $_SESSION['Language'] = $DefaultLanguage;
            $Language = $DefaultLanguage;
    } else {
            $Language = $_SESSION['Language'];
    }
    */
    $Language = 'zh_HK';
    

    這樣就會強制使用中文,如果再不行就可能要等新版本了。
  • edited 六月 2006
    kiang 寫道:
    webERP 會去抓取環境變數,但是理論上會以資料庫與設定檔案為主。

    下面有個暴力方式可以強制使用中文,在
    --- (略) ---

    這樣就會強制使用中文,如果再不行就可能要等新版本了。
    kiang兄, 抱歉還是不行. 等新版本的同時, 我自己再繼續抓抓看能否找出問題所在. 謝謝.
  • edited 八月 2006
    請問
    請問:
    登入後都是空白
    includes/ConnectDB.inc on line 10
    include_once 'includes/ConnectDB_' . $dbType . '.inc';

    includes/session.inc on line 70
    $Auth_Result = DB_query($sql, $db);

    不知這是何 問題?
    是否跟資料庫 連結有關 謝謝!!
  • edited 八月 2006
    我想應該是資料庫沒有初始化造成
  • edited 五月 2007
    我是使用ubuntu的版本跟你用debian的類似
    因為這些Linux的作業系統都是使用utf-8的編碼模式
    所以用一般的中文的mo檔是不行的
    需要將相關的設定檔,資料庫,mo檔做轉換
    詳細的情形,請參考我的部落格工作達人
  • edited 五月 2007
    您好!!
    我忘了之前是怎麼裝的,
    不過程式好像有附安裝說明
    這是我之前裝的
    也許對您有幫助,
    http://www.megus.eorz.net/erp/
    謝謝!!

    Roy
Sign In or Register to comment.