Archive:Development/Tools (zh TW): Difference between revisions

From KDE TechBase
No edit summary
No edit summary
Line 19: Line 19:
== 開發工具 ==
== 開發工具 ==
; KDevelop
; KDevelop
: [http://www.kdevelop.org KDevelop] 是一個開發 KDE 和 Qt C++ 應用程式的優秀 IDE。It includes a an integrated debugger, a powerful editor with syntax highlighting, a ''Project wizard'' to create applications from templates, the automake/autoconf gunk, and even the class documentation. Further details can also be found in the [http://kdevelop.org/mediawiki/index.php/Main_Page KDevelop wiki].
: [http://www.kdevelop.org KDevelop] 是一個開發 KDE 和 Qt C++ 應用程式的優秀 IDE。It includes a an integrated debugger, a powerful editor with syntax highlighting, a ''Project wizard'' to create applications from templates, the automake/autoconf gunk, and even the class documentation. 進一步的細節可以在[http://kdevelop.org/mediawiki/index.php/Main_Page KDevelop wiki] 找到。


:如何使用 KDevelop 開發 KDE  4 應用程式的指南可見[[Getting_Started/Set_up_KDE_4_for_development_(zh_TW)#KDevelop|本頁]]
:如何使用 KDevelop 開發 KDE  4 應用程式的指南可見[[Getting_Started/Set_up_KDE_4_for_development_(zh_TW)#KDevelop|本頁]]
Line 32: Line 32:


; Lokalize
; Lokalize
: [http://userbase.kde.org/Lokalize_(zh_TW) Lokalize] is a computer-aided translation system that focuses on productivity and quality assurance. It has components usual for CAT tools: translation memory, glossary, and also a unique translation merging (synchronization) capability. It is targeted for software translation and also integrates external conversion tools for freelance office document translation.  
: [http://userbase.kde.org/Lokalize_(zh_TW) Lokalize] 是一個電腦輔助翻譯系統,關注於生產力和品質保證。它包含常見的 CAT(電腦輔助翻譯)工具:翻譯記憶體、詞彙,還有獨特的翻譯合併(同步)能力。It is targeted for software translation and also integrates external conversion tools for freelance office document translation.  


; Dr. Klash
; Dr. Klash
Line 44: Line 44:
</code>
</code>


: Pressing F12 will show a dialog containing which accelerators in the currently focussed interface conflict and provide suggestions for new accelerators. If no accelerators conflict or Dr. Klash has nothing to suggest, no popup dialog will be displayed.
: 按下F12會顯示一個對話框,包含目前焦點界面中的 accelerator 衝突,並對新的 accelerator 提供建議。如果沒有 accelerator 衝突或 Dr. Klash 沒有任何建議,那麼就沒有彈出的對話框。


: With <tt>AutoCheckAccelerators</tt> enabled the dialog will popup automatically if a conflict exists and <tt>AlwaysShowCheckAccelerators</tt> can force the dialog to always popup even if there are no conflicts to report.
: 如果存在衝突,<tt>AutoCheckAccelerators</tt> 會使對話框將自動彈出,而<tt>AlwaysShowCheckAccelerators</tt>可以強制彈出對話框,即使沒有衝突報告。


; x-test 語言
; x-test 語言
Line 55: Line 55:
  > KDE_LANG=x-test kspread
  > KDE_LANG=x-test kspread


:這將使用的「x-test」環境啟動 KSpread 不論你目前的語言設定。查詢沒有 xx's 的字串。如果xx's是缺少自字串,它可能是由於缺少i18n要求,甚至丟失或不正確生成的 .pot 檔。查閱 i18n 教學了解進一步資料。
:這將使用「x-test」環境啟動 KSpread ,不論你目前的語言設定。查詢沒有 xx's 的字串。如果xx's是缺少自字串,它可能是由於缺少i18n要求,甚至丟失或不正確生成的 .pot 檔。查閱 i18n 教學了解進一步資料。


: 檢查未翻譯的字串時,一定要檢查所有的 WhatsThis 幫助和工具提示( tooltips)。
: 檢查未翻譯的字串時,一定要檢查所有的 WhatsThis 幫助和工具提示( tooltips)。
Line 61: Line 61:
=== 檢查.po檔案 ===
=== 檢查.po檔案 ===


你可以查看翻譯.po檔,看是否存在並已被翻譯的字串。例如,下面是{{path|l10n/de/messages/kdebase/konqueror.po}}的一部分:
你可以查看翻譯過的.po檔,看是否存在並已被翻譯的字串。例如,下面是{{path|l10n/de/messages/kdebase/konqueror.po}}的一部分:


  #: konq_mainwindow.cc:3707 konq_tabs.cc:84
  #: konq_mainwindow.cc:3707 konq_tabs.cc:84
Line 67: Line 67:
  msgstr "Neues &Unterfenster"
  msgstr "Neues &Unterfenster"


The string to be translated is given on the msgid line. The translated string is on the msgstr line. Notice that the exact same string to translate came from {{path|konq_mainwindow.cc}} and also from {{path|konq_tabs.cc}}. This saves the translators from having to translate the same identical string twice.
需要被翻譯的字串在 msgId 行。已翻譯的字串在 msgstr 行。請注意,來自{{path|konq_mainwindow.cc}} {{path|konq_tabs.cc}} 中完全相同的字串可以同時翻譯。這樣相同的字串不必翻譯兩次,可以節省翻譯人員的時間。


您也可以使用 Lokalize 檢查{{path|.po}}檔。Lokalize 是 kdesdk 模塊的一部分。
您也可以使用 Lokalize 檢查{{path|.po}}檔。Lokalize 是 kdesdk 模塊的一部分。


{{note_(zh_TW)|更多編寫和翻譯文件的資訊可以在[http://l10n.kde.org/  l10n 計畫網站]找到。}}
{{note_(zh_TW)|更多編寫和翻譯文件的資訊可以在 [http://l10n.kde.org/  l10n 計畫網站]找到。}}


== 協助工具 ==
== 協助工具 ==

Revision as of 04:07, 12 December 2009


Development/Tools

本章節包含 KDE 開發有關的工具。

除錯和分析

用以分析程式的工具列表。包括除錯器和分析器等。

Valgrind
Valgrind 協助檢查記憶體洩漏和未初始化記憶體區塊。另外他還能用來分析性能及其它,總而言之,Valgrind 是開發過程中很重要的工具之一!
The GNU Project Debugger (GDB)
GDB 協助原始碼除錯。GDB 仍在不斷進化,推薦使用6.0以後版本。圖形化的介面也出現了,請見下文。也請參閱除錯教學,[[../Tutorials/Debugging/Debugging with GDB|使用 GDB 除錯]]。
KDbg 和 DDD
KDbgDDD 是 GDB 的圖形介面,可以設定中斷點,單步執行等。
MS Windows 工具(Process Explorer、Console、WinDbg、DebugView...)
更多資訊請見KDE on Windows 網頁

開發工具

KDevelop
KDevelop 是一個開發 KDE 和 Qt C++ 應用程式的優秀 IDE。It includes a an integrated debugger, a powerful editor with syntax highlighting, a Project wizard to create applications from templates, the automake/autoconf gunk, and even the class documentation. 進一步的細節可以在KDevelop wiki 找到。
如何使用 KDevelop 開發 KDE 4 應用程式的指南可見本頁
Qt Designer
Qt Designer 可以很容易佈局使用者界面,如按鈕和複選框。其它特點包括:復原/重做、檢查accelerator衝突等。Qt Designer 甚至可以讓非程式設計師,協助設計 KDE 對話框。進一步詳情可參閱使用 Qt Designer教學和Qt Designer 手冊
MS Visual Studio® Express 2008 IDE (僅適用 Windows)
Visual C++® 2008 Express 是微軟的 Visual Studio 2008 編譯器的免費版本,由 Nokia 官方提供支援。這是在 Windows 編譯 Qt 和 KDE 應用程式的另一個選擇。更多資訊...

國際化(i18n)工具

Lokalize
Lokalize 是一個電腦輔助翻譯系統,關注於生產力和品質保證。它包含常見的 CAT(電腦輔助翻譯)工具:翻譯記憶體、詞彙,還有獨特的翻譯合併(同步)能力。It is targeted for software translation and also integrates external conversion tools for freelance office document translation.
Dr. Klash
這個小工具,啟動後可以提交一份選單中快捷鍵衝突的報告。這不僅有助於翻譯,也輔助了開發。簡單編輯 `kde-config --localprefix`/share/config/kdeglobals 啟動此功能:

[Development] CheckAccelerators=F12 AutoCheckAccelerators=false AlwaysShowCheckAccelerators=false

按下F12會顯示一個對話框,包含目前焦點界面中的 accelerator 衝突,並對新的 accelerator 提供建議。如果沒有 accelerator 衝突或 Dr. Klash 沒有任何建議,那麼就沒有彈出的對話框。
如果存在衝突,AutoCheckAccelerators 會使對話框將自動彈出,而AlwaysShowCheckAccelerators可以強制彈出對話框,即使沒有衝突報告。
x-test 語言
這種輔助語言用於除錯,幫助人們找到應用程式中未翻譯的字串。如果您在「x-test」環境中啟動應用程式,將顯示所有尾部和頭部 xx's 的翻譯字串。首先,你要從 l10n-kde4/x-test 檢查這些「翻譯」並安裝它們。
在您建構 l10n-kde4/x-test 並安裝它後,執行您的應用程式使用「x-test」環境。可以透過如下指令啟動:
> KDE_LANG=x-test kspread
這將使用「x-test」環境啟動 KSpread ,不論你目前的語言設定。查詢沒有 xx's 的字串。如果xx's是缺少自字串,它可能是由於缺少i18n要求,甚至丟失或不正確生成的 .pot 檔。查閱 i18n 教學了解進一步資料。
檢查未翻譯的字串時,一定要檢查所有的 WhatsThis 幫助和工具提示( tooltips)。

檢查.po檔案

你可以查看翻譯過的.po檔,看是否存在並已被翻譯的字串。例如,下面是l10n/de/messages/kdebase/konqueror.po的一部分:

#: konq_mainwindow.cc:3707 konq_tabs.cc:84
msgid "&New Tab"
msgstr "Neues &Unterfenster"

需要被翻譯的字串在 msgId 行。已翻譯的字串在 msgstr 行。請注意,來自konq_mainwindow.cckonq_tabs.cc 中完全相同的字串可以同時翻譯。這樣相同的字串不必翻譯兩次,可以節省翻譯人員的時間。

您也可以使用 Lokalize 檢查.po檔。Lokalize 是 kdesdk 模塊的一部分。

Template:Note (zh TW)

協助工具

獲取關於 KDE 安裝的資訊- kde-config
kde-config 工具協助發現更多關於 KDE 安裝資訊。
用腳本驅動 Konqueror - kfmclient
kfmclient 是用於和 Konqueror 通訊的小工具。
更新使用者配置檔案 - kconf_update
kconf_update 是設計更新配置檔案的工具。
生成 apidox
協助從程式碼開發和生成 API 文件。
Automoc4
一個用於構建 KDE 4 的協助工具。他會自動產生 moc 檔案。
svnmerge.py
此工具協助跟踪 SVN 分支合併

品質保證

Continuous Building - Dashboard
all kde modules on Dirk's dashboard
some kde software on win32 dashboard
kdelibs on kitware
English Breakfast Network - 靜態分析
Krazy - 程式碼分析, 使用教學
APIDOX - API 文件統計
Sanitizer - DocBook 檢查器
可用性檢查