# 8.4. 编辑一个项目

在你使用应用向导KAppWizard 创建了一个信的项目后，通常的任务是通过编辑已创建 的资源及加入类classes ，pixmaps ，图片及其他任何你的项目需要的东西来扩展项 目。现在，编辑一个项目意味着你可以在一个项目生成后根据你的需要，通过菜单及对话来 改变缺省项目。因此下一节将叙述如何加入已有文件和类classes 以及如何创建新的文 件。在建立你的项目时需要这个，但这对你的终端用户的安装过程不会有所帮助。因此，设置项目文件选项一节描述了如何设置文件 属性，尤其是你想要安装的其他文件，例如文档或pixmaps 。项目包含的另一个部分是 为应用加入翻译以支持项目的国际化，在 加入翻译中有所叙述。

扩展项目文件 包含了关于如何创建一套好的使终端用户在遇到问题时能够进行自我帮助的在线帮助及如何 使用你的产品的问题。 最后, 项目改动将描述你可以如何在特殊情况下进行 Kdevelop项目管理。

## 8.4.1. 增加/去除文件和类

增加新文件在你想分割你的类的实现implementation 文档到多个文件时常常用到。然 后你需要创建一个包含了你要去除的类的部分的实现implementation 的新文件。你可以 通过从文件菜单"File"-menu 中选择"新建", 打开"新文件New File "对话来完成。这 使你可以指定文件类型, 名称及位置。当键入文件名时, Kdevelop会自动为你输入扩展名, 但 你仍然可以根据你的参数选择改变扩展名。此外, 你可以包含源文件的头部模板, 这样你就 无须亲自将它拷贝到你的新文件了。而且, 你可以决定文件是否包含于项目中。注意，这并 不包含安装目的地；它必须通过设置文件参数来设置。

在新文件创建以后, 项目文件及相关的Makefile.am 将更新。要把一个完整的类加入你 的项目中, 你可以从项目菜单中选择"新的类New Class "，激活类生成器创建一个新的 类。

万一你有一个已存在的项目并想加入某些想在你的项目再次使用的类classes ，可从项 目菜单"Project"-menu 选择"将文件加入项目。。。"。选择"加入已有文件"，这会打开一 个对话让你指定要加入项目的文件及目的目录。注意，文件将被拷贝到指定目录中并加入项 目。你应该在增加资源后调用"Make"，然后你加入的文件将被包含到建立程序。万一你想 加入，例如必须由终端用户安装的pixmaps ，你应该为增加的文件更新文件属性并指定 安装路径(参见Setting Project File Options)

要将一个文件加入已存在于项目目录内的项目，请使用RFV ，这里所有包含的项目文 件都通过其项目状态在文件图标上有红色！显示。选择你想要加入项目的文件(它有一个标 准的文件图标)并按下鼠标右键以显示弹出菜单。然后选择"加入"。 文件也可从你的项目去除。在你不需要使用预先生成已由KAppWizard 给定的文件时你 可能会需要它。要去除一个文件, 你可以选择从一个项目中去除文件或是完全删除。要从项 目中去除一个文件, 请在LFV 或RFV 中选择文件, 按下鼠标右键并选择"去除"。 要删除一个文件, 请选择"物理删除"。

## 8.4.2. 设置项目文件选项

文件属性对话可以通过项目目录或在LFV 上鼠标右击进入。它以在LFV 中的分组 显示项目文件并显示文件属性，例如文件大小, 文件类型，文件是否包含在项目中及安装路 径--如果文件将由终端用户的安装命令安装。对于文档文件及pixmaps 在项目创建并由 终端用户安装时指定文件将去的位置很重要, 因此你必须设置那些定位。对于标准 KDE 定位宏你应该查看你的Makefile.am ，它指定了你的定位宏。

## 8.4.3. 加入翻译

由于KDE 允许配置你的桌面及你的应用的行为, 你还可以选择你的应用使用的语言， 考虑到在线文档的使用及应用的外观。对于文档文件,这看起来象一个琐细的工作。你将加 入一个由所希望使用的语言标注的子目录，例如德语的`de` German, 到你的项目的`docs` 目录并拷贝英文文档到那个目录。然后你将生成整个文档并设置安装目录的所有项目文件的 选项。接着你可开始翻译SGML 文件到你想使用的语言并重新生成这个文档；这样你 就完成了。 对于应用, 这对于程序员好象有点困难。现在, 我们想解释如何使你的应用得到国际化支持 及如何加入你想要支持的语言。 首先，你必须由`i18n ()` 宏附上出现在你项目的控制条及对话中的可见字符串。这 个宏是Klocale类的`klocale->translate()`函数的替代，更易于使用。由于这个宏是在`kapp.h` 文件中声明, 你必须将`&#;include &<;kapp.h&>;` 加入资源文件或使用了宏的类的类声明 declaration 文件。还应该提到的是，虽然`i18n ()` 是一个宏，而你会考虑使用原 始函数，但这行不通。因为设置来翻译的字符串必须从资源读出并存储在应用的翻译文件内 (&<;YourApp&>;.pot in the /posubdirectory)。这个任务是由程序xgettext完成的，要这样做， 你必须在你的包含了这个资源的项目目录中键入`make messages` 。由于xgettext 依靠 `i18n ()`宏，原始的函数不能完成这个工作。

