Community based, user oriented
The translations of the various documents focusing on Inkscape rely on the work of volunteers. Motivation for this work can range from the simple pleasure to contribute to take the opportunity of learning a lot about Inkscape and translation processes. It is very important not to forget that Inkscape is an open source, community based and user oriented software, which implies that software developpers/contributors are generaly users. It also implies that the translation efforts are also user oriented, with a strong focus on interface, user documentation and website.
- Contact to a local translation group, to get support and help on your language. Rather than working alone, you should work with an experienced translation team for your language. Thus you will benefit from their knowledge, as well as being able to communicate with them on your own mother tongue. Moreover, translation teams use to have style guidelines and a standarized vocabulary for technical terms that you should be aware of. There may be many communities working on translations for your own language, but a good start point is subscribing to your local GNOME translation team or KDE translation team.
- Subscribe to Inkscape translator mailing list. By subscribing on Inkscape's translator list you will be able to ask for help on some questions more related to Inkscape issues to other Inkscape translators, as well as the mantainers.
- Get files for your language. If you only want to translate the interface messages, you can get the files from Inkscape's svn repository web interface. Besides getting files from web interface, you can obtain the full repository; instructions on how to do this are found here. See section #Translatable_content for which files you have to modify to translate each part of Inkscape.
- Submit finished work to patch tracker. Finished translations must be sent to patch tracker and/or mailing list in order to be integrated into the trunk. You will need a Sourceforge.net account to commit patches to Inkscape's patch tracker. Before sending a file, remember to check that the file you are submitting doesn't have syntax errors that would break the building process.
- Send a mail on the translator mailing list. Your contribution will be reviewed/commited as soon as possible.
Best case for a good translation : translate from English to your mother tongue.
Test the behavior of the interface before starting translation
Inkscape's translation effort covers many areas, from aplication UI itself to web pages and tutorials. This is a summary of all those areas, ordered by priority.
PO files contain the strings for the Inkscape user interface (main software and extentions). That's why it is obviously the translation to start with.
See section #Interface_Translation for information on PO files.
Tutorials are documents of very high value for users.
High value for users, even if the installation process of Inkscape is quite simple, translating the Windows installer helps a lot potential users feeling good with Inkscape.
Translating release notes helps giving a lot of visibility to Inkscape
- give a general overview of the possibilities of the software to potential users
- can be used for local marketing (local Free Software/Linuw/Graphics oriented web sites, articles in fanzines, e-magazines and even magazines...)
English is generaly the exchange-tongue of developppers, and developper/user documentation is mainly written in English.
Translation efforts should be first oriented on user documentation.
See the main pages of Inkscape and of this wiki to get some exemple of the translations of websites.
Templates (translation and localization) Text files found in the inkscape directory ...
If you're interested in helping with providing interface translation for Inkscape, here are a few links to help you getting started:
http://www.gtkmm.org/gtkmm2/docs/tutorial/html/ch20s03.html http://developer.gnome.org/projects/gtp/l10n-guide/ http://developer.gnome.org/projects/gtp/style-guides/ http://developer.gnome.org/doc/tutorials/gnome-i18n/developer.html
Download the .po file for your language from here:
If a .po file for your language does not yet exist, then create one by copying the inkscape.pot file that gets generated when you run make in the codebase.
Edit the file to add or correct translations of the English strings, and then upload your work via the SourceForge patch tracker:
(Check the Upload checkbox and add your file or patch.)
Here's how to make an absolutely up-to-date translation (in case the PO file in SVN is not up-to-date enough):
1. update your local copy of Inkscape in the usual way: "svn update" 2. "./autogen.sh" 3. "./configure" 4. enter the "po" directory: "cd po" 5. generate the current PO template: "intltool-update --pot" 6. merge your existing translations into the new POT file (inkscape.pot): "msgmerge your_latest_PO_file inkscape.pot > new_PO_file"
Then you just need to complete the translations in the PO file that was created in step 6.
If you want to update ALL .po files in po/, cd there and run:
Tools for translators
- emacs' po-mode (contained in the gettext distribution; the version in po-utils is old)
- kbabel (http://i18n.kde.org/tools/kbabel/)
- gtranslator (http://gtranslator.sourceforge.net/)
- poEdit (http://poedit.sourceforge.net/)
A few important things to remember
- Some strings that can ambiguous or having several meanings according to different contexts may have a context prefix : "Context|Amibiguous string". In this case, simply translate "Ambiguous string", the "Context|" string is just a not to translate indication.
- After translating a fuzzy string (one that is marked with a ", fuzzy" comment), please remove its "fuzzy" tag -- otherwise this translation will be discarded by the build process, meaning that this string will show up untranslated. KBabel can do this automatically (see KBabel settings).
- Before publishing your work (after you have finished updating the PO file), please update the "PO-Revision-Date" and "Last-Translator" fields in the PO file header. KBabel can do this automatically.
This is the start of a list of places to get translation reviews done. So far:
Before submitting your file in the patch tracker, please make sure it is valid:
- Make sure it is a valid po file and obtain some statistics about it: simply run "msgfmt --statistics -cv translationFile.po" from a command window
- Make sure it is correctly formatted: run "check-markup translationFile.po" from a command window and verify it doesn't output any error message.
Before reporting that a locale doesn't work in Inkscape, you need to make sure that your system has that locale correctly set up. To do this, you need to generally find a way to run "locale-gen". (Under Debian/Ubuntu this is via "dpkg-reconfigure locales".) If you set both the LANG and LANGUAGE variables and check a regular tool, you should see the correct language for both the libc error (first line) and the tool error (second line):
LANG=es_MX LANGUAGE=es_MX ls -z ls: opción inválida -- z Pruebe `ls --help' para más información.
If it reports the regular C messages, your locale has not been correctly configured, and you'll need to find the right way to run "locale-gen" for your distribution:
LANG=es_ES LANGUAGE=es_MX ls -z ls: invalid option -- z Try `ls --help' for more information.
Please make sure you use dgettext for any pluralized strings.
Each tutorial is in its own subdirectory. You need the *.xml file, for example basic/tutorial-basic.xml. Get it and simply replace all English text in it with the text in your language, preserving all XML markup. See README at that location for some notes on markup.
- If there's already such a file in CVS, you can edit it instead :) If there's no xml file at the above location but there's a translation of this tutorial in SVG format (in share/tutorials in Inkscape distribution), you'll need to convert it to DocBook (and probably update). Conversion can be done simply by: select the text blocks of an SVG tutorial in Inkscape, Ctrl+C, and Ctrl+V in your text editor, then add the markup.
- Save your file as <original name>.<language suffix>.xml, for example basic/tutorial-basic.es.xml for Spanish.
- Do not use symbolic entities like á (they're not defined in XML without a DTD). Instead use either numeric entities such as á or simply write your text in UTF-8.
- Most illustrations don't need translations, so you leave the references to them from English XML intact. If however an illustration has some text that you want to translate, open the illustration file in Inkscape (e.g. basic/basic-f12.svg), edit it as needed, and save under a different name (e.g. basic/basic-f12-es.svg). Then change the filename reference in the XML source appropriately.
- When finished, run xmllint on your file to make sure it's well-formed.
- Send the file to Joshua Andler <scislac at users dot sf dot net>, and he'll convert it to SVG and HTML and upload it to SVN and the web site.
- If after that you want to make any changes, download the file from the above location again, because it may have changed compared to the one you have.
- xml2po in gnome-doc-utils (http://ftp.gnome.org/pub/gnome/sources/gnome-doc-utils/)
- OmegaT - http://www.omegat.org/omegat/omegat_en/omegat.html
- Transolution - http://transolution.python-hosting.com/
Keyboard and mouse translation
Wiki and web site
Status and contacts
Total number of PO files: 38 Total number of strings to translate: 2142
translated: 77 ( 3%)
fuzzy: 592 ( 27 %), untranslated: 1473 ( 68%)
Last translator: Ge'ez Frontier Foundation <email@example.com> Date of last update: 2003-02-01
translated: 63 ( 2%)
fuzzy: 853 ( 39 %), untranslated: 1226 ( 57%)
Last translator: Vasif İsmayıloğlu MD <firstname.lastname@example.org> Date of last update: 2001-12-04
translated: 158 ( 7%)
fuzzy: 945 ( 44 %), untranslated: 1039 ( 48%)
Last translator: Vital Khilko <email@example.com> Date of last update: 2003-07-20
translated: 2039 ( 95%)
fuzzy: 24 ( 1 %), untranslated: 79 ( 3%)
Last translator: Xavier Conde Rueda <firstname.lastname@example.org> Date of last update: 2006-05-08
translated: 2096 ( 97%)
fuzzy: 18 ( 0 %), untranslated: 28 ( 1%)
Last translator: Josef Vybíral <email@example.com> Date of last update: 2006-05-22
translated: 100 ( 4%)
fuzzy: 980 ( 45 %), untranslated: 1062 ( 49%)
Last translator: Keld Simonsen <firstname.lastname@example.org> Date of last update: 2002-01-15
translated: 2116 ( 98%)
fuzzy: 6 ( 0 %), untranslated: 20 ( 0%)
Last translator: Colin Marquardt <email@example.com> Date of last update: 2006-05-23
translated: 44 ( 2%)
fuzzy: 998 ( 46 %), untranslated: 1100 ( 51%)
Last translator: Simos Xenitellis <firstname.lastname@example.org> Date of last update: 2001-12-28
translated: 2125 ( 99%)
fuzzy: 6 ( 0 %), untranslated: 11 ( 0%)
Last translator: Lucas Vieites Fariña<email@example.com> Date of last update: 2006-05-25
translated: 337 ( 15%)
fuzzy: 930 ( 43 %), untranslated: 875 ( 40%)
Last translator: Daniel Díaz <firstname.lastname@example.org> Date of last update: 2004-04-05
translated: 9 ( 0%)
fuzzy: 778 ( 36 %), untranslated: 1355 ( 63%)
Last translator: Lauris Kaplinski <email@example.com> Date of last update: 2000-04-08
translated: 1548 ( 72%)
fuzzy: 340 ( 15 %), untranslated: 254 ( 11%)
Last translator: Iñaki Larrañaga <firstname.lastname@example.org> Date of last update: 2006-03-16
translated: 2126 ( 99%)
fuzzy: 6 ( 0 %), untranslated: 10 ( 0%)
Last translator: matiphas <email@example.com> Date of last update: 2006-05-27
translated: 14 ( 0%)
fuzzy: 719 ( 33 %), untranslated: 1409 ( 65%)
Last translator: Alastair McKinstry <firstname.lastname@example.org> Date of last update: 2000-08-24
translated: 82 ( 3%)
fuzzy: 963 ( 44 %), untranslated: 1097 ( 51%)
Last translator: Francisco Xosé Vázquez Grandal <email@example.com> Date of last update: 2001-11-10
translated: 1564 ( 73%)
fuzzy: 327 ( 15 %), untranslated: 251 ( 11%)
Last translator: Arpad Biro <firstname.lastname@example.org> Date of last update: 2006-05-29
translated: 2008 ( 93%)
fuzzy: 65 ( 3 %), untranslated: 69 ( 3%)
Last translator: Luca Bruno <email@example.com> Date of last update: 2006-05-15
translated: 1294 ( 60%)
fuzzy: 423 ( 19 %), untranslated: 425 ( 19%)
Last translator: shivaken <firstname.lastname@example.org> Date of last update: 2005-11-16
translated: 180 ( 8%)
fuzzy: 18 ( 0 %), untranslated: 1944 ( 90%)
Last translator: Kitae <email@example.com> Date of last update: 2006-04-10
translated: 1774 ( 82%)
fuzzy: 30 ( 1 %), untranslated: 338 ( 15%)
Last translator: Andrius R. <firstname.lastname@example.org> Date of last update: 2006-05-02
translated: 0 ( 0%)
fuzzy: 606 ( 28 %), untranslated: 1536 ( 71%)
Last translator: Date of last update: 2003-06-15
Norwegian/bokmål dialect: nb.po
translated: 144 ( 6%)
fuzzy: 916 ( 42 %), untranslated: 1082 ( 50%)
Last translator: Kjartan Maraas <email@example.com> Date of last update: 2003-01-25
translated: 1484 ( 69%)
fuzzy: 387 ( 18 %), untranslated: 271 ( 12%)
Last translator: Jeroen van der Vegt <ajvdvegt (at) 123mail.org> Date of last update: 2005-11-07
translated: 1376 ( 64%)
fuzzy: 410 ( 19 %), untranslated: 356 ( 16%)
Last translator: Karl Ove Hufthammer <firstname.lastname@example.org> Date of last update: 2005-07-14
translated: 912 ( 42%)
fuzzy: 349 ( 16 %), untranslated: 881 ( 41%)
Last translator: Amanpreet Singh Brar <email@example.com> Date of last update: 2005-09-11
translated: 1503 ( 70%)
fuzzy: 374 ( 17 %), untranslated: 265 ( 12%)
Last translator: Przemysław Loesch <firstname.lastname@example.org> Date of last update: 2005-10-29
translated: 183 ( 8%)
fuzzy: 1004 ( 46 %), untranslated: 955 ( 44%)
Last translator: Duarte Loreto <email@example.com> Date of last update: 2003-07-28
translated: 1546 ( 72%)
fuzzy: 349 ( 16 %), untranslated: 247 ( 11%)
Last translator: Antônio Cláudio (LedStyle) <firstname.lastname@example.org> Date of last update: 2006-04-27
translated: 1542 ( 71%)
fuzzy: 339 ( 15 %), untranslated: 261 ( 12%)
Last translator: Alexandre Prokoudine <email@example.com> Date of last update: 2005-11-08
translated: 845 ( 39%)
fuzzy: 659 ( 30 %), untranslated: 638 ( 29%)
Last translator: Zdenko Podobný <firstname.lastname@example.org> Date of last update: 2005-02-13
translated: 2055 ( 95%)
fuzzy: 27 ( 1 %), untranslated: 60 ( 2%)
Last translator: Martin Srebotnjak <email@example.com> Date of last update: 2006-05-12
translated: 1359 ( 63%)
fuzzy: 414 ( 19 %), untranslated: 369 ( 17%)
Last translator: ÐÐ»ÐµÐºÑÐ°Ð½Ð´Ð°Ñ€ Ð£Ñ€Ð¾ÑˆÐµÐ²Ð¸Ñ› <firstname.lastname@example.org> Date of last update: 2005-07-08
translated: 1359 ( 63%)
fuzzy: 414 ( 19 %), untranslated: 369 ( 17%)
Last translator: Aleksandar Urošević <email@example.com> Date of last update: 2005-07-08
translated: 410 ( 19%)
fuzzy: 848 ( 39 %), untranslated: 884 ( 41%)
Last translator: Mattias Hultgren <firstname.lastname@example.org> Date of last update: 2005-10-08
translated: 907 ( 42%)
fuzzy: 567 ( 26 %), untranslated: 668 ( 31%)
Last translator: Serdar Soytetir <email@example.com> Date of last update: 2005-11-26
translated: 1518 ( 70%)
fuzzy: 371 ( 17 %), untranslated: 253 ( 11%)
Last translator: Maxim V. Dziumanenko <firstname.lastname@example.org> Date of last update: 2005-10-21
translated: 2134 ( 99%)
fuzzy: 3 ( 0 %), untranslated: 5 ( 0%)
Last translator: Chris Jia <Chrisjiasl@gmail.com> Date of last update: 2006-05-28
translated: 1550 ( 72 %)
fuzzy: 340 ( 15 %), untranslated: 252 ( 11%)
Last translator: Wei-Lun Chao <email@example.com> Date of last update: 2006-03-24