Pinniped is correct - there is no "one true way" to do internationalization under Linux (and, frankly, it can be even more confusing under Windows!). The "best" approach will depend on your choice of programming language and support libraries.
Should you choose to use GTK2, for example, you'll be using libpango. And the Good News is that the GTK2 tools make it pretty easy to do "internationalized text" without having to know too much either about "internationalization", or about libpango.
Other languages/other libraries will involve other alternatives.
The article Pinniped suggested is very good. Here are a few others: