Ticket #2301 (new enhancement)

Opened 13 months ago

Last modified 11 months ago

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.

Change History

Changed 13 months ago by seanh

  • description modified (diff)
  • summary changed from Fix substitutions in strings marked for translation to Replace old-style string formatting with format() method (at least in strings marked for translation)

Changed 13 months ago by seanh

  • description modified (diff)

Changed 13 months ago by seanh

  • milestone changed from ckan-sprint-2012-04-30 to current-ckan-sprint-2012-05-15

Changed 13 months ago by seanh

  • priority changed from awaiting triage to minor

Changed 13 months ago by seanh

  • milestone changed from current-ckan-sprint-2012-05-15 to ckan-v1.8

Changed 12 months ago by seanh

  • keywords i18n added

Changed 11 months ago by seanh

  • milestone changed from ckan-v1.8 to ckan-future
Note: See TracTickets for help on using tickets.