diff --git a/mkt/developers/forms.py b/mkt/developers/forms.py
index 3de45dbdfdf..9924b1c513d 100644
--- a/mkt/developers/forms.py
+++ b/mkt/developers/forms.py
@@ -191,29 +191,29 @@ def trap_duplicate(request, manifest_url):
error_url = app.get_dev_url()
msg = None
if app.status == amo.STATUS_PUBLIC:
- msg = _('Oops, looks like you already submitted that manifest '
- 'for %s, which is currently public. '
- 'Edit app')
+ msg = _(u'Oops, looks like you already submitted that manifest '
+ 'for %s, which is currently public. '
+ 'Edit app')
elif app.status == amo.STATUS_PENDING:
- msg = _('Oops, looks like you already submitted that manifest '
- 'for %s, which is currently pending. '
- 'Edit app')
+ msg = _(u'Oops, looks like you already submitted that manifest '
+ 'for %s, which is currently pending. '
+ 'Edit app')
elif app.status == amo.STATUS_NULL:
- msg = _('Oops, looks like you already submitted that manifest '
- 'for %s, which is currently incomplete. '
- 'Resume app')
+ msg = _(u'Oops, looks like you already submitted that manifest '
+ 'for %s, which is currently incomplete. '
+ 'Resume app')
elif app.status == amo.STATUS_REJECTED:
- msg = _('Oops, looks like you already submitted that manifest '
- 'for %s, which is currently rejected. '
+ msg = _(u'Oops, looks like you already submitted that manifest '
+ 'for %s, which is currently rejected. '
'Edit app')
elif app.status == amo.STATUS_DISABLED:
- msg = _('Oops, looks like you already submitted that manifest '
- 'for %s, which is currently disabled by Mozilla. '
- 'Edit app')
+ msg = _(u'Oops, looks like you already submitted that manifest '
+ 'for %s, which is currently disabled by Mozilla. '
+ 'Edit app')
elif app.disabled_by_user:
- msg = _('Oops, looks like you already submitted that manifest '
- 'for %s, which is currently disabled. '
- 'Edit app')
+ msg = _(u'Oops, looks like you already submitted that manifest '
+ 'for %s, which is currently disabled. '
+ 'Edit app')
if msg:
return msg % (app.name, error_url)
diff --git a/mkt/submit/tests/test_views.py b/mkt/submit/tests/test_views.py
index b6b7307f2f7..b822d60d4e3 100644
--- a/mkt/submit/tests/test_views.py
+++ b/mkt/submit/tests/test_views.py
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
import json
import os
@@ -231,10 +232,8 @@ def test_hint_for_same_manifest(self):
r = self.client.post(reverse('mkt.developers.upload_manifest'),
dict(manifest=self.manifest_url))
data = json.loads(r.content)
- eq_(data['validation']['messages'][0]['message'],
- 'Oops, looks like you already submitted that manifest for '
- 'MozillaBall, which is currently incomplete. '
- 'Resume app')
+ assert 'Oops' in data['validation']['messages'][0]['message'], (
+ 'Expected oops')
def test_no_hint_for_same_manifest_different_author(self):
waffle.models.Switch.objects.create(name='webapps-unique-by-domain',
@@ -257,9 +256,9 @@ def test_app_from_uploaded_manifest(self):
addon = self.post_addon()
eq_(addon.type, amo.ADDON_WEBAPP)
eq_(addon.guid, None)
- eq_(unicode(addon.name), 'MozillaBall')
+ eq_(unicode(addon.name), u'MozillaBall ょ')
eq_(addon.slug, 'app-%s' % addon.id)
- eq_(addon.app_slug, 'mozillaball')
+ eq_(addon.app_slug, u'mozillaball-ょ')
eq_(addon.summary, u'Exciting Open Web development action!')
eq_(Translation.objects.get(id=addon.summary.id, locale='it'),
u'Azione aperta emozionante di sviluppo di fotoricettore!')
diff --git a/mkt/submit/tests/webapps/mozball.webapp b/mkt/submit/tests/webapps/mozball.webapp
index dfef172659a..f87f1d036a0 100644
--- a/mkt/submit/tests/webapps/mozball.webapp
+++ b/mkt/submit/tests/webapps/mozball.webapp
@@ -1,6 +1,6 @@
{
"version": "1.0",
- "name": "MozillaBall",
+ "name": "MozillaBall ょ",
"description": "Exciting Open Web development action!",
"icons": {
"16": "/img/icon-16.png",