如何使用定制语言集来改变 Drupal 文本和术语由 holz 于 周五, 2006-11-10 17:49 提交。
由于各类应用的特殊性,你可能发现 Drupal 核心或第三方模块的默认文本或术语不符合你的风格或需求,通过 locale 模块定制这些文本是相当容易的,并且能用于其他站点和 Drupal 的更新版本。 举个简单的例子,你可能希望将 "Search" 按钮改为 "Find",或者你希望评论显示为 "Posted by" 而不是 "Submitted by"。更进一步,你可能希望将 Drupal 描述为 "forums" 的任何东西替换为 "bulletin boards" 这样的描述,你还可能希望将任何地方出现的单词 "forum" 改为自己喜欢的单词。 locale 模块是一个发展的相当好的系统,可以轻松处理这些情形。尽管我们将它描述为一个翻译系统,它一样能够高效地处理你用自己的术语代替 Drupal 默认术语的问题。 你应该首先阅读 如何建立定制语言集来替代 Drupal 术语,在遵循该文指示建立了你自己的定制语言后,本文试图为 Drupal 新手提供更详细的处理步骤。 再重复一次,在处理前,遵循 如何建立定制语言集来替代 Drupal 术语 的第一部分启用 locale 模块,建立一个定制语言并使之成为默认语言。如果你不是站点的第一个用户,还需要到访问控制页面 管理 >> 访问控制 给你所处的角色赋予 "管理本地化" 的权限。 接下来,你会发现直接在 管理 >> 本地化 中逐个搜索字符串没有通过模板文件导入 "已翻译" 字串来的容易。因此,到 翻译模板 页面下载相应版本 Drupal 的翻译,一些第三方的模块会有一些翻译模板在 "po" 目录下。 在下载得到的模板目录中,你会发现许多扩展名为 ".pot" 的文件,"general.pot" 里面的字串被好几个模块重复利用,用一个文本编辑器打开并浏览下,记得前面我们举的简单的例子吗?我们从文件中找到下面形式的字符串: #: includes/locale.inc:327;346 modules/search.module:142;996 modules/system.module:1198 modules/user.module:1958编辑这个文件就可以指定替代文本,例如: #: includes/locale.inc:327;346 modules/search.module:142;996 modules/system.module:1198 modules/user.module:1958类似的,我们可以改变这个条目: #: themes/engines/phptemplate/phptemplate.engine:250;273注意 "#:" 后面的文本是一些帮助性质的信息,对翻译结果没有任何影响。 此时你可以将编辑过的文件保存到某处 (你可能希望放在你定制的主题的本地副本边上?)。 现在转到 管理->本地化 并选择 "导入",选择你刚才保存的翻译文件,将它导入到你的定制语言中。瞧! Search 框的名字变成 "Find" 了,以及等等。 要进行更广泛的修改,你还可以打开 "forum-module.pot" 文件,将所有 "forum" 单词改为你自己喜欢的,例如: #: modules/forum.module:51;110;216更多关于使用 local 模块和生成替代文本的帮助和技巧可以参考 翻译人员指南。 满足你的好奇心 <?php这里 'Search' 是一个 t-ified 字串,它意味着你可以使用 locale 模块替换为任何字串。 ----------------------- |
用户登录导航水滴榜
新的论坛主题
新进会员
|
最新评论
43 分钟 43 秒 前
58 分钟 20 秒 前
59 分钟 36 秒 前
1 小时 30 分钟 前
2 小时 19 分钟 前
2 小时 22 分钟 前
2 小时 24 分钟 前
2 小时 47 分钟 前
2 小时 51 分钟 前
2 小时 53 分钟 前