Looking for best practice advice on what string substitution technique to use when using gettext(). Or do all techniques apply equally?
I can think of at least 3 string techniques: 1. Classic "%" based formatting: "My name is %(name)s" % locals() 2. .format() based formatting: "My name is {name}".format( locals() ) 3. string.Template.safe_substitute() import string template = string.Template( "My name is ${name}" ) template.safe_substitute( locals() ) The advantage of the string.Template technique is that a translated string with with an incorrectly spelled variable reference can still yield a usable string value while the other techniques unconditionally raise an exception. The downside of the string.Template technique appears to be the inability for one to customize how a variable is formatted (padding, justification, width, etc). Malcolm
-- http://mail.python.org/mailman/listinfo/python-list