Give the gift of Drupal. All merchandise is 50% off through 2016.
pointed out that we have a mixture of translated an untranslated exceptions in core. I agree they shouldn't be translated, but t() placeholders are handy. I vaguely remember we had a non-translating function which did basic placeholder replacement but can't remember what or where it is, having to do sprintf() every time feels like a pain, putting variables directly into the string encourages bad habits for XSS even if the individual cases are safe. Either way, opening an issue.