Project

General

Profile

Development translations » History » Version 3

johu, 09/03/2010 10:55 AM
import stuff from http://quassel-irc.org/node/113

1 2 johu
h1. Translations
2 1 johu
3 1 johu
{{toc}}
4 1 johu
5 3 johu
h2. General
6 3 johu
7 3 johu
After doing some more experimenting with translation workflows, our Master of Translation Daniel "al" Albers has agreed to support Transifex as an additional means to create and maintain translations for Quassel. Thus, people not having or wanting a Launchpad account can use the Transifex portal for contributing translations now!
8 3 johu
9 3 johu
Since we're not dependending on Ubuntu downstream for managing the translations at Transifex, we are a bit more flexible when it comes to working with contributors, and we can sync the codebase with it more easily and more often. Please do check the other system though before starting, in order to not needlessly duplicating work.
10 3 johu
11 3 johu
al will integrate translations from both systems into Quassel, so we're not abandoning Launchpad/Rosetta, just providing an alternative.
12 3 johu
13 3 johu
In short, you can now use the following two frontends for helping Quassel be international:
14 3 johu
15 3 johu
"Transifex - the open translation platform":https://translations.launchpad.net/quassel/
16 3 johu
"Launchpad/Rosetta - Ubuntu Translators":https://translations.launchpad.net/quassel/
17 3 johu
18 2 johu
h2. FAQ
19 1 johu
20 2 johu
*Q: Why do you intend to switch over to manage translations by third-party tools/teams?*
21 2 johu
A: While some languages are very well maintained, others have grown stale over time, as some contributors are busy or have found other interests. Also, while a dozen languages is quite impressive for an independent, rather small project like Quassel, there are many more languages in the world. Having experienced teams to handle that will certainly improve both the number and the quality of our translations.
22 1 johu
23 2 johu
*Q: I would like to continue helping you with translations!*
24 2 johu
A: I am sure the Rosetta language teams will be happy to accept contributions. It is a community site that also seems to make it quite easy for individual translators to add strings without going through the hassle of getting a git checkout, sending patches etc.
25 1 johu
26 2 johu
*Q: Why did you choose Ubuntu's Launchpad, and not, say, KDE's teams for translating Quassel?*
27 2 johu
A: First of all, we didn't "choose" this, it was offered to us and the import happened more or less automatically once we had proper gettext support going. Secondly, we do have quite good relations with Kubuntu downstream, and they helped us getting the localization stuff in shape in the past months. We also have synced our releases with Kubuntu releases for a while now, which certainly helps getting translations in time for final releases (due to a string freeze in place a few weeks before that). Lastly, getting Quassel to use KDE's infrastructure would've been a lot of effort. We're not hosted in their repositories and we don't use KDE's localization mechanisms (due to KDE support being optional). Supporting Rosetta, on the other hand, didn't require any upstream changes (so far) other than getting gettext working properly.
28 1 johu
29 2 johu
*Q: I used to translate Quassel, and now I feel alienated by your decision to switch to something else!*
30 2 johu
A: Don't! We are very thankful for all the hard work you've done before, and none of your work has been lost as it all has been imported. You can also continue to contribute via Rosetta, if you'd like!
31 1 johu
32 1 johu
h2. The Process
33 1 johu
34 1 johu
The process of keeping a translation up to date, is simply summed up as "git add / commit / format-patch".
35 1 johu
But you also need to follow what's written in the README.Translations file in the 'quassel/po' directory. Here's an excerpt from it:
36 1 johu
37 1 johu
bq. In order to create or update a translatable file, run the following command
38 1 johu
in the directory po/:
39 1 johu
40 1 johu
bq. ./update.sh xx
41 1 johu
42 1 johu
bq. where xx is the two-letter language code according to ISO 639 (which,
43 1 johu
if needed, may be suffixed by a country code according to ISO 3166).
44 1 johu
Quassel will automatically load these translation files based on the
45 1 johu
system locale. Examples for valid codes: de, en_US
46 1 johu
47 1 johu
bq. You can open translation files with poedit for example and add/edit translated strings.
48 1 johu
49 1 johu
bq. The *.po files can and should be kept in sync with the source code by running
50 1 johu
update.sh regularly (existing translations won't be removed).
51 1 johu
52 1 johu
bq. NOTE: Remember to remove X-Virgin-Header line if you want to preserve your header.
53 1 johu
54 1 johu
Note that the X-Virgin-Header line referred to above, is inside the .po-file for your language.