It's my first post here. I'm preparing bitcoin Polish translations right now and I want to share some experience I got while working on other projects.
1. When using gettext, you can mark some strings as plural in source code. Please take a look at http://www.gnu.org/software/hello/manual/gettext/Plural-forms.html
. For example in Polish language there are more than one plural form, so using this is really helpful.
2. Usually gettext use _ instead of & as acceleration mark.
3. Please set different strings in different UI elements. There are some rules which tells to translate strings in specific form depending on UI element it use it. For example: different string for button "Send Coins" and different string for window title bar "Send Coins" (for example: Sending Coins).
4. While creating base translation use more uniform expressions - if you use "Sending payment" don't use "Sending coins".
5. Usually translation files are placed in source code in "po" directory. In the same dir there is also empty template translation file with .pot extension.
6. Why don't you create and configure translation project on http://www.transifex.net/
? It offers web interface for creating and sending gettext translations. It would be simpler for everyone.