======Translating Photivo====== Photivo uses [[http://en.wikipedia.org/wiki/Qt_(framework)|Qt’s]] built-in translation capabilities. That makes it easy and convenient to translate but needs a bit of setting up at first. In this article we walk you through all the installation steps. If you run into problems or have any questions, [[:feedback|contact Brother John]]. It’s probably a good idea to get in touch anyway to avoid multiple people doing the same language in parallel. =====Setup the Translation Environment===== From Qt you need **Qt Linguist** to do the actual translation and the **lupdate** tool to create and update the translation file for your language. Also you need the **Mercurial** version control software to get the Photivo source code. ====Windows==== * First create a folder where you want all the translation tools and Photivo itself to be located. We’ll assume ''C:\ptTranslate'' in this article but you can use any folder you like. * Qt Linguist and lupdate are included in the Qt SDK that you can get from the [[http://qt.nokia.com/downloads/downloads#lgpl|official Qt download site]]. However, that is a huge download (over 300 MB) and most of it is unnecessary. That’s why we provide a stripped down version (from the Qt 4.7.0 SDK installer) with only the necessary stuff: [[http://code.google.com/p/photivo/downloads/detail?name=translator-tools-win32.zip&can=2&q=|grab it from Google Code]] and unpack it to your ''C:\ptTranslate'' folder. * Mercurial: Get the Windows commandline setup (MSI version recommended) from the [[http://mercurial.selenic.com/downloads/|Mercurial download site]] and install it. If you already have Mercurial or a graphical tool like [[http://tortoisehg.bitbucket.org/|ToroiseHg]] installed, that will work as well. * Open a console window (also known as //command prompt// or //DOS window//) in your ''C:\ptTranslate'' folder. ====Linux==== (Probably works the same or very similar for **Mac**.) * Create a directory for all the translation stuff. We’ll assume ''~/ptTranslate'' for this article * Install Qt Linguist and lupdate via your package manager. If you cannot find them individually, look for the Qt 4 SDK. * Also install Mercurial, if you do not already have it. A graphical tool like [[http://tortoisehg.bitbucket.org/|ToroiseHg]] will work as well. * Open a terminal window in your ''~/ptTranslate'' directory. =====Prepare the new translation===== Now you are ready to get your translation started. First you get a copy of Photivo’s source code, then you tell Photivo about the new language and generate the translation file. * From the opened console window first get a clone of the Photivo source code repository. Execute these lines (works for both Windows and Linux): \\ hg clone https://photivo.googlecode.com/hg/ photivo cd photivo hg update defaultLeave the window open. * Open the file ''photivoProject.pro'' in the ''photivoProject'' subfolder with a text editor and at the very end of the file add a new translation line for your language (just below the other translation lines). \\ TRANSLATIONS += ../Translations/photivo_LANGNAME.tsReplace the //LANGNAME// with the English name of your language, e.g. “German” or “Italian”. Photivo uses the //LANGNAME// part of the file name to display the available translations on the **Settings** tab. * In the console window run ''lupdate'': \\ **Windows**: "C:\ptTranslate\lupdate.exe" photivo.pro**Linux**: lupdate photivo.pro * There should now be a new ''photivo_//LANGNAME//.ts'' file in Photivo’s ''Translations'' subfolder. Especially on Windows ''lupdate'' will produce some errors or warnings. As long as the ''.ts'' file is created you don’t need to worry about them. =====Translating===== * Open your ''photivo_//LANGNAME//.ts'' with Qt Linguist and start translating. * When you open the translation file for the first time Qt Linguist displays the language selection dialog. Adjust the **Destination language** as needed but keep the **Source language** unchanged, even if it looks weird. * The Qt documentation includes a [[http://doc.qt.nokia.com/linguist-translators.html|tutorial for Qt Linguist]]. =====Test and Release===== You can test your translation with your normal Photivo installation. * Compile the translation file (''File › Release'' in Qt Linguist). That produces ''photivo_//LANGNAME//.qm'' in the same folder as your ''photivo_//LANGNAME//.ts''. * Copy the ''.qm'' file to * **Linux**: ''~/.photivo/translations'' * **Win Vista/7**: ''C:\Users\//username//\AppData\Roaming\Photivo\Translations'' (the path might appear translated into your Windows’s language in Explorer) * **Win XP**: ''C:\Documents and Settings\//username//\Application Data\Photivo\Translations'' (the path is translated into your Windows’s language). * Start Photivo, go to the **Settings** tab and choose your language from the **Translation** combobox. To get your translation officially into Photivo we only need the completed ''.ts'' file – but if you can provide a final ''.qm'' as well, we won’t complain. :-) The translation needs to be licensed under the [[http://www.gnu.org/licenses/gpl.html|GNU GPL version 3]] like the rest of Photivo. Also tell us how you’d like to be credited. Full name? Nickname only? E-mail address? The person to get in touch with is again [[:feedback|Brother John]]. =====Update the translation===== Of course with time text in Photivo’s GUI will change and new text will appear. That’s no immediate problem, because if Photivo cannot find a translation for a certain item it will just use the default English text. Updating the translation is easy: * Like above open a console window in your Photivo source code folder (where ''photivo.pro'' is located). * Update to the latest source code revision: \\ hg pull hg update default * Run ''lupdate'' to add the new strings to your ''photivo_//LANGNAME//.ts'': \\ **Windows**: "C:\ptTranslate\lupdate.exe" photivo.pro**Linux**: lupdate photivo.pro * In Qt Linguist the new strings are marked as //unfinished// so you can find them easily.