以下是在下檢查過所有 po 檔後,所找到的錯誤:
./messages/kdelibs.po: found 1 fatal error ./messages/kdenetwork/kppplogview.po: found 2 fatal errors ./messages/kdesdk/kdevelop.po: found 2 fatal errors ./messages/kdetoys/amor.po: found 1 fatal error ./messages/koffice/kchart.po: found 1 fatal error ./messages/koffice/kpresenterkwordfilter.po: found 1 fatal error ./messages/koffice/kspreadqprofilter.po: found 1 fatal error ./messages/koffice/kwordlatexfilter.po: found 1 fatal error ./messages/koffice/olefilterswinword97filter.po: found 1 fatal error ./messages/others/kdeinstaller.po: found 1 fatal error ./messages/others/kpp.po: found 1 fatal error ./messages/others/ksciplot.po: found 2 fatal errors
在下用的是 "msgfmt -c -o /dev/null filename.po" 來檢查這些檔案,請問 處理這些檔案的朋友,可否將錯誤修正過來?
有大部份的錯誤都是因為 Project-Id-Version 裡的 version 未有修改,那裡 應是填上軟件的名稱和版本的。
Abel
"R.I.P. Deaddog" 寫道:
./messages/kdelibs.po: found 1 fatal error ./messages/kdenetwork/kppplogview.po: found 2 fatal errors ./messages/kdesdk/kdevelop.po: found 2 fatal errors ./messages/kdetoys/amor.po: found 1 fatal error ./messages/koffice/kchart.po: found 1 fatal error ./messages/koffice/kpresenterkwordfilter.po: found 1 fatal error ./messages/koffice/kspreadqprofilter.po: found 1 fatal error ./messages/koffice/kwordlatexfilter.po: found 1 fatal error ./messages/koffice/olefilterswinword97filter.po: found 1 fatal error ./messages/others/kdeinstaller.po: found 1 fatal error ./messages/others/kpp.po: found 1 fatal error ./messages/others/ksciplot.po: found 2 fatal errors
啊... 啊? 我是用 kbabel 檢查的, 它回報沒有錯誤哩... 被騙了..? OK, 我再檢查一下...
"R.I.P. Deaddog" 寫道:
On Wed, 29 Aug 2001, Chih-Wei Huang wrote:
啊... 啊? 我是用 kbabel 檢查的, 它回報沒有錯誤哩... 被騙了..? OK, 我再檢查一下...
其實,使用 msgfmt 來檢查是最穩當的方法,因為最後將 po 檔轉為 mo 檔的, 始終是 msgfmt :-)
嗯... 可是 kbabel 就是用 msgfmt 來檢查的...
研究了一下,好像 kbabel 用的是 msgfmt --statistics 它好像只會檢查翻譯了多少訊息, 不會查看 header...
"R.I.P. Deaddog" 寫道:
似乎是我所用的檢查方法比較嚴格了...... 的確,msgfmt 將 po 檔轉為 mo 檔時好像不會 對 header 檢查得太多,最多好像只是 Encoding 和 Content-type.....
這些錯誤訊息還是挺討厭的,所以我把它們全幹掉了..:) 現在 CVS 裡的應該沒有錯誤了。 我是這樣檢查的:
find . -name "*.po" -exec msgfmt -v -o /dev/null {} ;
就當我甚麼都沒說過吧 :-)
You are welcome!