As seen with the OOPS-260B1440, Rosetta gives an error because upstart is mixing '\r' and '\r\n' characters in the same string. We assumed that it wouldn't be possible, but after checking it with upstream maintainer (Scott) he confirmed that in this concrete case, it's actually needed so we should remove the blocking code that prevents it. I guess that instead of just removing the code, we could add more clever checks that allow it only if the msgid is also mixing them so we still prevent our users to mess the translations mixing them.
As a side note, I still think that the right solution is to 'fix' upstart to remove those special tags that shouldn't be changed by translators and add them after getting translations. This suggestion doesn't mean that we shouldn't fix Rosetta, we should still allow to handle that case, even if the msgid is not a good one.
More recent oops:
OOPS-520D932
BrokenTextError
msgid (u'This will be your ubuntu username. $\\r$\\n It must be lower case. $\\r$\\n It must not contain spaces.') mixes different newline markers
Even if the rule is removed/relaxed, there is still no visible indication that a '\r' is needed in the translation.
Only people using my greasemonkey script to copy the original string will benefit.
Something visible is needed for a '\r' that needs to be in the translation.
As another side note, Rosetta currently does not use the special space symbol when multiple spaces occur in the middle of a line.
Some programs do this to vertically align "--help" text.
Only grasemonkey script users are able to translate these correctly.