Enhancing Translations
Background
As of mid 2009, GPSBabel's GUI is written in the Qt toolkit. This makes multiple language support relatively easy to add for even non-developers. The process starts with the .ts files from our distribution (English is the best starting place) and you will create new .ts files for your language. Spanish is used in the example below.
Priorities
There is an intimidating number of strings to translate. Many of them are filled with tech terms or that reference programs or hardware not available in all countries. Many of them are obscure options or errors. Complete coverage, while desirable, isn't necessary. It's much more interesting to get the 5% of the strings that 95% of the users will see, such as those on the front menu of the GUI and the "OK" and "Cancel" buttons. The GUI messages in gpsbabelfe_XX are more strategic to translate than the "raw" gpsbabel_XX messages for now.Translation Process
- Join and announce to the gpsbabel-code mailing list that you're interested in working on a language. This will help reduce duplicate effort.
- Get the latest version of GPSBabel that includes the GUI from our download page.
- Install version 4.6 (or higher) of the Qt Linguist program from Trolltech. It's avaiable for Mac, Windows, and Linux.
- Run Qt Linguist. You will need to edit two files: gpsbabel_es.ts, and gpsbabelfe_es.ts, which contains the strings to be translated into Spanish. (If you're starting a new language from scratch, use gpsbabelfe.ts and gpsbabel.ts from our download and copy them to gpsbabelfe_XX.ts and gpsbabel_XX.ts where XX is your language code..) The starting files can be found here.
- The program is interactive, and you will figure out quickly what to do, though Trolltech has documentation for Qt Linguist. There are three states for strings --- (a) untranslated (b) partial/tentative translation (c) translated --- indicated by icons next to the strings. Eventually everything should be in state (c). If it does not need translation (like numbers), you can just put it in state (c) without supplying the Spanish.
- Save the gpsbabel_es.ts and gpsbabelfe_es.ts file, and mail them to the gpsbabel-code mailing list.
- If you want to test your translation, from Qt linguist, run "File | Release", which will generate gpsbabel_es.qm and gpsbabelfe_es.qm. Then you can copy these file into your GPSBabel installatin, run it, and see how your translations look.
- For some languages, some strings are already translated as we got them from the old version of the GUI. Please review them though.
We're still working out the process of distributing this task, so if you have questions, please ask on the gpsbabel-code list.
Status
As of June 5, 2010, there are 271 unique strings in the graphical user interface that are represented in the gpsbabelfe*.ts files. Here's the current overview of the translated strings by language:
Language |
Generated |
Finished |
Unfinished |
Ignored |
ru | 254 | 253 | 1 | 17 |
de | 255 | 252 | 3 | 16 |
es | 249 | 248 | 1 | 22 |
fr | 26 | 11 | 15 | 245 |
hu | 19 | 0 | 19 | 252 |
it | 22 | 6 | 16 | 249 |