diff -r 983be4e9b98c django/views/i18n.py
--- a/django/views/i18n.py	Fri Mar 21 18:52:34 2008 -0300
+++ b/django/views/i18n.py	Sun Mar 23 16:59:21 2008 -0300
@@ -154,7 +154,16 @@ def javascript_catalog(request, domain='
         # 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("""
+function pluralidx(n) {
+  var v=%s;
+  if (typeof(v) == 'boolean') {
+    return v ? 1 : 0;
+  } else {
+    return v;
+  }
+}
+""" % plural)
     else:
         src.append(SimplePlural)
     csrc = []
