This won't match anything for i18n string lookup. 'Reason %s:' will end up as the key, but the gettext request will ask
for 'Reason 1:' and never find translations. 

Try something like:

Also, should probably use %d for the integer count, and pass it an int, so
it will localize correctly.
``` 
rows = [_('Reason %s:') % (count + 1) for count in range(len(reasons))]
```