Opened 17 years ago
Closed 17 years ago
#6355 closed (duplicate)
Interpolate function of i18n for javascript is incorrectly documented
Reported by: | Maciej Wiśniowski | Owned by: | nobody |
---|---|---|---|
Component: | Documentation | Version: | dev |
Severity: | Keywords: | interpolate i18n javascript | |
Cc: | pigletto@… | Triage Stage: | Accepted |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Docs at: http://www.djangoproject.com/documentation/i18n/ gives following example:
d = { count: 10 }; s = interpolate(ungettext('this is %(count)s object', 'this are %(count)s objects', d.count), d);
but, according to interpolate definition:
function interpolate(fmt, obj, named) { if (named) { return fmt.replace(/%\(\w+\)s/g, function(match){return String(obj[match.slice(2,-2)])}); } else { return fmt.replace(/%s/g, function(match){return String(obj.shift())}); } }
there should be third parameter (named) in call to interpolate. Otherwise it always tries to do positional substitution Like:
d = { count: 10 }; s = interpolate(ungettext('this is %(count)s object', 'this are %(count)s objects', d.count), d, true);
Change History (2)
comment:1 by , 17 years ago
Triage Stage: | Unreviewed → Accepted |
---|
comment:2 by , 17 years ago
Resolution: | → duplicate |
---|---|
Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
I'm marking this as a dupe of #6859 that is newer but it also fixes other problems in the same area of the documentation and has a patch.