Supporting other translation formats
The standing policy is to add no significantly new file formats unless there is a very good reason. It may seem simple, but often there are subtle snags.
Qt's “ts” format
Requested in May 2012 by David Planella and Olivier Tilloy. We decided not to implement this, and continue with conversions to gettext, because of the way plural forms work in ts.
From Jeroen Vermeulen's email:
«In gettext, a message with a singular & plural gets two strings in the template. In ts, it gets just one string in the template and then you need to provide an English translation that does have a plural.
«Technically we can support formats with “English translations” rather than “English templates,” sort of, since we had to do that for XPI. But it's a massive pain in all sorts of ways, with special code paths and accepted breakage. And in its current form it won't combine with plural-forms handling; we'd have to do some nasty stuff to make that work in the data model.
«(Also, ts plurals support seems to use a custom “%n” specifier which gettext validation would misinterpret. To handle this gracefully we'd have to modify the string's database representation.)»