[damned-lies] Use Unicode in translatable strings



commit 9cd0c0dba79e16cae0e08efb9350cf90eb6a44f1
Author: Piotr Drąg <piotrdrag gmail com>
Date:   Sat Nov 12 14:11:51 2016 +0100

    Use Unicode in translatable strings
    
    See https://developer.gnome.org/hig/stable/typography.html
    
    https://bugzilla.gnome.org/show_bug.cgi?id=774320

 common/views.py                                   |    2 +-
 damnedlies/settings.py                            |    2 +-
 people/models.py                                  |    4 +-
 people/views.py                                   |    4 +-
 stats/models.py                                   |    6 ++--
 stats/utils.py                                    |   22 ++++++++++----------
 teams/forms.py                                    |    2 +-
 templates/500.html                                |    2 +-
 templates/help/reduced_po.html                    |    4 +-
 templates/index.html                              |    2 +-
 templates/languages/language_release.html         |    2 +-
 templates/module_detail.html                      |    2 +-
 templates/module_images.html                      |    2 +-
 templates/people/person_password_change_form.html |    2 +-
 templates/people/person_team_join_form.html       |    2 +-
 templates/registration/password_reset_done.html   |    2 +-
 templates/registration/password_reset_form.html   |    2 +-
 templates/release_detail.html                     |    2 +-
 templates/vertimus/activity_summary.html          |    2 +-
 templates/vertimus/vertimus_detail.html           |    2 +-
 templates/vertimus/vertimus_diff.html             |    2 +-
 vertimus/feeds.py                                 |    4 +-
 vertimus/forms.py                                 |    4 +-
 vertimus/models.py                                |    6 ++--
 24 files changed, 43 insertions(+), 43 deletions(-)
---
diff --git a/common/views.py b/common/views.py
index 32e8e8b..b73bf33 100644
--- a/common/views.py
+++ b/common/views.py
@@ -87,7 +87,7 @@ def site_login(request):
                         messages.info(request, message)
                     return redirect(referer)
                 else:
-                    messages.error(request, _("We're sorry, but your account has been disabled."))
+                    messages.error(request, _("We’re sorry, but your account has been disabled."))
             else:
                 messages.error(request, _("Login unsuccessful. Please verify your username and password."))
 
diff --git a/damnedlies/settings.py b/damnedlies/settings.py
index bf6d6b8..6a50bb5 100644
--- a/damnedlies/settings.py
+++ b/damnedlies/settings.py
@@ -78,7 +78,7 @@ POTDIR = os.path.join(SCRATCHDIR, "POT")
 
 # The regex is used to determine if the module is in the standard VCS of the project
 VCS_HOME_REGEX = "git\.gnome\.org"
