Development of calibre
Instructions for setting up a development environment are available at: ?http://calibre.kovidgoyal.net/user_manual/develop.html
Translations
calibre has support for translating its user interface. You can see the list of languages for which translations exist ?here. If the translations for your language are incomplete, you can contribute the translations using a simple web-based interface. To do so first register/Log in at ?Launchpad, then click on your language in ?this page. You can filter the results to show only untranslated strings, and contribute translations for them.
It is more comfortable to ?download the PO files and edit the PO file you want to update. Click on the corresponding language ?here and upload the PO file as "User upload". You have to be logged in to upload files.
If you want to add support for a new language, add a comment to #283 and I'll add it to Launchpad.
Translations FAQ
- What to do with the & symbols?
- The & symbols denote a keyboard shortcut. So for example the string "&Title" means that the corresponding GUI element can be accessed with the keyboard shortcut "Alt+t" (this only works on windows/linux). SO in your translation leave the & symbol before the same letter if possible, or some other suitable letter.
- What to do with the "%A_Word" characters?
- The % character and a word to the right of it (no space between the percentage sign and the word), denotes a word that will be replaced by the code. So when encountering this symbol and a word right next to it (example: %default) then don't change it. Keep it in the translated sentence.
- How do I test my translations?
- First you need to download a .po file for your language from ?here. You can test your .po file by running calibre from the command line from the directory in which the .po file resides. This is only tested in Linux. On windows also it should work. On OSX, since you can't launch the GUI from the commandline, try putting the .po file in your home directory.
Documentation
The documentation for calibre is in the form of a User Manual. The User Manual is automatically generated from txt files in the ?Sphinx documentation format. The source files are located at ?manual. You can add to the documentation and submit patches for inclusion.
Videos
Instructions for making demo video on linux, using the utility recordmydesktop. Recording is done with the command
recordmydesktop -windowid $(xwininfo | awk '/Window id:/ {print $4}') -device hw:1,0 -delay 2 --overwrite -o out.ogv --full-shots
Click on the window to record and recording will start in 2 secs. hw:1,0 is the sound recording alsa device (obtained using arecord -l). The video file out.ogv is in theora format. It can be converted to MPEG4 and FLV as shown below. For avi:
mencoder out.ogv -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac faac -o out.avi mencoder out.ogv -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac faac -o out.avi
For Flash video
mencoder out.ogv -o out.flv -of lavf -ovc lavc -oac mp3lame -lavcopts vcodec=flv:vbitrate=250:autoaspect:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:precmp=2:cmp=2:subcmp=2:preme=2:turbo -srate 22050 -af lavcresample=22050
You can add -vf scale=320:240 for standard flash video resolution.
Contributors
calibre is an open source app that uses a large number of other open source apps and is developed on Linux, an open source platform, as such, it has benefited from a the work of large numbers of people, some of whom are listed below. I've tried to be as exhaustive as possible, but, if I have forgotten your contribution, please let me know.
Contributors of code/bug fixes
In no particular order:
- llasram: For epub2lrf, lit2oeb, oeb2mobi and various improvements in the html2lrf code
- Roger Critchlow: For the initial implementation of lrs2lrf
- John Schember: For the new calibre device driver framework, various GUI enhancements and several input and output format plugins
- Anatoly Shipitsin: For fb2lrf and fb2-meta
- Ori Avtalion for various bug fixes
- Tijmen Ruizendaal for the Be Book driver
- Gregory Riker: For MOBI indexing
- Igor Skochinsky (for various bits of reverse engineering without which calibre would never have gotten off the ground)
Graphics
- diaboNL for the reader icon
- Caleb Avery for the logo
- The Oxygen project for various icons
Recipe writers
Too many people have contributed recipes to list here, but their contributions are a big part of calibre.
Other projects whose code/libraries calibre uses/links against
- Python
- Qt
- PyQt
- rtf2xml
- pdftohtml
- pdftoxml
- feedparser
- pylrs
- BeautifulSoup
- py2exe
- py2app
- mechanize
- pictureflow
- lxml
- Hyphenator
- sqlite
- chardet
- pypdf
- imagemagick
- Python Imaging Library
- Sphinx
- NSIS
Translators
The list of translators is available at ?https://translations.edge.launchpad.net/+groups/calibre
Last, but not least I'd like to thank the folks at ?http://mobileread.com for creating a wonderful community for us e-book afficionados to gather round.
Attachments
-
Calibre-devel-F10-XFCE.ovf.zip
(1.3 KB) - added by myle04
6 months ago.
Image for calibre's VMware development environment
