[Doh! Forgot to send to the list as well - shouldn't try to use a computer when I have a cold] Barry A. Warsaw:
Trust me, I'm not. Then again, maybe it's just me, or my limited experience w/ i18n'd source code, but being forced to pass in the explicit bindings is a big burden in terms of maintainability and readability.
My main experience in internationalization has been in GUI apps where there is often a strong separation between the localizable static text and the variable text. In dialogs you often have: Static localized description: [Editable variable] In my editor SciTE, which currently has about 15 translations, of the 177 localizable strings, only 9 are messages that require insertion of variables and all of those require only one variable. Most of the strings are menu or dialog items. Maybe I'm just stingy with messages :-) On the largest sensibly internationalized project I have worked on (7 years old and with a maximum of 20 reasearch/design/develop/test staff when I left), I would estimate that less than 50 messages required variable substitution. The amount of effort that went into ensuring that the messages were accurate, meaningful and understandable outweighed by several orders of magnitude any typing or reading work. Neil