Chris Blizzard posted about Mozilla translation management. While I haven't been involved directly in Catalan translations of Mozilla, I maintain a few Debian packages of Mozilla translations to Basque and Catalan, and know now painful it can get to translate a Mozilla product.
The biggest problem, to the eyes of a translator completely used to gettext, is that Mozilla uses its own native i18n/l10n system and that's a very immediate barrier, as Chris points out. I think it would be very beneficial if Mozilla created an "official" bridge from their native formats to the PO format, which was integrated in the Mozilla build setup. Mozilla could distribute the POT file of their releases (alpha, beta, rcX), which translators could pick up, translate using well-known tools, and submit back to bugzilla. The po files would be integrated in upstream CVS, and could be available for the final releases. This would probably mean enforcing a string freeze of some kind in the final stage of the release process, so translations for rc2 would still be complete in the final version, like GNOME does already.
Right now, the Translate project is on the lead providing a suite of scripts that convert from mozilla to po and viceversa, but the process is still annoying enough and error prone to scare non-technical translators away. If Mozilla could take this and integrate it in their trees so that translators just need to care about translating the messages, and not about creating XPI files and so, I'm sure the translating effort would improve a lot in the mozilla world. MozillaTranslator is just not good enough anymore.
There are other minor problems, like some Mozilla dialogs having an apparent fixed size. For example, the account creation helper in the Catalan version of Thunderbird just shows half of the "Cancel" and "Ok" buttons, probably because the Catalan text is one or two lines longer than the original, and the dialog doesn't resize to fit correctly or so; you get a scrollbar instead. In other cases, like the About dialog, you don't even get a scrollbar. In some cases, the translator can define the size of the dialog, but this is just another problem in the translation process. GTK apps, for example, do resize and wrap text as needed. I don't know much about XUL, so I'm probably saying nonsense here.