diff --git a/mkt/prices/models.py b/mkt/prices/models.py index 2cdacbe4ad2..1df21dab635 100644 --- a/mkt/prices/models.py +++ b/mkt/prices/models.py @@ -42,6 +42,15 @@ def price_locale(price, currency): lang = translation.get_language() locale = get_locale_from_lang(lang) pricestr = numbers.format_currency(price, currency, locale=locale) + if currency == 'EUR': + # See bug 865358. EU style guide + # (http://publications.europa.eu/code/en/en-370303.htm#position) + # disagrees with Unicode CLDR on placement of Euro symbol. + bare = pricestr.strip(u'\xa0\u20ac') + if lang.startswith(('en', 'ga', 'lv', 'mt')): + return u'\u20ac' + bare + else: + return bare + u'\xa0\u20ac' return pricestr diff --git a/mkt/reviewers/tests/test_views.py b/mkt/reviewers/tests/test_views.py index 78511950e4f..fc5f2b8c24e 100644 --- a/mkt/reviewers/tests/test_views.py +++ b/mkt/reviewers/tests/test_views.py @@ -4008,7 +4008,7 @@ def test_enddate_filter(self): r = self.client.get(self.url, dict(end='2011-01-01')) eq_(r.status_code, 200) - eq_(pq(r.content)('tbody td').eq(0).text(), 'Jan 1, 2011, 12:00:00 AM') + eq_(pq(r.content)('tbody td').eq(0).text(), 'Jan 1, 2011 12:00:00 AM') def test_action_filter(self): """ diff --git a/requirements/prod.txt b/requirements/prod.txt index 8968a98114b..1a770fdb25f 100644 --- a/requirements/prod.txt +++ b/requirements/prod.txt @@ -4,7 +4,7 @@ amqp==1.0.13 anyjson==0.3.3 # argparse is required by app-validator, translate-toolkit, curling, receipts argparse==1.2.1 -babel==1.3 +babel==0.9.6 basket-client==0.3.7 billiard==2.7.3.34 bleach==1.4