Ticket #2301 (new enhancement) — at Version 2
Replace old-style string formatting with format() method (at least in strings marked for translation)
Reported by: | seanh | Owned by: | seanh |
---|---|---|---|
Priority: | minor | Milestone: | ckan-future |
Component: | ckan | Keywords: | i18n |
Cc: | Repository: | ckan | |
Theme: | none |
Description (last modified by seanh) (diff)
Some strings in CKAN are passed to gettext with more than one %s in them, this is no good as translators may need to change the order of substituted words.
Strings should not use the old style % substitution, they should use the new format method in Python 2.6+, e.g.:
'This {food} is {adjective}.'.format(food='spam', adjective='absolutely horrible')
http://docs.python.org/release/2.6.8/tutorial/inputoutput.html#fancier-output-formatting
We should probably only change strings that are marked for translation and that contain multiple %s, don't want to make too much work or cause too many strings to change and need to be re-translated.