How would you handle translations to languages where the word order is different, such that you have to switch the parameters round? In such cases you might be able to simply translate the format string - you may also have to rearrange the parameters. IIRC, Windows DLL translation tables get around this by having format-string tables with numbered parameter substitution markers. David