I tried launchpad.net.
It seems really easy (at least from the user side) and it includes the possibility to suggest improvements to existing translations. If you want to use launchpad, it will be necessary to write a php function that gets the translation from the .po files (the gettext ones). I'm sure the function already exists, and in any case it is trivial to write it.
Anyhow I think that using gettext file format will open you to a plethora of great tools to simplify the work to translators, so it will be THE solution independently of the interface used to insert new translations.
The extjs translation is quite different, but I guess it is possible
- to generate a js at runtime, then to cache it OR
- to write a small script that collects the translations and builds a new lang.js every time a new release is published
maybe other solutions exists, however.
Please consider me if you need somebody to write/test the mentioned code!