Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed #6864 -- Handle Javascript i18n when the plural form expression…

… returns

True or False (so both booleans and integers are allowed). Thanks, Ramiro Morales.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@7356 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit eb6a6c46199bb8c9b5931d1ed7103677f78b2dbd 1 parent 622a644
@malcolmt malcolmt authored
Showing with 12 additions and 1 deletion.
  1. +12 −1 django/views/i18n.py
View
13 django/views/i18n.py
@@ -82,6 +82,17 @@ def set_language(request):
}
"""
+PluralIdx = r"""
+function pluralidx(n) {
+ var v=%s;
+ if (typeof(v) == 'boolean') {
+ return v ? 1 : 0;
+ } else {
+ return v;
+ }
+}
+"""
+
def null_javascript_catalog(request, domain=None, packages=None):
"""
Returns "identity" versions of the JavaScript i18n functions -- i.e.,
@@ -154,7 +165,7 @@ def javascript_catalog(request, domain='djangojs', packages=None):
# this should actually be a compiled function of a typical plural-form:
# Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;
plural = [el.strip() for el in plural.split(';') if el.strip().startswith('plural=')][0].split('=',1)[1]
- src.append('function pluralidx(n) {\n return %s;\n}\n' % plural)
+ src.append(PluralIdx % plural)
else:
src.append(SimplePlural)
csrc = []
Please sign in to comment.
Something went wrong with that request. Please try again.