对于翻译本身，你首先必须使用 `i18n ()`宏来创建包含了所有用于你的资源内的字 符串的消息文件。这可以通过从建立菜单中选择"Make messages and merge" 来完成。 然后你必须加入你的应用希望支持的语言。因此，从想菜单中选择"加入翻译文件"。这会打 开一个语言选择对话。选好语言并按下确定。这将建造ASCII文件包含了文件名的条目entries for the filename of the string and the line where the original string is placed. 然后你会看见一个包 含了要翻译的字符串的`msgid`行，其后是`msgstr`。Msgstr行大多是空的，除了已由KDE 库KDE-libraries 提供的翻译。它们必须填充你的语言的相关翻译。

你可以考虑用手书写翻译，这样也可以。但是KDE-SDK 提供用户KTranslator 程 序，它从安装在系统上的其他程序读出已有文件，这样你可以重新使用已翻译的字符串以支 持你的语言。

要进入KTranslator ，最简单的方法是在LFV 或RFV 内选择一个/po 目录内的 &<;language&>;.po文件。这会打开KTranslator 并允许轻易的完成翻译。注意，你必须 由你自己设置 KTranslator 属性以包含作者名字，语言及目的文件。缺省情况下 KTranslator 只打开你的翻译文件。 对于所有有的"文件，`make` 使用`msgfmt` 程序来格式化你的信息文件以使用二 进制，但是你无须操心这一点以及指定安装翻译文件的目标目录；这是由Kdevelop自动完成。

要得到关于国际化支持的详细信息，请参见\|\|；很多人在为你翻 译以支持他们的语言。你会发现一个翻译人员的email地址列表，你可以写信给他们，他们 可以帮助你。还可以阅读对话框编辑器及Kdevelop编程手册，在这里再 次谈到了关于国际化的问题。

## 8.4.4. 扩展项目文件

所有Kdevelop创建的项目都包含了一个预先设置的文件，它已经包含了安装的标准章节，项 目名称，版本以及作者名和email地址。由于Kdevelop使用的是SGML -模板，把文件扩 展为完整描述的帮助系统十分容易。你唯一必须完成的事是编辑SGML 文件，它作为 index.sgml放于docs/en中。你的sgml-工具包包含的参考文件可以加入帮助浏览器 Helpbrowser ，允许你直接进入特殊标签及关于如何扩展文档的简短描述。SGML 有很多优点，而KDE 利用其他的KSgml2Html 工具通过文件类型广泛使用。这会 创建典型的KDE -风格的文件并让它看上去更好。不管怎么说，sgml工具本身就已经足 够产生一个已包含于你的项目的html输出output 。要使用KSgml2Html 创建文件， 先安装工具并从建立菜单运行"生成用户手册"。文件浏览器允许通过从帮助菜单或文件树 DOC -tree的相关按钮选择"项目用户手册"来直接控制输出output 。然后你可以在 KDevelop中浏览在线文件，更好的通过输出output 浏览导致标签丢失的错误 errors 。

现在，在展开文档时，你无可避免的会生成一些必须包含于项目的其他文件，由于每个 `sect`-tag 都创建一个新的HTML 文件。由应用向导KAppWizard 生成的输出 output 已包含于项目文件，因此你无须操心它们的安装路径。你真正需要关心的是任何 的index-xx.html文件，xx是大于6的数字(由于前6页已经包含在项目中)。在生成了文档以后， 切换到RFV 并浏览你的文件目录。在文件上按下鼠标右键并选择"增加"。另外， KSgml2Html 将KDE logo加入文件目录。这个文件，`logotp3.gif`，也必须加入 项目。然后你必须从项目菜单或通过文件浏览器的弹出菜单选择"文件属性"。设置安装路径 最简单的办法是选择一个已经设置好安装的文档文件，例如`index.html`。你可以看见 `Install`已监测安装目录及文件名也已包含了目的地。标注安装目录并键入CTRL+C以拷贝 安装路径到剪贴板。接着选择你指定要安装的文件。激活`Install`，这将激活安装目录入 口域，已包含了文件名。将光标置于文件名之前并键入CTRL+V以插入剪贴板上的内容 (这 是起先拷贝的安装路径)。这是指定安装路径最快的方法。要得到关于指定安装目的地的更 多选项，请参见KDevelop 编程手册。

## 8.4.5. 项目改动

当着手于一个项目时，你决不应该手动的编辑项目文件。在一定情况下这会阻止Kdevelop正 确装载你的项目，而且改变也不会使Makefile s更新。要改变你的项目的任何设置，你 必须使用给定的工具条目，例如，增加文件或设置文件属性的条目。对于不习惯某些设置的 专家，例如连接器Linker 或需要其他项目设置，你应该研究一下Makefile.am 的 宏并在以"Kdevelop写区域"条目分割的部分之后将所有改动加入Makefile.am 's。由于 GNU-工具是在所有宏文件的末尾使用这些命令，你可以用它覆写Kdevelop的设置。注意， 这会阻止使用KDevelop 进行与项目设置相关的任何改动。