= Development of calibre = [[PageOutline]] 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 [https://translations.edge.launchpad.net/calibre/trunk/+pots/calibre 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 [https://translations.edge.launchpad.net/calibre/trunk/+pots/calibre/+login Launchpad], then click on your language in [https://translations.edge.launchpad.net/calibre/trunk/+pots/calibre this page]. You can filter the results to show only untranslated strings, and contribute translations for them.[[BR]] It is more comfortable to [https://translations.launchpad.net/calibre/trunk/+export download] the PO files and edit the PO file you want to update. Click on the corresponding language [https://translations.edge.launchpad.net/calibre/trunk/+pots/calibre 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 [https://translations.edge.launchpad.net/calibre/trunk/+pots/calibre/+export 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 User Manual]. The User Manual is automatically generated from txt files in the [http://sphinx.pocoo.org/ Sphinx] documentation format. The source files are located at [http://bazaar.launchpad.net/~kovid/calibre/trunk/files/kovid%40kovidgoyal.net-20080503012900-ch7vk8ob2st34dqw?file_id=1179%40b0dd1a5d-880a-0410-ada5-a57097536bc1%3Alibprs500%252Ftrunk%3Asrc%252Flibprs500%252Fmanual 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 BeBook 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.