there was an error!

Help with i18n

How do I get started using Gettext?

For C/C++ developers here is a short and simple tutorial, that has everything you need to get started, in fact it's almost everything you'll ever need to know about Gettext. By all means send me an email if there is still something you don't understand.

If your code is PHP then perhaps this or this tutorial will be easier to follow.

Python programmers will probably find this or this website great for getting started with internationalization (thanks to Steve Ferg for pointing them out).

How does the OSTD work?

Relatively simply. We take the translations from all the existing open source software that we can find and store them in a database. Then when you upload your POT file we match the english strings from your file with the same english strings in other projects' PO files.

Is it accurate?

It's pretty accurate, especially if you look at what the source software is when you review your generated translation.

Of course it can never be as good as a human, but it's a great start. And it's better to have a bad translation than no translation - it will serve as encouragement for users in those languages to help you translate your software properly and completely.

It doesn't work!

It's supposed to! Please send me an email and let me know if you find a bug - I would appreciate it.

Why can't it translate all the strings from my software?

Because it can only translate strings that have been used in other software. If you have a string that's only used in your software - the OSTD can't help you with those.

You should consider using strings that are more common. Not only because you get free translations from here - but also for consistency, the users will find your software easier to use if the buttons and menu options have familiar text!

Why are plural forms not supported?

I have years of experience maintaining an application where I did use plural forms in some strings. The problem is plural forms are evil! :) Even though I dutifully went through the gettext manual and learned about how to implement plural forms in the software - I lost count of how many translators did not understand how it's supposed to work and either didn't translate those strings at all or translated them wrong, not using the plural system correctly.

The OSTD services will try and work with po/pot files that have plural strings without failing completely, but it's unlikely that I'm going to implement plural form support as a working feature. Sorry if this is inconvenient.