-VCS_HOME_WARNING = gettext_noop(u"This module is not part of the GNOME Git repository. Please check the 
module's web page to see where to send translations.")
+VCS_HOME_WARNING = gettext_noop(u"This module is not part of the GNOME Git repository. Please check the 
module’s web page to see where to send translations.")
 
 # By default, Django stores files locally, using the MEDIA_ROOT and MEDIA_URL settings
 UPLOAD_DIR = 'upload'
diff --git a/people/models.py b/people/models.py
index 894960d..3a9a3fb 100644
--- a/people/models.py
+++ b/people/models.py
@@ -44,13 +44,13 @@ class Person(User):
 
     svn_account = models.SlugField(max_length=20, null=True, blank=True)
     image = models.URLField(_("Image"), null=True, blank=True,
-                            help_text=_("URL to an image file (.jpg, .png, ...) of an hackergotchi (max. 
100x100 pixels)"))
+                            help_text=_("URL to an image file (.jpg, .png, …) of an hackergotchi (max. 
100x100 pixels)"))
     use_gravatar = models.BooleanField(_("Use gravatar"), default=False,
         help_text=_("Display the image of your gravatar.com account"))
     webpage_url = models.URLField(_("Web page"), null=True, blank=True)
     irc_nick = models.SlugField(_("IRC nickname"), max_length=20, null=True, blank=True)
     bugzilla_account = models.EmailField(_("Bugzilla account"), null=True, blank=True,
-                                         help_text=_("This should be an email address, useful if not equal 
to 'E-mail address' field"))
+                                         help_text=_("This should be an email address, useful if not equal 
to “E-mail address” field"))
     activation_key = models.CharField(max_length=40, null=True, blank=True)
 
     # Use UserManager to get the create_user method, etc.
diff --git a/people/views.py b/people/views.py
index e5cef73..f83ddb8 100644
--- a/people/views.py
+++ b/people/views.py
@@ -97,7 +97,7 @@ def person_team_join(request):
             new_role = Role(team=team, person=person)
             try:
                 new_role.save()
-                messages.success(request, _("You have successfully joined the team '%s'.") % 
team.get_description())
+                messages.success(request, _("You have successfully joined the team “%s”.") % 
team.get_description())
                 team.send_mail_to_coordinator(subject=ugettext_lazy("A new person joined your team"),
                                               message=ugettext_lazy("%(name)s has just joined your 
translation team on %(site)s"),
                                               messagekw = {'name': person.name, 'site': 
get_current_site(request)})
@@ -121,7 +121,7 @@ def person_team_leave(request, team_slug):
     try:
         role = Role.objects.get(team=team, person=person)
         role.delete()
-        messages.success(request, _("You have been removed from the team '%s'.") % team.get_description())
+        messages.success(request, _("You have been removed from the team “%s”.") % team.get_description())
     except Role.DoesNotExist:
         # Message no i18n'ed, should never happen under normal conditions
         messages.error(request, _("You are not a member of this team."))
diff --git a/stats/models.py b/stats/models.py
index 9702caa..c3f5ddb 100644
--- a/stats/models.py
+++ b/stats/models.py
@@ -484,9 +484,9 @@ class Branch(models.Model):
                     if os.access(previous_pot, os.R_OK):
                         # Use old POT file
                         potfile = previous_pot
-                        pot_stat.set_error('error', ugettext_noop("Can't generate POT file, using old one."))
+                        pot_stat.set_error('error', ugettext_noop("Can’t generate POT file, using old one."))
                     else:
-                        pot_stat.set_error('error', ugettext_noop("Can't generate POT file, statistics 
aborted."))
+                        pot_stat.set_error('error', ugettext_noop("Can’t generate POT file, statistics 
aborted."))
                         continue
 
                 # 5. Check if pot changed
@@ -504,7 +504,7 @@ class Branch(models.Model):
                 pot_stat.update_stats(potfile, pot_method, msgfmt_checks=False)
 
                 if potfile != previous_pot and not utils.copy_file(potfile, previous_pot):
-                    pot_stat.set_error('error', ugettext_noop("Can't copy new POT file to public location."))
+                    pot_stat.set_error('error', ugettext_noop("Can’t copy new POT file to public location."))
 
                 # Send pot_has_changed signal
                 if os.access(previous_pot, os.R_OK) and changed_status != utils.NOT_CHANGED:
diff --git a/stats/utils.py b/stats/utils.py
index 5727a8c..bc4ff48 100644
--- a/stats/utils.py
+++ b/stats/utils.py
@@ -191,7 +191,7 @@ def check_potfiles(po_path):
     (status, output, errs) = run_shell_command(['intltool-update', '-m'], cwd=po_path)
 
     if status != STATUS_OK:
-        errors.append( ("error", ugettext_noop("Errors while running 'intltool-update -m' check.")) )
+        errors.append( ("error", ugettext_noop("Errors while running “intltool-update -m” check.")) )
 
     missing = os.path.join(po_path, "missing")
     if os.access(missing, os.R_OK):
@@ -206,7 +206,7 @@ def check_potfiles(po_path):
     if os.access(notexist, os.R_OK):
         f = open(notexist, "r")
         errors.append(("error",
-                       ugettext_noop("Following files are referenced in either POTFILES.in or POTFILES.skip, 
yet they don't exist: %s")
+                       ugettext_noop("Following files are referenced in either POTFILES.in or POTFILES.skip, 
yet they don’t exist: %s")
                        % ("<ul><li>"
                        + "</li>\n<li>".join(f.readlines())
                        + "</li>\n</ul>")))
@@ -226,7 +226,7 @@ def generate_doc_pot_file(vcs_path, potbase, moduleid):
     if doc_format.format == "docbook":
         modulename = read_makefile_variable([vcs_path], doc_format.module_var)
         if not modulename:
-            return "", (("error", ugettext_noop("Module %s doesn't look like gnome-doc-utils module.") % 
moduleid),), doc_format
+            return "", (("error", ugettext_noop("Module %s doesn’t look like gnome-doc-utils module.") % 
moduleid),), doc_format
         for index_page in ("index.docbook", modulename + ".xml", moduleid + ".xml"):
             if os.access(os.path.join(vcs_path, "C", index_page), os.R_OK):
                 files.append(index_page)
@@ -237,7 +237,7 @@ def generate_doc_pot_file(vcs_path, potbase, moduleid):
             if len(xml_files) == 1:
                 files.append(os.path.basename(xml_files[0]))
             else:
-                errors.append(("error", ugettext_noop("%s doesn't point to a real file, probably a macro.") 
% doc_format.module_var))
+                errors.append(("error", ugettext_noop("%s doesn’t point to a real file, probably a macro.") 
% doc_format.module_var))
                 return "", errors, doc_format
 
     includes = read_makefile_variable([vcs_path], doc_format.include_var)
@@ -347,7 +347,7 @@ def po_file_stats(pofile, msgfmt_checks=True):
         # pofile is a filesystem path
         filename = os.path.basename(pofile)
         if not os.access(pofile, os.R_OK):
-            res['errors'].append(("error", ugettext_noop("PO file '%s' does not exist or cannot be read.") % 
pofile))
+            res['errors'].append(("error", ugettext_noop("PO file “%s” does not exist or cannot be read.") % 
pofile))
             return res
         input_data = None
         input_file = pofile
@@ -375,9 +375,9 @@ def po_file_stats(pofile, msgfmt_checks=True):
 
     if status != STATUS_OK:
         if msgfmt_checks:
-            res['errors'].append(("error", ugettext_noop("PO file '%s' doesn't pass msgfmt check: not 
updating.") % (filename)))
+            res['errors'].append(("error", ugettext_noop("PO file “%s” doesn’t pass msgfmt check: not 
updating.") % (filename)))
         else:
-            res['errors'].append(("error", ugettext_noop("Can't get statistics for POT file '%s'.") % 
(pofile)))
+            res['errors'].append(("error", ugettext_noop("Can’t get statistics for POT file “%s”.") % 
(pofile)))
 
     if msgfmt_checks and input_file != "-" and os.access(pofile, os.X_OK):
         res['errors'].append(("warn", ugettext_noop("This PO file has an executable bit set.")))
@@ -409,7 +409,7 @@ def po_file_stats(pofile, msgfmt_checks=True):
             (status, output, errs) = run_shell_command(command, env=c_env)
         if status != STATUS_OK:
             res['errors'].append(("warn",
-                              ugettext_noop("PO file '%s' is not UTF-8 encoded.") % (filename)))
+                              ugettext_noop("PO file “%s” is not UTF-8 encoded.") % (filename)))
     return res
 
 def read_linguas_file(full_path):
@@ -458,16 +458,16 @@ def get_ui_linguas(module_path, po_path):
             return {'langs': found.split(),
                     'error': ugettext_noop("Entry for this language is not present in ALL_LINGUAS in 
configure file.") }
     return {'langs':None,
-            'error': ugettext_noop("Don't know where to look for the LINGUAS variable, ask the module 
maintainer.") }
+            'error': ugettext_noop("Don’t know where to look for the LINGUAS variable, ask the module 
maintainer.") }
 
 def get_doc_linguas(module_path, po_path):
     """Get language list in one Makefile.am (either path) """
     linguas = read_makefile_variable([po_path, module_path], "(?:DOC|HELP)_LINGUAS")
     if linguas is None:
         return {'langs':None,
-                'error': ugettext_noop("Don't know where to look for the DOC_LINGUAS variable, ask the 
module maintainer.") }
+                'error': ugettext_noop("Don’t know where to look for the DOC_LINGUAS variable, ask the 
module maintainer.") }
     return {'langs': linguas.split(),
-            'error': ugettext_noop("DOC_LINGUAS list doesn't include this language.") }
+            'error': ugettext_noop("DOC_LINGUAS list doesn’t include this language.") }
 
 
 def collect_its_data():
diff --git a/teams/forms.py b/teams/forms.py
index c4fdaa7..f9c1630 100644
--- a/teams/forms.py
+++ b/teams/forms.py
@@ -98,7 +98,7 @@ class EditMemberRoleForm(forms.Form):
                     role.role = form_value
                     role.save()
                     subject = settings.EMAIL_SUBJECT_PREFIX + ' ' + _('Role changed')
-                    message = _("Your role in the %(team)s team on %(site)s has been set to '%(role)s'") % {
+                    message = _("Your role in the %(team)s team on %(site)s has been set to “%(role)s”") % {
                         'team': role.team.description,
                         'site': current_site,
                         'role': role.get_role_display(),
diff --git a/templates/500.html b/templates/500.html
index 5bbb238..568a539 100644
--- a/templates/500.html
+++ b/templates/500.html
@@ -8,7 +8,7 @@
 
 <h1>{% trans "Server Error" %}</h1>
 
-<p>{% trans "We're sorry but a server error has occurred." %}
+<p>{% trans "We’re sorry but a server error has occurred." %}
 
 </div>
 {% endblock %}
diff --git a/templates/help/reduced_po.html b/templates/help/reduced_po.html
index cbce77d..e19360b 100644
--- a/templates/help/reduced_po.html
+++ b/templates/help/reduced_po.html
@@ -8,9 +8,9 @@
 {% block content %}
 <p>{% blocktrans %}Damned Lies is able to filter strings which are seldom visible in user interfaces, so as 
translation teams can concentrate on most visible strings.{% endblocktrans %}</p>
 
-<p>{% blocktrans with 
"http://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/pogrep.html?id=toolkit/pogrep"; 
as pogrep_url%}The most typical case is the strings from schema files, hence the default filter is filtering 
out strings which come from files having "gschema.xml.in" in their name. Technically speaking, the filter is 
using the <a href="{{ pogrep_url }}">pogrep command from the Translate Toolkit</a>.{% endblocktrans %}</p>
+<p>{% blocktrans with 
"http://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/pogrep.html?id=toolkit/pogrep"; 
as pogrep_url%}The most typical case is the strings from schema files, hence the default filter is filtering 
out strings which come from files having “gschema.xml.in” in their name. Technically speaking, the filter is 
using the <a href="{{ pogrep_url }}">pogrep command from the Translate Toolkit</a>.{% endblocktrans %}</p>
 
-<p>{% blocktrans %}When you see a po file or a table header containing "(red.)" or "(reduced)", it means 
that the target files have been filtered as stated above.{% endblocktrans %}</p>
+<p>{% blocktrans %}When you see a po file or a table header containing “(red.)” or “(reduced)”, it means 
that the target files have been filtered as stated above.{% endblocktrans %}</p>
 
 <p>{% blocktrans %}If you think you found a better filter for a specific module, please <a href="{{ bug_url 
}}">submit a bug report</a> with your proposal.{% endblocktrans %}</p>
 {% endblock %}
diff --git a/templates/index.html b/templates/index.html
index 66cc979..1ba92a9 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -55,7 +55,7 @@
             <p>{% trans "List of all modules with statistics in here." %}</p>
 
             <p>{% trans "Modules are separate libraries or applications, with one or more branches of 
development included." %}
-            {% trans "They are usually taken from the Git repository, and we keep all relevant information 
on them (Bugzilla details, web page, maintainer information,...)." %}</p>
+            {% trans "They are usually taken from the Git repository, and we keep all relevant information 
on them (Bugzilla details, web page, maintainer information…)." %}</p>
         </div>
        </div>
 
diff --git a/templates/languages/language_release.html b/templates/languages/language_release.html
index 05f33a0..6e55058 100644
--- a/templates/languages/language_release.html
+++ b/templates/languages/language_release.html
@@ -22,7 +22,7 @@ $(document).ready(function()
 <h2>{% trans release.description %} - <a href="{{ language.get_team_url }}">{{ language_name }}</a></h2>
 
 {% if release.status == "xternal" %}
-<p><i>{% trans "The modules of this release are not part of the GNOME Git repository. Please check each 
module's web page to see where to send translations." %}</i></p>
+<p><i>{% trans "The modules of this release are not part of the GNOME Git repository. Please check each 
module’s web page to see where to send translations." %}</i></p>
 {% endif %}
 
 <h3>{{ stats_title }}</h3>
diff --git a/templates/module_detail.html b/templates/module_detail.html
index 0ee3885..b01ad88 100644
--- a/templates/module_detail.html
+++ b/templates/module_detail.html
@@ -40,7 +40,7 @@ $(document).ready(function() {
 <h1>{{ module.get_description }}</h1>
 
 {% if module.archived %}
-  <p class="errornote">{% trans "This module has been archived. It is only kept for statistical purposes. 
Please don't translate it any more." %}</p>
+  <p class="errornote">{% trans "This module has been archived. It is only kept for statistical purposes. 
Please don’t translate it any more." %}</p>
 {% endif %}
 
 {% if module.get_comment %}
diff --git a/templates/module_images.html b/templates/module_images.html
index 658e9ef..a09276b 100644
--- a/templates/module_images.html
+++ b/templates/module_images.html
@@ -29,7 +29,7 @@
         {% else %}<a href="{{ fig.trans_remote_url }}"><img class="screenshot" src="{{ fig.trans_remote_url 
}}"/></a>
         {% endif %}
       {% else %}
-      <p><em>{% trans "Translated, but uses original one (maybe the figure doesn't contain any string to 
translate)" %}</em></p>
+      <p><em>{% trans "Translated, but uses original one (maybe the figure doesn’t contain any string to 
translate)" %}</em></p>
       {% endif %}
     {% else %}
       {% if fig.fuzzy %}
diff --git a/templates/people/person_password_change_form.html 
b/templates/people/person_password_change_form.html
index 827388c..0e9a80e 100644
--- a/templates/people/person_password_change_form.html
+++ b/templates/people/person_password_change_form.html
@@ -5,7 +5,7 @@
 
 <h2>{% trans 'Password change' %}</h2>
 
-<p>{% trans "Please enter your old password, for security's sake, and then enter your new password twice so 
we can verify you typed it in correctly." %}</p>
+<p>{% trans "Please enter your old password, for security’s sake, and then enter your new password twice so 
we can verify you typed it in correctly." %}</p>
 
 <form action="{{ request.path }}"  method="post" class="djform">
   {% csrf_token %}
diff --git a/templates/people/person_team_join_form.html b/templates/people/person_team_join_form.html
index 6d073b4..84e6e4b 100644
--- a/templates/people/person_team_join_form.html
+++ b/templates/people/person_team_join_form.html
@@ -9,7 +9,7 @@
 
 <form action="{{ request.path }}" method="POST">
   {% csrf_token %}
-  <p><em>{% trans "I would like to join the following team as 'translator':" %}</em><br />
+  <p><em>{% trans "I would like to join the following team as “translator”:" %}</em><br />
     {{ form.teams }}
     <input type="submit" value="{% trans "Join" %}">
 </form>
diff --git a/templates/registration/password_reset_done.html b/templates/registration/password_reset_done.html
index 30c5dc6..01a3ec7 100644
--- a/templates/registration/password_reset_done.html
+++ b/templates/registration/password_reset_done.html
@@ -8,6 +8,6 @@
 
 <h1>{% trans 'Password reset successful' %}</h1>
 
-<p>{% trans "We've e-mailed you instructions for setting your password to the e-mail address you submitted. 
You should be receiving it shortly." %}</p>
+<p>{% trans "We’ve e-mailed you instructions for setting your password to the e-mail address you submitted. 
You should be receiving it shortly." %}</p>
 </div>
 {% endblock %}
diff --git a/templates/registration/password_reset_form.html b/templates/registration/password_reset_form.html
index 5e2e3f1..4c4fc2c 100644
--- a/templates/registration/password_reset_form.html
+++ b/templates/registration/password_reset_form.html
@@ -8,7 +8,7 @@
 
 <h1>{% trans "Password reset" %}</h1>
 
-<p>{% trans "Forgotten your password? Enter your e-mail address below, and we'll e-mail instructions for 
setting a new one." %}</p>
+<p>{% trans "Forgotten your password? Enter your e-mail address below, and we’ll e-mail instructions for 
setting a new one." %}</p>
 
 <form action="{{ request.path }}" method="post">{% csrf_token %}
 {% if form.email.errors %}{{ form.email.errors }}{% endif %}
diff --git a/templates/release_detail.html b/templates/release_detail.html
index a416bfa..1d3fb0e 100644
--- a/templates/release_detail.html
+++ b/templates/release_detail.html
@@ -10,7 +10,7 @@
 <h1>{% blocktrans with release.get_description as name %}{{ name }} Release{% endblocktrans %}</h1>
 
 {% if release.status == "external" %}
-  <p><i>{% trans "The modules of this release are not part of the GNOME Git repository. Please check each 
module's web page to see where to send translations." %}</i></p>
+  <p><i>{% trans "The modules of this release are not part of the GNOME Git repository. Please check each 
module’s web page to see where to send translations." %}</i></p>
 {% endif %}
 
 <div class="table-responsive">
diff --git a/templates/vertimus/activity_summary.html b/templates/vertimus/activity_summary.html
index 361696e..898a6f8 100644
--- a/templates/vertimus/activity_summary.html
+++ b/templates/vertimus/activity_summary.html
@@ -18,7 +18,7 @@ $(document).ready(function()
 {% endblock %}
 
 {% block title %}
-  {% blocktrans with lang=language.name %}Activity summary for '{{ lang }}'{% endblocktrans %}
+  {% blocktrans with lang=language.name %}Activity summary for “{{ lang }}”{% endblocktrans %}
 {% endblock %}
 
 {% block content %}
diff --git a/templates/vertimus/vertimus_detail.html b/templates/vertimus/vertimus_detail.html
index fc60623..8cc34ab 100644
--- a/templates/vertimus/vertimus_detail.html
+++ b/templates/vertimus/vertimus_detail.html
@@ -236,7 +236,7 @@ $(document).ready(function() {
   {% endif %}
 
   {% if module.archived %}
-    <p class="errornote">{% trans "This module has been archived. It is only kept for statistical purposes. 
Please don't translate it any more." %}</p>
+    <p class="errornote">{% trans "This module has been archived. It is only kept for statistical purposes. 
Please don’t translate it any more." %}</p>
   {% endif %}
 
   {% if action_form %}
diff --git a/templates/vertimus/vertimus_diff.html b/templates/vertimus/vertimus_diff.html
index 6cdd81c..bbe4722 100644
--- a/templates/vertimus/vertimus_diff.html
+++ b/templates/vertimus/vertimus_diff.html
@@ -13,7 +13,7 @@
 <div class="row">
 
 <h1>{{ state.branch.module.get_description }} - <span style="color:#000;">{{ state.branch.name }}</span> - 
{{ state.domain.get_description }} - {{ state.language.get_name }}</h1>
-<p><a href="{% url 'vertimus_by_names' state.branch.module.name state.branch.name state.domain.name 
state.language.locale %}">{% trans "&lt;- Back to actions" %}</a></p>
+<p><a href="{% url 'vertimus_by_names' state.branch.module.name state.branch.name state.domain.name 
state.language.locale %}">{% trans "← Back to actions" %}</a></p>
 
 {{ diff_content|safe }}
 
diff --git a/vertimus/feeds.py b/vertimus/feeds.py
index 1fd501a..79a678d 100644
--- a/vertimus/feeds.py
+++ b/vertimus/feeds.py
@@ -36,7 +36,7 @@ class LatestActionsByLanguage(Feed):
 
     def title(self, obj):
         current_site = Site.objects.get_current()
-        return _("%(site)s - Workflow actions for the %(lang)s language") % {
+        return _("%(site)s — Workflow actions for the %(lang)s language") % {
                   'site': current_site, 'lang': obj.name }
 
     def link(self, obj):
@@ -80,7 +80,7 @@ class LatestActionsByTeam(Feed):
 
     def title(self, obj):
         current_site = Site.objects.get_current()
-        return _("%(site)s - Workflow actions of the %(lang)s team") % {
+        return _("%(site)s — Workflow actions of the %(lang)s team") % {
                   'site': current_site, 'lang': obj}
 
     def link(self, obj):
diff --git a/vertimus/forms.py b/vertimus/forms.py
index c9bebd9..ec8b04c 100644
--- a/vertimus/forms.py
+++ b/vertimus/forms.py
@@ -106,7 +106,7 @@ class ActionForm(forms.Form):
             if ext == '.po':
                 res = po_file_stats(data)
                 if res['errors']:
-                    raise forms.ValidationError(_(".po file does not pass 'msgfmt -vc'. Please correct the 
file and try again."))
+                    raise forms.ValidationError(_(".po file does not pass “msgfmt -vc”. Please correct the 
file and try again."))
         return data
 
     def clean(self):
@@ -128,6 +128,6 @@ class ActionForm(forms.Form):
             raise forms.ValidationError(_("A file is needed for this action."))
 
         if action.file_is_prohibited and file:
-            raise forms.ValidationError(_("Please, don't send a file with a 'Reserve' action."))
+            raise forms.ValidationError(_("Please, don’t send a file with a “Reserve” action."))
 
         return cleaned_data
diff --git a/vertimus/models.py b/vertimus/models.py
index 6afa539..326ec26 100644
--- a/vertimus/models.py
+++ b/vertimus/models.py
@@ -426,7 +426,7 @@ class ActionAbstract(models.Model):
 
 class Action(ActionAbstract):
     default_message = ugettext_noop(
-        u"The new state of %(module)s - %(branch)s - %(domain)s (%(language)s) is now '%(new_state)s'.")
+        u"The new state of %(module)s — %(branch)s — %(domain)s (%(language)s) is now “%(new_state)s”.")
 
     class Meta:
         db_table = 'action'
@@ -583,7 +583,7 @@ class ActionWC(Action):
     name = 'WC'
     comment_is_required = True
     default_message = ugettext_noop(
-        u"A new comment has been posted on %(module)s - %(branch)s - %(domain)s (%(language)s).")
+        u"A new comment has been posted on %(module)s — %(branch)s — %(domain)s (%(language)s).")
 
     class Meta:
         proxy = True
@@ -653,7 +653,7 @@ class ActionCI(Action):
                 action_with_po.file.path, state.domain, state.language, author)
         except Exception:
             # Commit failed, state unchanged
-            raise Exception(_("The commit failed. The error was: '%s'") % sys.exc_info()[1])
+            raise Exception(_("The commit failed. The error was: “%s”") % sys.exc_info()[1])
 
         msg = ugettext("The file has been successfully committed to the repository.")
         if form_data.get('sync_master', False) and not state.branch.is_head():


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]