Just finished checking in i18n support for both Contacts and Dates, thanks to the work of Priit Laes. Things like this remind me why open-source development is so much more rewarding, thanks a lot Priit :)
Now, does anyone feel like translating? ;)
Megadeth - Duke Nukem theme
Anonymous Coward says:
Shouldn't there be a .pot at http://svn.o-hand.com/repos/contacts/trunk/po/ to base your new translation on?
Chris Lord says:
I'm afraid I have absolutely no idea how these things work :) If you want to write some sort of stub that I can expand upon though, I'll add one.
Anonymous Coward says:
I'm not good at this eighter but AFAIK this is how the i18n system is supposed to work:
1. messages in the source code are marked (usually printf("foo"); is turned into printf(_("foo")); ...).
2. magic i18n code are integrated into the project (I have no idea how this works, this seems to be done in your project already).
3. A PO template (pot) is generated containing the marked strings ("msgid") from the source code .
4. people copy the foo.pot into xx_XX.po and translate the message (a "msgstr" is added to match every "msgid").
5. developer changes sourcecode and adds/modifies/deletes messages.
6. developer regenerates the PO template (pot).
7. translator updates their .po (based on the .pot), tool tries to automatically fix up stuff (and thats why you often see "FUZZY" as a comment in .po files... the tool wasn't sure the automatic handling was correct), and translator manually fixes up fuzzy, incomplete or missing parts of the translation.
8. goto 5.
After a bit of googling I'm pretty sure the name of the tool is "intltool" (intltool-update)...
I found some useful documentation about i18n:
http://developer.gnome.org/doc/tutorials/gnome-i18n/developer.html
http://live.gnome.org/GnomeI18nDeveloperTips
http://www.linuxmanpages.com/man8/intltool-update.8.php
As I'm not too good at this myself I guess I'll leave it upto someone else who actually knows if this is the correct way to go about it to generate POT ....
Staz says:
#3
You're mostly right, it's just that you don't put the .pot file in the svn since it's a generated file.
If you'r want to help translating the current way is
1/ get last subversion
svn co http://svn.o-hand.com/repos/contacts/trunk/
2/ Compile the project
cd contacts
./autogen.sh
make
sudo make install
2/ then generate the po file
cd po
intltool-update -pot
mv pot <yourlanguage>.po
3/ Happily translate
gvim <yourlanguage>.po (no troll intended)
Then when there is new strings to translate you can just update your svn copy and your po file:
svn up
intltool-update <your language> (without the .po)
Any comments?