參與 calibre
calibre 成功的秘訣在於其充滿活力的使用者社群。使用者貢獻了程式碼,將 calibre 翻譯成不同的語言,改善了它的外觀和感覺,當然還有數以千計的錯誤報告,促使其成為強大的軟體。 此處提供了對 calibre 有貢獻的不完整列表。
加入 calibre 社群
如果要跟 calibre 的使用者同類交談以及持續吸收著世界上最新關於 calibre 世界的最新開發資訊,你可以使用下列幾個工具:- calibre 使用者論壇
- calibre Facebook 專頁
- calibre 新版本釋出 RSS 推送
建立 calibre 外掛
calibre 有一个全面的插件界面,可以创建几乎可以做任何事情的插件。有关更多示例,请参阅calibre Plugins 论坛。论坛上有很多有用的关于插件开发的入门教程。
替 calibre 的翻譯出一份力
calibre 支持翻译其用户界面。您可以在此处查看已存在的翻译语言列表。如果该列表中某项语言翻译不完整/缺失,可以简单的使用 Web 界面贡献翻译。要做到这一点,首先要在 Transifex中创建一个账户,然后在此页面中单击需要语言。点击 “加入团队”按钮。一旦获得批准,只需在此处单击您想要翻译的语言,然后使用“立即翻译”按钮进行翻译。
或者,也可以使用“下载以进行翻译”链接而不是“立即翻译”按钮来下载PO 文件以进行脱机翻译。可以根据自己的喜好使用翻译软件,PO 文件编辑完成后,单击 “上传文件”链接(位于“下载以进行翻译”链接的正下方)上传该文件。
翻譯 FAQ
- 如何处理 & 符号?
& 符号表示键盘快捷键。例如,字符串“&Title”表示这个 GUI 元素可用键盘快捷键 “Alt+T” 访问到(仅适用于 Windows/Linux)。因此翻译中应尽可能的保留字母前面的 & 符号,或者改用其它合适的字母。 - 如何处理“%A_WORD”字符?
对于 % 字符及其右侧的单词(百分号和单词之间没有空格)表示将由代码替换的单词。因此,当遇到此符号及其旁边的单词(例如:%default)时,不要更改,在翻译的句子中保持原样。同样,对于 %s 或 %d 之类的序列,请保留其原样。最后,像%(SOME_WORD)s 这样的序列也应该保持不变。 - 如何处理带有
{word}
构造的句子?
这些是占位符,不得翻译。代码将用实际内容替换它们。 - 如何处理像dd MMM yyy这样的日期字符串?
这些字符串必须保留为未翻译。 - 翻译用户手册时如何处理特殊标记?
用户手册采用 reStructuredText编写。 您将看到许多类似:guilabel:`Some text`
的结构。其中:guilabel:``
这部分是标记语言,类似 HTML 标签,应该只翻译反引号内的文本。此外,必须特别注意以下形式的链接::ref:`some text`
这里的任何东西都不能翻译。:ref:`Some text <link-location>`
这里只有“Some text”必须翻译``Some text``
这是段字面文本,双反引号内的东西不应该翻译,而是完全保留。:doc:`generated/en/something`
应该换成 :doc:`generated/目标语言代码/something`。例如,在德语中,将:doc:`generated/en/cli-index`
修改为:doc:`generated/de/cli-index`
- 如何测试我的翻译?
首先,需要从此处下载适用于您的语言的.po文件。可以通过将环境变量 CALIBRE_TEST_TRANSING 设置为下载的.po文件的路径来测试.po文件。然后像往常一样运行calibre。目前,无法测试用户手册的翻译。
成為 calibre 的開發者
取得原始碼:
git clone https://github.com/kovidgoyal/calibre.git
或者,如果您不想等待下载完整的历史版本代码,可以只获得源代码:
curl -L http://code.calibre-ebook.com/dist/src | tar xvJ
有关使用源代码签出运行 calibre 的说明,以及有关 calibre 代码的组织方式的一些信息,请参见用户手册
如果你有一個很酷的想法和實現它的修補程式,請立刻讓我們知道,它很可能就會在下週的版本中發布。一個詢問 calibre 開發技巧的好地方是 calibre 開發論壇,很多 calibre 開發者都在這裡閒晃。