summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2017-05-20 13:28:20 +0200
committerClaude Paroz <claude@2xlibre.net>2017-05-25 22:47:21 +0200
commit2cbb095bec757b804e8b6d9d0930ef3c6446a591 (patch)
tree281135225f41570ad4611d5c73242ddefedb6122 /django
parented9bc4e576d57863c10d839ee43fb2febf04fb84 (diff)
Fixed #28221 -- Fixed plural fallback translations in JavaScriptCatalog view
Thanks Waldemar Kornewald for the report and initial patch.
Diffstat (limited to 'django')
-rw-r--r--django/views/i18n.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/django/views/i18n.py b/django/views/i18n.py
index 0b510019d5..71f8cd575e 100644
--- a/django/views/i18n.py
+++ b/django/views/i18n.py
@@ -273,8 +273,9 @@ class JavaScriptCatalog(View):
catalog = {}
trans_cat = self.translation._catalog
trans_fallback_cat = self.translation._fallback._catalog if self.translation._fallback else {}
+ seen_keys = set()
for key, value in itertools.chain(iter(trans_cat.items()), iter(trans_fallback_cat.items())):
- if key == '' or key in catalog:
+ if key == '' or key in seen_keys:
continue
if isinstance(key, str):
catalog[key] = value
@@ -283,6 +284,7 @@ class JavaScriptCatalog(View):
pdict.setdefault(msgid, {})[cnt] = value
else:
raise TypeError(key)
+ seen_keys.add(key)
for k, v in pdict.items():
catalog[k] = [v.get(i, '') for i in range(num_plurals)]
return catalog